@vantran-se/openchamber-web 2.4.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/assets/{AboutDialog-Dz_8z7Rq.js → AboutDialog-C8mAGhnz.js} +1 -1
  2. package/dist/assets/{ArchiveView-BoMjLD0N.js → ArchiveView-4-LVDLmf.js} +1 -1
  3. package/dist/assets/{ChangedPathLabel-BirEUxH2.js → ChangedPathLabel-BCiU4QDF.js} +1 -1
  4. package/dist/assets/{CommandPalette-DkLX-AKB.js → CommandPalette-DEcmPHdC.js} +1 -1
  5. package/dist/assets/{DiffView-DwyXDHsF.js → DiffView-CaDZ4gTk.js} +3 -3
  6. package/dist/assets/{FilesView-BFi9HBg1.js → FilesView-Csrs_BGv.js} +1 -1
  7. package/dist/assets/{GitView-BzWRNg_F.js → GitView-DvxCZgCW.js} +3 -3
  8. package/dist/assets/{GuestSurfacePane-zDcKyz78.js → GuestSurfacePane-DNg0xBTD.js} +1 -1
  9. package/dist/assets/{HelpDialog-DZVlv3x2.js → HelpDialog-CLyz3_xd.js} +1 -1
  10. package/dist/assets/{InProgressOperationBanner-BiEntIfh.js → InProgressOperationBanner-BVDKUDqn.js} +2 -2
  11. package/dist/assets/{IntegrationsCatalogView-CCHFMcZP.js → IntegrationsCatalogView-u1gS0Vk8.js} +1 -1
  12. package/dist/assets/{JsonTreeView-BwELoub1.js → JsonTreeView-BpJU14WJ.js} +1 -1
  13. package/dist/assets/{MarkdownRendererImpl-DxBYkSKd.js → MarkdownRendererImpl-t3OoYn_0.js} +1 -1
  14. package/dist/assets/{MemoryDebugPanel-C9zpPXVo.js → MemoryDebugPanel-9z1jGWze.js} +1 -1
  15. package/dist/assets/{OnboardingScreen-Cnzzs_TQ.js → OnboardingScreen-xzT7ckY0.js} +1 -1
  16. package/dist/assets/{OpenCodeStatusDialog-DizE9xAy.js → OpenCodeStatusDialog-skpJZSjK.js} +1 -1
  17. package/dist/assets/{PatchDiff-Cz_UxB-k.js → PatchDiff-BWW_8bob.js} +1 -1
  18. package/dist/assets/{PierreDiffViewer-BT3MrXwN.js → PierreDiffViewer-BZDNV4Uj.js} +1 -1
  19. package/dist/assets/{PlanView-B-SCCd7M.js → PlanView-D7wshtfZ.js} +1 -1
  20. package/dist/assets/{ProjectActionsDialog-4OSNuzpG.js → ProjectActionsDialog-BPh74BCt.js} +1 -1
  21. package/dist/assets/{PullRequestComparisonSelector-lp98DrYm.js → PullRequestComparisonSelector-BBdU2rL1.js} +3 -3
  22. package/dist/assets/{RunOverview-DJhjR9uR.js → RunOverview-Cngm2OOp.js} +2 -2
  23. package/dist/assets/{ScheduledTasksDialog-Dwil7zsx.js → ScheduledTasksDialog-DUjDdkw2.js} +1 -1
  24. package/dist/assets/{SettingsView-DVcV2Rk9.js → SettingsView-CCZOw018.js} +2 -2
  25. package/dist/assets/{SettingsWindow-DbbAS4Se.js → SettingsWindow-Cndsj5Vu.js} +1 -1
  26. package/dist/assets/{SourceBoardView-BVcmYpvE.js → SourceBoardView-8Wp0oUvB.js} +1 -1
  27. package/dist/assets/{SpaceAccessDialog-DxjFUcHZ.js → SpaceAccessDialog-CxfCzTpe.js} +1 -1
  28. package/dist/assets/{SpaceApplyDialog-Dbrbh-j4.js → SpaceApplyDialog-CYp0A76N.js} +1 -1
  29. package/dist/assets/{SpaceRow-Cwam4mHh.js → SpaceRow-CQp4PkPJ.js} +1 -1
  30. package/dist/assets/{SpaceSetupOutput-B_w02jDi.js → SpaceSetupOutput-RNo0mWrR.js} +1 -1
  31. package/dist/assets/{SpacesView-CGrFWnO-.js → SpacesView-BwcDCv3D.js} +1 -1
  32. package/dist/assets/{SubmoduleDiffSummary-DFL-m_eu.js → SubmoduleDiffSummary-BQduif5s.js} +1 -1
  33. package/dist/assets/{ToolOutputDialog-Co0VXa0y.js → ToolOutputDialog-BVCvqYsK.js} +1 -1
  34. package/dist/assets/{ToolPartDiffPreview-CBSzwkat.js → ToolPartDiffPreview-BXpCHBW9.js} +1 -1
  35. package/dist/assets/{UsageStatsView-BjtTNSt8.js → UsageStatsView-CsC_RzAH.js} +1 -1
  36. package/dist/assets/{Virtualizer-Cmng0Q1E.js → Virtualizer-nenVQKi3.js} +1 -1
  37. package/dist/assets/{WalkthroughView-C7AkVuHQ.js → WalkthroughView-CdIYpttA.js} +1 -1
  38. package/dist/assets/{WorktreesView-CYU2KJ6E.js → WorktreesView-D102xE1o.js} +1 -1
  39. package/dist/assets/{appThemeRegistry-CDGE1wtP.js → appThemeRegistry-BWap7OfW.js} +1 -1
  40. package/dist/assets/{ar-BlEU--PN.js → ar-9CiK5cuu.js} +3 -3
  41. package/dist/assets/{computeVirtualFileMetrics-BgqasG86.js → computeVirtualFileMetrics-DDyA16hp.js} +1 -1
  42. package/dist/assets/{de-DWs4Mcjc.js → de-Drq6oIkP.js} +3 -3
  43. package/dist/assets/{decorate-CpxLqoVw.js → decorate-CemSwkUs.js} +1 -1
  44. package/dist/assets/{es-k5T7CE97.js → es-0bkFr34F.js} +3 -3
  45. package/dist/assets/{flexokiTheme-BG4cSAMb.js → flexokiTheme-PoX6Vqyn.js} +1 -1
  46. package/dist/assets/{fr-CzmypgZ8.js → fr-CjgWVupK.js} +3 -3
  47. package/dist/assets/{he-DdkxJnUn.js → he-BrJa9oPB.js} +4 -4
  48. package/dist/assets/{index-BrL960j-.js → index-B2WHEal3.js} +1 -1
  49. package/dist/assets/{initializeSharedPreferences-CrnmmfFs.js → initializeSharedPreferences-1Vo6G7CM.js} +1 -1
  50. package/dist/assets/{install-DvRQsTjX.js → install-FletzeYD.js} +1 -1
  51. package/dist/assets/{isDiffPlainText-KGYbp86N.js → isDiffPlainText-yXcpftjI.js} +1 -1
  52. package/dist/assets/{isFilePlainText-D7rclQrA.js → isFilePlainText-Dpm-_Qu8.js} +1 -1
  53. package/dist/assets/{ja-Qqkyglaf.js → ja-cfyrqWPa.js} +3 -3
  54. package/dist/assets/katex.min-F4TD1ekM.js +69 -0
  55. package/dist/assets/{ko-B8idPK2d.js → ko-herKAlGO.js} +3 -3
  56. package/dist/assets/{main-D4-y6PQ0.js → main-CO7wKNtS.js} +2 -2
  57. package/dist/assets/{main-Cmc8m6dZ.js → main-DN47yDMe.js} +19 -19
  58. package/dist/assets/markdownCore-BY21GJ_M.js +10 -0
  59. package/dist/assets/{miniChat-CjJ77DDL.js → miniChat-BmFJFQph.js} +2 -2
  60. package/dist/assets/{mobile-DlFdLxjR.js → mobile-DTi98S93.js} +2 -2
  61. package/dist/assets/{moveWorkspacePath-CVdEBQ6v.js → moveWorkspacePath-CENAo75W.js} +1 -1
  62. package/dist/assets/{nl-CFXZKHp7.js → nl-mZ4VCoiQ.js} +3 -3
  63. package/dist/assets/{parseDiffFromFile-DWemyyqU.js → parseDiffFromFile-BSmRvd3V.js} +1 -1
  64. package/dist/assets/{pierreDiffTint-B7qPTZmL.js → pierreDiffTint-cyYFR1bm.js} +1 -1
  65. package/dist/assets/{pl-slLgZWDu.js → pl-C98lvkcZ.js} +4 -4
  66. package/dist/assets/{pt-BR-C319g_nn.js → pt-BR-CB63WPLS.js} +3 -3
  67. package/dist/assets/{relocateRestoredSession-cOuWlgWB.js → relocateRestoredSession-D8Sf_FG_.js} +1 -1
  68. package/dist/assets/{renderElectronMiniChatApp-DFnEi5Tr.js → renderElectronMiniChatApp-DmQ8i5jp.js} +2 -2
  69. package/dist/assets/{renderMobileApp-C2TYqVOV.js → renderMobileApp-CND9CafV.js} +3 -3
  70. package/dist/assets/{restartOpenCode-Dvk4CWW7.js → restartOpenCode-D8ExMl55.js} +1 -1
  71. package/dist/assets/{runtimeEndpointReset-D7viEboD.js → runtimeEndpointReset-lg1O2gVX.js} +3 -3
  72. package/dist/assets/{scheduledTasksApi-FZ9stPNl.js → scheduledTasksApi-CJBNpwgy.js} +1 -1
  73. package/dist/assets/{selectionMarkdown-CCursbAw.js → selectionMarkdown-B_3WTOUr.js} +1 -1
  74. package/dist/assets/{shikiHighlight-CLj7Oan9.js → shikiHighlight-DBj_a_TN.js} +1 -1
  75. package/dist/assets/{space-apply-DdhqZWNy.js → space-apply-COMscpEL.js} +1 -1
  76. package/dist/assets/{space-close-KXdazynX.js → space-close-DDLvYCUc.js} +1 -1
  77. package/dist/assets/{spaceNetwork-DzU3SK9K.js → spaceNetwork-CNxs51y4.js} +1 -1
  78. package/dist/assets/{textMateThemeFromAppTheme-C-jxkZJj.js → textMateThemeFromAppTheme-tYpAceV3.js} +1 -1
  79. package/dist/assets/{tr-DNnJ5oqk.js → tr-C5KUa-8X.js} +3 -3
  80. package/dist/assets/{uk-Bw0BJwHw.js → uk-D44Grdmc.js} +3 -3
  81. package/dist/assets/{useAppFontEffects-DAUhSLPu.js → useAppFontEffects-Dm6zEvrf.js} +200 -199
  82. package/dist/assets/{useCallableModelProviders-B-UCRuyn.js → useCallableModelProviders-BK3j8Sde.js} +1 -1
  83. package/dist/assets/{useDiffFindSurface-CU_63uoI.js → useDiffFindSurface-CaCh-qt2.js} +1 -1
  84. package/dist/assets/{useInlineCommentController-bYCeqE6r.js → useInlineCommentController-a2JepiF3.js} +1 -1
  85. package/dist/assets/{useMarkdownLocalAssets-CnMxnDdI.js → useMarkdownLocalAssets-BEApAshz.js} +2 -2
  86. package/dist/assets/{useRootScrollLock-DNYaZ34X.js → useRootScrollLock-mqVhK2HB.js} +2 -2
  87. package/dist/assets/{useWalkthroughReview-DGPyQ634.js → useWalkthroughReview-BspAr9Aa.js} +1 -1
  88. package/dist/assets/{vendor-codemirror-language-data-KulAIuMz.js → vendor-codemirror-language-data-VzNDjH03.js} +2 -2
  89. package/dist/assets/{zh-CN-Brx5Btej.js → zh-CN-DwBC4Qtd.js} +3 -3
  90. package/dist/assets/{zh-TW-WokiutLA.js → zh-TW-DXEqDBAm.js} +3 -3
  91. package/dist/index.html +2 -2
  92. package/dist/mini-chat.html +2 -2
  93. package/dist/mobile.html +2 -2
  94. package/package.json +2 -2
  95. package/server/lib/git/service.test.js +1 -1
  96. package/server/lib/opencode/openchamber-routes.test.js +1 -0
  97. package/server/lib/opencode/settings-helpers.js +2 -2
  98. package/server/lib/opencode/settings-helpers.test.js +1 -1
  99. package/server/lib/opencode/settings-registry.json +1 -1
  100. package/server/lib/outbound-proxy.test.js +2 -2
  101. package/server/lib/spaces/tools.test.js +2 -2
  102. package/dist/assets/katex.min-u4DtE8E5.js +0 -69
  103. package/dist/assets/markdownCore-D_5e0Wl7.js +0 -10
