Skip to content

Commit 48e896f

Browse files
committed
chore: update branch with main
2 parents 7c8ab0b + d72066a commit 48e896f

160 files changed

Lines changed: 2014 additions & 979 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.changeset/align-tool-row-icons.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-code": patch
3+
---
4+
5+
Align tool-call icons and completion indicators with their labels in web conversations.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-desktop": patch
3+
---
4+
5+
Brand the macOS installer with the Pythinker Code drag-to-Applications layout.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-code": patch
3+
---
4+
5+
Fix Dynamic Workflow subagent selection, recovery, and progress reporting during partial failures.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-code": patch
3+
---
4+
5+
Fix models and providers briefly disappearing when an external editor saves the configuration.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@pymodel/pythinker-code": patch
3+
---
4+
5+
Use the login shell's executable order for tools started by the desktop app.

‎apps/desktop/build/background.png‎

254 KB
Loading

‎apps/desktop/package.json‎

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
]
7171
},
7272
"dmg": {
73+
"background": "build/background.png",
7374
"sign": true,
7475
"title": "Pythinker ${version}",
7576
"window": {
@@ -80,14 +81,28 @@
8081
"contents": [
8182
{
8283
"x": 180,
83-
"y": 200,
84+
"y": 250,
8485
"type": "file"
8586
},
8687
{
8788
"x": 480,
88-
"y": 200,
89+
"y": 250,
8990
"type": "link",
9091
"path": "/Applications"
92+
},
93+
{
94+
"name": ".background.png",
95+
"path": "build/background.png",
96+
"type": "file",
97+
"x": 760,
98+
"y": 520
99+
},
100+
{
101+
"name": ".VolumeIcon.icns",
102+
"path": "dist/.icon-icns/icon.icns",
103+
"type": "file",
104+
"x": 760,
105+
"y": 520
91106
}
92107
]
93108
},

‎apps/desktop/tests/packaging-config.spec.ts‎

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ interface DesktopPackage {
99
readonly afterPack: string
1010
readonly appId: string
1111
readonly dmg: {
12+
readonly background: string
1213
readonly contents: readonly {
14+
readonly name?: string
1315
readonly path?: string
1416
readonly type: string
1517
readonly x: number
@@ -135,11 +137,39 @@ describe('desktop packaging configuration', () => {
135137
window: { height: 400, width: 660 },
136138
})
137139
expect(desktopPackage.build.dmg.contents).toEqual([
138-
{ x: 180, y: 200, type: 'file' },
139-
{ x: 480, y: 200, type: 'link', path: '/Applications' },
140+
{ x: 180, y: 250, type: 'file' },
141+
{ x: 480, y: 250, type: 'link', path: '/Applications' },
142+
{
143+
name: '.background.png',
144+
path: 'build/background.png',
145+
type: 'file',
146+
x: 760,
147+
y: 520,
148+
},
149+
{
150+
name: '.VolumeIcon.icns',
151+
path: 'dist/.icon-icns/icon.icns',
152+
type: 'file',
153+
x: 760,
154+
y: 520,
155+
},
140156
])
141157
})
142158

159+
it('uses the branded 660x400 macOS DMG background', () => {
160+
const backgroundPath = resolve(desktopRoot, 'build/background.png')
161+
162+
expect(desktopPackage.build.dmg.background).toBe('build/background.png')
163+
expect(existsSync(backgroundPath)).toBe(true)
164+
165+
const background = readFileSync(backgroundPath)
166+
expect(createHash('sha256').update(background).digest('hex'))
167+
.toBe('95e8b785add86919d269b198844d8a903280190f8fd33d5f8ffdca404c113fa8')
168+
expect(background.subarray(0, 8).toString('hex')).toBe('89504e470d0a1a0a')
169+
expect(background.readUInt32BE(16)).toBe(660)
170+
expect(background.readUInt32BE(20)).toBe(400)
171+
})
172+
143173
it('configures the Windows x64 NSIS installer', () => {
144174
expect(desktopPackage.build.win.target).toEqual([{ target: 'nsis', arch: ['x64'] }])
145175
expect(desktopPackage.build.nsis).toEqual({
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"sourceHash": "efa226b4193e02e57d14981d94ea394b7f3163560863445b3e6d14867aba11a1",
2+
"sourceHash": "190200f794c89dbf7946eceae7e1eee850583d83103b7013b82dcd3a6c95cad0",
33
"sourceFileCount": 411
44
}

apps/pythinker-code/dist-web/assets/CodeBlockNode-D5JTfsXt.js renamed to apps/pythinker-code/dist-web/assets/CodeBlockNode-DuFMFpAe.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)