Skip to content

Commit f4c857e

Browse files
author
Brendan Gray
committed
v1.6.4 — stream pacing fix, memory contamination fix, system prompt generalization, settings UI, code signing
- agenticChatHelpers: fix push()/dispose() to respect charsPerFlush pacing for cloud providers (wall-of-text fix) - agenticChat: brevity directive now says apply silently so model stops announcing its own constraints - constants: generalize web_search trigger rule from price-specific to time-sensitive information - memoryStore: remove prior-session conversation injection from getContextPrompt() - AdvancedSettingsPanel: LLM/Inference section now collapsed by default - electron-builder configs: add certificateFile for code signing - GitHub Actions workflow: add WIN_CSC_BASE64/WIN_CSC_KEY_PASSWORD signing secrets support
1 parent 9d207d5 commit f4c857e

38 files changed

Lines changed: 3143 additions & 1762 deletions

.github/copilot-instructions.md

Lines changed: 190 additions & 4 deletions
Large diffs are not rendered by default.

.github/workflows/build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,16 @@ jobs:
2929
- name: Build renderer
3030
run: npm run build:renderer
3131

32+
- name: Decode signing certificate
33+
if: ${{ secrets.WIN_CSC_BASE64 != '' }}
34+
run: |
35+
[System.IO.File]::WriteAllBytes("$env:GITHUB_WORKSPACE\code-signing.pfx", [System.Convert]::FromBase64String("${{ secrets.WIN_CSC_BASE64 }}"))
36+
3237
- name: Build Windows installer
3338
run: npx electron-builder --win --x64 --config electron-builder.nosign.json
3439
env:
3540
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
3642

3743
- name: Upload Windows artifact
3844
uses: actions/upload-artifact@v4

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,8 @@ test-results-*.txt
9191
vitest-results.txt
9292
build-output*.txt
9393
builder-output*.txt
94+
95+
# NES ROMs (copyright, not to be committed)
96+
*.nes
97+
website/public/jsnes.min.js
98+
website/public/runner.nes

