@roackb2/heddle 0.0.27 → 0.0.29

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 (207) hide show
  1. package/README.md +65 -11
  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 +2 -0
  5. package/dist/src/cli/ask.d.ts.map +1 -1
  6. package/dist/src/cli/ask.js +107 -5
  7. package/dist/src/cli/ask.js.map +1 -1
  8. package/dist/src/cli/chat/App.d.ts.map +1 -1
  9. package/dist/src/cli/chat/App.js +16 -4
  10. package/dist/src/cli/chat/App.js.map +1 -1
  11. package/dist/src/cli/chat/components/RuntimeHostInterstitial.d.ts +7 -0
  12. package/dist/src/cli/chat/components/RuntimeHostInterstitial.d.ts.map +1 -0
  13. package/dist/src/cli/chat/components/RuntimeHostInterstitial.js +22 -0
  14. package/dist/src/cli/chat/components/RuntimeHostInterstitial.js.map +1 -0
  15. package/dist/src/cli/chat/components/index.d.ts +1 -0
  16. package/dist/src/cli/chat/components/index.d.ts.map +1 -1
  17. package/dist/src/cli/chat/components/index.js +1 -0
  18. package/dist/src/cli/chat/components/index.js.map +1 -1
  19. package/dist/src/cli/chat/hooks/useAgentRun.d.ts +1 -0
  20. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  21. package/dist/src/cli/chat/hooks/useAgentRun.js +118 -1
  22. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  23. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +1 -0
  24. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
  25. package/dist/src/cli/chat/hooks/useApprovalFlow.js +3 -0
  26. package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -1
  27. package/dist/src/cli/chat/hooks/useChatSessions.d.ts +3 -1
  28. package/dist/src/cli/chat/hooks/useChatSessions.d.ts.map +1 -1
  29. package/dist/src/cli/chat/hooks/useChatSessions.js +7 -2
  30. package/dist/src/cli/chat/hooks/useChatSessions.js.map +1 -1
  31. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  32. package/dist/src/cli/chat/utils/format.js +8 -0
  33. package/dist/src/cli/chat/utils/format.js.map +1 -1
  34. package/dist/src/cli/chat/utils/runtime.d.ts +3 -0
  35. package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
  36. package/dist/src/cli/chat/utils/runtime.js +8 -3
  37. package/dist/src/cli/chat/utils/runtime.js.map +1 -1
  38. package/dist/src/cli/daemon.d.ts +1 -0
  39. package/dist/src/cli/daemon.d.ts.map +1 -1
  40. package/dist/src/cli/daemon.js +6 -1
  41. package/dist/src/cli/daemon.js.map +1 -1
  42. package/dist/src/cli/heartbeat/task-commands.d.ts.map +1 -1
  43. package/dist/src/cli/heartbeat/task-commands.js +10 -1
  44. package/dist/src/cli/heartbeat/task-commands.js.map +1 -1
  45. package/dist/src/cli/heartbeat/worker.d.ts.map +1 -1
  46. package/dist/src/cli/heartbeat/worker.js +9 -1
  47. package/dist/src/cli/heartbeat/worker.js.map +1 -1
  48. package/dist/src/cli/main.js +304 -7
  49. package/dist/src/cli/main.js.map +1 -1
  50. package/dist/src/cli/remote/control-plane-client.d.ts +290 -0
  51. package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -0
  52. package/dist/src/cli/remote/control-plane-client.js +11 -0
  53. package/dist/src/cli/remote/control-plane-client.js.map +1 -0
  54. package/dist/src/core/agent/mutation-tracking.d.ts.map +1 -1
  55. package/dist/src/core/agent/mutation-tracking.js +3 -0
  56. package/dist/src/core/agent/mutation-tracking.js.map +1 -1
  57. package/dist/src/core/agent/post-mutation.js +2 -2
  58. package/dist/src/core/agent/post-mutation.js.map +1 -1
  59. package/dist/src/core/agent/run-agent.d.ts.map +1 -1
  60. package/dist/src/core/agent/run-agent.js +132 -28
  61. package/dist/src/core/agent/run-agent.js.map +1 -1
  62. package/dist/src/core/chat/conversation-lines.d.ts.map +1 -1
  63. package/dist/src/core/chat/conversation-lines.js +1 -26
  64. package/dist/src/core/chat/conversation-lines.js.map +1 -1
  65. package/dist/src/core/chat/session-lease.d.ts +23 -0
  66. package/dist/src/core/chat/session-lease.d.ts.map +1 -0
  67. package/dist/src/core/chat/session-lease.js +72 -0
  68. package/dist/src/core/chat/session-lease.js.map +1 -0
  69. package/dist/src/core/chat/session-submit.d.ts +5 -0
  70. package/dist/src/core/chat/session-submit.d.ts.map +1 -1
  71. package/dist/src/core/chat/session-submit.js +243 -108
  72. package/dist/src/core/chat/session-submit.js.map +1 -1
  73. package/dist/src/core/chat/storage.d.ts +4 -1
  74. package/dist/src/core/chat/storage.d.ts.map +1 -1
  75. package/dist/src/core/chat/storage.js +31 -0
  76. package/dist/src/core/chat/storage.js.map +1 -1
  77. package/dist/src/core/chat/trace-summary.d.ts.map +1 -1
  78. package/dist/src/core/chat/trace-summary.js +10 -0
  79. package/dist/src/core/chat/trace-summary.js.map +1 -1
  80. package/dist/src/core/chat/types.d.ts +9 -0
  81. package/dist/src/core/chat/types.d.ts.map +1 -1
  82. package/dist/src/core/memory/catalog.d.ts +46 -0
  83. package/dist/src/core/memory/catalog.d.ts.map +1 -0
  84. package/dist/src/core/memory/catalog.js +230 -0
  85. package/dist/src/core/memory/catalog.js.map +1 -0
  86. package/dist/src/core/memory/domain-prompt.d.ts +2 -0
  87. package/dist/src/core/memory/domain-prompt.d.ts.map +1 -0
  88. package/dist/src/core/memory/domain-prompt.js +35 -0
  89. package/dist/src/core/memory/domain-prompt.js.map +1 -0
  90. package/dist/src/core/memory/maintainer-tools.d.ts +5 -0
  91. package/dist/src/core/memory/maintainer-tools.d.ts.map +1 -0
  92. package/dist/src/core/memory/maintainer-tools.js +10 -0
  93. package/dist/src/core/memory/maintainer-tools.js.map +1 -0
  94. package/dist/src/core/memory/maintainer.d.ts +45 -0
  95. package/dist/src/core/memory/maintainer.d.ts.map +1 -0
  96. package/dist/src/core/memory/maintainer.js +204 -0
  97. package/dist/src/core/memory/maintainer.js.map +1 -0
  98. package/dist/src/core/memory/maintenance-integration.d.ts +20 -0
  99. package/dist/src/core/memory/maintenance-integration.d.ts.map +1 -0
  100. package/dist/src/core/memory/maintenance-integration.js +189 -0
  101. package/dist/src/core/memory/maintenance-integration.js.map +1 -0
  102. package/dist/src/core/memory/templates.d.ts +9 -0
  103. package/dist/src/core/memory/templates.d.ts.map +1 -0
  104. package/dist/src/core/memory/templates.js +32 -0
  105. package/dist/src/core/memory/templates.js.map +1 -0
  106. package/dist/src/core/memory/validation.d.ts +39 -0
  107. package/dist/src/core/memory/validation.d.ts.map +1 -0
  108. package/dist/src/core/memory/validation.js +94 -0
  109. package/dist/src/core/memory/validation.js.map +1 -0
  110. package/dist/src/core/memory/visibility.d.ts +42 -0
  111. package/dist/src/core/memory/visibility.d.ts.map +1 -0
  112. package/dist/src/core/memory/visibility.js +156 -0
  113. package/dist/src/core/memory/visibility.js.map +1 -0
  114. package/dist/src/core/prompts/system-prompt.d.ts.map +1 -1
  115. package/dist/src/core/prompts/system-prompt.js +0 -10
  116. package/dist/src/core/prompts/system-prompt.js.map +1 -1
  117. package/dist/src/core/runtime/daemon-registry.d.ts +39 -0
  118. package/dist/src/core/runtime/daemon-registry.d.ts.map +1 -0
  119. package/dist/src/core/runtime/daemon-registry.js +120 -0
  120. package/dist/src/core/runtime/daemon-registry.js.map +1 -0
  121. package/dist/src/core/runtime/default-tools.d.ts +1 -0
  122. package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
  123. package/dist/src/core/runtime/default-tools.js +22 -4
  124. package/dist/src/core/runtime/default-tools.js.map +1 -1
  125. package/dist/src/core/runtime/heartbeat-task-store.d.ts +2 -0
  126. package/dist/src/core/runtime/heartbeat-task-store.d.ts.map +1 -1
  127. package/dist/src/core/runtime/heartbeat-task-store.js +1 -0
  128. package/dist/src/core/runtime/heartbeat-task-store.js.map +1 -1
  129. package/dist/src/core/runtime/heartbeat-views.d.ts +2 -0
  130. package/dist/src/core/runtime/heartbeat-views.d.ts.map +1 -1
  131. package/dist/src/core/runtime/heartbeat-views.js +2 -0
  132. package/dist/src/core/runtime/heartbeat-views.js.map +1 -1
  133. package/dist/src/core/runtime/heartbeat.d.ts.map +1 -1
  134. package/dist/src/core/runtime/heartbeat.js +9 -2
  135. package/dist/src/core/runtime/heartbeat.js.map +1 -1
  136. package/dist/src/core/runtime/runtime-hosts.d.ts +30 -0
  137. package/dist/src/core/runtime/runtime-hosts.d.ts.map +1 -0
  138. package/dist/src/core/runtime/runtime-hosts.js +95 -0
  139. package/dist/src/core/runtime/runtime-hosts.js.map +1 -0
  140. package/dist/src/core/runtime/workspaces.d.ts +48 -0
  141. package/dist/src/core/runtime/workspaces.d.ts.map +1 -0
  142. package/dist/src/core/runtime/workspaces.js +139 -0
  143. package/dist/src/core/runtime/workspaces.js.map +1 -0
  144. package/dist/src/core/tools/file-edit-core.d.ts +1 -0
  145. package/dist/src/core/tools/file-edit-core.d.ts.map +1 -1
  146. package/dist/src/core/tools/file-edit-core.js +10 -0
  147. package/dist/src/core/tools/file-edit-core.js.map +1 -1
  148. package/dist/src/core/tools/memory-checkpoint.d.ts +8 -0
  149. package/dist/src/core/tools/memory-checkpoint.d.ts.map +1 -0
  150. package/dist/src/core/tools/memory-checkpoint.js +131 -0
  151. package/dist/src/core/tools/memory-checkpoint.js.map +1 -0
  152. package/dist/src/core/tools/memory-notes.d.ts.map +1 -1
  153. package/dist/src/core/tools/memory-notes.js +4 -3
  154. package/dist/src/core/tools/memory-notes.js.map +1 -1
  155. package/dist/src/core/tools/record-knowledge.d.ts +9 -0
  156. package/dist/src/core/tools/record-knowledge.d.ts.map +1 -0
  157. package/dist/src/core/tools/record-knowledge.js +177 -0
  158. package/dist/src/core/tools/record-knowledge.js.map +1 -0
  159. package/dist/src/core/types.d.ts +33 -0
  160. package/dist/src/core/types.d.ts.map +1 -1
  161. package/dist/src/index.d.ts +13 -0
  162. package/dist/src/index.d.ts.map +1 -1
  163. package/dist/src/index.js +8 -0
  164. package/dist/src/index.js.map +1 -1
  165. package/dist/src/server/app.d.ts +5 -2
  166. package/dist/src/server/app.d.ts.map +1 -1
  167. package/dist/src/server/app.js +31 -7
  168. package/dist/src/server/app.js.map +1 -1
  169. package/dist/src/server/features/control-plane/router.d.ts +88 -0
  170. package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
  171. package/dist/src/server/features/control-plane/router.js +131 -18
  172. package/dist/src/server/features/control-plane/router.js.map +1 -1
  173. package/dist/src/server/features/control-plane/services/ask.d.ts +17 -0
  174. package/dist/src/server/features/control-plane/services/ask.d.ts.map +1 -0
  175. package/dist/src/server/features/control-plane/services/ask.js +63 -0
  176. package/dist/src/server/features/control-plane/services/ask.js.map +1 -0
  177. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts +8 -0
  178. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
  179. package/dist/src/server/features/control-plane/services/chat-sessions.js +6 -2
  180. package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
  181. package/dist/src/server/features/control-plane/services/control-plane-state.d.ts.map +1 -1
  182. package/dist/src/server/features/control-plane/services/control-plane-state.js +15 -6
  183. package/dist/src/server/features/control-plane/services/control-plane-state.js.map +1 -1
  184. package/dist/src/server/features/control-plane/services/memory.d.ts +22 -0
  185. package/dist/src/server/features/control-plane/services/memory.d.ts.map +1 -0
  186. package/dist/src/server/features/control-plane/services/memory.js +36 -0
  187. package/dist/src/server/features/control-plane/services/memory.js.map +1 -0
  188. package/dist/src/server/features/control-plane/types.d.ts +19 -0
  189. package/dist/src/server/features/control-plane/types.d.ts.map +1 -1
  190. package/dist/src/server/index.d.ts.map +1 -1
  191. package/dist/src/server/index.js +114 -6
  192. package/dist/src/server/index.js.map +1 -1
  193. package/dist/src/server/router.d.ts +92 -0
  194. package/dist/src/server/router.d.ts.map +1 -1
  195. package/dist/src/server/router.js +4 -0
  196. package/dist/src/server/router.js.map +1 -1
  197. package/dist/src/server/static.d.ts.map +1 -1
  198. package/dist/src/server/static.js +7 -5
  199. package/dist/src/server/static.js.map +1 -1
  200. package/dist/src/server/types.d.ts +22 -0
  201. package/dist/src/server/types.d.ts.map +1 -1
  202. package/dist/src/web/assets/index-BCCIDJRN.js +52 -0
  203. package/dist/src/web/assets/index-DarVaee6.css +2 -0
  204. package/dist/src/web/index.html +2 -2
  205. package/package.json +16 -2
  206. package/dist/src/web/assets/index-BPZ31ir-.js +0 -12
  207. package/dist/src/web/assets/index-C9sFoCL6.css +0 -2
