kiokuko-dsh 0.1.99 → 0.2.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/PERMISSIONS.md +30 -25
- package/README.ja.md +6 -12
- package/README.ko.md +12 -18
- package/README.md +7 -12
- package/README.zh-CN.md +12 -17
- package/THIRD_PARTY_NOTICES.md +5 -5
- package/dist/client.cjs +4 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/dsh/agenticreplay-command-surface.d.ts +5 -0
- package/dist/dsh/agenticreplay-command-surface.d.ts.map +1 -0
- package/dist/dsh/{orca-command-surface.js → agenticreplay-command-surface.js} +15 -15
- package/dist/dsh/agenticreplay-command-surface.js.map +1 -0
- package/dist/dsh/{orca-event-mapper.d.ts → agenticreplay-event-mapper.d.ts} +7 -7
- package/dist/dsh/agenticreplay-event-mapper.d.ts.map +1 -0
- package/dist/dsh/{orca-event-mapper.js → agenticreplay-event-mapper.js} +9 -9
- package/dist/dsh/agenticreplay-event-mapper.js.map +1 -0
- package/dist/dsh/agenticreplay-files.d.ts +21 -0
- package/dist/dsh/agenticreplay-files.d.ts.map +1 -0
- package/dist/dsh/{orca-files.js → agenticreplay-files.js} +32 -31
- package/dist/dsh/agenticreplay-files.js.map +1 -0
- package/dist/dsh/agenticreplay-hooks.d.ts +5 -0
- package/dist/dsh/agenticreplay-hooks.d.ts.map +1 -0
- package/dist/dsh/{orca-hooks.js → agenticreplay-hooks.js} +2 -2
- package/dist/dsh/agenticreplay-hooks.js.map +1 -0
- package/dist/dsh/{orca-host.d.ts → agenticreplay-host.d.ts} +5 -5
- package/dist/dsh/agenticreplay-host.d.ts.map +1 -0
- package/dist/dsh/{orca-host.js → agenticreplay-host.js} +15 -15
- package/dist/dsh/agenticreplay-host.js.map +1 -0
- package/dist/dsh/agenticreplay-libraries.d.ts +85 -0
- package/dist/dsh/agenticreplay-libraries.d.ts.map +1 -0
- package/dist/dsh/agenticreplay-libraries.js +23 -0
- package/dist/dsh/agenticreplay-libraries.js.map +1 -0
- package/dist/dsh/agenticreplay-read-service.d.ts +21 -0
- package/dist/dsh/agenticreplay-read-service.d.ts.map +1 -0
- package/dist/dsh/{orca-read-service.js → agenticreplay-read-service.js} +27 -26
- package/dist/dsh/agenticreplay-read-service.js.map +1 -0
- package/dist/dsh/{orca-recorder.d.ts → agenticreplay-recorder.d.ts} +21 -21
- package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -0
- package/dist/dsh/{orca-recorder.js → agenticreplay-recorder.js} +38 -48
- package/dist/dsh/agenticreplay-recorder.js.map +1 -0
- package/dist/dsh/{orca-security.d.ts → agenticreplay-security.d.ts} +5 -5
- package/dist/dsh/agenticreplay-security.d.ts.map +1 -0
- package/dist/dsh/{orca-security.js → agenticreplay-security.js} +29 -28
- package/dist/dsh/agenticreplay-security.js.map +1 -0
- package/dist/dsh/agenticreplay-session-choice.d.ts +24 -0
- package/dist/dsh/agenticreplay-session-choice.d.ts.map +1 -0
- package/dist/dsh/{orca-session-choice.js → agenticreplay-session-choice.js} +10 -10
- package/dist/dsh/agenticreplay-session-choice.js.map +1 -0
- package/dist/dsh/agenticreplay-status-presentation.d.ts +6 -0
- package/dist/dsh/agenticreplay-status-presentation.d.ts.map +1 -0
- package/dist/dsh/{orca-status-presentation.js → agenticreplay-status-presentation.js} +14 -14
- package/dist/dsh/agenticreplay-status-presentation.js.map +1 -0
- package/dist/dsh/agenticreplay-store.d.ts +16 -0
- package/dist/dsh/agenticreplay-store.d.ts.map +1 -0
- package/dist/dsh/agenticreplay-store.js +42 -0
- package/dist/dsh/agenticreplay-store.js.map +1 -0
- package/dist/dsh/agenticreplay-types.d.ts +64 -0
- package/dist/dsh/agenticreplay-types.d.ts.map +1 -0
- package/dist/dsh/{orca-types.js → agenticreplay-types.js} +5 -5
- package/dist/dsh/agenticreplay-types.js.map +1 -0
- package/dist/dsh/composition.d.ts +1 -1
- package/dist/dsh/composition.d.ts.map +1 -1
- package/dist/dsh/composition.js +4 -1
- package/dist/dsh/composition.js.map +1 -1
- package/dist/dsh/config.d.ts +4 -3
- package/dist/dsh/config.d.ts.map +1 -1
- package/dist/dsh/config.js +4 -2
- package/dist/dsh/config.js.map +1 -1
- package/dist/dsh/core/host.d.ts.map +1 -1
- package/dist/dsh/core/host.js +6 -25
- package/dist/dsh/core/host.js.map +1 -1
- package/dist/dsh/decisions/akinator-classification.d.ts +3 -3
- package/dist/dsh/decisions/akinator-classification.d.ts.map +1 -1
- package/dist/dsh/decisions/akinator-classification.js +14 -58
- package/dist/dsh/decisions/akinator-classification.js.map +1 -1
- package/dist/dsh/execution-support.d.ts +10 -0
- package/dist/dsh/execution-support.d.ts.map +1 -1
- package/dist/dsh/execution-support.js +25 -9
- package/dist/dsh/execution-support.js.map +1 -1
- package/dist/dsh/host-adapter/memory-application-host.d.ts +2 -0
- package/dist/dsh/host-adapter/memory-application-host.d.ts.map +1 -1
- package/dist/dsh/host-adapter/memory-application-host.js +1 -0
- package/dist/dsh/host-adapter/memory-application-host.js.map +1 -1
- package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
- package/dist/dsh/host-adapter/routing.js +1 -22
- package/dist/dsh/host-adapter/routing.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts +2 -2
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +16 -10
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/index.d.ts +7 -5
- package/dist/dsh/index.d.ts.map +1 -1
- package/dist/dsh/index.js +12 -12
- package/dist/dsh/index.js.map +1 -1
- package/dist/dsh/legacy-session-codecs.js +627 -7
- package/dist/dsh/legacy-session-codecs.js.map +3 -3
- package/dist/dsh/lisp/contracts.js +1 -1
- package/dist/dsh/lisp/contracts.js.map +1 -1
- package/dist/dsh/live-approval-config.js +1 -1
- package/dist/dsh/live-approval-config.js.map +1 -1
- package/dist/dsh/memory-application.d.ts +3 -1
- package/dist/dsh/memory-application.d.ts.map +1 -1
- package/dist/dsh/memory-application.js +2 -2
- package/dist/dsh/memory-application.js.map +1 -1
- package/dist/dsh/modules/enno.js +1 -1
- package/dist/dsh/modules/enno.js.map +1 -1
- package/dist/dsh/native-search.d.ts +3 -0
- package/dist/dsh/native-search.d.ts.map +1 -0
- package/dist/dsh/native-search.js +31 -0
- package/dist/dsh/native-search.js.map +1 -0
- package/dist/dsh/on-demand-intake.d.ts +7 -2
- package/dist/dsh/on-demand-intake.d.ts.map +1 -1
- package/dist/dsh/on-demand-intake.js +37 -8
- package/dist/dsh/on-demand-intake.js.map +1 -1
- package/dist/dsh/orchestration/managed-agent-executor.d.ts +20 -14
- package/dist/dsh/orchestration/managed-agent-executor.d.ts.map +1 -1
- package/dist/dsh/orchestration/managed-agent-executor.js +18 -6
- package/dist/dsh/orchestration/managed-agent-executor.js.map +1 -1
- package/dist/dsh/paths.d.ts +1 -1
- package/dist/dsh/paths.d.ts.map +1 -1
- package/dist/dsh/paths.js +2 -2
- package/dist/dsh/paths.js.map +1 -1
- package/dist/dsh/setup.d.ts +1 -1
- package/dist/dsh/setup.d.ts.map +1 -1
- package/dist/dsh/setup.js +2 -0
- package/dist/dsh/setup.js.map +1 -1
- package/dist/dsh/skill-prompts.json +1 -1
- package/dist/index.js +2 -2
- package/dist/locale/en.json +1 -1
- package/dist/locale/ja.json +1 -1
- package/dist/locale/ko.json +1 -1
- package/dist/locale/zh-CN.json +1 -1
- package/dist/memory/application.d.ts +4 -1
- package/dist/memory/application.d.ts.map +1 -1
- package/dist/memory/application.js +4 -3
- package/dist/memory/application.js.map +1 -1
- package/docs/{orca-recording.md → agenticreplay-recording.md} +56 -38
- package/docs/agenticreplay-verification.md +54 -0
- package/docs/core-modules.md +2 -2
- package/docs/deep-planning.md +4 -4
- package/docs/dsh-plugin.md +21 -24
- package/docs/execution-support.md +2 -2
- package/docs/getting-started.ja.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/harness-map.md +1 -1
- package/docs/keyboard-shortcuts.md +1 -2
- package/docs/lisp-verification.md +1 -1
- package/docs/lisp.md +19 -10
- package/docs/memory-application.md +1 -1
- package/docs/memory-lifecycle-verification.md +1 -1
- package/docs/model-selection.ja.md +1 -1
- package/docs/model-selection.md +1 -1
- package/docs/on-demand-intake.md +4 -4
- package/docs/pr72-ci-verification.md +3 -4
- package/docs/session-history-repair.md +1 -1
- package/docs/token-efficiency.md +2 -2
- package/docs/tool-exposure.md +4 -4
- package/docs/typed-decisions.md +13 -8
- package/dsh/cordis.patch.yml +1 -1
- package/migrations/034_agenticreplay.sql +42 -0
- package/package.json +36 -22
- package/scripts/repair-continuation-source.mjs +21 -13
- package/scripts/verify-lisp-vendor.mjs +4 -2
- package/skills/kiokuko-lisp/SKILL.md +11 -6
- package/dist/dsh/memory-review-presentation.d.ts +0 -10
- package/dist/dsh/memory-review-presentation.d.ts.map +0 -1
- package/dist/dsh/memory-review-presentation.js +0 -29
- package/dist/dsh/memory-review-presentation.js.map +0 -1
- package/dist/dsh/orca-command-surface.d.ts +0 -5
- package/dist/dsh/orca-command-surface.d.ts.map +0 -1
- package/dist/dsh/orca-command-surface.js.map +0 -1
- package/dist/dsh/orca-event-mapper.d.ts.map +0 -1
- package/dist/dsh/orca-event-mapper.js.map +0 -1
- package/dist/dsh/orca-files.d.ts +0 -21
- package/dist/dsh/orca-files.d.ts.map +0 -1
- package/dist/dsh/orca-files.js.map +0 -1
- package/dist/dsh/orca-hooks.d.ts +0 -5
- package/dist/dsh/orca-hooks.d.ts.map +0 -1
- package/dist/dsh/orca-hooks.js.map +0 -1
- package/dist/dsh/orca-host.d.ts.map +0 -1
- package/dist/dsh/orca-host.js.map +0 -1
- package/dist/dsh/orca-read-service.d.ts +0 -20
- package/dist/dsh/orca-read-service.d.ts.map +0 -1
- package/dist/dsh/orca-read-service.js.map +0 -1
- package/dist/dsh/orca-recorder.d.ts.map +0 -1
- package/dist/dsh/orca-recorder.js.map +0 -1
- package/dist/dsh/orca-security.d.ts.map +0 -1
- package/dist/dsh/orca-security.js.map +0 -1
- package/dist/dsh/orca-session-choice.d.ts +0 -24
- package/dist/dsh/orca-session-choice.d.ts.map +0 -1
- package/dist/dsh/orca-session-choice.js.map +0 -1
- package/dist/dsh/orca-status-presentation.d.ts +0 -6
- package/dist/dsh/orca-status-presentation.d.ts.map +0 -1
- package/dist/dsh/orca-status-presentation.js.map +0 -1
- package/dist/dsh/orca-store.d.ts +0 -16
- package/dist/dsh/orca-store.d.ts.map +0 -1
- package/dist/dsh/orca-store.js +0 -42
- package/dist/dsh/orca-store.js.map +0 -1
- package/dist/dsh/orca-types.d.ts +0 -64
- package/dist/dsh/orca-types.d.ts.map +0 -1
- package/dist/dsh/orca-types.js.map +0 -1
- package/docs/orca-verification.md +0 -61
- /package/docs/{ORCAREPLAY-LICENSE.txt → AGENTICREPLAY-LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticreplay-read-service.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-read-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
3
|
-
import { type
|
|
4
|
-
export interface
|
|
5
|
-
createWriter?:
|
|
6
|
-
loadCore?: () => Promise<
|
|
7
|
-
loadSchema?: () => Promise<
|
|
1
|
+
import { type CreateTraceWriter, type CoreLibrary, type SchemaLibrary } from './agenticreplay-libraries.js';
|
|
2
|
+
import type { AgenticReplayConfig } from './config.js';
|
|
3
|
+
import { type DshAgenticReplayBinding, type AgenticReplayToolExecution, type WithAgenticReplayIndex } from './agenticreplay-types.js';
|
|
4
|
+
export interface AgenticReplayRecorderDependencies {
|
|
5
|
+
createWriter?: CreateTraceWriter;
|
|
6
|
+
loadCore?: () => Promise<CoreLibrary>;
|
|
7
|
+
loadSchema?: () => Promise<SchemaLibrary>;
|
|
8
8
|
loadCoreVersion?: () => Promise<string>;
|
|
9
9
|
}
|
|
10
10
|
/** Owns all writers. Observation methods never throw into the DSH pipeline. */
|
|
11
|
-
export declare class
|
|
11
|
+
export declare class DshAgenticReplayRecorder {
|
|
12
12
|
#private;
|
|
13
|
-
readonly config:
|
|
14
|
-
readonly withIndex:
|
|
13
|
+
readonly config: AgenticReplayConfig;
|
|
14
|
+
readonly withIndex: WithAgenticReplayIndex;
|
|
15
15
|
private readonly deps;
|
|
16
16
|
readonly instanceId: string;
|
|
17
17
|
readonly diagnostics: {
|
|
@@ -20,11 +20,11 @@ export declare class DshOrcaRecorder {
|
|
|
20
20
|
lateResults: number;
|
|
21
21
|
unsupportedChunks: number;
|
|
22
22
|
};
|
|
23
|
-
constructor(config:
|
|
23
|
+
constructor(config: AgenticReplayConfig, withIndex: WithAgenticReplayIndex, deps?: AgenticReplayRecorderDependencies);
|
|
24
24
|
status(sessionId: string): {
|
|
25
25
|
capability: string;
|
|
26
26
|
trace: {
|
|
27
|
-
|
|
27
|
+
agenticreplay_run_id: string;
|
|
28
28
|
dsh_session_id: string;
|
|
29
29
|
recorder_instance_id: string;
|
|
30
30
|
recording_generation: string;
|
|
@@ -32,7 +32,7 @@ export declare class DshOrcaRecorder {
|
|
|
32
32
|
store_root: string;
|
|
33
33
|
session_cwd: string;
|
|
34
34
|
capture_format_version: number;
|
|
35
|
-
state: import("./
|
|
35
|
+
state: import("./agenticreplay-types.js").AgenticReplayState;
|
|
36
36
|
started_at: string;
|
|
37
37
|
ended_at: string | null;
|
|
38
38
|
last_error_code: string | null;
|
|
@@ -62,17 +62,17 @@ export declare class DshOrcaRecorder {
|
|
|
62
62
|
attachments: false;
|
|
63
63
|
}>;
|
|
64
64
|
};
|
|
65
|
-
start(binding:
|
|
65
|
+
start(binding: DshAgenticReplayBinding): void;
|
|
66
66
|
markUnavailable(reason: string): void;
|
|
67
|
-
stream<T>(binding:
|
|
68
|
-
preTool(binding:
|
|
69
|
-
toolDecision(exec:
|
|
70
|
-
toolDispatch(exec:
|
|
71
|
-
toolDispatched(exec:
|
|
72
|
-
toolResult(binding:
|
|
67
|
+
stream<T>(binding: DshAgenticReplayBinding | undefined, options: Record<string, any>, next: () => AsyncIterable<T>): AsyncIterable<T>;
|
|
68
|
+
preTool(binding: DshAgenticReplayBinding | undefined, exec: AgenticReplayToolExecution, startObserved?: boolean): void;
|
|
69
|
+
toolDecision(exec: AgenticReplayToolExecution, decision: unknown): void;
|
|
70
|
+
toolDispatch(exec: AgenticReplayToolExecution): void;
|
|
71
|
+
toolDispatched(exec: AgenticReplayToolExecution): void;
|
|
72
|
+
toolResult(binding: DshAgenticReplayBinding | undefined, exec: AgenticReplayToolExecution, result: unknown): void;
|
|
73
73
|
stopAccepting(): void;
|
|
74
74
|
closeSessionRecording(sessionId: string, reason: string): Promise<void>;
|
|
75
75
|
forgetSession(sessionId: string): void;
|
|
76
76
|
shutdown(): Promise<void>;
|
|
77
77
|
}
|
|
78
|
-
//# sourceMappingURL=
|
|
78
|
+
//# sourceMappingURL=agenticreplay-recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticreplay-recorder.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-recorder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiG,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC1M,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAItD,OAAO,EAA8C,KAAK,uBAAuB,EAAE,KAAK,0BAA0B,EAA2B,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAkB1M,MAAM,WAAW,iCAAiC;IAChD,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC;AACD,+EAA+E;AAC/E,qBAAa,wBAAwB;;IAYvB,QAAQ,CAAC,MAAM,EAAE,mBAAmB;IAAE,QAAQ,CAAC,SAAS,EAAE,sBAAsB;IAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXnH,QAAQ,CAAC,UAAU,SAA0D;IAC7E,QAAQ,CAAC,WAAW;;;;;MAA0E;gBAUzE,MAAM,EAAE,mBAAmB,EAAW,SAAS,EAAE,sBAAsB,EAAmB,IAAI,GAAE,iCAAsC;IAC3J,MAAM,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGxB,KAAK,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAC7C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAyFrI,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,aAAa,UAAO,GAAG,IAAI;IAqBnH,YAAY,CAAC,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAQvE,YAAY,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI;IAIpD,cAAc,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI;IAOtD,UAAU,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAoBjH,aAAa,IAAI,IAAI;IACrB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCvE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAGtC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAM1B"}
|
|
@@ -1,23 +1,13 @@
|
|
|
1
1
|
import { randomBytes } from 'node:crypto';
|
|
2
|
-
import { mkdir
|
|
3
|
-
import { findPackageJSON } from 'node:module';
|
|
2
|
+
import { mkdir } from 'node:fs/promises';
|
|
4
3
|
import { join } from 'node:path';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
const path = findPackageJSON('@orcareplay/core', import.meta.url);
|
|
11
|
-
if (!path)
|
|
12
|
-
throw new Error('Orca core package metadata unavailable');
|
|
13
|
-
const manifest = JSON.parse(await readFile(path, 'utf8'));
|
|
14
|
-
if (manifest.name !== '@orcareplay/core' || typeof manifest.version !== 'string' || !manifest.version.trim()) {
|
|
15
|
-
throw new Error('Invalid Orca core package metadata');
|
|
16
|
-
}
|
|
17
|
-
return manifest.version;
|
|
18
|
-
}
|
|
4
|
+
import { loadAgenticReplayLibrary, installedAgenticReplayCoreVersion } from './agenticreplay-libraries.js';
|
|
5
|
+
import { AGENTICREPLAY_CAPTURE, label, modelRequest, projectBlocks, record, usageAttrs } from './agenticreplay-event-mapper.js';
|
|
6
|
+
import { prepareAgenticReplayParent, projectAgenticReplayJson, workspaceKey } from './agenticreplay-security.js';
|
|
7
|
+
import { agenticReplayDiskBytes, scanAgenticReplayTrace } from './agenticreplay-files.js';
|
|
8
|
+
import { AgenticReplayError, agenticReplayErrorCode } from './agenticreplay-types.js';
|
|
19
9
|
/** Owns all writers. Observation methods never throw into the DSH pipeline. */
|
|
20
|
-
export class
|
|
10
|
+
export class DshAgenticReplayRecorder {
|
|
21
11
|
config;
|
|
22
12
|
withIndex;
|
|
23
13
|
deps;
|
|
@@ -41,7 +31,7 @@ export class DshOrcaRecorder {
|
|
|
41
31
|
const trace = this.#traces.get(sessionId);
|
|
42
32
|
return { capability: !this.config.enabled ? 'disabled' : this.#unavailable ? 'unavailable' : 'available',
|
|
43
33
|
trace: trace === undefined ? null : { ...trace.row }, persistenceFailed: trace?.persistenceFailed ?? false,
|
|
44
|
-
diagnostics: { ...this.diagnostics }, unavailableReason: this.#unavailableReason, capture:
|
|
34
|
+
diagnostics: { ...this.diagnostics }, unavailableReason: this.#unavailableReason, capture: AGENTICREPLAY_CAPTURE };
|
|
45
35
|
}
|
|
46
36
|
#fail(trace, code) {
|
|
47
37
|
trace.accepting = false;
|
|
@@ -57,7 +47,7 @@ export class DshOrcaRecorder {
|
|
|
57
47
|
operation();
|
|
58
48
|
}
|
|
59
49
|
catch (error) {
|
|
60
|
-
this.#fail(trace,
|
|
50
|
+
this.#fail(trace, agenticReplayErrorCode(error));
|
|
61
51
|
}
|
|
62
52
|
}
|
|
63
53
|
#reserve(trace, bytes) {
|
|
@@ -90,9 +80,9 @@ export class DshOrcaRecorder {
|
|
|
90
80
|
if (existing && !existing.sealed)
|
|
91
81
|
return existing.accepting ? existing : undefined;
|
|
92
82
|
if ([...this.#traces.values()].filter(t => !t.sealed).length >= this.config.maxOpenTraces)
|
|
93
|
-
throw new
|
|
83
|
+
throw new AgenticReplayError('open_trace_limit');
|
|
94
84
|
const trace = { binding: Object.freeze({ ...binding }),
|
|
95
|
-
row: {
|
|
85
|
+
row: { agenticreplay_run_id: `run_${randomBytes(12).toString('hex')}`, dsh_session_id: binding.sessionId,
|
|
96
86
|
recorder_instance_id: this.instanceId, recording_generation: randomBytes(12).toString('hex'), workspace_key: workspaceKey(binding.workspaceRoot),
|
|
97
87
|
store_root: binding.storeRoot, session_cwd: binding.sessionCwd, capture_format_version: 1, state: 'starting',
|
|
98
88
|
started_at: new Date().toISOString(), ended_at: null, last_error_code: null, missing_event_count: 0,
|
|
@@ -100,19 +90,19 @@ export class DshOrcaRecorder {
|
|
|
100
90
|
tail: Promise.resolve(), accepting: true, sealed: false, pendingBytes: 0, active: 0, waiters: new Set(), persistenceFailed: false, modelCleanups: new Set() };
|
|
101
91
|
this.#traces.set(binding.sessionId, trace);
|
|
102
92
|
trace.tail = this.#initialize(trace);
|
|
103
|
-
this.#enqueue(trace, { type: 'run.start', actor: 'harness', payload: { ...
|
|
104
|
-
content: this.config.capture.content, verifiedDshVersion: '0.1.2
|
|
93
|
+
this.#enqueue(trace, { type: 'run.start', actor: 'harness', payload: { ...AGENTICREPLAY_CAPTURE, reasoning: this.config.capture.reasoning,
|
|
94
|
+
content: this.config.capture.content, verifiedDshVersion: '0.2.1-alpha.2' } });
|
|
105
95
|
return trace;
|
|
106
96
|
}
|
|
107
97
|
async #initialize(trace) {
|
|
108
98
|
try {
|
|
109
99
|
// Dependency validation precedes any filesystem/index side effects.
|
|
110
100
|
let create;
|
|
111
|
-
let
|
|
101
|
+
let agenticreplayVersion;
|
|
112
102
|
try {
|
|
113
|
-
const [core, , version] = await Promise.all([this.deps.loadCore?.() ??
|
|
103
|
+
const [core, , version] = await Promise.all([this.deps.loadCore?.() ?? loadAgenticReplayLibrary('core'), this.deps.loadSchema?.() ?? loadAgenticReplayLibrary('schema'), this.deps.loadCoreVersion?.() ?? installedAgenticReplayCoreVersion()]);
|
|
114
104
|
create = this.deps.createWriter ?? core.TraceWriter.create;
|
|
115
|
-
|
|
105
|
+
agenticreplayVersion = version;
|
|
116
106
|
}
|
|
117
107
|
catch {
|
|
118
108
|
this.markUnavailable('dependency_unavailable_reinstall_package');
|
|
@@ -123,17 +113,17 @@ export class DshOrcaRecorder {
|
|
|
123
113
|
await this.#save(trace);
|
|
124
114
|
if (trace.persistenceFailed)
|
|
125
115
|
return;
|
|
126
|
-
const runs = await
|
|
127
|
-
await mkdir(join(runs, trace.row.
|
|
128
|
-
trace.writer = await create(runs, { runId: trace.row.
|
|
129
|
-
argv: [], cwd: trace.binding.sessionCwd,
|
|
116
|
+
const runs = await prepareAgenticReplayParent(trace.binding.storeRoot);
|
|
117
|
+
await mkdir(join(runs, trace.row.agenticreplay_run_id), { mode: 0o700 }); // exclusive reservation, never append to an existing run
|
|
118
|
+
trace.writer = await create(runs, { runId: trace.row.agenticreplay_run_id, adapter: { id: 'kiokuko-dsh' },
|
|
119
|
+
argv: [], cwd: trace.binding.sessionCwd, agenticreplayVersion, envAllowlist: [] });
|
|
130
120
|
if (trace.row.last_error_code === null)
|
|
131
121
|
trace.row.state = 'recording';
|
|
132
|
-
trace.row.recorded_bytes = await
|
|
122
|
+
trace.row.recorded_bytes = await agenticReplayDiskBytes(trace.writer.runDir, this.config.maxTraceBytes);
|
|
133
123
|
await this.#save(trace);
|
|
134
124
|
}
|
|
135
125
|
catch (error) {
|
|
136
|
-
this.#fail(trace,
|
|
126
|
+
this.#fail(trace, agenticReplayErrorCode(error));
|
|
137
127
|
await this.#save(trace);
|
|
138
128
|
}
|
|
139
129
|
}
|
|
@@ -152,15 +142,15 @@ export class DshOrcaRecorder {
|
|
|
152
142
|
try {
|
|
153
143
|
// Reserve conservatively for JSON/blob/redaction overhead, then measure real files.
|
|
154
144
|
if (trace.row.recorded_bytes + bytes * 4 + 16_384 > this.config.maxTraceBytes)
|
|
155
|
-
throw new
|
|
145
|
+
throw new AgenticReplayError('trace_limit');
|
|
156
146
|
if (cause && cause.seq === undefined)
|
|
157
|
-
throw new
|
|
147
|
+
throw new AgenticReplayError('missing_cause');
|
|
158
148
|
const saved = await trace.writer.append({ ...event, occurredAt, ...(cause ? { causes: [cause.seq] } : {}) });
|
|
159
149
|
ref.seq = saved.seq;
|
|
160
|
-
trace.row.recorded_bytes = await
|
|
150
|
+
trace.row.recorded_bytes = await agenticReplayDiskBytes(trace.writer.runDir, this.config.maxTraceBytes);
|
|
161
151
|
}
|
|
162
152
|
catch (error) {
|
|
163
|
-
this.#fail(trace,
|
|
153
|
+
this.#fail(trace, agenticReplayErrorCode(error));
|
|
164
154
|
}
|
|
165
155
|
}).finally(() => this.#release(trace, bytes));
|
|
166
156
|
return ref;
|
|
@@ -172,7 +162,7 @@ export class DshOrcaRecorder {
|
|
|
172
162
|
const id = binding.kiokukoRunId;
|
|
173
163
|
trace.tail = trace.tail.then(async () => {
|
|
174
164
|
try {
|
|
175
|
-
await this.withIndex(store => store.link(trace.row.
|
|
165
|
+
await this.withIndex(store => store.link(trace.row.agenticreplay_run_id, id));
|
|
176
166
|
}
|
|
177
167
|
catch {
|
|
178
168
|
trace.persistenceFailed = true;
|
|
@@ -252,7 +242,7 @@ export class DshOrcaRecorder {
|
|
|
252
242
|
return;
|
|
253
243
|
const n = c.index;
|
|
254
244
|
if (!Number.isSafeInteger(n) || n < 0)
|
|
255
|
-
throw new
|
|
245
|
+
throw new AgenticReplayError('unsupported_chunk');
|
|
256
246
|
if (blocks.get(n)?.closed)
|
|
257
247
|
return;
|
|
258
248
|
if (self.config.capture.content === 'metadata') {
|
|
@@ -273,7 +263,7 @@ export class DshOrcaRecorder {
|
|
|
273
263
|
}
|
|
274
264
|
const text = v.text ?? v.arguments ?? '';
|
|
275
265
|
if (typeof text !== 'string')
|
|
276
|
-
throw new
|
|
266
|
+
throw new AgenticReplayError('unsupported_chunk');
|
|
277
267
|
const bytes = text.length * 6 + (blocks.has(n) ? 0 : 256);
|
|
278
268
|
if (!self.#reserve(trace, bytes))
|
|
279
269
|
return;
|
|
@@ -306,7 +296,7 @@ export class DshOrcaRecorder {
|
|
|
306
296
|
self.#safe(trace, () => {
|
|
307
297
|
if (finish === undefined && !failure)
|
|
308
298
|
self.#fail(trace, 'model_finish_missing');
|
|
309
|
-
const payload =
|
|
299
|
+
const payload = projectAgenticReplayJson({ format: 'dsh.llm.response.v1', blocks: [...blocks.values()] }, self.config.maxQueuedBytesPerTrace);
|
|
310
300
|
self.#enqueue(trace, { type: 'model.response', actor: 'model', attrs: { modelCallId: id,
|
|
311
301
|
stop_reason: finish ?? (failure ? 'exception' : 'incomplete'), duration_ms: performance.now() - started,
|
|
312
302
|
...(usage === undefined ? { usage_known: false } : record(usage)) }, payload: payload }, ref);
|
|
@@ -326,7 +316,7 @@ export class DshOrcaRecorder {
|
|
|
326
316
|
if (!trace)
|
|
327
317
|
return;
|
|
328
318
|
this.#safe(trace, () => {
|
|
329
|
-
const projected = this.config.capture.content === 'metadata' ? undefined :
|
|
319
|
+
const projected = this.config.capture.content === 'metadata' ? undefined : projectAgenticReplayJson(exec.arguments, this.config.maxQueuedBytesPerTrace);
|
|
330
320
|
const name = label(exec.name), callId = label(exec.callId), rootCallId = label(exec.rootCallId);
|
|
331
321
|
if (!this.#reserve(trace, 512))
|
|
332
322
|
return;
|
|
@@ -388,9 +378,9 @@ export class DshOrcaRecorder {
|
|
|
388
378
|
this.#safe(trace, () => {
|
|
389
379
|
const r = record(result);
|
|
390
380
|
if (typeof r.isError !== 'boolean')
|
|
391
|
-
throw new
|
|
381
|
+
throw new AgenticReplayError('unsupported_tool_result');
|
|
392
382
|
this.#enqueue(trace, { type: 'tool.result', actor: 'tool', attrs: { name: label(exec.name), attemptId: id, is_error: r.isError },
|
|
393
|
-
payload:
|
|
383
|
+
payload: projectAgenticReplayJson({ content: projectBlocks(r.content, this.config) }, this.config.maxQueuedBytesPerTrace) }, ref);
|
|
394
384
|
});
|
|
395
385
|
this.#settle(trace);
|
|
396
386
|
}
|
|
@@ -437,17 +427,17 @@ export class DshOrcaRecorder {
|
|
|
437
427
|
return;
|
|
438
428
|
try {
|
|
439
429
|
if (!trace.writer)
|
|
440
|
-
throw new
|
|
430
|
+
throw new AgenticReplayError('writer_unavailable');
|
|
441
431
|
await trace.writer.close(); // no invented process exit code
|
|
442
|
-
const scan = await
|
|
432
|
+
const scan = await scanAgenticReplayTrace(trace.writer.runDir, trace.row.agenticreplay_run_id, this.config.maxTraceBytes, Number.MAX_SAFE_INTEGER);
|
|
443
433
|
trace.row.event_count = scan.eventCount;
|
|
444
434
|
trace.row.export_input_bytes = scan.exportInputBytes;
|
|
445
|
-
trace.row.recorded_bytes = await
|
|
435
|
+
trace.row.recorded_bytes = await agenticReplayDiskBytes(trace.writer.runDir, this.config.maxTraceBytes);
|
|
446
436
|
trace.row.state = trace.row.last_error_code === null ? 'completed' : 'incomplete';
|
|
447
437
|
}
|
|
448
438
|
catch (error) {
|
|
449
439
|
trace.row.state = 'failed';
|
|
450
|
-
trace.row.last_error_code ??=
|
|
440
|
+
trace.row.last_error_code ??= agenticReplayErrorCode(error);
|
|
451
441
|
}
|
|
452
442
|
trace.row.ended_at = new Date().toISOString();
|
|
453
443
|
await this.#save(trace);
|
|
@@ -467,4 +457,4 @@ export class DshOrcaRecorder {
|
|
|
467
457
|
return this.#shutdown;
|
|
468
458
|
}
|
|
469
459
|
}
|
|
470
|
-
//# sourceMappingURL=
|
|
460
|
+
//# sourceMappingURL=agenticreplay-recorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticreplay-recorder.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { type Stats } from 'node:fs';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const AGENTICREPLAY_RUN_ID: RegExp;
|
|
3
3
|
export declare const workspaceKey: (root: string) => string;
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function scrubAgenticReplayText(text: string): string;
|
|
5
5
|
/** Budget is charged before copying or escaping. Runtime objects/accessors are rejected. */
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function projectAgenticReplayJson(value: unknown, maxBytes: number): unknown;
|
|
7
7
|
export declare function checkPrivatePath(target: string, directory: boolean): Promise<Stats>;
|
|
8
8
|
export declare function privateDirectory(target: string): Promise<void>;
|
|
9
9
|
/** Validate every store ancestor without chmod-ing existing user directories. */
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function prepareAgenticReplayParent(root: string): Promise<string>;
|
|
11
11
|
export declare function checkedRunDir(root: string, runId: string): Promise<string>;
|
|
12
12
|
export declare function openPrivateFile(target: string): Promise<import("fs/promises").FileHandle>;
|
|
13
13
|
export declare function readPrivateFile(target: string, limit: number): Promise<Buffer>;
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=agenticreplay-security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticreplay-security.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-security.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAK/C,eAAO,MAAM,oBAAoB,QAA0B,CAAA;AAC3D,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAAyD,CAAA;AACrG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AACD,4FAA4F;AAC5F,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkClF;AACD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAOzF;AACD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpE;AACD,iFAAiF;AACjF,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B9E;AACD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMhF;AACD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,6CAMnD;AACD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpF"}
|
|
@@ -1,38 +1,39 @@
|
|
|
1
|
+
import { loadAgenticReplayLibrary } from './agenticreplay-libraries.js';
|
|
1
2
|
import { createHash } from 'node:crypto';
|
|
2
3
|
import { constants } from 'node:fs';
|
|
3
4
|
import { lstat, mkdir, open, realpath } from 'node:fs/promises';
|
|
4
5
|
import path from 'node:path';
|
|
5
|
-
import {
|
|
6
|
-
export const
|
|
6
|
+
import { AgenticReplayError } from './agenticreplay-types.js';
|
|
7
|
+
export const AGENTICREPLAY_RUN_ID = /^run_[0-9a-f]{6,32}$/u;
|
|
7
8
|
export const workspaceKey = (root) => createHash('sha256').update(root).digest('hex');
|
|
8
|
-
export function
|
|
9
|
+
export function scrubAgenticReplayText(text) {
|
|
9
10
|
return text.replace(/\b(?:sk|ghp|github_pat|xox[baprs])[-_][A-Za-z0-9_-]{8,}/gu, '[REDACTED]')
|
|
10
11
|
.replace(/\b(?:authorization|cookie|set-cookie|api[-_ ]?key|password|access[-_ ]?token|secret)\s*[:=]\s*[^\r\n,;}]+/giu, '[REDACTED]')
|
|
11
12
|
.replace(/\bBearer\s+[A-Za-z0-9._~+/-]+=*/giu, 'Bearer [REDACTED]')
|
|
12
13
|
.replace(/-----BEGIN [^-]*PRIVATE KEY-----[\s\S]*?-----END [^-]*PRIVATE KEY-----/gu, '[REDACTED]');
|
|
13
14
|
}
|
|
14
15
|
/** Budget is charged before copying or escaping. Runtime objects/accessors are rejected. */
|
|
15
|
-
export function
|
|
16
|
+
export function projectAgenticReplayJson(value, maxBytes) {
|
|
16
17
|
let remaining = maxBytes;
|
|
17
18
|
const seen = new Set();
|
|
18
19
|
function charge(n) { remaining -= n; if (remaining < 0)
|
|
19
|
-
throw new
|
|
20
|
+
throw new AgenticReplayError('queue_limit'); }
|
|
20
21
|
function visit(item, depth) {
|
|
21
22
|
charge(16);
|
|
22
23
|
if (depth > 32)
|
|
23
|
-
throw new
|
|
24
|
+
throw new AgenticReplayError('projection_depth');
|
|
24
25
|
if (item === null || typeof item === 'boolean')
|
|
25
26
|
return item;
|
|
26
27
|
if (typeof item === 'number')
|
|
27
28
|
return Number.isFinite(item) ? item : null;
|
|
28
29
|
if (typeof item === 'string') {
|
|
29
30
|
charge(item.length * 6);
|
|
30
|
-
return
|
|
31
|
+
return scrubAgenticReplayText(item);
|
|
31
32
|
}
|
|
32
33
|
if (typeof item !== 'object')
|
|
33
34
|
return undefined;
|
|
34
35
|
if (seen.has(item))
|
|
35
|
-
throw new
|
|
36
|
+
throw new AgenticReplayError('projection_cycle');
|
|
36
37
|
if (!Array.isArray(item) && Object.getPrototypeOf(item) !== Object.prototype && Object.getPrototypeOf(item) !== null)
|
|
37
38
|
return '[runtime object omitted]';
|
|
38
39
|
seen.add(item);
|
|
@@ -51,7 +52,7 @@ export function projectOrcaJson(value, maxBytes) {
|
|
|
51
52
|
const descriptor = Object.getOwnPropertyDescriptor(item, key);
|
|
52
53
|
if (!descriptor || !('value' in descriptor))
|
|
53
54
|
continue;
|
|
54
|
-
const safeKey =
|
|
55
|
+
const safeKey = scrubAgenticReplayText(key);
|
|
55
56
|
if (safeKey === '__proto__' || safeKey === 'constructor')
|
|
56
57
|
continue;
|
|
57
58
|
result[safeKey] = visit(descriptor.value, depth + 1);
|
|
@@ -68,7 +69,7 @@ export async function checkPrivatePath(target, directory) {
|
|
|
68
69
|
const stat = await lstat(target);
|
|
69
70
|
if (stat.isSymbolicLink() || (directory ? !stat.isDirectory() : !stat.isFile())
|
|
70
71
|
|| (process.getuid !== undefined && (stat.uid !== process.getuid() || (stat.mode & 0o077) !== 0))) {
|
|
71
|
-
throw new
|
|
72
|
+
throw new AgenticReplayError('unsafe_path');
|
|
72
73
|
}
|
|
73
74
|
return stat;
|
|
74
75
|
}
|
|
@@ -83,20 +84,20 @@ export async function privateDirectory(target) {
|
|
|
83
84
|
await checkPrivatePath(target, true);
|
|
84
85
|
}
|
|
85
86
|
/** Validate every store ancestor without chmod-ing existing user directories. */
|
|
86
|
-
export async function
|
|
87
|
+
export async function prepareAgenticReplayParent(root) {
|
|
87
88
|
if (!path.isAbsolute(root) || root === path.parse(root).root || root.includes('\0'))
|
|
88
|
-
throw new
|
|
89
|
+
throw new AgenticReplayError('unsafe_path');
|
|
89
90
|
const ancestors = [];
|
|
90
91
|
let current = root;
|
|
91
92
|
while (true) {
|
|
92
93
|
try {
|
|
93
94
|
const stat = await lstat(current);
|
|
94
95
|
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
95
|
-
throw new
|
|
96
|
+
throw new AgenticReplayError('unsafe_path');
|
|
96
97
|
if (process.getuid && (stat.uid !== process.getuid() || (stat.mode & 0o022) !== 0))
|
|
97
|
-
throw new
|
|
98
|
+
throw new AgenticReplayError('unsafe_store_parent');
|
|
98
99
|
if (await realpath(current) !== current)
|
|
99
|
-
throw new
|
|
100
|
+
throw new AgenticReplayError('noncanonical_store_parent');
|
|
100
101
|
break;
|
|
101
102
|
}
|
|
102
103
|
catch (error) {
|
|
@@ -108,9 +109,9 @@ export async function prepareOrcaParent(root) {
|
|
|
108
109
|
}
|
|
109
110
|
for (const directory of ancestors.reverse())
|
|
110
111
|
await privateDirectory(directory);
|
|
111
|
-
await privateDirectory(path.join(root, '.
|
|
112
|
-
await privateDirectory(path.join(root, '.
|
|
113
|
-
const ignore = path.join(root, '.
|
|
112
|
+
await privateDirectory(path.join(root, '.agenticreplay'));
|
|
113
|
+
await privateDirectory(path.join(root, '.agenticreplay', 'runs'));
|
|
114
|
+
const ignore = path.join(root, '.agenticreplay', '.gitignore');
|
|
114
115
|
try {
|
|
115
116
|
await checkPrivatePath(ignore, false);
|
|
116
117
|
}
|
|
@@ -118,18 +119,18 @@ export async function prepareOrcaParent(root) {
|
|
|
118
119
|
if (error.code !== 'ENOENT')
|
|
119
120
|
throw error;
|
|
120
121
|
}
|
|
121
|
-
const { ensureRunsDir } = await
|
|
122
|
+
const { ensureRunsDir } = await loadAgenticReplayLibrary('core');
|
|
122
123
|
await ensureRunsDir(root);
|
|
123
124
|
await checkPrivatePath(ignore, false);
|
|
124
|
-
return path.join(root, '.
|
|
125
|
+
return path.join(root, '.agenticreplay', 'runs');
|
|
125
126
|
}
|
|
126
127
|
export async function checkedRunDir(root, runId) {
|
|
127
|
-
if (!
|
|
128
|
-
throw new
|
|
129
|
-
for (const directory of [path.join(root, '.
|
|
128
|
+
if (!AGENTICREPLAY_RUN_ID.test(runId) || !path.isAbsolute(root) || await realpath(root) !== root)
|
|
129
|
+
throw new AgenticReplayError('trace_not_found');
|
|
130
|
+
for (const directory of [path.join(root, '.agenticreplay'), path.join(root, '.agenticreplay', 'runs'), path.join(root, '.agenticreplay', 'runs', runId)]) {
|
|
130
131
|
await checkPrivatePath(directory, true);
|
|
131
132
|
}
|
|
132
|
-
return path.join(root, '.
|
|
133
|
+
return path.join(root, '.agenticreplay', 'runs', runId);
|
|
133
134
|
}
|
|
134
135
|
export async function openPrivateFile(target) {
|
|
135
136
|
const before = await checkPrivatePath(target, false);
|
|
@@ -137,7 +138,7 @@ export async function openPrivateFile(target) {
|
|
|
137
138
|
const after = await handle.stat();
|
|
138
139
|
if (before.ino !== after.ino || before.dev !== after.dev) {
|
|
139
140
|
await handle.close();
|
|
140
|
-
throw new
|
|
141
|
+
throw new AgenticReplayError('file_changed');
|
|
141
142
|
}
|
|
142
143
|
return handle;
|
|
143
144
|
}
|
|
@@ -146,15 +147,15 @@ export async function readPrivateFile(target, limit) {
|
|
|
146
147
|
try {
|
|
147
148
|
const stat = await handle.stat();
|
|
148
149
|
if (stat.size > limit)
|
|
149
|
-
throw new
|
|
150
|
+
throw new AgenticReplayError('read_limit');
|
|
150
151
|
const buffer = Buffer.alloc(Math.min(stat.size + 1, limit + 1));
|
|
151
152
|
const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
|
|
152
153
|
if (bytesRead !== stat.size || (await handle.stat()).size !== stat.size)
|
|
153
|
-
throw new
|
|
154
|
+
throw new AgenticReplayError('file_changed');
|
|
154
155
|
return buffer.subarray(0, bytesRead);
|
|
155
156
|
}
|
|
156
157
|
finally {
|
|
157
158
|
await handle.close();
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
|
-
//# sourceMappingURL=
|
|
161
|
+
//# sourceMappingURL=agenticreplay-security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticreplay-security.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-security.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type DshAgenticReplayBinding, type WithAgenticReplayIndex } from './agenticreplay-types.js';
|
|
2
|
+
import type { DshUserQuestionAgent, DshUserQuestions } from './user-interaction.js';
|
|
3
|
+
/**
|
|
4
|
+
* One recording decision per session, with explicit commands superseding pending answers.
|
|
5
|
+
* Without a saved choice, `askOnStart` decides between asking the human and recording
|
|
6
|
+
* directly; the default asks, so only explicit configuration authorizes capture silently.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DshAgenticReplaySessionChoices {
|
|
9
|
+
#private;
|
|
10
|
+
private readonly withIndex;
|
|
11
|
+
private readonly questions?;
|
|
12
|
+
private readonly askOnStart;
|
|
13
|
+
constructor(withIndex: WithAgenticReplayIndex, questions?: DshUserQuestions | undefined, askOnStart?: boolean);
|
|
14
|
+
allows(binding: DshAgenticReplayBinding): boolean;
|
|
15
|
+
status(binding: DshAgenticReplayBinding): Promise<{
|
|
16
|
+
selectionError?: string;
|
|
17
|
+
sessionRecording: string;
|
|
18
|
+
}>;
|
|
19
|
+
set(binding: DshAgenticReplayBinding, enabled: boolean): Promise<void>;
|
|
20
|
+
prepare(binding: DshAgenticReplayBinding, agent: DshUserQuestionAgent, signal: AbortSignal, isCurrent: () => boolean): Promise<void>;
|
|
21
|
+
forget(binding: DshAgenticReplayBinding): void;
|
|
22
|
+
shutdown(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=agenticreplay-session-choice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agenticreplay-session-choice.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-session-choice.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACxH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAanF;;;;GAIG;AACH,qBAAa,8BAA8B;;IAG7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAA0B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IACzF,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADA,SAAS,EAAE,sBAAsB,EAAmB,SAAS,CAAC,EAAE,gBAAgB,YAAA,EAC1F,UAAU,UAAO;IAUpC,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;IAa3C,MAAM,CAAC,OAAO,EAAE,uBAAuB;;;;IAMvC,GAAG,CAAC,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5E,OAAO,CAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCpI,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAMxC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
|