electron-builder.nosign.cuda.json

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
{
2+
"appId": "com.guide.ide",
3+
"productName": "guIDE",
4+
"copyright": "Copyright © 2025",
5+
"directories": {
6+
"output": "dist-electron"
7+
},
8+
"files": [
9+
"dist/**/*",
10+
"electron-main.js",
11+
"preload.js",
12+
"main/**/*",
13+
"scripts/**/*",
14+
"node_modules/**/*",
15+
"!node_modules/.cache",
16+
"LICENSE"
17+
],
18+
"mac": {
19+
"category": "public.app-category.developer-tools",
20+
"icon": "build/icon.png",
21+
"target": [
22+
{
23+
"target": "dmg",
24+
"arch": ["x64", "arm64"]
25+
}
26+
],
27+
"artifactName": "guIDE-CUDA-${version}-${arch}.${ext}"
28+
},
29+
"win": {
30+
"icon": "icon.ico",
31+
"publisherName": "GraySoft LLC",
32+
"signingHashAlgorithms": ["sha256"],
33+
"certificateFile": "code-signing.pfx",
34+
"target": [
35+
{
36+
"target": "nsis",
37+
"arch": ["x64"]
38+
}
39+
]
40+
},
41+
"nsis": {
42+
"oneClick": false,
43+
"perMachine": false,
44+
"allowToChangeInstallationDirectory": true,
45+
"createDesktopShortcut": true,
46+
"createStartMenuShortcut": true,
47+
"shortcutName": "guIDE",
48+
"installerIcon": "icon.ico",
49+
"uninstallerIcon": "icon.ico",
50+
"include": "build/installer.nsh",
51+
"installerSidebar": "build/installerSidebar.bmp",
52+
"installerHeader": "build/installerHeader.bmp",
53+
"uninstallerSidebar": "build/installerSidebar.bmp",
54+
"license": "LICENSE",
55+
"displayLanguageSelector": false,
56+
"runAfterFinish": true,
57+
"artifactName": "guIDE-CUDA-Setup-${version}.${ext}"
58+
},
59+
"linux": {
60+
"icon": "build/icon.png",
61+
"target": [
62+
{
63+
"target": "AppImage",
64+
"arch": ["x64"]
65+
}
66+
],
67+
"category": "Development",
68+
"artifactName": "guIDE-CUDA-${version}-${arch}.${ext}"
69+
},
70+
"asar": true,
71+
"publish": {
72+
"provider": "generic",
73+
"url": "https://graysoft.dev/updates"
74+
},
75+
"asarUnpack": [
76+
"node_modules/node-llama-cpp/**",
77+
"node_modules/@node-llama-cpp/**",
78+
"node_modules/@huggingface/**",
79+
"node_modules/@octokit/**",
80+
"node_modules/@kwsites/**",
81+
"node_modules/octokit/**",
82+
"node_modules/lifecycle-utils/**",
83+
"node_modules/ipull/**",
84+
"node_modules/env-var/**",
85+
"node_modules/chmodrp/**",
86+
"node_modules/filenamify/**",
87+
"node_modules/pretty-ms/**",
88+
"node_modules/parse-ms/**",
89+
"node_modules/stdout-update/**",
90+
"node_modules/async-retry/**",
91+
"node_modules/bytes/**",
92+
"node_modules/proper-lockfile/**",
93+
"node_modules/validate-npm-package-name/**",
94+
"node_modules/chalk/**",
95+
"node_modules/cmake-js/**",
96+
"node_modules/cross-spawn/**",
97+
"node_modules/debug/**",
98+
"node_modules/fs-extra/**",
99+
"node_modules/ignore/**",
100+
"node_modules/is-unicode-supported/**",
101+
"node_modules/log-symbols/**",
102+
"node_modules/nanoid/**",
103+
"node_modules/ora/**",
104+
"node_modules/semver/**",
105+
"node_modules/simple-git/**",
106+
"node_modules/strip-ansi/**",
107+
"node_modules/which/**",
108+
"node_modules/yargs/**",
109+
"node_modules/ansi-styles/**",
110+
"node_modules/supports-color/**",
111+
"node_modules/bl/**",
112+
"node_modules/cli-cursor/**",
113+
"node_modules/cli-spinners/**",
114+
"node_modules/cliui/**",
115+
"node_modules/escalade/**",
116+
"node_modules/get-caller-file/**",
117+
"node_modules/graceful-fs/**",
118+
"node_modules/is-fullwidth-code-point/**",
119+
"node_modules/jsonfile/**",
120+
"node_modules/path-key/**",
121+
"node_modules/require-directory/**",
122+
"node_modules/restore-cursor/**",
123+
"node_modules/shebang-command/**",
124+
"node_modules/shebang-regex/**",
125+
"node_modules/string-width/**",
126+
"node_modules/universalify/**",
127+
"node_modules/wcwidth/**",
128+
"node_modules/wrap-ansi/**",
129+
"node_modules/y18n/**",
130+
"node_modules/yargs-parser/**",
131+
"node_modules/emoji-regex/**",
132+
"node_modules/mimic-fn/**",
133+
"node_modules/onetime/**",
134+
"node_modules/before-after-hook/**",
135+
"node_modules/bottleneck/**",
136+
"node_modules/fast-content-type-parse/**",
137+
"node_modules/toad-cache/**",
138+
"node_modules/universal-github-app-jwt/**",
139+
"node_modules/universal-user-agent/**",
140+
"node_modules/@reflink/**",
141+
"node_modules/node-pty/**",
142+
"node_modules/playwright-core/**",
143+
"node_modules/@tinyhttp/**",
144+
"node_modules/ansi-escapes/**",
145+
"node_modules/ansi-regex/**",
146+
"node_modules/aproba/**",
147+
"node_modules/are-we-there-yet/**",
148+
"node_modules/asynckit/**",
149+
"node_modules/axios/**",
150+
"node_modules/base64-js/**",
151+
"node_modules/buffer/**",
152+
"node_modules/call-bind-apply-helpers/**",
153+
"node_modules/chownr/**",
154+
"node_modules/ci-info/**",
155+
"node_modules/clone/**",
156+
"node_modules/color-convert/**",
157+
"node_modules/color-name/**",
158+
"node_modules/color-support/**",
159+
"node_modules/combined-stream/**",
160+
"node_modules/commander/**",
161+
"node_modules/console-control-strings/**",
162+
"node_modules/deep-extend/**",
163+
"node_modules/defaults/**",
164+
"node_modules/delayed-stream/**",
165+
"node_modules/delegates/**",
166+
"node_modules/dunder-proto/**",
167+
"node_modules/es-define-property/**",
168+
"node_modules/es-errors/**",
169+
"node_modules/es-object-atoms/**",
170+
"node_modules/es-set-tostringtag/**",
171+
"node_modules/eventemitter3/**",
172+
"node_modules/filename-reserved-regex/**",
173+
"node_modules/follow-redirects/**",
174+
"node_modules/form-data/**",
175+
"node_modules/fs-minipass/**",
176+
"node_modules/function-bind/**",
177+
"node_modules/gauge/**",
178+
"node_modules/get-intrinsic/**",
179+
"node_modules/get-proto/**",
180+
"node_modules/gopd/**",
181+
"node_modules/has-flag/**",
182+
"node_modules/has-symbols/**",
183+
"node_modules/has-tostringtag/**",
184+
"node_modules/has-unicode/**",
185+
"node_modules/hasown/**",
186+
"node_modules/ieee754/**",
187+
"node_modules/inherits/**",
188+
"node_modules/ini/**",
189+
"node_modules/is-interactive/**",
190+
"node_modules/isexe/**",
191+
"node_modules/lodash.debounce/**",
192+
"node_modules/lowdb/**",
193+
"node_modules/math-intrinsics/**",
194+
"node_modules/memory-stream/**",
195+
"node_modules/mime-db/**",
196+
"node_modules/mime-types/**",
197+
"node_modules/minimist/**",
198+
"node_modules/minipass/**",
199+
"node_modules/minizlib/**",
200+
"node_modules/mkdirp/**",
201+
"node_modules/ms/**",
202+
"node_modules/node-api-headers/**",
203+
"node_modules/npmlog/**",
204+
"node_modules/pretty-bytes/**",
205+
"node_modules/proxy-from-env/**",
206+
"node_modules/rc/**",
207+
"node_modules/readable-stream/**",
208+
"node_modules/retry/**",
209+
"node_modules/safe-buffer/**",
210+
"node_modules/set-blocking/**",
211+
"node_modules/signal-exit/**",
212+
"node_modules/sleep-promise/**",
213+
"node_modules/steno/**",
214+
"node_modules/string_decoder/**",
215+
"node_modules/strip-json-comments/**",
216+
"node_modules/tar/**",
217+
"node_modules/url-join/**",
218+
"node_modules/util-deprecate/**",
219+
"node_modules/wide-align/**",
220+
"node_modules/yallist/**",
221+
"node_modules/stdin-discarder/**",
222+
"node_modules/get-east-asian-width/**",
223+
"node_modules/yoctocolors/**",
224+
"node_modules/mimic-function/**",
225+
"node_modules/@types/aws-lambda/**",
226+
"node_modules/**/*.node",
227+
"main/**"
228+
]
229+
}

0 commit comments

Comments
 (0)