wind-agent-cli 1.38.3 → 1.39.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 (185) hide show
  1. package/README.md +8 -1
  2. package/dist/api-docs.html +4 -3
  3. package/dist/assets/{CodeEditor-C9qFO6L8.js → CodeEditor-C8eMIGen.js} +1 -1
  4. package/dist/assets/{FileTree-0yJEzBi9.js → FileTree-D52nAPO4.js} +1 -1
  5. package/dist/assets/{GitPanel-BhbG7yVZ.js → GitPanel-DgeKbZsW.js} +1 -1
  6. package/dist/assets/{MarkdownPreview-C7pAt3xI.js → MarkdownPreview-B00VQTx6.js} +1 -1
  7. package/dist/assets/{Shell-CrjXAW4f.js → Shell-twzi9t5B.js} +7 -7
  8. package/dist/assets/{StandaloneShell-J5BR1g26.js → StandaloneShell-DH_GBJMj.js} +1 -1
  9. package/dist/assets/{TaskMasterPanel-B2wpEHWP.js → TaskMasterPanel-BY-pMPMl.js} +2 -2
  10. package/dist/assets/{abnfDiagram-N423BO3Z-DztbjsU0.js → abnfDiagram-N423BO3Z-BwBdstkH.js} +1 -1
  11. package/dist/assets/{arc-DRGumrCP.js → arc-C0IOpbFP.js} +1 -1
  12. package/dist/assets/{architectureDiagram-T3A2C74G-DnsczqwM.js → architectureDiagram-T3A2C74G-C-Wkj_AY.js} +1 -1
  13. package/dist/assets/{blockDiagram-VBNYF7ZC-CPsS5qw5.js → blockDiagram-VBNYF7ZC-_sXAZKku.js} +1 -1
  14. package/dist/assets/{c4Diagram-5PPSVZJV-DyjwDxYL.js → c4Diagram-5PPSVZJV-C0DUsZv8.js} +1 -1
  15. package/dist/assets/channel-B6xiB58V.js +1 -0
  16. package/dist/assets/{chunk-2GRJ4B5K-C794q4RK.js → chunk-2GRJ4B5K-D2TFB_6A.js} +1 -1
  17. package/dist/assets/{chunk-2Q5K7J3B-BfK76GMF.js → chunk-2Q5K7J3B-B_co_2bI.js} +1 -1
  18. package/dist/assets/{chunk-5RXB4S5H-Dmwk_KHT.js → chunk-5RXB4S5H-BcUSLq4H.js} +1 -1
  19. package/dist/assets/{chunk-5VM5RSS4-DOeUnsxL.js → chunk-5VM5RSS4-0mQFBKSp.js} +1 -1
  20. package/dist/assets/{chunk-6Q2QTUOP-BrjdaybI.js → chunk-6Q2QTUOP-BAkqmW1M.js} +1 -1
  21. package/dist/assets/{chunk-GF5L2VYU-DCjoLr5D.js → chunk-GF5L2VYU-Cyz0Xl7f.js} +1 -1
  22. package/dist/assets/{chunk-JWPE2WC7-TEJEfxQK.js → chunk-JWPE2WC7-DYO47aT-.js} +1 -1
  23. package/dist/assets/{chunk-KBJHAD2P-tbXW-dpx.js → chunk-KBJHAD2P-DvXEzV8J.js} +1 -1
  24. package/dist/assets/{chunk-RYQCIY6F-CX4Zsite.js → chunk-RYQCIY6F-Beut8dYt.js} +1 -1
  25. package/dist/assets/{chunk-XXDRQBXY-DVJXNcFN.js → chunk-XXDRQBXY-DLIy1GFl.js} +1 -1
  26. package/dist/assets/classDiagram-JCYQIIEL-C7xIPTll.js +1 -0
  27. package/dist/assets/classDiagram-v2-OCEON4UE-C7xIPTll.js +1 -0
  28. package/dist/assets/{cose-bilkent-JH36ORCC-DLpXc-vJ.js → cose-bilkent-JH36ORCC-DynbO4dj.js} +1 -1
  29. package/dist/assets/{cynefin-VYW2F7L2-toFyL_eT.js → cynefin-VYW2F7L2-CYTJsH3o.js} +1 -1
  30. package/dist/assets/{cynefinDiagram-MW4NZA55-7KnX5nu-.js → cynefinDiagram-MW4NZA55-ftj-lAeE.js} +1 -1
  31. package/dist/assets/{dagre-VZM6K2ZE-C-QOFsDs.js → dagre-VZM6K2ZE-C1kSFboe.js} +1 -1
  32. package/dist/assets/{diagram-7IWD3JNH-26OmKaGK.js → diagram-7IWD3JNH-CqXHTFrY.js} +1 -1
  33. package/dist/assets/{diagram-B4RE2ZJO-0o9kK2uO.js → diagram-B4RE2ZJO-B84n3Zko.js} +1 -1
  34. package/dist/assets/{diagram-LBJQPF4R-CAgMu3zd.js → diagram-LBJQPF4R-B710SefS.js} +1 -1
  35. package/dist/assets/{diagram-Q27KOJAE-B0W-AePB.js → diagram-Q27KOJAE-CmVPl9pq.js} +1 -1
  36. package/dist/assets/{diagram-UB23O5K3-66AXZ7Mk.js → diagram-UB23O5K3-LozbeaFL.js} +1 -1
  37. package/dist/assets/{ebnfDiagram-BXEA7PRR-JlixVrAW.js → ebnfDiagram-BXEA7PRR-B321UBUA.js} +1 -1
  38. package/dist/assets/{erDiagram-JOGREHBK-ZxzuRr4f.js → erDiagram-JOGREHBK-CTbw676k.js} +1 -1
  39. package/dist/assets/feature-chat-pY0kOrz2.js +88 -0
  40. package/dist/assets/feature-workspace-FLomYkPq.js +39 -0
  41. package/dist/assets/{flowDiagram-UKHOOZJN-u67vU32D.js → flowDiagram-UKHOOZJN-BWVKTWlw.js} +1 -1
  42. package/dist/assets/{ganttDiagram-PKOTCBZU-Crl9IPqX.js → ganttDiagram-PKOTCBZU-BAj9eeeX.js} +1 -1
  43. package/dist/assets/{gitGraphDiagram-DS77QQ5N-B2rTRd1W.js → gitGraphDiagram-DS77QQ5N-DcVMRU7N.js} +1 -1
  44. package/dist/assets/{index-YP8FmBZO.js → index-BYFstHFT.js} +1 -1
  45. package/dist/assets/index-BbBSplOU.js +35 -0
  46. package/dist/assets/{index-CPP7a6gU.js → index-BrWTp075.js} +1 -1
  47. package/dist/assets/index-CHukVVB2.css +1 -0
  48. package/dist/assets/{index-BTFkWJZe.js → index-k9M0VaFg.js} +1 -1
  49. package/dist/assets/{infoDiagram-6WML65LV-o9ZSr_ud.js → infoDiagram-6WML65LV-V6wz33B4.js} +1 -1
  50. package/dist/assets/{ishikawaDiagram-WSZJBQD7-DnrbX4Ui.js → ishikawaDiagram-WSZJBQD7-Dd-WNPyK.js} +1 -1
  51. package/dist/assets/{journeyDiagram-NVQOT4AX-CSfWpt5R.js → journeyDiagram-NVQOT4AX-D9VCuCeA.js} +1 -1
  52. package/dist/assets/{kanban-definition-27J2QSJJ-dj3PZxCQ.js → kanban-definition-27J2QSJJ-CUtwDOl-.js} +1 -1
  53. package/dist/assets/{linear-DieERJn8.js → linear-D_XGf1jO.js} +1 -1
  54. package/dist/assets/{mermaid.core-cq_VDJvZ.js → mermaid.core-DOnsXioB.js} +4 -4
  55. package/dist/assets/{mindmap-definition-FAOFIHXS-CHQ8W4LE.js → mindmap-definition-FAOFIHXS-DAYNL5ZV.js} +1 -1
  56. package/dist/assets/{pegDiagram-VL7TDLO6-CR2rMB3e.js → pegDiagram-VL7TDLO6-B5FX3-E6.js} +1 -1
  57. package/dist/assets/{pieDiagram-7S7Q4E2Y-Cs4NOlmu.js → pieDiagram-7S7Q4E2Y-EbnDBVd0.js} +1 -1
  58. package/dist/assets/{quadrantDiagram-CIZ2JOQS-CdHqIaj5.js → quadrantDiagram-CIZ2JOQS-C1koOtwT.js} +1 -1
  59. package/dist/assets/{railroadDiagram-AXF67PYL-BNPU0Q8Z.js → railroadDiagram-AXF67PYL-D52xmshj.js} +1 -1
  60. package/dist/assets/{requirementDiagram-LRYGKXZP-DwDQoirA.js → requirementDiagram-LRYGKXZP-B7VbfNnW.js} +1 -1
  61. package/dist/assets/{sankeyDiagram-W5VNT64P-DSDSpLjf.js → sankeyDiagram-W5VNT64P-CeRG1vHN.js} +1 -1
  62. package/dist/assets/{sequenceDiagram-SI44F4Z6-zfhext7x.js → sequenceDiagram-SI44F4Z6-CfKHnmSE.js} +1 -1
  63. package/dist/assets/{sizeCapture-X5ZJPWSS-C56q6k2T.js → sizeCapture-X5ZJPWSS-DJTzyd0S.js} +1 -1
  64. package/dist/assets/{stateDiagram-OKZ733FA-D2lhrHPg.js → stateDiagram-OKZ733FA-DN0c7IYD.js} +1 -1
  65. package/dist/assets/stateDiagram-v2-UEYNNEHI-DbihlVOQ.js +1 -0
  66. package/dist/assets/{swimlanes-SLNWSIFB-D1HyP0oO.js → swimlanes-SLNWSIFB-CaaJpBDA.js} +2 -2
  67. package/dist/assets/swimlanesDiagram-ULZ7WXOC-BBRevuGP.js +8 -0
  68. package/dist/assets/{timeline-definition-Z64GVDOM-R1zaf6JI.js → timeline-definition-Z64GVDOM-CrzHN7d2.js} +1 -1
  69. package/dist/assets/{vennDiagram-T6HMQDX7-BwlaSNYk.js → vennDiagram-T6HMQDX7-BTldHIjo.js} +1 -1
  70. package/dist/assets/{wardleyDiagram-T6FBY63Y-Dd9-WAib.js → wardleyDiagram-T6FBY63Y-D9Y50OsZ.js} +1 -1
  71. package/dist/assets/{xychartDiagram-ELKLHX3M-BVn4eBvu.js → xychartDiagram-ELKLHX3M-DjxSJ3aF.js} +1 -1
  72. package/dist/favicon.png +0 -0
  73. package/dist/icons/icon-128x128.png +0 -0
  74. package/dist/icons/icon-144x144.png +0 -0
  75. package/dist/icons/icon-152x152.png +0 -0
  76. package/dist/icons/icon-180x180.png +0 -0
  77. package/dist/icons/icon-192x192.png +0 -0
  78. package/dist/icons/icon-384x384.png +0 -0
  79. package/dist/icons/icon-512x512.png +0 -0
  80. package/dist/icons/icon-72x72.png +0 -0
  81. package/dist/icons/icon-96x96.png +0 -0
  82. package/dist/icons/icon-maskable-192x192.png +0 -0
  83. package/dist/icons/icon-maskable-512x512.png +0 -0
  84. package/dist/icons/new.png +0 -0
  85. package/dist/index.html +4 -4
  86. package/dist/logo-128.png +0 -0
  87. package/dist/logo-256.png +0 -0
  88. package/dist/sw.js +1 -1
  89. package/dist-server/server/index.js +2 -0
  90. package/dist-server/server/index.js.map +1 -1
  91. package/dist-server/server/modules/agent/agent.routes.js +14 -2
  92. package/dist-server/server/modules/agent/agent.routes.js.map +1 -1
  93. package/dist-server/server/modules/agent/tests/agent.routes.test.js +1 -0
  94. package/dist-server/server/modules/agent/tests/agent.routes.test.js.map +1 -1
  95. package/dist-server/server/modules/commands/commands.routes.js +2 -1
  96. package/dist-server/server/modules/commands/commands.routes.js.map +1 -1
  97. package/dist-server/server/modules/database/migrations.js +43 -0
  98. package/dist-server/server/modules/database/migrations.js.map +1 -1
  99. package/dist-server/server/modules/database/tests/projects.db.integration.test.js +24 -1
  100. package/dist-server/server/modules/database/tests/projects.db.integration.test.js.map +1 -1
  101. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js +2 -0
  102. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js.map +1 -1
  103. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +10 -1
  104. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -1
  105. package/dist-server/server/modules/providers/list/pi/index.js +5 -0
  106. package/dist-server/server/modules/providers/list/pi/index.js.map +1 -0
  107. package/dist-server/server/modules/providers/list/pi/pi-auth.provider.js +55 -0
  108. package/dist-server/server/modules/providers/list/pi/pi-auth.provider.js.map +1 -0
  109. package/dist-server/server/modules/providers/list/pi/pi-mcp.provider.js +23 -0
  110. package/dist-server/server/modules/providers/list/pi/pi-mcp.provider.js.map +1 -0
  111. package/dist-server/server/modules/providers/list/pi/pi-models.provider.js +99 -0
  112. package/dist-server/server/modules/providers/list/pi/pi-models.provider.js.map +1 -0
  113. package/dist-server/server/modules/providers/list/pi/pi-runtime.provider.js +262 -0
  114. package/dist-server/server/modules/providers/list/pi/pi-runtime.provider.js.map +1 -0
  115. package/dist-server/server/modules/providers/list/pi/pi-session-synchronizer.provider.js +136 -0
  116. package/dist-server/server/modules/providers/list/pi/pi-session-synchronizer.provider.js.map +1 -0
  117. package/dist-server/server/modules/providers/list/pi/pi-sessions.provider.js +225 -0
  118. package/dist-server/server/modules/providers/list/pi/pi-sessions.provider.js.map +1 -0
  119. package/dist-server/server/modules/providers/list/pi/pi-skills.provider.js +31 -0
  120. package/dist-server/server/modules/providers/list/pi/pi-skills.provider.js.map +1 -0
  121. package/dist-server/server/modules/providers/list/pi/pi.provider.js +22 -0
  122. package/dist-server/server/modules/providers/list/pi/pi.provider.js.map +1 -0
  123. package/dist-server/server/modules/providers/provider.registry.js +2 -0
  124. package/dist-server/server/modules/providers/provider.registry.js.map +1 -1
  125. package/dist-server/server/modules/providers/provider.routes.js +2 -1
  126. package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
  127. package/dist-server/server/modules/providers/services/provider-capabilities.service.js +26 -0
  128. package/dist-server/server/modules/providers/services/provider-capabilities.service.js.map +1 -1
  129. package/dist-server/server/modules/providers/services/session-synchronizer.service.js +1 -0
  130. package/dist-server/server/modules/providers/services/session-synchronizer.service.js.map +1 -1
  131. package/dist-server/server/modules/providers/services/sessions-watcher.service.js +5 -0
  132. package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -1
  133. package/dist-server/server/modules/providers/tests/mcp.test.js +4 -2
  134. package/dist-server/server/modules/providers/tests/mcp.test.js.map +1 -1
  135. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +56 -5
  136. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -1
  137. package/dist-server/server/modules/providers/tests/pi-provider.test.js +244 -0
  138. package/dist-server/server/modules/providers/tests/pi-provider.test.js.map +1 -0
  139. package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js +9 -0
  140. package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js.map +1 -1
  141. package/dist-server/server/shared/utils.js +19 -0
  142. package/dist-server/server/shared/utils.js.map +1 -1
  143. package/package.json +1 -1
  144. package/public/api-docs.html +4 -3
  145. package/scripts/generate-pwa-icons.ps1 +1 -1
  146. package/server/index.ts +2 -0
  147. package/server/modules/agent/agent.module.ts +1 -1
  148. package/server/modules/agent/agent.routes.ts +15 -2
  149. package/server/modules/agent/tests/agent.routes.test.ts +1 -0
  150. package/server/modules/commands/commands.routes.ts +2 -1
  151. package/server/modules/database/migrations.ts +52 -0
  152. package/server/modules/database/tests/projects.db.integration.test.ts +28 -1
  153. package/server/modules/notifications/services/notification-orchestrator.service.js +2 -0
  154. package/server/modules/providers/README.md +5 -1
  155. package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +18 -0
  156. package/server/modules/providers/list/pi/index.ts +4 -0
  157. package/server/modules/providers/list/pi/pi-auth.provider.ts +58 -0
  158. package/server/modules/providers/list/pi/pi-mcp.provider.ts +33 -0
  159. package/server/modules/providers/list/pi/pi-models.provider.ts +114 -0
  160. package/server/modules/providers/list/pi/pi-runtime.provider.ts +271 -0
  161. package/server/modules/providers/list/pi/pi-session-synchronizer.provider.ts +134 -0
  162. package/server/modules/providers/list/pi/pi-sessions.provider.ts +206 -0
  163. package/server/modules/providers/list/pi/pi-skills.provider.ts +37 -0
  164. package/server/modules/providers/list/pi/pi.provider.ts +33 -0
  165. package/server/modules/providers/provider.registry.ts +2 -0
  166. package/server/modules/providers/provider.routes.ts +1 -0
  167. package/server/modules/providers/services/provider-capabilities.service.ts +32 -0
  168. package/server/modules/providers/services/session-synchronizer.service.ts +1 -0
  169. package/server/modules/providers/services/sessions-watcher.service.ts +5 -0
  170. package/server/modules/providers/tests/mcp.test.ts +4 -2
  171. package/server/modules/providers/tests/opencode-sessions.test.ts +81 -6
  172. package/server/modules/providers/tests/pi-provider.test.ts +244 -0
  173. package/server/modules/providers/tests/provider-runtime.service.test.ts +10 -0
  174. package/server/shared/types.ts +1 -1
  175. package/server/shared/utils.ts +23 -0
  176. package/dist/assets/channel-Dj-iU3BT.js +0 -1
  177. package/dist/assets/classDiagram-JCYQIIEL-euwGMP6E.js +0 -1
  178. package/dist/assets/classDiagram-v2-OCEON4UE-euwGMP6E.js +0 -1
  179. package/dist/assets/feature-chat-CNYDDkFQ.js +0 -88
  180. package/dist/assets/feature-workspace-BMlv7Ust.js +0 -39
  181. package/dist/assets/index-Cr5MbHuj.css +0 -1
  182. package/dist/assets/index-uINlYqXe.js +0 -35
  183. package/dist/assets/stateDiagram-v2-UEYNNEHI-C3wzBtFn.js +0 -1
  184. package/dist/assets/swimlanesDiagram-ULZ7WXOC-Dts8yQMu.js +0 -8
  185. package/dist/icons/new-icon.png +0 -0
