@roackb2/heddle 0.0.28 → 0.0.30

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 (199) hide show
  1. package/README.md +87 -36
  2. package/dist/examples/programmatic-loop.js +12 -0
  3. package/dist/examples/programmatic-loop.js.map +1 -1
  4. package/dist/src/cli/ask.d.ts.map +1 -1
  5. package/dist/src/cli/ask.js +27 -5
  6. package/dist/src/cli/ask.js.map +1 -1
  7. package/dist/src/cli/chat/App.js +5 -3
  8. package/dist/src/cli/chat/App.js.map +1 -1
  9. package/dist/src/cli/chat/hooks/useAgentRun.d.ts +1 -0
  10. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  11. package/dist/src/cli/chat/hooks/useAgentRun.js +73 -0
  12. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  13. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +1 -0
  14. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
  15. package/dist/src/cli/chat/hooks/useApprovalFlow.js +3 -0
  16. package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -1
  17. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  18. package/dist/src/cli/chat/utils/format.js +8 -0
  19. package/dist/src/cli/chat/utils/format.js.map +1 -1
  20. package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
  21. package/dist/src/cli/chat/utils/runtime.js +7 -3
  22. package/dist/src/cli/chat/utils/runtime.js.map +1 -1
  23. package/dist/src/cli/main.js +235 -2
  24. package/dist/src/cli/main.js.map +1 -1
  25. package/dist/src/cli/remote/control-plane-client.d.ts +76 -0
  26. package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -1
  27. package/dist/src/core/agent/mutation-tracking.d.ts.map +1 -1
  28. package/dist/src/core/agent/mutation-tracking.js +3 -0
  29. package/dist/src/core/agent/mutation-tracking.js.map +1 -1
  30. package/dist/src/core/agent/post-mutation.js +2 -2
  31. package/dist/src/core/agent/post-mutation.js.map +1 -1
  32. package/dist/src/core/agent/run-agent.d.ts +1 -0
  33. package/dist/src/core/agent/run-agent.d.ts.map +1 -1
  34. package/dist/src/core/agent/run-agent.js +136 -28
  35. package/dist/src/core/agent/run-agent.js.map +1 -1
  36. package/dist/src/core/agent/tool-dispatch.d.ts +2 -0
  37. package/dist/src/core/agent/tool-dispatch.d.ts.map +1 -1
  38. package/dist/src/core/agent/tool-dispatch.js +8 -7
  39. package/dist/src/core/agent/tool-dispatch.js.map +1 -1
  40. package/dist/src/core/chat/conversation-lines.d.ts.map +1 -1
  41. package/dist/src/core/chat/conversation-lines.js +1 -26
  42. package/dist/src/core/chat/conversation-lines.js.map +1 -1
  43. package/dist/src/core/chat/session-lease.d.ts +4 -0
  44. package/dist/src/core/chat/session-lease.d.ts.map +1 -1
  45. package/dist/src/core/chat/session-lease.js +29 -1
  46. package/dist/src/core/chat/session-lease.js.map +1 -1
  47. package/dist/src/core/chat/session-submit.d.ts +2 -0
  48. package/dist/src/core/chat/session-submit.d.ts.map +1 -1
  49. package/dist/src/core/chat/session-submit.js +120 -15
  50. package/dist/src/core/chat/session-submit.js.map +1 -1
  51. package/dist/src/core/chat/trace-summary.d.ts.map +1 -1
  52. package/dist/src/core/chat/trace-summary.js +10 -0
  53. package/dist/src/core/chat/trace-summary.js.map +1 -1
  54. package/dist/src/core/memory/catalog.d.ts +46 -0
  55. package/dist/src/core/memory/catalog.d.ts.map +1 -0
  56. package/dist/src/core/memory/catalog.js +230 -0
  57. package/dist/src/core/memory/catalog.js.map +1 -0
  58. package/dist/src/core/memory/domain-prompt.d.ts +2 -0
  59. package/dist/src/core/memory/domain-prompt.d.ts.map +1 -0
  60. package/dist/src/core/memory/domain-prompt.js +35 -0
  61. package/dist/src/core/memory/domain-prompt.js.map +1 -0
  62. package/dist/src/core/memory/maintainer-tools.d.ts +5 -0
  63. package/dist/src/core/memory/maintainer-tools.d.ts.map +1 -0
  64. package/dist/src/core/memory/maintainer-tools.js +10 -0
  65. package/dist/src/core/memory/maintainer-tools.js.map +1 -0
  66. package/dist/src/core/memory/maintainer.d.ts +45 -0
  67. package/dist/src/core/memory/maintainer.d.ts.map +1 -0
  68. package/dist/src/core/memory/maintainer.js +204 -0
  69. package/dist/src/core/memory/maintainer.js.map +1 -0
  70. package/dist/src/core/memory/maintenance-integration.d.ts +20 -0
  71. package/dist/src/core/memory/maintenance-integration.d.ts.map +1 -0
  72. package/dist/src/core/memory/maintenance-integration.js +189 -0
  73. package/dist/src/core/memory/maintenance-integration.js.map +1 -0
  74. package/dist/src/core/memory/templates.d.ts +9 -0
  75. package/dist/src/core/memory/templates.d.ts.map +1 -0
  76. package/dist/src/core/memory/templates.js +32 -0
  77. package/dist/src/core/memory/templates.js.map +1 -0
  78. package/dist/src/core/memory/validation.d.ts +39 -0
  79. package/dist/src/core/memory/validation.d.ts.map +1 -0
  80. package/dist/src/core/memory/validation.js +94 -0
  81. package/dist/src/core/memory/validation.js.map +1 -0
  82. package/dist/src/core/memory/visibility.d.ts +42 -0
  83. package/dist/src/core/memory/visibility.d.ts.map +1 -0
  84. package/dist/src/core/memory/visibility.js +156 -0
  85. package/dist/src/core/memory/visibility.js.map +1 -0
  86. package/dist/src/core/prompts/system-prompt.d.ts.map +1 -1
  87. package/dist/src/core/prompts/system-prompt.js +0 -10
  88. package/dist/src/core/prompts/system-prompt.js.map +1 -1
  89. package/dist/src/core/review/diff-domain.d.ts +24 -0
  90. package/dist/src/core/review/diff-domain.d.ts.map +1 -0
  91. package/dist/src/core/review/diff-domain.js +134 -0
  92. package/dist/src/core/review/diff-domain.js.map +1 -0
  93. package/dist/src/core/runtime/agent-loop.d.ts.map +1 -1
  94. package/dist/src/core/runtime/agent-loop.js +1 -0
  95. package/dist/src/core/runtime/agent-loop.js.map +1 -1
  96. package/dist/src/core/runtime/daemon-registry.d.ts +6 -1
  97. package/dist/src/core/runtime/daemon-registry.d.ts.map +1 -1
  98. package/dist/src/core/runtime/daemon-registry.js +32 -5
  99. package/dist/src/core/runtime/daemon-registry.js.map +1 -1
  100. package/dist/src/core/runtime/default-tools.d.ts +1 -0
  101. package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
  102. package/dist/src/core/runtime/default-tools.js +33 -13
  103. package/dist/src/core/runtime/default-tools.js.map +1 -1
  104. package/dist/src/core/runtime/heartbeat.d.ts.map +1 -1
  105. package/dist/src/core/runtime/heartbeat.js +9 -2
  106. package/dist/src/core/runtime/heartbeat.js.map +1 -1
  107. package/dist/src/core/runtime/runtime-hosts.js +1 -1
  108. package/dist/src/core/runtime/runtime-hosts.js.map +1 -1
  109. package/dist/src/core/runtime/workspaces.d.ts +7 -0
  110. package/dist/src/core/runtime/workspaces.d.ts.map +1 -1
  111. package/dist/src/core/runtime/workspaces.js +31 -2
  112. package/dist/src/core/runtime/workspaces.js.map +1 -1
  113. package/dist/src/core/tools/edit-file.d.ts +4 -0
  114. package/dist/src/core/tools/edit-file.d.ts.map +1 -1
  115. package/dist/src/core/tools/edit-file.js +48 -43
  116. package/dist/src/core/tools/edit-file.js.map +1 -1
  117. package/dist/src/core/tools/file-edit-core.d.ts +1 -0
  118. package/dist/src/core/tools/file-edit-core.d.ts.map +1 -1
  119. package/dist/src/core/tools/file-edit-core.js +10 -0
  120. package/dist/src/core/tools/file-edit-core.js.map +1 -1
  121. package/dist/src/core/tools/list-files.d.ts +4 -0
  122. package/dist/src/core/tools/list-files.d.ts.map +1 -1
  123. package/dist/src/core/tools/list-files.js +34 -29
  124. package/dist/src/core/tools/list-files.js.map +1 -1
  125. package/dist/src/core/tools/memory-checkpoint.d.ts +8 -0
  126. package/dist/src/core/tools/memory-checkpoint.d.ts.map +1 -0
  127. package/dist/src/core/tools/memory-checkpoint.js +131 -0
  128. package/dist/src/core/tools/memory-checkpoint.js.map +1 -0
  129. package/dist/src/core/tools/memory-notes.d.ts.map +1 -1
  130. package/dist/src/core/tools/memory-notes.js +4 -3
  131. package/dist/src/core/tools/memory-notes.js.map +1 -1
  132. package/dist/src/core/tools/read-file.d.ts +4 -0
  133. package/dist/src/core/tools/read-file.d.ts.map +1 -1
  134. package/dist/src/core/tools/read-file.js +50 -45
  135. package/dist/src/core/tools/read-file.js.map +1 -1
  136. package/dist/src/core/tools/record-knowledge.d.ts +9 -0
  137. package/dist/src/core/tools/record-knowledge.d.ts.map +1 -0
  138. package/dist/src/core/tools/record-knowledge.js +177 -0
  139. package/dist/src/core/tools/record-knowledge.js.map +1 -0
  140. package/dist/src/core/tools/run-shell.d.ts +2 -0
  141. package/dist/src/core/tools/run-shell.d.ts.map +1 -1
  142. package/dist/src/core/tools/run-shell.js +3 -0
  143. package/dist/src/core/tools/run-shell.js.map +1 -1
  144. package/dist/src/core/tools/search-files.d.ts +1 -0
  145. package/dist/src/core/tools/search-files.d.ts.map +1 -1
  146. package/dist/src/core/tools/search-files.js +4 -2
  147. package/dist/src/core/tools/search-files.js.map +1 -1
  148. package/dist/src/core/tools/view-image.d.ts +1 -0
  149. package/dist/src/core/tools/view-image.d.ts.map +1 -1
  150. package/dist/src/core/tools/view-image.js +2 -1
  151. package/dist/src/core/tools/view-image.js.map +1 -1
  152. package/dist/src/core/types.d.ts +33 -0
  153. package/dist/src/core/types.d.ts.map +1 -1
  154. package/dist/src/index.d.ts +13 -0
  155. package/dist/src/index.d.ts.map +1 -1
  156. package/dist/src/index.js +8 -0
  157. package/dist/src/index.js.map +1 -1
  158. package/dist/src/server/app.d.ts.map +1 -1
  159. package/dist/src/server/app.js +1 -1
  160. package/dist/src/server/app.js.map +1 -1
  161. package/dist/src/server/features/control-plane/router.d.ts +78 -1
  162. package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
  163. package/dist/src/server/features/control-plane/router.js +87 -2
  164. package/dist/src/server/features/control-plane/router.js.map +1 -1
  165. package/dist/src/server/features/control-plane/services/ask.d.ts.map +1 -1
  166. package/dist/src/server/features/control-plane/services/ask.js +23 -5
  167. package/dist/src/server/features/control-plane/services/ask.js.map +1 -1
  168. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts +2 -0
  169. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
  170. package/dist/src/server/features/control-plane/services/chat-sessions.js +69 -0
  171. package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
  172. package/dist/src/server/features/control-plane/services/control-plane-state.d.ts.map +1 -1
  173. package/dist/src/server/features/control-plane/services/control-plane-state.js +26 -1
  174. package/dist/src/server/features/control-plane/services/control-plane-state.js.map +1 -1
  175. package/dist/src/server/features/control-plane/services/memory.d.ts +22 -0
  176. package/dist/src/server/features/control-plane/services/memory.d.ts.map +1 -0
  177. package/dist/src/server/features/control-plane/services/memory.js +36 -0
  178. package/dist/src/server/features/control-plane/services/memory.js.map +1 -0
  179. package/dist/src/server/features/control-plane/services/workspace-diff.d.ts +4 -0
  180. package/dist/src/server/features/control-plane/services/workspace-diff.d.ts.map +1 -0
  181. package/dist/src/server/features/control-plane/services/workspace-diff.js +258 -0
  182. package/dist/src/server/features/control-plane/services/workspace-diff.js.map +1 -0
  183. package/dist/src/server/features/control-plane/services/workspace-files.d.ts +18 -0
  184. package/dist/src/server/features/control-plane/services/workspace-files.d.ts.map +1 -1
  185. package/dist/src/server/features/control-plane/services/workspace-files.js +68 -2
  186. package/dist/src/server/features/control-plane/services/workspace-files.js.map +1 -1
  187. package/dist/src/server/features/control-plane/types.d.ts +38 -0
  188. package/dist/src/server/features/control-plane/types.d.ts.map +1 -1
  189. package/dist/src/server/index.d.ts.map +1 -1
  190. package/dist/src/server/index.js +1 -0
  191. package/dist/src/server/index.js.map +1 -1
  192. package/dist/src/server/router.d.ts +76 -0
  193. package/dist/src/server/router.d.ts.map +1 -1
  194. package/dist/src/web/assets/index-BKSxomk7.js +55 -0
  195. package/dist/src/web/assets/index-Bl3oDytR.css +2 -0
  196. package/dist/src/web/index.html +2 -2
  197. package/package.json +18 -2
  198. package/dist/src/web/assets/index-COAJyPuH.css +0 -2
  199. package/dist/src/web/assets/index-DxGlp0Wk.js +0 -52
