@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.
- package/CHANGELOG.md +845 -0
- package/README.md +13 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -10
- package/dist/cli.js.map +1 -1
- package/dist/commands/drain.d.ts +0 -23
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +23 -9
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/resident-flags.d.ts +24 -0
- package/dist/commands/resident-flags.d.ts.map +1 -0
- package/dist/commands/resident-flags.js +191 -0
- package/dist/commands/resident-flags.js.map +1 -0
- package/dist/commands/resident-learning.d.ts +6 -0
- package/dist/commands/resident-learning.d.ts.map +1 -0
- package/dist/commands/resident-learning.js +293 -0
- package/dist/commands/resident-learning.js.map +1 -0
- package/dist/commands/resident.d.ts +20 -0
- package/dist/commands/resident.d.ts.map +1 -0
- package/dist/commands/resident.js +418 -0
- package/dist/commands/resident.js.map +1 -0
- package/dist/commands/run-flags.d.ts +2 -2
- package/dist/commands/run-flags.d.ts.map +1 -1
- package/dist/commands/run-flags.js +6 -6
- package/dist/commands/run-flags.js.map +1 -1
- package/dist/commands/run-stream.d.ts.map +1 -1
- package/dist/commands/run-stream.js +9 -10
- package/dist/commands/run-stream.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +3 -2
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/upgrade.d.ts +1 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +6 -3
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +27 -4
- package/dist/config/load.js.map +1 -1
- package/dist/config/run-limits.d.ts +11 -0
- package/dist/config/run-limits.d.ts.map +1 -0
- package/dist/config/run-limits.js +64 -0
- package/dist/config/run-limits.js.map +1 -0
- package/dist/config/schema.d.ts +12 -4
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/context/runtime-message.d.ts.map +1 -1
- package/dist/context/runtime-message.js +2 -0
- package/dist/context/runtime-message.js.map +1 -1
- package/dist/integrations/npm-invocation.d.ts +10 -0
- package/dist/integrations/npm-invocation.d.ts.map +1 -0
- package/dist/integrations/npm-invocation.js +23 -0
- package/dist/integrations/npm-invocation.js.map +1 -0
- package/dist/integrations/plugins/runtime.d.ts +19 -1
- package/dist/integrations/plugins/runtime.d.ts.map +1 -1
- package/dist/integrations/plugins/runtime.js +89 -1
- package/dist/integrations/plugins/runtime.js.map +1 -1
- package/dist/integrations/plugins/settings.d.ts +15 -0
- package/dist/integrations/plugins/settings.d.ts.map +1 -0
- package/dist/integrations/plugins/settings.js +106 -0
- package/dist/integrations/plugins/settings.js.map +1 -0
- package/dist/integrations/providers/credential-store.d.ts +8 -7
- package/dist/integrations/providers/credential-store.d.ts.map +1 -1
- package/dist/integrations/providers/credential-store.js +44 -17
- package/dist/integrations/providers/credential-store.js.map +1 -1
- package/dist/integrations/providers/discover.d.ts.map +1 -1
- package/dist/integrations/providers/discover.js +7 -2
- package/dist/integrations/providers/discover.js.map +1 -1
- package/dist/integrations/providers/harness-credentials.d.ts +2 -2
- package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
- package/dist/integrations/providers/harness-credentials.js +13 -8
- package/dist/integrations/providers/harness-credentials.js.map +1 -1
- package/dist/integrations/providers/setup.d.ts.map +1 -1
- package/dist/integrations/providers/setup.js +52 -5
- package/dist/integrations/providers/setup.js.map +1 -1
- package/dist/integrations/resident/foreground.d.ts +19 -0
- package/dist/integrations/resident/foreground.d.ts.map +1 -0
- package/dist/integrations/resident/foreground.js +95 -0
- package/dist/integrations/resident/foreground.js.map +1 -0
- package/dist/integrations/resident/inspection.d.ts +10 -0
- package/dist/integrations/resident/inspection.d.ts.map +1 -0
- package/dist/integrations/resident/inspection.js +263 -0
- package/dist/integrations/resident/inspection.js.map +1 -0
- package/dist/integrations/resident/learning-sources.d.ts +4 -0
- package/dist/integrations/resident/learning-sources.d.ts.map +1 -0
- package/dist/integrations/resident/learning-sources.js +79 -0
- package/dist/integrations/resident/learning-sources.js.map +1 -0
- package/dist/integrations/resident/learning-storage.d.ts +5 -0
- package/dist/integrations/resident/learning-storage.d.ts.map +1 -0
- package/dist/integrations/resident/learning-storage.js +51 -0
- package/dist/integrations/resident/learning-storage.js.map +1 -0
- package/dist/integrations/resident/lifecycle-errors.d.ts +9 -0
- package/dist/integrations/resident/lifecycle-errors.d.ts.map +1 -0
- package/dist/integrations/resident/lifecycle-errors.js +15 -0
- package/dist/integrations/resident/lifecycle-errors.js.map +1 -0
- package/dist/integrations/resident/owned-runner.d.ts +17 -0
- package/dist/integrations/resident/owned-runner.d.ts.map +1 -0
- package/dist/integrations/resident/owned-runner.js +91 -0
- package/dist/integrations/resident/owned-runner.js.map +1 -0
- package/dist/integrations/resident/runner-control.d.ts +47 -0
- package/dist/integrations/resident/runner-control.d.ts.map +1 -0
- package/dist/integrations/resident/runner-control.js +238 -0
- package/dist/integrations/resident/runner-control.js.map +1 -0
- package/dist/integrations/resident/runner-launch.d.ts +52 -0
- package/dist/integrations/resident/runner-launch.d.ts.map +1 -0
- package/dist/integrations/resident/runner-launch.js +142 -0
- package/dist/integrations/resident/runner-launch.js.map +1 -0
- package/dist/integrations/resident/runner-store.d.ts +44 -0
- package/dist/integrations/resident/runner-store.d.ts.map +1 -0
- package/dist/integrations/resident/runner-store.js +281 -0
- package/dist/integrations/resident/runner-store.js.map +1 -0
- package/dist/integrations/resident/runner-worker.d.ts +2 -0
- package/dist/integrations/resident/runner-worker.d.ts.map +1 -0
- package/dist/integrations/resident/runner-worker.js +146 -0
- package/dist/integrations/resident/runner-worker.js.map +1 -0
- package/dist/integrations/resident/session-step.d.ts +29 -0
- package/dist/integrations/resident/session-step.d.ts.map +1 -0
- package/dist/integrations/resident/session-step.js +462 -0
- package/dist/integrations/resident/session-step.js.map +1 -0
- package/dist/integrations/resident/storage.d.ts +17 -0
- package/dist/integrations/resident/storage.d.ts.map +1 -0
- package/dist/integrations/resident/storage.js +140 -0
- package/dist/integrations/resident/storage.js.map +1 -0
- package/dist/integrations/resident/tool-evidence.d.ts +6 -0
- package/dist/integrations/resident/tool-evidence.d.ts.map +1 -0
- package/dist/integrations/resident/tool-evidence.js +117 -0
- package/dist/integrations/resident/tool-evidence.js.map +1 -0
- package/dist/integrations/resident/verification.d.ts +11 -0
- package/dist/integrations/resident/verification.d.ts.map +1 -0
- package/dist/integrations/resident/verification.js +109 -0
- package/dist/integrations/resident/verification.js.map +1 -0
- package/dist/integrations/sessions/compaction-evidence.d.ts +5 -0
- package/dist/integrations/sessions/compaction-evidence.d.ts.map +1 -0
- package/dist/integrations/sessions/compaction-evidence.js +59 -0
- package/dist/integrations/sessions/compaction-evidence.js.map +1 -0
- package/dist/integrations/sessions/context-inventory.js +1 -1
- package/dist/integrations/sessions/context-inventory.js.map +1 -1
- package/dist/integrations/sessions/conversation-search.d.ts +56 -8
- package/dist/integrations/sessions/conversation-search.d.ts.map +1 -1
- package/dist/integrations/sessions/conversation-search.js +600 -63
- package/dist/integrations/sessions/conversation-search.js.map +1 -1
- package/dist/integrations/sessions/database.d.ts +5 -0
- package/dist/integrations/sessions/database.d.ts.map +1 -0
- package/dist/integrations/sessions/database.js +34 -0
- package/dist/integrations/sessions/database.js.map +1 -0
- package/dist/integrations/sessions/evidence-page-validation.d.ts +8 -0
- package/dist/integrations/sessions/evidence-page-validation.d.ts.map +1 -0
- package/dist/integrations/sessions/evidence-page-validation.js +74 -0
- package/dist/integrations/sessions/evidence-page-validation.js.map +1 -0
- package/dist/integrations/sessions/evidence-recall.d.ts +5 -0
- package/dist/integrations/sessions/evidence-recall.d.ts.map +1 -0
- package/dist/integrations/sessions/evidence-recall.js +173 -0
- package/dist/integrations/sessions/evidence-recall.js.map +1 -0
- package/dist/integrations/sessions/paths.d.ts +7 -0
- package/dist/integrations/sessions/paths.d.ts.map +1 -0
- package/dist/integrations/sessions/paths.js +14 -0
- package/dist/integrations/sessions/paths.js.map +1 -0
- package/dist/integrations/sessions/run-discovery.d.ts +24 -0
- package/dist/integrations/sessions/run-discovery.d.ts.map +1 -0
- package/dist/integrations/sessions/run-discovery.js +142 -0
- package/dist/integrations/sessions/run-discovery.js.map +1 -0
- package/dist/integrations/sessions/store.d.ts +8 -18
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +14 -39
- package/dist/integrations/sessions/store.js.map +1 -1
- package/dist/integrations/sessions/transcript-export.d.ts +0 -1
- package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
- package/dist/integrations/sessions/transcript-export.js +3 -2
- package/dist/integrations/sessions/transcript-export.js.map +1 -1
- package/dist/integrations/sessions/turn-evidence.d.ts +0 -9
- package/dist/integrations/sessions/turn-evidence.d.ts.map +1 -1
- package/dist/integrations/sessions/turn-evidence.js +5 -2
- package/dist/integrations/sessions/turn-evidence.js.map +1 -1
- package/dist/integrations/state/private-directory.d.ts +4 -2
- package/dist/integrations/state/private-directory.d.ts.map +1 -1
- package/dist/integrations/state/private-directory.js +6 -4
- package/dist/integrations/state/private-directory.js.map +1 -1
- package/dist/integrations/state/report.d.ts.map +1 -1
- package/dist/integrations/state/report.js +78 -21
- package/dist/integrations/state/report.js.map +1 -1
- package/dist/integrations/subagents/parent.d.ts +3 -2
- package/dist/integrations/subagents/parent.d.ts.map +1 -1
- package/dist/integrations/subagents/parent.js +11 -6
- package/dist/integrations/subagents/parent.js.map +1 -1
- package/dist/integrations/subagents/policy.d.ts +2 -5
- package/dist/integrations/subagents/policy.d.ts.map +1 -1
- package/dist/integrations/subagents/policy.js +2 -5
- package/dist/integrations/subagents/policy.js.map +1 -1
- package/dist/integrations/subagents/runtime.d.ts +7 -0
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +9 -7
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/permissions/rules.d.ts +2 -8
- package/dist/permissions/rules.d.ts.map +1 -1
- package/dist/permissions/rules.js +19 -10
- package/dist/permissions/rules.js.map +1 -1
- package/dist/tui/App.d.ts +0 -12
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +235 -15
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/ChoicePicker.d.ts +2 -1
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/ChoicePicker.js +10 -8
- package/dist/tui/ChoicePicker.js.map +1 -1
- package/dist/tui/ToolOutputViewer.js +1 -1
- package/dist/tui/ToolOutputViewer.js.map +1 -1
- package/dist/tui/agent.d.ts +29 -3
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +233 -46
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/conversation-evidence-view.d.ts +6 -0
- package/dist/tui/conversation-evidence-view.d.ts.map +1 -0
- package/dist/tui/conversation-evidence-view.js +96 -0
- package/dist/tui/conversation-evidence-view.js.map +1 -0
- package/dist/tui/conversation-history.d.ts +3 -1
- package/dist/tui/conversation-history.d.ts.map +1 -1
- package/dist/tui/conversation-history.js +16 -1
- package/dist/tui/conversation-history.js.map +1 -1
- package/dist/tui/exit-summary.d.ts +1 -1
- package/dist/tui/exit-summary.d.ts.map +1 -1
- package/dist/tui/exit-summary.js +17 -5
- package/dist/tui/exit-summary.js.map +1 -1
- package/dist/tui/markdownParser.d.ts.map +1 -1
- package/dist/tui/markdownParser.js +2 -1
- package/dist/tui/markdownParser.js.map +1 -1
- package/dist/tui/plugin-view.d.ts +9 -0
- package/dist/tui/plugin-view.d.ts.map +1 -0
- package/dist/tui/plugin-view.js +59 -0
- package/dist/tui/plugin-view.js.map +1 -0
- package/dist/tui/run-interruption.d.ts +2 -2
- package/dist/tui/run-interruption.d.ts.map +1 -1
- package/dist/tui/run-interruption.js +5 -1
- package/dist/tui/run-interruption.js.map +1 -1
- package/dist/tui/run-limits-settings.d.ts +39 -0
- package/dist/tui/run-limits-settings.d.ts.map +1 -0
- package/dist/tui/run-limits-settings.js +88 -0
- package/dist/tui/run-limits-settings.js.map +1 -0
- package/dist/tui/slashCommands.d.ts +6 -1
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +40 -9
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/types.d.ts +4 -2
- package/dist/tui/types.d.ts.map +1 -1
- 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"}
|