@inharness-ai/claude4spec 1.0.5 → 1.0.7
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 +37 -3
- package/.claude/skills/c4s-spec-reader/SKILL.md +11 -0
- package/CHANGELOG.md +32 -0
- package/dist/bin/c4s/commands/ask.d.ts +6 -4
- package/dist/bin/c4s/commands/ask.js +41 -135
- package/dist/bin/c4s/commands/ask.js.map +1 -1
- package/dist/client/assets/{arc-grMo2vzL.js → arc-BaZhf2Hh.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-Fp_VHONq.js → architectureDiagram-3BPJPVTR-CSSQUdKD.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-CIwVG0sx.js → blockDiagram-GPEHLZMM-BlmKwjoI.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-tysuJyz0.js → c4Diagram-AAUBKEIU-C7helt0Z.js} +1 -1
- package/dist/client/assets/channel-CHGfOh3d.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-DZFNNwID.js → chunk-2J33WTMH-CC-e13sC.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-CsnJG7Pv.js → chunk-4BX2VUAB-D-HpWY8q.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-MhREYXzo.js → chunk-55IACEB6-BSPwaiEp.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-BjvyGtK3.js → chunk-727SXJPM-CQbEHPPO.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-zfcfKNbO.js → chunk-AQP2D5EJ-BpSrKpmB.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-Ckx-Hc8U.js → chunk-FMBD7UC4-zE1R3SR8.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-DSIVVmYM.js → chunk-ND2GUHAM-CqN17qqH.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-EcIM6ZdS.js → chunk-QZHKN3VN-13BvG3Jp.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-DxbfnZUt.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DxbfnZUt.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-DC8DVe0z.js → cose-bilkent-S5V4N54A-CO574VR8.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-BQjcdXnw.js → dagre-BM42HDAG-BEVJuqdY.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-BUPeBMwt.js → diagram-2AECGRRQ-CGCBS-dy.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-I_Q-Pnp6.js → diagram-5GNKFQAL-Dyq0_Rlp.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-B8WbbWJu.js → diagram-KO2AKTUF-BpiCh3Ed.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-CsACxgW7.js → diagram-LMA3HP47-XJeaihzL.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-lPuJxQED.js → diagram-OG6HWLK6-Bb_LX7wz.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-cU5ZGREz.js → erDiagram-TEJ5UH35-D-slZ-dN.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-Dr-vZTBV.js → flowDiagram-I6XJVG4X-B_SOoctl.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-CXiWZ0R8.js → ganttDiagram-6RSMTGT7-B3UsanUx.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-PDvLBbvz.js → gitGraphDiagram-PVQCEYII-C9RzuImP.js} +1 -1
- package/dist/client/assets/{index-BQltseJ-.js → index-BnYPnnod.js} +1 -1
- package/dist/client/assets/{index-RMlMPKY7.js → index-CQBB3Uf4.js} +1 -1
- package/dist/client/assets/index-DamovIDe.js +752 -0
- package/dist/client/assets/{index-zpHL2aYW.css → index-yeyi8oQf.css} +1 -1
- package/dist/client/assets/{infoDiagram-5YYISTIA-Re9fOUPS.js → infoDiagram-5YYISTIA-CcaL3dnH.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BTazB_7p.js → ishikawaDiagram-YF4QCWOH-Drl0TLDq.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-pGUoqxHl.js → journeyDiagram-JHISSGLW-Ia46_5df.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-C2RzCJrM.js → kanban-definition-UN3LZRKU-CkDPRy8x.js} +1 -1
- package/dist/client/assets/{linear-Be3WPYKf.js → linear-BJ5HYD7N.js} +1 -1
- package/dist/client/assets/{mermaid.core-GdPXct3q.js → mermaid.core-DohfSRYI.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-DvktVTUU.js → mindmap-definition-RKZ34NQL-CN1i3cXM.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-DvC_m4m5.js → pieDiagram-4H26LBE5-Boz7UISz.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-SWtidcZL.js → quadrantDiagram-W4KKPZXB-DOBPTFZq.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-CQEHDx1W.js → requirementDiagram-4Y6WPE33-c0jMOQGX.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C0PTA3gP.js → sankeyDiagram-5OEKKPKP-D-AwIne0.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-D-x7SXoo.js → sequenceDiagram-3UESZ5HK-BgMjP-Q1.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-BhcGVfs1.js → stateDiagram-AJRCARHV-8qvFMuv5.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Doe04F42.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-JYTlKPB-.js → timeline-definition-PNZ67QCA-Q1t7Xr5L.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-KjNL1Qpz.js → vennDiagram-CIIHVFJN-atIUY_uM.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-DcljmmEY.js → wardley-L42UT6IY-Dg8nGqpF.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Pbq6ALgg.js → wardleyDiagram-YWT4CUSO-B26t7Hde.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-G_r_2Cvk.js → xychartDiagram-2RQKCTM6-uz4jM4Hi.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/core/ask/run-ask.d.ts +37 -0
- package/dist/core/ask/run-ask.js +171 -0
- package/dist/core/ask/run-ask.js.map +1 -0
- package/dist/server/config.d.ts +6 -0
- package/dist/server/config.js +19 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/core/plugin-host/host.js +8 -8
- package/dist/server/core/plugin-host/host.js.map +1 -1
- package/dist/server/core/plugin-host/types.d.ts +22 -7
- package/dist/server/db/migrations/030_remote_session.sql +29 -0
- package/dist/server/entities/ac/plugin.js +1 -1
- package/dist/server/entities/ac/plugin.js.map +1 -1
- package/dist/server/entities/ac/system-prompt.js +6 -6
- package/dist/server/entities/ac/system-prompt.js.map +1 -1
- package/dist/server/entities/database-table/plugin.js +1 -1
- package/dist/server/entities/database-table/plugin.js.map +1 -1
- package/dist/server/entities/dto/plugin.js +1 -1
- package/dist/server/entities/dto/plugin.js.map +1 -1
- package/dist/server/entities/endpoint/plugin.js +1 -1
- package/dist/server/entities/endpoint/plugin.js.map +1 -1
- package/dist/server/entities/ui-view/plugin.js +1 -1
- package/dist/server/entities/ui-view/plugin.js.map +1 -1
- package/dist/server/external-skills/brief-implementer-template.d.ts +1 -1
- package/dist/server/external-skills/brief-implementer-template.js +18 -14
- package/dist/server/external-skills/brief-implementer-template.js.map +1 -1
- package/dist/server/index.js +19 -6
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp/brief-tools.d.ts +2 -4
- package/dist/server/mcp/brief-tools.js +4 -25
- package/dist/server/mcp/brief-tools.js.map +1 -1
- package/dist/server/mcp/c4s-tools.d.ts +15 -0
- package/dist/server/mcp/c4s-tools.js +67 -0
- package/dist/server/mcp/c4s-tools.js.map +1 -0
- package/dist/server/routes/agent-turn.js +9 -2
- package/dist/server/routes/agent-turn.js.map +1 -1
- package/dist/server/routes/errors.js +3 -0
- package/dist/server/routes/errors.js.map +1 -1
- package/dist/server/routes/remote-account.d.ts +8 -0
- package/dist/server/routes/remote-account.js +49 -0
- package/dist/server/routes/remote-account.js.map +1 -0
- package/dist/server/services/chat-context.d.ts +4 -0
- package/dist/server/services/chat-context.js +24 -6
- package/dist/server/services/chat-context.js.map +1 -1
- package/dist/server/services/plan.js +6 -6
- package/dist/server/services/plan.js.map +1 -1
- package/dist/server/services/remote-auth.d.ts +31 -0
- package/dist/server/services/remote-auth.js +124 -0
- package/dist/server/services/remote-auth.js.map +1 -0
- package/dist/server/services/remote-http-client.d.ts +85 -0
- package/dist/server/services/remote-http-client.js +107 -0
- package/dist/server/services/remote-http-client.js.map +1 -0
- package/dist/server/skills/brief-author/SKILL.md +0 -1
- package/dist/shared/remote-account.d.ts +58 -0
- package/dist/shared/remote-account.js +8 -0
- package/dist/shared/remote-account.js.map +1 -0
- package/package.json +1 -1
- package/dist/client/assets/channel-B30S19wt.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-Bm4SZLsb.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bm4SZLsb.js +0 -1
- package/dist/client/assets/index-YFPhJxE5.js +0 -737
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-2vcyLY1V.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-ask.js","sourceRoot":"","sources":["../../../src/core/ask/run-ask.ts"],"names":[],"mappings":"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"}
|
package/dist/server/config.d.ts
CHANGED
|
@@ -26,6 +26,12 @@ export interface Config {
|
|
|
26
26
|
entities?: string[];
|
|
27
27
|
consistency?: ConsistencyConfig;
|
|
28
28
|
agent?: AgentConfig;
|
|
29
|
+
/**
|
|
30
|
+
* M24: base URL of the remote claude4spec-API (dev/staging override).
|
|
31
|
+
* `null`/absent = the hardcoded production constant in M24. Additive — no
|
|
32
|
+
* `$schemaVersion` bump; projects from before M24 keep production behaviour.
|
|
33
|
+
*/
|
|
34
|
+
remoteApiUrl?: string | null;
|
|
29
35
|
}
|
|
30
36
|
export type ConsistencySeverity = 'off' | 'warn' | 'error';
|
|
31
37
|
export interface ConsistencyConfig {
|
package/dist/server/config.js
CHANGED
|
@@ -18,6 +18,8 @@ export function defaults(cwd) {
|
|
|
18
18
|
// traktowany jako ukonczony onboarding (zaden retroaktywny redirect).
|
|
19
19
|
// Swiezy bootstrap nadpisuje to na false w loadOrCreateConfig.
|
|
20
20
|
onboardingCompleted: true,
|
|
21
|
+
// M24: null = use the hardcoded production remote in M24.
|
|
22
|
+
remoteApiUrl: null,
|
|
21
23
|
};
|
|
22
24
|
}
|
|
23
25
|
function pickDefined(obj) {
|
|
@@ -133,6 +135,23 @@ function validate(raw) {
|
|
|
133
135
|
}
|
|
134
136
|
out.agent = agent;
|
|
135
137
|
}
|
|
138
|
+
if ('remoteApiUrl' in r) {
|
|
139
|
+
if (r.remoteApiUrl !== null && typeof r.remoteApiUrl !== 'string') {
|
|
140
|
+
throw typeError('remoteApiUrl', 'string | null', r.remoteApiUrl);
|
|
141
|
+
}
|
|
142
|
+
// Syntactic URL check here (sync). Reachability (HEAD ping) is enforced at
|
|
143
|
+
// server boot in startServer() — both failures share the same message:
|
|
144
|
+
// `config.json: field 'remoteApiUrl': invalid URL or unreachable host`.
|
|
145
|
+
if (typeof r.remoteApiUrl === 'string' && r.remoteApiUrl.trim() !== '') {
|
|
146
|
+
try {
|
|
147
|
+
void new URL(r.remoteApiUrl);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
throw new Error(`config.json: field 'remoteApiUrl': invalid URL or unreachable host`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
out.remoteApiUrl = r.remoteApiUrl;
|
|
154
|
+
}
|
|
136
155
|
return out;
|
|
137
156
|
}
|
|
138
157
|
function atomicWrite(filePath, data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ class PluginHostImpl {
|
|
|
13
13
|
activeTypes = null; // null = all active
|
|
14
14
|
unknownTypes = [];
|
|
15
15
|
idResolvers = new Map();
|
|
16
|
-
|
|
16
|
+
mcpServerFactories = new Map();
|
|
17
17
|
entityServices = new Map();
|
|
18
18
|
registerBackendModule(module) {
|
|
19
19
|
if (!module.type) {
|
|
@@ -71,14 +71,14 @@ class PluginHostImpl {
|
|
|
71
71
|
m.backend?.mount?.(ctx);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
registerMcpServer(name,
|
|
75
|
-
this.
|
|
74
|
+
registerMcpServer(name, factory) {
|
|
75
|
+
this.mcpServerFactories.set(name, factory);
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
return this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
buildMcpServers() {
|
|
78
|
+
return Array.from(this.mcpServerFactories.entries()).map(([name, factory]) => ({
|
|
79
|
+
name,
|
|
80
|
+
server: factory(),
|
|
81
|
+
}));
|
|
82
82
|
}
|
|
83
83
|
setIdResolver(type, fn) {
|
|
84
84
|
this.idResolvers.set(type, fn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE5F,MAAM,cAAc;IACV,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3C,WAAW,GAAuB,IAAI,CAAC,CAAC,oBAAoB;IAC5D,YAAY,GAAa,EAAE,CAAC;IAC5B,WAAW,GAAG,IAAI,GAAG,EAA2C,CAAC;IACjE,
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../src/server/core/plugin-host/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,14 @@ export interface MountContext {
|
|
|
41
41
|
tagsService: TagsService;
|
|
42
42
|
versionService: VersionService;
|
|
43
43
|
referencesService: ReferencesService;
|
|
44
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Register a *factory* that builds a fresh MCP server instance. The host
|
|
46
|
+
* invokes it once per agent turn (see `buildMcpServers`) so each
|
|
47
|
+
* `adapter.execute()` gets its own `McpServer` — sharing one instance across
|
|
48
|
+
* concurrent turns breaks, because MCP `Protocol.connect` throws once an
|
|
49
|
+
* instance already holds a transport.
|
|
50
|
+
*/
|
|
51
|
+
registerMcpServer(name: string, factory: () => McpServerInstance): void;
|
|
45
52
|
setIdResolver(type: string, fn: (slug: string) => number | null): void;
|
|
46
53
|
/**
|
|
47
54
|
* M17: register the entity's L2 service with the host so cross-cutting
|
|
@@ -103,12 +110,20 @@ export interface PluginHost {
|
|
|
103
110
|
* no MCP server, no id resolver registered.
|
|
104
111
|
*/
|
|
105
112
|
mountBackend(ctx: MountContext): void;
|
|
106
|
-
/**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Register an MCP server *factory* under a unique name (e.g. "dto-tools").
|
|
115
|
+
* Stored as a thunk, not an instance: `buildMcpServers` calls it per turn so
|
|
116
|
+
* each agent run gets a fresh `McpServer` (concurrent turns must not share
|
|
117
|
+
* one instance — see the MountContext note).
|
|
118
|
+
*/
|
|
119
|
+
registerMcpServer(name: string, factory: () => McpServerInstance): void;
|
|
120
|
+
/**
|
|
121
|
+
* Build a fresh MCP server instance from every registered factory. Called
|
|
122
|
+
* once per agent turn by the chat handler to wire the adapter. Each call
|
|
123
|
+
* produces brand-new instances, so concurrent turns never collide on a
|
|
124
|
+
* shared transport.
|
|
125
|
+
*/
|
|
126
|
+
buildMcpServers(): Array<{
|
|
112
127
|
name: string;
|
|
113
128
|
server: McpServerInstance;
|
|
114
129
|
}>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
-- M24 Remote Account (v0.1.27) — local cache of the remote-API identity obtained
|
|
2
|
+
-- via OAuth 2.0 Device Authorization Grant (RFC 8628). The remote server is the
|
|
3
|
+
-- identity provider; c4s stays local + single-user. This is a single-row store:
|
|
4
|
+
-- login is an atomic DELETE + INSERT in one transaction, logout is a DELETE.
|
|
5
|
+
--
|
|
6
|
+
-- access_token is an opaque Bearer injected into outbound calls — it is NEVER
|
|
7
|
+
-- logged and NEVER returned by GET /api/remote-account. account_status is an
|
|
8
|
+
-- enum ('active'|'deactivated') validated in application code (L1 convention —
|
|
9
|
+
-- no CHECK). connected_at is a local timestamp (independent of the remote-side
|
|
10
|
+
-- issued_at) used for "connected N days ago" in the UI.
|
|
11
|
+
-- Spec: db/db-m24-remote-session.md, modules/m24-remote-account.md.
|
|
12
|
+
|
|
13
|
+
CREATE TABLE remote_session (
|
|
14
|
+
id INTEGER PRIMARY KEY,
|
|
15
|
+
access_token TEXT NOT NULL,
|
|
16
|
+
token_id TEXT NOT NULL,
|
|
17
|
+
issued_at TEXT NOT NULL,
|
|
18
|
+
remote_account_id TEXT NOT NULL,
|
|
19
|
+
account_email TEXT NOT NULL,
|
|
20
|
+
account_status TEXT NOT NULL,
|
|
21
|
+
connected_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
22
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
23
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
-- Safety net at the schema level plus L2 discipline (single-row store, but the
|
|
27
|
+
-- surrogate PK keeps the L1 convention).
|
|
28
|
+
CREATE UNIQUE INDEX uq_remote_session_remote_account_id
|
|
29
|
+
ON remote_session(remote_account_id);
|
|
@@ -19,7 +19,7 @@ export const acBackendModule = {
|
|
|
19
19
|
mount(ctx) {
|
|
20
20
|
const service = new AcService(ctx.db, ctx.tagsService, ctx.versionService, pluginHost);
|
|
21
21
|
ctx.app.use(`/api${acBackendModule.pathPrefix}`, acsRouter(service, ctx.referencesService));
|
|
22
|
-
ctx.registerMcpServer(`${acBackendModule.type}-tools`, createAcToolsServer({
|
|
22
|
+
ctx.registerMcpServer(`${acBackendModule.type}-tools`, () => createAcToolsServer({
|
|
23
23
|
acService: service,
|
|
24
24
|
referencesService: ctx.referencesService,
|
|
25
25
|
ws: ctx.ws,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAE,IAA0B,CAAC,IAAI,IAAI,EAAE,CAAC;IAClE,UAAU,EAAE,YAAyC;IACrD,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACvF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,eAAe,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,iBAAiB,CACnB,GAAG,eAAe,CAAC,IAAI,QAAQ,EAC/B,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAE,IAA0B,CAAC,IAAI,IAAI,EAAE,CAAC;IAClE,UAAU,EAAE,YAAyC;IACrD,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACvF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,eAAe,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,iBAAiB,CACnB,GAAG,eAAe,CAAC,IAAI,QAAQ,EAC/B,GAAG,EAAE,CAAC,mBAAmB,CAAC;gBACxB,SAAS,EAAE,OAAO;gBAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAC,CACH,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,GAAG,CAAC,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;KACF;CACF,CAAC;AAEF,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC"}
|
|
@@ -7,12 +7,12 @@ export const acSystemPrompt = {
|
|
|
7
7
|
},
|
|
8
8
|
mcpToolsLine: 'ac-tools: create_ac, get_ac, update_ac, delete_ac, list_acs',
|
|
9
9
|
narrativeBlock: [
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'project-level AC →
|
|
13
|
-
'
|
|
14
|
-
'M19
|
|
15
|
-
'
|
|
10
|
+
'Create AC when a module or feature has observable behavior to verify.',
|
|
11
|
+
'Tagging convention: module MNN AC → tag "mNN"; entity X AC → tag "entity-X";',
|
|
12
|
+
'project-level AC → no module/entity tag, classification tags only.',
|
|
13
|
+
'If an AC concerns a specific endpoint/DTO/UI view, fill the verifies field —',
|
|
14
|
+
'M19 checks referential integrity. kind="edge-case" for boundary conditions.',
|
|
15
|
+
'Prefer status="deprecated" over hard delete — it preserves history and references.',
|
|
16
16
|
].join(' '),
|
|
17
17
|
};
|
|
18
18
|
//# sourceMappingURL=system-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/system-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE;QACT,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,wDAAwD;QAClE,KAAK,EAAE,aAAa;KACrB;IACD,YAAY,EACV,6DAA6D;IAC/D,cAAc,EAAE;QACd,uEAAuE;QACvE,8EAA8E;QAC9E,
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/server/entities/ac/system-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE;QACT,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,wDAAwD;QAClE,KAAK,EAAE,aAAa;KACrB;IACD,YAAY,EACV,6DAA6D;IAC/D,cAAc,EAAE;QACd,uEAAuE;QACvE,8EAA8E;QAC9E,oEAAoE;QACpE,8EAA8E;QAC9E,6EAA6E;QAC7E,oFAAoF;KACrF,CAAC,IAAI,CAAC,GAAG,CAAC;CACZ,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const databaseTableBackendModule = {
|
|
|
19
19
|
mount(ctx) {
|
|
20
20
|
const service = new DatabaseTableService(ctx.db, ctx.tagsService, ctx.versionService);
|
|
21
21
|
ctx.app.use(`/api${databaseTableBackendModule.pathPrefix}`, databaseTablesRouter(service, ctx.referencesService, ctx.ws));
|
|
22
|
-
ctx.registerMcpServer(`${databaseTableBackendModule.type}-tools`, createDatabaseToolsServer({
|
|
22
|
+
ctx.registerMcpServer(`${databaseTableBackendModule.type}-tools`, () => createDatabaseToolsServer({
|
|
23
23
|
databaseTableService: service,
|
|
24
24
|
referencesService: ctx.referencesService,
|
|
25
25
|
ws: ctx.ws,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/database-table/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GAAkB;IACvD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,kBAAkB;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAE,IAAyB,CAAC,IAAI,CAAC;IACtE,UAAU,EAAE,uBAAoD;IAChE,YAAY,EAAE,yBAAyB;IACvC,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YACtF,GAAG,CAAC,GAAG,CAAC,GAAG,CACT,OAAO,0BAA0B,CAAC,UAAU,EAAE,EAC9C,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,CAC7D,CAAC;YACF,GAAG,CAAC,iBAAiB,CACnB,GAAG,0BAA0B,CAAC,IAAI,QAAQ,EAC1C,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/database-table/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GAAkB;IACvD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,kBAAkB;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAE,IAAyB,CAAC,IAAI,CAAC;IACtE,UAAU,EAAE,uBAAoD;IAChE,YAAY,EAAE,yBAAyB;IACvC,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YACtF,GAAG,CAAC,GAAG,CAAC,GAAG,CACT,OAAO,0BAA0B,CAAC,UAAU,EAAE,EAC9C,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,CAC7D,CAAC;YACF,GAAG,CAAC,iBAAiB,CACnB,GAAG,0BAA0B,CAAC,IAAI,QAAQ,EAC1C,GAAG,EAAE,CAAC,yBAAyB,CAAC;gBAC9B,oBAAoB,EAAE,OAAO;gBAC7B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAC,CACH,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACxF,GAAG,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;KACF;CACF,CAAC;AAEF,UAAU,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const dtoBackendModule = {
|
|
|
19
19
|
mount(ctx) {
|
|
20
20
|
const service = new DtoService(ctx.db, ctx.tagsService, ctx.versionService);
|
|
21
21
|
ctx.app.use(`/api${dtoBackendModule.pathPrefix}`, dtosRouter(service, ctx.referencesService));
|
|
22
|
-
ctx.registerMcpServer(`${dtoBackendModule.type}-tools`, createDtoToolsServer({
|
|
22
|
+
ctx.registerMcpServer(`${dtoBackendModule.type}-tools`, () => createDtoToolsServer({
|
|
23
23
|
dtoService: service,
|
|
24
24
|
referencesService: ctx.referencesService,
|
|
25
25
|
ws: ctx.ws,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/dto/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAE,IAAyB,CAAC,IAAI,CAAC;IAC5D,UAAU,EAAE,aAA0C;IACtD,YAAY,EAAE,eAAe;IAC7B,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5E,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,gBAAgB,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9F,GAAG,CAAC,iBAAiB,CACnB,GAAG,gBAAgB,CAAC,IAAI,QAAQ,EAChC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/dto/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAE,IAAyB,CAAC,IAAI,CAAC;IAC5D,UAAU,EAAE,aAA0C;IACtD,YAAY,EAAE,eAAe;IAC7B,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5E,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,gBAAgB,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9F,GAAG,CAAC,iBAAiB,CACnB,GAAG,gBAAgB,CAAC,IAAI,QAAQ,EAChC,GAAG,EAAE,CAAC,oBAAoB,CAAC;gBACzB,UAAU,EAAE,OAAO;gBACnB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAC,CACH,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9E,GAAG,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;KACF;CACF,CAAC;AAEF,UAAU,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -22,7 +22,7 @@ export const endpointBackendModule = {
|
|
|
22
22
|
mount(ctx) {
|
|
23
23
|
const service = new EndpointService(ctx.db, ctx.tagsService, ctx.versionService);
|
|
24
24
|
ctx.app.use(`/api${endpointBackendModule.pathPrefix}`, endpointsRouter(service, ctx.referencesService));
|
|
25
|
-
ctx.registerMcpServer(`${endpointBackendModule.type}-tools`, createEndpointToolsServer({
|
|
25
|
+
ctx.registerMcpServer(`${endpointBackendModule.type}-tools`, () => createEndpointToolsServer({
|
|
26
26
|
endpointService: service,
|
|
27
27
|
referencesService: ctx.referencesService,
|
|
28
28
|
ws: ctx.ws,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/endpoint/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,CAAC,GAAG,IAA0C,CAAC;QACrD,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,UAAU,EAAE,kBAA+C;IAC3D,YAAY,EAAE,oBAAoB;IAClC,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YACjF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,qBAAqB,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACxG,GAAG,CAAC,iBAAiB,CACnB,GAAG,qBAAqB,CAAC,IAAI,QAAQ,EACrC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/endpoint/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAkB;IAClD,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,CAAC,GAAG,IAA0C,CAAC;QACrD,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,UAAU,EAAE,kBAA+C;IAC3D,YAAY,EAAE,oBAAoB;IAClC,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YACjF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,qBAAqB,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACxG,GAAG,CAAC,iBAAiB,CACnB,GAAG,qBAAqB,CAAC,IAAI,QAAQ,EACrC,GAAG,EAAE,CAAC,yBAAyB,CAAC;gBAC9B,eAAe,EAAE,OAAO;gBACxB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAC,CACH,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,GAAG,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;KACF;CACF,CAAC;AAEF,UAAU,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const uiViewBackendModule = {
|
|
|
19
19
|
mount(ctx) {
|
|
20
20
|
const service = new UiViewService(ctx.db, ctx.tagsService, ctx.versionService);
|
|
21
21
|
ctx.app.use(`/api${uiViewBackendModule.pathPrefix}`, uiViewsRouter(service, ctx.referencesService, ctx.ws));
|
|
22
|
-
ctx.registerMcpServer(`${uiViewBackendModule.type}-tools`, createUiViewToolsServer({
|
|
22
|
+
ctx.registerMcpServer(`${uiViewBackendModule.type}-tools`, () => createUiViewToolsServer({
|
|
23
23
|
uiViewService: service,
|
|
24
24
|
referencesService: ctx.referencesService,
|
|
25
25
|
ws: ctx.ws,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/ui-view/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAE,IAAyB,CAAC,IAAI,CAAC;IAC/D,UAAU,EAAE,gBAA6C;IACzD,YAAY,EAAE,kBAAkB;IAChC,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,CACT,OAAO,mBAAmB,CAAC,UAAU,EAAE,EACvC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,CACtD,CAAC;YACF,GAAG,CAAC,iBAAiB,CACnB,GAAG,mBAAmB,CAAC,IAAI,QAAQ,EACnC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/server/entities/ui-view/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,WAAW;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAE,IAAyB,CAAC,IAAI,CAAC;IAC/D,UAAU,EAAE,gBAA6C;IACzD,YAAY,EAAE,kBAAkB;IAChC,OAAO,EAAE;QACP,KAAK,CAAC,GAAG;YACP,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,CACT,OAAO,mBAAmB,CAAC,UAAU,EAAE,EACvC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,CACtD,CAAC;YACF,GAAG,CAAC,iBAAiB,CACnB,GAAG,mBAAmB,CAAC,IAAI,QAAQ,EACnC,GAAG,EAAE,CAAC,uBAAuB,CAAC;gBAC5B,aAAa,EAAE,OAAO;gBACtB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;aACX,CAAC,CACH,CAAC;YACF,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACjF,GAAG,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;KACF;CACF,CAAC;AAEF,UAAU,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const BRIEF_IMPLEMENTER_FRONTMATTER = "---\nname: c4s-brief-implementer\ndescription: Implement features described in claude4spec briefs (markdown files in .claude4spec/briefs/). Briefs are self-contained \u2014 they include all context needed for implementation (entity snapshots, section diffs, narrative). After implementation, if you discover drift between the brief and reality (missing details, incorrect assumptions, edge cases not covered), generate a patch file in .claude4spec/patches/ as feedback for the specification author. Use when implementing changes in a code repository that has a .claude4spec/briefs/ directory.\n---\n";
|
|
2
|
-
export declare const BRIEF_IMPLEMENTER_BODY = "# c4s-brief-implementer\n\nThis skill describes how to implement a release brief in **your code repository**\n(not the spec repo). A brief is a self-contained markdown file under\n`.claude4spec/briefs/` that captures everything you need to ship the change:\nentity snapshots, section diffs, narrative, acceptance criteria.\n\n**This skill does NOT assume the `c4s` CLI is installed.** Briefs are designed\nto be self-contained \u2014 you do not need to read the main specification or query\nthe entity database. If the brief references something you cannot find in its\nbody, treat that as drift and file a patch (step 4 below).\n\n## Workflow\n\n### 1. Discover\n\n```sh\nls .claude4spec/briefs/ # list available briefs\ncat .claude4spec/briefs/<slug>.md\n```\n\nIf `.claude4spec/` is not in your current directory, walk up the directory tree\nuntil you find it (similar to how git finds `.git/`).\n\n### 2. Read the brief as self-contained input\n\nEvery brief has YAML frontmatter:\n\n```yaml\n---\ntype: brief\nfrom_release: v0.1.16\nto_release: v0.1.17\ngenerator_version: brief-author@0.1\nimplemented: false\n---\n```\n\nThe body contains everything you need \u2014 entity snapshots, section diffs, the\nnarrative of what changes, and acceptance criteria. **Do not read the main\nspecification
|
|
2
|
+
export declare const BRIEF_IMPLEMENTER_BODY = "# c4s-brief-implementer\n\nThis skill describes how to implement a release brief in **your code repository**\n(not the spec repo). A brief is a self-contained markdown file under\n`.claude4spec/briefs/` that captures everything you need to ship the change:\nentity snapshots, section diffs, narrative, acceptance criteria.\n\n**This skill does NOT assume the `c4s` CLI is installed.** Briefs are designed\nto be self-contained \u2014 you do not need to read the main specification or query\nthe entity database. If the brief references something you cannot find in its\nbody, treat that as drift and file a patch (step 4 below).\n\n## Workflow\n\n### 1. Discover\n\n```sh\nls .claude4spec/briefs/ # list available briefs\ncat .claude4spec/briefs/<slug>.md\n```\n\nIf `.claude4spec/` is not in your current directory, walk up the directory tree\nuntil you find it (similar to how git finds `.git/`).\n\n### 2. Read the brief as self-contained input\n\nEvery brief has YAML frontmatter:\n\n```yaml\n---\ntype: brief\nfrom_release: v0.1.16\nto_release: v0.1.17\ngenerator_version: brief-author@0.1\nimplemented: false\n---\n```\n\nThe body contains everything you need \u2014 entity snapshots, section diffs, the\nnarrative of what changes, and acceptance criteria. **Do not read the main\nspecification.**\n\nIf the brief is unclear \u2014 a missing detail, an ambiguous wording, a decision\nyou'd otherwise have to guess \u2014 you have two paths:\n\n**Synchronous (preferred when available).** Ask the specification agent in the\nsame terminal and continue once you have an answer:\n\n```bash\nc4s ask \"Brief nie precyzuje X \u2014 czy chodzi o A czy B?\" --ct brief --brief <brief-slug>.md\n```\n\nContinue the same thread with `c4s ask \"...\" --thread <threadId>` (the\n`threadId` is printed with the answer). This path requires `c4s` installed\n*and* a running `npx claude4spec` server. When either is unavailable, skip it.\n\n**Asynchronous (always available).** If you cannot ask synchronously, proceed\nwith your best judgement and file a patch afterwards (step 4) so the\nspec-author can fold the clarification into the next brief.\n\n### 3. Implement\n\nStandard code flow in your target repository: read existing code, plan, edit,\ntest. Stay focused on what the brief specifies.\n\n### 4. Feedback loop (patches)\n\nWhen you discover that the brief diverges from reality \u2014 a missing detail, an\nincorrect assumption, an edge case not covered, or anything else the\nspec-author should know \u2014 write a patch file:\n\n```sh\nmkdir -p .claude4spec/patches\n```\n\nCreate `.claude4spec/patches/<brief-slug>-<short-desc>.md` with this format:\n\n```markdown\n---\ntype: patch\nbrief: v0-1-16-to-v0-1-17.md # path relative to briefs/\npatch_kind: drift # drift | missing | incorrect | clarification\ncreated_at: 2026-05-11T17:32:00Z\ncreated_by: claude-code # or \"cursor\", \"aider\", ...\n---\n\n# Patch \u2014 short title\n\n## What I found\n\n\u2026description of the drift / missing detail / incorrect assumption\u2026\n\n## Suggestion\n\n\u2026what the spec-author should consider in a follow-up brief or entity edits\u2026\n```\n\nPatch-kind values:\n\n- `drift` \u2014 the brief described behavior X, but the codebase already does Y.\n- `missing` \u2014 the brief is silent on a detail you had to decide yourself.\n- `incorrect` \u2014 the brief is factually wrong about existing code.\n- `clarification` \u2014 the brief is ambiguous; you guessed but it should be made\n explicit for next time.\n\nThe `.claude4spec/patches/` directory is created **lazily** \u2014 only when you\nfile your first patch. The claude4spec server does NOT create it.\n\n### 5. Mark brief as implemented\n\nWhen the implementation is genuinely finished \u2014 code committed, tests green,\nmerged to main / accepted by the user \u2014 flip the brief's frontmatter to\n`implemented: true`:\n\n```bash\n# Option A \u2014 Edit tool: change the line `implemented: false` \u2192 `implemented: true`.\n# Option B \u2014 yq (idempotent; adds the field to legacy briefs that never had it):\nyq -i '.implemented = true' .claude4spec/briefs/<brief-slug>.md\n```\n\n`implemented: true` is a **declaration**, not a computed fact derived from git.\nA revert on main does NOT roll the flag back. Set it ONLY when implementation\nis realistically done \u2014 never proactively or \"just in case\".\n\n### 6. Hand-off\n\nThe spec-author reads patches manually (`ls .claude4spec/patches/`, `cat`)\nand folds them into the next brief or entity edits. There is no UI listing in\nthis release \u2014 patches are raw markdown.\n\n## Notes\n\nThis file is **fully managed** by claude4spec \u2014 it is overwritten on every\nserver start when its rendered content changes. Do not edit it by hand.\n";
|
|
@@ -43,28 +43,32 @@ implemented: false
|
|
|
43
43
|
|
|
44
44
|
The body contains everything you need — entity snapshots, section diffs, the
|
|
45
45
|
narrative of what changes, and acceptance criteria. **Do not read the main
|
|
46
|
-
specification.**
|
|
46
|
+
specification.**
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
If the brief is unclear — a missing detail, an ambiguous wording, a decision
|
|
49
|
+
you'd otherwise have to guess — you have two paths:
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
### 4. Feedback loop (patches)
|
|
54
|
-
|
|
55
|
-
**Optional — ask the spec agent first.** When the brief is unclear, you can —
|
|
56
|
-
*before* guessing or writing a speculative patch — ask the specification agent
|
|
57
|
-
synchronously and get an answer back in the same terminal:
|
|
51
|
+
**Synchronous (preferred when available).** Ask the specification agent in the
|
|
52
|
+
same terminal and continue once you have an answer:
|
|
58
53
|
|
|
59
54
|
\`\`\`bash
|
|
60
55
|
c4s ask "Brief nie precyzuje X — czy chodzi o A czy B?" --ct brief --brief <brief-slug>.md
|
|
61
56
|
\`\`\`
|
|
62
57
|
|
|
63
58
|
Continue the same thread with \`c4s ask "..." --thread <threadId>\` (the
|
|
64
|
-
\`threadId\` is printed with the answer). This
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
\`threadId\` is printed with the answer). This path requires \`c4s\` installed
|
|
60
|
+
*and* a running \`npx claude4spec\` server. When either is unavailable, skip it.
|
|
61
|
+
|
|
62
|
+
**Asynchronous (always available).** If you cannot ask synchronously, proceed
|
|
63
|
+
with your best judgement and file a patch afterwards (step 4) so the
|
|
64
|
+
spec-author can fold the clarification into the next brief.
|
|
65
|
+
|
|
66
|
+
### 3. Implement
|
|
67
|
+
|
|
68
|
+
Standard code flow in your target repository: read existing code, plan, edit,
|
|
69
|
+
test. Stay focused on what the brief specifies.
|
|
70
|
+
|
|
71
|
+
### 4. Feedback loop (patches)
|
|
68
72
|
|
|
69
73
|
When you discover that the brief diverges from reality — a missing detail, an
|
|
70
74
|
incorrect assumption, an edge case not covered, or anything else the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brief-implementer-template.js","sourceRoot":"","sources":["../../../src/server/external-skills/brief-implementer-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;CAI5C,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG
|
|
1
|
+
{"version":3,"file":"brief-implementer-template.js","sourceRoot":"","sources":["../../../src/server/external-skills/brief-implementer-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;CAI5C,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsIrC,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -22,6 +22,9 @@ import { BriefService } from './services/brief.js';
|
|
|
22
22
|
import { briefsRouter } from './routes/briefs.js';
|
|
23
23
|
import { PatchService } from './services/patch.js';
|
|
24
24
|
import { patchesRouter } from './routes/patches.js';
|
|
25
|
+
import { RemoteAuthService } from './services/remote-auth.js';
|
|
26
|
+
import { RemoteHttpClient, assertRemoteApiReachable } from './services/remote-http-client.js';
|
|
27
|
+
import { remoteAccountRouter } from './routes/remote-account.js';
|
|
25
28
|
import { PagesFrontmatterIndexer } from './services/pages-frontmatter-indexer.js';
|
|
26
29
|
import { SectionIndexerService } from './services/section-indexer.js';
|
|
27
30
|
import { TodosIndexerService } from './services/todos-indexer.js';
|
|
@@ -70,7 +73,7 @@ async function listenOrExit(server, port) {
|
|
|
70
73
|
}
|
|
71
74
|
catch (err) {
|
|
72
75
|
if (err.code === 'EADDRINUSE') {
|
|
73
|
-
console.error(`port ${port}
|
|
76
|
+
console.error(`port ${port} is in use — stop the other instance or change the port in config.json / pass --port`);
|
|
74
77
|
process.exit(1);
|
|
75
78
|
}
|
|
76
79
|
throw err;
|
|
@@ -161,6 +164,11 @@ export async function startServer(opts) {
|
|
|
161
164
|
if (patchesDir === pagesDir || patchesDir === briefsDir) {
|
|
162
165
|
console.warn(`[config] patchesDir collides with pagesDir/briefsDir ("${patchesDir}") — patch files will be visible in multiple indexers`);
|
|
163
166
|
}
|
|
167
|
+
// M24: an explicit config.remoteApiUrl override must be a valid, reachable
|
|
168
|
+
// host — hard error at boot, no fallback to the production constant.
|
|
169
|
+
if (bootConfig.remoteApiUrl != null && bootConfig.remoteApiUrl.trim() !== '') {
|
|
170
|
+
await assertRemoteApiReachable(bootConfig.remoteApiUrl);
|
|
171
|
+
}
|
|
164
172
|
pluginHost.consolidate(bootConfig.entities);
|
|
165
173
|
const hostState = pluginHost.state();
|
|
166
174
|
console.log(`[plugin-host] active: [${hostState.active.join(', ') || '∅'}]` +
|
|
@@ -190,6 +198,10 @@ export async function startServer(opts) {
|
|
|
190
198
|
// M17: wire snapshot capture deps. After this, every entity service
|
|
191
199
|
// mutation captures a deterministic snapshot via host.snapshot(...).
|
|
192
200
|
versionService.configureSnapshot(rawReader, pluginHost);
|
|
201
|
+
// M24: remote-account identity (device flow + local session). Single HTTP
|
|
202
|
+
// client per process; base URL from config.remoteApiUrl (or the prod constant).
|
|
203
|
+
const remoteHttpClient = new RemoteHttpClient(bootConfig.remoteApiUrl);
|
|
204
|
+
const remoteAuthService = new RemoteAuthService(db.handle, remoteHttpClient);
|
|
193
205
|
const chatService = new ChatService(db.handle);
|
|
194
206
|
// Orphan cleanup: rowsy chat_message.status='streaming' pozostale po crashu poprzedniego
|
|
195
207
|
// procesu (SIGKILL/OOM) — brak aktywnego adaptera po starcie, flipujemy wszystkie na 'complete'.
|
|
@@ -326,7 +338,9 @@ export async function startServer(opts) {
|
|
|
326
338
|
registerEntityService: (type, service) => pluginHost.registerEntityService(type, service),
|
|
327
339
|
});
|
|
328
340
|
// Cross-cutting MCP server — owned by the host, not a plugin (M13).
|
|
329
|
-
|
|
341
|
+
// Registered as a factory: a fresh instance is built per agent turn so
|
|
342
|
+
// concurrent turns never share one MCP transport.
|
|
343
|
+
pluginHost.registerMcpServer('reference-tools', () => createReferenceToolsServer({
|
|
330
344
|
tagsService,
|
|
331
345
|
referencesService,
|
|
332
346
|
pagesService: pages,
|
|
@@ -334,14 +348,12 @@ export async function startServer(opts) {
|
|
|
334
348
|
ws: gateway,
|
|
335
349
|
db: db.handle,
|
|
336
350
|
cwd,
|
|
337
|
-
});
|
|
338
|
-
pluginHost.registerMcpServer('reference-tools', referenceToolsServer);
|
|
351
|
+
}));
|
|
339
352
|
// M17: ReleaseService + cross-cutting `release-tools` MCP. Like
|
|
340
353
|
// reference-tools, owned by the host (not a plugin) — release semantics
|
|
341
354
|
// are dual-track (entities + pages), neither side is a plugin owner.
|
|
342
355
|
const releaseService = new ReleaseService(db.handle, pluginHost, versionService, pageVersions, pageSerializer, rawReader, tagsService, pages, watcher);
|
|
343
|
-
|
|
344
|
-
pluginHost.registerMcpServer('release-tools', releaseToolsServer);
|
|
356
|
+
pluginHost.registerMcpServer('release-tools', () => createReleaseToolsServer({ releaseService, ws: gateway }));
|
|
345
357
|
// M21: BriefService — top-level (nie plugin), wzorzec analogiczny do
|
|
346
358
|
// PlanService. Mountowany router /api/briefs poniżej.
|
|
347
359
|
const briefService = new BriefService({
|
|
@@ -395,6 +407,7 @@ export async function startServer(opts) {
|
|
|
395
407
|
app.use('/api/releases', releasesRouter(releaseService, gateway));
|
|
396
408
|
app.use('/api/briefs', briefsRouter(briefService, pageVersions));
|
|
397
409
|
app.use('/api/patches', patchesRouter(patchService));
|
|
410
|
+
app.use('/api/remote-account', remoteAccountRouter(remoteAuthService));
|
|
398
411
|
app.use('/api/chat', chatRouter(agentDeps));
|
|
399
412
|
app.use(errorHandler);
|
|
400
413
|
watcher.onChange((relPath, kind) => {
|