@@ -0,0 +1,94 @@
1
+ import { readFile, stat } from 'node:fs/promises';
2
+ import { basename, dirname, join, resolve } from 'node:path';
3
+ import { DEFAULT_MEMORY_FOLDER_CATALOG_MAX_BYTES, DEFAULT_MEMORY_ROOT_CATALOG_MAX_BYTES, bootstrapMemoryWorkspace, validateMemoryCatalogShape, } from './catalog.js';
4
+ import { readPendingKnowledgeCandidates } from './maintainer.js';
5
+ import { listMemoryNotePaths } from './visibility.js';
6
+ export async function validateMemoryWorkspace(options) {
7
+ const memoryRoot = resolve(options.memoryRoot);
8
+ const issues = [];
9
+ const shape = validateMemoryCatalogShape({ memoryRoot });
10
+ for (const path of shape.missing) {
11
+ issues.push({
12
+ type: 'missing_catalog',
13
+ severity: 'error',
14
+ path,
15
+ message: `Missing required memory catalog: ${path}`,
16
+ });
17
+ }
18
+ const notes = await listMemoryNotePaths({ memoryRoot });
19
+ await appendOversizedCatalogIssues(memoryRoot, notes, issues);
20
+ await appendOrphanNoteIssues(memoryRoot, notes, issues);
21
+ const pending = await readPendingKnowledgeCandidates({ memoryRoot });
22
+ if (pending.length > 0) {
23
+ issues.push({
24
+ type: 'pending_candidates',
25
+ severity: 'info',
26
+ count: pending.length,
27
+ message: `${pending.length} pending memory candidate${pending.length === 1 ? '' : 's'} waiting for maintenance.`,
28
+ });
29
+ }
30
+ return {
31
+ memoryRoot,
32
+ ok: issues.every((issue) => issue.severity !== 'error'),
33
+ issueCount: issues.length,
34
+ issues,
35
+ };
36
+ }
37
+ export async function repairMissingMemoryCatalogs(options) {
38
+ return bootstrapMemoryWorkspace({ memoryRoot: options.memoryRoot });
39
+ }
40
+ async function appendOversizedCatalogIssues(memoryRoot, notes, issues) {
41
+ for (const path of notes.filter((note) => basename(note).toLowerCase() === 'readme.md')) {
42
+ const fullPath = join(memoryRoot, path);
43
+ const info = await stat(fullPath);
44
+ const maxBytes = path === 'README.md' ? DEFAULT_MEMORY_ROOT_CATALOG_MAX_BYTES : DEFAULT_MEMORY_FOLDER_CATALOG_MAX_BYTES;
45
+ if (info.size <= maxBytes) {
46
+ continue;
47
+ }
48
+ issues.push({
49
+ type: 'oversized_catalog',
50
+ severity: 'warning',
51
+ path,
52
+ sizeBytes: info.size,
53
+ maxBytes,
54
+ message: `Memory catalog ${path} is ${info.size} bytes, above the ${maxBytes} byte cap.`,
55
+ });
56
+ }
57
+ }
58
+ async function appendOrphanNoteIssues(memoryRoot, notes, issues) {
59
+ const catalogPaths = notes.filter((note) => basename(note).toLowerCase() === 'readme.md');
60
+ const catalogTextByPath = new Map();
61
+ for (const catalogPath of catalogPaths) {
62
+ catalogTextByPath.set(catalogPath, await readFile(join(memoryRoot, catalogPath), 'utf8'));
63
+ }
64
+ for (const note of notes) {
65
+ if (basename(note).toLowerCase() === 'readme.md') {
66
+ continue;
67
+ }
68
+ const folderCatalog = catalogPathForNote(note);
69
+ const folderCatalogText = catalogTextByPath.get(folderCatalog) ?? '';
70
+ const rootCatalogText = catalogTextByPath.get('README.md') ?? '';
71
+ const localName = basename(note);
72
+ const linkedFromFolder = folderCatalogText.includes(localName) || folderCatalogText.includes(note);
73
+ const linkedFromRoot = rootCatalogText.includes(note);
74
+ if (linkedFromFolder || linkedFromRoot) {
75
+ continue;
76
+ }
77
+ issues.push({
78
+ type: 'orphan_note',
79
+ severity: 'warning',
80
+ path: note,
81
+ message: orphanNoteMessage(note, folderCatalog),
82
+ });
83
+ }
84
+ }
85
+ function catalogPathForNote(path) {
86
+ const folder = dirname(path);
87
+ return folder === '.' ? 'README.md' : join(folder, 'README.md');
88
+ }
89
+ function orphanNoteMessage(note, folderCatalog) {
90
+ return folderCatalog === 'README.md' ?
91
+ `Memory note ${note} is not linked from README.md.`
92
+ : `Memory note ${note} is not linked from ${folderCatalog} or README.md.`;
93
+ }
94
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/core/memory/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { type KnowledgeMaintenanceRunRecord } from './maintainer.js';
2
+ export type MemoryStatusView = {
3
+ memoryRoot: string;
4
+ catalog: {
5
+ ok: boolean;
6
+ missing: string[];
7
+ };
8
+ notes: {
9
+ count: number;
10
+ };
11
+ candidates: {
12
+ pending: number;
13
+ };
14
+ runs: {
15
+ latest: KnowledgeMaintenanceRunRecord[];
16
+ };
17
+ };
18
+ export declare function loadMemoryStatus(options: {
19
+ memoryRoot: string;
20
+ recentRunLimit?: number;
21
+ }): Promise<MemoryStatusView>;
22
+ export declare function listMemoryNotePaths(options: {
23
+ memoryRoot: string;
24
+ path?: string;
25
+ }): Promise<string[]>;
26
+ export declare function readMemoryNote(options: {
27
+ memoryRoot: string;
28
+ path: string;
29
+ offset?: number;
30
+ maxLines?: number;
31
+ }): Promise<string>;
32
+ export declare function searchMemoryNotes(options: {
33
+ memoryRoot: string;
34
+ query: string;
35
+ path?: string;
36
+ maxResults?: number;
37
+ }): Promise<string>;
38
+ export declare function readRecentMemoryMaintenanceRuns(options: {
39
+ memoryRoot: string;
40
+ limit?: number;
41
+ }): Promise<KnowledgeMaintenanceRunRecord[]>;
42
+ //# sourceMappingURL=visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../../src/core/memory/visibility.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,KAAK,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAErG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,EAAE,EAAE,OAAO,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,6BAA6B,EAAE,CAAC;KACzC,CAAC;CACH,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyB5B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAa3G;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB;AAED,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAc3C"}
@@ -0,0 +1,156 @@
1
+ import { access, readdir, readFile } from 'node:fs/promises';
2
+ import { isAbsolute, relative, resolve } from 'node:path';
3
+ import { createReadMemoryNoteTool, createSearchMemoryNotesTool } from '../tools/memory-notes.js';
4
+ import { validateMemoryCatalogShape } from './catalog.js';
5
+ import { readPendingKnowledgeCandidates } from './maintainer.js';
6
+ export async function loadMemoryStatus(options) {
7
+ const memoryRoot = resolve(options.memoryRoot);
8
+ const [notes, pending, latestRuns] = await Promise.all([
9
+ listMemoryNotePaths({ memoryRoot }),
10
+ readPendingKnowledgeCandidates({ memoryRoot }),
11
+ readRecentMemoryMaintenanceRuns({ memoryRoot, limit: options.recentRunLimit ?? 5 }),
12
+ ]);
13
+ const catalog = validateMemoryCatalogShape({ memoryRoot });
14
+ return {
15
+ memoryRoot,
16
+ catalog: {
17
+ ok: catalog.ok,
18
+ missing: catalog.missing,
19
+ },
20
+ notes: {
21
+ count: notes.length,
22
+ },
23
+ candidates: {
24
+ pending: pending.length,
25
+ },
26
+ runs: {
27
+ latest: latestRuns,
28
+ },
29
+ };
30
+ }
31
+ export async function listMemoryNotePaths(options) {
32
+ const memoryRoot = resolve(options.memoryRoot);
33
+ const target = resolveMemoryPath(memoryRoot, options.path ?? '.');
34
+ if (!target.ok) {
35
+ throw new Error(target.error);
36
+ }
37
+ if (!await pathExists(target.path)) {
38
+ return [];
39
+ }
40
+ const notes = await listMarkdownNotes(target.path);
41
+ return notes.map((path) => toMemoryRelativePath(memoryRoot, path)).sort();
42
+ }
43
+ export async function readMemoryNote(options) {
44
+ const result = await createReadMemoryNoteTool({ memoryRoot: options.memoryRoot }).execute({
45
+ path: options.path,
46
+ offset: options.offset,
47
+ maxLines: options.maxLines,
48
+ });
49
+ if (!result.ok) {
50
+ throw new Error(result.error);
51
+ }
52
+ return typeof result.output === 'string' ? result.output : JSON.stringify(result.output, null, 2);
53
+ }
54
+ export async function searchMemoryNotes(options) {
55
+ const result = await createSearchMemoryNotesTool({ memoryRoot: options.memoryRoot }).execute({
56
+ query: options.query,
57
+ path: options.path,
58
+ maxResults: options.maxResults,
59
+ });
60
+ if (!result.ok) {
61
+ throw new Error(result.error);
62
+ }
63
+ return typeof result.output === 'string' ? result.output : JSON.stringify(result.output, null, 2);
64
+ }
65
+ export async function readRecentMemoryMaintenanceRuns(options) {
66
+ const memoryRoot = resolve(options.memoryRoot);
67
+ const raw = await readTextIfExists(resolve(memoryRoot, '_maintenance', 'runs.jsonl'));
68
+ if (!raw) {
69
+ return [];
70
+ }
71
+ return raw
72
+ .split(/\r?\n/u)
73
+ .filter((line) => line.trim())
74
+ .map(parseRunRecord)
75
+ .filter((run) => Boolean(run))
76
+ .slice(-(options.limit ?? 5))
77
+ .reverse();
78
+ }
79
+ function resolveMemoryPath(memoryRoot, requestedPath) {
80
+ if (!requestedPath.trim()) {
81
+ return { ok: false, error: `Memory note paths must be non-empty and stay inside ${memoryRoot}.` };
82
+ }
83
+ const targetPath = resolve(memoryRoot, requestedPath);
84
+ const rel = relative(memoryRoot, targetPath);
85
+ if (rel.startsWith('..') || isAbsolute(rel)) {
86
+ return { ok: false, error: `Memory note paths must stay inside ${memoryRoot}. Refusing to access ${targetPath}.` };
87
+ }
88
+ return { ok: true, path: targetPath };
89
+ }
90
+ async function listMarkdownNotes(root) {
91
+ const entries = await readdir(root, { withFileTypes: true });
92
+ const results = [];
93
+ for (const entry of entries) {
94
+ if (entry.name === '_maintenance') {
95
+ continue;
96
+ }
97
+ const nextPath = resolve(root, entry.name);
98
+ if (entry.isDirectory()) {
99
+ results.push(...await listMarkdownNotes(nextPath));
100
+ continue;
101
+ }
102
+ if (entry.isFile() && /\.md$/iu.test(entry.name)) {
103
+ results.push(nextPath);
104
+ }
105
+ }
106
+ return results;
107
+ }
108
+ async function pathExists(path) {
109
+ try {
110
+ await access(path);
111
+ return true;
112
+ }
113
+ catch {
114
+ return false;
115
+ }
116
+ }
117
+ async function readTextIfExists(path) {
118
+ try {
119
+ return await readFile(path, 'utf8');
120
+ }
121
+ catch (error) {
122
+ if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
123
+ return undefined;
124
+ }
125
+ throw error;
126
+ }
127
+ }
128
+ function parseRunRecord(line) {
129
+ try {
130
+ const parsed = JSON.parse(line);
131
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
132
+ return undefined;
133
+ }
134
+ const record = parsed;
135
+ return typeof record.id === 'string'
136
+ && typeof record.startedAt === 'string'
137
+ && typeof record.finishedAt === 'string'
138
+ && typeof record.source === 'string'
139
+ && typeof record.outcome === 'string'
140
+ && typeof record.summary === 'string'
141
+ && Array.isArray(record.candidateIds)
142
+ && Array.isArray(record.processedCandidateIds)
143
+ && Array.isArray(record.failedCandidateIds)
144
+ && typeof record.catalogValid === 'boolean'
145
+ && Array.isArray(record.catalogMissing) ?
146
+ record
147
+ : undefined;
148
+ }
149
+ catch {
150
+ return undefined;
151
+ }
152
+ }
153
+ function toMemoryRelativePath(memoryRoot, filePath) {
154
+ return relative(memoryRoot, filePath) || '.';
155
+ }
156
+ //# sourceMappingURL=visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../../../src/core/memory/visibility.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAuHpG"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CA6GpG"}
@@ -67,16 +67,6 @@ If you recorded a plan, do not stop after only one small slice unless the remain
67
67
  Summarize what you found or did in a readable form.
