@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 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/integrations/resident/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ResidentHistorySource } from '@namzu/sdk';
|
|
2
|
+
import type { CliSessions } from '../sessions/store.js';
|
|
3
|
+
export declare function readResidentAttemptReceipt(root: string, path: string, signal?: AbortSignal): Promise<unknown>;
|
|
4
|
+
/** CLI supplies attempt/Session authorization; SDK owns bounded retrieval and indexing. */
|
|
5
|
+
export declare function residentToolEvidence(history: ResidentHistorySource, sessions: CliSessions, artifactsRoot: string): import("@namzu/sdk").ResidentToolEvidenceSource;
|
|
6
|
+
//# sourceMappingURL=tool-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-evidence.d.ts","sourceRoot":"","sources":["../../../src/integrations/resident/tool-evidence.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,qBAAqB,EAM1B,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AA0BvD,wBAAsB,0BAA0B,CAC/C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,OAAO,CAAC,CAiClB;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,MAAM,mDA4DrB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { constants } from 'node:fs';
|
|
2
|
+
import { lstat, open } from 'node:fs/promises';
|
|
3
|
+
import { join, relative, resolve, sep } from 'node:path';
|
|
4
|
+
import { asRunId, asSessionId, createDiskRunEvidenceSource, createResidentToolEvidenceSource, isEntityId, } from '@namzu/sdk';
|
|
5
|
+
import { CliPathBuilder } from '../sessions/paths.js';
|
|
6
|
+
const ATTEMPT_DOCUMENT_BYTES = 65_536;
|
|
7
|
+
function identity(value) {
|
|
8
|
+
if (!value || typeof value !== 'object')
|
|
9
|
+
throw new Error('Invalid attempt receipt.');
|
|
10
|
+
const v = value;
|
|
11
|
+
if (v.version !== 1 ||
|
|
12
|
+
!isEntityId(v.pursuitId, 'run') ||
|
|
13
|
+
!isEntityId(v.claimId, 'run') ||
|
|
14
|
+
typeof v.sessionId !== 'string' ||
|
|
15
|
+
typeof v.runId !== 'string')
|
|
16
|
+
throw new Error('Invalid attempt identity.');
|
|
17
|
+
return {
|
|
18
|
+
pursuitId: v.pursuitId,
|
|
19
|
+
claimId: v.claimId,
|
|
20
|
+
sessionId: asSessionId(v.sessionId),
|
|
21
|
+
runId: asRunId(v.runId),
|
|
22
|
+
startedAt: v.startedAt,
|
|
23
|
+
finishedAt: v.finishedAt,
|
|
24
|
+
cleanup: v.cleanup,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export async function readResidentAttemptReceipt(root, path, signal) {
|
|
28
|
+
signal?.throwIfAborted();
|
|
29
|
+
const suffix = relative(root, path);
|
|
30
|
+
if (suffix === '..' || suffix.startsWith(`..${sep}`))
|
|
31
|
+
throw new Error('Invalid attempt path.');
|
|
32
|
+
let current = root;
|
|
33
|
+
for (const part of ['', ...suffix.split(sep)]) {
|
|
34
|
+
current = join(current, part);
|
|
35
|
+
if ((await lstat(current)).isSymbolicLink())
|
|
36
|
+
throw new Error('Attempt symlinks are refused.');
|
|
37
|
+
}
|
|
38
|
+
const file = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
|
|
39
|
+
try {
|
|
40
|
+
const before = await file.stat();
|
|
41
|
+
if (!before.isFile() || before.size > ATTEMPT_DOCUMENT_BYTES)
|
|
42
|
+
throw new Error('Invalid attempt receipt size.');
|
|
43
|
+
const bytes = Buffer.alloc(before.size);
|
|
44
|
+
let offset = 0;
|
|
45
|
+
while (offset < bytes.length) {
|
|
46
|
+
signal?.throwIfAborted();
|
|
47
|
+
const read = await file.read(bytes, offset, bytes.length - offset, offset);
|
|
48
|
+
if (!read.bytesRead)
|
|
49
|
+
throw new Error('Attempt receipt shortened.');
|
|
50
|
+
offset += read.bytesRead;
|
|
51
|
+
}
|
|
52
|
+
const after = await file.stat();
|
|
53
|
+
if (before.size !== after.size ||
|
|
54
|
+
before.mtimeMs !== after.mtimeMs ||
|
|
55
|
+
before.ctimeMs !== after.ctimeMs)
|
|
56
|
+
throw new Error('Attempt receipt changed.');
|
|
57
|
+
return JSON.parse(new TextDecoder('utf8', { fatal: true }).decode(bytes));
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
await file.close();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** CLI supplies attempt/Session authorization; SDK owns bounded retrieval and indexing. */
|
|
64
|
+
export function residentToolEvidence(history, sessions, artifactsRoot) {
|
|
65
|
+
const root = resolve(artifactsRoot);
|
|
66
|
+
const paths = new CliPathBuilder(sessions.root);
|
|
67
|
+
if (history.scope.tenantId !== sessions.tenantId)
|
|
68
|
+
throw new Error('Resident history tenant mismatch.');
|
|
69
|
+
return createResidentToolEvidenceSource({
|
|
70
|
+
history,
|
|
71
|
+
projectId: sessions.projectId,
|
|
72
|
+
// Start and finish documents are size-checked before reading. Reserve
|
|
73
|
+
// their upper bound, not a fabricated measurement of database/stat I/O.
|
|
74
|
+
resolutionReadBytes: 2 * ATTEMPT_DOCUMENT_BYTES,
|
|
75
|
+
async resolveRun(settled, signal) {
|
|
76
|
+
const claimId = settled.claimId;
|
|
77
|
+
if (!isEntityId(claimId, 'run'))
|
|
78
|
+
throw new Error('Invalid claim id.');
|
|
79
|
+
const start = identity(await readResidentAttemptReceipt(root, join(root, claimId, 'start.json'), signal));
|
|
80
|
+
const finish = identity(await readResidentAttemptReceipt(root, join(root, claimId, 'finish.json'), signal));
|
|
81
|
+
for (const record of [start, finish])
|
|
82
|
+
if (record.claimId !== claimId ||
|
|
83
|
+
record.pursuitId !== history.scope.pursuitId ||
|
|
84
|
+
record.sessionId !== start.sessionId ||
|
|
85
|
+
record.runId !== start.runId)
|
|
86
|
+
throw new Error('Attempt identity does not match its settled claim.');
|
|
87
|
+
if (finish.cleanup !== 'confirmed' ||
|
|
88
|
+
typeof start.startedAt !== 'number' ||
|
|
89
|
+
!Number.isFinite(start.startedAt) ||
|
|
90
|
+
typeof finish.finishedAt !== 'number' ||
|
|
91
|
+
!Number.isFinite(finish.finishedAt) ||
|
|
92
|
+
finish.finishedAt < start.startedAt)
|
|
93
|
+
throw new Error('Invalid attempt receipt order.');
|
|
94
|
+
const sessionId = asSessionId(start.sessionId);
|
|
95
|
+
// Resident invocations persist their own Run ledger, without creating a
|
|
96
|
+
// resumable conversation row. An existing row must agree; the SDK always
|
|
97
|
+
// requires the explicit tenant/project/Session/run scope in run.json.
|
|
98
|
+
const session = await sessions.store.getSession(sessionId, sessions.tenantId);
|
|
99
|
+
if (session && session.projectId !== sessions.projectId)
|
|
100
|
+
throw new Error('Attempt Session belongs to a different project.');
|
|
101
|
+
signal?.throwIfAborted();
|
|
102
|
+
const runDir = join(paths.sessionDir(sessions.projectId, sessionId), 'runs', start.runId);
|
|
103
|
+
const indexDir = join(runDir, 'evidence-index');
|
|
104
|
+
return createDiskRunEvidenceSource({
|
|
105
|
+
scope: {
|
|
106
|
+
tenantId: sessions.tenantId,
|
|
107
|
+
projectId: sessions.projectId,
|
|
108
|
+
sessionId,
|
|
109
|
+
runId: start.runId,
|
|
110
|
+
},
|
|
111
|
+
runDir,
|
|
112
|
+
indexDir,
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=tool-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-evidence.js","sourceRoot":"","sources":["../../../src/integrations/resident/tool-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type JsonClaimRequirement, type RunId } from '@namzu/sdk';
|
|
2
|
+
export interface ResidentVerificationSpec {
|
|
3
|
+
readonly version: 1;
|
|
4
|
+
readonly claims: readonly JsonClaimRequirement[];
|
|
5
|
+
}
|
|
6
|
+
/** Snapshot the explicitly selected manifest once; edits cannot expand a running worker's authority. */
|
|
7
|
+
export declare function loadResidentVerification(path: string, cwd: string): Promise<ResidentVerificationSpec>;
|
|
8
|
+
/** Explicit host reads, like --gate: no additional authority is granted to model tools. */
|
|
9
|
+
export declare function residentClaimVerifier(spec: ResidentVerificationSpec, cwd: string, scope: string, runId: RunId): import("@namzu/sdk").JsonClaimVerifier;
|
|
10
|
+
export declare function verificationInstructions(spec: ResidentVerificationSpec): string;
|
|
11
|
+
//# sourceMappingURL=verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../src/integrations/resident/verification.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,KAAK,EAGV,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;CAChD;AAsFD,wGAAwG;AACxG,wBAAsB,wBAAwB,CAC7C,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,wBAAwB,CAAC,CAQnC;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,0CAoBZ;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAO/E"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { constants } from 'node:fs';
|
|
2
|
+
import { open, realpath, stat } from 'node:fs/promises';
|
|
3
|
+
import { isAbsolute, relative, resolve } from 'node:path';
|
|
4
|
+
import { createJsonClaimVerifier, generateRunId, } from '@namzu/sdk';
|
|
5
|
+
/** Bounded regular-file observation; checks changes during the read, never runs commands. */
|
|
6
|
+
async function readDocument(path, maxBytes, signal) {
|
|
7
|
+
signal?.throwIfAborted();
|
|
8
|
+
const file = await open(path, constants.O_RDONLY | constants.O_NONBLOCK | (constants.O_NOFOLLOW ?? 0));
|
|
9
|
+
try {
|
|
10
|
+
const before = await file.stat();
|
|
11
|
+
if (!before.isFile() || before.size >= maxBytes)
|
|
12
|
+
throw new Error('Verification requires a bounded regular file.');
|
|
13
|
+
const buffer = Buffer.alloc(before.size + 1);
|
|
14
|
+
let length = 0;
|
|
15
|
+
while (length < buffer.length) {
|
|
16
|
+
signal?.throwIfAborted();
|
|
17
|
+
const { bytesRead } = await file.read(buffer, length, buffer.length - length, null);
|
|
18
|
+
if (!bytesRead)
|
|
19
|
+
break;
|
|
20
|
+
length += bytesRead;
|
|
21
|
+
}
|
|
22
|
+
const after = await file.stat();
|
|
23
|
+
const named = await stat(path);
|
|
24
|
+
signal?.throwIfAborted();
|
|
25
|
+
if (length !== before.size ||
|
|
26
|
+
[after, named].some((value) => value.dev !== before.dev ||
|
|
27
|
+
value.ino !== before.ino ||
|
|
28
|
+
value.size !== before.size ||
|
|
29
|
+
value.mtimeMs !== before.mtimeMs ||
|
|
30
|
+
value.ctimeMs !== before.ctimeMs))
|
|
31
|
+
throw new Error('Verification source changed during observation.');
|
|
32
|
+
return buffer.subarray(0, length);
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
await file.close();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function within(root, path) {
|
|
39
|
+
const rel = relative(root, path);
|
|
40
|
+
return rel !== '..' && !rel.startsWith('../') && !rel.startsWith('..\\') && !isAbsolute(rel);
|
|
41
|
+
}
|
|
42
|
+
function validateSpec(value) {
|
|
43
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
44
|
+
throw new Error('Invalid verification specification.');
|
|
45
|
+
const raw = value;
|
|
46
|
+
if (raw.version !== 1 ||
|
|
47
|
+
!Array.isArray(raw.claims) ||
|
|
48
|
+
Object.keys(raw).some((key) => !['version', 'claims'].includes(key)))
|
|
49
|
+
throw new Error('Verification requires {"version":1,"claims":[...]} .');
|
|
50
|
+
for (const claim of raw.claims) {
|
|
51
|
+
if (!claim ||
|
|
52
|
+
typeof claim !== 'object' ||
|
|
53
|
+
Array.isArray(claim) ||
|
|
54
|
+
Object.keys(claim).some((key) => !['id', 'source', 'pointer', 'expected'].includes(key)) ||
|
|
55
|
+
typeof claim.source !== 'string' ||
|
|
56
|
+
isAbsolute(claim.source) ||
|
|
57
|
+
claim.source.includes('\\') ||
|
|
58
|
+
claim.source.split('/').some((part) => !part || part === '..' || part === '.') ||
|
|
59
|
+
/[\p{Cc}\p{Cf}]/u.test(claim.source))
|
|
60
|
+
throw new Error('Verification sources must be relative workspace file paths without traversal.');
|
|
61
|
+
}
|
|
62
|
+
const spec = structuredClone(value);
|
|
63
|
+
// Validate the shared pointer/value/size contract before admitting a model.
|
|
64
|
+
createJsonClaimVerifier({
|
|
65
|
+
scope: 'configuration',
|
|
66
|
+
runId: generateRunId(),
|
|
67
|
+
requirements: spec.claims,
|
|
68
|
+
observe: async () => {
|
|
69
|
+
throw new Error('Configuration validation never observes sources.');
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
return spec;
|
|
73
|
+
}
|
|
74
|
+
/** Snapshot the explicitly selected manifest once; edits cannot expand a running worker's authority. */
|
|
75
|
+
export async function loadResidentVerification(path, cwd) {
|
|
76
|
+
return validateSpec(JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(await readDocument(resolve(cwd, path), 65_536))));
|
|
77
|
+
}
|
|
78
|
+
/** Explicit host reads, like --gate: no additional authority is granted to model tools. */
|
|
79
|
+
export function residentClaimVerifier(spec, cwd, scope, runId) {
|
|
80
|
+
const snapshot = validateSpec(spec);
|
|
81
|
+
const verifier = createJsonClaimVerifier({
|
|
82
|
+
scope,
|
|
83
|
+
runId,
|
|
84
|
+
requirements: snapshot.claims,
|
|
85
|
+
observe: async (source, request) => {
|
|
86
|
+
request.signal.throwIfAborted();
|
|
87
|
+
const root = await realpath(cwd);
|
|
88
|
+
if (root !== resolve(cwd))
|
|
89
|
+
throw new Error('Verification workspace identity changed.');
|
|
90
|
+
const path = await realpath(resolve(cwd, source));
|
|
91
|
+
if (!within(root, path))
|
|
92
|
+
throw new Error('Verification source escapes the workspace.');
|
|
93
|
+
const bytes = await readDocument(path, request.maxBytes, request.signal);
|
|
94
|
+
if ((await realpath(resolve(cwd, source))) !== path)
|
|
95
|
+
throw new Error('Verification source moved.');
|
|
96
|
+
return { ...request, source, bytes, kind: 'current', complete: true, observedAt: Date.now() };
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
return verifier;
|
|
100
|
+
}
|
|
101
|
+
export function verificationInstructions(spec) {
|
|
102
|
+
return [
|
|
103
|
+
'For a complete decision, also include a claims object with exactly the configured IDs and observed scalar values.',
|
|
104
|
+
'The host will independently re-read the selected JSON sources and reject mismatches or unmet expected values.',
|
|
105
|
+
'Use blocked or wait when completion cannot be established; omit claims for those dispositions.',
|
|
106
|
+
`Only these structured claims are verified, not the rest of the summary. Sources and JSON pointers: ${JSON.stringify(spec.claims)}`,
|
|
107
|
+
].join(' ');
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../src/integrations/resident/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type Message, type SessionId } from '@namzu/sdk';
|
|
2
|
+
import { type ConversationContext } from './store.js';
|
|
3
|
+
/** A zero-model maintenance record, separate from closed model invocations. */
|
|
4
|
+
export declare function retainManualCompaction(sessions: ConversationContext, sessionId: SessionId, messages: readonly Message[], signal?: AbortSignal): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=compaction-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-evidence.d.ts","sourceRoot":"","sources":["../../../src/integrations/sessions/compaction-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAGZ,KAAK,SAAS,EAEd,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,KAAK,mBAAmB,EAA+B,MAAM,YAAY,CAAA;AAElF,+EAA+E;AAC/E,wBAAsB,sBAAsB,CAC3C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { RunPersistence, generateRunId, } from '@namzu/sdk';
|
|
2
|
+
import { cliLogger } from '../../logging.js';
|
|
3
|
+
import { ensurePrivateStateDirectory } from '../state/private-directory.js';
|
|
4
|
+
import { requireWritableConversation } from './store.js';
|
|
5
|
+
/** A zero-model maintenance record, separate from closed model invocations. */
|
|
6
|
+
export async function retainManualCompaction(sessions, sessionId, messages, signal) {
|
|
7
|
+
signal?.throwIfAborted();
|
|
8
|
+
await requireWritableConversation(sessions, sessionId, 'retain compacted history');
|
|
9
|
+
if (!messages.length)
|
|
10
|
+
return;
|
|
11
|
+
const sessionsDir = ensurePrivateStateDirectory(sessions.root, 'sessions');
|
|
12
|
+
const sessionDir = ensurePrivateStateDirectory(sessionsDir, sessionId);
|
|
13
|
+
const outputDir = ensurePrivateStateDirectory(sessionDir, 'runs');
|
|
14
|
+
const persistence = new RunPersistence({
|
|
15
|
+
runId: generateRunId(),
|
|
16
|
+
agentId: 'manual-compaction',
|
|
17
|
+
agentName: 'Manual compaction archive',
|
|
18
|
+
providerId: 'host',
|
|
19
|
+
runConfig: { model: 'none', timeoutMs: 0, tokenBudget: 0 },
|
|
20
|
+
outputDir,
|
|
21
|
+
log: cliLogger(),
|
|
22
|
+
sessionId,
|
|
23
|
+
topicId: sessions.topicId,
|
|
24
|
+
tenantId: sessions.tenantId,
|
|
25
|
+
projectId: sessions.projectId,
|
|
26
|
+
});
|
|
27
|
+
await persistence.init();
|
|
28
|
+
const store = persistence.getRunStore();
|
|
29
|
+
const append = async (event) => {
|
|
30
|
+
signal?.throwIfAborted();
|
|
31
|
+
const seq = persistence.nextEventSeq();
|
|
32
|
+
await store.appendEvent({ ...event, seq });
|
|
33
|
+
persistence.commitEventSeq(seq);
|
|
34
|
+
};
|
|
35
|
+
try {
|
|
36
|
+
await append({ type: 'run_started', runId: persistence.id });
|
|
37
|
+
// The SDK bounds large records and indexes their individual text parts.
|
|
38
|
+
// Keep the same removed-message event shape as automatic compaction.
|
|
39
|
+
await append({
|
|
40
|
+
type: 'compaction_shed',
|
|
41
|
+
runId: persistence.id,
|
|
42
|
+
iteration: 0,
|
|
43
|
+
reason: 'manual',
|
|
44
|
+
messages: [...messages],
|
|
45
|
+
});
|
|
46
|
+
await append({ type: 'run_completed', runId: persistence.id, result: '' });
|
|
47
|
+
persistence.markCompleted();
|
|
48
|
+
// No model answer, checkpoint or global run-index row: this operation
|
|
49
|
+
// archives evidence; it must not become a resumable agent invocation.
|
|
50
|
+
await store.writeRunMeta(persistence.getRun());
|
|
51
|
+
signal?.throwIfAborted();
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
persistence.markFailed('Manual compaction retention did not finish.');
|
|
55
|
+
await store.writeRunMeta(persistence.getRun()).catch(() => { });
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=compaction-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-evidence.js","sourceRoot":"","sources":["../../../src/integrations/sessions/compaction-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export function createContextInventoryStep() {
|
|
|
38
38
|
};
|
|
39
39
|
const text = 'Context inventory (current request only). Positions are temporary, not archive IDs. Sizes are UTF-16 text characters; non-text payloads are counted, not estimated as base64 text tokens. For earlier evidence use search_conversation, then read_conversation(runId, seq, part) for exact retained pages. Do not repeat a state-changing action to recover its output.\n' +
|
|
40
40
|
JSON.stringify(inventory);
|
|
41
|
-
return {
|
|
41
|
+
return { context: [prepared.context, text].filter(Boolean).join('\n\n') };
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
//# sourceMappingURL=context-inventory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-inventory.js","sourceRoot":"","sources":["../../../src/integrations/sessions/context-inventory.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,MAAM,UAAU,0BAA0B;IACzC,OAAO,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;QACxD,MAAM,EAAE,cAAc,EAAE,CAAA;QACxB,MAAM,MAAM,GAA2E,EAAE,CAAA;QACzF,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAQ;YACrC,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;iBAClE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;wBAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;;wBAChD,MAAM,EAAE,CAAA;gBACd,CAAC;YACF,UAAU,IAAI,KAAK,CAAA;YACnB,UAAU,IAAI,MAAM,CAAA;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,eAAe,GAAG,aAAa,CAAC,YAAY,GAAG,CAAC,CAAA;QAChG,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA;QACtD,gFAAgF;QAChF,IAAI,aAAa,IAAI,aAAa,CAAC,eAAe,GAAG,KAAK;YAAE,OAAO,SAAS,CAAA;QAC5E,MAAM,SAAS,GAAG;YACjB,eAAe,EAAE,QAAQ,CAAC,MAAM;YAChC,oBAAoB,EAAE,UAAU;YAChC,oBAAoB,EAAE,UAAU;YAChC,wBAAwB,EAAE,aAAa,EAAE,eAAe;YACxD,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE,CAAA;QACD,MAAM,IAAI,GACT,2WAA2W;YAC3W,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context-inventory.js","sourceRoot":"","sources":["../../../src/integrations/sessions/context-inventory.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,MAAM,UAAU,0BAA0B;IACzC,OAAO,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;QACxD,MAAM,EAAE,cAAc,EAAE,CAAA;QACxB,MAAM,MAAM,GAA2E,EAAE,CAAA;QACzF,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAQ;YACrC,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;iBAClE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;wBAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;;wBAChD,MAAM,EAAE,CAAA;gBACd,CAAC;YACF,UAAU,IAAI,KAAK,CAAA;YACnB,UAAU,IAAI,MAAM,CAAA;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,IAAI,aAAa,CAAC,eAAe,GAAG,aAAa,CAAC,YAAY,GAAG,CAAC,CAAA;QAChG,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA;QACtD,gFAAgF;QAChF,IAAI,aAAa,IAAI,aAAa,CAAC,eAAe,GAAG,KAAK;YAAE,OAAO,SAAS,CAAA;QAC5E,MAAM,SAAS,GAAG;YACjB,eAAe,EAAE,QAAQ,CAAC,MAAM;YAChC,oBAAoB,EAAE,UAAU;YAChC,oBAAoB,EAAE,UAAU;YAChC,wBAAwB,EAAE,aAAa,EAAE,eAAe;YACxD,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE,CAAA;QACD,MAAM,IAAI,GACT,2WAA2W;YAC3W,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1E,CAAC,CAAA;AACF,CAAC"}
|
|
@@ -1,35 +1,76 @@
|
|
|
1
|
-
import { type SessionId, type ToolContext, type ToolDefinition } from '@namzu/sdk';
|
|
2
|
-
import type {
|
|
1
|
+
import { type EvidenceRecordKind, type SessionId, type ToolContext, type ToolDefinition } from '@namzu/sdk';
|
|
2
|
+
import type { ConversationContext } from './store.js';
|
|
3
|
+
/** Successful archive retrievals quote earlier records; they are not new observations. */
|
|
4
|
+
export declare const CONVERSATION_RETRIEVAL_TOOLS: readonly ["read_conversation", "search_conversation"];
|
|
5
|
+
/** Stable capability guidance; include only when this host mounts both tools. */
|
|
6
|
+
export declare const CONVERSATION_EVIDENCE_GUIDANCE = "## Conversation evidence\nWhen a question asks about an earlier observation, use the evidence already in context. If the detail is missing or clipped, use search_conversation to locate the original recorded output, then read_conversation for exact text beyond an excerpt. Pass a supplied recall continuation's cursor to search_conversation to continue from the scan's existing position. This works before compaction as well as after compaction or restart, within this conversation only. New searches omit successful search_conversation/read_conversation outputs, which repeat earlier records. To inspect those outputs themselves, start a new search with includeRetrievalResults=true. excerptComplete=true means the entire full-retained text part is already shown: reading the same unchanged part adds no text or independent evidence. False or absent means partial or unknown. This does not establish the truth of a prior claim or exhaust the conversation.\nA path following \"The full output was written to:\" identifies an internal backing file, not a workspace file. Recover its contents through search_conversation and read_conversation, which verify ownership and retained-byte integrity. Do not use bash, read or grep to bypass a workspace-path refusal when recovering archived output.\nrecordedAt is the event recorder\u2019s wall-clock time in Unix milliseconds, not the time its text became true. For compaction_shed it dates the copy, not the original observation. compaction_shed:summary identifies derived summary text, not an independent observation. Missing stamps stay unknown; clocks can move backwards or differ. Event seq orders one run only; UUIDs, file order and mtime do not establish cross-run chronology.\nFor what a file contained earlier, recover its earlier observation; reading or searching the current file cannot establish its past contents. For what is true now, inspect the current source when freshness matters. Do not substitute one time for the other. Report unavailable historical evidence honestly and never repeat a state-changing action to recover its output.";
|
|
3
7
|
interface EvidenceMatch {
|
|
8
|
+
/** Stored event wall-clock Unix milliseconds; not original fact time. */
|
|
9
|
+
recordedAt?: number;
|
|
4
10
|
runId: string;
|
|
5
11
|
seq: number;
|
|
6
12
|
source: string;
|
|
13
|
+
/** Producer classification only, not a truth or successful-action verdict. */
|
|
14
|
+
recordKind: EvidenceRecordKind;
|
|
7
15
|
text: string;
|
|
8
16
|
/** Zero-based textual part within this event (not a character offset). */
|
|
9
17
|
part: number;
|
|
18
|
+
/** Optional UTF-8 position to begin reading near this indexed match. */
|
|
19
|
+
byteOffset?: number;
|
|
20
|
+
retained?: 'full' | 'preview';
|
|
21
|
+
/** True only when this excerpt covers the entire full-retained text part. */
|
|
22
|
+
excerptComplete?: boolean;
|
|
23
|
+
/** Originating tool, when the authenticated event provides it. */
|
|
24
|
+
toolName?: string;
|
|
25
|
+
isError?: boolean;
|
|
10
26
|
}
|
|
11
27
|
export interface ConversationSearchResult {
|
|
28
|
+
/** How to read excerpts and interpret an empty literal search. */
|
|
29
|
+
guidance: string;
|
|
30
|
+
recordKindGuidance: string;
|
|
12
31
|
matches: EvidenceMatch[];
|
|
13
32
|
scannedRuns: number;
|
|
14
33
|
scannedBytes: number;
|
|
15
34
|
/** True means the search cannot establish that absent evidence does not exist. */
|
|
16
35
|
incomplete: boolean;
|
|
17
36
|
unavailableRuns: number;
|
|
37
|
+
/** Successful tool outputs omitted by the host's source filter in this page. */
|
|
38
|
+
excludedToolResults?: number;
|
|
39
|
+
/** Known derived-summary visits omitted by a focused scan. */
|
|
40
|
+
excludedSummaries?: number;
|
|
18
41
|
/** Opaque continuation, valid for this process and query for ten minutes. */
|
|
19
42
|
nextCursor?: string;
|
|
20
43
|
}
|
|
44
|
+
/** Release process-local search resources after the host has settled this conversation's work. */
|
|
45
|
+
export declare function releaseConversationEvidence(sessions: ConversationContext, sessionId: SessionId): Promise<void>;
|
|
46
|
+
/** Bridge an already validated writer search to the ordinary scoped search tool. */
|
|
47
|
+
export declare function retainLiveConversationSearch(sessions: ConversationContext, sessionId: SessionId, runId: string, terms: readonly string[], indexCursor: string, omitted?: boolean, matchMode?: 'literal' | 'token', excludeSuccessfulTools?: readonly string[], excludeDerivedSummaries?: boolean): string;
|
|
21
48
|
/** Searches only local runs of the host-selected conversation, never arbitrary paths. */
|
|
22
|
-
export declare function searchConversation(sessions:
|
|
23
|
-
query
|
|
49
|
+
export declare function searchConversation(sessions: ConversationContext, sessionId: SessionId, input: {
|
|
50
|
+
query?: string;
|
|
51
|
+
caseSensitive?: boolean;
|
|
24
52
|
runId?: string;
|
|
25
53
|
limit?: number;
|
|
26
54
|
cursor?: string;
|
|
55
|
+
includeRetrievalResults?: boolean;
|
|
56
|
+
}, signal?: AbortSignal, active?: Pick<ToolContext, 'runId' | 'captureRunEvidence'>): Promise<ConversationSearchResult>;
|
|
57
|
+
/** Host-only bounded candidate discovery; does not change the model tool schema. */
|
|
58
|
+
export declare function searchConversationTerms(sessions: ConversationContext, sessionId: SessionId, input: {
|
|
59
|
+
terms: readonly string[];
|
|
60
|
+
excludeRunId: string;
|
|
61
|
+
maxReadBytes: number;
|
|
62
|
+
cursor?: string;
|
|
63
|
+
matchMode?: 'literal' | 'token';
|
|
64
|
+
excludeSuccessfulTools?: readonly string[];
|
|
65
|
+
excludeDerivedSummaries?: boolean;
|
|
27
66
|
}, signal?: AbortSignal): Promise<ConversationSearchResult>;
|
|
28
67
|
export declare function buildConversationSearchTool(resolveScope: (context: ToolContext) => {
|
|
29
|
-
sessions:
|
|
68
|
+
sessions: ConversationContext;
|
|
30
69
|
sessionId: SessionId;
|
|
31
70
|
}): ToolDefinition;
|
|
32
71
|
export interface ConversationEvidencePage {
|
|
72
|
+
/** Stored event wall-clock Unix milliseconds; unknown when absent. */
|
|
73
|
+
recordedAt?: number;
|
|
33
74
|
runId: string;
|
|
34
75
|
seq: number;
|
|
35
76
|
part: number;
|
|
@@ -38,6 +79,12 @@ export interface ConversationEvidencePage {
|
|
|
38
79
|
offset: number;
|
|
39
80
|
totalChars?: number;
|
|
40
81
|
source?: string;
|
|
82
|
+
/** Present only after this page locates its authenticated text part. */
|
|
83
|
+
recordKind?: EvidenceRecordKind;
|
|
84
|
+
recordKindGuidance?: string;
|
|
85
|
+
/** Recorded metadata when known; a successful tool may still quote a claim. */
|
|
86
|
+
toolName?: string;
|
|
87
|
+
isError?: boolean;
|
|
41
88
|
scannedBytes: number;
|
|
42
89
|
/** False until the selected text is fully delivered; never a whole-archive claim. */
|
|
43
90
|
complete: boolean;
|
|
@@ -46,14 +93,15 @@ export interface ConversationEvidencePage {
|
|
|
46
93
|
nextCursor?: string;
|
|
47
94
|
}
|
|
48
95
|
/** Read a recorded text by durable run/event/part identity, within the current conversation. */
|
|
49
|
-
export declare function readConversationEvidence(sessions:
|
|
96
|
+
export declare function readConversationEvidence(sessions: ConversationContext, sessionId: SessionId, input: {
|
|
50
97
|
runId: string;
|
|
51
98
|
seq: number;
|
|
52
99
|
part?: number;
|
|
53
100
|
cursor?: string;
|
|
54
|
-
|
|
101
|
+
byteOffset?: number;
|
|
102
|
+
}, signal?: AbortSignal, active?: Pick<ToolContext, 'runId' | 'captureRunEvidence'>): Promise<ConversationEvidencePage>;
|
|
55
103
|
export declare function buildConversationReadTool(resolveScope: (context: ToolContext) => {
|
|
56
|
-
sessions:
|
|
104
|
+
sessions: ConversationContext;
|
|
57
105
|
sessionId: SessionId;
|
|
58
106
|
}): ToolDefinition;
|
|
59
107
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-search.d.ts","sourceRoot":"","sources":["../../../src/integrations/sessions/conversation-search.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"conversation-search.d.ts","sourceRoot":"","sources":["../../../src/integrations/sessions/conversation-search.ts"],"names":[],"mappings":"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"}
|