Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -203,15 +203,32 @@

THIRD-PARTY COMPONENTS

Vercel Code Mode and run execution-budget patches

Source: https://www.npmjs.com/package/@ai-sdk/code-mode/v/1.0.56
https://www.npmjs.com/package/run/v/2.1.4
Repository: https://github.com/vercel/ai/tree/main/packages/code-mode
https://github.com/vercel-labs/run/tree/run%402.1.4/packages/run
Dependency patches: patches/@maka+runtime++@ai-sdk+code-mode+1.0.56.patch
patches/run+2.1.4.patch
Readable source changes: patches/run-2.1.4-source.diff
Copyright 2023 Vercel, Inc.
License: Apache-2.0

These patches modify the execution time policy and its SDK forwarding. The
Apache License, Version 2.0 above applies. The generated run Worker includes
embedded third-party code; its upstream notices and license texts are retained
in patches/run-2.1.4-notices.md.

Vercel AI SDK

Source: https://www.npmjs.com/package/@ai-sdk/provider-utils/v/5.0.11
https://www.npmjs.com/package/@ai-sdk/provider/v/4.0.3
Patched package: https://www.npmjs.com/package/@ai-sdk/provider-utils/v/5.0.34
Patched package: https://www.npmjs.com/package/@ai-sdk/provider-utils/v/5.0.40
Repository: https://github.com/vercel/ai/tree/main/packages/provider-utils
https://github.com/vercel/ai/tree/main/packages/provider
Adapted declarations: @ai-sdk/provider-utils 5.0.11, @ai-sdk/provider 4.0.3
Dependency patch: patches/@ai-sdk+provider-utils+5.0.34.patch
Dependency patch: patches/@ai-sdk+provider-utils+5.0.40.patch
Copyright 2023 Vercel, Inc.
License: Apache-2.0

Expand All @@ -223,7 +240,7 @@ License, Version 2.0 above applies to the adapted material.
The pinned versions are the ones present when the adaptation was made. The
adapted declarations are unchanged through @ai-sdk/provider-utils 5.0.25 and
@ai-sdk/provider 4.0.7, the versions recorded by the code origin audit. Maka
also redistributes a patch against @ai-sdk/provider-utils 5.0.34; that patch
also redistributes a patch against @ai-sdk/provider-utils 5.0.40; that patch
modifies Apache-2.0 source and is covered by the license reproduced above.

Astryx
Expand Down
4 changes: 2 additions & 2 deletions apps/desktop/e2e-budget.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@
"electron": "Git changes re-read on window focus, terminal PTY ownership across Sessions, Side Chat's fork lifecycle, a first send that has to reach the Host, and per-Session collapse persisted across a renderer reload; the composer-usage test is renderer-only and rides along on those windows until app-shell.tsx's composer-to-workbar wiring has a story host"
},
"settings.spec.ts": {
"tests": 4,
"electron": "the preload makaE2eLatch holds the settings chunk mid-load, and the rename it commits is a Host write; the workbar-chrome test rides along on that window and would move to a story the day app-shell.tsx's settings wiring has one"
"tests": 5,
"electron": "Code Mode persistence crosses renderer/preload/main/Host settings IPC; the preload makaE2eLatch holds the settings chunk mid-load, and the rename it commits is a Host write; the workbar-chrome test rides along on that window and would move to a story the day app-shell.tsx's settings wiring has one"
},
"sidebar-project-reload.spec.ts": {
"tests": 1,
Expand Down
22 changes: 22 additions & 0 deletions apps/desktop/e2e/settings.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,28 @@ interface SettingsChunkLatchWindow extends Window {
};
}

test('Code Mode persists as a global setting after reopening settings', async ({ window: page }, testInfo) => {
await ensureSidebarExpanded(page);
await page.getByRole('button', { name: '设置' }).click();
await page.getByRole('button', { name: '通用', exact: true }).click();
const toggle = page.getByRole('switch', { name: 'Code Mode', exact: true });
await expect(toggle).not.toBeChecked();
await toggle.click();
await expect.poll(() => page.evaluate(async () => (await window.maka.settings.get()).chatDefaults.codeModeEnabled)).toBe(true);
await page.keyboard.press('Escape');
await page.getByRole('button', { name: '设置' }).click();
await expect(toggle).toBeChecked();
await toggle.scrollIntoViewIfNeeded();
const screenshotPath = testInfo.outputPath('code-mode-settings.png');
await page.screenshot({ path: screenshotPath });
await testInfo.attach('Code Mode in General settings', {
path: screenshotPath,
contentType: 'image/png',
});
await toggle.click();
await expect.poll(() => page.evaluate(async () => (await window.maka.settings.get()).chatDefaults.codeModeEnabled === true)).toBe(false);
});

