@namzu/cli 23.0.0 → 25.0.0

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 (243) hide show
  1. package/CHANGELOG.md +845 -0
  2. package/README.md +13 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +18 -10
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/drain.d.ts +0 -23
  7. package/dist/commands/drain.d.ts.map +1 -1
  8. package/dist/commands/drain.js +23 -9
  9. package/dist/commands/drain.js.map +1 -1
  10. package/dist/commands/resident-flags.d.ts +24 -0
  11. package/dist/commands/resident-flags.d.ts.map +1 -0
  12. package/dist/commands/resident-flags.js +191 -0
  13. package/dist/commands/resident-flags.js.map +1 -0
  14. package/dist/commands/resident-learning.d.ts +6 -0
  15. package/dist/commands/resident-learning.d.ts.map +1 -0
  16. package/dist/commands/resident-learning.js +293 -0
  17. package/dist/commands/resident-learning.js.map +1 -0
  18. package/dist/commands/resident.d.ts +20 -0
  19. package/dist/commands/resident.d.ts.map +1 -0
  20. package/dist/commands/resident.js +418 -0
  21. package/dist/commands/resident.js.map +1 -0
  22. package/dist/commands/run-flags.d.ts +2 -2
  23. package/dist/commands/run-flags.d.ts.map +1 -1
  24. package/dist/commands/run-flags.js +6 -6
  25. package/dist/commands/run-flags.js.map +1 -1
  26. package/dist/commands/run-stream.d.ts.map +1 -1
  27. package/dist/commands/run-stream.js +9 -10
  28. package/dist/commands/run-stream.js.map +1 -1
  29. package/dist/commands/run.d.ts.map +1 -1
  30. package/dist/commands/run.js +3 -2
  31. package/dist/commands/run.js.map +1 -1
  32. package/dist/commands/upgrade.d.ts +1 -0
  33. package/dist/commands/upgrade.d.ts.map +1 -1
  34. package/dist/commands/upgrade.js +6 -3
  35. package/dist/commands/upgrade.js.map +1 -1
  36. package/dist/config/load.d.ts.map +1 -1
  37. package/dist/config/load.js +27 -4
  38. package/dist/config/load.js.map +1 -1
  39. package/dist/config/run-limits.d.ts +11 -0
  40. package/dist/config/run-limits.d.ts.map +1 -0
  41. package/dist/config/run-limits.js +64 -0
  42. package/dist/config/run-limits.js.map +1 -0
  43. package/dist/config/schema.d.ts +12 -4
  44. package/dist/config/schema.d.ts.map +1 -1
  45. package/dist/config/schema.js.map +1 -1
  46. package/dist/context/runtime-message.d.ts.map +1 -1
  47. package/dist/context/runtime-message.js +2 -0
  48. package/dist/context/runtime-message.js.map +1 -1
  49. package/dist/integrations/npm-invocation.d.ts +10 -0
  50. package/dist/integrations/npm-invocation.d.ts.map +1 -0
  51. package/dist/integrations/npm-invocation.js +23 -0
  52. package/dist/integrations/npm-invocation.js.map +1 -0
  53. package/dist/integrations/plugins/runtime.d.ts +19 -1
  54. package/dist/integrations/plugins/runtime.d.ts.map +1 -1
  55. package/dist/integrations/plugins/runtime.js +89 -1
  56. package/dist/integrations/plugins/runtime.js.map +1 -1
  57. package/dist/integrations/plugins/settings.d.ts +15 -0
  58. package/dist/integrations/plugins/settings.d.ts.map +1 -0
  59. package/dist/integrations/plugins/settings.js +106 -0
  60. package/dist/integrations/plugins/settings.js.map +1 -0
  61. package/dist/integrations/providers/credential-store.d.ts +8 -7
  62. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  63. package/dist/integrations/providers/credential-store.js +44 -17
  64. package/dist/integrations/providers/credential-store.js.map +1 -1
  65. package/dist/integrations/providers/discover.d.ts.map +1 -1
  66. package/dist/integrations/providers/discover.js +7 -2
  67. package/dist/integrations/providers/discover.js.map +1 -1
  68. package/dist/integrations/providers/harness-credentials.d.ts +2 -2
  69. package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
  70. package/dist/integrations/providers/harness-credentials.js +13 -8
  71. package/dist/integrations/providers/harness-credentials.js.map +1 -1
  72. package/dist/integrations/providers/setup.d.ts.map +1 -1
  73. package/dist/integrations/providers/setup.js +52 -5
  74. package/dist/integrations/providers/setup.js.map +1 -1
  75. package/dist/integrations/resident/foreground.d.ts +19 -0
  76. package/dist/integrations/resident/foreground.d.ts.map +1 -0
  77. package/dist/integrations/resident/foreground.js +95 -0
  78. package/dist/integrations/resident/foreground.js.map +1 -0
  79. package/dist/integrations/resident/inspection.d.ts +10 -0
  80. package/dist/integrations/resident/inspection.d.ts.map +1 -0
  81. package/dist/integrations/resident/inspection.js +263 -0
  82. package/dist/integrations/resident/inspection.js.map +1 -0
  83. package/dist/integrations/resident/learning-sources.d.ts +4 -0
  84. package/dist/integrations/resident/learning-sources.d.ts.map +1 -0
  85. package/dist/integrations/resident/learning-sources.js +79 -0
  86. package/dist/integrations/resident/learning-sources.js.map +1 -0
  87. package/dist/integrations/resident/learning-storage.d.ts +5 -0
  88. package/dist/integrations/resident/learning-storage.d.ts.map +1 -0
  89. package/dist/integrations/resident/learning-storage.js +51 -0
  90. package/dist/integrations/resident/learning-storage.js.map +1 -0
  91. package/dist/integrations/resident/lifecycle-errors.d.ts +9 -0
  92. package/dist/integrations/resident/lifecycle-errors.d.ts.map +1 -0
  93. package/dist/integrations/resident/lifecycle-errors.js +15 -0
  94. package/dist/integrations/resident/lifecycle-errors.js.map +1 -0
  95. package/dist/integrations/resident/owned-runner.d.ts +17 -0
  96. package/dist/integrations/resident/owned-runner.d.ts.map +1 -0
  97. package/dist/integrations/resident/owned-runner.js +91 -0
  98. package/dist/integrations/resident/owned-runner.js.map +1 -0
  99. package/dist/integrations/resident/runner-control.d.ts +47 -0
  100. package/dist/integrations/resident/runner-control.d.ts.map +1 -0
  101. package/dist/integrations/resident/runner-control.js +238 -0
  102. package/dist/integrations/resident/runner-control.js.map +1 -0
  103. package/dist/integrations/resident/runner-launch.d.ts +52 -0
  104. package/dist/integrations/resident/runner-launch.d.ts.map +1 -0
  105. package/dist/integrations/resident/runner-launch.js +142 -0
  106. package/dist/integrations/resident/runner-launch.js.map +1 -0
  107. package/dist/integrations/resident/runner-store.d.ts +44 -0
  108. package/dist/integrations/resident/runner-store.d.ts.map +1 -0
  109. package/dist/integrations/resident/runner-store.js +281 -0
  110. package/dist/integrations/resident/runner-store.js.map +1 -0
  111. package/dist/integrations/resident/runner-worker.d.ts +2 -0
  112. package/dist/integrations/resident/runner-worker.d.ts.map +1 -0
  113. package/dist/integrations/resident/runner-worker.js +146 -0
  114. package/dist/integrations/resident/runner-worker.js.map +1 -0
  115. package/dist/integrations/resident/session-step.d.ts +29 -0
  116. package/dist/integrations/resident/session-step.d.ts.map +1 -0
  117. package/dist/integrations/resident/session-step.js +462 -0
  118. package/dist/integrations/resident/session-step.js.map +1 -0
  119. package/dist/integrations/resident/storage.d.ts +17 -0
  120. package/dist/integrations/resident/storage.d.ts.map +1 -0
  121. package/dist/integrations/resident/storage.js +140 -0
  122. package/dist/integrations/resident/storage.js.map +1 -0
  123. package/dist/integrations/resident/tool-evidence.d.ts +6 -0
  124. package/dist/integrations/resident/tool-evidence.d.ts.map +1 -0
  125. package/dist/integrations/resident/tool-evidence.js +117 -0
  126. package/dist/integrations/resident/tool-evidence.js.map +1 -0
  127. package/dist/integrations/resident/verification.d.ts +11 -0
  128. package/dist/integrations/resident/verification.d.ts.map +1 -0
  129. package/dist/integrations/resident/verification.js +109 -0
  130. package/dist/integrations/resident/verification.js.map +1 -0
  131. package/dist/integrations/sessions/compaction-evidence.d.ts +5 -0
  132. package/dist/integrations/sessions/compaction-evidence.d.ts.map +1 -0
  133. package/dist/integrations/sessions/compaction-evidence.js +59 -0
  134. package/dist/integrations/sessions/compaction-evidence.js.map +1 -0
  135. package/dist/integrations/sessions/context-inventory.js +1 -1
  136. package/dist/integrations/sessions/context-inventory.js.map +1 -1
  137. package/dist/integrations/sessions/conversation-search.d.ts +56 -8
  138. package/dist/integrations/sessions/conversation-search.d.ts.map +1 -1
  139. package/dist/integrations/sessions/conversation-search.js +600 -63
  140. package/dist/integrations/sessions/conversation-search.js.map +1 -1
  141. package/dist/integrations/sessions/database.d.ts +5 -0
  142. package/dist/integrations/sessions/database.d.ts.map +1 -0
  143. package/dist/integrations/sessions/database.js +34 -0
  144. package/dist/integrations/sessions/database.js.map +1 -0
  145. package/dist/integrations/sessions/evidence-page-validation.d.ts +8 -0
  146. package/dist/integrations/sessions/evidence-page-validation.d.ts.map +1 -0
  147. package/dist/integrations/sessions/evidence-page-validation.js +74 -0
  148. package/dist/integrations/sessions/evidence-page-validation.js.map +1 -0
  149. package/dist/integrations/sessions/evidence-recall.d.ts +5 -0
  150. package/dist/integrations/sessions/evidence-recall.d.ts.map +1 -0
  151. package/dist/integrations/sessions/evidence-recall.js +173 -0
  152. package/dist/integrations/sessions/evidence-recall.js.map +1 -0
  153. package/dist/integrations/sessions/paths.d.ts +7 -0
  154. package/dist/integrations/sessions/paths.d.ts.map +1 -0
  155. package/dist/integrations/sessions/paths.js +14 -0
  156. package/dist/integrations/sessions/paths.js.map +1 -0
  157. package/dist/integrations/sessions/run-discovery.d.ts +24 -0
  158. package/dist/integrations/sessions/run-discovery.d.ts.map +1 -0
  159. package/dist/integrations/sessions/run-discovery.js +142 -0
  160. package/dist/integrations/sessions/run-discovery.js.map +1 -0
  161. package/dist/integrations/sessions/store.d.ts +8 -18
  162. package/dist/integrations/sessions/store.d.ts.map +1 -1
  163. package/dist/integrations/sessions/store.js +14 -39
  164. package/dist/integrations/sessions/store.js.map +1 -1
  165. package/dist/integrations/sessions/transcript-export.d.ts +0 -1
  166. package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
  167. package/dist/integrations/sessions/transcript-export.js +3 -2
  168. package/dist/integrations/sessions/transcript-export.js.map +1 -1
  169. package/dist/integrations/sessions/turn-evidence.d.ts +0 -9
  170. package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -1
  171. package/dist/integrations/sessions/turn-evidence.js +5 -2
  172. package/dist/integrations/sessions/turn-evidence.js.map +1 -1
  173. package/dist/integrations/state/private-directory.d.ts +4 -2
  174. package/dist/integrations/state/private-directory.d.ts.map +1 -1
  175. package/dist/integrations/state/private-directory.js +6 -4
  176. package/dist/integrations/state/private-directory.js.map +1 -1
  177. package/dist/integrations/state/report.d.ts.map +1 -1
  178. package/dist/integrations/state/report.js +78 -21
  179. package/dist/integrations/state/report.js.map +1 -1
  180. package/dist/integrations/subagents/parent.d.ts +3 -2
  181. package/dist/integrations/subagents/parent.d.ts.map +1 -1
  182. package/dist/integrations/subagents/parent.js +11 -6
  183. package/dist/integrations/subagents/parent.js.map +1 -1
  184. package/dist/integrations/subagents/policy.d.ts +2 -5
  185. package/dist/integrations/subagents/policy.d.ts.map +1 -1
  186. package/dist/integrations/subagents/policy.js +2 -5
  187. package/dist/integrations/subagents/policy.js.map +1 -1
  188. package/dist/integrations/subagents/runtime.d.ts +7 -0
  189. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  190. package/dist/integrations/subagents/runtime.js +9 -7
  191. package/dist/integrations/subagents/runtime.js.map +1 -1
  192. package/dist/permissions/rules.d.ts +2 -8
  193. package/dist/permissions/rules.d.ts.map +1 -1
  194. package/dist/permissions/rules.js +19 -10
  195. package/dist/permissions/rules.js.map +1 -1
  196. package/dist/tui/App.d.ts +0 -12
  197. package/dist/tui/App.d.ts.map +1 -1
  198. package/dist/tui/App.js +235 -15
  199. package/dist/tui/App.js.map +1 -1
  200. package/dist/tui/ChoicePicker.d.ts +2 -1
  201. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  202. package/dist/tui/ChoicePicker.js +10 -8
  203. package/dist/tui/ChoicePicker.js.map +1 -1
  204. package/dist/tui/ToolOutputViewer.js +1 -1
  205. package/dist/tui/ToolOutputViewer.js.map +1 -1
  206. package/dist/tui/agent.d.ts +29 -3
  207. package/dist/tui/agent.d.ts.map +1 -1
  208. package/dist/tui/agent.js +233 -46
  209. package/dist/tui/agent.js.map +1 -1
  210. package/dist/tui/conversation-evidence-view.d.ts +6 -0
  211. package/dist/tui/conversation-evidence-view.d.ts.map +1 -0
  212. package/dist/tui/conversation-evidence-view.js +96 -0
  213. package/dist/tui/conversation-evidence-view.js.map +1 -0
  214. package/dist/tui/conversation-history.d.ts +3 -1
  215. package/dist/tui/conversation-history.d.ts.map +1 -1
  216. package/dist/tui/conversation-history.js +16 -1
  217. package/dist/tui/conversation-history.js.map +1 -1
  218. package/dist/tui/exit-summary.d.ts +1 -1
  219. package/dist/tui/exit-summary.d.ts.map +1 -1
  220. package/dist/tui/exit-summary.js +17 -5
  221. package/dist/tui/exit-summary.js.map +1 -1
  222. package/dist/tui/markdownParser.d.ts.map +1 -1
  223. package/dist/tui/markdownParser.js +2 -1
  224. package/dist/tui/markdownParser.js.map +1 -1
  225. package/dist/tui/plugin-view.d.ts +9 -0
  226. package/dist/tui/plugin-view.d.ts.map +1 -0
  227. package/dist/tui/plugin-view.js +59 -0
  228. package/dist/tui/plugin-view.js.map +1 -0
  229. package/dist/tui/run-interruption.d.ts +2 -2
  230. package/dist/tui/run-interruption.d.ts.map +1 -1
  231. package/dist/tui/run-interruption.js +5 -1
  232. package/dist/tui/run-interruption.js.map +1 -1
  233. package/dist/tui/run-limits-settings.d.ts +39 -0
  234. package/dist/tui/run-limits-settings.d.ts.map +1 -0
  235. package/dist/tui/run-limits-settings.js +88 -0
  236. package/dist/tui/run-limits-settings.js.map +1 -0
  237. package/dist/tui/slashCommands.d.ts +6 -1
  238. package/dist/tui/slashCommands.d.ts.map +1 -1
  239. package/dist/tui/slashCommands.js +40 -9
  240. package/dist/tui/slashCommands.js.map +1 -1
  241. package/dist/tui/types.d.ts +4 -2
  242. package/dist/tui/types.d.ts.map +1 -1
  243. package/package.json +6 -6