@@ -263,8 +263,10 @@ test('providerMcpService global adder writes to all providers and rejects unsupp
263
263
  url: 'https://global.example.com/mcp',
264
264
  workspacePath,
265
265
  });
266
- assert.equal(globalResult.length, 4);
267
- assert.ok(globalResult.every((entry) => entry.created === true));
266
+ assert.equal(globalResult.length, 5);
267
+ assert.ok(globalResult.filter((entry) => entry.provider !== 'pi').every((entry) => entry.created === true));
268
+ assert.equal(globalResult.find((entry) => entry.provider === 'pi')?.created, false);
269
+ assert.match(globalResult.find((entry) => entry.provider === 'pi')?.error ?? '', /does not provide native MCP/);
268
270
  const claudeProject = await readJson(path.join(workspacePath, '.mcp.json'));
269
271
  assert.ok(claudeProject.mcpServers['global-http']);
270
272
  const codexProject = TOML.parse(await fs.readFile(path.join(workspacePath, '.codex', 'config.toml'), 'utf8'));
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/mcp.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/mcp.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
6
  import Database from 'better-sqlite3';
7
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
7
+ import { closeConnection, initializeDatabase, projectsDb, sessionsDb } from '../../../modules/database/index.js';
8
8
  import { OpenCodeSessionSynchronizer } from '../../../modules/providers/list/opencode/opencode-session-synchronizer.provider.js';