@@ -3,11 +3,18 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
4
  import { chdir } from 'node:process';
5
5
  import { Command } from 'commander';
6
+ import { createLlmAdapter, DEFAULT_OPENAI_MODEL } from '../index.js';
7
+ import { bootstrapMemoryWorkspace } from '../core/memory/catalog.js';
8
+ import { readPendingKnowledgeCandidates, runKnowledgeMaintenanceForBacklog, } from '../core/memory/maintainer.js';
9
+ import { listMemoryNotePaths, loadMemoryStatus, readMemoryNote, searchMemoryNotes, } from '../core/memory/visibility.js';
10
+ import { repairMissingMemoryCatalogs, validateMemoryWorkspace, } from '../core/memory/validation.js';
11
+ import { resolveApiKeyForModel } from '../core/runtime/api-keys.js';
6
12
  import { runAskCli } from './ask.js';
7
13
  import { startChatCli } from './chat/index.js';
8
14
  import { runDaemonCli } from './daemon.js';
9
- import { runHeartbeatCli } from './heartbeat.js';
15
+ import { parseHeartbeatArgs, runHeartbeatCli } from './heartbeat.js';
10
16
  import { runSessionCli } from './session.js';
17
+ import { daemonStartConflictMessage, embeddedCommandConflictMessage, formatRuntimeHostNotice, resolveWorkspaceRuntimeHost, } from '../core/runtime/runtime-hosts.js';
11
18
  const DEFAULT_MODEL_FOR_CONFIG = 'gpt-5.1-codex';