package/dist/index.html CHANGED
@@ -492,14 +492,14 @@
492
492
  pointer-events: none;
493
493
  }
494
494
  </style>
495
- <script type="module" crossorigin src="/assets/main-D4-y6PQ0.js"></script>
495
+ <script type="module" crossorigin src="/assets/main-CO7wKNtS.js"></script>
496
496
  <link rel="modulepreload" crossorigin href="/assets/vendor-vite-runtime-DD1OZmLC.js">
497
497
  <link rel="modulepreload" crossorigin href="/assets/vendor-zod-DDir2TeQ.js">
498
498
  <link rel="modulepreload" crossorigin href="/assets/vendor-scheduler-7OC5HNn7.js">
499
499
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BUCujlKS.js">
500
500
  <link rel="modulepreload" crossorigin href="/assets/vendor-zustand-BAGL70zf.js">
501
501
  <link rel="modulepreload" crossorigin href="/assets/vendor-opencode-client-h8RufjAw.js">
502
- <link rel="modulepreload" crossorigin href="/assets/katex.min-u4DtE8E5.js">
502
+ <link rel="modulepreload" crossorigin href="/assets/katex.min-F4TD1ekM.js">
503
503
  <link rel="stylesheet" crossorigin href="/assets/katex-CQK6Iqoe.css">
