@inharness-ai/claude4spec 1.0.21 → 1.0.22

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 (241) hide show
  1. package/.claude/skills/c4s-brief-implementer/SKILL.md +120 -53
  2. package/CHANGELOG.md +13 -0
  3. package/dist/bin/c4s/commands/agent.d.ts +18 -0
  4. package/dist/bin/c4s/commands/agent.js +102 -0
  5. package/dist/bin/c4s/commands/agent.js.map +1 -0
  6. package/dist/bin/c4s/commands/ask.d.ts +9 -8
  7. package/dist/bin/c4s/commands/ask.js +23 -31
  8. package/dist/bin/c4s/commands/ask.js.map +1 -1
  9. package/dist/bin/c4s/commands/catalog.d.ts +1 -1
  10. package/dist/bin/c4s/commands/catalog.js +2 -2
  11. package/dist/bin/c4s/commands/catalog.js.map +1 -1
  12. package/dist/bin/c4s/commands/describe.d.ts +1 -1
  13. package/dist/bin/c4s/commands/describe.js +2 -2
  14. package/dist/bin/c4s/commands/describe.js.map +1 -1
  15. package/dist/bin/c4s/commands/detail.d.ts +1 -1
  16. package/dist/bin/c4s/commands/detail.js +2 -2
  17. package/dist/bin/c4s/commands/detail.js.map +1 -1
  18. package/dist/bin/c4s/commands/element-list.d.ts +1 -1
  19. package/dist/bin/c4s/commands/element-list.js +2 -2
  20. package/dist/bin/c4s/commands/element-list.js.map +1 -1
  21. package/dist/bin/c4s/commands/find-references.js +1 -1
  22. package/dist/bin/c4s/commands/find-references.js.map +1 -1
  23. package/dist/bin/c4s/commands/inline-mention.d.ts +1 -1
  24. package/dist/bin/c4s/commands/inline-mention.js +2 -2
  25. package/dist/bin/c4s/commands/inline-mention.js.map +1 -1
  26. package/dist/bin/c4s/commands/list-slugs.d.ts +1 -1
  27. package/dist/bin/c4s/commands/list-slugs.js +2 -2
  28. package/dist/bin/c4s/commands/list-slugs.js.map +1 -1
  29. package/dist/bin/c4s/commands/list-tags.d.ts +1 -1
  30. package/dist/bin/c4s/commands/list-tags.js +2 -2
  31. package/dist/bin/c4s/commands/list-tags.js.map +1 -1
  32. package/dist/bin/c4s/commands/plugins.d.ts +9 -0
  33. package/dist/bin/c4s/commands/plugins.js +81 -0
  34. package/dist/bin/c4s/commands/plugins.js.map +1 -0
  35. package/dist/bin/c4s/commands/resolve.d.ts +1 -1
  36. package/dist/bin/c4s/commands/resolve.js +2 -2
  37. package/dist/bin/c4s/commands/resolve.js.map +1 -1
  38. package/dist/bin/c4s/commands/single-element.d.ts +1 -1
  39. package/dist/bin/c4s/commands/single-element.js +2 -2
  40. package/dist/bin/c4s/commands/single-element.js.map +1 -1
  41. package/dist/bin/c4s/commands/tagged-list-mixed.d.ts +1 -1
  42. package/dist/bin/c4s/commands/tagged-list-mixed.js +2 -2
  43. package/dist/bin/c4s/commands/tagged-list-mixed.js.map +1 -1
  44. package/dist/bin/c4s/commands/tagged-list.d.ts +1 -1
  45. package/dist/bin/c4s/commands/tagged-list.js +2 -2
  46. package/dist/bin/c4s/commands/tagged-list.js.map +1 -1
  47. package/dist/bin/c4s/context.d.ts +3 -3
  48. package/dist/bin/c4s/context.js +7 -4
  49. package/dist/bin/c4s/context.js.map +1 -1
  50. package/dist/bin/c4s/errors.d.ts +1 -1
  51. package/dist/bin/c4s/errors.js.map +1 -1
  52. package/dist/bin/c4s-mcp.js +6 -2
  53. package/dist/bin/c4s-mcp.js.map +1 -1
  54. package/dist/bin/c4s.js +19 -4
  55. package/dist/bin/c4s.js.map +1 -1
  56. package/dist/bin/gitignore.js +7 -11
  57. package/dist/bin/gitignore.js.map +1 -1
  58. package/dist/client/assets/{arc-Coa9fbDO.js → arc-C9oTB3b1.js} +1 -1
  59. package/dist/client/assets/{architectureDiagram-3BPJPVTR-VJZcRMEN.js → architectureDiagram-3BPJPVTR-Bno5ViqK.js} +1 -1
  60. package/dist/client/assets/{blockDiagram-GPEHLZMM-C7dU2lW1.js → blockDiagram-GPEHLZMM-CJYBoeWQ.js} +1 -1
  61. package/dist/client/assets/{c4Diagram-AAUBKEIU-CG_BBm_5.js → c4Diagram-AAUBKEIU-DaaqWE6s.js} +1 -1
  62. package/dist/client/assets/channel-Cei_E79M.js +1 -0
  63. package/dist/client/assets/{chunk-2J33WTMH-BnS95YpK.js → chunk-2J33WTMH-P_I0OPMy.js} +1 -1
  64. package/dist/client/assets/{chunk-4BX2VUAB-COr8w3X3.js → chunk-4BX2VUAB-CCySMlh5.js} +1 -1
  65. package/dist/client/assets/{chunk-55IACEB6-CxrIbZhB.js → chunk-55IACEB6-CEUyqKGF.js} +1 -1
  66. package/dist/client/assets/{chunk-727SXJPM-DRchPPRe.js → chunk-727SXJPM-CoTSYOVz.js} +1 -1
  67. package/dist/client/assets/{chunk-AQP2D5EJ-_SfN7mED.js → chunk-AQP2D5EJ-DB0nMxPr.js} +1 -1
  68. package/dist/client/assets/{chunk-FMBD7UC4-p2tIiP1D.js → chunk-FMBD7UC4-PG3m6-_a.js} +1 -1
  69. package/dist/client/assets/{chunk-ND2GUHAM-B1mbl2hP.js → chunk-ND2GUHAM-CBNk6IaV.js} +1 -1
  70. package/dist/client/assets/{chunk-QZHKN3VN-DBUpeqvS.js → chunk-QZHKN3VN-CLFa0WvN.js} +1 -1
  71. package/dist/client/assets/classDiagram-4FO5ZUOK-DUe_fAto.js +1 -0
  72. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DUe_fAto.js +1 -0
  73. package/dist/client/assets/{cose-bilkent-S5V4N54A-BBsY5aKD.js → cose-bilkent-S5V4N54A-BDwDDxHN.js} +1 -1
  74. package/dist/client/assets/{dagre-BM42HDAG-b-vu4RC9.js → dagre-BM42HDAG-DR-1e8N5.js} +1 -1
  75. package/dist/client/assets/{diagram-2AECGRRQ-j-DW9qSf.js → diagram-2AECGRRQ-C-tHgBWt.js} +1 -1
  76. package/dist/client/assets/{diagram-5GNKFQAL-DHX_WYWQ.js → diagram-5GNKFQAL-uLmoKaJL.js} +1 -1
  77. package/dist/client/assets/{diagram-KO2AKTUF-DxdQok_M.js → diagram-KO2AKTUF-8Fd-xuOy.js} +1 -1
  78. package/dist/client/assets/{diagram-LMA3HP47-BbTIX5c1.js → diagram-LMA3HP47-C1gniWsn.js} +1 -1
  79. package/dist/client/assets/{diagram-OG6HWLK6-BQ9ODAlH.js → diagram-OG6HWLK6-BMWjZbeC.js} +1 -1
  80. package/dist/client/assets/{erDiagram-TEJ5UH35-6lwAL1y9.js → erDiagram-TEJ5UH35-CIUO8hrR.js} +1 -1
  81. package/dist/client/assets/{flowDiagram-I6XJVG4X-ioSHb5-t.js → flowDiagram-I6XJVG4X-Ccw5YEf3.js} +1 -1
  82. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CXFQp9Nj.js → ganttDiagram-6RSMTGT7-BAvlf8cY.js} +1 -1
  83. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-C1pVD_NQ.js → gitGraphDiagram-PVQCEYII-ChCkdYar.js} +1 -1
  84. package/dist/client/assets/{index-JaAxQJXh.js → index-BotCWOKC.js} +1 -1
  85. package/dist/client/assets/index-CtdzGyqj.js +805 -0
  86. package/dist/client/assets/{index-hz5T_W2e.js → index-DtpKHGD1.js} +1 -1
  87. package/dist/client/assets/{infoDiagram-5YYISTIA-C2Guev-g.js → infoDiagram-5YYISTIA-CZMGwNyB.js} +1 -1
  88. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-D3v8VBb2.js → ishikawaDiagram-YF4QCWOH-CubjZGk6.js} +1 -1
  89. package/dist/client/assets/{journeyDiagram-JHISSGLW-DX1AW_Ap.js → journeyDiagram-JHISSGLW-DzwOyVzB.js} +1 -1
  90. package/dist/client/assets/{kanban-definition-UN3LZRKU-CzXThvq2.js → kanban-definition-UN3LZRKU-CXznoTY9.js} +1 -1
  91. package/dist/client/assets/{linear-CVw4gl5i.js → linear-EDwTFRrU.js} +1 -1
  92. package/dist/client/assets/{mermaid.core-C29eoXRj.js → mermaid.core-Lae2097R.js} +4 -4
  93. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DEEGVQVA.js → mindmap-definition-RKZ34NQL-DFjIW41g.js} +1 -1
  94. package/dist/client/assets/{pieDiagram-4H26LBE5-Dme-VM6m.js → pieDiagram-4H26LBE5-CZDLR1jd.js} +1 -1
  95. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CURFNo24.js → quadrantDiagram-W4KKPZXB-CTGDzbqp.js} +1 -1
  96. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DxMZWXME.js → requirementDiagram-4Y6WPE33-CeH0NbMv.js} +1 -1
  97. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BW64D4_P.js → sankeyDiagram-5OEKKPKP-B6ZTjurV.js} +1 -1
  98. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BATRPm8Q.js → sequenceDiagram-3UESZ5HK-DcTRztVx.js} +1 -1
  99. package/dist/client/assets/{stateDiagram-AJRCARHV-pgHVMnO3.js → stateDiagram-AJRCARHV-nUgRVZSA.js} +1 -1
  100. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-D9pJuQbI.js +1 -0
  101. package/dist/client/assets/{timeline-definition-PNZ67QCA-qBxJZPWd.js → timeline-definition-PNZ67QCA-CXm5n4rV.js} +1 -1
  102. package/dist/client/assets/{vennDiagram-CIIHVFJN-BZJK9hqJ.js → vennDiagram-CIIHVFJN-EmNJBYNd.js} +1 -1
  103. package/dist/client/assets/{wardley-L42UT6IY-BobtgEXg.js → wardley-L42UT6IY-MLrlp8H-.js} +1 -1
  104. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DuWfX_-P.js → wardleyDiagram-YWT4CUSO-5QoES25n.js} +1 -1
  105. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DCw1iURo.js → xychartDiagram-2RQKCTM6-CbDEQbY0.js} +1 -1
  106. package/dist/client/index.html +1 -1
  107. package/dist/core/agent/run-agent.d.ts +61 -0
  108. package/dist/core/agent/run-agent.js +212 -0
  109. package/dist/core/agent/run-agent.js.map +1 -0
  110. package/dist/core/ask/run-ask.d.ts +1 -1
  111. package/dist/core/ask/run-ask.js +14 -5
  112. package/dist/core/ask/run-ask.js.map +1 -1
  113. package/dist/core/workspace/resolve.d.ts +2 -0
  114. package/dist/core/workspace/resolve.js +2 -1
  115. package/dist/core/workspace/resolve.js.map +1 -1
  116. package/dist/plugin-types/ambient.d.ts +30 -0
  117. package/dist/plugin-types/plugin-runtime.d.ts +172 -0
  118. package/dist/plugin-types/ui.d.ts +154 -0
  119. package/dist/server/config.d.ts +12 -0
  120. package/dist/server/config.js +26 -0
  121. package/dist/server/config.js.map +1 -1
  122. package/dist/server/core/plugin-host/__fixtures__/plugins.d.ts +14 -0
  123. package/dist/server/core/plugin-host/__fixtures__/plugins.js +56 -0
  124. package/dist/server/core/plugin-host/__fixtures__/plugins.js.map +1 -0
  125. package/dist/server/core/plugin-host/base-packages.d.ts +14 -0
  126. package/dist/server/core/plugin-host/base-packages.js +26 -0
  127. package/dist/server/core/plugin-host/base-packages.js.map +1 -0
  128. package/dist/server/core/plugin-host/cache-bust.d.ts +10 -0
  129. package/dist/server/core/plugin-host/cache-bust.js +21 -0
  130. package/dist/server/core/plugin-host/cache-bust.js.map +1 -0
  131. package/dist/server/core/plugin-host/cli-engine.d.ts +7 -2
  132. package/dist/server/core/plugin-host/cli-engine.js +11 -3
  133. package/dist/server/core/plugin-host/cli-engine.js.map +1 -1
  134. package/dist/server/core/plugin-host/cli-plugins.d.ts +23 -0
  135. package/dist/server/core/plugin-host/cli-plugins.js +49 -0
  136. package/dist/server/core/plugin-host/cli-plugins.js.map +1 -0
  137. package/dist/server/core/plugin-host/cross-cutting.d.ts +41 -4
  138. package/dist/server/core/plugin-host/cross-cutting.js +52 -4
  139. package/dist/server/core/plugin-host/cross-cutting.js.map +1 -1
  140. package/dist/server/core/plugin-host/frontend-assets.d.ts +100 -0
  141. package/dist/server/core/plugin-host/frontend-assets.js +262 -0
  142. package/dist/server/core/plugin-host/frontend-assets.js.map +1 -0
  143. package/dist/server/core/plugin-host/frontend-manifest.d.ts +33 -0
  144. package/dist/server/core/plugin-host/frontend-manifest.js +52 -0
  145. package/dist/server/core/plugin-host/frontend-manifest.js.map +1 -0
  146. package/dist/server/core/plugin-host/loader.d.ts +107 -0
  147. package/dist/server/core/plugin-host/loader.js +196 -0
  148. package/dist/server/core/plugin-host/loader.js.map +1 -0
  149. package/dist/server/core/plugin-host/manifest-adapter.d.ts +30 -0
  150. package/dist/server/core/plugin-host/manifest-adapter.js +119 -0
  151. package/dist/server/core/plugin-host/manifest-adapter.js.map +1 -0
  152. package/dist/server/core/plugin-host/overlay-loader.d.ts +60 -0
  153. package/dist/server/core/plugin-host/overlay-loader.js +243 -0
  154. package/dist/server/core/plugin-host/overlay-loader.js.map +1 -0
  155. package/dist/server/core/plugin-host/plugin-watcher.d.ts +41 -0
  156. package/dist/server/core/plugin-host/plugin-watcher.js +95 -0
  157. package/dist/server/core/plugin-host/plugin-watcher.js.map +1 -0
  158. package/dist/server/core/plugin-host/project-host.d.ts +8 -2
  159. package/dist/server/core/plugin-host/project-host.js +56 -6
  160. package/dist/server/core/plugin-host/project-host.js.map +1 -1
  161. package/dist/server/core/plugin-host/registry.d.ts +26 -2
  162. package/dist/server/core/plugin-host/registry.js +107 -2
  163. package/dist/server/core/plugin-host/registry.js.map +1 -1
  164. package/dist/server/core/plugin-host/runtime-shims.d.ts +26 -0
  165. package/dist/server/core/plugin-host/runtime-shims.js +96 -0
  166. package/dist/server/core/plugin-host/runtime-shims.js.map +1 -0
  167. package/dist/server/core/plugin-host/types.d.ts +105 -3
  168. package/dist/server/db/migrations/042_chat_thread_drop_context_type_check.sql +61 -0
  169. package/dist/server/external-skills/brief-implementer-template.d.ts +1 -1
  170. package/dist/server/external-skills/brief-implementer-template.js +5 -2
  171. package/dist/server/external-skills/brief-implementer-template.js.map +1 -1
  172. package/dist/server/external-skills/spec-reader-template.d.ts +1 -1
  173. package/dist/server/external-skills/spec-reader-template.js +14 -0
  174. package/dist/server/external-skills/spec-reader-template.js.map +1 -1
  175. package/dist/server/index.js +82 -1
  176. package/dist/server/index.js.map +1 -1
  177. package/dist/server/mcp/c4s-tools.d.ts +6 -1
  178. package/dist/server/mcp/c4s-tools.js +18 -13
  179. package/dist/server/mcp/c4s-tools.js.map +1 -1
  180. package/dist/server/plugin-runtime/index.d.ts +17 -0
  181. package/dist/server/plugin-runtime/index.js +16 -0
  182. package/dist/server/plugin-runtime/index.js.map +1 -0
  183. package/dist/server/plugin-runtime/ui.d.ts +15 -0
  184. package/dist/server/plugin-runtime/ui.js +15 -0
  185. package/dist/server/plugin-runtime/ui.js.map +1 -0
  186. package/dist/server/routes/agent-turn.d.ts +8 -1
  187. package/dist/server/routes/agent-turn.js +67 -39
  188. package/dist/server/routes/agent-turn.js.map +1 -1
  189. package/dist/server/routes/config.d.ts +8 -0
  190. package/dist/server/routes/config.js +41 -3
  191. package/dist/server/routes/config.js.map +1 -1
  192. package/dist/server/routes/plugins.d.ts +43 -0
  193. package/dist/server/routes/plugins.js +93 -0
  194. package/dist/server/routes/plugins.js.map +1 -0
  195. package/dist/server/routes/threads.js +21 -3
  196. package/dist/server/routes/threads.js.map +1 -1
  197. package/dist/server/serialization/registerAll.d.ts +4 -0
  198. package/dist/server/serialization/registerAll.js +4 -2
  199. package/dist/server/serialization/registerAll.js.map +1 -1
  200. package/dist/server/services/chat-context.d.ts +34 -0
  201. package/dist/server/services/chat-context.js +58 -15
  202. package/dist/server/services/chat-context.js.map +1 -1
  203. package/dist/server/services/chat.d.ts +6 -0
  204. package/dist/server/services/chat.js +18 -2
  205. package/dist/server/services/chat.js.map +1 -1
  206. package/dist/server/services/entity-writer.d.ts +2 -3
  207. package/dist/server/services/entity-writer.js.map +1 -1
  208. package/dist/server/services/skill-registry.d.ts +31 -2
  209. package/dist/server/services/skill-registry.js +73 -1
  210. package/dist/server/services/skill-registry.js.map +1 -1
  211. package/dist/server/workspace/context-cache.d.ts +9 -0
  212. package/dist/server/workspace/context-cache.js +14 -0
  213. package/dist/server/workspace/context-cache.js.map +1 -1
  214. package/dist/server/workspace/project-context.d.ts +3 -0
  215. package/dist/server/workspace/project-context.js +106 -4
  216. package/dist/server/workspace/project-context.js.map +1 -1
  217. package/dist/server/workspace/registry.d.ts +28 -1
  218. package/dist/server/workspace/registry.js +57 -1
  219. package/dist/server/workspace/registry.js.map +1 -1
  220. package/dist/server/workspace/types.d.ts +15 -0
  221. package/dist/shared/entities.d.ts +4 -1
  222. package/dist/shared/entities.js.map +1 -1
  223. package/dist/shared/plugin-host/frontend-manifest.d.ts +56 -0
  224. package/dist/shared/plugin-host/frontend-manifest.js +89 -0
  225. package/dist/shared/plugin-host/frontend-manifest.js.map +1 -0
  226. package/dist/shared/plugin-host/host-api.d.ts +60 -0
  227. package/dist/shared/plugin-host/host-api.js +67 -0
  228. package/dist/shared/plugin-host/host-api.js.map +1 -0
  229. package/dist/shared/plugin-host/manifest.d.ts +194 -0
  230. package/dist/shared/plugin-host/manifest.js +52 -0
  231. package/dist/shared/plugin-host/manifest.js.map +1 -0
  232. package/dist/shared/plugin-host/ui-kit-surface.d.ts +22 -0
  233. package/dist/shared/plugin-host/ui-kit-surface.js +25 -0
  234. package/dist/shared/plugin-host/ui-kit-surface.js.map +1 -0
  235. package/dist/shared/types.d.ts +5 -0
  236. package/package.json +18 -3
  237. package/dist/client/assets/channel-D5gzBvo7.js +0 -1
  238. package/dist/client/assets/classDiagram-4FO5ZUOK-CT-amIxa.js +0 -1
  239. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CT-amIxa.js +0 -1
  240. package/dist/client/assets/index-DyAnw7YN.js +0 -798
  241. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-szm_LIuD.js +0 -1