68
68
  If the task involved changes or verification, prefer a short summary followed by high-level bullets over a vague “done”.
69
69
 
70
- ## Knowledge Persistence
71
-
72
- - Treat persistent memory as durable workspace knowledge, not scratch space.
73
- - Maintain useful memory proactively when you confirm a stable fact that is likely to save future rediscovery.
74
- - Good times to update memory include: after a verified architectural finding, after resolving a recurring repo quirk, after learning stable build/test workflow details, or after completing meaningful implementation work that future sessions will need to understand.
75
- - Do not write speculative guesses, one-turn plans, temporary hypotheses, or ephemeral observations into persistent memory.
76
- - Prefer updating an existing memory note over scattering many tiny notes.
77
- - Memory writes do not require user approval. Use them intentionally at sensible checkpoints without waiting to be asked every time.
78
- - Prefer memory-specific tools for durable note maintenance, but if retrieval or editing needs a more flexible workflow, it is acceptable to use mature shell tools against the memory directory.
79
-
80
70
  ## Tool Use Rules
81
71
 
82
72
  - Use tools purposefully. Each tool call should have a clear reason.
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAwB;AACxB,uCAAuC;AACvC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAmB,EAAE,cAAuB;IAC1F,OAAO;;;;;;;;EAQP,IAAI;;;;;;;;;;;;kCAY4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;EAEpD,cAAc,CAAC,CAAC,CAAC,yBAAyB,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQA+FmM,CAAC;AACzQ,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../../../src/core/prompts/system-prompt.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAwB;AACxB,uCAAuC;AACvC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,SAAmB,EAAE,cAAuB;IAC1F,OAAO;;;;;;;;EAQP,IAAI;;;;;;;;;;;;kCAY4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;EAEpD,cAAc,CAAC,CAAC,CAAC,yBAAyB,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wQAqFmM,CAAC;AACzQ,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type ReviewFileStatus = 'added' | 'modified' | 'deleted' | 'renamed' | 'copied' | 'unknown';
2
+ export type ReviewDiffLine = {
3
+ type: 'context' | 'added' | 'deleted' | 'unknown';
4
+ content: string;
5
+ oldLineNumber?: number;
6
+ newLineNumber?: number;
7
+ };
8
+ export type ReviewDiffHunk = {
9
+ header: string;
10
+ lines: ReviewDiffLine[];
11
+ };
12
+ export type ReviewDiffFile = {
13
+ path: string;
14
+ oldPath?: string;
15
+ status: ReviewFileStatus;
16
+ patch?: string;
17
+ binary?: boolean;
18
+ additions: number;
19
+ deletions: number;
20
+ hunks: ReviewDiffHunk[];
21
+ };
22
+ export declare function parseUnifiedDiffFiles(diff: string): ReviewDiffFile[];
23
+ export declare function splitUnifiedDiffChunks(diff: string): string[];
24
+ //# sourceMappingURL=diff-domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-domain.d.ts","sourceRoot":"","sources":["../../../../src/core/review/diff-domain.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnG,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB,CAAC;AAYF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAgCpE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAK7D"}
@@ -0,0 +1,134 @@
1
+ import * as gitDiffParser from 'gitdiff-parser';
2
+ const gitDiffParserModule = gitDiffParser;
3
+ const parseGitDiff = gitDiffParserModule.default?.parse ?? gitDiffParserModule.parse;
4
+ export function parseUnifiedDiffFiles(diff) {
5
+ const normalized = diff.trim();
6
+ if (!normalized || !normalized.includes('diff --git ')) {
7
+ return [];
8
+ }
9
+ let parsed;
10
+ try {
11
+ parsed = parseGitDiff ? parseGitDiff(normalized) : [];
12
+ }
13
+ catch {
14
+ return [];
15
+ }
16
+ const chunks = splitUnifiedDiffChunks(normalized);
17
+ return parsed.map((file) => {
18
+ const patch = findUnifiedDiffChunkForFile(chunks, file) ?? renderParsedGitDiffFile(file);
19
+ const hunks = file.hunks.map((hunk) => ({
20
+ header: hunk.content,
21
+ lines: hunk.changes.map(projectDiffLine),
22
+ }));
23
+ const counts = countDiffLines(hunks);
24
+ return {
25
+ path: pathForParsedGitDiffFile(file),
26
+ oldPath: oldPathForParsedGitDiffFile(file),
27
+ status: statusFromParsedGitDiffFile(file),
28
+ patch,
29
+ binary: file.isBinary === true || /Binary files .* differ/.test(patch),
30
+ additions: counts.additions,
31
+ deletions: counts.deletions,
32
+ hunks,
33
+ };
34
+ });
35
+ }
36
+ export function splitUnifiedDiffChunks(diff) {
37
+ return diff
38
+ .split(/\n(?=diff --git )/)
39
+ .map((chunk) => chunk.trim())
40
+ .filter(Boolean);
41
+ }
42
+ function findUnifiedDiffChunkForFile(chunks, file) {
43
+ const candidates = [
44
+ `diff --git a/${file.oldPath} b/${file.newPath}`,
45
+ `rename from ${file.oldPath}`,
46
+ `rename to ${file.newPath}`,
47
+ `--- a/${file.oldPath}`,
48
+ `+++ b/${file.newPath}`,
49
+ ];
50
+ return chunks.find((chunk) => candidates.some((candidate) => chunk.includes(candidate)));
51
+ }
52
+ function renderParsedGitDiffFile(file) {
53
+ const oldPath = file.type === 'add' ? '/dev/null' : `a/${file.oldPath}`;
54
+ const newPath = file.type === 'delete' ? '/dev/null' : `b/${file.newPath}`;
55
+ const lines = [
56
+ `diff --git a/${file.oldPath} b/${file.newPath}`,
57
+ `--- ${oldPath}`,
58
+ `+++ ${newPath}`,
59
+ ];
60
+ for (const hunk of file.hunks) {
61
+ lines.push(hunk.content);
62
+ for (const change of hunk.changes) {
63
+ lines.push(change.content);
64
+ }
65
+ }
66
+ return lines.join('\n');
67
+ }
68
+ function pathForParsedGitDiffFile(file) {
69
+ return file.type === 'delete' ? file.oldPath : file.newPath;
70
+ }
71
+ function oldPathForParsedGitDiffFile(file) {
72
+ if (file.type === 'add' || file.type === 'delete') {
73
+ return undefined;
74
+ }
75
+ if (file.oldPath === file.newPath) {
76
+ return undefined;
77
+ }
78
+ return file.oldPath;
79
+ }
80
+ function statusFromParsedGitDiffFile(file) {
81
+ if (file.oldPath !== file.newPath && file.type === 'modify') {
82
+ return 'renamed';
83
+ }
84
+ switch (file.type) {
85
+ case 'add':
86
+ return 'added';
87
+ case 'delete':
88
+ return 'deleted';
89
+ case 'rename':
90
+ return 'renamed';
91
+ case 'copy':
92
+ return 'copied';
93
+ case 'modify':
94
+ return 'modified';
95
+ default:
96
+ return 'unknown';
97
+ }
98
+ }
99
+ function projectDiffLine(change) {
100
+ return {
101
+ type: lineTypeFromChange(change),
102
+ content: change.content,
103
+ oldLineNumber: 'oldLineNumber' in change && typeof change.oldLineNumber === 'number' ? change.oldLineNumber : undefined,
104
+ newLineNumber: 'newLineNumber' in change && typeof change.newLineNumber === 'number' ? change.newLineNumber : undefined,
105
+ };
106
+ }
107
+ function lineTypeFromChange(change) {
108
+ switch (change.type) {
109
+ case 'insert':
110
+ return 'added';
111
+ case 'delete':
112
+ return 'deleted';
113
+ case 'normal':
114
+ return 'context';
115
+ default:
116
+ return 'unknown';
117
+ }
118
+ }
119
+ function countDiffLines(hunks) {
120
+ let additions = 0;
121
+ let deletions = 0;
122
+ for (const hunk of hunks) {
123
+ for (const line of hunk.lines) {
124
+ if (line.type === 'added') {
125
+ additions += 1;
126
+ }
127
+ if (line.type === 'deleted') {
128
+ deletions += 1;
129
+ }
130
+ }
131
+ }
132
+ return { additions, deletions };
133
+ }
134
+ //# sourceMappingURL=diff-domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-domain.js","sourceRoot":"","sources":["../../../../src/core/review/diff-domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAsChD,MAAM,mBAAmB,GAAG,aAA+C,CAAC;AAC5E,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC;AAErF,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAA2B,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;SACzC,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,2BAA2B,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,2BAA2B,CAAC,IAAI,CAAC;YACzC,KAAK;YACL,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;YACtE,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI;SACR,KAAK,CAAC,mBAAmB,CAAC;SAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAgB,EAAE,IAAuB;IAC5E,MAAM,UAAU,GAAG;QACjB,gBAAgB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE;QAChD,eAAe,IAAI,CAAC,OAAO,EAAE;QAC7B,aAAa,IAAI,CAAC,OAAO,EAAE;QAC3B,SAAS,IAAI,CAAC,OAAO,EAAE;QACvB,SAAS,IAAI,CAAC,OAAO,EAAE;KACxB,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAuB;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3E,MAAM,KAAK,GAAG;QACZ,gBAAgB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE;QAChD,OAAO,OAAO,EAAE;QAChB,OAAO,OAAO,EAAE;KACjB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAuB;IACvD,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAuB;IAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAuB;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAA2B;IAClD,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACvH,aAAa,EAAE,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KACxH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA2B;IACrD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAuB;IAC7C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/agent-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAInF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAClD,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAuHzF"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/agent-loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAInF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAClD,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAwHzF"}
@@ -45,6 +45,7 @@ export async function runAgentLoop(options) {
45
45
  goal: options.goal,
46
46
  llm,
47
47
  tools,
48
+ workspaceRoot,
48
49
  maxSteps: options.maxSteps,
49
50
  logger,
50
51
  history: resolveHistory(options),
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../../../src/core/runtime/agent-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../../../src/core/runtime/agent-loop.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,12 @@ export declare function upsertDaemonWorkspaceRegistration(options: {
33
33
  export declare function clearDaemonWorkspaceRegistration(options: {
34
34
  registryPath: string;
35
35
  workspaceIds: string[];
36
+ stateRoots?: string[];
36
37
  ownerId: string;
37
38
  }): DaemonRegistry;
38
- export declare function readDaemonWorkspaceRegistration(registryPath: string, workspaceId: string): RegisteredWorkspaceRecord | null;
39
+ export declare function readDaemonWorkspaceRegistration(registryPath: string, workspaceId: string, stateRoot?: string): RegisteredWorkspaceRecord | null;
40
+ export declare function registerKnownWorkspaces(options: {
41
+ registryPath?: string;
42
+ workspaces: WorkspaceDescriptor[];
43
+ }): DaemonRegistry;
39
44
  //# sourceMappingURL=daemon-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-registry.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/daemon-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,yBAAyB,EAAE,CAAC;CACzC,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,SAA6B,GAAG,MAAM,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAOvE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,QAGhF;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,GAAG,cAAc,CAyBjB;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,cAAc,CAqBjB;AAED,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,yBAAyB,GAAG,IAAI,CAGlC"}
1
+ {"version":3,"file":"daemon-registry.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime/daemon-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,yBAAyB,EAAE,CAAC;CACzC,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,OAAO,SAA6B,GAAG,MAAM,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,CAOvE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,QAGhF;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,GAAG,cAAc,CAyBjB;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,cAAc,CAuBjB;AAED,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,yBAAyB,GAAG,IAAI,CAMlC;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC,GAAG,cAAc,CAwBjB"}