test('Settings loading surface owns unmodified Escape', async ({ window: page }) => {
const latchInstalled = await page.evaluate(() => {
const e2eLatch = (window as unknown as SettingsChunkLatchWindow).makaE2eLatch;
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop/renderer-architecture.json
Original file line number Diff line number Diff line change
Expand Up @@ -2647,7 +2647,7 @@
"useOptimisticSettingsDraft": 1,
"useOptionalRuntimeHostSettingsTarget": 2,
"useRuntimeHostSettingsTarget": 2,
"useState": 7,
"useState": 5,
"useToast": 4,
"useUiLocale": 4
},
Expand Down
28 changes: 14 additions & 14 deletions apps/desktop/resources/licenses/npm/THIRD_PARTY_NOTICES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ Apache License

================================================================================

Package: @ai-sdk/anthropic@4.0.46
Package: @ai-sdk/anthropic@4.0.53
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/anthropic
Expand All @@ -231,7 +231,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/code-mode@1.0.42
Package: @ai-sdk/code-mode@1.0.56
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/code-mode
Expand All @@ -253,7 +253,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/cohere@4.0.35
Package: @ai-sdk/cohere@4.0.41
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/cohere
Expand All @@ -275,7 +275,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/gateway@4.0.69
Package: @ai-sdk/gateway@4.0.80
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/gateway
Expand All @@ -297,7 +297,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/google@4.0.58
Package: @ai-sdk/google@4.0.69
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/google
Expand All @@ -319,7 +319,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/open-responses@2.0.36
Package: @ai-sdk/open-responses@2.0.44
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/open-responses
Expand All @@ -341,7 +341,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/openai@4.0.52
Package: @ai-sdk/openai@4.0.66
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/openai
Expand All @@ -363,7 +363,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/openai-compatible@3.0.41
Package: @ai-sdk/openai-compatible@3.0.48
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/openai-compatible
Expand All @@ -385,7 +385,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/provider@4.0.9
Package: @ai-sdk/provider@4.0.14
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/provider
Expand All @@ -407,7 +407,7 @@ limitations under the License.

================================================================================

Package: @ai-sdk/provider-utils@5.0.34
Package: @ai-sdk/provider-utils@5.0.40
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/provider-utils
Expand Down Expand Up @@ -5107,7 +5107,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

================================================================================

Package: ai@7.0.85
Package: ai@7.0.99
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: https://github.com/vercel/ai#packages/ai
Expand Down Expand Up @@ -13073,7 +13073,7 @@ SOFTWARE.

================================================================================

Package: run@2.0.0
Package: run@2.1.4
Declared license: Apache-2.0
Selected license: Apache-2.0
Repository: git+https://github.com/vercel-labs/run.git#packages/run
Expand Down Expand Up @@ -14530,7 +14530,7 @@ SOFTWARE.
================================================================================

Embedded component: quickjs-emscripten (embedded runtime)
Embedded by: @ai-sdk/code-mode@1.0.42
Embedded by: @ai-sdk/code-mode@1.0.56
Selected license: MIT
Repository: https://github.com/justjake/quickjs-emscripten

Expand Down Expand Up @@ -14560,7 +14560,7 @@ SOFTWARE.
================================================================================

Embedded component: QuickJS JavaScript engine (embedded runtime)
Embedded by: @ai-sdk/code-mode@1.0.42
Embedded by: @ai-sdk/code-mode@1.0.56
Selected license: MIT
Repository: https://github.com/bellard/quickjs

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ export type SettingsPreferencesCopy = {
defaultPermissionHelp: string;
defaultThinking: string;
defaultThinkingHelp: string;
codeModeHelp: string;
followModelDefault: string;
saveDefaultThinkingFailed: string;
saveDefaultPermissionFailed: string;
Expand Down Expand Up @@ -338,6 +339,7 @@ const SETTINGS_PREFERENCES_COPY_BY_LOCALE = {
removeErrors: { invalid_id: '宠物 ID 无效。', remove_failed: '无法删除本地宠物包。' },
},
general: {
codeModeHelp: '开启后,新任务通过代码编排和调用工具。仅影响新建任务,已有任务保持不变。',
incognito: '隐身模式', incognitoHelp: '开启后暂停本地记忆读写、联网搜索和定时任务触发。', enableIncognito: '启用隐身模式', incognitoFailed: '隐身模式切换失败', notifications: '完成时发送系统通知', notificationsHelp: '窗口不在前台时,在回答完成或出错后发送桌面通知。', notificationsFailed: '通知设置切换失败', workspaceInstructions: '遵循项目指令', workspaceInstructionsHelp: '自动读取每个项目中已有的 AGENTS.md、CLAUDE.md 或 GEMINI.md;文件仍由各自项目管理。', workspaceInstructionsFailed: '项目指令设置切换失败', workHub: '启用 WorkHub', workHubHelp: 'WorkHub 目前仍不可用。此开关仅供开发测试,开启后也不能保证正常使用。', workHubFailed: 'WorkHub 设置切换失败', updateFailed: '设置未生效,请稍后重试。',
defaultModel: '默认模型', defaultModelHelp: '新任务默认使用的模型。', notSet: '未设置', saveDefaultModelFailed: '保存默认模型失败', defaultPermission: '默认权限模式', defaultPermissionHelp: '新任务默认使用的权限模式;可在任务内随时切换。', saveDefaultPermissionFailed: '保存默认权限模式失败', defaultThinking: '默认思考级别', defaultThinkingHelp: '新任务的思考级别;当前模型不支持所选级别时用模型默认。', followModelDefault: '跟随模型默认', saveDefaultThinkingFailed: '保存默认思考级别失败',
shellPreference: 'Bash 工具 shell', shellPreferenceHelp: '自动模式保持 Windows 的 PowerShell 优先规则;Git Bash 是仅对当前 Runtime Host 生效的显式覆盖。', shellAuto: '自动(推荐)', shellGitBash: 'Git Bash', shellExecutable: 'Git Bash 可执行文件', shellExecutableHelp: '填写 Runtime Host 所在 Windows 机器上 bash.exe 的绝对路径。也支持该机器上的旧版 System32 WSL Bash;保存时会验证 GNU Bash。', saveShell: '保存 shell 设置', savingShell: '正在保存…', shellSaved: '已保存', saveShellFailed: '保存 shell 设置失败', shellExecutableRejected: '当前 Runtime Host 无法把该路径作为 GNU Bash 运行。请检查 Host 是否为 Windows、路径是否存在,并确认文件名为 bash.exe。',
Expand Down Expand Up @@ -442,6 +444,7 @@ const SETTINGS_PREFERENCES_COPY_BY_LOCALE = {
removeErrors: { invalid_id: '寵物 ID 無效。', remove_failed: '無法刪除本機寵物包。' },
},
general: {
codeModeHelp: '開啟後,新任務透過程式碼編排和呼叫工具。僅影響新建任務,既有任務保持不變。',
incognito: '隱身模式', incognitoHelp: '開啟後暫停本地記憶讀寫、聯網搜尋和定時任務觸發。', enableIncognito: '啟用隱身模式', incognitoFailed: '隱身模式切換失敗', notifications: '完成時傳送系統通知', notificationsHelp: '視窗不在前臺時,在回答完成或出錯後傳送桌面通知。', notificationsFailed: '通知設定切換失敗', workspaceInstructions: '遵循專案指令', workspaceInstructionsHelp: '自動讀取每個專案中已有的 AGENTS.md、CLAUDE.md 或 GEMINI.md;檔案仍由各自專案管理。', workspaceInstructionsFailed: '專案指令設定切換失敗', workHub: '啟用 WorkHub', workHubHelp: '在一個入口檢視已有工作,並將新輸入保守地送往普通任務。', workHubFailed: 'WorkHub 設定切換失敗', updateFailed: '設定未生效,請稍後重試。',
defaultModel: '預設模型', defaultModelHelp: '新任務預設使用的模型。', notSet: '未設定', saveDefaultModelFailed: '儲存預設模型失敗', defaultPermission: '預設權限模式', defaultPermissionHelp: '新任務預設使用的權限模式;可在任務內隨時切換。', saveDefaultPermissionFailed: '儲存預設權限模式失敗', defaultThinking: '預設思考級別', defaultThinkingHelp: '新任務的思考級別;目前模型不支援所選級別時用模型預設。', followModelDefault: '跟隨模型預設', saveDefaultThinkingFailed: '儲存預設思考級別失敗',
shellPreference: 'Bash 工具 shell', shellPreferenceHelp: '自動模式保持 Windows 的 PowerShell 優先規則;Git Bash 是僅對目前 Runtime Host 生效的顯式覆蓋。', shellAuto: '自動(推薦)', shellGitBash: 'Git Bash', shellExecutable: 'Git Bash 執行檔', shellExecutableHelp: '填寫 Runtime Host 所在 Windows 機器上 bash.exe 的絕對路徑。也支援該機器上的舊版 System32 WSL Bash;儲存時會驗證 GNU Bash。', saveShell: '儲存 shell 設定', savingShell: '正在儲存…', shellSaved: '已儲存', saveShellFailed: '儲存 shell 設定失敗', shellExecutableRejected: '目前 Runtime Host 無法把該路徑作為 GNU Bash 執行。請檢查 Host 是否為 Windows、路徑是否存在,並確認檔名為 bash.exe。',
Expand Down Expand Up @@ -503,6 +506,7 @@ const SETTINGS_PREFERENCES_COPY_BY_LOCALE = {
removeErrors: { invalid_id: 'The pet ID is invalid.', remove_failed: 'The local pet pack could not be removed.' },
},
general: {
codeModeHelp: 'New tasks use code to compose and call tools. Changes apply only to new tasks; existing tasks keep their mode.',
incognito: 'Incognito mode', incognitoHelp: 'Pause local memory, web search, and scheduled task triggers.', enableIncognito: 'Enable incognito mode', incognitoFailed: 'Could not change incognito mode', notifications: 'Send a system notification when finished', notificationsHelp: 'Notify when a response finishes or fails while the window is in the background.', notificationsFailed: 'Could not change notification settings', workspaceInstructions: 'Follow project instructions', workspaceInstructionsHelp: 'Automatically read existing AGENTS.md, CLAUDE.md, or GEMINI.md files in each project. Manage the files in their respective projects.', workspaceInstructionsFailed: 'Could not change project instruction settings', workHub: 'Enable WorkHub', workHubHelp: 'WorkHub is not available yet. This toggle is for development testing and does not enable a usable feature.', workHubFailed: 'Could not change WorkHub setting', updateFailed: 'The setting was not applied. Try again later.', defaultModel: 'Default model', defaultModelHelp: 'Model used by new tasks.', notSet: 'Not set', saveDefaultModelFailed: 'Could not save the default model', defaultPermission: 'Default permission mode', defaultPermissionHelp: 'Initial permission mode for new tasks; it can be changed at any time.', saveDefaultPermissionFailed: 'Could not save the default permission mode', defaultThinking: 'Default thinking level', defaultThinkingHelp: 'Thinking level for new tasks; models that do not offer the chosen level use their own default.', followModelDefault: 'Follow model default', saveDefaultThinkingFailed: 'Could not save the default thinking level', proxy: 'Proxy server', proxyHelp: 'Configure a network proxy for AI model requests', enableProxy: 'Enable proxy server', saveNetworkFailed: 'Could not save network settings', proxyProtocol: 'Proxy protocol', serverAddress: 'Server address', port: 'Port', proxyAuth: 'Proxy authentication', proxyAuthHelp: 'Enable this when a username and password are required.', enableProxyAuth: 'Enable proxy authentication', username: 'Username', password: 'Password', bypassList: 'Proxy bypass list', bypassHelp: 'These domains connect directly. Separate multiple domains with commas.', autoBypass: (count) => `${count} ${count === 1 ? 'domain was' : 'domains were'} added automatically. The proxy applies to AI model requests only.`, testing: 'Testing…', testCurrent: 'Test current configuration', proxyReachable: 'Proxy is reachable', proxyTestFailed: 'Proxy test failed', proxyTestError: 'Could not test proxy',
shellPreference: 'Bash tool shell', shellPreferenceHelp: 'Automatic keeps the PowerShell-first Windows default. Git Bash is an explicit override for the current Runtime Host.', shellAuto: 'Automatic (recommended)', shellGitBash: 'Git Bash', shellExecutable: 'Git Bash executable', shellExecutableHelp: 'Enter the absolute path to bash.exe on the Windows machine running the Runtime Host. The legacy System32 WSL Bash shim is also recognized; Maka verifies GNU Bash before saving.', saveShell: 'Save shell setting', savingShell: 'Saving…', shellSaved: 'Saved', saveShellFailed: 'Could not save shell setting', shellExecutableRejected: 'The current Runtime Host could not run that path as GNU Bash. Check that the Host runs Windows, the path exists, and the file is named bash.exe.',
passwordSavedPlaceholder: 'Password saved; enter a new password to replace it',
Expand Down
Loading
Loading