@@ -0,0 +1,293 @@
1
+ import { lstatSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
4
+ import { stripVTControlCharacters } from 'node:util';
5
+ import { runStoredResidentLearningCycle, runStoredResidentLearningFromObservations, } from '@namzu/sdk';
6
+ import { Command } from 'commander';
7
+ import { EXIT_UNTRUSTED, EXIT_USAGE } from '../exit-codes.js';
8
+ import { residentLearningStore } from '../integrations/resident/learning-storage.js';
9
+ import { lookupResident } from '../integrations/resident/storage.js';
10
+ import { decideHeadlessTrust } from '../permissions/headless-trust.js';
11
+ import { resolveWorkingDirectory } from './run-flags.js';
12
+ const line = (value) => stripVTControlCharacters(value).replace(/[\p{Cc}\p{Cf}]/gu, ' ');
13
+ const preview = (value) => {
14
+ const chars = Array.from(line(value));
15
+ return chars.length > 240
16
+ ? `${chars.slice(0, 240).join('')}… (full text: --format json)`
17
+ : chars.join('');
18
+ };
19
+ const integer = (value) => {
20
+ if (!/^\d+$/.test(value) || !Number.isSafeInteger(Number(value)))
21
+ throw new Error('Expected a nonnegative safe integer.');
22
+ return Number(value);
23
+ };
24
+ export function learningSummary(row) {
25
+ const usage = row.result?.consumption ?? {
26
+ ...row.recordedUsage,
27
+ unfinishedStages: 1,
28
+ };
29
+ const review = row.result?.review;
30
+ const comparisons = [
31
+ ['Verification', review?.verification],
32
+ ['Confirmation', review?.confirmation],
33
+ ].flatMap(([label, round]) => {
34
+ if (!round?.tasks.length)
35
+ return [];
36
+ const total = round.tasks.reduce((n, t) => n + t.trials, 0);
37
+ const baseline = round.tasks.reduce((n, t) => n + t.baselinePasses, 0);
38
+ const candidate = round.tasks.reduce((n, t) => n + t.candidatePasses, 0);
39
+ const protection = review?.protection?.[label === 'Verification' ? 'verification' : 'confirmation'];
40
+ return [
41
+ ` ${label}: baseline ${baseline}/${total} → candidate ${candidate}/${total}`,
42
+ ...(protection
43
+ ? [
44
+ ` Protected tasks: ${protection.status}${protection.missingTasks.length ? ` · ${protection.missingTasks.length} missing` : ''}${protection.unprovenTasks.length ? ` · ${protection.unprovenTasks.length} unproven` : ''}${protection.regressedTasks.length ? ` · ${protection.regressedTasks.length} regressed` : ''}`,
45
+ ]
46
+ : []),
47
+ ];
48
+ });
49
+ return [
50
+ `${row.cycleId} · ${row.status} · ${line(row.skillName ?? 'preflight')}`,
51
+ ` ${usage.tokens} recorded tokens${usage.unknownTokens || usage.unfinishedStages ? ' · incomplete' : ''} · ${usage.unknownCosts || usage.unfinishedStages ? 'price incomplete or unknown' : `$${usage.costUsd.toFixed(4)}`}`,
52
+ ...(!row.result
53
+ ? [' No final receipt; recorded state does not establish a live executor.']
54
+ : []),
55
+ ...(row.result ? [` ${line(row.result.reason)}`] : []),
56
+ ...comparisons,
57
+ ].join('\n');
58
+ }
59
+ /** Explicit host modules follow the existing eval command's executable-suite convention. */
60
+ export async function residentLearningCommand({ ctx, rawArgs, }) {
61
+ const execute = rawArgs[0] === 'learn';
62
+ const parser = new Command()
63
+ .exitOverride()
64
+ .configureOutput({ writeOut: () => { }, writeErr: () => { } })
65
+ .allowExcessArguments(false)
66
+ .argument(execute ? '<experiment.learning.js>' : '[cycle-id]')
67
+ .option('--cwd <path>')
68
+ .option('--agent <name>', 'Resident name', 'default');
69
+ if (execute)
70
+ parser.option('--trust');
71
+ else
72
+ parser
73
+ .option('--events')
74
+ .option('--observations', 'Inspect host-scored learning observations')
75
+ .option('--after <sequence>', '', integer)
76
+ .option('--before <ordinal>', '', integer)
77
+ .option('--limit <count>', '', integer);
78
+ try {
79
+ parser.parse(rawArgs.slice(1), { from: 'user' });
80
+ }
81
+ catch (error) {
82
+ ctx.formatter.error({ message: String(error) });
83
+ return EXIT_USAGE;
84
+ }
85
+ const flags = parser.opts();
86
+ const target = resolveWorkingDirectory(flags.cwd ?? null);
87
+ if ('error' in target) {
88
+ ctx.formatter.error({ message: target.error });
89
+ return EXIT_USAGE;
90
+ }
91
+ const controller = new AbortController();
92
+ const interrupt = () => controller.abort(new Error('Learning experiment interrupted by the operator.'));
93
+ try {
94
+ const resident = await lookupResident(target.cwd, flags.agent);
95
+ if (!resident) {
96
+ ctx.formatter.print({
97
+ text: 'No resident exists here. Use namzu resident add <objective> first.',
98
+ cycles: [],
99
+ });
100
+ return execute ? EXIT_USAGE : 0;
101
+ }
102
+ if (!execute) {
103
+ const id = parser.args[0];
104
+ if (flags.observations) {
105
+ if (id || flags.events || flags.before !== undefined)
106
+ throw new Error('--observations uses --after and --limit, without a cycle ID, --events or --before.');
107
+ const store = residentLearningStore(resident, true);
108
+ const observations = store
109
+ ? await store.observations({ after: flags.after, limit: flags.limit })
110
+ : [];
111
+ ctx.formatter.print({
112
+ text: observations.length
113
+ ? observations
114
+ .map((o) => [
115
+ `${o.ordinal} · ${line(o.skillName)} · ${o.outcome}${o.usageComplete ? '' : ' · usage unresolved'}`,
116
+ ` ${line(o.taskKey)} · ${line(o.evaluatorRevision)}`,
117
+ ` ${preview(o.evidence.reason)}`,
118
+ ` ${o.attemptedCycleId ? `Experiment: ${o.attemptedCycleId}` : 'No experiment claimed'}`,
119
+ ].join('\n'))
120
+ .join('\n\n')
121
+ : 'No learning observations recorded.',
122
+ observations,
123
+ nextAfter: observations.at(-1)?.ordinal ?? flags.after ?? 0,
124
+ });
125
+ return 0;
126
+ }
127
+ if ((flags.events || flags.after !== undefined) && !id)
128
+ throw new Error('--events and --after require a cycle ID.');
129
+ if (flags.after !== undefined && !flags.events)
130
+ throw new Error('--after requires --events.');
131
+ if (id && flags.before !== undefined)
132
+ throw new Error('--before applies to the cycle list.');
133
+ const store = residentLearningStore(resident, true);
134
+ if (!store) {
135
+ ctx.formatter.print({
136
+ text: 'No learning experiments recorded.',
137
+ cycles: [],
138
+ });
139
+ return 0;
140
+ }
141
+ if (id) {
142
+ const cycle = await store.get(id);
143
+ if (!cycle)
144
+ throw new Error('Learning cycle is not retained here.');
145
+ const artifacts = await store.artifacts(id);
146
+ const events = flags.events
147
+ ? await store.events(id, { after: flags.after, limit: flags.limit })
148
+ : undefined;
149
+ ctx.formatter.print({
150
+ text: [
151
+ learningSummary(cycle),
152
+ ...artifacts.map((a) => ` ${line(a.name)} · ${a.bytes} bytes · ${a.hash}`),
153
+ ...(events?.map((e) => ` ${e.sequence} · ${e.kind}${e.stage ? ` · ${e.stage}` : ''}`) ?? []),
154
+ ].join('\n'),
155
+ cycle,
156
+ artifacts,
157
+ ...(events ? { events, nextAfter: events.at(-1)?.sequence ?? flags.after ?? 0 } : {}),
158
+ });
159
+ }
160
+ else {
161
+ const cycles = await store.list({
162
+ before: flags.before,
163
+ limit: flags.limit,
164
+ });
165
+ ctx.formatter.print({
166
+ text: cycles.length
167
+ ? cycles.map(learningSummary).join('\n\n')
168
+ : 'No learning experiments recorded.',
169
+ cycles,
170
+ nextBefore: cycles.at(-1)?.ordinal ?? null,
171
+ });
172
+ }
173
+ return 0;
174
+ }
175
+ const trust = decideHeadlessTrust({
176
+ cwd: resident.cwd,
177
+ trustFlag: flags.trust === true,
178
+ });
179
+ if (!trust.allowed) {
180
+ ctx.formatter.error({
181
+ message: trust.message ?? 'Resident directory is not trusted.',
182
+ });
183
+ return EXIT_UNTRUSTED;
184
+ }
185
+ if (trust.cwd !== resident.cwd)
186
+ throw new Error('Resident execution directory changed its canonical path.');
187
+ const agenda = await resident.agenda.read();
188
+ if (!agenda || agenda.paused || agenda.pursuits.some((p) => p.state.phase === 'running'))
189
+ throw new Error('Learning requires an unpaused resident with no running pursuits.');
190
+ const file = resolve(target.cwd, parser.args[0]);
191
+ if (!file.endsWith('.learning.js') && !file.endsWith('.learning.mjs'))
192
+ throw new Error('Choose an explicit .learning.js or .learning.mjs host module.');
193
+ const entry = lstatSync(file);
194
+ if (!entry.isFile() || entry.isSymbolicLink())
195
+ throw new Error('Learning experiment must be a regular host module, without a symbolic link.');
196
+ process.on('SIGINT', interrupt);
197
+ process.on('SIGTERM', interrupt);
198
+ controller.signal.throwIfAborted();
199
+ ctx.formatter.info(`Learning experiment: ${line(file)}`);
200
+ const module = await import(pathToFileURL(file).href);
201
+ if (typeof module.default !== 'function')
202
+ throw new Error('Learning module must default-export a host factory.');
203
+ const store = residentLearningStore(resident);
204
+ if (!store)
205
+ throw new Error('Learning storage is unavailable.');
206
+ const options = (await module.default({
207
+ cwd: resident.cwd,
208
+ tenantId: resident.tenantId,
209
+ projectId: resident.projectId,
210
+ agentKey: resident.agentKey,
211
+ signal: controller.signal,
212
+ store,
213
+ }));
214
+ controller.signal.throwIfAborted();
215
+ const explore = options.explore;
216
+ const execution = {
217
+ ...options,
218
+ agenda: resident.agenda,
219
+ signal: controller.signal,
220
+ ...(explore
221
+ ? {
222
+ explore: async (context) => {
223
+ ctx.formatter.info(`Learning · ${line(context.skillName)} · exploring environment`);
224
+ return explore(context);
225
+ },
226
+ }
227
+ : {}),
228
+ generate: async (context) => {
229
+ ctx.formatter.info(`Learning · ${line(context.skillName)} · generating guidance`);
230
+ return options.generate(context);
231
+ },
232
+ evaluate: async (context) => {
233
+ ctx.formatter.info(`Learning · ${context.stage}`);
234
+ return options.evaluate(context);
235
+ },
236
+ };
237
+ const discovery = 'evaluators' in execution
238
+ ? await runStoredResidentLearningFromObservations(store, execution)
239
+ : null;
240
+ const result = 'evaluators' in execution
241
+ ? discovery?.cycle
242
+ : await runStoredResidentLearningCycle(store, execution);
243
+ if (!result) {
244
+ ctx.formatter.print({
245
+ text: 'No eligible unattempted learning observation for the current skills and evaluators.',
246
+ result: null,
247
+ });
248
+ return 0;
249
+ }
250
+ let saved = null;
251
+ try {
252
+ saved = await store.get(result.cycleId);
253
+ }
254
+ catch (error) {
255
+ ctx.formatter.error({
256
+ message: `Result received; journal inspection failed: ${String(error)}`,
257
+ });
258
+ }
259
+ ctx.formatter.print({
260
+ text: [
261
+ saved
262
+ ? learningSummary({ ...saved, status: result.status, result })
263
+ : `${result.cycleId} · ${result.status}: ${line(result.reason)}`,
264
+ ...(!result.auditComplete
265
+ ? [
266
+ 'The journal is incomplete. Inspect the exact skill evidence before retrying; do not replay the experiment automatically.',
267
+ ]
268
+ : []),
269
+ ].join('\n'),
270
+ result,
271
+ journal: saved,
272
+ databasePath: store.databasePath,
273
+ });
274
+ return result.status === 'activated' && result.auditComplete
275
+ ? 0
276
+ : result.status === 'cancelled'
277
+ ? 130
278
+ : ['rejected', 'inconclusive'].includes(result.status)
279
+ ? 2
280
+ : 1;
281
+ }
282
+ catch (error) {
283
+ ctx.formatter.error({
284
+ message: error instanceof Error ? error.message : String(error),
285
+ });
286
+ return controller.signal.aborted ? 130 : 1;
287
+ }
288
+ finally {
289
+ process.off('SIGINT', interrupt);
290
+ process.off('SIGTERM', interrupt);
291
+ }
292
+ }
293
+ //# sourceMappingURL=resident-learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resident-learning.js","sourceRoot":"","sources":["../../src/commands/resident-learning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ResidentAgendaState } from '@namzu/sdk';
2
+ import { residentRunnerStatus } from '../integrations/resident/runner-launch.js';
3
+ import { type CliResident } from '../integrations/resident/storage.js';
4
+ import type { CommandDef } from './types.js';
5
+ export declare function residentStatus(resident: CliResident, state: ResidentAgendaState, message?: string, runner?: Awaited<ReturnType<typeof residentRunnerStatus>>): {
6
+ message?: string | undefined;
7
+ runner?: {
8
+ owner: null;
9
+ live: null;
10
+ } | {
11
+ owner: Omit<import("../integrations/resident/runner-store.js").RunnerRecord, "token">;
12
+ live: import("../integrations/resident/runner-control.js").RunnerControlResult | null;
13
+ } | undefined;
14
+ text: string;
15
+ agent: string;
16
+ cwd: string;
17
+ agenda: ResidentAgendaState;
18
+ };
19
+ export declare const residentCommand: CommandDef;
20
+ //# sourceMappingURL=resident.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resident.d.ts","sourceRoot":"","sources":["../../src/commands/resident.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,mBAAmB,EAInB,MAAM,YAAY,CAAA;AAQnB,OAAO,EACN,oBAAoB,EAGpB,MAAM,2CAA2C,CAAA;AAElD,OAAO,EACN,KAAK,WAAW,EAGhB,MAAM,qCAAqC,CAAA;AAO5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;;;;;;;;;;;;;EAuDzD;AA2BD,eAAO,MAAM,eAAe,EAAE,UA8V7B,CAAA"}