@@ -1,6 +1,21 @@
1
1
  import type { ProjectRecord, WorkspaceRecord } from './types.js';
2
- export declare const WORKSPACES_SCHEMA_VERSION = 1;
2
+ export declare const WORKSPACES_SCHEMA_VERSION = 2;
3
3
  export declare const DEFAULT_WORKSPACE_PORT = 4500;
4
+ /**
5
+ * M33: plugin packages built into claude4spec core deps — always present in
6
+ * every workspace regardless of the persisted `plugins[]`, trusted by virtue of
7
+ * installation (outside the workspace `trustProjectPlugins` gate) and loaded
8
+ * FIRST, before any workspace-declared plugin. `database-table` is the first
9
+ * preinstalled plugin: it stopped being an in-host built-in (6 core types remain
10
+ * in `registerAllPlugins`) and is now contributed by this package via the M33
11
+ * loader fan-out — default-active, so tables work identically out of the box.
12
+ */
13
+ export declare const PREDEFINED_PLUGINS: readonly string[];
14
+ /**
15
+ * Effective workspace plugin package set = predefined ∪ user-added, deduped,
16
+ * predefined first. This is what the M33 loader dynamic-imports at bootstrap.
17
+ */
18
+ export declare function resolvePluginPackages(ws: Pick<WorkspaceRecord, 'plugins'>): string[];
4
19
  /**
5
20
  * Global registry root. `C4S_HOME` override exists for dev/E2E so a test run
6
21
  * never touches the real `~/.claude4spec/`.
@@ -41,6 +56,18 @@ export declare class WorkspaceRegistry {
41
56
  registerProject(ws: WorkspaceRecord, cwd: string): ProjectRecord;
42
57
  removeProject(ws: WorkspaceRecord, id: string): boolean;
43
58
  touchLastOpened(wsName: string, projectId?: string): void;
59
+ /**
60
+ * M33 phase 2: read the machine-local plugin-trust decision for one project.
61
+ * `undefined` = undecided (the loader shows a trust prompt on first open).
62
+ */
63
+ getProjectTrust(ws: WorkspaceRecord, id: string): boolean | undefined;
64
+ /**
65
+ * M33 phase 2: persist the plugin-trust decision per `(workspace × project)`.
66
+ * Lives in `~/.claude4spec/workspaces.json`, NEVER in the repo. The caller is
67
+ * expected to trigger a `ProjectContext` rebuild so the overlay (un)loads
68
+ * without a process restart.
69
+ */
70
+ setProjectTrust(ws: WorkspaceRecord, id: string, value: boolean): void;
44
71
  /**
45
72
  * Carry of config-v3 harvested values — first-wins: only fills the workspace
46
73
  * when registry creation predated knowing them. A dropped port logs a warn.
@@ -2,10 +2,42 @@ import fs from 'node:fs';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
4
  import { projectIdForCwd } from './project-id.js';
5
- export const WORKSPACES_SCHEMA_VERSION = 1;
5
+ // v2 (M33): WorkspaceRecord gains optional `plugins[]`. Legacy v1 records lack
6
+ // the field and read as predefined-only — no rewrite needed on read. NOTE: any
7
+ // mutation by a >=0.1.73 binary rewrites `$schemaVersion` to 2, after which an
8
+ // OLDER binary (max schema 1) refuses to open the file (read() forward-compat
9
+ // guard). Mixed-version use against one `~/.claude4spec/` is a one-way upgrade.
10
+ export const WORKSPACES_SCHEMA_VERSION = 2;
6
11
  export const DEFAULT_WORKSPACE_PORT = 4500;
7
12
  const DEFAULT_WORKSPACE_NAME = 'default';
8
13
  const LOCK_STALE_MS = 5_000;
14
+ /**
15
+ * M33: plugin packages built into claude4spec core deps — always present in
16
+ * every workspace regardless of the persisted `plugins[]`, trusted by virtue of
17
+ * installation (outside the workspace `trustProjectPlugins` gate) and loaded
18
+ * FIRST, before any workspace-declared plugin. `database-table` is the first
19
+ * preinstalled plugin: it stopped being an in-host built-in (6 core types remain
20
+ * in `registerAllPlugins`) and is now contributed by this package via the M33
21
+ * loader fan-out — default-active, so tables work identically out of the box.
22
+ */
23
+ export const PREDEFINED_PLUGINS = [
24
+ '@inharness-ai/c4s-plugin-simple-database-tables',
25
+ ];
26
+ /**
27
+ * Effective workspace plugin package set = predefined ∪ user-added, deduped,
28
+ * predefined first. This is what the M33 loader dynamic-imports at bootstrap.
29
+ */
30
+ export function resolvePluginPackages(ws) {
31
+ const seen = new Set();
32
+ const out = [];
33
+ for (const pkg of [...PREDEFINED_PLUGINS, ...(ws.plugins ?? [])]) {
34
+ if (!seen.has(pkg)) {
35
+ seen.add(pkg);
36
+ out.push(pkg);
37
+ }
38
+ }
39
+ return out;
40
+ }
9
41
  /**
10
42
  * Global registry root. `C4S_HOME` override exists for dev/E2E so a test run
11
43
  * never touches the real `~/.claude4spec/`.
@@ -158,6 +190,30 @@ export class WorkspaceRegistry {
158
190
  return null;
159
191
  });
160
192
  }
193
+ /**
194
+ * M33 phase 2: read the machine-local plugin-trust decision for one project.
195
+ * `undefined` = undecided (the loader shows a trust prompt on first open).
196
+ */
197
+ getProjectTrust(ws, id) {
198
+ return this.getProject(ws, id)?.trustProjectPlugins;
199
+ }
200
+ /**
201
+ * M33 phase 2: persist the plugin-trust decision per `(workspace × project)`.
202
+ * Lives in `~/.claude4spec/workspaces.json`, NEVER in the repo. The caller is
203
+ * expected to trigger a `ProjectContext` rebuild so the overlay (un)loads
204
+ * without a process restart.
205
+ */
206
+ setProjectTrust(ws, id, value) {
207
+ this.withLock((data) => {
208
+ const target = data.workspaces.find((w) => w.name === ws.name);
209
+ if (!target)
210
+ return null;
211
+ const p = target.projects.find((x) => x.id === id);
212
+ if (p)
213
+ p.trustProjectPlugins = value;
214
+ return null;
215
+ });
216
+ }
161
217
  /**
162
218
  * Carry of config-v3 harvested values — first-wins: only fills the workspace
163
219
  * when registry creation predated knowing them. A dropped port logs a warn.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/server/workspace/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/server/workspace/registry.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,14 @@ export interface ProjectRecord {
13
13
  addedAt: string;
14
14
  /** ISO timestamp of the last SPA open / activation. */