504
504
  </head>
505
505
  <body class="h-full bg-background text-foreground">
@@ -74,14 +74,14 @@
74
74
  }
75
75
  </style>
76
76
 
77
- <script type="module" crossorigin src="/assets/miniChat-CjJ77DDL.js"></script>
77
+ <script type="module" crossorigin src="/assets/miniChat-BmFJFQph.js"></script>
78
78
  <link rel="modulepreload" crossorigin href="/assets/vendor-vite-runtime-DD1OZmLC.js">
79
79
  <link rel="modulepreload" crossorigin href="/assets/vendor-zod-DDir2TeQ.js">
80
80
  <link rel="modulepreload" crossorigin href="/assets/vendor-scheduler-7OC5HNn7.js">
81
81
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BUCujlKS.js">
82
82
  <link rel="modulepreload" crossorigin href="/assets/vendor-zustand-BAGL70zf.js">
83
83
  <link rel="modulepreload" crossorigin href="/assets/vendor-opencode-client-h8RufjAw.js">
84
- <link rel="modulepreload" crossorigin href="/assets/katex.min-u4DtE8E5.js">
84
+ <link rel="modulepreload" crossorigin href="/assets/katex.min-F4TD1ekM.js">
85
85
  <link rel="stylesheet" crossorigin href="/assets/katex-CQK6Iqoe.css">
