@inharness-ai/claude4spec 1.0.20 → 1.0.21

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 (106) hide show
  1. package/.claude/skills/c4s-brief-implementer/SKILL.md +6 -13
  2. package/CHANGELOG.md +13 -0
  3. package/dist/client/assets/{arc-qrIe4IVl.js → arc-Coa9fbDO.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CF6sgG8n.js → architectureDiagram-3BPJPVTR-VJZcRMEN.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-Cf8Tx0VN.js → blockDiagram-GPEHLZMM-C7dU2lW1.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-BDkuMEyf.js → c4Diagram-AAUBKEIU-CG_BBm_5.js} +1 -1
  7. package/dist/client/assets/channel-D5gzBvo7.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-ChycTonk.js → chunk-2J33WTMH-BnS95YpK.js} +1 -1
  9. package/dist/client/assets/{chunk-4BX2VUAB-BpUgWjxx.js → chunk-4BX2VUAB-COr8w3X3.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-CeHg_yjT.js → chunk-55IACEB6-CxrIbZhB.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-BpxYq7ab.js → chunk-727SXJPM-DRchPPRe.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-bghkOtr6.js → chunk-AQP2D5EJ-_SfN7mED.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-4sXokGgd.js → chunk-FMBD7UC4-p2tIiP1D.js} +1 -1
  14. package/dist/client/assets/{chunk-ND2GUHAM-DYQOCE5T.js → chunk-ND2GUHAM-B1mbl2hP.js} +1 -1
  15. package/dist/client/assets/{chunk-QZHKN3VN-NkVuDlFD.js → chunk-QZHKN3VN-DBUpeqvS.js} +1 -1
  16. package/dist/client/assets/classDiagram-4FO5ZUOK-CT-amIxa.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CT-amIxa.js +1 -0
  18. package/dist/client/assets/{cose-bilkent-S5V4N54A-1l4P4WRI.js → cose-bilkent-S5V4N54A-BBsY5aKD.js} +1 -1
  19. package/dist/client/assets/{dagre-BM42HDAG-CSQie-gR.js → dagre-BM42HDAG-b-vu4RC9.js} +1 -1
  20. package/dist/client/assets/{diagram-2AECGRRQ-DME9ULoN.js → diagram-2AECGRRQ-j-DW9qSf.js} +1 -1
  21. package/dist/client/assets/{diagram-5GNKFQAL-Dn1Rw5k5.js → diagram-5GNKFQAL-DHX_WYWQ.js} +1 -1
  22. package/dist/client/assets/{diagram-KO2AKTUF-Duh_PNWR.js → diagram-KO2AKTUF-DxdQok_M.js} +1 -1
  23. package/dist/client/assets/{diagram-LMA3HP47-B7Q5pV60.js → diagram-LMA3HP47-BbTIX5c1.js} +1 -1
  24. package/dist/client/assets/{diagram-OG6HWLK6-C0KL_RDd.js → diagram-OG6HWLK6-BQ9ODAlH.js} +1 -1
  25. package/dist/client/assets/{erDiagram-TEJ5UH35-D5elfwSC.js → erDiagram-TEJ5UH35-6lwAL1y9.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-I6XJVG4X-BHmjX-WI.js → flowDiagram-I6XJVG4X-ioSHb5-t.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-6RSMTGT7-KvoGFbS2.js → ganttDiagram-6RSMTGT7-CXFQp9Nj.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DsZL8BfK.js → gitGraphDiagram-PVQCEYII-C1pVD_NQ.js} +1 -1
  29. package/dist/client/assets/index-DyAnw7YN.js +798 -0
  30. package/dist/client/assets/{index-zzILqHQN.js → index-JaAxQJXh.js} +1 -1
  31. package/dist/client/assets/{index-ClaVbrEF.js → index-hz5T_W2e.js} +1 -1
  32. package/dist/client/assets/{infoDiagram-5YYISTIA-DoQ6iSpJ.js → infoDiagram-5YYISTIA-C2Guev-g.js} +1 -1
  33. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-akftyN0J.js → ishikawaDiagram-YF4QCWOH-D3v8VBb2.js} +1 -1
  34. package/dist/client/assets/{journeyDiagram-JHISSGLW-PPex4PiV.js → journeyDiagram-JHISSGLW-DX1AW_Ap.js} +1 -1
  35. package/dist/client/assets/{kanban-definition-UN3LZRKU-D114i3s1.js → kanban-definition-UN3LZRKU-CzXThvq2.js} +1 -1
  36. package/dist/client/assets/{linear-BuwQPJom.js → linear-CVw4gl5i.js} +1 -1
  37. package/dist/client/assets/{mermaid.core-CMX3GAvM.js → mermaid.core-C29eoXRj.js} +4 -4
  38. package/dist/client/assets/{mindmap-definition-RKZ34NQL-ClBxWJju.js → mindmap-definition-RKZ34NQL-DEEGVQVA.js} +1 -1
  39. package/dist/client/assets/{pieDiagram-4H26LBE5-hj5zVPj5.js → pieDiagram-4H26LBE5-Dme-VM6m.js} +1 -1
  40. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CRbR0G7M.js → quadrantDiagram-W4KKPZXB-CURFNo24.js} +1 -1
  41. package/dist/client/assets/{requirementDiagram-4Y6WPE33-Dto4B70I.js → requirementDiagram-4Y6WPE33-DxMZWXME.js} +1 -1
  42. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DyYP8rwY.js → sankeyDiagram-5OEKKPKP-BW64D4_P.js} +1 -1
  43. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-C-mrSLrJ.js → sequenceDiagram-3UESZ5HK-BATRPm8Q.js} +1 -1
  44. package/dist/client/assets/{stateDiagram-AJRCARHV-IoDlhAe6.js → stateDiagram-AJRCARHV-pgHVMnO3.js} +1 -1
  45. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-szm_LIuD.js +1 -0
  46. package/dist/client/assets/{timeline-definition-PNZ67QCA-DEXg3TEw.js → timeline-definition-PNZ67QCA-qBxJZPWd.js} +1 -1
  47. package/dist/client/assets/{vennDiagram-CIIHVFJN-CNu7LaT1.js → vennDiagram-CIIHVFJN-BZJK9hqJ.js} +1 -1
  48. package/dist/client/assets/{wardley-L42UT6IY-0hGvREmD.js → wardley-L42UT6IY-BobtgEXg.js} +1 -1
  49. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CVLz-xFz.js → wardleyDiagram-YWT4CUSO-DuWfX_-P.js} +1 -1
  50. package/dist/client/assets/{xychartDiagram-2RQKCTM6-CFymKAcX.js → xychartDiagram-2RQKCTM6-DCw1iURo.js} +1 -1
  51. package/dist/client/index.html +1 -1
  52. package/dist/server/core/plugin-host/entities-router.d.ts +2 -1
  53. package/dist/server/core/plugin-host/entities-router.js +16 -1
  54. package/dist/server/core/plugin-host/entities-router.js.map +1 -1
  55. package/dist/server/db/migrations/041_chat_thread_transagent.sql +22 -0
  56. package/dist/server/index.js +16 -0
  57. package/dist/server/index.js.map +1 -1
  58. package/dist/server/mcp/release-tools/index.d.ts +11 -0
  59. package/dist/server/mcp/release-tools/index.js +68 -5
  60. package/dist/server/mcp/release-tools/index.js.map +1 -1
  61. package/dist/server/mcp/release-tools/projection.d.ts +11 -2
  62. package/dist/server/mcp/release-tools/projection.js +36 -7
  63. package/dist/server/mcp/release-tools/projection.js.map +1 -1
  64. package/dist/server/mcp/release-tools/types.d.ts +39 -2
  65. package/dist/server/mcp/transagent-tools.d.ts +26 -0
  66. package/dist/server/mcp/transagent-tools.js +75 -0
  67. package/dist/server/mcp/transagent-tools.js.map +1 -0
  68. package/dist/server/routes/agent-turn.d.ts +9 -0
  69. package/dist/server/routes/agent-turn.js +58 -1
  70. package/dist/server/routes/agent-turn.js.map +1 -1
  71. package/dist/server/routes/briefs.js +12 -4
  72. package/dist/server/routes/briefs.js.map +1 -1
  73. package/dist/server/routes/chat.js +18 -0
  74. package/dist/server/routes/chat.js.map +1 -1
  75. package/dist/server/routes/plans.js +13 -0
  76. package/dist/server/routes/plans.js.map +1 -1
  77. package/dist/server/routes/threads.js +9 -2
  78. package/dist/server/routes/threads.js.map +1 -1
  79. package/dist/server/services/brief.d.ts +30 -8
  80. package/dist/server/services/brief.js +58 -28
  81. package/dist/server/services/brief.js.map +1 -1
  82. package/dist/server/services/chat-context.js +10 -6
  83. package/dist/server/services/chat-context.js.map +1 -1
  84. package/dist/server/services/chat.d.ts +12 -1
  85. package/dist/server/services/chat.js +56 -21
  86. package/dist/server/services/chat.js.map +1 -1
  87. package/dist/server/services/entity-indexer.js +21 -14
  88. package/dist/server/services/entity-indexer.js.map +1 -1
  89. package/dist/server/services/plan.d.ts +7 -1
  90. package/dist/server/services/plan.js +17 -4
  91. package/dist/server/services/plan.js.map +1 -1
  92. package/dist/server/services/transagent-dispatcher.d.ts +60 -0
  93. package/dist/server/services/transagent-dispatcher.js +147 -0
  94. package/dist/server/services/transagent-dispatcher.js.map +1 -0
  95. package/dist/server/skills/brief-author/SKILL.md +26 -17
  96. package/dist/server/workspace/project-context.js +2 -1
  97. package/dist/server/workspace/project-context.js.map +1 -1
  98. package/dist/shared/entities.d.ts +46 -3
  99. package/dist/shared/entities.js +1 -0
  100. package/dist/shared/entities.js.map +1 -1
  101. package/package.json +1 -1
  102. package/dist/client/assets/channel-CTF_J4I4.js +0 -1
  103. package/dist/client/assets/classDiagram-4FO5ZUOK-Dt9RLC8r.js +0 -1
  104. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Dt9RLC8r.js +0 -1
  105. package/dist/client/assets/index-DnLELaLA.js +0 -798
  106. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BblFLijq.js +0 -1
