@inharness-ai/claude4spec 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -0
  3. package/dist/client/assets/{arc-D8brDDag.js → arc-grMo2vzL.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-Bmh1uTQZ.js → architectureDiagram-3BPJPVTR-Fp_VHONq.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-55jaVWwd.js → blockDiagram-GPEHLZMM-CIwVG0sx.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-Dxm0tLsZ.js → c4Diagram-AAUBKEIU-tysuJyz0.js} +1 -1
  7. package/dist/client/assets/channel-B30S19wt.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-vDJ1slcJ.js → chunk-2J33WTMH-DZFNNwID.js} +1 -1
  9. package/dist/client/assets/{chunk-4BX2VUAB-DP6CC-Qn.js → chunk-4BX2VUAB-CsnJG7Pv.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-SgOSJYkL.js → chunk-55IACEB6-MhREYXzo.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-BtRfbjBO.js → chunk-727SXJPM-BjvyGtK3.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-yIRaTgFg.js → chunk-AQP2D5EJ-zfcfKNbO.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-B_VD4t8N.js → chunk-FMBD7UC4-Ckx-Hc8U.js} +1 -1
  14. package/dist/client/assets/{chunk-ND2GUHAM-BvJdtX82.js → chunk-ND2GUHAM-DSIVVmYM.js} +1 -1
  15. package/dist/client/assets/{chunk-QZHKN3VN-BLNWKymD.js → chunk-QZHKN3VN-EcIM6ZdS.js} +1 -1
  16. package/dist/client/assets/classDiagram-4FO5ZUOK-Bm4SZLsb.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bm4SZLsb.js +1 -0
  18. package/dist/client/assets/{cose-bilkent-S5V4N54A-BQyA-r-y.js → cose-bilkent-S5V4N54A-DC8DVe0z.js} +1 -1
  19. package/dist/client/assets/{dagre-BM42HDAG-CAh0mTzA.js → dagre-BM42HDAG-BQjcdXnw.js} +1 -1
  20. package/dist/client/assets/{diagram-2AECGRRQ-C83TGK4o.js → diagram-2AECGRRQ-BUPeBMwt.js} +1 -1
  21. package/dist/client/assets/{diagram-5GNKFQAL-2L6uowvf.js → diagram-5GNKFQAL-I_Q-Pnp6.js} +1 -1
  22. package/dist/client/assets/{diagram-KO2AKTUF-Cj5n4jdq.js → diagram-KO2AKTUF-B8WbbWJu.js} +1 -1
  23. package/dist/client/assets/{diagram-LMA3HP47-Bp5SDMjg.js → diagram-LMA3HP47-CsACxgW7.js} +1 -1
  24. package/dist/client/assets/{diagram-OG6HWLK6-cFsDQ8Qk.js → diagram-OG6HWLK6-lPuJxQED.js} +1 -1
  25. package/dist/client/assets/{erDiagram-TEJ5UH35-D8G5xpg3.js → erDiagram-TEJ5UH35-cU5ZGREz.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-I6XJVG4X-CuNudlCD.js → flowDiagram-I6XJVG4X-Dr-vZTBV.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CtFlsB15.js → ganttDiagram-6RSMTGT7-CXiWZ0R8.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-h66Tso4O.js → gitGraphDiagram-PVQCEYII-PDvLBbvz.js} +1 -1
  29. package/dist/client/assets/{index-aPVup1Re.js → index-BQltseJ-.js} +1 -1
  30. package/dist/client/assets/{index-aJE-l7h7.js → index-RMlMPKY7.js} +1 -1
  31. package/dist/client/assets/{index-D5ljIkCJ.js → index-YFPhJxE5.js} +184 -174
  32. package/dist/client/assets/{index-CZOpb3O7.css → index-zpHL2aYW.css} +1 -1
  33. package/dist/client/assets/{infoDiagram-5YYISTIA-CO_BLfuW.js → infoDiagram-5YYISTIA-Re9fOUPS.js} +1 -1
  34. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-D4rSRnQA.js → ishikawaDiagram-YF4QCWOH-BTazB_7p.js} +1 -1
  35. package/dist/client/assets/{journeyDiagram-JHISSGLW-GyHI6dB8.js → journeyDiagram-JHISSGLW-pGUoqxHl.js} +1 -1
  36. package/dist/client/assets/{kanban-definition-UN3LZRKU-CrH33WLe.js → kanban-definition-UN3LZRKU-C2RzCJrM.js} +1 -1
  37. package/dist/client/assets/{linear-Dh1OyvSm.js → linear-Be3WPYKf.js} +1 -1
  38. package/dist/client/assets/{mermaid.core-C45sMDhS.js → mermaid.core-GdPXct3q.js} +4 -4
  39. package/dist/client/assets/{mindmap-definition-RKZ34NQL-Bgwb0vwA.js → mindmap-definition-RKZ34NQL-DvktVTUU.js} +1 -1
  40. package/dist/client/assets/{pieDiagram-4H26LBE5-l9cCpVfG.js → pieDiagram-4H26LBE5-DvC_m4m5.js} +1 -1
  41. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-BCPSUbC3.js → quadrantDiagram-W4KKPZXB-SWtidcZL.js} +1 -1
  42. package/dist/client/assets/{requirementDiagram-4Y6WPE33-TEGOe-vV.js → requirementDiagram-4Y6WPE33-CQEHDx1W.js} +1 -1
  43. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C69pv_7D.js → sankeyDiagram-5OEKKPKP-C0PTA3gP.js} +1 -1
  44. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-arinzeCk.js → sequenceDiagram-3UESZ5HK-D-x7SXoo.js} +1 -1
  45. package/dist/client/assets/{stateDiagram-AJRCARHV-C2YENpmw.js → stateDiagram-AJRCARHV-BhcGVfs1.js} +1 -1
  46. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-2vcyLY1V.js +1 -0
  47. package/dist/client/assets/{timeline-definition-PNZ67QCA-h5qtI99f.js → timeline-definition-PNZ67QCA-JYTlKPB-.js} +1 -1
  48. package/dist/client/assets/{vennDiagram-CIIHVFJN-CnuK75Ut.js → vennDiagram-CIIHVFJN-KjNL1Qpz.js} +1 -1
  49. package/dist/client/assets/{wardley-L42UT6IY-B4bQ0Xyy.js → wardley-L42UT6IY-DcljmmEY.js} +1 -1
  50. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-apV8olQc.js → wardleyDiagram-YWT4CUSO-Pbq6ALgg.js} +1 -1
  51. package/dist/client/assets/{xychartDiagram-2RQKCTM6-OTP6zeEy.js → xychartDiagram-2RQKCTM6-G_r_2Cvk.js} +1 -1
  52. package/dist/client/index.html +2 -2
  53. package/dist/server/config.d.ts +6 -0
  54. package/dist/server/config.js +6 -0
  55. package/dist/server/config.js.map +1 -1
  56. package/dist/server/db/migrate.js +28 -11
  57. package/dist/server/db/migrate.js.map +1 -1
  58. package/dist/server/db/migrations/028_page_version_kind_patch.sql +43 -0
  59. package/dist/server/db/migrations/029_chat_thread_patch.sql +64 -0
  60. package/dist/server/index.js +73 -4
  61. package/dist/server/index.js.map +1 -1
  62. package/dist/server/routes/chat.d.ts +2 -0
  63. package/dist/server/routes/chat.js +14 -0
  64. package/dist/server/routes/chat.js.map +1 -1
  65. package/dist/server/routes/errors.js +4 -0
  66. package/dist/server/routes/errors.js.map +1 -1
  67. package/dist/server/routes/patches.d.ts +8 -0
  68. package/dist/server/routes/patches.js +106 -0
  69. package/dist/server/routes/patches.js.map +1 -0
  70. package/dist/server/services/brief.js +0 -1
  71. package/dist/server/services/brief.js.map +1 -1
  72. package/dist/server/services/chat-context.d.ts +3 -1
  73. package/dist/server/services/chat-context.js +32 -1
  74. package/dist/server/services/chat-context.js.map +1 -1
  75. package/dist/server/services/chat.d.ts +5 -2
  76. package/dist/server/services/chat.js +35 -7
  77. package/dist/server/services/chat.js.map +1 -1
  78. package/dist/server/services/page-version.d.ts +11 -4
  79. package/dist/server/services/page-version.js +19 -11
  80. package/dist/server/services/page-version.js.map +1 -1
  81. package/dist/server/services/pages-frontmatter-indexer.d.ts +4 -1
  82. package/dist/server/services/pages-frontmatter-indexer.js +19 -9
  83. package/dist/server/services/pages-frontmatter-indexer.js.map +1 -1
  84. package/dist/server/services/patch.d.ts +66 -0
  85. package/dist/server/services/patch.js +196 -0
  86. package/dist/server/services/patch.js.map +1 -0
  87. package/dist/shared/entities.d.ts +62 -2
  88. package/dist/shared/entities.js +11 -0
  89. package/dist/shared/entities.js.map +1 -1
  90. package/dist/shared/types.d.ts +5 -2
  91. package/docs/screenshots/hero-dark.png +0 -0
  92. package/docs/screenshots/hero.png +0 -0
  93. package/package.json +3 -2
  94. package/dist/client/assets/channel-ArVcv4Yl.js +0 -1
  95. package/dist/client/assets/classDiagram-4FO5ZUOK-B3nmPR7w.js +0 -1
  96. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B3nmPR7w.js +0 -1
  97. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CS6ocDH6.js +0 -1