86
86
  </head>
87
87
  <body class="h-full bg-background text-foreground">
package/dist/mobile.html CHANGED
@@ -63,14 +63,14 @@
63
63
  })();
64
64
  </script>
65
65
 
66
- <script type="module" crossorigin src="/assets/mobile-DlFdLxjR.js"></script>
66
+ <script type="module" crossorigin src="/assets/mobile-DTi98S93.js"></script>
67
67
  <link rel="modulepreload" crossorigin href="/assets/vendor-vite-runtime-DD1OZmLC.js">
68
68
  <link rel="modulepreload" crossorigin href="/assets/vendor-zod-DDir2TeQ.js">
69
69
  <link rel="modulepreload" crossorigin href="/assets/vendor-scheduler-7OC5HNn7.js">
70
70
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BUCujlKS.js">
71
71
  <link rel="modulepreload" crossorigin href="/assets/vendor-zustand-BAGL70zf.js">
72
72
  <link rel="modulepreload" crossorigin href="/assets/vendor-opencode-client-h8RufjAw.js">
73
- <link rel="modulepreload" crossorigin href="/assets/katex.min-u4DtE8E5.js">
73
+ <link rel="modulepreload" crossorigin href="/assets/katex.min-F4TD1ekM.js">
74
74
  <link rel="stylesheet" crossorigin href="/assets/katex-CQK6Iqoe.css">