12
19
  const CLI_VERSION = readCliVersion();
13
20
  async function main() {
@@ -18,14 +25,19 @@ async function main() {
18
25
  .version(CLI_VERSION, '--version', 'print the installed Heddle version')
19
26
  .option('--cwd <path>', 'run against another workspace root')
20
27
  .option('--model <name>', 'choose the active model')
21
- .option('--max-steps <n>', 'limit the agent loop length');
28
+ .option('--max-steps <n>', 'limit the agent loop length')
29
+ .option('--force-owner-conflict', 'bypass live daemon ownership guards for this command');
22
30
  program
23
31
  .command('chat')
24
32
  .description('start the interactive chat UI')
25
33
  .action(async () => {
26
34
  const resolved = resolveCliOptions(program.opts());
27
35
  chdir(resolved.workspaceRoot);
28
- startChatCli(resolved);
36
+ writeRuntimeHostNotice('chat', resolved.runtimeHost);
37
+ startChatCli({
38
+ ...resolved,
39
+ runtimeHost: resolved.forceOwnerConflict ? undefined : resolved.runtimeHost,
40
+ });
29
41
  });
30
42
  program
31
43
  .command('ask [goal...]')
@@ -37,7 +49,13 @@ async function main() {
37
49
  const resolved = resolveCliOptions(program.opts());
38
50
  chdir(resolved.workspaceRoot);
39
51
  await runAskCli(goalParts.join(' ').trim(), {
40
- ...resolved,
52
+ workspaceRoot: resolved.workspaceRoot,
53
+ model: resolved.model,
54
+ maxSteps: resolved.maxSteps,
55
+ stateDir: resolved.stateDir,
56
+ searchIgnoreDirs: resolved.searchIgnoreDirs,
57
+ systemContext: resolved.systemContext,
58
+ runtimeHost: resolved.forceOwnerConflict ? undefined : resolved.runtimeHost,
41
59
  sessionId: askOptions.session,
42
60
  latestSession: Boolean(askOptions.latest),
43
61
  createSessionName: askOptions.newSession === undefined || askOptions.newSession === false ? undefined
@@ -52,6 +70,80 @@ async function main() {
52
70
  const resolved = resolveCliOptions(program.opts());
53
71
  initializeProjectConfig(resolved.workspaceRoot);
54
72
  });
73
+ const memoryCommand = program
74
+ .command('memory')
75
+ .description('manage workspace memory catalogs')
76
+ .action(async () => {
77
+ const resolved = resolveCliOptions(program.opts());
78
+ await runMemoryCli('status', resolved);
79
+ });
80
+ memoryCommand
81
+ .command('status')
82
+ .description('show workspace memory catalog status')
83
+ .action(async () => {
84
+ const resolved = resolveCliOptions(program.opts());
85
+ await runMemoryCli('status', resolved);
86
+ });
87
+ memoryCommand
88
+ .command('init')
89
+ .description('create the default workspace memory catalogs')
90
+ .action(async () => {
91
+ const resolved = resolveCliOptions(program.opts());
92
+ await runMemoryCli('init', resolved);
93
+ });
94
+ memoryCommand
95
+ .command('list [path]')
96
+ .description('list markdown notes under workspace memory')
97
+ .action(async (path) => {
98
+ const resolved = resolveCliOptions(program.opts());
99
+ await runMemoryCli('list', resolved, { path });
100
+ });
101
+ memoryCommand
102
+ .command('read [path]')
103
+ .description('read a memory note')
104
+ .option('--offset <n>', '0-based line offset')
105
+ .option('--max-lines <n>', 'maximum lines to print')
106
+ .action(async (path, flags) => {
107
+ const resolved = resolveCliOptions(program.opts());
108
+ await runMemoryCli('read', resolved, {
109
+ path,
110
+ offset: parsePositiveInt(flags.offset),
111
+ maxLines: parsePositiveInt(flags.maxLines),
112
+ });
113
+ });
114
+ memoryCommand
115
+ .command('search [query]')
116
+ .description('search memory notes')
117
+ .option('--path <path>', 'memory-relative path to search under')
118
+ .option('--max-results <n>', 'maximum matching lines to print')
119
+ .action(async (query, flags) => {
120
+ const resolved = resolveCliOptions(program.opts());
121
+ await runMemoryCli('search', resolved, {
122
+ query,
123
+ path: flags.path,
124
+ maxResults: parsePositiveInt(flags.maxResults),
125
+ });
126
+ });
127
+ memoryCommand
128
+ .command('validate')
129
+ .description('validate memory catalog quality')
130
+ .option('--repair', 'repair safe missing catalog issues')
131
+ .action(async (flags) => {
132
+ const resolved = resolveCliOptions(program.opts());
133
+ await runMemoryValidateCli(resolved, { repair: Boolean(flags.repair) });
134
+ });
135
+ memoryCommand
136
+ .command('maintain')
137
+ .description('process pending memory candidates into cataloged notes')
138
+ .option('--dry-run', 'show pending candidates without running the maintainer')
139
+ .option('--reconcile', 'repair safe catalog issues before maintenance and report validation after')
140
+ .action(async (options) => {
141
+ const resolved = resolveCliOptions(program.opts());
142
+ await runMemoryMaintainCli(resolved, {
143
+ dryRun: Boolean(options.dryRun),
144
+ reconcile: Boolean(options.reconcile),
145
+ });
146
+ });
55
147
  program
56
148
  .command('heartbeat [args...]')
57
149
  .description('manage and run heartbeat tasks')
@@ -59,6 +151,8 @@ async function main() {
59
151
  .action(async (args) => {
60
152
  const resolved = resolveCliOptions(program.opts());
61
153
  chdir(resolved.workspaceRoot);
154
+ enforceHeartbeatOwnership(args ?? [], resolved.runtimeHost, resolved.forceOwnerConflict);
155
+ writeRuntimeHostNotice('heartbeat', resolved.runtimeHost);
62
156
  await runHeartbeatCli(args ?? [], resolved);
63
157
  });
64
158
  program
@@ -68,6 +162,7 @@ async function main() {
68
162
  .action(async (args) => {
69
163
  const resolved = resolveCliOptions(program.opts());
70
164
  chdir(resolved.workspaceRoot);
165
+ enforceDaemonStartOwnership(resolved.runtimeHost, resolved.forceOwnerConflict);
71
166
  await runDaemonCli(args ?? [], resolved);
72
167
  });
73
168
  program
@@ -77,26 +172,178 @@ async function main() {
77
172
  .action(async (args) => {
78
173
  const resolved = resolveCliOptions(program.opts());
79
174
  chdir(resolved.workspaceRoot);
175
+ enforceEmbeddedOwnership('session', resolved.runtimeHost, resolved.forceOwnerConflict);
176
+ writeRuntimeHostNotice('session', resolved.runtimeHost);
80
177
  await runSessionCli(args ?? [], resolved);
81
178
  });
82
179
  program
83
180
  .action(async () => {
84
181
  const resolved = resolveCliOptions(program.opts());
85
182
  chdir(resolved.workspaceRoot);
86
- startChatCli(resolved);
183
+ writeRuntimeHostNotice('chat', resolved.runtimeHost);
184
+ startChatCli({
185
+ ...resolved,
186
+ runtimeHost: resolved.forceOwnerConflict ? undefined : resolved.runtimeHost,
187
+ });
87
188
  });
88
189
  const argv = process.argv.slice(2);
89
190
  const knownCommand = argv[0];
90
191
  if (knownCommand && !isKnownCommand(knownCommand) && !knownCommand.startsWith('-')) {
91
192
  const resolved = resolveCliOptions(program.opts());
92
193
  chdir(resolved.workspaceRoot);
93
- await runAskCli(argv.join(' ').trim(), resolved);
194
+ await runAskCli(argv.join(' ').trim(), {
195
+ workspaceRoot: resolved.workspaceRoot,
196
+ model: resolved.model,
197
+ maxSteps: resolved.maxSteps,
198
+ stateDir: resolved.stateDir,
199
+ searchIgnoreDirs: resolved.searchIgnoreDirs,
200
+ systemContext: resolved.systemContext,
201
+ runtimeHost: resolved.forceOwnerConflict ? undefined : resolved.runtimeHost,
202
+ });
94
203
  return;
95
204
  }
96
205
  await program.parseAsync(process.argv);
97
206
  }
98
207
  function isKnownCommand(command) {
99
- return ['chat', 'ask', 'init', 'heartbeat', 'daemon', 'session', 'help'].includes(command);
208
+ return ['chat', 'ask', 'init', 'memory', 'heartbeat', 'daemon', 'session', 'help'].includes(command);
209
+ }
210
+ async function runMemoryCli(command, options, flags = {}) {
211
+ const memoryRoot = resolve(options.workspaceRoot, options.stateDir, 'memory');
212
+ if (command === 'init') {
213
+ const result = bootstrapMemoryWorkspace({ memoryRoot });
214
+ process.stdout.write(`Memory root: ${result.memoryRoot}\n`);
215
+ process.stdout.write(result.createdPaths.length > 0 ?
216
+ `Created:\n${result.createdPaths.map((path) => `- ${path}`).join('\n')}\n`
217
+ : 'Memory workspace already initialized.\n');
218
+ return;
219
+ }
220
+ if (command === 'status') {
221
+ const result = await loadMemoryStatus({ memoryRoot });
222
+ process.stdout.write(`Memory root: ${result.memoryRoot}\n`);
223
+ process.stdout.write(`Catalog shape: ${result.catalog.ok ? 'ok' : 'missing required catalogs'}\n`);
224
+ process.stdout.write(`Notes: ${result.notes.count}\n`);
225
+ process.stdout.write(`Pending candidates: ${result.candidates.pending}\n`);
226
+ if (result.runs.latest.length > 0) {
227
+ process.stdout.write('Recent runs:\n');
228
+ for (const run of result.runs.latest) {
229
+ process.stdout.write(`- ${run.id}: ${run.outcome}, ${run.processedCandidateIds.length}/${run.candidateIds.length} processed\n`);
230
+ }
231
+ }
232
+ if (result.catalog.missing.length > 0) {
233
+ process.stdout.write(`Missing:\n${result.catalog.missing.map((path) => `- ${path}`).join('\n')}\n`);
234
+ }
235
+ return;
236
+ }
237
+ if (command === 'list') {
238
+ const notes = await listMemoryNotePaths({ memoryRoot, path: flags.path });
239
+ process.stdout.write(`Memory root: ${memoryRoot}\n`);
240
+ process.stdout.write(notes.length > 0 ? `${notes.join('\n')}\n` : 'No memory notes found.\n');
241
+ return;
242
+ }
243
+ if (command === 'read') {
244
+ if (!flags.path) {
245
+ throw new Error('Usage: heddle memory read <path>');
246
+ }
247
+ process.stdout.write(await readMemoryNote({
248
+ memoryRoot,
249
+ path: flags.path,
250
+ offset: flags.offset,
251
+ maxLines: flags.maxLines,
252
+ }));
253
+ process.stdout.write('\n');
254
+ return;
255
+ }
256
+ if (command === 'search') {
257
+ if (!flags.query) {
258
+ throw new Error('Usage: heddle memory search <query>');
259
+ }
260
+ process.stdout.write(await searchMemoryNotes({
261
+ memoryRoot,
262
+ query: flags.query,
263
+ path: flags.path,
264
+ maxResults: flags.maxResults,
265
+ }));
266
+ process.stdout.write('\n');
267
+ return;
268
+ }
269
+ const exhaustive = command;
270
+ throw new Error(`Unsupported memory command: ${exhaustive}`);
271
+ }
272
+ async function runMemoryValidateCli(options, flags) {
273
+ const memoryRoot = resolve(options.workspaceRoot, options.stateDir, 'memory');
274
+ if (flags.repair) {
275
+ const repair = await repairMissingMemoryCatalogs({ memoryRoot });
276
+ process.stdout.write(`Memory root: ${repair.memoryRoot}\n`);
277
+ process.stdout.write(repair.createdPaths.length > 0 ?
278
+ `Repaired missing catalogs:\n${repair.createdPaths.map((path) => `- ${path}`).join('\n')}\n`
279
+ : 'No missing catalogs repaired.\n');
280
+ }
281
+ const validation = await validateMemoryWorkspace({ memoryRoot });
282
+ writeMemoryValidation(validation);
283
+ }
284
+ async function runMemoryMaintainCli(options, flags) {
285
+ const memoryRoot = resolve(options.workspaceRoot, options.stateDir, 'memory');
286
+ if (flags.reconcile) {
287
+ const repair = await repairMissingMemoryCatalogs({ memoryRoot });
288
+ if (repair.createdPaths.length > 0) {
289
+ process.stdout.write(`Repaired missing catalogs:\n${repair.createdPaths.map((path) => `- ${path}`).join('\n')}\n`);
290
+ }
291
+ }
292
+ const pending = await readPendingKnowledgeCandidates({ memoryRoot });
293
+ if (flags.dryRun) {
294
+ process.stdout.write(`Memory root: ${memoryRoot}\n`);
295
+ process.stdout.write(`Pending candidates: ${pending.length}\n`);
296
+ for (const candidate of pending) {
297
+ process.stdout.write(`- ${candidate.id}: ${candidate.summary}\n`);
298
+ }
299
+ if (flags.reconcile) {
300
+ writeMemoryValidation(await validateMemoryWorkspace({ memoryRoot }));
301
+ }
302
+ return;
303
+ }
304
+ if (pending.length === 0) {
305
+ process.stdout.write(`Memory root: ${memoryRoot}\n`);
306
+ process.stdout.write('No pending memory candidates.\n');
307
+ if (flags.reconcile) {
308
+ writeMemoryValidation(await validateMemoryWorkspace({ memoryRoot }));
309
+ }
310
+ return;
311
+ }
312
+ const model = options.model ?? process.env.OPENAI_MODEL ?? process.env.ANTHROPIC_MODEL ?? DEFAULT_OPENAI_MODEL;
313
+ const apiKey = resolveApiKeyForModel(model);
314
+ if (!apiKey) {
315
+ throw new Error(`Missing provider API key for memory maintainer model: ${model}`);
316
+ }
317
+ const result = await runKnowledgeMaintenanceForBacklog({
318
+ memoryRoot,
319
+ llm: createLlmAdapter({ model, apiKey }),
320
+ source: 'heddle memory maintain',
321
+ });
322
+ process.stdout.write(`Memory root: ${memoryRoot}\n`);
323
+ process.stdout.write(`Run: ${result.run.id}\n`);
324
+ process.stdout.write(`Outcome: ${result.run.outcome}\n`);
325
+ process.stdout.write(`Summary: ${result.run.summary}\n`);
326
+ process.stdout.write(`Candidates: ${result.run.processedCandidateIds.length}/${result.run.candidateIds.length} processed\n`);
327
+ process.stdout.write(`Catalog shape: ${result.run.catalogValid ? 'ok' : 'missing required catalogs'}\n`);
328
+ if (result.run.catalogMissing.length > 0) {
329
+ process.stdout.write(`Missing:\n${result.run.catalogMissing.map((path) => `- ${path}`).join('\n')}\n`);
330
+ }
331
+ if (flags.reconcile) {
332
+ writeMemoryValidation(await validateMemoryWorkspace({ memoryRoot }));
333
+ }
334
+ }
335
+ function writeMemoryValidation(result) {
336
+ const hasErrors = result.issues.some((issue) => issue.severity === 'error');
337
+ const hasWarnings = result.issues.some((issue) => issue.severity === 'warning');
338
+ const label = hasErrors ? 'issues found'
339
+ : hasWarnings ? 'warnings'
340
+ : 'ok';
341
+ process.stdout.write(`Memory root: ${result.memoryRoot}\n`);
342
+ process.stdout.write(`Validation: ${label}\n`);
343
+ process.stdout.write(`Issues: ${result.issueCount}\n`);
344
+ for (const issue of result.issues) {
345
+ process.stdout.write(`- [${issue.severity}] ${issue.type}: ${issue.message}\n`);
346
+ }
100
347
  }
101
348
  function resolveCliOptions(flags) {
102
349
  const workspaceRoot = resolve(flags.cwd ?? process.cwd());
@@ -109,8 +356,54 @@ function resolveCliOptions(flags) {
109
356
  directShellApproval: projectConfig.directShellApproval ?? 'never',
110
357
  searchIgnoreDirs: projectConfig.searchIgnoreDirs ?? [],
111
358
  systemContext: loadProjectAgentContext(workspaceRoot, projectConfig.agentContextPaths ?? ['AGENTS.md']),
359
+ runtimeHost: resolveWorkspaceRuntimeHost({
360
+ workspaceRoot,
361
+ stateRoot: resolve(workspaceRoot, projectConfig.stateDir ?? '.heddle'),
362
+ }),
363
+ forceOwnerConflict: Boolean(flags.forceOwnerConflict),
112
364
  };
113
365
  }
366
+ function writeRuntimeHostNotice(command, runtimeHost) {
367
+ const notice = formatRuntimeHostNotice(command, runtimeHost);
368
+ if (!notice) {
369
+ return;
370
+ }
371
+ process.stdout.write(`${notice}\n`);
372
+ }
373
+ function enforceEmbeddedOwnership(command, runtimeHost, forceOwnerConflict) {
374
+ if (forceOwnerConflict) {
375
+ return;
376
+ }
377
+ const message = embeddedCommandConflictMessage(command, runtimeHost);
378
+ if (message) {
379
+ throw new Error(message);
380
+ }
381
+ }
382
+ function enforceDaemonStartOwnership(runtimeHost, forceOwnerConflict) {
383
+ if (forceOwnerConflict) {
384
+ return;
385
+ }
386
+ const message = daemonStartConflictMessage(runtimeHost);
387
+ if (message) {
388
+ throw new Error(message);
389
+ }
390
+ }
391
+ function enforceHeartbeatOwnership(args, runtimeHost, forceOwnerConflict) {
392
+ if (forceOwnerConflict) {
393
+ return;
394
+ }
395
+ const parsed = parseHeartbeatArgs(args);
396
+ if (parsed.command === 'help' || parsed.command === 'runs') {
397
+ return;
398
+ }
399
+ if (parsed.command === 'task' && (parsed.subcommand === 'list' || parsed.subcommand === 'show')) {
400
+ return;
401
+ }
402
+ const message = embeddedCommandConflictMessage('heartbeat', runtimeHost);
403
+ if (message) {
404
+ throw new Error(message);
405
+ }
406
+ }
114
407
  function readCliVersion() {
115
408
  for (const candidatePath of resolvePackageJsonCandidates()) {
116
409
  if (!existsSync(candidatePath)) {
@@ -222,6 +515,10 @@ function truncate(value, maxLength) {
222
515
  }
223
516
  main().catch((error) => {
224
517
  const message = error instanceof Error ? error.message : String(error);
518
+ if (message.startsWith('Usage: ')) {
519
+ process.stderr.write(`${message}\n`);
520
+ process.exit(1);
521
+ }
225
522
  process.stderr.write(`Fatal error: ${message}\n`);
226
523
  process.exit(1);
227
524
  });
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}