15
15
  lastOpened?: string;
16
+ /**
17
+ * M33 phase 2: machine-local trust decision for this project's committed
18
+ * `.claude4spec/plugins/` overlay, per `(workspace × project)`. Deliberately
19
+ * lives ONLY in `~/.claude4spec/`, NEVER in the repo — a cloned repo cannot
20
+ * self-authorize. `undefined` = undecided (prompt on first open); `true` =
21
+ * overlay loads; `false` = overlay refused.
22
+ */
23
+ trustProjectPlugins?: boolean;
16
24
  }
17
25
  export interface WorkspaceRecord {
18
26
  /** Identity. Path-safe (used as a directory segment under ~/.claude4spec/). */
@@ -23,6 +31,13 @@ export interface WorkspaceRecord {
23
31
  /** ISO timestamp of the last server start for this workspace. */
24
32
  lastOpened: string;
25
33
  projects: ProjectRecord[];
34
+ /**
35
+ * M33: npm plugin package names loaded at process bootstrap, workspace-global
36
+ * (orthogonal to per-project `config.entities` activation). User-added entries
37
+ * only — predefined core packages are merged in at resolve time, not persisted.
38
+ * Absent on legacy records (schema < 2) = predefined-only.
39
+ */
40
+ plugins?: string[];
26
41
  }
27
42
  export interface WorkspacesFile {
28
43
  $schemaVersion: number;
@@ -601,8 +601,11 @@ export type ChatRole = 'user' | 'assistant' | 'tool_use' | 'tool_result' | 'user
601
601
  * M23 'patch' = patch resolution thread — applies a patch's findings to the
602
602
  * spec. Full spec-editing toolset; patch_path points to FS file under
603
603
  * patchesDir; the patch content is injected into the system prompt.
604
+ * 0.1.79 'ask' = read-only peer-consult thread. Forced plan-mode every turn
605
+ * (READONLY_BUILTINS); answers without ever mutating its own spec. No
606
+ * brief_path/patch_path; created via POST /api/threads with context_type='ask'.
604
607
  */
605
- export type ChatContextType = 'chat' | 'brief' | 'patch';
608
+ export type ChatContextType = 'chat' | 'brief' | 'patch' | 'ask';
606
609
  export interface ChatThread {
607
610
  id: string;
608
611
  title: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/shared/entities.ts"],"names":[],"mappings":"AAsTA,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAU,CAAC;AAgJvE,qGAAqG;AACrG,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AA6c7C,sEAAsE;AACtE,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM;IACN,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,cAAc;IACd,mBAAmB;CACX,CAAC;AAmGX;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM;IACN,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,YAAY;CACJ,CAAC"}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/shared/entities.ts"],"names":[],"mappings":"AAsTA,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAU,CAAC;AAgJvE,qGAAqG;AACrG,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAgd7C,sEAAsE;AACtE,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM;IACN,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,cAAc;IACd,mBAAmB;CACX,CAAC;AAmGX;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM;IACN,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,YAAY;CACJ,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * M33 — frontend plugin loading contract ("Option B": import map + native ESM).
3
+ *
4
+ * The client fetches {@link FrontendManifestResponse} at boot, injects an
5
+ * import map (so plugin `import "react"` resolves to the host's singleton),
6
+ * injects each plugin's CSS, then `await import(entry)` per active plugin.
7
+ *
8
+ * Shared so the server builder and the client boot loader agree on the shape.
9
+ */
10
+ /** One active plugin's frontend payload. */
11
+ export interface PluginFrontendEntry {
12
+ /** npm package name. */
13
+ name: string;
14
+ /** plugin semver. */
15
+ version: string;
16
+ /** ESM URL of the plugin's frontend entry, served as native ESM. */
17
+ entry: string;
18
+ /** Optional precompiled CSS URL for this plugin. */
19
+ css?: string;
20
+ }
21
+ /** Response of `GET /api/plugins/frontend-manifest`. */
22
+ export interface FrontendManifestResponse {
23
+ /** Host semver the client compares against (major-mismatch omits a plugin). */
24
+ hostApiVersion: string;
25
+ /** Bare specifier → ESM URL. Externalizes shared peers to host bundle URLs. */
26
+ importMap: Record<string, string>;
27
+ /** Active plugins to load. Empty (no plugin packages shipped yet). */
28
+ plugins: PluginFrontendEntry[];
29
+ /** Optional host-level precompiled CSS URLs to inject (order preserved). */
30
+ css?: string[];
31
+ }
32
+ /**
33
+ * Bare specifiers the import map externalizes to host-served shim ESM modules.
34
+ * Each resolves to `/api/plugins/runtime/<peer>.js`, which re-exports the host's
35
+ * live singleton from `window.__c4s_shared`. Keeping the list here lets the
36
+ * server builder and the client publisher stay in lockstep.
37
+ */
38
+ export declare const SHARED_PEER_SPECIFIERS: readonly ["react", "react/jsx-runtime", "react/jsx-dev-runtime", "react-dom", "react-dom/client", "@tiptap/core", "@tanstack/react-query", "@tanstack/react-router", "@c4s/plugin-runtime", "@c4s/plugin-runtime/ui"];
39
+ export type SharedPeerSpecifier = (typeof SHARED_PEER_SPECIFIERS)[number];
40
+ /**
41
+ * The value exports of `@c4s/plugin-runtime` (frontend facade), the one peer the
42
+ * server can't introspect by importing (it's a browser module). The runtime
43
+ * shim generator emits these names; a parity test asserts they match the actual
44
+ * module so this list can't silently drift. Keep in sync with
45
+ * `src/client/runtime/plugin-runtime.ts` value exports.
46
+ */
47
+ export declare const PLUGIN_RUNTIME_EXPORT_NAMES: readonly ["clientPluginHost", "registerFrontendModule", "queryClient", "editorBridge", "registerExtensionReferenceType", "HOST_API_VERSION"];
48
+ /**
49
+ * The VALUE exports of `@c4s/plugin-runtime/ui` (Host UI Kit catalog, M34/L12) —
50
+ * a browser module the server can't introspect, same as the main facade above.
51
+ * The runtime shim emits these names; a parity test asserts they match the
52
+ * actual module so this list can't silently drift. Keep in sync with
53
+ * `src/client/runtime/plugin-runtime-ui.ts` (→ `client/host-ui-kit/index.ts`)
54
+ * value exports. Type-only exports are erased at runtime and excluded here.
55
+ */
56
+ export declare const PLUGIN_RUNTIME_UI_EXPORT_NAMES: readonly ["EntityListHeader", "DetailPanelShell", "FieldRow", "FieldGrid", "EntityListLayout", "Pagination", "EmptyState", "TagFilterBar", "EntityListRow", "ActionButton", "Badge", "LoadingState", "FormField", "InlineEditField", "useHostTokens", "HOST_TOKEN_NAMES", "readHostTokens", "UI_KIT_CATALOG", "STABLE_UI_KIT_COMPONENTS"];
@@ -0,0 +1,89 @@
1
+ /**
2
+ * M33 — frontend plugin loading contract ("Option B": import map + native ESM).
3
+ *
4
+ * The client fetches {@link FrontendManifestResponse} at boot, injects an
5
+ * import map (so plugin `import "react"` resolves to the host's singleton),
6
+ * injects each plugin's CSS, then `await import(entry)` per active plugin.
7
+ *
8
+ * Shared so the server builder and the client boot loader agree on the shape.
9
+ */
10
+ /**
11
+ * Bare specifiers the import map externalizes to host-served shim ESM modules.
12
+ * Each resolves to `/api/plugins/runtime/<peer>.js`, which re-exports the host's
13
+ * live singleton from `window.__c4s_shared`. Keeping the list here lets the
14
+ * server builder and the client publisher stay in lockstep.
15
+ */
16
+ export const SHARED_PEER_SPECIFIERS = [
17
+ 'react',
18
+ // The automatic JSX runtime subpaths a plugin's `dist/frontend.js` emits when
19
+ // compiled with `jsx: 'react-jsx'` (`import { jsx, jsxs } from "react/jsx-runtime"`,
20
+ // dev builds also `jsxDEV` from `react/jsx-dev-runtime`). These are SEPARATE bare
21
+ // subpaths not covered by the `react` entry, so they need their own import-map
22
+ // entries — otherwise the browser can't resolve them and the whole plugin module
23
+ // fails to load. Sharing them keeps the plugin on the host's single React
24
+ // reconciler (L11 invariant) instead of bundling a second copy.
25
+ 'react/jsx-runtime',
26
+ 'react/jsx-dev-runtime',
27
+ 'react-dom',
28
+ 'react-dom/client',
29
+ '@tiptap/core',
30
+ '@tanstack/react-query',
31
+ // M33 phase 3: the router is a SHARED library peer (one instance via the import
32
+ // map) so a plugin's `createRoute({ getParentRoute })` and the host's single
33
+ // TanStack Router operate on the SAME route-tree types — NOT a live singleton
34
+ // re-exported through `@c4s/plugin-runtime`.
35
+ '@tanstack/react-router',
36
+ '@c4s/plugin-runtime',
37
+ '@c4s/plugin-runtime/ui',
38
+ ];
39
+ /**
40
+ * The value exports of `@c4s/plugin-runtime` (frontend facade), the one peer the
41
+ * server can't introspect by importing (it's a browser module). The runtime
42
+ * shim generator emits these names; a parity test asserts they match the actual
43
+ * module so this list can't silently drift. Keep in sync with
44
+ * `src/client/runtime/plugin-runtime.ts` value exports.
45
+ */
46
+ export const PLUGIN_RUNTIME_EXPORT_NAMES = [
47
+ 'clientPluginHost',
48
+ 'registerFrontendModule',
49
+ 'queryClient',
50
+ 'editorBridge',
51
+ 'registerExtensionReferenceType',
52
+ 'HOST_API_VERSION',
53
+ ];
54
+ /**
55
+ * The VALUE exports of `@c4s/plugin-runtime/ui` (Host UI Kit catalog, M34/L12) —
56
+ * a browser module the server can't introspect, same as the main facade above.
57
+ * The runtime shim emits these names; a parity test asserts they match the
58
+ * actual module so this list can't silently drift. Keep in sync with
59
+ * `src/client/runtime/plugin-runtime-ui.ts` (→ `client/host-ui-kit/index.ts`)
60
+ * value exports. Type-only exports are erased at runtime and excluded here.
61
+ */
62
+ export const PLUGIN_RUNTIME_UI_EXPORT_NAMES = [
63
+ // Core (stable)
64
+ 'EntityListHeader',
65
+ 'DetailPanelShell',
66
+ 'FieldRow',
67
+ 'FieldGrid',
68
+ // List (experimental)
69
+ 'EntityListLayout',
70
+ 'Pagination',
71
+ 'EmptyState',
72
+ 'TagFilterBar',
73
+ 'EntityListRow',
74
+ // Actions & states (experimental)
75
+ 'ActionButton',
76
+ 'Badge',
77
+ 'LoadingState',
78
+ // Form (experimental)
79
+ 'FormField',
80
+ 'InlineEditField',
81
+ // Token bridge
82
+ 'useHostTokens',
83
+ 'HOST_TOKEN_NAMES',
84
+ 'readHostTokens',
85
+ // Stability metadata
86
+ 'UI_KIT_CATALOG',
87
+ 'STABLE_UI_KIT_COMPONENTS',
88
+ ];
89
+ //# sourceMappingURL=frontend-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend-manifest.js","sourceRoot":"","sources":["../../../src/shared/plugin-host/frontend-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO;IACP,8EAA8E;IAC9E,qFAAqF;IACrF,kFAAkF;IAClF,+EAA+E;IAC/E,iFAAiF;IACjF,0EAA0E;IAC1E,gEAAgE;IAChE,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,uBAAuB;IACvB,gFAAgF;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,6CAA6C;IAC7C,wBAAwB;IACxB,qBAAqB;IACrB,wBAAwB;CAChB,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,kBAAkB;IAClB,wBAAwB;IACxB,aAAa;IACb,cAAc;IACd,gCAAgC;IAChC,kBAAkB;CACV,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,UAAU;IACV,WAAW;IACX,sBAAsB;IACtB,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,eAAe;IACf,kCAAkC;IAClC,cAAc;IACd,OAAO;IACP,cAAc;IACd,sBAAsB;IACtB,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,0BAA0B;CAClB,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * M33 — Host API versioning surface: the per-major changelog and the
3
+ * migration descriptors a plugin author needs when their package was built
4
+ * against an incompatible major.
5
+ *
6
+ * Versioning rule (mirrored in the manifest doc): additive same-major slots =
7
+ * minor bump; a breaking slot-shape change = major bump WITH a descriptor here
8
+ * and a deprecation window (a slot deprecated in major N may be removed only in
9
+ * N+1). `incompatible` (major mismatch) is distinct from `skipped` (an `engines`
10
+ * miss — an environment problem with no migration path).
11
+ *
12
+ * The surface now also covers the `stable` Host UI Kit components (M34/L12); a
13
+ * breaking prop-shape change there is a major bump with a `ui-prop-reshape`
14
+ * descriptor (see {@link VERSIONED_UI_KIT_COMPONENTS}).
15
+ */
16
+ /**
17
+ * The component prop contracts counted into the versioned `hostApiVersion`
18
+ * surface from the Host UI Kit (M34/L12): the `stable` (Core) tier ONLY. A
19
+ * breaking prop-shape change to one of these is a major bump carrying a
20
+ * `ui-prop-reshape` descriptor below (AC3). `experimental` kit components are
21
+ * exposed by `@c4s/plugin-runtime/ui` but excluded here — their props may change
22
+ * without a major and they are NOT gated at plugin load (AC4). Promoting an
23
+ * `experimental` component to `stable` adds it to {@link UI_KIT_STABLE_COMPONENTS}
24
+ * and thereby to this surface (AC5).
25
+ */
26
+ export declare const VERSIONED_UI_KIT_COMPONENTS: readonly ["EntityListHeader", "DetailPanelShell", "FieldRow", "FieldGrid"];
27
+ /** One versioned change to the Host API contract between two adjacent majors. */
28
+ export interface HostApiMigration {
29
+ fromMajor: number;
30
+ toMajor: number;
31
+ /** The affected slot / surface, e.g. "onUnregister" or a `stable` kit component. */
32
+ slot: string;
33
+ /**
34
+ * `ui-prop-reshape` — a breaking prop-shape change to a `stable` Host UI Kit
35
+ * component (M34/L12). The others cover the manifest/contributes/editor
36
+ * surfaces.
37
+ */
38
+ kind: 'slot-required' | 'field-rename' | 'contributes-reshape' | 'ui-prop-reshape';
39
+ /** Human-readable migration instruction. */
40
+ summary: string;
41
+ }
42
+ /** Migration path attached to an `incompatible` package record. */
43
+ export interface PluginMigrationInfo {
44
+ /** The Host API version to target after migrating. */
45
+ targetHostApiVersion: string;
46
+ /** Versioned descriptors of the shape changes between the plugin's major and the host's. */
47
+ migrations: HostApiMigration[];
48
+ /** Whether a compat-shim exists for the deprecated slot(s). */
49
+ shimAvailable: boolean;
50
+ }
51
+ /** First numeric component of a semver RANGE (e.g. "^1.4.0" → 1, ">=2.5.0" → 2). */
52
+ export declare function rangeMajor(range: string): number | null;
53
+ /** Changelog entries spanning the majors between (inclusive of the boundary crossings). */
54
+ export declare function migrationsBetween(fromMajor: number, toMajor: number): HostApiMigration[];
55
+ /**
56
+ * Build the migration info for a plugin whose `hostApiVersion` RANGE targets a
57
+ * different major than the running host. Returns `null` when the majors match
58
+ * (no migration needed) or the range major is unparseable.
59
+ */
60
+ export declare function buildMigrationInfo(pluginRange: string): PluginMigrationInfo | null;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * M33 — Host API versioning surface: the per-major changelog and the
3
+ * migration descriptors a plugin author needs when their package was built
4
+ * against an incompatible major.
5
+ *
6
+ * Versioning rule (mirrored in the manifest doc): additive same-major slots =
7
+ * minor bump; a breaking slot-shape change = major bump WITH a descriptor here
8
+ * and a deprecation window (a slot deprecated in major N may be removed only in
9
+ * N+1). `incompatible` (major mismatch) is distinct from `skipped` (an `engines`
10
+ * miss — an environment problem with no migration path).
11
+ *
12
+ * The surface now also covers the `stable` Host UI Kit components (M34/L12); a
13
+ * breaking prop-shape change there is a major bump with a `ui-prop-reshape`
14
+ * descriptor (see {@link VERSIONED_UI_KIT_COMPONENTS}).
15
+ */
16
+ import { HOST_API_VERSION, parseMajor } from './manifest.js';
17
+ import { UI_KIT_STABLE_COMPONENTS } from './ui-kit-surface.js';
18
+ /**
19
+ * The component prop contracts counted into the versioned `hostApiVersion`
20
+ * surface from the Host UI Kit (M34/L12): the `stable` (Core) tier ONLY. A
21
+ * breaking prop-shape change to one of these is a major bump carrying a
22
+ * `ui-prop-reshape` descriptor below (AC3). `experimental` kit components are
23
+ * exposed by `@c4s/plugin-runtime/ui` but excluded here — their props may change
24
+ * without a major and they are NOT gated at plugin load (AC4). Promoting an
25
+ * `experimental` component to `stable` adds it to {@link UI_KIT_STABLE_COMPONENTS}
26
+ * and thereby to this surface (AC5).
27
+ */
28
+ export const VERSIONED_UI_KIT_COMPONENTS = UI_KIT_STABLE_COMPONENTS;
29
+ /**
30
+ * The Host API changelog, one entry per breaking change at a major boundary.
31
+ * Empty at the `1.0.0` baseline — no major has been crossed yet. The first
32
+ * breaking slot-shape change will add an entry here (and bump the major).
33
+ */
34
+ const HOST_API_CHANGELOG = [];
35
+ /** First numeric component of a semver RANGE (e.g. "^1.4.0" → 1, ">=2.5.0" → 2). */
36
+ export function rangeMajor(range) {
37
+ const m = /(\d+)/.exec(range);
38
+ if (!m)
39
+ return null;
40
+ const n = Number(m[1]);
41
+ return Number.isFinite(n) ? n : null;
42
+ }
43
+ /** Changelog entries spanning the majors between (inclusive of the boundary crossings). */
44
+ export function migrationsBetween(fromMajor, toMajor) {
45
+ const [lo, hi] = fromMajor <= toMajor ? [fromMajor, toMajor] : [toMajor, fromMajor];
46
+ return HOST_API_CHANGELOG.filter((m) => m.fromMajor >= lo && m.toMajor <= hi);
47
+ }
48
+ /**
49
+ * Build the migration info for a plugin whose `hostApiVersion` RANGE targets a
50
+ * different major than the running host. Returns `null` when the majors match
51
+ * (no migration needed) or the range major is unparseable.
52
+ */
53
+ export function buildMigrationInfo(pluginRange) {
54
+ const pluginMajor = rangeMajor(pluginRange);
55
+ const hostMajor = parseMajor(HOST_API_VERSION);
56
+ if (pluginMajor == null || hostMajor == null || pluginMajor === hostMajor)
57
+ return null;
58
+ const migrations = migrationsBetween(pluginMajor, hostMajor);
59
+ return {
60
+ targetHostApiVersion: HOST_API_VERSION,
61
+ migrations,
62
+ // No shim without descriptors, and a slot becoming required can never be
63
+ // shimmed (the author must implement it). Empty changelog ⇒ false.
64
+ shimAvailable: migrations.length > 0 && migrations.every((m) => m.kind !== 'slot-required'),
65
+ };
66
+ }
67
+ //# sourceMappingURL=host-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-api.js","sourceRoot":"","sources":["../../../src/shared/plugin-host/host-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AA4BpE;;;;GAIG;AACH,MAAM,kBAAkB,GAAuB,EAAE,CAAC;AAElD,oFAAoF;AACpF,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,OAAe;IAClE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvF,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7D,OAAO;QACL,oBAAoB,EAAE,gBAAgB;QACtC,UAAU;QACV,yEAAyE;QACzE,mEAAmE;QACnE,aAAa,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC;KAC5F,CAAC;AACJ,CAAC"}