9
9
  import { OpenCodeSessionsProvider } from '../../../modules/providers/list/opencode/opencode-sessions.provider.js';
10
10
  import { appendImagesInputTag } from '../../../shared/image-attachments.js';
@@ -36,9 +36,11 @@ async function withIsolatedDatabase(runTest) {
36
36
  await rm(tempDirectory, { recursive: true, force: true });
37
37
  }
38
38
  }
39
- const createOpenCodeDatabase = async (homeDir, workspacePath) => {
39
+ const createOpenCodeDatabase = async (homeDir, workspacePath, options = {}) => {
40
40
  const dataDir = path.join(homeDir, '.local', 'share', 'opencode');
41
41
  await mkdir(dataDir, { recursive: true });
42
+ const projectId = options.projectId ?? 'project-1';
43
+ const worktreePath = options.worktreePath ?? workspacePath;
42
44
  const db = new Database(path.join(dataDir, 'opencode.db'));
43
45
  try {
44
46
  db.exec(`
@@ -113,14 +115,14 @@ const createOpenCodeDatabase = async (homeDir, workspacePath) => {
113
115
  CREATE INDEX message_session_time_created_id_idx ON message (session_id, time_created, id);
114
116
  CREATE INDEX part_message_id_id_idx ON part (message_id, id);
115
117
  `);
116
- db.prepare('INSERT INTO project (id, worktree, time_created, time_updated, sandboxes) VALUES (?, ?, ?, ?, ?)').run('project-1', workspacePath, 1_700_000_000_000, 1_700_000_001_000, '[]');
118
+ db.prepare('INSERT INTO project (id, worktree, time_created, time_updated, sandboxes) VALUES (?, ?, ?, ?, ?)').run(projectId, worktreePath, 1_700_000_000_000, 1_700_000_001_000, '[]');
117
119
  db.prepare(`
118
120
  INSERT INTO session (
119
121
  id, project_id, slug, directory, title, version, time_created, time_updated, time_archived,
120
122
  tokens_input, tokens_output, tokens_reasoning, tokens_cache_read, tokens_cache_write
121
123
  )
122
124
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
123
- `).run('open-session-1', 'project-1', 'open-session-1', workspacePath, 'OpenCode indexed title', '0.0.0', 1_700_000_000_000, 1_700_000_004_000, null, 10, 20, 7, 3, 2);
125
+ `).run('open-session-1', projectId, 'open-session-1', workspacePath, 'OpenCode indexed title', '0.0.0', 1_700_000_000_000, 1_700_000_004_000, null, 10, 20, 7, 3, 2);
124
126
  const userMessageData = JSON.stringify({
125
127
  role: 'user',
126
128
  time: { created: 1_700_000_001_000 },
@@ -187,7 +189,10 @@ test('OpenCode session synchronizer indexes sqlite sessions without deletable tr
187
189
  await mkdir(workspacePath, { recursive: true });
188
190
  const restoreHomeDir = patchHomeDir(tempRoot);
189
191
  try {
190
- await createOpenCodeDatabase(tempRoot, workspacePath);
192
+ await createOpenCodeDatabase(tempRoot, workspacePath, {
193
+ projectId: 'global',
194
+ worktreePath: '/',
195
+ });
191
196
  await withIsolatedDatabase(() => {
192
197
  const synchronizer = new OpenCodeSessionSynchronizer();
193
198
  const processed = synchronizer.synchronize();
@@ -206,6 +211,52 @@ test('OpenCode session synchronizer indexes sqlite sessions without deletable tr
206
211
  await rm(tempRoot, { recursive: true, force: true });
207
212
  }
208
213
  });
214
+ test('OpenCode session synchronizer skips external Multica global workdirs', { concurrency: false }, async () => {
215
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'opencode-session-sync-multica-'));
216
+ const workspacePath = path.join(tempRoot, 'multica_workspaces_desktop-api.example.test', 'workspace-id', 'deadbeef', 'workdir');
217
+ await mkdir(workspacePath, { recursive: true });
218
+ const restoreHomeDir = patchHomeDir(tempRoot);
219
+ try {
220
+ await createOpenCodeDatabase(tempRoot, workspacePath, {
221
+ projectId: 'global',
222
+ worktreePath: '/',
223
+ });
224
+ await withIsolatedDatabase(async () => {
225
+ const count = await new OpenCodeSessionSynchronizer().synchronize();
226
+ assert.equal(count, 0);
227
+ assert.equal(sessionsDb.getSessionById('open-session-1'), null);
228
+ assert.equal(projectsDb.getProjectPath(workspacePath), null);
229
+ });
230
+ }
231
+ finally {
232
+ restoreHomeDir();
233
+ await rm(tempRoot, { recursive: true, force: true });
234
+ }
235
+ });
236
+ test('OpenCode session synchronizer keeps WindCli sessions in Multica global workdirs', { concurrency: false }, async () => {
237
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'opencode-session-sync-multica-app-'));
238
+ const workspacePath = path.join(tempRoot, 'multica_workspaces_desktop-api.example.test', 'workspace-id', 'deadbeef', 'workdir');
239
+ await mkdir(workspacePath, { recursive: true });
240
+ const restoreHomeDir = patchHomeDir(tempRoot);
241
+ try {
242
+ await createOpenCodeDatabase(tempRoot, workspacePath, {
243
+ projectId: 'global',
244
+ worktreePath: '/',
245
+ });
246
+ await withIsolatedDatabase(async () => {
247
+ sessionsDb.createAppSession('app-session-multica', 'opencode', workspacePath);
248
+ sessionsDb.assignProviderSessionId('app-session-multica', 'open-session-1');
249
+ const count = await new OpenCodeSessionSynchronizer().synchronize();
250
+ assert.equal(count, 1);
251
+ assert.equal(sessionsDb.getAllSessions().length, 1);
252
+ assert.equal(sessionsDb.getSessionById('app-session-multica')?.provider_session_id, 'open-session-1');
253
+ });
254
+ }
255
+ finally {
256
+ restoreHomeDir();
257
+ await rm(tempRoot, { recursive: true, force: true });
258
+ }
259
+ });
209
260
  test('OpenCode session synchronizer returns the app session id once provider mapping exists', { concurrency: false }, async () => {
210
261
  const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'opencode-session-sync-mapped-'));
211
262
  const workspacePath = path.join(tempRoot, 'workspace');
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-sessions.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/opencode-sessions.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-sessions.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/opencode-sessions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ import assert from 'node:assert/strict';
2
+ import { chmod, mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import test from 'node:test';
6
+ import { PiMcpProvider } from '../../../modules/providers/list/pi/pi-mcp.provider.js';
7
+ import { parsePiModelsTable } from '../../../modules/providers/list/pi/pi-models.provider.js';
8
+ import { abortPiSession, runPi } from '../../../modules/providers/list/pi/pi-runtime.provider.js';
9
+ import { PiSessionsProvider } from '../../../modules/providers/list/pi/pi-sessions.provider.js';
10
+ import { PiSessionSynchronizer } from '../../../modules/providers/list/pi/pi-session-synchronizer.provider.js';
11
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
12
+ import { AppError } from '../../../shared/utils.js';
13
+ test('Pi model discovery parses fixed columns and preserves provider/model ids', () => {
14
+ const models = parsePiModelsTable([
15
+ 'provider model context max-out thinking images',
16
+ 'anthropic claude/sonnet-special 200K 64K yes yes',
17
+ 'openai gpt-4o 128K 16K no yes',
18
+ ].join('\r\n'));
19
+ assert.deepEqual(models.map((model) => model.value), [
20
+ 'anthropic/claude/sonnet-special',
21
+ 'openai/gpt-4o',
22
+ ]);
23
+ assert.deepEqual(models[0].effort?.values.map((entry) => entry.value), [
24
+ 'off', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max',
25
+ ]);
26
+ assert.equal(models[1].effort, undefined);
27
+ assert.match(models[0].description ?? '', /Images/);
28
+ });
29
+ test('Pi sessions normalize RPC deltas and tool lifecycle events', () => {
30
+ const sessions = new PiSessionsProvider();
31
+ const text = sessions.normalizeMessage({
32
+ type: 'message_update',
33
+ assistantMessageEvent: { type: 'text_delta', delta: 'hello' },
34
+ }, 'session-1');
35
+ const thinking = sessions.normalizeMessage({
36
+ type: 'message_update',
37
+ assistantMessageEvent: { type: 'thinking_delta', delta: 'reasoning' },
38
+ }, 'session-1');
39
+ const start = sessions.normalizeMessage({
40
+ type: 'tool_execution_start', toolCallId: 'tool-1', toolName: 'read', args: { path: 'a.ts' },
41
+ }, 'session-1');
42
+ const end = sessions.normalizeMessage({
43
+ type: 'tool_execution_end', toolCallId: 'tool-1', toolName: 'read', result: { content: 'done' }, isError: false,
44
+ }, 'session-1');
45
+ assert.equal(text[0].kind, 'stream_delta');
46
+ assert.equal(text[0].content, 'hello');
47
+ assert.equal(thinking[0].kind, 'thinking');
48
+ assert.equal(start[0].toolId, 'tool-1');
49
+ assert.equal(end[0].kind, 'tool_result');
50
+ assert.equal(end[0].toolResult?.content, 'done');
51
+ });
52
+ test('Pi synchronizer and history reader restore only the active JSONL branch', { concurrency: false }, async () => {
53
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'pi-history-'));
54
+ const previousDatabasePath = process.env.DATABASE_PATH;
55
+ const previousSessionDir = process.env.PI_CODING_AGENT_SESSION_DIR;
56
+ try {
57
+ const sessionRoot = path.join(tempRoot, 'sessions');
58
+ const workspace = path.join(tempRoot, 'workspace');
59
+ const transcript = path.join(sessionRoot, 'session.jsonl');
60
+ await mkdir(sessionRoot, { recursive: true });
61
+ await mkdir(workspace, { recursive: true });
62
+ const entries = [
63
+ { type: 'session', version: 3, id: 'pi-session-1', cwd: workspace, timestamp: '2026-01-01T00:00:00.000Z' },
64
+ { type: 'message', id: 'u1', parentId: null, timestamp: '2026-01-01T00:00:01.000Z', message: { role: 'user', content: 'root prompt' } },
65
+ { type: 'message', id: 'a-old', parentId: 'u1', timestamp: '2026-01-01T00:00:02.000Z', message: { role: 'assistant', content: [{ type: 'text', text: 'abandoned answer' }] } },
66
+ { type: 'message', id: 'u2', parentId: 'u1', timestamp: '2026-01-01T00:00:03.000Z', message: { role: 'user', content: 'active fork' } },
67
+ { type: 'message', id: 'a2', parentId: 'u2', timestamp: '2026-01-01T00:00:04.000Z', message: {
68
+ role: 'assistant',
69
+ content: [{ type: 'thinking', text: 'considering' }, { type: 'text', text: 'active answer' }],
70
+ usage: { input: 5, output: 4, cacheRead: 1, cacheWrite: 0 },
71
+ } },
72
+ { type: 'session_info', name: 'Active Pi branch' },
73
+ ];
74
+ await writeFile(transcript, `${entries.map((entry) => JSON.stringify(entry)).join('\n')}\n{partial`, 'utf8');
75
+ closeConnection();
76
+ process.env.DATABASE_PATH = path.join(tempRoot, 'windcli.db');
77
+ process.env.PI_CODING_AGENT_SESSION_DIR = sessionRoot;
78
+ await initializeDatabase();
79
+ assert.equal(await new PiSessionSynchronizer().synchronize(), 1);
80
+ assert.equal(sessionsDb.getSessionById('pi-session-1')?.custom_name, 'Active Pi branch');
81
+ const history = await new PiSessionsProvider().fetchHistory('pi-session-1', { limit: 2, offset: 0 });
82
+ assert.equal(history.total, 4);
83
+ assert.equal(history.hasMore, true);
84
+ assert.deepEqual(history.messages.map((message) => message.content), ['considering', 'active answer']);
85
+ assert.equal(history.tokenUsage.used, 10);
86
+ assert.ok(!history.messages.some((message) => message.content === 'abandoned answer'));
87
+ }
88
+ finally {
89
+ closeConnection();
90
+ if (previousDatabasePath === undefined)
91
+ delete process.env.DATABASE_PATH;
92
+ else
93
+ process.env.DATABASE_PATH = previousDatabasePath;
94
+ if (previousSessionDir === undefined)
95
+ delete process.env.PI_CODING_AGENT_SESSION_DIR;
96
+ else
97
+ process.env.PI_CODING_AGENT_SESSION_DIR = previousSessionDir;
98
+ await rm(tempRoot, { recursive: true, force: true });
99
+ }
100
+ });
101
+ test('Pi MCP facet lists no servers and rejects mutation with a stable error', async () => {
102
+ const mcp = new PiMcpProvider();
103
+ assert.deepEqual(await mcp.listServers(), { user: [], local: [], project: [] });
104
+ await assert.rejects(() => mcp.upsertServer({ name: 'test', scope: 'user', transport: 'stdio', command: 'test' }), (error) => error instanceof AppError && error.code === 'MCP_NOT_SUPPORTED');
105
+ });
106
+ const waitForFile = async (filePath) => {
107
+ for (let attempt = 0; attempt < 50; attempt += 1) {
108
+ try {
109
+ await readFile(filePath);
110
+ return;
111
+ }
112
+ catch {
113
+ await new Promise((resolve) => setTimeout(resolve, 20));
114
+ }
115
+ }
116
+ throw new Error(`Timed out waiting for ${filePath}`);
117
+ };
118
+ test('Pi runtime uses JSONL RPC arguments, streams events, and emits one terminal state', { concurrency: false }, async () => {
119
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'pi-runtime-'));
120
+ const originalPath = process.env.PATH;
121
+ const originalCapture = process.env.PI_FAKE_CAPTURE;
122
+ try {
123
+ const workspace = path.join(tempRoot, 'workspace');
124
+ const capture = path.join(tempRoot, 'capture.json');
125
+ const scriptPath = path.join(tempRoot, 'fake-pi.cjs');
126
+ await mkdir(path.join(workspace, '.pi', 'skills'), { recursive: true });
127
+ await writeFile(path.join(workspace, 'image.png'), 'fake image', 'utf8');
128
+ await writeFile(scriptPath, `
129
+ const fs = require('node:fs');
130
+ const readline = require('node:readline');
131
+ const capture = process.env.PI_FAKE_CAPTURE;
132
+ const seen = [];
133
+ fs.writeFileSync(capture, JSON.stringify({ args: process.argv.slice(2), cwd: process.cwd(), seen }));
134
+ const rl = readline.createInterface({ input: process.stdin });
135
+ rl.on('line', (line) => {
136
+ seen.push(JSON.parse(line));
137
+ fs.writeFileSync(capture, JSON.stringify({ args: process.argv.slice(2), cwd: process.cwd(), seen }));
138
+ const write = (event) => process.stdout.write(JSON.stringify(event) + '\\r\\n');
139
+ write({ type: 'response', command: 'prompt', success: true });
140
+ write({ type: 'message_update', assistantMessageEvent: { type: 'text_delta', delta: 'Hello' } });
141
+ write({ type: 'message_update', assistantMessageEvent: { type: 'thinking_delta', delta: 'Think' } });
142
+ write({ type: 'tool_execution_start', toolCallId: 't1', toolName: 'read', args: { path: 'x' } });
143
+ write({ type: 'tool_execution_end', toolCallId: 't1', toolName: 'read', result: { content: 'ok' }, isError: false });
144
+ write({ type: 'agent_end', messages: [{ role: 'assistant', usage: { input: 2, output: 3, cacheRead: 1, cacheWrite: 0 } }] });
145
+ write({ type: 'agent_end', messages: [] });
146
+ rl.close();
147
+ });
148
+ `, 'utf8');
149
+ await writeFile(path.join(tempRoot, 'pi.cmd'), '@echo off\r\nnode "%~dp0fake-pi.cjs" %*\r\n', 'utf8');
150
+ const unixShim = path.join(tempRoot, 'pi');
151
+ await writeFile(unixShim, `#!/bin/sh\nexec node "${scriptPath.replace(/\\/g, '/')}" "$@"\n`, 'utf8');
152
+ await chmod(unixShim, 0o755);
153
+ process.env.PATH = `${tempRoot}${path.delimiter}${originalPath ?? ''}`;
154
+ process.env.PI_FAKE_CAPTURE = capture;
155
+ const sent = [];
156
+ const context = {
157
+ resolveProviderSessionId: () => null,
158
+ resolveResumeModel: async () => 'anthropic/claude-sonnet-4-5',
159
+ getProviderModels: async () => ({ OPTIONS: [], DEFAULT: '' }),
160
+ normalizeMessage: (event, sessionId) => new PiSessionsProvider().normalizeMessage(event, sessionId),
161
+ isProviderInstalled: async () => true,
162
+ };
163
+ await runPi('Inspect', {
164
+ sessionId: '11111111-1111-4111-8111-111111111111',
165
+ cwd: workspace,
166
+ model: 'anthropic/claude-sonnet-4-5',
167
+ effort: 'high',
168
+ images: [{ path: path.join(workspace, 'image.png'), mimeType: 'image/png' }],
169
+ files: [{ path: path.join(workspace, 'notes.txt') }],
170
+ }, { send: (message) => sent.push(message) }, context);
171
+ const captured = JSON.parse(await readFile(capture, 'utf8'));
172
+ assert.equal(captured.cwd, workspace);
173
+ assert.deepEqual(captured.args.slice(0, 3), ['--mode', 'rpc', '--no-approve']);
174
+ assert.ok(captured.args.includes('anthropic/claude-sonnet-4-5'));
175
+ assert.ok(captured.args.includes('--session-id'));
176
+ assert.ok(captured.args.includes('--thinking'));
177
+ assert.ok(captured.args.includes('--skill'));
178
+ assert.equal(captured.seen[0].type, 'prompt');
179
+ assert.equal(captured.seen[0].images.length, 1);
180
+ assert.match(String(captured.seen[0].message), /<files_input>/);
181
+ assert.ok(sent.some((message) => message.kind === 'stream_delta' && message.content === 'Hello'));
182
+ assert.ok(sent.some((message) => message.kind === 'thinking'));
183
+ assert.ok(sent.some((message) => message.kind === 'tool_use'));
184
+ assert.ok(sent.some((message) => message.kind === 'tool_result'));
185
+ assert.ok(sent.some((message) => message.kind === 'status' && message.tokenBudget.used === 6));
186
+ assert.equal(sent.filter((message) => message.kind === 'complete').length, 1);
187
+ }
188
+ finally {
189
+ process.env.PATH = originalPath;
190
+ if (originalCapture === undefined)
191
+ delete process.env.PI_FAKE_CAPTURE;
192
+ else
193
+ process.env.PI_FAKE_CAPTURE = originalCapture;
194
+ await rm(tempRoot, { recursive: true, force: true });
195
+ }
196
+ });
197
+ test('Pi abort sends RPC before stopping the child', { concurrency: false }, async () => {
198
+ const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'pi-abort-'));
199
+ const originalPath = process.env.PATH;
200
+ const originalCapture = process.env.PI_FAKE_CAPTURE;
201
+ try {
202
+ const capture = path.join(tempRoot, 'abort.json');
203
+ const scriptPath = path.join(tempRoot, 'fake-pi.cjs');
204
+ await writeFile(scriptPath, `
205
+ const fs = require('node:fs');
206
+ const readline = require('node:readline');
207
+ const seen = [];
208
+ const save = () => fs.writeFileSync(process.env.PI_FAKE_CAPTURE, JSON.stringify(seen));
209
+ readline.createInterface({ input: process.stdin }).on('line', (line) => {
210
+ seen.push(JSON.parse(line)); save();
211
+ if (seen.at(-1).type === 'abort') process.exit(0);
212
+ });
213
+ `, 'utf8');
214
+ await writeFile(path.join(tempRoot, 'pi.cmd'), '@echo off\r\nnode "%~dp0fake-pi.cjs" %*\r\n', 'utf8');
215
+ const unixShim = path.join(tempRoot, 'pi');
216
+ await writeFile(unixShim, `#!/bin/sh\nexec node "${scriptPath.replace(/\\/g, '/')}" "$@"\n`, 'utf8');
217
+ await chmod(unixShim, 0o755);
218
+ process.env.PATH = `${tempRoot}${path.delimiter}${originalPath ?? ''}`;
219
+ process.env.PI_FAKE_CAPTURE = capture;
220
+ const sessionId = '22222222-2222-4222-8222-222222222222';
221
+ const context = {
222
+ resolveProviderSessionId: () => null,
223
+ resolveResumeModel: async () => undefined,
224
+ getProviderModels: async () => ({ OPTIONS: [], DEFAULT: '' }),
225
+ normalizeMessage: () => [],
226
+ isProviderInstalled: async () => true,
227
+ };
228
+ const running = runPi('Wait', { sessionId, cwd: tempRoot }, { send: () => undefined }, context);
229
+ await waitForFile(capture);
230
+ assert.equal(abortPiSession(sessionId), true);
231
+ await running;
232
+ const seen = JSON.parse(await readFile(capture, 'utf8'));
233
+ assert.deepEqual(seen.map((entry) => entry.type), ['prompt', 'abort']);
234
+ }
235
+ finally {
236
+ process.env.PATH = originalPath;
237
+ if (originalCapture === undefined)
238
+ delete process.env.PI_FAKE_CAPTURE;
239
+ else
240
+ process.env.PI_FAKE_CAPTURE = originalCapture;
241
+ await rm(tempRoot, { recursive: true, force: true });
242
+ }
243
+ });
244
+ //# sourceMappingURL=pi-provider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-provider.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/pi-provider.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
3
  import { providerRegistry } from '../../../modules/providers/provider.registry.js';
