@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.
- package/.claude/skills/c4s-brief-implementer/SKILL.md +120 -53
- package/CHANGELOG.md +13 -0
- package/dist/bin/c4s/commands/agent.d.ts +18 -0
- package/dist/bin/c4s/commands/agent.js +102 -0
- package/dist/bin/c4s/commands/agent.js.map +1 -0
- package/dist/bin/c4s/commands/ask.d.ts +9 -8
- package/dist/bin/c4s/commands/ask.js +23 -31
- package/dist/bin/c4s/commands/ask.js.map +1 -1
- package/dist/bin/c4s/commands/catalog.d.ts +1 -1
- package/dist/bin/c4s/commands/catalog.js +2 -2
- package/dist/bin/c4s/commands/catalog.js.map +1 -1
- package/dist/bin/c4s/commands/describe.d.ts +1 -1
- package/dist/bin/c4s/commands/describe.js +2 -2
- package/dist/bin/c4s/commands/describe.js.map +1 -1
- package/dist/bin/c4s/commands/detail.d.ts +1 -1
- package/dist/bin/c4s/commands/detail.js +2 -2
- package/dist/bin/c4s/commands/detail.js.map +1 -1
- package/dist/bin/c4s/commands/element-list.d.ts +1 -1
- package/dist/bin/c4s/commands/element-list.js +2 -2
- package/dist/bin/c4s/commands/element-list.js.map +1 -1
- package/dist/bin/c4s/commands/find-references.js +1 -1
- package/dist/bin/c4s/commands/find-references.js.map +1 -1
- package/dist/bin/c4s/commands/inline-mention.d.ts +1 -1
- package/dist/bin/c4s/commands/inline-mention.js +2 -2
- package/dist/bin/c4s/commands/inline-mention.js.map +1 -1
- package/dist/bin/c4s/commands/list-slugs.d.ts +1 -1
- package/dist/bin/c4s/commands/list-slugs.js +2 -2
- package/dist/bin/c4s/commands/list-slugs.js.map +1 -1
- package/dist/bin/c4s/commands/list-tags.d.ts +1 -1
- package/dist/bin/c4s/commands/list-tags.js +2 -2
- package/dist/bin/c4s/commands/list-tags.js.map +1 -1
- package/dist/bin/c4s/commands/plugins.d.ts +9 -0
- package/dist/bin/c4s/commands/plugins.js +81 -0
- package/dist/bin/c4s/commands/plugins.js.map +1 -0
- package/dist/bin/c4s/commands/resolve.d.ts +1 -1
- package/dist/bin/c4s/commands/resolve.js +2 -2
- package/dist/bin/c4s/commands/resolve.js.map +1 -1
- package/dist/bin/c4s/commands/single-element.d.ts +1 -1
- package/dist/bin/c4s/commands/single-element.js +2 -2
- package/dist/bin/c4s/commands/single-element.js.map +1 -1
- package/dist/bin/c4s/commands/tagged-list-mixed.d.ts +1 -1
- package/dist/bin/c4s/commands/tagged-list-mixed.js +2 -2
- package/dist/bin/c4s/commands/tagged-list-mixed.js.map +1 -1
- package/dist/bin/c4s/commands/tagged-list.d.ts +1 -1
- package/dist/bin/c4s/commands/tagged-list.js +2 -2
- package/dist/bin/c4s/commands/tagged-list.js.map +1 -1
- package/dist/bin/c4s/context.d.ts +3 -3
- package/dist/bin/c4s/context.js +7 -4
- package/dist/bin/c4s/context.js.map +1 -1
- package/dist/bin/c4s/errors.d.ts +1 -1
- package/dist/bin/c4s/errors.js.map +1 -1
- package/dist/bin/c4s-mcp.js +6 -2
- package/dist/bin/c4s-mcp.js.map +1 -1
- package/dist/bin/c4s.js +19 -4
- package/dist/bin/c4s.js.map +1 -1
- package/dist/bin/gitignore.js +7 -11
- package/dist/bin/gitignore.js.map +1 -1
- package/dist/client/assets/{arc-Coa9fbDO.js → arc-C9oTB3b1.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-VJZcRMEN.js → architectureDiagram-3BPJPVTR-Bno5ViqK.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-C7dU2lW1.js → blockDiagram-GPEHLZMM-CJYBoeWQ.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-CG_BBm_5.js → c4Diagram-AAUBKEIU-DaaqWE6s.js} +1 -1
- package/dist/client/assets/channel-Cei_E79M.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-BnS95YpK.js → chunk-2J33WTMH-P_I0OPMy.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-COr8w3X3.js → chunk-4BX2VUAB-CCySMlh5.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-CxrIbZhB.js → chunk-55IACEB6-CEUyqKGF.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-DRchPPRe.js → chunk-727SXJPM-CoTSYOVz.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-_SfN7mED.js → chunk-AQP2D5EJ-DB0nMxPr.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-p2tIiP1D.js → chunk-FMBD7UC4-PG3m6-_a.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-B1mbl2hP.js → chunk-ND2GUHAM-CBNk6IaV.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-DBUpeqvS.js → chunk-QZHKN3VN-CLFa0WvN.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-DUe_fAto.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DUe_fAto.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-BBsY5aKD.js → cose-bilkent-S5V4N54A-BDwDDxHN.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-b-vu4RC9.js → dagre-BM42HDAG-DR-1e8N5.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-j-DW9qSf.js → diagram-2AECGRRQ-C-tHgBWt.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-DHX_WYWQ.js → diagram-5GNKFQAL-uLmoKaJL.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-DxdQok_M.js → diagram-KO2AKTUF-8Fd-xuOy.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-BbTIX5c1.js → diagram-LMA3HP47-C1gniWsn.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-BQ9ODAlH.js → diagram-OG6HWLK6-BMWjZbeC.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-6lwAL1y9.js → erDiagram-TEJ5UH35-CIUO8hrR.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-ioSHb5-t.js → flowDiagram-I6XJVG4X-Ccw5YEf3.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-CXFQp9Nj.js → ganttDiagram-6RSMTGT7-BAvlf8cY.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-C1pVD_NQ.js → gitGraphDiagram-PVQCEYII-ChCkdYar.js} +1 -1
- package/dist/client/assets/{index-JaAxQJXh.js → index-BotCWOKC.js} +1 -1
- package/dist/client/assets/index-CtdzGyqj.js +805 -0
- package/dist/client/assets/{index-hz5T_W2e.js → index-DtpKHGD1.js} +1 -1
- package/dist/client/assets/{infoDiagram-5YYISTIA-C2Guev-g.js → infoDiagram-5YYISTIA-CZMGwNyB.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-D3v8VBb2.js → ishikawaDiagram-YF4QCWOH-CubjZGk6.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-DX1AW_Ap.js → journeyDiagram-JHISSGLW-DzwOyVzB.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-CzXThvq2.js → kanban-definition-UN3LZRKU-CXznoTY9.js} +1 -1
- package/dist/client/assets/{linear-CVw4gl5i.js → linear-EDwTFRrU.js} +1 -1
- package/dist/client/assets/{mermaid.core-C29eoXRj.js → mermaid.core-Lae2097R.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-DEEGVQVA.js → mindmap-definition-RKZ34NQL-DFjIW41g.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-Dme-VM6m.js → pieDiagram-4H26LBE5-CZDLR1jd.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CURFNo24.js → quadrantDiagram-W4KKPZXB-CTGDzbqp.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-DxMZWXME.js → requirementDiagram-4Y6WPE33-CeH0NbMv.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-BW64D4_P.js → sankeyDiagram-5OEKKPKP-B6ZTjurV.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BATRPm8Q.js → sequenceDiagram-3UESZ5HK-DcTRztVx.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-pgHVMnO3.js → stateDiagram-AJRCARHV-nUgRVZSA.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-D9pJuQbI.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-qBxJZPWd.js → timeline-definition-PNZ67QCA-CXm5n4rV.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-BZJK9hqJ.js → vennDiagram-CIIHVFJN-EmNJBYNd.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-BobtgEXg.js → wardley-L42UT6IY-MLrlp8H-.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DuWfX_-P.js → wardleyDiagram-YWT4CUSO-5QoES25n.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-DCw1iURo.js → xychartDiagram-2RQKCTM6-CbDEQbY0.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/core/agent/run-agent.d.ts +61 -0
- package/dist/core/agent/run-agent.js +212 -0
- package/dist/core/agent/run-agent.js.map +1 -0
- package/dist/core/ask/run-ask.d.ts +1 -1
- package/dist/core/ask/run-ask.js +14 -5
- package/dist/core/ask/run-ask.js.map +1 -1
- package/dist/core/workspace/resolve.d.ts +2 -0
- package/dist/core/workspace/resolve.js +2 -1
- package/dist/core/workspace/resolve.js.map +1 -1
- package/dist/plugin-types/ambient.d.ts +30 -0
- package/dist/plugin-types/plugin-runtime.d.ts +172 -0
- package/dist/plugin-types/ui.d.ts +154 -0
- package/dist/server/config.d.ts +12 -0
- package/dist/server/config.js +26 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/core/plugin-host/__fixtures__/plugins.d.ts +14 -0
- package/dist/server/core/plugin-host/__fixtures__/plugins.js +56 -0
- package/dist/server/core/plugin-host/__fixtures__/plugins.js.map +1 -0
- package/dist/server/core/plugin-host/base-packages.d.ts +14 -0
- package/dist/server/core/plugin-host/base-packages.js +26 -0
- package/dist/server/core/plugin-host/base-packages.js.map +1 -0
- package/dist/server/core/plugin-host/cache-bust.d.ts +10 -0
- package/dist/server/core/plugin-host/cache-bust.js +21 -0
- package/dist/server/core/plugin-host/cache-bust.js.map +1 -0
- package/dist/server/core/plugin-host/cli-engine.d.ts +7 -2
- package/dist/server/core/plugin-host/cli-engine.js +11 -3
- package/dist/server/core/plugin-host/cli-engine.js.map +1 -1
- package/dist/server/core/plugin-host/cli-plugins.d.ts +23 -0
- package/dist/server/core/plugin-host/cli-plugins.js +49 -0
- package/dist/server/core/plugin-host/cli-plugins.js.map +1 -0
- package/dist/server/core/plugin-host/cross-cutting.d.ts +41 -4
- package/dist/server/core/plugin-host/cross-cutting.js +52 -4
- package/dist/server/core/plugin-host/cross-cutting.js.map +1 -1
- package/dist/server/core/plugin-host/frontend-assets.d.ts +100 -0
- package/dist/server/core/plugin-host/frontend-assets.js +262 -0
- package/dist/server/core/plugin-host/frontend-assets.js.map +1 -0
- package/dist/server/core/plugin-host/frontend-manifest.d.ts +33 -0
- package/dist/server/core/plugin-host/frontend-manifest.js +52 -0
- package/dist/server/core/plugin-host/frontend-manifest.js.map +1 -0
- package/dist/server/core/plugin-host/loader.d.ts +107 -0
- package/dist/server/core/plugin-host/loader.js +196 -0
- package/dist/server/core/plugin-host/loader.js.map +1 -0
- package/dist/server/core/plugin-host/manifest-adapter.d.ts +30 -0
- package/dist/server/core/plugin-host/manifest-adapter.js +119 -0
- package/dist/server/core/plugin-host/manifest-adapter.js.map +1 -0
- package/dist/server/core/plugin-host/overlay-loader.d.ts +60 -0
- package/dist/server/core/plugin-host/overlay-loader.js +243 -0
- package/dist/server/core/plugin-host/overlay-loader.js.map +1 -0
- package/dist/server/core/plugin-host/plugin-watcher.d.ts +41 -0
- package/dist/server/core/plugin-host/plugin-watcher.js +95 -0
- package/dist/server/core/plugin-host/plugin-watcher.js.map +1 -0
- package/dist/server/core/plugin-host/project-host.d.ts +8 -2
- package/dist/server/core/plugin-host/project-host.js +56 -6
- package/dist/server/core/plugin-host/project-host.js.map +1 -1
- package/dist/server/core/plugin-host/registry.d.ts +26 -2
- package/dist/server/core/plugin-host/registry.js +107 -2
- package/dist/server/core/plugin-host/registry.js.map +1 -1
- package/dist/server/core/plugin-host/runtime-shims.d.ts +26 -0
- package/dist/server/core/plugin-host/runtime-shims.js +96 -0
- package/dist/server/core/plugin-host/runtime-shims.js.map +1 -0
- package/dist/server/core/plugin-host/types.d.ts +105 -3
- package/dist/server/db/migrations/042_chat_thread_drop_context_type_check.sql +61 -0
- package/dist/server/external-skills/brief-implementer-template.d.ts +1 -1
- package/dist/server/external-skills/brief-implementer-template.js +5 -2
- package/dist/server/external-skills/brief-implementer-template.js.map +1 -1
- package/dist/server/external-skills/spec-reader-template.d.ts +1 -1
- package/dist/server/external-skills/spec-reader-template.js +14 -0
- package/dist/server/external-skills/spec-reader-template.js.map +1 -1
- package/dist/server/index.js +82 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp/c4s-tools.d.ts +6 -1
- package/dist/server/mcp/c4s-tools.js +18 -13
- package/dist/server/mcp/c4s-tools.js.map +1 -1
- package/dist/server/plugin-runtime/index.d.ts +17 -0
- package/dist/server/plugin-runtime/index.js +16 -0
- package/dist/server/plugin-runtime/index.js.map +1 -0
- package/dist/server/plugin-runtime/ui.d.ts +15 -0
- package/dist/server/plugin-runtime/ui.js +15 -0
- package/dist/server/plugin-runtime/ui.js.map +1 -0
- package/dist/server/routes/agent-turn.d.ts +8 -1
- package/dist/server/routes/agent-turn.js +67 -39
- package/dist/server/routes/agent-turn.js.map +1 -1
- package/dist/server/routes/config.d.ts +8 -0
- package/dist/server/routes/config.js +41 -3
- package/dist/server/routes/config.js.map +1 -1
- package/dist/server/routes/plugins.d.ts +43 -0
- package/dist/server/routes/plugins.js +93 -0
- package/dist/server/routes/plugins.js.map +1 -0
- package/dist/server/routes/threads.js +21 -3
- package/dist/server/routes/threads.js.map +1 -1
- package/dist/server/serialization/registerAll.d.ts +4 -0
- package/dist/server/serialization/registerAll.js +4 -2
- package/dist/server/serialization/registerAll.js.map +1 -1
- package/dist/server/services/chat-context.d.ts +34 -0
- package/dist/server/services/chat-context.js +58 -15
- package/dist/server/services/chat-context.js.map +1 -1
- package/dist/server/services/chat.d.ts +6 -0
- package/dist/server/services/chat.js +18 -2
- package/dist/server/services/chat.js.map +1 -1
- package/dist/server/services/entity-writer.d.ts +2 -3
- package/dist/server/services/entity-writer.js.map +1 -1
- package/dist/server/services/skill-registry.d.ts +31 -2
- package/dist/server/services/skill-registry.js +73 -1
- package/dist/server/services/skill-registry.js.map +1 -1
- package/dist/server/workspace/context-cache.d.ts +9 -0
- package/dist/server/workspace/context-cache.js +14 -0
- package/dist/server/workspace/context-cache.js.map +1 -1
- package/dist/server/workspace/project-context.d.ts +3 -0
- package/dist/server/workspace/project-context.js +106 -4
- package/dist/server/workspace/project-context.js.map +1 -1
- package/dist/server/workspace/registry.d.ts +28 -1
- package/dist/server/workspace/registry.js +57 -1
- package/dist/server/workspace/registry.js.map +1 -1
- package/dist/server/workspace/types.d.ts +15 -0
- package/dist/shared/entities.d.ts +4 -1
- package/dist/shared/entities.js.map +1 -1
- package/dist/shared/plugin-host/frontend-manifest.d.ts +56 -0
- package/dist/shared/plugin-host/frontend-manifest.js +89 -0
- package/dist/shared/plugin-host/frontend-manifest.js.map +1 -0
- package/dist/shared/plugin-host/host-api.d.ts +60 -0
- package/dist/shared/plugin-host/host-api.js +67 -0
- package/dist/shared/plugin-host/host-api.js.map +1 -0
- package/dist/shared/plugin-host/manifest.d.ts +194 -0
- package/dist/shared/plugin-host/manifest.js +52 -0
- package/dist/shared/plugin-host/manifest.js.map +1 -0
- package/dist/shared/plugin-host/ui-kit-surface.d.ts +22 -0
- package/dist/shared/plugin-host/ui-kit-surface.js +25 -0
- package/dist/shared/plugin-host/ui-kit-surface.js.map +1 -0
- package/dist/shared/types.d.ts +5 -0
- package/package.json +18 -3
- package/dist/client/assets/channel-D5gzBvo7.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-CT-amIxa.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CT-amIxa.js +0 -1
- package/dist/client/assets/index-DyAnw7YN.js +0 -798
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-szm_LIuD.js +0 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@inharness-ai/claude4spec/plugin-runtime/ui` — PUBLISHED Host UI Kit type
|
|
3
|
+
* surface (M34 / L12), the sibling subpath of `./plugin-runtime`.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors the host UI-kit barrel (`src/client/host-ui-kit/index.ts`): the four
|
|
6
|
+
* `stable` Core components whose prop contracts are part of the versioned
|
|
7
|
+
* `hostApiVersion` surface, plus the `experimental` components (reachable, but
|
|
8
|
+
* OUTSIDE the version guarantee — their props may change without a major).
|
|
9
|
+
*
|
|
10
|
+
* Components are declared as `ComponentType<Props>` rather than re-exported from
|
|
11
|
+
* the live client modules: the real components drag `lucide-react` and the whole
|
|
12
|
+
* internal kit tree into emit, which would leak internal types (AC2). Prop
|
|
13
|
+
* shapes are the real contracts; the only deliberate loosening is icon props
|
|
14
|
+
* (`ComponentType<{ size? }>` instead of `LucideIcon`) so plugins need not
|
|
15
|
+
* depend on `lucide-react`. `published-surface.test.ts` asserts the real `stable`
|
|
16
|
+
* prop interfaces stay assignable to these published shapes (drift guard).
|
|
17
|
+
*
|
|
18
|
+
* `Tag` and `Stability` are dep-free and RE-EXPORTED from their canonical host
|
|
19
|
+
* modules (single source of truth).
|
|
20
|
+
*/
|
|
21
|
+
import type { ComponentType, ReactNode, CSSProperties } from 'react';
|
|
22
|
+
export type { Tag } from '../shared/entities.js';
|
|
23
|
+
export type { Stability } from '../shared/plugin-host/ui-kit-surface.js';
|
|
24
|
+
export interface DetailBreadcrumb {
|
|
25
|
+
label: ReactNode;
|
|
26
|
+
onClick?: () => void;
|
|
27
|
+
}
|
|
28
|
+
export interface DetailPanelShellProps {
|
|
29
|
+
breadcrumb: DetailBreadcrumb[];
|
|
30
|
+
actions?: ReactNode;
|
|
31
|
+
children: ReactNode;
|
|
32
|
+
}
|
|
33
|
+
export declare const DetailPanelShell: ComponentType<DetailPanelShellProps>;
|
|
34
|
+
export interface FieldGridProps {
|
|
35
|
+
children: ReactNode;
|
|
36
|
+
maxWidth?: number;
|
|
37
|
+
}
|
|
38
|
+
export declare const FieldGrid: ComponentType<FieldGridProps>;
|
|
39
|
+
export interface FieldRowProps {
|
|
40
|
+
label: ReactNode;
|
|
41
|
+
children: ReactNode;
|
|
42
|
+
align?: 'center' | 'start';
|
|
43
|
+
}
|
|
44
|
+
export declare const FieldRow: ComponentType<FieldRowProps>;
|
|
45
|
+
export interface EntityListHeaderProps {
|
|
46
|
+
/** Lucide-style icon component; loosely typed to avoid a `lucide-react` dep. */
|
|
47
|
+
icon?: ComponentType<{
|
|
48
|
+
size?: number | string;
|
|
49
|
+
}>;
|
|
50
|
+
title: string;
|
|
51
|
+
count?: number;
|
|
52
|
+
search?: string;
|
|
53
|
+
onSearchChange?: (q: string) => void;
|
|
54
|
+
searchPlaceholder?: string;
|
|
55
|
+
filters?: ReactNode;
|
|
56
|
+
actions?: ReactNode;
|
|
57
|
+
}
|
|
58
|
+
export declare const EntityListHeader: ComponentType<EntityListHeaderProps>;
|
|
59
|
+
import type { Tag } from '../shared/entities.js';
|
|
60
|
+
export interface EntityListLayoutProps {
|
|
61
|
+
header?: ReactNode;
|
|
62
|
+
children: ReactNode;
|
|
63
|
+
}
|
|
64
|
+
export declare const EntityListLayout: ComponentType<EntityListLayoutProps>;
|
|
65
|
+
export interface PaginationProps {
|
|
66
|
+
page: number;
|
|
67
|
+
pageCount: number;
|
|
68
|
+
onPageChange: (page: number) => void;
|
|
69
|
+
}
|
|
70
|
+
export declare const Pagination: ComponentType<PaginationProps>;
|
|
71
|
+
export interface EmptyStateProps {
|
|
72
|
+
title: string;
|
|
73
|
+
hint?: ReactNode;
|
|
74
|
+
action?: ReactNode;
|
|
75
|
+
}
|
|
76
|
+
export declare const EmptyState: ComponentType<EmptyStateProps>;
|
|
77
|
+
export interface EntityListRowProps {
|
|
78
|
+
leading: ReactNode;
|
|
79
|
+
onClick: () => void;
|
|
80
|
+
/** Tag slugs to render as chips; resolved through `tagLookup`. */
|
|
81
|
+
tags?: string[];
|
|
82
|
+
tagLookup: Map<string, Tag>;
|
|
83
|
+
trailing?: ReactNode;
|
|
84
|
+
align?: 'center' | 'start';
|
|
85
|
+
style?: CSSProperties;
|
|
86
|
+
children: ReactNode;
|
|
87
|
+
}
|
|
88
|
+
export declare const EntityListRow: ComponentType<EntityListRowProps>;
|
|
89
|
+
export interface TagBarProps {
|
|
90
|
+
tags: Tag[];
|
|
91
|
+
tagFilter: string[];
|
|
92
|
+
onTagToggle: (slug: string) => void;
|
|
93
|
+
tagMode: 'and' | 'or';
|
|
94
|
+
onToggleMode: () => void;
|
|
95
|
+
onClear: () => void;
|
|
96
|
+
}
|
|
97
|
+
export declare const TagFilterBar: ComponentType<TagBarProps>;
|
|
98
|
+
export type ActionButtonVariant = 'primary' | 'secondary' | 'ghost';
|
|
99
|
+
export interface ActionButtonProps {
|
|
100
|
+
label: ReactNode;
|
|
101
|
+
onClick: () => void;
|
|
102
|
+
icon?: ReactNode;
|
|
103
|
+
variant?: ActionButtonVariant;
|
|
104
|
+
disabled?: boolean;
|
|
105
|
+
title?: string;
|
|
106
|
+
}
|
|
107
|
+
export declare const ActionButton: ComponentType<ActionButtonProps>;
|
|
108
|
+
export interface BadgeProps {
|
|
109
|
+
label: ReactNode;
|
|
110
|
+
color?: string;
|
|
111
|
+
active?: boolean;
|
|
112
|
+
small?: boolean;
|
|
113
|
+
onClick?: () => void;
|
|
114
|
+
onRemove?: () => void;
|
|
115
|
+
}
|
|
116
|
+
export declare const Badge: ComponentType<BadgeProps>;
|
|
117
|
+
export interface LoadingStateProps {
|
|
118
|
+
width?: number | string;
|
|
119
|
+
height?: number | string;
|
|
120
|
+
radius?: number | string;
|
|
121
|
+
circle?: boolean;
|
|
122
|
+
lines?: number;
|
|
123
|
+
className?: string;
|
|
124
|
+
style?: CSSProperties;
|
|
125
|
+
}
|
|
126
|
+
export declare const LoadingState: ComponentType<LoadingStateProps>;
|
|
127
|
+
export interface FormFieldProps {
|
|
128
|
+
label: ReactNode;
|
|
129
|
+
error?: string | null;
|
|
130
|
+
children: ReactNode;
|
|
131
|
+
}
|
|
132
|
+
export declare const FormField: ComponentType<FormFieldProps>;
|
|
133
|
+
export interface InlineEditFieldProps {
|
|
134
|
+
value: string;
|
|
135
|
+
onCommit: (next: string) => void;
|
|
136
|
+
placeholder?: string;
|
|
137
|
+
mono?: boolean;
|
|
138
|
+
}
|
|
139
|
+
export declare const InlineEditField: ComponentType<InlineEditFieldProps>;
|
|
140
|
+
export type HostTokenName = '--c-bg' | '--c-panel' | '--c-card' | '--c-ink' | '--c-muted' | '--c-subtle' | '--c-hair' | '--c-hair-strong' | '--c-accent' | '--c-accent-soft' | '--c-accent-ink' | '--c-yellow' | '--c-yellow-ink' | '--c-green' | '--c-green-soft' | '--c-blue' | '--c-blue-soft' | '--c-purple' | '--c-purple-soft' | '--c-red' | '--c-red-soft';
|
|
141
|
+
export declare const HOST_TOKEN_NAMES: readonly HostTokenName[];
|
|
142
|
+
export declare function readHostTokens(): Record<HostTokenName, string>;
|
|
143
|
+
export declare function useHostTokens(): Record<HostTokenName, string>;
|
|
144
|
+
export type WithStability<C> = C & {
|
|
145
|
+
stability: import('../shared/plugin-host/ui-kit-surface.js').Stability;
|
|
146
|
+
};
|
|
147
|
+
export type UiKitGroup = 'core' | 'list' | 'actions' | 'form';
|
|
148
|
+
export interface UiKitComponentEntry {
|
|
149
|
+
name: string;
|
|
150
|
+
group: UiKitGroup;
|
|
151
|
+
stability: import('../shared/plugin-host/ui-kit-surface.js').Stability;
|
|
152
|
+
}
|
|
153
|
+
export declare const UI_KIT_CATALOG: readonly UiKitComponentEntry[];
|
|
154
|
+
export declare const STABLE_UI_KIT_COMPONENTS: readonly string[];
|
package/dist/server/config.d.ts
CHANGED
|
@@ -69,6 +69,18 @@ export interface Config {
|
|
|
69
69
|
* `$schemaVersion` bump. Read per-action (hot-reload).
|
|
70
70
|
*/
|
|
71
71
|
git?: GitSyncConfig;
|
|
72
|
+
/**
|
|
73
|
+
* M33 phase 3: namespace for settings contributed by plugins
|
|
74
|
+
* (`contributes.settings`). Each loaded plugin with settings gets its own
|
|
75
|
+
* sub-object keyed by `manifest.name` (e.g. `"@c4s/plugin-foo"`), isolated
|
|
76
|
+
* from core fields (`entities` / `agent` / `git` / paths). Absent/missing ⇒
|
|
77
|
+
* `{}`. Additive — no `$schemaVersion` bump; projects without
|
|
78
|
+
* settings-bearing plugins keep prior behaviour. PATCH deep-merges per
|
|
79
|
+
* `plugins[<name>]` (precedent: `agent` / `git`), so writing one field
|
|
80
|
+
* preserves the plugin's other fields and other namespaces. Values persist
|
|
81
|
+
* even when the plugin is absent/inactive (user data preserved).
|
|
82
|
+
*/
|
|
83
|
+
plugins?: Record<string, Record<string, unknown>>;
|
|
72
84
|
}
|
|
73
85
|
export interface GitSyncConfig {
|
|
74
86
|
/** When on, creating a release best-effort `git commit`s pagesDir + config.json. */
|
package/dist/server/config.js
CHANGED
|
@@ -213,6 +213,23 @@ function validate(raw) {
|
|
|
213
213
|
}
|
|
214
214
|
out.git = git;
|
|
215
215
|
}
|
|
216
|
+
// M33 phase 3: `plugins` is a namespace of opaque per-plugin sub-objects. We
|
|
217
|
+
// validate only the shape (object-of-objects); the field semantics belong to
|
|
218
|
+
// each plugin's `contributes.settings` descriptor, not core config.
|
|
219
|
+
if ('plugins' in r) {
|
|
220
|
+
const p = r.plugins;
|
|
221
|
+
if (p === null || typeof p !== 'object' || Array.isArray(p)) {
|
|
222
|
+
throw typeError('plugins', 'object', p);
|
|
223
|
+
}
|
|
224
|
+
const plugins = {};
|
|
225
|
+
for (const [name, sub] of Object.entries(p)) {
|
|
226
|
+
if (sub === null || typeof sub !== 'object' || Array.isArray(sub)) {
|
|
227
|
+
throw typeError(`plugins.${name}`, 'object', sub);
|
|
228
|
+
}
|
|
229
|
+
plugins[name] = sub;
|
|
230
|
+
}
|
|
231
|
+
out.plugins = plugins;
|
|
232
|
+
}
|
|
216
233
|
return out;
|
|
217
234
|
}
|
|
218
235
|
function atomicWrite(filePath, data) {
|
|
@@ -346,6 +363,15 @@ export function writeConfig(cwd, partial) {
|
|
|
346
363
|
if (validated.agent) {
|
|
347
364
|
merged.agent = { ...current.agent, ...validated.agent };
|
|
348
365
|
}
|
|
366
|
+
// M33 phase 3: nested deep-merge per `plugins[<name>]` — writing one field of
|
|
367
|
+
// one plugin preserves that plugin's other fields AND other plugins'
|
|
368
|
+
// namespaces (extends the agent/git deep-merge precedent one level deeper).
|
|
369
|
+
if (validated.plugins) {
|
|
370
|
+
merged.plugins = { ...current.plugins };
|
|
371
|
+
for (const [name, fields] of Object.entries(validated.plugins)) {
|
|
372
|
+
merged.plugins[name] = { ...current.plugins?.[name], ...fields };
|
|
373
|
+
}
|
|
374
|
+
}
|
|
349
375
|
atomicWrite(file, JSON.stringify(merged, null, 2) + '\n');
|
|
350
376
|
return merged;
|
|
351
377
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — reusable plugin manifest fixtures for tests and the local smoke
|
|
3
|
+
* test. `plugin-foo` is an entity-less plugin exercising `contributes.settings`
|
|
4
|
+
* + `contributes.commands` + the required `onUnregister`; `plugin-legacy`
|
|
5
|
+
* targets a different major Host API (`^2.0.0`) so it is reported `incompatible`
|
|
6
|
+
* under the current `1.0.0` host (drives the `c4s plugins doctor` / `/_meta/plugins`
|
|
7
|
+
* paths). Kept dep-free so they double as the body of a real ESM overlay
|
|
8
|
+
* package when emitted to `.claude4spec/plugins/<pkg>/`.
|
|
9
|
+
*/
|
|
10
|
+
import type { PluginManifest } from '../../../../shared/plugin-host/manifest.js';
|
|
11
|
+
/** Entity-less plugin with settings + commands. `onUnregister` overridable so a test can spy on teardown. */
|
|
12
|
+
export declare function fooManifest(onUnregister?: () => void): PluginManifest;
|
|
13
|
+
/** Plugin built against a different major Host API (`^2.0.0`) — incompatible under 1.0.0. */
|
|
14
|
+
export declare function legacyManifest(onUnregister?: () => void): PluginManifest;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — reusable plugin manifest fixtures for tests and the local smoke
|
|
3
|
+
* test. `plugin-foo` is an entity-less plugin exercising `contributes.settings`
|
|
4
|
+
* + `contributes.commands` + the required `onUnregister`; `plugin-legacy`
|
|
5
|
+
* targets a different major Host API (`^2.0.0`) so it is reported `incompatible`
|
|
6
|
+
* under the current `1.0.0` host (drives the `c4s plugins doctor` / `/_meta/plugins`
|
|
7
|
+
* paths). Kept dep-free so they double as the body of a real ESM overlay
|
|
8
|
+
* package when emitted to `.claude4spec/plugins/<pkg>/`.
|
|
9
|
+
*/
|
|
10
|
+
/** Entity-less plugin with settings + commands. `onUnregister` overridable so a test can spy on teardown. */
|
|
11
|
+
export function fooManifest(onUnregister = () => { }) {
|
|
12
|
+
return {
|
|
13
|
+
name: '@c4s/plugin-foo',
|
|
14
|
+
version: '0.1.0',
|
|
15
|
+
hostApiVersion: '^1.0.0',
|
|
16
|
+
onUnregister,
|
|
17
|
+
contributes: {
|
|
18
|
+
settings: [
|
|
19
|
+
{
|
|
20
|
+
key: 'enableBadge',
|
|
21
|
+
label: 'Enable badge',
|
|
22
|
+
control: 'toggle',
|
|
23
|
+
kind: 'hot-reload',
|
|
24
|
+
default: true,
|
|
25
|
+
help: 'Show the foo badge in the sidebar.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: 'apiBase',
|
|
29
|
+
label: 'API base URL',
|
|
30
|
+
control: 'text',
|
|
31
|
+
kind: 'executive',
|
|
32
|
+
default: 'https://example.test',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
commands: [
|
|
36
|
+
{
|
|
37
|
+
name: 'foo-insert',
|
|
38
|
+
trigger: 'foo',
|
|
39
|
+
label: 'Insert Foo',
|
|
40
|
+
popoverKind: 'foo',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** Plugin built against a different major Host API (`^2.0.0`) — incompatible under 1.0.0. */
|
|
47
|
+
export function legacyManifest(onUnregister = () => { }) {
|
|
48
|
+
return {
|
|
49
|
+
name: '@c4s/plugin-legacy',
|
|
50
|
+
version: '0.9.0',
|
|
51
|
+
hostApiVersion: '^2.0.0',
|
|
52
|
+
onUnregister,
|
|
53
|
+
contributes: {},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../../src/server/core/plugin-host/__fixtures__/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,6GAA6G;AAC7G,MAAM,UAAU,WAAW,CAAC,eAA2B,GAAG,EAAE,GAAE,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,OAAO;QAChB,cAAc,EAAE,QAAQ;QACxB,YAAY;QACZ,WAAW,EAAE;YACX,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,aAAa;oBAClB,KAAK,EAAE,cAAc;oBACrB,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,oCAAoC;iBAC3C;gBACD;oBACE,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,cAAc;oBACrB,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,sBAAsB;iBAChC;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,KAAK;iBACnB;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,cAAc,CAAC,eAA2B,GAAG,EAAE,GAAE,CAAC;IAChE,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,OAAO;QAChB,cAAc,EAAE,QAAQ;QACxB,YAAY;QACZ,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — base-layer package records, shared by the process-global
|
|
3
|
+
* `/api/_meta/plugins` route AND the server-free `c4s plugins` CLI so the two
|
|
4
|
+
* never diverge. Kept free of express (the CLI must not pull the router in).
|
|
5
|
+
*
|
|
6
|
+
* Produces a synthetic `@c4s/builtin` record for the in-host built-in types,
|
|
7
|
+
* followed by the workspace/npm loader records. `pluginRegistry` here is the
|
|
8
|
+
* BASE registry — never a per-project host — so built-in detection excludes
|
|
9
|
+
* overlay types.
|
|
10
|
+
*/
|
|
11
|
+
import type { PluginRegistry } from './types.js';
|
|
12
|
+
import type { PluginLoadRecord } from './loader.js';
|
|
13
|
+
export declare const SYNTHETIC_BUILTIN_PACKAGE = "@c4s/builtin";
|
|
14
|
+
export declare function buildBasePluginPackages(pluginRegistry: PluginRegistry, pluginRecords: PluginLoadRecord[]): PluginLoadRecord[];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — base-layer package records, shared by the process-global
|
|
3
|
+
* `/api/_meta/plugins` route AND the server-free `c4s plugins` CLI so the two
|
|
4
|
+
* never diverge. Kept free of express (the CLI must not pull the router in).
|
|
5
|
+
*
|
|
6
|
+
* Produces a synthetic `@c4s/builtin` record for the in-host built-in types,
|
|
7
|
+
* followed by the workspace/npm loader records. `pluginRegistry` here is the
|
|
8
|
+
* BASE registry — never a per-project host — so built-in detection excludes
|
|
9
|
+
* overlay types.
|
|
10
|
+
*/
|
|
11
|
+
export const SYNTHETIC_BUILTIN_PACKAGE = '@c4s/builtin';
|
|
12
|
+
export function buildBasePluginPackages(pluginRegistry, pluginRecords) {
|
|
13
|
+
const loadedTypes = new Set(pluginRecords.flatMap((r) => (r.status === 'loaded' ? (r.contributedTypes ?? []) : [])));
|
|
14
|
+
const builtinTypes = pluginRegistry
|
|
15
|
+
.listAvailable()
|
|
16
|
+
.map((m) => m.type)
|
|
17
|
+
.filter((t) => !loadedTypes.has(t));
|
|
18
|
+
const builtinRecord = {
|
|
19
|
+
package: SYNTHETIC_BUILTIN_PACKAGE,
|
|
20
|
+
status: 'loaded',
|
|
21
|
+
layer: 'base',
|
|
22
|
+
contributedTypes: builtinTypes,
|
|
23
|
+
};
|
|
24
|
+
return [builtinRecord, ...pluginRecords.map((r) => ({ ...r, layer: r.layer ?? 'base' }))];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=base-packages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-packages.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/base-packages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAExD,MAAM,UAAU,uBAAuB,CACrC,cAA8B,EAC9B,aAAiC;IAEjC,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACxF,CAAC;IACF,MAAM,YAAY,GAAG,cAAc;SAChC,aAAa,EAAE;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,aAAa,GAAqB;QACtC,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,MAAM;QACb,gBAAgB,EAAE,YAAY;KAC/B,CAAC;IACF,OAAO,CAAC,aAAa,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — shared dynamic-import cache-bust suffix.
|
|
3
|
+
*
|
|
4
|
+
* Node caches ESM modules per-URL, so re-importing the same `file://` href after
|
|
5
|
+
* an edit returns the STALE module. A `?v=<contentHash>` query yields a fresh URL
|
|
6
|
+
* exactly when the bytes change (and the cached one when they don't) — making a
|
|
7
|
+
* post-invalidation rebuild pick up edited plugin code without a restart. Used by
|
|
8
|
+
* both the workspace loader (base) and the project-local overlay loader.
|
|
9
|
+
*/
|
|
10
|
+
export declare function entryCacheBust(entry: string): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — shared dynamic-import cache-bust suffix.
|
|
3
|
+
*
|
|
4
|
+
* Node caches ESM modules per-URL, so re-importing the same `file://` href after
|
|
5
|
+
* an edit returns the STALE module. A `?v=<contentHash>` query yields a fresh URL
|
|
6
|
+
* exactly when the bytes change (and the cached one when they don't) — making a
|
|
7
|
+
* post-invalidation rebuild pick up edited plugin code without a restart. Used by
|
|
8
|
+
* both the workspace loader (base) and the project-local overlay loader.
|
|
9
|
+
*/
|
|
10
|
+
import crypto from 'node:crypto';
|
|
11
|
+
import fs from 'node:fs';
|
|
12
|
+
export function entryCacheBust(entry) {
|
|
13
|
+
try {
|
|
14
|
+
const hash = crypto.createHash('sha1').update(fs.readFileSync(entry)).digest('hex').slice(0, 12);
|
|
15
|
+
return `?v=${hash}`;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=cache-bust.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-bust.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/cache-bust.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { SerializationEngine } from './serialization-engine.js';
|
|
2
2
|
/**
|
|
3
|
-
* M31: per-process L9 engine for the read-only CLI (`c4s`, `c4s-mcp`). The
|
|
3
|
+
* M31/M33: per-process L9 engine for the read-only CLI (`c4s`, `c4s-mcp`). The
|
|
4
4
|
* CLI never applies a project's `entities` whitelist (parity with the
|
|
5
5
|
* pre-split singleton, whose `consolidate` was never invoked in CLI
|
|
6
6
|
* processes — all plugins active).
|
|
7
|
+
*
|
|
8
|
+
* Build the engine after running the shared bootstrap loader, so
|
|
9
|
+
* workspace-declared plugin packages contribute their entity types to L9
|
|
10
|
+
* serialization identically to the server (no separate CLI registration path).
|
|
11
|
+
* `packageNames` empty ⇒ built-ins only.
|
|
7
12
|
*/
|
|
8
|
-
export declare function
|
|
13
|
+
export declare function buildCliSerializationEngineAsync(packageNames: string[]): Promise<SerializationEngine>;
|
|
@@ -2,15 +2,23 @@ import { SerializationEngine } from './serialization-engine.js';
|
|
|
2
2
|
import { PluginRegistryImpl } from './registry.js';
|
|
3
3
|
import { registerAllPlugins } from '../../serialization/registerAll.js';
|
|
4
4
|
import { sectionSerializer } from '../../serialization/serializers/section.js';
|
|
5
|
+
import { loadWorkspacePlugins } from './loader.js';
|
|
5
6
|
/**
|
|
6
|
-
* M31: per-process L9 engine for the read-only CLI (`c4s`, `c4s-mcp`). The
|
|
7
|
+
* M31/M33: per-process L9 engine for the read-only CLI (`c4s`, `c4s-mcp`). The
|
|
7
8
|
* CLI never applies a project's `entities` whitelist (parity with the
|
|
8
9
|
* pre-split singleton, whose `consolidate` was never invoked in CLI
|
|
9
10
|
* processes — all plugins active).
|
|
11
|
+
*
|
|
12
|
+
* Build the engine after running the shared bootstrap loader, so
|
|
13
|
+
* workspace-declared plugin packages contribute their entity types to L9
|
|
14
|
+
* serialization identically to the server (no separate CLI registration path).
|
|
15
|
+
* `packageNames` empty ⇒ built-ins only.
|
|
10
16
|
*/
|
|
11
|
-
export function
|
|
17
|
+
export async function buildCliSerializationEngineAsync(packageNames) {
|
|
12
18
|
const pluginRegistry = new PluginRegistryImpl();
|
|
13
19
|
registerAllPlugins(pluginRegistry);
|
|
14
|
-
|
|
20
|
+
await loadWorkspacePlugins(pluginRegistry, packageNames);
|
|
21
|
+
// CLI applies no whitelist and no project-local overlay (read-only parity).
|
|
22
|
+
return new SerializationEngine(pluginRegistry.consolidate({}), sectionSerializer);
|
|
15
23
|
}
|
|
16
24
|
//# sourceMappingURL=cli-engine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-engine.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/cli-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-engine.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/cli-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,YAAsB;IAEtB,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAChD,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACnC,MAAM,oBAAoB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACzD,4EAA4E;IAC5E,OAAO,IAAI,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — server-free plugin diagnostics for the `c4s plugins` CLI.
|
|
3
|
+
*
|
|
4
|
+
* Runs the SAME bootstrap loader as the server (base packages) + the project's
|
|
5
|
+
* trusted overlay, so `c4s plugins list|status|doctor` report the identical
|
|
6
|
+
* loader state as `GET /api/_meta/plugins` without a running server. Kept free
|
|
7
|
+
* of express so the CLI bundle stays light.
|
|
8
|
+
*/
|
|
9
|
+
import { type PluginLoadRecord } from './loader.js';
|
|
10
|
+
export interface PluginDiagnostics {
|
|
11
|
+
hostApiVersion: string;
|
|
12
|
+
/** Overlay trust state for the resolved project (`undefined` = undecided). */
|
|
13
|
+
trust: boolean | undefined;
|
|
14
|
+
packages: PluginLoadRecord[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Collect base + overlay loader records for the resolved project. Mirrors the
|
|
18
|
+
* server's per-project `/_meta/plugins` assembly (base ∪ trust-gated overlay).
|
|
19
|
+
*/
|
|
20
|
+
export declare function collectPluginDiagnostics(opts: {
|
|
21
|
+
project?: string;
|
|
22
|
+
workspace?: string;
|
|
23
|
+
}): Promise<PluginDiagnostics>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M33 — server-free plugin diagnostics for the `c4s plugins` CLI.
|
|
3
|
+
*
|
|
4
|
+
* Runs the SAME bootstrap loader as the server (base packages) + the project's
|
|
5
|
+
* trusted overlay, so `c4s plugins list|status|doctor` report the identical
|
|
6
|
+
* loader state as `GET /api/_meta/plugins` without a running server. Kept free
|
|
7
|
+
* of express so the CLI bundle stays light.
|
|
8
|
+
*/
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
import { HOST_API_VERSION } from '../../../shared/plugin-host/manifest.js';
|
|
11
|
+
import { PluginRegistryImpl } from './registry.js';
|
|
12
|
+
import { registerAllPlugins } from '../../serialization/registerAll.js';
|
|
13
|
+
import { loadWorkspacePlugins } from './loader.js';
|
|
14
|
+
import { buildBasePluginPackages } from './base-packages.js';
|
|
15
|
+
import { enumerateOverlayPackages, loadProjectOverlay } from './overlay-loader.js';
|
|
16
|
+
import { WorkspaceRegistry } from '../../workspace/registry.js';
|
|
17
|
+
import { resolveWorkspaceProject } from '../../../core/workspace/resolve.js';
|
|
18
|
+
/**
|
|
19
|
+
* Collect base + overlay loader records for the resolved project. Mirrors the
|
|
20
|
+
* server's per-project `/_meta/plugins` assembly (base ∪ trust-gated overlay).
|
|
21
|
+
*/
|
|
22
|
+
export async function collectPluginDiagnostics(opts) {
|
|
23
|
+
const resolved = resolveWorkspaceProject(opts);
|
|
24
|
+
const registry = new PluginRegistryImpl();
|
|
25
|
+
registerAllPlugins(registry);
|
|
26
|
+
const baseLoad = await loadWorkspacePlugins(registry, resolved.pluginPackages);
|
|
27
|
+
const base = buildBasePluginPackages(registry, baseLoad.records);
|
|
28
|
+
const wsRegistry = new WorkspaceRegistry();
|
|
29
|
+
const workspace = wsRegistry.getWorkspace(resolved.workspaceName);
|
|
30
|
+
const trust = workspace ? wsRegistry.getProjectTrust(workspace, resolved.projectId) : undefined;
|
|
31
|
+
const localPackages = enumerateOverlayPackages(resolved.projectDir);
|
|
32
|
+
let overlayRecords = [];
|
|
33
|
+
if (localPackages.length > 0 && trust === true) {
|
|
34
|
+
overlayRecords = (await loadProjectOverlay(resolved.projectDir)).records;
|
|
35
|
+
}
|
|
36
|
+
else if (localPackages.length > 0) {
|
|
37
|
+
overlayRecords = localPackages.map((pkg) => ({
|
|
38
|
+
package: pkg,
|
|
39
|
+
status: 'skipped',
|
|
40
|
+
code: 'PLUGIN_PROJECT_UNTRUSTED',
|
|
41
|
+
reason: 'project plugins not trusted on this machine (trustProjectPlugins)',
|
|
42
|
+
layer: 'overlay',
|
|
43
|
+
trust: 'untrusted',
|
|
44
|
+
origin: path.join('.claude4spec', 'plugins', pkg),
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
return { hostApiVersion: HOST_API_VERSION, trust, packages: [...base, ...overlayRecords] };
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=cli-plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-plugins.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/cli-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAyB,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAS7E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAG9C;IACC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC1C,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhG,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,cAAc,GAAuB,EAAE,CAAC;IAC5C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC/C,cAAc,GAAG,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3E,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3C,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,SAAkB;YAC1B,IAAI,EAAE,0BAAmC;YACzC,MAAM,EAAE,mEAAmE;YAC3E,KAAK,EAAE,SAAkB;YACzB,KAAK,EAAE,WAAoB;YAC3B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,GAAG,CAAC;SAClD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;AAC7F,CAAC"}
|
|
@@ -1,8 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Cross-cutting routes owned by the plugin host (M13)
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Cross-cutting routes owned by the plugin host (M13), mounted on the PER-PROJECT
|
|
3
|
+
* router (so paths resolve under `/api/projects/:id`). Provides overlay-aware
|
|
4
|
+
* diagnostics + the machine-local trust gate:
|
|
5
|
+
*
|
|
6
|
+
* GET /_meta/entities → activation partition (active/inactive/unknown)
|
|
7
|
+
* GET /_meta/plugins → base ∪ overlay package diagnostics + shadow report
|
|
8
|
+
* POST /trust-plugins → persist trustProjectPlugins, trigger context rebuild
|
|
5
9
|
*/
|
|
6
10
|
import { Router } from 'express';
|
|
7
11
|
import type { PluginHost } from './types.js';
|
|
8
|
-
|
|
12
|
+
import type { PluginLoadRecord } from './loader.js';
|
|
13
|
+
import type { WorkspaceRegistry } from '../../workspace/registry.js';
|
|
14
|
+
import type { WorkspaceRecord } from '../../workspace/types.js';
|
|
15
|
+
/** One shadowed type with both layers' origins (cross-layer collision). */
|
|
16
|
+
export interface ShadowedReportEntry {
|
|
17
|
+
type: string;
|
|
18
|
+
overlayOrigin: string;
|
|
19
|
+
baseOrigin: string;
|
|
20
|
+
}
|
|
21
|
+
/** Per-project `/_meta/plugins` payload (extends the process-global shape). */
|
|
22
|
+
export interface ProjectPluginsMetaResponse {
|
|
23
|
+
hostApiVersion: string;
|
|
24
|
+
/** True when `<cwd>/.claude4spec/plugins/` ships at least one package. */
|
|
25
|
+
localPluginsPresent: boolean;
|
|
26
|
+
/** Machine-local trust decision: undefined = undecided (prompt). */
|
|
27
|
+
trust: boolean | undefined;
|
|
28
|
+
packages: PluginLoadRecord[];
|
|
29
|
+
shadowed: ShadowedReportEntry[];
|
|
30
|
+
}
|
|
31
|
+
export interface PluginHostRouterDeps {
|
|
32
|
+
host: PluginHost;
|
|
33
|
+
registry: WorkspaceRegistry;
|
|
34
|
+
workspace: WorkspaceRecord;
|
|
35
|
+
projectId: string;
|
|
36
|
+
/** Base-layer package records (synthetic builtin + workspace/npm). */
|
|
37
|
+
basePackages: PluginLoadRecord[];
|
|
38
|
+
/** Overlay-layer package records for THIS project (loaded or untrusted-skipped). */
|
|
39
|
+
overlayRecords: PluginLoadRecord[];
|
|
40
|
+
localPluginsPresent: boolean;
|
|
41
|
+
trust: boolean | undefined;
|
|
42
|
+
/** M31 cache-invalidation hook — fired after a trust change to rebuild the context. */
|
|
43
|
+
onContextConfigChanged?: () => void;
|
|
44
|
+
}
|
|
45
|
+
export declare function pluginHostRouter(deps: PluginHostRouterDeps): Router;
|