@@ -37,6 +37,10 @@ export class BriefService {
37
37
  if (frontmatter.type !== 'brief') {
38
38
  throw new DomainError('BRIEF_INVALID_FRONTMATTER', `file '${path}' is not a brief (frontmatter.type=${JSON.stringify(frontmatter.type)})`);
39
39
  }
40
+ // 0.1.69: legacy briefs predate `source` — default to 'release-diff' at parse
41
+ // time so the field is always present downstream (DTO, immutability diffing).
42
+ if (frontmatter.source !== 'analysis')
43
+ frontmatter.source = 'release-diff';
40
44
  return {
41
45
  path,
42
46
  frontmatter,
@@ -57,11 +61,15 @@ export class BriefService {
57
61
  out.push({
58
62
  path: rec.path,
59
63
  title: typeof fm.title === 'string' ? fm.title : null,
64
+ // 0.1.69: legacy briefs predate `source` — default to 'release-diff'.
65
+ source: fm.source === 'analysis' ? 'analysis' : 'release-diff',
60
66
  fromRelease: typeof fm.from_release === 'string' ? fm.from_release : null,
61
- toRelease: String(fm.to_release ?? ''),
67
+ // 0.1.69: analysis briefs carry `to_release: null` → toRelease stays null.
68
+ toRelease: typeof fm.to_release === 'string' ? fm.to_release : null,
62
69
  implemented,
63
70
  generatedAt: String(fm.generated_at ?? ''),
64
71
  lastModifiedAt: lastVersion?.createdAt ?? null,
72
+ threadCount: this.deps.chatService.threadCountForBrief(rec.path),
65
73
  });
66
74
  }
67
75
  return out;
@@ -75,37 +83,60 @@ export class BriefService {
75
83
  }));