4
+ import { providerCapabilitiesService } from '../../../modules/providers/services/provider-capabilities.service.js';
4
5
  import { createProviderRuntimeService } from '../../../modules/providers/services/provider-runtime.service.js';
5
6
  function createRuntime(overrides = {}) {
6
7
  return {
@@ -68,10 +69,18 @@ test('providerRegistry owns one runtime for every registered provider', () => {
68
69
  'codex',
69
70
  'cursor',
70
71
  'opencode',
72
+ 'pi',
71
73
  ]);
72
74
  assert.equal(providers.every((provider) => typeof provider.runtime.run === 'function'), true);
73
75
  assert.equal(providers.every((provider) => typeof provider.runtime.abort === 'function'), true);
74
76
  });
77
+ test('Pi capabilities expose skills while hiding MCP and permission settings', () => {
78
+ const capabilities = providerCapabilitiesService.getProviderCapabilities('pi');
79
+ assert.equal(capabilities.supportsSkills, true);
80
+ assert.equal(capabilities.supportsMcp, false);
81
+ assert.equal(capabilities.supportsPermissionSettings, false);
82
+ assert.equal(capabilities.supportsPermissionRequests, false);
83
+ });
75
84
  test('dispatches runs and aborts through the runtime owned by providerRegistry', async () => {
76
85
  const calls = [];
77
86
  const runtime = createRuntime({
@@ -1 +1 @@
1
- {"version":3,"file":"provider-runtime.service.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/provider-runtime.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-runtime.service.test.js","sourceRoot":"","sources":["../../../../../server/modules/providers/tests/provider-runtime.service.test.ts"],"names":[],"mappings":"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"}
@@ -147,6 +147,25 @@ export function normalizeProjectPath(inputPath) {
147
147
  }
148
148
  return normalized.replace(/[\\/]+$/, '');
149
149
  }
150
+ /**
151
+ * Identifies disposable Multica task directories that OpenCode records under
152
+ * its global project. The Providers module uses this to avoid indexing external
153
+ * automation runs, while the Database module uses the same rule to remove old
154
+ * WindCli index rows. A normal project named `workdir` does not match unless its
155
+ * trailing structure is `multica_workspaces_* / <workspace> / <8 hex> / workdir`.
156
+ */
157
+ export function isTransientMulticaWorkdirPath(inputPath) {
158
+ const normalizedPath = normalizeProjectPath(inputPath);
159
+ const segments = normalizedPath.split(/[\\/]+/).filter(Boolean);
160
+ if (segments.length < 4) {
161
+ return false;
162
+ }
163
+ const [multicaRoot, workspaceId, runId, directoryName] = segments.slice(-4);
164
+ return (/^multica_workspaces_.+/i.test(multicaRoot)
165
+ && workspaceId.length > 0
166
+ && /^[0-9a-f]{8}$/i.test(runId)
167
+ && directoryName.toLowerCase() === 'workdir');
168
+ }
150
169
  /**
151
170
  * Validates that a user-supplied workspace path is safe to use.
152
171
  *