@@ -0,0 +1,64 @@
1
+ -- M23 Patches (v0.1.23) — chat_thread gains a third context_type ('patch') and
2
+ -- a `patch_path` pointer. Migration 022 added `context_type` with
3
+ -- `CHECK (context_type IN ('chat','brief'))`; SQLite cannot ALTER a CHECK, so
4
+ -- the table is rebuilt. Per the v0.1.23 brief the rebuilt column carries NO
5
+ -- CHECK at all — `context_type` is a plain TEXT column whose allowed values
6
+ -- ('chat'|'brief'|'patch', and any future value) are validated in application
7
+ -- code by the contextTypeRegistry in chat-context.ts. Adding a future
8
+ -- context_type therefore needs no migration.
9
+ -- Spec: db/db-m05-chat.md, modules/m23-patches.md.
10
+ --
11
+ -- chat_thread has INCOMING foreign keys: chat_message.thread_id (ON DELETE
12
+ -- CASCADE) and plan.accepted_thread_id (ON DELETE SET NULL). The SQLite
13
+ -- table-rebuild procedure is followed: create the new table under a temp
14
+ -- name, copy, DROP the original, then RENAME the new one into place. The
15
+ -- migration runner disables `foreign_keys` around the batch, so the DROP does
16
+ -- NOT cascade-delete chat_message rows; the child FK clauses keep referencing
17
+ -- the name `chat_thread` and resolve again once the new table is renamed in.
18
+
19
+ -- Full column set as of migrations 005/009/010/011/013/021/024/022, plus the
20
+ -- new patch_path. Only changes vs. the old schema: the context_type CHECK is
21
+ -- dropped (validation moves to application code), and patch_path is appended.
22
+ CREATE TABLE chat_thread_new (
23
+ id TEXT PRIMARY KEY NOT NULL,
24
+ title TEXT,
25
+ last_session_id TEXT,
26
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
27
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')),
28
+ current_todo_items TEXT,
29
+ plan_mode INTEGER NOT NULL DEFAULT 0,
30
+ initial_system_prompt TEXT,
31
+ last_usage_json TEXT,
32
+ plan_id INTEGER REFERENCES plan(id) ON DELETE SET NULL,
33
+ last_seen_plan_version INTEGER,
34
+ last_context_size INTEGER,
35
+ context_type TEXT NOT NULL DEFAULT 'chat',
36
+ brief_path TEXT,
37
+ patch_path TEXT
38
+ );
39
+
40
+ INSERT INTO chat_thread_new (
41
+ id, title, last_session_id, created_at, updated_at, current_todo_items,
42
+ plan_mode, initial_system_prompt, last_usage_json, plan_id,
43
+ last_seen_plan_version, last_context_size, context_type, brief_path
44
+ )
45
+ SELECT
46
+ id, title, last_session_id, created_at, updated_at, current_todo_items,
47
+ plan_mode, initial_system_prompt, last_usage_json, plan_id,
48
+ last_seen_plan_version, last_context_size, context_type, brief_path
49
+ FROM chat_thread;
50
+
51
+ DROP TABLE chat_thread;
52
+
53
+ ALTER TABLE chat_thread_new RENAME TO chat_thread;
54
+
55
+ CREATE INDEX idx_chat_thread_plan ON chat_thread(plan_id);
56
+
57
+ -- Partial index for "open threads for this brief" — same as migration 022.
58
+ CREATE INDEX IF NOT EXISTS idx_chat_thread_brief_path
59
+ ON chat_thread(brief_path) WHERE brief_path IS NOT NULL;
60
+
61
+ -- Partial index for "open threads for this patch" (GET /api/patches/:path
62
+ -- threadCount + POST /api/patches/:path/threads lookups).
63
+ CREATE INDEX IF NOT EXISTS idx_chat_thread_patch_path
64
+ ON chat_thread(patch_path) WHERE patch_path IS NOT NULL;
@@ -20,6 +20,8 @@ import { PlanService } from './services/plan.js';
20
20
  import { plansRouter } from './routes/plans.js';