76
84
  }
77
85
  // ─── Mutations ──────────────────────────────────────────────────────────
86
+ /**
87
+ * 0.1.69: file-only brief creation (writes file + page_version + index, NO
88
+ * thread). Callers pair this with {@link createThreadForBrief}. `content`
89
+ * carries a pre-synthesized body for analysis briefs; else a generated stub.
90
+ *
91
+ * Validation matrix (from, to):
92
+ * - (null, set) → initial brief
93
+ * - (set, set) → release-diff brief
94
+ * - (set, null) → analysis brief (state relative to HEAD)
95
+ * - (null, null) → 400 VALIDATION
96
+ * When `to=null` (analysis) the BRIEF_SAME_RELEASE guard and the
97
+ * `getRelease(toName)` existence check are skipped.
98
+ */
78
99
  async createBrief(opts) {
100
+ const source = opts.source ?? 'release-diff';
79
101
  const fromName = opts.fromReleaseName === null ? null : opts.fromReleaseName.trim();
80
- const toName = opts.toReleaseName.trim();
81
- if (!toName) {
82
- throw new DomainError('VALIDATION', 'toReleaseName is required');
102
+ const toName = opts.toReleaseName === null ? null : opts.toReleaseName.trim();
103
+ if (fromName === null && toName === null) {
104
+ throw new DomainError('VALIDATION', 'at least one of fromReleaseName / toReleaseName is required');
83
105
  }
84
106
  if (fromName !== null && fromName.length === 0) {
85
107
  throw new DomainError('VALIDATION', 'fromReleaseName must be non-empty (or null for initial brief)');
86
108
  }
87
- if (fromName !== null && fromName === toName) {
88
- throw new DomainError('BRIEF_SAME_RELEASE', 'from_release must differ from to_release');
109
+ if (toName !== null && toName.length === 0) {
110
+ throw new DomainError('VALIDATION', 'toReleaseName must be non-empty (or null for analysis brief)');
89
111
  }
90
- // Validate releases exist (throws NOT_FOUND if missing). `fromName === null`
91
- // initial brief, brak `fromRelease` do walidacji.
112
+ // 0.1.69: analysis briefs (to=null) compare against HEAD skip same-release
113
+ // guard and the target-release existence check.
114
+ if (toName !== null) {
115
+ if (fromName !== null && fromName === toName) {
116
+ throw new DomainError('BRIEF_SAME_RELEASE', 'from_release must differ from to_release');
117
+ }
118
+ this.deps.releaseService.getRelease(toName);
119
+ }
120
+ // Validate the source release exists (throws NOT_FOUND if missing). `fromName
121
+ // === null` ⇒ initial brief, no fromRelease to validate.
92
122
  if (fromName !== null)
93
123
  this.deps.releaseService.getRelease(fromName);
94
- this.deps.releaseService.getRelease(toName);
95
124
  const briefPath = await this.allocatePath(fromName, toName, opts.suffix);
96
- // opts.additionalPrompt is intentionally not persisted — klient dokleja go
97
- // do pierwszej user-message w initial-thread po redirect.
98
125
  const frontmatter = {
99
126
  type: 'brief',
127
+ source,
100
128
  from_release: fromName,
101
129
  to_release: toName,
102
130
  generated_at: new Date().toISOString(),
103
131
  generator_version: GENERATOR_VERSION,
104
132
  implemented: false,
105
133
  };
106
- const body = fromName === null
107
- ? `# Initial brief: ${toName}\n`
108
- : `# Brief: ${fromName} → ${toName}\n`;
134
+ const body = opts.content ??
135
+ (toName === null
136
+ ? `# Analysis brief: ${fromName} → (next)\n`
137
+ : fromName === null
138
+ ? `# Initial brief: ${toName}\n`
139
+ : `# Brief: ${fromName} → ${toName}\n`);
109
140
  const fullContent = matter.stringify(body, frontmatter);
110
141
  const abs = this.absPath(briefPath);
111
142
  await fs.mkdir(path.dirname(abs), { recursive: true });
@@ -115,14 +146,7 @@ export class BriefService {
115
146
  // Re-sync indexer immediately (faster than waiting for watcher debounce —
116
147
  // the new brief should appear in `/briefs` list right after POST returns).
117
148
  await this.deps.frontmatterIndexer.indexPage('briefs', briefPath);
118
- const threadTitle = fromName === null
119
- ? `Initial brief: ${toName}`
120
- : `Brief: ${fromName} → ${toName}`;
121
- const initialThread = this.deps.chatService.createThread(threadTitle, {
122
- contextType: 'brief',
123
- briefPath,
124
- });
125
- return { briefPath, initialThreadId: initialThread.id };
149
+ return { briefPath };
126
150
  }
127
151
  async updateContent(opts) {
128
152
  const current = await this.getBrief(opts.path);
@@ -176,10 +200,12 @@ export class BriefService {
176
200
  await this.deps.frontmatterIndexer.indexPage('briefs', opts.path);
177
201
  return this.getBrief(opts.path);
178
202
  }
179
- createThreadForBrief(briefPath, name) {
180
- const thread = this.deps.chatService.createThread(name ?? `Brief edit: ${briefPath}`, {
203
+ createThreadForBrief(opts) {
204
+ const thread = this.deps.chatService.createThread(opts.name ?? `Brief edit: ${opts.path}`, {
181
205
  contextType: 'brief',
182
- briefPath,
206
+ briefPath: opts.path,
207
+ parentThreadId: opts.parentThreadId ?? null,
208
+ spawnedByToolUseId: opts.spawnedByToolUseId ?? null,
183
209
  });
184
210
  return { threadId: thread.id };
185
211
  }
@@ -188,9 +214,13 @@ export class BriefService {
188
214
  return path.join(this.deps.briefsPages.root, relPath);
189
215
  }
190
216
  async allocatePath(fromName, toName, suffix) {
191
- const base = fromName === null
192
- ? `initial-${slugify(toName)}${suffix ? `-${slugify(suffix)}` : ''}`
193
- : `${slugify(fromName)}-to-${slugify(toName)}${suffix ? `-${slugify(suffix)}` : ''}`;
217
+ const suf = suffix ? `-${slugify(suffix)}` : '';
218
+ // 0.1.69: analysis brief (to=null) `{from-slug}-to-next[-{suffix}].md`.
219
+ const base = toName === null
220
+ ? `${slugify(fromName ?? 'head')}-to-next${suf}`
221
+ : fromName === null
222
+ ? `initial-${slugify(toName)}${suf}`
223
+ : `${slugify(fromName)}-to-${slugify(toName)}${suf}`;
194
224
  let candidate = `${base}.md`;
195
225
  let n = 2;
196
226
  while (await this.deps.briefsPages.exists(candidate)) {
@@ -1 +1 @@
1
- {"version":3,"file":"brief.js","sourceRoot":"","sources":["../../../src/server/services/brief.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brief.js","sourceRoot":"","sources":["../../../src/server/services/brief.ts"],"names":[],"mappings":"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"}
@@ -273,15 +273,19 @@ Tools: Read/Grep/Glob over the project, plus read-only entity-graph MCP (get_*/l
273
273
  Hard rules:
274
274
  - NEVER mutate anything (no create/update/delete; you have no such tools).
275
275
  - Report pointers (paths / anchors / slugs), not dumps. The parent decides; you locate.`;
276
- const DIFF_EXPLORE_PROMPT = `You are a read-only explorer of a HISTORICAL release diff for a brief.
276
+ const DIFF_EXPLORE_PROMPT = `You are a read-only explorer of ONE SLICE of a HISTORICAL release diff, working for a brief-author parent.
277
277
 
278
- Your job: explore the \`release_diff\` output (including the on-disk dump the SDK writes when the diff is huge) and report CONCISE findings paths, anchors, slugs back to the parent. You exist to keep the parent's context small.
278
+ The parent hands you a slice — a \`from\`/\`to\` pair plus \`entityTypes\` and/or a \`limit\`/\`offset\` window. Your job: call \`release_diff\` for exactly that slice, absorb its heavy \`before\`/\`after\`/\`content\`, and return a CONCISE DISTILLATE: the concrete facts the parent must inline (each changed entity/section by name, its key signatures / field shapes / SQL / view URLs / file paths, and a one-line framing of the change — including deletions). The bulk stays with you; only the distillate goes back, keeping the parent's context small.
279
279
 
280
- Tools: \`release-tools\` MCP (release_show, release_diff, release_list) and Read/Grep/Glob — the latter ONLY for the release-diff dump file the SDK wrote to disk.
280
+ How to read your slice (windowing is PRIMARY):
281
+ - Normal path: call \`release_diff({ fromIdOrName, toIdOrName, ...slice })\` and read the returned \`MCPReleaseDiff\` directly — the parent already windowed the slice to fit.
282
+ - Fallback ONLY when a single slice is still too large and the SDK dumps the tool result to disk: \`Read\` that dump file. Do not otherwise touch the filesystem.
283
+
284
+ Tools: \`release-tools\` MCP (\`release_diff\`; \`release_show\` / \`release_list\` available but rarely needed) and Read/Grep/Glob — the latter ONLY for a release-diff dump file the SDK wrote to disk.
281
285
 
282
286
  Hard rules:
283
- - Read ONLY the \`release_diff\` output / release artifacts. NEVER read \`pages/*.md\` (current spec state) and NEVER touch the entity graph (get_*/find_references) — those return HEAD and would break the brief's historical self-containment.
284
- - NEVER mutate anything. Report pointers, not dumps.`;
287
+ - Read ONLY \`release_diff\` output / release artifacts. NEVER read \`pages/*.md\` (current spec state) and NEVER touch the entity graph (get_*/find_references) — those return HEAD and would break the brief's historical self-containment.
288
+ - Return the distillate (facts to inline), not raw dumps and not bare pointers. NEVER mutate anything.`;
285
289
  /** Enumerate read-only entity-graph MCP tools as `mcp__<server>__<tool>`. Parses each entity's
286
290
  * `mcpToolsLine` exactly like {@link buildTooling} and keeps only get_ / list_ prefixed tools
287
291
  * (drops mutating create_ / update_ / delete_ / link_ tools). Realizes the brief's get_/list_
@@ -330,7 +334,7 @@ function buildSpecExploreSubagent(pluginHost) {
330
334
  function buildDiffExploreSubagent() {
331
335
  return {
332
336
  name: 'diff-explore',
333
- description: 'Read-only explorer of the HISTORICAL release diff for a brief. Delegate to it to read the (possibly huge, dumped-to-disk) `release_diff` and report concise pointers paths, anchors, slugs without pulling the whole dump into your own context.',
337
+ description: 'Read-only explorer of ONE SLICE of a historical release diff for a brief. Spawn it in parallel (one per disjoint slice) and hand it a `from`/`to` + `entityTypes` and/or `limit`/`offset` window; it calls heavy `release_diff` for that slice, absorbs the bulk, and returns a concise distillate (facts to inline)keeping the whole diff out of your own context.',
334
338
  prompt: DIFF_EXPLORE_PROMPT,
335
339
  tools: [
336
340
  'Read',
@@ -1 +1 @@
1
- {"version":3,"file":"chat-context.js","sourceRoot":"","sources":["../../../src/server/services/chat-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-context.js","sourceRoot":"","sources":["../../../src/server/services/chat-context.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,9 @@ export declare class ChatService {
17
17
  contextType?: ChatContextType;
18
18
  briefPath?: string | null;
19
19
  patchPath?: string | null;
20
+ /** 0.1.69 Transagents: set to mark this thread as a hidden child banka. */
21
+ parentThreadId?: string | null;
22
+ spawnedByToolUseId?: string | null;
20
23
  }): ChatThread;
21
24
  /** M21: list threads attached to a brief (path-keyed lookup). */
22
25
  listThreadsForBrief(briefPath: string): ChatThreadMeta[];
@@ -24,7 +27,15 @@ export declare class ChatService {
24
27
  listThreadsForPatch(patchPath: string): ChatThreadMeta[];
25
28
  /** M23: count threads for a patch (cheap version for list UI). */
26
29
  threadCountForPatch(patchPath: string): number;
27
- listThreads(): ChatThreadMeta[];
30
+ /** 0.1.69 B4: count top-level (non-banka) threads for a brief (list UI). */
31
+ threadCountForBrief(briefPath: string): number;
32
+ /**
33
+ * 0.1.69 Transagents (F5 reconstruction): resolve a child banka from the
34
+ * parent's stored `tool_use(runTransagent)` row via (parent_thread_id,
35
+ * spawned_by_tool_use_id). Returns the most recent match, or null.
36
+ */
37
+ findChildThread(parentThreadId: string, spawnedByToolUseId: string): ChatThread | null;
38
+ listThreads(limit?: number, offset?: number): ChatThreadMeta[];
28
39
  getThread(id: string, limit?: number, offset?: number): {
29
40
  thread: ChatThread;
30
41
  messages: ChatMessage[];
@@ -2,6 +2,19 @@ import { nanoid } from 'nanoid';
2
2
  import { DomainError } from './tags.js';
3
3
  /** Hard cap on pending queued messages per thread (→ 400 QUEUE_FULL). */
4
4
  export const QUEUE_LIMIT = 20;
5
+ /**
6
+ * Column list for thread *list* projections (ChatThreadMeta). Deliberately omits
7
+ * the potentially-large `initial_system_prompt` blob (up to ~85 KB/row, ~10 MB
8
+ * across this DB) — a list only needs the boolean `has_system_prompt`; the full
9
+ * prompt is fetched on demand elsewhere. Mirrors exactly the fields
10
+ * `hydrateThread()` reads, so the `as ChatThreadRow` cast stays sound.
11
+ */
12
+ const THREAD_META_COLUMNS = `t.id, t.title, t.last_session_id,
13
+ t.initial_architecture_config_json, t.current_todo_items, t.plan_mode,
14
+ t.last_usage_json, t.last_context_size, t.plan_id, t.last_seen_plan_version,
15
+ t.context_type, t.brief_path, t.patch_path, t.parent_thread_id,
16
+ t.spawned_by_tool_use_id, t.created_at, t.updated_at,
17
+ (t.initial_system_prompt IS NOT NULL) AS has_system_prompt`;
5
18
  export class ChatService {
6
19
  db;
7
20
  constructor(db) {
@@ -12,6 +25,8 @@ export class ChatService {
12
25
  const contextType = opts.contextType ?? 'chat';
13
26
  const briefPath = opts.briefPath ?? null;
14
27
  const patchPath = opts.patchPath ?? null;
28
+ const parentThreadId = opts.parentThreadId ?? null;
29
+ const spawnedByToolUseId = opts.spawnedByToolUseId ?? null;
15
30
  // Invariant L2: context_type='brief' ⇒ brief_path IS NOT NULL.
16
31
  if (contextType === 'brief' && !briefPath) {
17
32
  throw new DomainError('VALIDATION', "context_type='brief' requires brief_path");
@@ -21,21 +36,19 @@ export class ChatService {
21
36
  throw new DomainError('VALIDATION', "context_type='patch' requires patch_path");
22
37
  }
23
38
  this.db
24
- .prepare(`INSERT INTO chat_thread (id, title, context_type, brief_path, patch_path)
25
- VALUES (?, ?, ?, ?, ?)`)
26
- .run(id, title, contextType, briefPath, patchPath);
39
+ .prepare(`INSERT INTO chat_thread (id, title, context_type, brief_path, patch_path, parent_thread_id, spawned_by_tool_use_id)
40
+ VALUES (?, ?, ?, ?, ?, ?, ?)`)
41
+ .run(id, title, contextType, briefPath, patchPath, parentThreadId, spawnedByToolUseId);
27
42
  return this.getThreadRow(id);
28
43
  }
29
44
  /** M21: list threads attached to a brief (path-keyed lookup). */
30
45
  listThreadsForBrief(briefPath) {
31
46
  const rows = this.db
32
- .prepare(`SELECT t.*,
33
- COUNT(m.id) AS message_count,
34
- (t.initial_system_prompt IS NOT NULL) AS has_system_prompt
47
+ .prepare(`SELECT ${THREAD_META_COLUMNS},
48
+ (SELECT COUNT(*) FROM chat_message m WHERE m.thread_id = t.id) AS message_count
35
49
  FROM chat_thread t
36
- LEFT JOIN chat_message m ON m.thread_id = t.id
37
50
  WHERE t.brief_path = ? AND t.context_type = 'brief'
38
- GROUP BY t.id
51
+ AND t.parent_thread_id IS NULL
39
52
  ORDER BY t.updated_at DESC`)
40
53
  .all(briefPath);
41
54
  return rows.map((r) => ({
@@ -46,13 +59,11 @@ export class ChatService {
46
59
  /** M23: list threads attached to a patch (path-keyed lookup). */
47
60
  listThreadsForPatch(patchPath) {
48
61
  const rows = this.db
49
- .prepare(`SELECT t.*,
50
- COUNT(m.id) AS message_count,
51
- (t.initial_system_prompt IS NOT NULL) AS has_system_prompt
62
+ .prepare(`SELECT ${THREAD_META_COLUMNS},
63
+ (SELECT COUNT(*) FROM chat_message m WHERE m.thread_id = t.id) AS message_count
52
64
  FROM chat_thread t
53
- LEFT JOIN chat_message m ON m.thread_id = t.id
54
65
  WHERE t.patch_path = ? AND t.context_type = 'patch'
55
- GROUP BY t.id
66
+ AND t.parent_thread_id IS NULL
56
67
  ORDER BY t.updated_at DESC`)
57
68
  .all(patchPath);
58
69
  return rows.map((r) => ({
@@ -63,20 +74,42 @@ export class ChatService {
63
74
  /** M23: count threads for a patch (cheap version for list UI). */
64
75
  threadCountForPatch(patchPath) {
65
76
  const row = this.db
66
- .prepare(`SELECT COUNT(*) AS n FROM chat_thread WHERE patch_path = ? AND context_type = 'patch'`)
77
+ .prepare(`SELECT COUNT(*) AS n FROM chat_thread WHERE patch_path = ? AND context_type = 'patch' AND parent_thread_id IS NULL`)
67
78
  .get(patchPath);
68
79
  return row.n;
69
80
  }
70
- listThreads() {
71
- const rows = this.db
81
+ /** 0.1.69 B4: count top-level (non-banka) threads for a brief (list UI). */
82
+ threadCountForBrief(briefPath) {
83
+ const row = this.db
84
+ .prepare(`SELECT COUNT(*) AS n FROM chat_thread WHERE brief_path = ? AND context_type = 'brief' AND parent_thread_id IS NULL`)
85
+ .get(briefPath);
86
+ return row.n;
87
+ }
88
+ /**
89
+ * 0.1.69 Transagents (F5 reconstruction): resolve a child banka from the
90
+ * parent's stored `tool_use(runTransagent)` row via (parent_thread_id,
91
+ * spawned_by_tool_use_id). Returns the most recent match, or null.
92
+ */
93
+ findChildThread(parentThreadId, spawnedByToolUseId) {
94
+ const row = this.db
72
95
  .prepare(`SELECT t.*,
73
- COUNT(m.id) AS message_count,
74
96
  (t.initial_system_prompt IS NOT NULL) AS has_system_prompt
75
97
  FROM chat_thread t
76
- LEFT JOIN chat_message m ON m.thread_id = t.id
77
- GROUP BY t.id
78
- ORDER BY t.updated_at DESC`)
79
- .all();
98
+ WHERE t.parent_thread_id = ? AND t.spawned_by_tool_use_id = ?
99
+ ORDER BY t.created_at DESC
100
+ LIMIT 1`)
101
+ .get(parentThreadId, spawnedByToolUseId);
102
+ return row ? this.hydrateThread(row) : null;
103
+ }
104
+ listThreads(limit = 20, offset = 0) {
105
+ const rows = this.db
106
+ .prepare(`SELECT ${THREAD_META_COLUMNS},
107
+ (SELECT COUNT(*) FROM chat_message m WHERE m.thread_id = t.id) AS message_count
108
+ FROM chat_thread t
109
+ WHERE t.parent_thread_id IS NULL
110
+ ORDER BY t.updated_at DESC
111
+ LIMIT ? OFFSET ?`)
112
+ .all(limit, offset);
80
113
  return rows.map((r) => ({
81
114
  ...this.hydrateThread(r),
82
115
  messageCount: r.message_count,
@@ -363,6 +396,8 @@ export class ChatService {
363
396
  contextType: hydrateContextType(row.context_type),
364
397
  briefPath: row.brief_path,
365
398
  patchPath: row.patch_path,
399
+ parentThreadId: row.parent_thread_id ?? null,
400
+ spawnedByToolUseId: row.spawned_by_tool_use_id ?? null,
366
401
  createdAt: row.created_at,
367
402
  updatedAt: row.updated_at,
368
403
  };
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/services/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/services/chat.ts"],"names":[],"mappings":"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"}
@@ -69,9 +69,16 @@ export class EntityIndexerService {
69
69
  }
70
70
  // ─── boot full rebuild ────────────────────────────────────────────────────
71
71
  async indexAll() {
72
- // Clear the derived entity/tag/junction tables (children before parents),
73
- // then rebuild from the files. entity_version (the log) and
74
- // section_entity_link (derived from pages) are NOT cleared.
72
+ const startedAt = performance.now();
73
+ let count = 0;
74
+ // ONE transaction for the whole rebuild: clear the derived entity/tag/junction
75
+ // tables (children before parents), then rebuild from the files. The inner
76
+ // per-entity `db.transaction()` (service upserts, indexTagsFile) nest as
77
+ // SAVEPOINTs, so a bad file still rolls back just its own savepoint (M29 edge
78
+ // m29edge1: skip + warn, the rest continues) while everything else commits with a
79
+ // SINGLE WAL fsync instead of one per entity — the dominant cost of the build.
80
+ // entity_version (the log) and section_entity_link (derived from pages) are NOT
81
+ // cleared. The whole restore chain is synchronous, so it fits in one transaction.
75
82
  this.db
76
83
  .transaction(() => {
77
84
  this.db.exec(`DELETE FROM entity_tag;
@@ -84,18 +91,18 @@ export class EntityIndexerService {
84
91
  DELETE FROM design_system;
85
92
  DELETE FROM diagram;
86
93
  DELETE FROM tag;`);
87
- })();
88
- this.indexTagsFile(); // tags first — so entity tag refs resolve to real rows
89
- let count = 0;
90
- for (const type of DEP_ORDER) {
91
- if (!this.host.getEntity(type))
92
- continue; // inactive type → files kept, not indexed
93
- for (const slug of this.store.listType(type)) {
94
- if (this.indexEntity(type, slug, false))
95
- count += 1;
94
+ this.indexTagsFile(); // tags first — so entity tag refs resolve to real rows
95
+ for (const type of DEP_ORDER) {
96
+ if (!this.host.getEntity(type))
97
+ continue; // inactive type files kept, not indexed
98
+ for (const slug of this.store.listType(type)) {
99
+ if (this.indexEntity(type, slug, false))
100
+ count += 1;
101
+ }
96
102
  }
97
- }
98
- console.log(`[entity-indexer] indexed ${count} entities from ${this.store.root}`);
103
+ })();
104
+ const ms = Math.round(performance.now() - startedAt);
105
+ console.log(`[entity-indexer] indexed ${count} entities from ${this.store.root} in ${ms}ms`);
99
106
  }
100
107
  // ─── incremental (file-watch) ─────────────────────────────────────────────
101
108
  schedulePage(relPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"entity-indexer.js","sourceRoot":"","sources":["../../../src/server/services/entity-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-indexer.js","sourceRoot":"","sources":["../../../src/server/services/entity-indexer.ts"],"names":[],"mappings":"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"}