75
75
  </head>
76
76
  <body class="h-full bg-background text-foreground">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vantran-se/openchamber-web",
3
- "version": "2.4.2",
3
+ "version": "2.5.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./server/index.js",
@@ -31,7 +31,7 @@
31
31
  "@clack/prompts": "^1.1.0",
32
32
  "@gitbeaker/rest": "43.8.0",
33
33
  "@octokit/rest": "^22.0.1",
34
- "@openchamber/sdk": "2.4.0",
34
+ "@openchamber/sdk": "2.5.0",
35
35
  "@opencode/client": "2.0.32",
36
36
  "@opencode/schema": "2.0.32",
37
37
  "@simplewebauthn/server": "13.3.3",
@@ -3244,7 +3244,7 @@ describe('git remote arguments with option-like names', () => {
3244
3244
 
3245
3245
  expect(branches.all).toContain(`remotes/${OPTION_LIKE_REMOTE}/react`);
3246
3246
  expect(branches.all).not.toContain(`remotes/${OPTION_LIKE_REMOTE}/gone`);
3247
- expect(branches.defaultBranches[OPTION_LIKE_REMOTE]).toBe('react');
3247
+ expect(branches.defaultBranches[OPTION_LIKE_REMOTE]).toBeUndefined();
3248
3248
  }, 30_000);
3249
3249
 