21
21
  import { BriefService } from './services/brief.js';
22
22
  import { briefsRouter } from './routes/briefs.js';
23
+ import { PatchService } from './services/patch.js';
24
+ import { patchesRouter } from './routes/patches.js';
23
25
  import { PagesFrontmatterIndexer } from './services/pages-frontmatter-indexer.js';
24
26
  import { SectionIndexerService } from './services/section-indexer.js';
25
27
  import { TodosIndexerService } from './services/todos-indexer.js';
@@ -144,6 +146,19 @@ export async function startServer(opts) {
144
146
  if (briefsDir === pagesDir) {
145
147
  console.warn(`[config] briefsDir === pagesDir ("${pagesDir}") — brief files will be visible in both indexers`);
146
148
  }
149
+ // M23: patchesDir, default '.claude4spec/patches'. Same validation as briefsDir.
150
+ const patchesDir = bootConfig.patchesDir ?? '.claude4spec/patches';
151
+ if (path.isAbsolute(patchesDir)) {
152
+ throw new Error(`config.json: patchesDir must be relative to cwd, got: ${patchesDir}`);
153
+ }
154
+ const patchesAbs = path.resolve(cwd, patchesDir);
155
+ const patchesRel = path.relative(cwd, patchesAbs);
156
+ if (patchesRel.startsWith('..') || path.isAbsolute(patchesRel)) {
157
+ throw new Error(`config.json: patchesDir must not escape project root, got: ${patchesDir}`);
158
+ }
159
+ if (patchesDir === pagesDir || patchesDir === briefsDir) {
160
+ console.warn(`[config] patchesDir collides with pagesDir/briefsDir ("${patchesDir}") — patch files will be visible in multiple indexers`);
161
+ }
147
162
  pluginHost.consolidate(bootConfig.entities);
148
163
  const hostState = pluginHost.state();
149
164
  console.log(`[plugin-host] active: [${hostState.active.join(', ') || '∅'}]` +
@@ -164,6 +179,9 @@ export async function startServer(opts) {
164
179
  // odpowiedniego rootDir).
165
180
  const briefsPages = new PagesService(cwd, briefsDir);
166
181
  await briefsPages.ensureRoot();
182
+ // M23 m02multidir: trzeci PagesService dla patchesDir (analogicznie do briefsDir).
183
+ const patchesPages = new PagesService(cwd, patchesDir);
184
+ await patchesPages.ensureRoot();
167
185
  const tagsService = new TagsService(db.handle);
168
186
  const versionService = new VersionService(db.handle);
169
187
  const rawReader = new RawEntityReader(db.handle);
@@ -257,6 +275,8 @@ export async function startServer(opts) {
257
275
  // gateway (broadcast `page:changed` z drugiego katalogu — UI może slot-detect
258
276
  // przez prefix sciezki, jezeli kiedys bedzie potrzebne).
259
277
  const briefsWatcher = new PagesWatcher(briefsPages.root, gateway);
278
+ // M23 m02multidir: trzeci PagesWatcher na patchesDir.
279
+ const patchesWatcher = new PagesWatcher(patchesPages.root, gateway);
260
280
  const referencesService = new ReferencesService(pages, watcher);
261
281
  const sectionsService = new SectionsService(db.handle);
262
282
  sectionsService.setWriteDeps({ pages, watcher });
@@ -284,9 +304,11 @@ export async function startServer(opts) {
284
304
  // PageVersionService akceptuje override serializera w recordVersion(),
285
305
  // wiec dwa serializery dziela jedna instancje wersjonowania.
286
306
  const briefsSerializer = new PageSerializer(briefsPages);
307
+ // M23: serializer dla patchesDir (analogicznie do briefsSerializer).
308
+ const patchesSerializer = new PageSerializer(patchesPages);
287
309
  const pageVersions = new PageVersionService(db.handle, pageSerializer);
288
- // M21 m02fmidx: in-memory frontmatter indexer feeded przez oba watchery.
289
- const pagesFrontmatterIndexer = new PagesFrontmatterIndexer(pages, briefsPages, gateway);
310
+ // M21 m02fmidx / M23: in-memory frontmatter indexer feeded przez trzy watchery.
311
+ const pagesFrontmatterIndexer = new PagesFrontmatterIndexer(pages, briefsPages, patchesPages, gateway);
290
312
  // Mount all active backend modules — each plugin constructs its own service,
291
313
  // mounts its router, registers its MCP server, and wires its id resolver via
292
314
  // the supplied MountContext. Inactive plugins are skipped (config.entities).
@@ -329,6 +351,16 @@ export async function startServer(opts) {
329
351
  releaseService,
330
352
  frontmatterIndexer: pagesFrontmatterIndexer,
331
353
  });
354
+ // M23: PatchService — top-level (nie plugin), wzorzec analogiczny do
355
+ // BriefService. Mountowany router /api/patches poniżej.
356
+ const patchService = new PatchService({
357
+ patchesPages,
358
+ patchesWatcher,
359
+ patchesSerializer,
360
+ pageVersions,
361
+ chatService,
362
+ frontmatterIndexer: pagesFrontmatterIndexer,
363
+ });
332
364
  app.use('/api', pluginHostRouter(pluginHost));
333
365
  app.use('/api/pages', pagesRouter(pages, watcher, pageVersions));
334
366
  app.use('/api/tags', tagsRouter(tagsService, referencesService));
@@ -341,6 +373,7 @@ export async function startServer(opts) {
341
373
  app.use('/api/plans', plansRouter(planService));
342
374
  app.use('/api/releases', releasesRouter(releaseService, gateway));
343
375
  app.use('/api/briefs', briefsRouter(briefService, pageVersions));
376
+ app.use('/api/patches', patchesRouter(patchService));
344
377
  app.use('/api/chat', chatRouter({
345
378
  chatService,
346
379
  pagesService: pages,
@@ -348,6 +381,7 @@ export async function startServer(opts) {
348
381
  sectionsService,
349
382
  planService,
350
383
  briefService,
384
+ patchService,
351
385
  pageVersions,
352
386
  skillResolver,
353
387
  skillRegistry,
@@ -404,8 +438,25 @@ export async function startServer(opts) {
404
438
  });
405
439
  }
406
440
  });
441
+ // M23: trzeci watcher dla patchesDir — analogicznie do briefsWatcher.
442
+ patchesWatcher.onChange((relPath, kind) => {
443
+ if (kind === 'unlink') {
444
+ pagesFrontmatterIndexer.handleUnlink('patches', relPath);
445
+ pageVersions.recordVersion(relPath, 'delete', 'filesystem', undefined, patchesSerializer, 'patch').catch((err) => {
446
+ console.warn(`[page-version] patch delete capture for ${relPath}:`, err.message);
447
+ });
448
+ }
449
+ else {
450
+ pagesFrontmatterIndexer.schedulePage('patches', relPath);
451
+ const op = kind === 'add' && !pageVersions.hasAny(relPath) ? 'create' : 'update';
452
+ pageVersions.recordVersion(relPath, op, 'filesystem', undefined, patchesSerializer, 'patch').catch((err) => {
453
+ console.warn(`[page-version] patch capture for ${relPath}:`, err.message);
454
+ });
455
+ }
456
+ });
407
457
  watcher.start();
408
458
  briefsWatcher.start();
459
+ patchesWatcher.start();
409
460
  sectionIndexer.indexAll().catch((err) => {
410
461
  console.error('[section-indexer] initial indexAll failed:', err);
411
462
  });
@@ -416,12 +467,17 @@ export async function startServer(opts) {
416
467
  console.error('[pages-link-indexer] initial indexAll failed:', err);
417
468
  });
418
469
  // M17: initial sync of page_version. For each markdown file with no captured
419
- // version, write `op = 'create'` baseline so the first release picks it up.
470
+ // version or whose latest captured version is a `delete` tombstone while the
471
+ // file is back on disk — write an `op = 'create'` baseline. The latter case
472
+ // covers delete+recreate that happened while the server wasn't watching
473
+ // (server down, `git checkout` between restarts): without this, the phantom
474
+ // `delete` stays the latest row and release diffs show the page as removed.
420
475
  (async () => {
421
476
  try {
422
477
  const files = await pages.listMarkdownFiles();
423
478
  for (const relPath of files) {
424
- if (pageVersions.hasAny(relPath))
479
+ const latest = pageVersions.getLatestForPath(relPath);
480
+ if (latest && latest.op !== 'delete')
425
481
  continue;
426
482
  await pageVersions.recordVersion(relPath, 'create', 'filesystem');
427
483
  }
@@ -443,6 +499,18 @@ export async function startServer(opts) {
443
499
  catch (err) {
444
500
  console.warn('[page-version] briefs initial sync failed:', err.message);
445
501
  }
502
+ // M23: initial sync — page_version baseline dla patchy.
503
+ try {
504
+ const files = await patchesPages.listMarkdownFiles();
505
+ for (const relPath of files) {
506
+ if (pageVersions.hasAny(relPath))
507
+ continue;
508
+ await pageVersions.recordVersion(relPath, 'create', 'filesystem', undefined, patchesSerializer, 'patch');
509
+ }
510
+ }
511
+ catch (err) {
512
+ console.warn('[page-version] patches initial sync failed:', err.message);
513
+ }
446
514
  try {
447
515
  await pagesFrontmatterIndexer.indexAll();
448
516
  }
@@ -464,6 +532,7 @@ export async function startServer(opts) {
464
532
  shutdown: async () => {
465
533
  await watcher.close();
466
534
  await briefsWatcher.close();
535
+ await patchesWatcher.close();
467
536
  await gateway.close();
468
537
  await closeAssets();
469
538
  db.close();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { TagsService } from '../services/tags.js';
5
5
  import type { SectionsService } from '../services/sections.js';
6
6
  import type { PlanService } from '../services/plan.js';
7
7
  import type { BriefService } from '../services/brief.js';
8
+ import type { PatchService } from '../services/patch.js';
8
9
  import type { PageVersionService } from '../services/page-version.js';
9
10
  import type { SkillResolver, SkillRegistry } from '../services/skill-registry.js';
10
11
  import type { WsGateway } from '../ws/gateway.js';
@@ -16,6 +17,7 @@ interface ChatRouterDeps {
16
17
  sectionsService: SectionsService;
17
18
  planService: PlanService;
18
19
  briefService: BriefService;
20
+ patchService: PatchService;
19
21
  pageVersions: PageVersionService;
20
22
  skillResolver: SkillResolver;
21
23
  skillRegistry: SkillRegistry;
@@ -129,6 +129,9 @@ export function chatRouter(deps) {
129
129
  deps.chatService.updateTitle(thread.id, title || '(annotations only)');
130
130
  }
131
131
  const isBrief = thread.contextType === 'brief';
132
+ // M23: patch threads keep the FULL spec-editing toolset (isBrief stays
133
+ // false) — their job is to edit the spec. Only the system prompt differs.
134
+ const isPatch = thread.contextType === 'patch';
132
135
  // M21: dla brief context czytamy aktualny snapshot brief'u (frontmatter+body+hash)
133
136
  // i wkladamy do system promptu. Skip kosztownych obliczen pageCount/entityCounts
134
137
  // (irrelewantne dla brief author).
@@ -143,6 +146,16 @@ export function chatRouter(deps) {
143
146
  console.warn(`[chat] brief read failed for ${thread.briefPath}:`, err.message);
144
147
  }
145
148
  }
149
+ // M23: dla patch context czytamy snapshot patcha i wkladamy do system promptu.
150
+ let patchSnapshot = null;
151
+ if (isPatch && thread.patchPath) {
152
+ try {
153
+ patchSnapshot = await deps.patchService.getPatch(thread.patchPath);
154
+ }
155
+ catch (err) {
156
+ console.warn(`[chat] patch read failed for ${thread.patchPath}:`, err.message);
157
+ }
158
+ }
146
159
  let currentPageBody = null;
147
160
  if (!isBrief && currentPage) {
148
161
  try {
@@ -202,6 +215,7 @@ export function chatRouter(deps) {
202
215
  writingStyle,
203
216
  contextType: thread.contextType,
204
217
  brief: briefSnapshot,
218
+ patch: patchSnapshot,
205
219
  });
206
220
  // claude-code CLI po resumeSessionId ignoruje kolejne systemPrompty —
207
221
  // wiążący dla audytu jest tylko pierwszy. UPDATE idempotentny (no-op na 2.+ turze).
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/routes/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/routes/chat.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,10 @@ const STATUS_FOR_CODE = {
19
19
  BRIEF_INVALID_FRONTMATTER: 400,
20
20
  BRIEF_CONFLICT: 409,
21
21
  PAGE_CONFLICT: 409,
22
+ // M23 Patches
23
+ PATCH_CONFLICT: 409,
24
+ PATCH_FRONTMATTER_IMMUTABLE: 400,
25
+ PATCH_INVALID_FRONTMATTER: 400,
22
26
  };
23
27
  export const errorHandler = (err, _req, res, _next) => {
24
28
  if (err instanceof ConflictError) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/server/routes/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,eAAe,GAA2B;IAC9C,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,GAAG;IACf,iBAAiB,EAAE,GAAG;IACtB,iBAAiB,EAAE,GAAG;IACtB,cAAc,EAAE,GAAG;IACnB,MAAM;IACN,qBAAqB,EAAE,GAAG;IAC1B,4BAA4B,EAAE,GAAG;IACjC,cAAc,EAAE,GAAG;IACnB,eAAe,EAAE,GAAG;IACpB,aAAa;IACb,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,yBAAyB,EAAE,GAAG;IAC9B,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,GAAG;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACzE,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;YAC/C,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/server/routes/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,eAAe,GAA2B;IAC9C,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,GAAG;IACf,iBAAiB,EAAE,GAAG;IACtB,iBAAiB,EAAE,GAAG;IACtB,cAAc,EAAE,GAAG;IACnB,MAAM;IACN,qBAAqB,EAAE,GAAG;IAC1B,4BAA4B,EAAE,GAAG;IACjC,cAAc,EAAE,GAAG;IACnB,eAAe,EAAE,GAAG;IACpB,aAAa;IACb,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,yBAAyB,EAAE,GAAG;IAC9B,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,GAAG;IAClB,cAAc;IACd,cAAc,EAAE,GAAG;IACnB,2BAA2B,EAAE,GAAG;IAChC,yBAAyB,EAAE,GAAG;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACzE,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;YAC/C,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Router } from 'express';
2
+ import type { PatchService } from '../services/patch.js';
3
+ /**
4
+ * M23 REST routes (tag `m23-patches`). Path is splat (`/api/patches/<path>`)
5
+ * so nested filenames are supported, consistent with `/api/pages/*` and
6
+ * `/api/briefs/*`.
7
+ */
8
+ export declare function patchesRouter(patches: PatchService): Router;
@@ -0,0 +1,106 @@
1
+ import { Router } from 'express';
2
+ import { DomainError } from '../services/tags.js';
3
+ /**
4
+ * M23 REST routes (tag `m23-patches`). Path is splat (`/api/patches/<path>`)
5
+ * so nested filenames are supported, consistent with `/api/pages/*` and
6
+ * `/api/briefs/*`.
7
+ */
8
+ export function patchesRouter(patches) {
9
+ const router = Router();
10
+ // GET /api/patches?brief=<path>&status=awaiting|completed
11
+ router.get('/', (req, res, next) => {
12
+ try {
13
+ const brief = typeof req.query.brief === 'string' ? req.query.brief : undefined;
14
+ const status = parseStatusQuery(req.query.status);
15
+ res.json({ data: patches.listPatches({ brief, status }) });
16
+ }
17
+ catch (err) {
18
+ next(err);
19
+ }
20
+ });
21
+ // POST /api/patches/<path>/threads — "Change spec according to patch"
22
+ router.post('/*/threads', async (req, res, next) => {
23
+ try {
24
+ const patchPath = extractPath(req.params);
25
+ const body = (req.body ?? {});
26
+ const result = await patches.createThreadForPatch(patchPath, body.name ?? null);
27
+ res.json({ data: result });
28
+ }
29
+ catch (err) {
30
+ next(err);
31
+ }
32
+ });
33
+ // PUT /api/patches/<path>/content — overwrite, optimistic concurrency
34
+ router.put('/*/content', async (req, res, next) => {
35
+ try {
36
+ const patchPath = extractPath(req.params);
37
+ const body = (req.body ?? {});
38
+ if (typeof body.content !== 'string') {
39
+ throw new DomainError('VALIDATION', 'content is required');
40
+ }
41
+ if (typeof body.expectedHash !== 'string') {
42
+ throw new DomainError('VALIDATION', 'expectedHash is required for patch content updates');
43
+ }
44
+ const out = await patches.updateContent({
45
+ path: patchPath,
46
+ content: body.content,
47
+ expectedHash: body.expectedHash,
48
+ });
49
+ res.json({ data: out });
50
+ }
51
+ catch (err) {
52
+ next(err);
53
+ }
54
+ });
55
+ // PATCH /api/patches/<path>/frontmatter — accepts ONLY `status`.
56
+ router.patch('/*/frontmatter', async (req, res, next) => {
57
+ try {
58
+ const patchPath = extractPath(req.params);
59
+ const body = (req.body ?? {});
60
+ const invalid = Object.keys(body).filter((k) => k !== 'status');
61
+ if (invalid.length > 0) {
62
+ throw new DomainError('PATCH_FRONTMATTER_IMMUTABLE', `cannot mutate immutable frontmatter keys: ${invalid.join(', ')} (only 'status' is mutable via this endpoint)`);
63
+ }
64
+ if (body.status !== 'awaiting' && body.status !== 'completed') {
65
+ throw new DomainError('VALIDATION', "status must be 'awaiting' or 'completed'");
66
+ }
67
+ const out = await patches.updateFrontmatter({ path: patchPath, status: body.status });
68
+ res.json({ data: out });
69
+ }
70
+ catch (err) {
71
+ next(err);
72
+ }
73
+ });
74
+ // GET /api/patches/<path> — detail (must be LAST so the more specific
75
+ // /*/threads, /*/content, /*/frontmatter routes match first).
76
+ router.get('/*', async (req, res, next) => {
77
+ try {
78
+ const patchPath = extractPath(req.params);
79
+ const patch = await patches.getPatch(patchPath);
80
+ const threads = patches.listThreadsForPatch(patchPath);
81
+ res.json({ data: { ...patch, threads } });
82
+ }
83
+ catch (err) {
84
+ next(err);
85
+ }
86
+ });
87
+ return router;
88
+ }
89
+ function parseStatusQuery(raw) {
90
+ if (raw === undefined)
91
+ return undefined;
92
+ if (raw === 'awaiting' || raw === 'completed')
93
+ return raw;
94
+ throw new DomainError('VALIDATION', `?status must be 'awaiting' or 'completed' (omit for all)`);
95
+ }
96
+ /**
97
+ * Express splat (`/*`) puts ONLY the matched wildcard portion in
98
+ * `req.params[0]`. Literal segments (`/threads`, `/content`, …) are stripped.
99
+ */
100
+ function extractPath(params) {
101
+ const splat = params[0];
102
+ if (!splat)
103
+ throw new DomainError('VALIDATION', 'missing patch path');
104
+ return splat;
105
+ }
106
+ //# sourceMappingURL=patches.js.map