3250
3250
  it('does not interpret an option-like ensureRemoteUrl as a git option when validating', async () => {
@@ -12,6 +12,7 @@ vi.mock('../package-manager.js', () => ({
12
12
  checkForUpdates: vi.fn(),
13
13
  getUpdateCommand: vi.fn(),
14
14
  detectPackageManagerDetails: vi.fn(),
15
+ isUnmanagedInstall: vi.fn(() => false),
15
16
  }));
16
17
 
17
18
  const childProcess = await import('child_process');
@@ -492,8 +492,8 @@ export const createSettingsHelpers = (dependencies) => {
492
492
  if (typeof candidate.allowPromptingSubagentSessions === 'boolean') {
493
493
  result.allowPromptingSubagentSessions = candidate.allowPromptingSubagentSessions;
494
494
  }
495
- if (candidate.saveImagesForTextOnlyModels === true || candidate.saveImagesForTextOnlyModels === false) {
496
- result.saveImagesForTextOnlyModels = candidate.saveImagesForTextOnlyModels;
495
+ if (candidate.savePastedImagesAsFiles === true || candidate.savePastedImagesAsFiles === false) {
496
+ result.savePastedImagesAsFiles = candidate.savePastedImagesAsFiles;
497
497
  }
498
498
  if (typeof candidate.showOpenCodeRestartConfirm === 'boolean') {
499
499
  result.showOpenCodeRestartConfirm = candidate.showOpenCodeRestartConfirm;
@@ -852,7 +852,7 @@ describe('settings registry gate', () => {
852
852
  gitChangesViewMode: 'tree', gitmojiEnabled: true, defaultFileViewerPreview: true, directoryShowHidden: true, filesViewShowGitignored: true,
853
853
  fileEditorKeymap: 'vim', fileEditorVimMappings: 'inoremap jk <Esc>', autoSaveEnabled: true, confirmFileTreeMove: false, layoutAnimations: false, openLinksInBrowserPanel: true, liveBrowserTabLimit: 8, openTrackerLinksOnBoard: true, fileTreeSide: 'left', autoCreateWorktree: true, sessionTabsEnabled: true,
854
854
  allowPromptingSubagentSessions: true, inputSpellcheckEnabled: true, enterToSend: true, enterToSendConfigured: true, persistChatDraft: true,
855
- largeTextPasteBehavior: 'attach', saveImagesForTextOnlyModels: true, followUpBehavior: 'steer', queueModeEnabled: true, inputHistoryScope: 'global', inputHistoryLimit: 40,
855
+ largeTextPasteBehavior: 'attach', savePastedImagesAsFiles: true, followUpBehavior: 'steer', queueModeEnabled: true, inputHistoryScope: 'global', inputHistoryLimit: 40,
856
856
  draftStarters: [{ type: 'command', name: 'plan-feature' }], draftStartersVisible: true, draftStartersCraftGoalAdded: true, draftStartersScheduleTaskAdded: true,
857
857
  fontSize: 100, terminalFontSize: 14, editorFontSize: 14, uiFont: 'inter', monoFont: 'jetbrains-mono', customUiFont: 'Maple Mono NF CN', customMonoFont: 'Maple Mono', padding: 100, cornerRadius: 8,
858
858
  shortcutOverrides: { 'chat.send': 'mod+enter' },
@@ -492,7 +492,7 @@
492
492
  "largeTextPasteBehavior": {
493
493
  "scope": "profile"
494
494
  },
495
- "saveImagesForTextOnlyModels": {
495
+ "savePastedImagesAsFiles": {
496
496
  "scope": "profile"
497
497
  },
498
498
  "followUpBehavior": {
@@ -38,7 +38,7 @@ describe('applyOutboundProxyFromEnv', () => {
38
38
  import http from 'node:http';
39
39
  import assert from 'node:assert/strict';
40
40
  const seen = [];
41
- const proxy = http.createServer((req, res) => res.end());
41
+ const proxy = http.createServer((req, res) => { seen.push('proxy ' + req.headers.host); res.end(); });
42
42
  proxy.on('connect', (req, socket) => { seen.push('proxy ' + req.url); socket.end('HTTP/1.1 502 Bad Gateway\\r\\n\\r\\n'); });
43
43
  const local = http.createServer((req, res) => { seen.push('direct'); res.end('ok'); });
44
44
  await new Promise((resolve) => proxy.listen(0, '127.0.0.1', resolve));
@@ -47,7 +47,7 @@ describe('applyOutboundProxyFromEnv', () => {
47
47
  assert.equal(applyOutboundProxyFromEnv({ env: { HTTPS_PROXY: 'http://127.0.0.1:' + proxy.address().port, HTTP_PROXY: 'http://127.0.0.1:' + proxy.address().port } }), true);
48
48
  await fetch('http://upstream.invalid/usage').catch(() => {});
49
49
  assert.equal(await (await fetch('http://127.0.0.1:' + local.address().port + '/')).text(), 'ok');
50
- assert.deepEqual(seen, ['proxy upstream.invalid:80', 'direct']);
50
+ assert.deepEqual(seen, ['proxy upstream.invalid', 'direct']);
51
51
  process.exit(0);
52
52
  `], { encoding: 'utf8', timeout: 15_000, windowsHide: true });
53
53
  expect(result.status, result.stderr).toBe(0);
@@ -53,7 +53,7 @@ describe('createRegistryToolsSource', () => {
53
53
  name: 'openchamber-space-tools',
54
54
  private: true,
55
55
  // bun and pnpm ride along at exact versions, the runtimes setup commands reach for.
56
- dependencies: { '@openchamber/web': '1.24.2', '@opencode/cli': '1.18.31', '@opencode/plugin': '1.18.31', bun: '1.4.3', pnpm: '12.11.2' },
56
+ dependencies: { '@vantran-se/openchamber-web': '1.24.2', '@opencode/cli': '1.18.31', '@opencode/plugin': '1.18.31', bun: '1.4.3', pnpm: '12.11.2' },
57
57
  });
58
58
  });
59
59
 
@@ -80,7 +80,7 @@ describe('createPackedToolsSource', () => {
80
80
  name: 'openchamber-space-tools',
81
81
  private: true,
82
82
  dependencies: {
83
- '@openchamber/web': 'file:/tmp/openchamber-fill/openchamber-web.tgz',
83
+ '@vantran-se/openchamber-web': 'file:/tmp/openchamber-fill/openchamber-web.tgz',
84
84
  '@openchamber/sdk': 'file:/tmp/openchamber-fill/openchamber-sdk.tgz',
85
85
  '@opencode/cli': '1.18.31',
86
86
  '@opencode/plugin': '1.18.31',