kiokuko-dsh 0.1.99 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/PERMISSIONS.md +30 -25
  2. package/README.ja.md +6 -12
  3. package/README.ko.md +12 -18
  4. package/README.md +7 -12
  5. package/README.zh-CN.md +12 -17
  6. package/THIRD_PARTY_NOTICES.md +5 -5
  7. package/dist/client.cjs +4 -7
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/dsh/agenticreplay-command-surface.d.ts +5 -0
  10. package/dist/dsh/agenticreplay-command-surface.d.ts.map +1 -0
  11. package/dist/dsh/{orca-command-surface.js → agenticreplay-command-surface.js} +15 -15
  12. package/dist/dsh/agenticreplay-command-surface.js.map +1 -0
  13. package/dist/dsh/{orca-event-mapper.d.ts → agenticreplay-event-mapper.d.ts} +7 -7
  14. package/dist/dsh/agenticreplay-event-mapper.d.ts.map +1 -0
  15. package/dist/dsh/{orca-event-mapper.js → agenticreplay-event-mapper.js} +9 -9
  16. package/dist/dsh/agenticreplay-event-mapper.js.map +1 -0
  17. package/dist/dsh/agenticreplay-files.d.ts +21 -0
  18. package/dist/dsh/agenticreplay-files.d.ts.map +1 -0
  19. package/dist/dsh/{orca-files.js → agenticreplay-files.js} +32 -31
  20. package/dist/dsh/agenticreplay-files.js.map +1 -0
  21. package/dist/dsh/agenticreplay-hooks.d.ts +5 -0
  22. package/dist/dsh/agenticreplay-hooks.d.ts.map +1 -0
  23. package/dist/dsh/{orca-hooks.js → agenticreplay-hooks.js} +2 -2
  24. package/dist/dsh/agenticreplay-hooks.js.map +1 -0
  25. package/dist/dsh/{orca-host.d.ts → agenticreplay-host.d.ts} +5 -5
  26. package/dist/dsh/agenticreplay-host.d.ts.map +1 -0
  27. package/dist/dsh/{orca-host.js → agenticreplay-host.js} +15 -15
  28. package/dist/dsh/agenticreplay-host.js.map +1 -0
  29. package/dist/dsh/agenticreplay-libraries.d.ts +85 -0
  30. package/dist/dsh/agenticreplay-libraries.d.ts.map +1 -0
  31. package/dist/dsh/agenticreplay-libraries.js +23 -0
  32. package/dist/dsh/agenticreplay-libraries.js.map +1 -0
  33. package/dist/dsh/agenticreplay-read-service.d.ts +21 -0
  34. package/dist/dsh/agenticreplay-read-service.d.ts.map +1 -0
  35. package/dist/dsh/{orca-read-service.js → agenticreplay-read-service.js} +28 -26
  36. package/dist/dsh/agenticreplay-read-service.js.map +1 -0
  37. package/dist/dsh/{orca-recorder.d.ts → agenticreplay-recorder.d.ts} +21 -21
  38. package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -0
  39. package/dist/dsh/{orca-recorder.js → agenticreplay-recorder.js} +38 -48
  40. package/dist/dsh/agenticreplay-recorder.js.map +1 -0
  41. package/dist/dsh/{orca-security.d.ts → agenticreplay-security.d.ts} +7 -5
  42. package/dist/dsh/agenticreplay-security.d.ts.map +1 -0
  43. package/dist/dsh/agenticreplay-security.js +228 -0
  44. package/dist/dsh/agenticreplay-security.js.map +1 -0
  45. package/dist/dsh/agenticreplay-session-choice.d.ts +24 -0
  46. package/dist/dsh/agenticreplay-session-choice.d.ts.map +1 -0
  47. package/dist/dsh/{orca-session-choice.js → agenticreplay-session-choice.js} +10 -10
  48. package/dist/dsh/agenticreplay-session-choice.js.map +1 -0
  49. package/dist/dsh/agenticreplay-status-presentation.d.ts +6 -0
  50. package/dist/dsh/agenticreplay-status-presentation.d.ts.map +1 -0
  51. package/dist/dsh/{orca-status-presentation.js → agenticreplay-status-presentation.js} +14 -14
  52. package/dist/dsh/agenticreplay-status-presentation.js.map +1 -0
  53. package/dist/dsh/agenticreplay-store.d.ts +16 -0
  54. package/dist/dsh/agenticreplay-store.d.ts.map +1 -0
  55. package/dist/dsh/agenticreplay-store.js +42 -0
  56. package/dist/dsh/agenticreplay-store.js.map +1 -0
  57. package/dist/dsh/agenticreplay-types.d.ts +64 -0
  58. package/dist/dsh/agenticreplay-types.d.ts.map +1 -0
  59. package/dist/dsh/{orca-types.js → agenticreplay-types.js} +5 -5
  60. package/dist/dsh/agenticreplay-types.js.map +1 -0
  61. package/dist/dsh/composition.d.ts +1 -1
  62. package/dist/dsh/composition.d.ts.map +1 -1
  63. package/dist/dsh/composition.js +4 -1
  64. package/dist/dsh/composition.js.map +1 -1
  65. package/dist/dsh/config.d.ts +4 -3
  66. package/dist/dsh/config.d.ts.map +1 -1
  67. package/dist/dsh/config.js +4 -2
  68. package/dist/dsh/config.js.map +1 -1
  69. package/dist/dsh/core/host.d.ts.map +1 -1
  70. package/dist/dsh/core/host.js +6 -25
  71. package/dist/dsh/core/host.js.map +1 -1
  72. package/dist/dsh/decisions/akinator-classification.d.ts +3 -3
  73. package/dist/dsh/decisions/akinator-classification.d.ts.map +1 -1
  74. package/dist/dsh/decisions/akinator-classification.js +14 -58
  75. package/dist/dsh/decisions/akinator-classification.js.map +1 -1
  76. package/dist/dsh/execution-support.d.ts +10 -0
  77. package/dist/dsh/execution-support.d.ts.map +1 -1
  78. package/dist/dsh/execution-support.js +25 -9
  79. package/dist/dsh/execution-support.js.map +1 -1
  80. package/dist/dsh/host-adapter/memory-application-host.d.ts +2 -0
  81. package/dist/dsh/host-adapter/memory-application-host.d.ts.map +1 -1
  82. package/dist/dsh/host-adapter/memory-application-host.js +1 -0
  83. package/dist/dsh/host-adapter/memory-application-host.js.map +1 -1
  84. package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
  85. package/dist/dsh/host-adapter/routing.js +1 -22
  86. package/dist/dsh/host-adapter/routing.js.map +1 -1
  87. package/dist/dsh/host-adapter.d.ts +2 -2
  88. package/dist/dsh/host-adapter.d.ts.map +1 -1
  89. package/dist/dsh/host-adapter.js +16 -10
  90. package/dist/dsh/host-adapter.js.map +1 -1
  91. package/dist/dsh/index.d.ts +7 -5
  92. package/dist/dsh/index.d.ts.map +1 -1
  93. package/dist/dsh/index.js +12 -12
  94. package/dist/dsh/index.js.map +1 -1
  95. package/dist/dsh/legacy-session-codecs.js +627 -7
  96. package/dist/dsh/legacy-session-codecs.js.map +3 -3
  97. package/dist/dsh/lisp/contracts.js +1 -1
  98. package/dist/dsh/lisp/contracts.js.map +1 -1
  99. package/dist/dsh/live-approval-config.js +1 -1
  100. package/dist/dsh/live-approval-config.js.map +1 -1
  101. package/dist/dsh/memory-application.d.ts +3 -1
  102. package/dist/dsh/memory-application.d.ts.map +1 -1
  103. package/dist/dsh/memory-application.js +2 -2
  104. package/dist/dsh/memory-application.js.map +1 -1
  105. package/dist/dsh/modules/enno.js +1 -1
  106. package/dist/dsh/modules/enno.js.map +1 -1
  107. package/dist/dsh/native-search.d.ts +3 -0
  108. package/dist/dsh/native-search.d.ts.map +1 -0
  109. package/dist/dsh/native-search.js +31 -0
  110. package/dist/dsh/native-search.js.map +1 -0
  111. package/dist/dsh/on-demand-intake.d.ts +7 -2
  112. package/dist/dsh/on-demand-intake.d.ts.map +1 -1
  113. package/dist/dsh/on-demand-intake.js +38 -9
  114. package/dist/dsh/on-demand-intake.js.map +1 -1
  115. package/dist/dsh/orchestration/managed-agent-executor.d.ts +20 -14
  116. package/dist/dsh/orchestration/managed-agent-executor.d.ts.map +1 -1
  117. package/dist/dsh/orchestration/managed-agent-executor.js +18 -6
  118. package/dist/dsh/orchestration/managed-agent-executor.js.map +1 -1
  119. package/dist/dsh/paths.d.ts +1 -1
  120. package/dist/dsh/paths.d.ts.map +1 -1
  121. package/dist/dsh/paths.js +2 -2
  122. package/dist/dsh/paths.js.map +1 -1
  123. package/dist/dsh/setup.d.ts +1 -1
  124. package/dist/dsh/setup.d.ts.map +1 -1
  125. package/dist/dsh/setup.js +2 -0
  126. package/dist/dsh/setup.js.map +1 -1
  127. package/dist/dsh/skill-prompts.json +1 -1
  128. package/dist/index.js +2 -2
  129. package/dist/locale/en.json +1 -1
  130. package/dist/locale/ja.json +1 -1
  131. package/dist/locale/ko.json +1 -1
  132. package/dist/locale/zh-CN.json +1 -1
  133. package/dist/memory/application.d.ts +4 -1
  134. package/dist/memory/application.d.ts.map +1 -1
  135. package/dist/memory/application.js +4 -3
  136. package/dist/memory/application.js.map +1 -1
  137. package/docs/{orca-recording.md → agenticreplay-recording.md} +70 -38
  138. package/docs/agenticreplay-verification.md +54 -0
  139. package/docs/core-modules.md +2 -2
  140. package/docs/deep-planning.md +4 -4
  141. package/docs/dsh-plugin.md +23 -24
  142. package/docs/execution-support.md +2 -2
  143. package/docs/getting-started.ja.md +1 -1
  144. package/docs/getting-started.md +1 -1
  145. package/docs/harness-map.md +1 -1
  146. package/docs/keyboard-shortcuts.md +1 -2
  147. package/docs/lisp-verification.md +1 -1
  148. package/docs/lisp.md +19 -10
  149. package/docs/memory-application.md +1 -1
  150. package/docs/memory-lifecycle-verification.md +1 -1
  151. package/docs/model-selection.ja.md +1 -1
  152. package/docs/model-selection.md +1 -1
  153. package/docs/on-demand-intake.md +4 -4
  154. package/docs/pr72-ci-verification.md +3 -4
  155. package/docs/session-history-repair.md +1 -1
  156. package/docs/token-efficiency.md +2 -2
  157. package/docs/tool-exposure.md +4 -4
  158. package/docs/typed-decisions.md +13 -8
  159. package/dsh/cordis.patch.yml +1 -1
  160. package/migrations/034_agenticreplay.sql +42 -0
  161. package/package.json +36 -22
  162. package/scripts/repair-continuation-source.mjs +21 -13
  163. package/scripts/verify-lisp-vendor.mjs +4 -2
  164. package/skills/kiokuko-lisp/SKILL.md +11 -6
  165. package/skills/kiokuko-soul/SKILL.md +14 -12
  166. package/dist/dsh/memory-review-presentation.d.ts +0 -10
  167. package/dist/dsh/memory-review-presentation.d.ts.map +0 -1
  168. package/dist/dsh/memory-review-presentation.js +0 -29
  169. package/dist/dsh/memory-review-presentation.js.map +0 -1
  170. package/dist/dsh/orca-command-surface.d.ts +0 -5
  171. package/dist/dsh/orca-command-surface.d.ts.map +0 -1
  172. package/dist/dsh/orca-command-surface.js.map +0 -1
  173. package/dist/dsh/orca-event-mapper.d.ts.map +0 -1
  174. package/dist/dsh/orca-event-mapper.js.map +0 -1
  175. package/dist/dsh/orca-files.d.ts +0 -21
  176. package/dist/dsh/orca-files.d.ts.map +0 -1
  177. package/dist/dsh/orca-files.js.map +0 -1
  178. package/dist/dsh/orca-hooks.d.ts +0 -5
  179. package/dist/dsh/orca-hooks.d.ts.map +0 -1
  180. package/dist/dsh/orca-hooks.js.map +0 -1
  181. package/dist/dsh/orca-host.d.ts.map +0 -1
  182. package/dist/dsh/orca-host.js.map +0 -1
  183. package/dist/dsh/orca-read-service.d.ts +0 -20
  184. package/dist/dsh/orca-read-service.d.ts.map +0 -1
  185. package/dist/dsh/orca-read-service.js.map +0 -1
  186. package/dist/dsh/orca-recorder.d.ts.map +0 -1
  187. package/dist/dsh/orca-recorder.js.map +0 -1
  188. package/dist/dsh/orca-security.d.ts.map +0 -1
  189. package/dist/dsh/orca-security.js +0 -160
  190. package/dist/dsh/orca-security.js.map +0 -1
  191. package/dist/dsh/orca-session-choice.d.ts +0 -24
  192. package/dist/dsh/orca-session-choice.d.ts.map +0 -1
  193. package/dist/dsh/orca-session-choice.js.map +0 -1
  194. package/dist/dsh/orca-status-presentation.d.ts +0 -6
  195. package/dist/dsh/orca-status-presentation.d.ts.map +0 -1
  196. package/dist/dsh/orca-status-presentation.js.map +0 -1
  197. package/dist/dsh/orca-store.d.ts +0 -16
  198. package/dist/dsh/orca-store.d.ts.map +0 -1
  199. package/dist/dsh/orca-store.js +0 -42
  200. package/dist/dsh/orca-store.js.map +0 -1
  201. package/dist/dsh/orca-types.d.ts +0 -64
  202. package/dist/dsh/orca-types.d.ts.map +0 -1
  203. package/dist/dsh/orca-types.js.map +0 -1
  204. package/docs/orca-verification.md +0 -61
  205. /package/docs/{ORCAREPLAY-LICENSE.txt → AGENTICREPLAY-LICENSE.txt} +0 -0
@@ -1,19 +1,20 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { readdir } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
- import { OrcaError } from './orca-types.js';
5
- import { checkPrivatePath, openPrivateFile, readPrivateFile } from './orca-security.js';
6
- export async function readOrcaManifest(dir, runId) {
7
- const assertManifest = (await import('@orcareplay/schema')).assertManifest;
4
+ import { loadAgenticReplayLibrary } from './agenticreplay-libraries.js';
5
+ import { AgenticReplayError } from './agenticreplay-types.js';
6
+ import { checkPrivatePath, openPrivateFile, readPrivateFile } from './agenticreplay-security.js';
7
+ export async function readAgenticReplayManifest(dir, runId) {
8
+ const assertManifest = (await loadAgenticReplayLibrary('schema')).assertManifest;
8
9
  const value = JSON.parse((await readPrivateFile(join(dir, 'manifest.json'), 65_536)).toString('utf8'));
9
10
  assertManifest(value);
10
11
  if (value.run_id !== runId)
11
- throw new OrcaError('manifest_mismatch');
12
+ throw new AgenticReplayError('manifest_mismatch');
12
13
  return value;
13
14
  }
14
15
  /** Offset reader: at most one page of JSONL, never reads/skips the prefix. */
15
- export async function readOrcaPage(dir, offset, previousSeq, maxEvents, maxBytes, validatedBlobs = new Map()) {
16
- const schema = await import('@orcareplay/schema');
16
+ export async function readAgenticReplayPage(dir, offset, previousSeq, maxEvents, maxBytes, validatedBlobs = new Map()) {
17
+ const schema = await loadAgenticReplayLibrary('schema');
17
18
  const assertEvent = schema.assertEvent;
18
19
  const isBlobRef = schema.isBlobRef;
19
20
  const handle = await openPrivateFile(join(dir, 'events.jsonl'));
@@ -21,14 +22,14 @@ export async function readOrcaPage(dir, offset, previousSeq, maxEvents, maxBytes
21
22
  const stat = await handle.stat();
22
23
  if (!Number.isSafeInteger(offset) || offset < 0 || offset > stat.size || !Number.isSafeInteger(previousSeq)
23
24
  || (offset === 0 ? previousSeq !== -1 : previousSeq < 0))
24
- throw new OrcaError('invalid_cursor');
25
+ throw new AgenticReplayError('invalid_cursor');
25
26
  let readBytes = 0;
26
27
  if (offset > 0) {
27
28
  const boundary = Buffer.alloc(1);
28
29
  await handle.read(boundary, 0, 1, offset - 1);
29
30
  readBytes++;
30
31
  if (boundary[0] !== 10)
31
- throw new OrcaError('invalid_cursor');
32
+ throw new AgenticReplayError('invalid_cursor');
32
33
  }
33
34
  let buffer = Buffer.alloc(0);
34
35
  const events = [];
@@ -43,41 +44,41 @@ export async function readOrcaPage(dir, offset, previousSeq, maxEvents, maxBytes
43
44
  const chunk = Buffer.alloc(Math.min(4096, available, stat.size - offset - buffer.length));
44
45
  const read = await handle.read(chunk, 0, chunk.length, offset + buffer.length);
45
46
  if (read.bytesRead === 0)
46
- throw new OrcaError('file_changed');
47
+ throw new AgenticReplayError('file_changed');
47
48
  readBytes += read.bytesRead;
48
49
  buffer = Buffer.concat([buffer, chunk.subarray(0, read.bytesRead)]);
49
50
  end = buffer.indexOf(10, used);
50
51
  }
51
52
  if (end === -1) {
52
53
  if (offset + buffer.length === stat.size)
53
- throw new OrcaError('truncated_jsonl');
54
+ throw new AgenticReplayError('truncated_jsonl');
54
55
  if (events.length === 0)
55
- throw new OrcaError('timeline_line_limit');
56
+ throw new AgenticReplayError('timeline_line_limit');
56
57
  break;
57
58
  }
58
59
  const event = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(buffer.subarray(used, end)));
59
60
  assertEvent(event);
60
61
  if (event.seq !== previousSeq + events.length + 1)
61
- throw new OrcaError('invalid_cursor');
62
+ throw new AgenticReplayError('invalid_cursor');
62
63
  if (isBlobRef(event.payload)) {
63
64
  const ref = event.payload;
64
65
  const knownBytes = validatedBlobs.get(ref.$blob);
65
66
  if (knownBytes !== undefined && knownBytes !== ref.bytes)
66
- throw new OrcaError('blob_mismatch');
67
+ throw new AgenticReplayError('blob_mismatch');
67
68
  if (knownBytes === undefined) {
68
69
  if (readBytes + blobBytes + ref.bytes > maxBytes) {
69
70
  if (events.length === 0)
70
- throw new OrcaError('timeline_blob_limit');
71
+ throw new AgenticReplayError('timeline_blob_limit');
71
72
  break;
72
73
  }
73
74
  const hex = ref.$blob.slice(7);
74
75
  if (!/^[0-9a-f]{64}$/u.test(hex))
75
- throw new OrcaError('unsafe_blob');
76
+ throw new AgenticReplayError('unsafe_blob');
76
77
  await checkPrivatePath(join(dir, 'blobs'), true);
77
78
  await checkPrivatePath(join(dir, 'blobs', hex.slice(0, 2)), true);
78
79
  const bytes = await readPrivateFile(join(dir, 'blobs', hex.slice(0, 2), hex), ref.bytes);
79
80
  if (bytes.length !== ref.bytes || createHash('sha256').update(bytes).digest('hex') !== hex)
80
- throw new OrcaError('blob_mismatch');
81
+ throw new AgenticReplayError('blob_mismatch');
81
82
  blobBytes += ref.bytes;
82
83
  validatedBlobs.set(ref.$blob, ref.bytes);
83
84
  }
@@ -87,7 +88,7 @@ export async function readOrcaPage(dir, offset, previousSeq, maxEvents, maxBytes
87
88
  used = end + 1;
88
89
  }
89
90
  if ((await handle.stat()).size !== stat.size)
90
- throw new OrcaError('file_changed');
91
+ throw new AgenticReplayError('file_changed');
91
92
  return { events, offset: offset + used, previousSeq: previousSeq + events.length, done: offset + used === stat.size, bytes: used, blobs,
92
93
  raw: buffer.subarray(0, used), readBytes: readBytes + blobBytes };
93
94
  }
@@ -96,15 +97,15 @@ export async function readOrcaPage(dir, offset, previousSeq, maxEvents, maxBytes
96
97
  }
97
98
  }
98
99
  /** Only the known run directory is walked, with fixed maximum depth and byte budget. */
99
- export async function orcaDiskBytes(dir, maxBytes) {
100
+ export async function agenticReplayDiskBytes(dir, maxBytes) {
100
101
  let total = 0;
101
102
  let entries = 0;
102
103
  async function walk(current, depth) {
103
104
  if (depth > 3)
104
- throw new OrcaError('unexpected_trace_file');
105
+ throw new AgenticReplayError('unexpected_trace_file');
105
106
  for (const name of await readdir(current)) {
106
107
  if (++entries > 100_000)
107
- throw new OrcaError('trace_file_limit');
108
+ throw new AgenticReplayError('trace_file_limit');
108
109
  const target = join(current, name);
109
110
  const { lstat } = await import('node:fs/promises');
110
111
  const stat = await lstat(target);
@@ -114,30 +115,30 @@ export async function orcaDiskBytes(dir, maxBytes) {
114
115
  else
115
116
  total += stat.size;
116
117
  if (total > maxBytes)
117
- throw new OrcaError('trace_limit');
118
+ throw new AgenticReplayError('trace_limit');
118
119
  }
119
120
  }
120
121
  await walk(dir, 0);
121
122
  return total;
122
123
  }
123
- export async function scanOrcaTrace(dir, runId, maxInputBytes, maxEvents) {
124
+ export async function scanAgenticReplayTrace(dir, runId, maxInputBytes, maxEvents) {
124
125
  const file = await checkPrivatePath(join(dir, 'events.jsonl'), false);
125
126
  if (file.size > maxInputBytes)
126
- throw new OrcaError('export_input_limit');
127
- const manifest = await readOrcaManifest(dir, runId);
127
+ throw new AgenticReplayError('export_input_limit');
128
+ const manifest = await readAgenticReplayManifest(dir, runId);
128
129
  if (!manifest.ended_at || !manifest.counts || !manifest.integrity)
129
- throw new OrcaError('trace_not_completed');
130
+ throw new AgenticReplayError('trace_not_completed');
130
131
  let offset = 0, seq = -1, total = file.size;
131
132
  const blobs = new Map();
132
133
  const validatedBlobs = new Map();
133
134
  const hash = createHash('sha256');
134
135
  do {
135
- const page = await readOrcaPage(dir, offset, seq, Math.min(200, maxEvents + 1), Math.min(maxInputBytes + 1, 16_777_216), validatedBlobs);
136
+ const page = await readAgenticReplayPage(dir, offset, seq, Math.min(200, maxEvents + 1), Math.min(maxInputBytes + 1, 16_777_216), validatedBlobs);
136
137
  offset = page.offset;
137
138
  seq = page.previousSeq;
138
139
  hash.update(page.raw);
139
140
  if (seq + 1 > maxEvents)
140
- throw new OrcaError('export_event_limit');
141
+ throw new AgenticReplayError('export_event_limit');
141
142
  for (const [ref, bytes] of page.blobs) {
142
143
  if (!blobs.has(ref)) {
143
144
  total += bytes;
@@ -145,13 +146,13 @@ export async function scanOrcaTrace(dir, runId, maxInputBytes, maxEvents) {
145
146
  }
146
147
  }
147
148
  if (total > maxInputBytes)
148
- throw new OrcaError('export_input_limit');
149
+ throw new AgenticReplayError('export_input_limit');
149
150
  if (page.done)
150
151
  break;
151
152
  } while (true);
152
153
  if (manifest.counts.events !== seq + 1 || manifest.counts.blobs !== blobs.size || manifest.integrity.blob_count !== blobs.size
153
154
  || manifest.integrity.events_sha256 !== hash.digest('hex'))
154
- throw new OrcaError('trace_integrity_mismatch');
155
+ throw new AgenticReplayError('trace_integrity_mismatch');
155
156
  return { eventCount: seq + 1, exportInputBytes: total, manifest };
156
157
  }
157
- //# sourceMappingURL=orca-files.js.map
158
+ //# sourceMappingURL=agenticreplay-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-files.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,wBAAwB,EAAkC,MAAM,8BAA8B,CAAA;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAEhG,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAW,EAAE,KAAa;IACxE,MAAM,cAAc,GAAkD,CAAC,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAA;IAC/H,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/G,cAAc,CAAC,KAAK,CAAC,CAAA;IACrB,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK;QAAE,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAA;AACd,CAAC;AACD,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,MAAc,EAAE,WAAmB,EAAE,SAAiB,EAAE,QAAgB,EAC/H,iBAAiB,IAAI,GAAG,EAAkB;IAC1C,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IACvD,MAAM,WAAW,GAAoD,MAAM,CAAC,WAAW,CAAA;IACvF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAClC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;IAC/D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;eACtG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QAC1G,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAAC,SAAS,EAAE,CAAA;YAC1D,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE;gBAAE,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,MAAM,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,IAAI,IAAI,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;QACvC,OAAO,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC9D,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAClC,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;gBAClD,IAAI,SAAS,IAAI,CAAC;oBAAE,MAAK;gBACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;gBACzF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC9E,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;oBAAE,MAAM,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAA;gBACtE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;gBAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACnE,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAChC,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;gBACzF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;gBAC5E,MAAK;YACP,CAAC;YACD,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/G,WAAW,CAAC,KAAK,CAAC,CAAA;YAClB,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;YACjG,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAA;gBACzB,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAChD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,GAAG,CAAC,KAAK;oBAAE,MAAM,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAA;gBACvG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;wBACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;4BAAE,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;wBAC5E,MAAK;oBACP,CAAC;oBACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;wBAAE,MAAM,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAA;oBAC7E,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;oBAChD,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;oBACjE,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;oBACxF,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG;wBAAE,MAAM,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAA;oBACzI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAA;oBACtB,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC1C,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;YACjC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAA;QAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;YACrI,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;IACrE,CAAC;YAAS,CAAC;QAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IAAC,CAAC;AACpC,CAAC;AACD,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAW,EAAE,QAAgB;IACxE,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,UAAU,IAAI,CAAC,OAAe,EAAE,KAAa;QAChD,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;QACpE,KAAK,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,EAAE,OAAO,GAAG,OAAO;gBAAE,MAAM,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAClC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;YAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;YAChC,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YAClD,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;;gBAChD,KAAK,IAAI,IAAI,CAAC,IAAI,CAAA;YACvB,IAAI,KAAK,GAAG,QAAQ;gBAAE,MAAM,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAClB,OAAO,KAAK,CAAA;AACd,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAW,EAAE,KAAa,EAAE,aAAqB,EAAE,SAAiB;IAC/G,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;IACrE,IAAI,IAAI,CAAC,IAAI,GAAG,aAAa;QAAE,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,CAAA;IACjF,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS;QAAE,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAA;IACtH,IAAI,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,GAAG,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAA;QACjJ,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAA;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrB,IAAI,GAAG,GAAG,CAAC,GAAG,SAAS;YAAE,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,CAAA;QAC3E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,KAAK,IAAI,KAAK,CAAC;gBAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAAC,CAAC;QAChE,CAAC;QACD,IAAI,KAAK,GAAG,aAAa;YAAE,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,CAAA;QAC7E,IAAI,IAAI,CAAC,IAAI;YAAE,MAAK;IACtB,CAAC,QAAQ,IAAI,EAAC;IACd,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI;WACzH,QAAQ,CAAC,SAAS,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,CAAC,CAAA;IACtH,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;AACnE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { DshAgenticReplayHostServices } from './agenticreplay-types.js';
3
+ /** Global Cordis observation with exact host bindings; result observer survives ingress shutdown. */
4
+ export declare function mountDshAgenticReplayHooks(ctx: Context, services: DshAgenticReplayHostServices): () => void;
5
+ //# sourceMappingURL=agenticreplay-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-hooks.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,4BAA4B,EAA8B,MAAM,0BAA0B,CAAA;AAExG,qGAAqG;AACrG,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI,CAiC3G"}
@@ -1,5 +1,5 @@
1
1
  /** Global Cordis observation with exact host bindings; result observer survives ingress shutdown. */
2
- export function mountDshOrcaHooks(ctx, services) {
2
+ export function mountDshAgenticReplayHooks(ctx, services) {
3
3
  const disposers = [];
4
4
  const on = (name, listener) => disposers.push(ctx.on(name, listener, { global: true }));
5
5
  const binding = (exec) => {
@@ -67,4 +67,4 @@ export function mountDshOrcaHooks(ctx, services) {
67
67
  return; disposed = true; for (const dispose of disposers.reverse())
68
68
  dispose(); };
69
69
  }
70
- //# sourceMappingURL=orca-hooks.js.map
70
+ //# sourceMappingURL=agenticreplay-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-hooks.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-hooks.ts"],"names":[],"mappings":"AAGA,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CAAC,GAAY,EAAE,QAAsC;IAC7F,MAAM,SAAS,GAAmB,EAAE,CAAA;IACpC,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,QAAiC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAE,GAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACjI,MAAM,OAAO,GAAG,CAAC,IAAgC,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACjH,OAAO,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAA;QAAC,CAAC;IAC9B,CAAC,CAAA;IACD,IAAI,CAAC;QACH,EAAE,CAAC,YAAY,EAAE,CAAC,OAA4B,EAAE,IAAkC,EAAE,EAAE;YACpF,IAAI,QAAQ,CAAA;YACZ,IAAI,CAAC;gBAAC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;oBAAE,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;YACpJ,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAA;YAC5D,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,IAAgC,EAAE,IAA4B,EAAE,EAAE;YAC/F,IAAI,CAAC;gBAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC;gBAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;YAC/F,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,IAAgC,EAAE,IAA4B,EAAE,EAAE;YAC3F,IAAI,CAAC;gBAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACxE,IAAI,CAAC;gBAAC,OAAO,MAAM,IAAI,EAAE,CAAA;YAAC,CAAC;oBAAS,CAAC;gBAAC,IAAI,CAAC;oBAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAAC,CAAC;QACpH,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,cAAc,EAAE,CAAC,IAAgC,EAAE,MAAe,EAAE,EAAE;YACvE,IAAI,CAAC;gBAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;QACxH,CAAC,CAAC,CAAA;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE;YAAE,OAAO,EAAE,CAAC;QAAC,MAAM,KAAK,CAAA;IAAC,CAAC;IACrF,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,OAAO,GAAG,EAAE,GAAG,IAAI,QAAQ;QAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,CAAA,CAAC,CAAC,CAAA;AAC9G,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { Context } from '@deepseek-ai/cordis';
2
- import type { OrcaConfig } from './config.js';
2
+ import type { AgenticReplayConfig } from './config.js';
3
3
  import type { DshUserQuestions } from './user-interaction.js';
4
4
  import type { DshCoreRuntime as DshRuntime } from './core-runtime.js';
5
- import type { DshOrcaHostServices } from './orca-types.js';
6
- export declare function createDshOrcaHost(ctx: Context, config: OrcaConfig, runtime: DshRuntime, native: {
5
+ import type { DshAgenticReplayHostServices } from './agenticreplay-types.js';
6
+ export declare function createDshAgenticReplayHost(ctx: Context, config: AgenticReplayConfig, runtime: DshRuntime, native: {
7
7
  session(id: string): object | undefined;
8
8
  agent(id: string): object | undefined;
9
9
  logicalRun(session: {
@@ -18,5 +18,5 @@ export declare function createDshOrcaHost(ctx: Context, config: OrcaConfig, runt
18
18
  agent: object;
19
19
  session: object;
20
20
  } | undefined;
21
- }): DshOrcaHostServices;
22
- //# sourceMappingURL=orca-host.d.ts.map
21
+ }): DshAgenticReplayHostServices;
22
+ //# sourceMappingURL=agenticreplay-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-host.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAStD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EAA2B,4BAA4B,EAA0B,MAAM,0BAA0B,CAAA;AAE7H,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE;IACjH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACvC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACrC,UAAU,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,SAAS,CAAA;IACvD,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,WAAW,CAAC,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAA;IAC5C,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAChD,eAAe,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAChF,GAAG,4BAA4B,CAkH/B"}
@@ -1,21 +1,21 @@
1
1
  import { canonicalDirectory, detectRepositoryRoot } from '../repository/detect-root.js';
2
- import { DshOrcaRecorder } from './orca-recorder.js';
3
- import { DshOrcaStore } from './orca-store.js';
4
- import { mountDshOrcaHooks } from './orca-hooks.js';
5
- import { getDshOrcaStoreRoot } from './paths.js';
6
- import { workspaceKey } from './orca-security.js';
7
- import { record } from './orca-event-mapper.js';
8
- import { DshOrcaSessionChoices } from './orca-session-choice.js';
9
- export function createDshOrcaHost(ctx, config, runtime, native) {
2
+ import { DshAgenticReplayRecorder } from './agenticreplay-recorder.js';
3
+ import { DshAgenticReplayStore } from './agenticreplay-store.js';
4
+ import { mountDshAgenticReplayHooks } from './agenticreplay-hooks.js';
5
+ import { getDshAgenticReplayStoreRoot } from './paths.js';
6
+ import { workspaceKey } from './agenticreplay-security.js';
7
+ import { record } from './agenticreplay-event-mapper.js';
8
+ import { DshAgenticReplaySessionChoices } from './agenticreplay-session-choice.js';
9
+ export function createDshAgenticReplayHost(ctx, config, runtime, native) {
10
10
  // Web keeps observers alive through recorder drain. TUI forbids a plugin
11
11
  // from registering on the composition root, so use its own scoped context.
12
12
  const profile = ctx.get?.('profileContext', false)?.name;
13
13
  const observerContext = profile === 'dsh-tui' ? ctx : ctx.root ?? ctx;
14
14
  const bindings = new Map();
15
15
  let accepting = true;
16
- const withIndex = operation => runtime.withDatabase(async (db) => await operation(new DshOrcaStore(db)));
17
- const recorder = new DshOrcaRecorder(config, withIndex);
18
- const choices = new DshOrcaSessionChoices(withIndex, native.questions, config.askOnStart);
16
+ const withIndex = operation => runtime.withDatabase(async (db) => await operation(new DshAgenticReplayStore(db)));
17
+ const recorder = new DshAgenticReplayRecorder(config, withIndex);
18
+ const choices = new DshAgenticReplaySessionChoices(withIndex, native.questions, config.askOnStart);
19
19
  const operations = new Map();
20
20
  let shutdown;
21
21
  const disposers = [];
@@ -37,7 +37,7 @@ export function createDshOrcaHost(ctx, config, runtime, native) {
37
37
  setSessionRecording(binding, enabled) {
38
38
  const pending = (operations.get(binding.sessionId) ?? Promise.resolve()).catch(() => undefined).then(async () => {
39
39
  if (!accepting)
40
- throw new Error('Orca host closed');
40
+ throw new Error('AgenticReplay host closed');
41
41
  try {
42
42
  await choices.set(binding, enabled);
43
43
  }
@@ -72,7 +72,7 @@ export function createDshOrcaHost(ctx, config, runtime, native) {
72
72
  const cwd = canonicalDirectory(s.header.cwd);
73
73
  const root = detectRepositoryRoot({ cwd, allowDirectory: true }).root;
74
74
  const entry = { agent, session, binding: Object.freeze({ sessionId: s.id, sessionCwd: cwd, workspaceRoot: root,
75
- storeRoot: getDshOrcaStoreRoot(root, config.storage, workspaceKey(root)) }) };
75
+ storeRoot: getDshAgenticReplayStoreRoot(root, config.storage, workspaceKey(root)) }) };
76
76
  bindings.set(s.id, entry);
77
77
  return enrich(entry);
78
78
  },
@@ -137,7 +137,7 @@ export function createDshOrcaHost(ctx, config, runtime, native) {
137
137
  choices.forget(entry.binding);
138
138
  void recorder.closeSessionRecording(id, 'session_disposed').finally(() => { bindings.delete(id); recorder.forgetSession(id); }).catch(() => undefined);
139
139
  }, { global: true }));
140
- disposers.push(mountDshOrcaHooks(observerContext, services));
140
+ disposers.push(mountDshAgenticReplayHooks(observerContext, services));
141
141
  }
142
142
  catch {
143
143
  for (const dispose of disposers.reverse())
@@ -147,4 +147,4 @@ export function createDshOrcaHost(ctx, config, runtime, native) {
147
147
  }
148
148
  return services;
149
149
  }
150
- //# sourceMappingURL=orca-host.js.map
150
+ //# sourceMappingURL=agenticreplay-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-host.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ export interface Manifest {
2
+ schema_version: string;
3
+ run_id: string;
4
+ agenticreplay_version: string;
5
+ ended_at?: string;
6
+ counts?: {
7
+ events: number;
8
+ blobs: number;
9
+ };
10
+ integrity?: {
11
+ events_sha256: string;
12
+ blob_count: number;
13
+ };
14
+ }
15
+ export interface TraceEvent {
16
+ seq: number;
17
+ ts: string;
18
+ mono_us: number;
19
+ turn: number;
20
+ type: string;
21
+ actor: string;
22
+ attrs?: Record<string, unknown>;
23
+ payload?: unknown;
24
+ causes?: number[];
25
+ }
26
+ export interface EventInit {
27
+ type: 'run.start' | 'run.end' | 'model.request' | 'model.response' | 'tool.call' | 'tool.result' | 'note' | 'error';
28
+ actor: 'harness' | 'model' | 'tool';
29
+ causes?: number[];
30
+ attrs?: Record<string, unknown>;
31
+ payload?: Record<string, unknown>;
32
+ occurredAt?: Date;
33
+ }
34
+ export interface TraceWriter {
35
+ readonly runDir: string;
36
+ append(event: EventInit): Promise<TraceEvent>;
37
+ close(): Promise<Manifest>;
38
+ }
39
+ export type CreateTraceWriter = (runsDir: string, init: {
40
+ runId?: string;
41
+ adapter: {
42
+ id: string;
43
+ };
44
+ argv: string[];
45
+ cwd: string;
46
+ agenticreplayVersion: string;
47
+ envAllowlist?: string[];
48
+ }) => Promise<TraceWriter>;
49
+ export interface CoreLibrary {
50
+ TraceWriter: {
51
+ create: CreateTraceWriter;
52
+ };
53
+ TraceReader: {
54
+ open(runDir: string): Promise<{
55
+ events(): Promise<TraceEvent[]>;
56
+ }>;
57
+ };
58
+ ensureRunsDir(root: string): Promise<string>;
59
+ }
60
+ export interface SchemaLibrary {
61
+ assertManifest(value: unknown): asserts value is Manifest;
62
+ assertEvent(value: unknown): asserts value is TraceEvent;
63
+ isBlobRef(value: unknown): value is {
64
+ $blob: string;
65
+ bytes: number;
66
+ };
67
+ }
68
+ export interface ViewerLibrary {
69
+ buildTimeline(events: TraceEvent[]): Record<string, unknown>[];
70
+ exportTraceHtml(runDir: string, output: string, options?: {
71
+ maxBlobBytes?: number;
72
+ maxInlineChars?: number;
73
+ }): Promise<{
74
+ bytes: number;
75
+ }>;
76
+ }
77
+ interface Libraries {
78
+ core: CoreLibrary;
79
+ schema: SchemaLibrary;
80
+ viewer: ViewerLibrary;
81
+ }
82
+ export declare function loadAgenticReplayLibrary<K extends keyof Libraries>(name: K): Promise<Libraries[K]>;
83
+ export declare function installedAgenticReplayCoreVersion(): Promise<string>;
84
+ export {};
85
+ //# sourceMappingURL=agenticreplay-libraries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-libraries.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-libraries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { createRequire, findPackageJSON } from 'node:module';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { pathToFileURL } from 'node:url';
4
+ /** Resolve from the distribution that declares/bundles the SDK, never a global installation. */
5
+ function distributionRequire() {
6
+ return createRequire(import.meta.resolve('agenticreplay'));
7
+ }
8
+ export async function loadAgenticReplayLibrary(name) {
9
+ const entry = distributionRequire().resolve(`@agenticreplay/${name}`);
10
+ return import(pathToFileURL(entry).href);
11
+ }
12
+ export async function installedAgenticReplayCoreVersion() {
13
+ const owner = distributionRequire();
14
+ const path = findPackageJSON('@agenticreplay/core', owner.resolve('@agenticreplay/core'));
15
+ if (!path)
16
+ throw new Error('AgenticReplay core package metadata unavailable');
17
+ const manifest = JSON.parse(await readFile(path, 'utf8'));
18
+ if (manifest.name !== '@agenticreplay/core' || typeof manifest.version !== 'string' || !manifest.version.trim()) {
19
+ throw new Error('Invalid AgenticReplay core package metadata');
20
+ }
21
+ return manifest.version;
22
+ }
23
+ //# sourceMappingURL=agenticreplay-libraries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-libraries.js","sourceRoot":"","sources":["../../src/dsh/agenticreplay-libraries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AA0DxC,gGAAgG;AAChG,SAAS,mBAAmB;IAC1B,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;AAC5D,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAA4B,IAAO;IAC/E,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAA0B,CAAA;AACnE,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,iCAAiC;IACrD,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAA;IACzF,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IACzD,IAAI,QAAQ,CAAC,IAAI,KAAK,qBAAqB,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAChH,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAA;AACzB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { type ViewerLibrary } from './agenticreplay-libraries.js';
2
+ import type { AgenticReplayConfig } from './config.js';
3
+ import { type DshAgenticReplayBinding, type WithAgenticReplayIndex } from './agenticreplay-types.js';
4
+ export declare class DshAgenticReplayReadService {
5
+ #private;
6
+ readonly config: AgenticReplayConfig;
7
+ readonly withIndex: WithAgenticReplayIndex;
8
+ private readonly loadViewer;
9
+ constructor(config: AgenticReplayConfig, withIndex: WithAgenticReplayIndex, loadViewer?: () => Promise<ViewerLibrary>);
10
+ list(binding: DshAgenticReplayBinding): Promise<import("./agenticreplay-types.js").AgenticReplayTrace[]>;
11
+ show(binding: DshAgenticReplayBinding, id: string, cursor?: string): Promise<{
12
+ cursor?: string;
13
+ recordingState: import("./agenticreplay-types.js").AgenticReplayState;
14
+ exactReplay: boolean;
15
+ usage: string;
16
+ rows: Record<string, unknown>[];
17
+ events: import("./agenticreplay-libraries.js").TraceEvent[];
18
+ }>;
19
+ export(binding: DshAgenticReplayBinding, id: string): Promise<string>;
20
+ }
21
+ //# sourceMappingURL=agenticreplay-read-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticreplay-read-service.d.ts","sourceRoot":"","sources":["../../src/dsh/agenticreplay-read-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAI3F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAsB,KAAK,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAIxH,qBAAa,2BAA2B;;IAE1B,QAAQ,CAAC,MAAM,EAAE,mBAAmB;IAAE,QAAQ,CAAC,SAAS,EAAE,sBAAsB;IAC1F,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADR,MAAM,EAAE,mBAAmB,EAAW,SAAS,EAAE,sBAAsB,EACzE,UAAU,GAAE,MAAM,OAAO,CAAC,aAAa,CAA4C;IAChG,IAAI,CAAC,OAAO,EAAE,uBAAuB;IA4CrC,IAAI,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;IAUlE,MAAM,CAAC,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoC5E"}
@@ -1,15 +1,16 @@
1
+ import { loadAgenticReplayLibrary } from './agenticreplay-libraries.js';
1
2
  import { createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
2
3
  import { rename, rm, open } from 'node:fs/promises';
3
4
  import { join } from 'node:path';
4
- import { OrcaError } from './orca-types.js';
5
- import { checkedRunDir, checkPrivatePath, ORCA_RUN_ID, privateDirectory, workspaceKey } from './orca-security.js';
6
- import { readOrcaManifest, readOrcaPage, scanOrcaTrace } from './orca-files.js';
7
- export class DshOrcaReadService {
5
+ import { AgenticReplayError } from './agenticreplay-types.js';
6
+ import { checkedRunDir, checkPrivatePath, AGENTICREPLAY_RUN_ID, privateDirectory, workspaceKey, ensureAgenticReplayGitignore } from './agenticreplay-security.js';
7
+ import { readAgenticReplayManifest, readAgenticReplayPage, scanAgenticReplayTrace } from './agenticreplay-files.js';
8
+ export class DshAgenticReplayReadService {
8
9
  config;
9
10
  withIndex;
10
11
  loadViewer;
11
12
  #cursorKey = randomBytes(32);
12
- constructor(config, withIndex, loadViewer = () => import('@orcareplay/viewer')) {
13
+ constructor(config, withIndex, loadViewer = () => loadAgenticReplayLibrary('viewer')) {
13
14
  this.config = config;
14
15
  this.withIndex = withIndex;
15
16
  this.loadViewer = loadViewer;
@@ -39,17 +40,17 @@ export class DshOrcaReadService {
39
40
  });
40
41
  }
41
42
  async #authorized(binding, id) {
42
- if (!ORCA_RUN_ID.test(id))
43
- throw new OrcaError('trace_not_found');
43
+ if (!AGENTICREPLAY_RUN_ID.test(id))
44
+ throw new AgenticReplayError('trace_not_found');
44
45
  const row = await this.withIndex(store => store.get(binding.sessionId, workspaceKey(binding.workspaceRoot), id));
45
46
  if (!row || row.store_root !== binding.storeRoot || row.session_cwd !== binding.sessionCwd)
46
- throw new OrcaError('trace_not_found');
47
+ throw new AgenticReplayError('trace_not_found');
47
48
  if (row.state !== 'completed')
48
- throw new OrcaError('trace_not_completed');
49
+ throw new AgenticReplayError('trace_not_completed');
49
50
  const dir = await checkedRunDir(row.store_root, id);
50
- const manifest = await readOrcaManifest(dir, id);
51
+ const manifest = await readAgenticReplayManifest(dir, id);
51
52
  if (!manifest.ended_at || manifest.counts?.events !== row.event_count)
52
- throw new OrcaError('trace_integrity_mismatch');
53
+ throw new AgenticReplayError('trace_integrity_mismatch');
53
54
  return { row, dir };
54
55
  }
55
56
  #encode(id, offset, seq) {
@@ -60,30 +61,30 @@ export class DshOrcaReadService {
60
61
  if (cursor === undefined)
61
62
  return { offset: 0, seq: -1 };
62
63
  if (cursor.length > 1024)
63
- throw new OrcaError('invalid_cursor');
64
+ throw new AgenticReplayError('invalid_cursor');
64
65
  const parts = cursor.split('.');
65
66
  const [body, signature] = parts;
66
67
  if (parts.length !== 2 || !body || !signature)
67
- throw new OrcaError('invalid_cursor');
68
+ throw new AgenticReplayError('invalid_cursor');
68
69
  const expected = createHmac('sha256', this.#cursorKey).update(body).digest();
69
70
  const supplied = Buffer.from(signature, 'base64url');
70
71
  if (supplied.length !== expected.length || !timingSafeEqual(expected, supplied))
71
- throw new OrcaError('invalid_cursor');
72
+ throw new AgenticReplayError('invalid_cursor');
72
73
  const value = JSON.parse(Buffer.from(body, 'base64url').toString('utf8'));
73
74
  if (value.v !== 1 || value.id !== id)
74
- throw new OrcaError('invalid_cursor');
75
+ throw new AgenticReplayError('invalid_cursor');
75
76
  return value;
76
77
  }
77
78
  async show(binding, id, cursor) {
78
79
  const { dir, row } = await this.#authorized(binding, id);
79
80
  const position = this.#decode(cursor, id);
80
- const page = await readOrcaPage(dir, position.offset, position.seq, this.config.maxTimelineEventsPerPage, this.config.maxTimelineReadBytesPerPage);
81
+ const page = await readAgenticReplayPage(dir, position.offset, position.seq, this.config.maxTimelineEventsPerPage, this.config.maxTimelineReadBytesPerPage);
81
82
  let viewer;
82
83
  try {
83
84
  viewer = await this.loadViewer();
84
85
  }
85
86
  catch {
86
- throw new OrcaError('viewer_unavailable_reinstall_package');
87
+ throw new AgenticReplayError('viewer_unavailable_reinstall_package');
87
88
  }
88
89
  return { recordingState: row.state, exactReplay: false, usage: 'Missing usage is unknown, not measured zero.',
89
90
  rows: viewer.buildTimeline(page.events), events: page.events,
@@ -91,21 +92,22 @@ export class DshOrcaReadService {
91
92
  }
92
93
  async export(binding, id) {
93
94
  const { dir, row } = await this.#authorized(binding, id);
94
- const scan = await scanOrcaTrace(dir, id, this.config.maxHtmlExportInputBytes, this.config.maxHtmlExportEvents);
95
+ const scan = await scanAgenticReplayTrace(dir, id, this.config.maxHtmlExportInputBytes, this.config.maxHtmlExportEvents);
95
96
  if (scan.eventCount !== row.event_count || scan.exportInputBytes !== row.export_input_bytes)
96
- throw new OrcaError('trace_integrity_mismatch');
97
+ throw new AgenticReplayError('trace_integrity_mismatch');
97
98
  // Bound repeated blob inlining, escaping, fixed markup, static CSS/JS before invoking the materializing viewer.
98
99
  const estimate = 1_048_576 + scan.exportInputBytes * 40 + scan.eventCount * (8192 + this.config.maxHtmlInlineCharsPerEvent * 6);
99
100
  if (!Number.isSafeInteger(estimate) || estimate > this.config.maxHtmlExportOutputBytes)
100
- throw new OrcaError('export_output_limit');
101
+ throw new AgenticReplayError('export_output_limit');
101
102
  let viewer;
102
103
  try {
103
104
  viewer = await this.loadViewer();
104
105
  }
105
106
  catch {
106
- throw new OrcaError('viewer_unavailable_reinstall_package');
107
+ throw new AgenticReplayError('viewer_unavailable_reinstall_package');
107
108
  }
108
- const exports = join(row.store_root, '.orca', 'exports');
109
+ const exports = join(row.store_root, '.agenticreplay', 'exports');
110
+ await ensureAgenticReplayGitignore(row.store_root);
109
111
  await privateDirectory(exports);
110
112
  const output = join(exports, `${id}.html`);
111
113
  async function verifyExisting() {
@@ -126,11 +128,11 @@ export class DshOrcaReadService {
126
128
  maxInlineChars: this.config.maxHtmlInlineCharsPerEvent });
127
129
  const actual = await checkPrivatePath(temporary, false);
128
130
  if (actual.size !== result.bytes || result.bytes > this.config.maxHtmlExportOutputBytes)
129
- throw new OrcaError('export_output_limit');
131
+ throw new AgenticReplayError('export_output_limit');
130
132
  // Detect changes during the third-party reader's second pass before publishing the file locally.
131
- const after = await scanOrcaTrace(dir, id, this.config.maxHtmlExportInputBytes, this.config.maxHtmlExportEvents);
133
+ const after = await scanAgenticReplayTrace(dir, id, this.config.maxHtmlExportInputBytes, this.config.maxHtmlExportEvents);
132
134
  if (after.manifest.integrity?.events_sha256 !== scan.manifest.integrity?.events_sha256 || after.exportInputBytes !== scan.exportInputBytes)
133
- throw new OrcaError('file_changed');
135
+ throw new AgenticReplayError('file_changed');
134
136
  await checkPrivatePath(exports, true);
135
137
  await verifyExisting();
136
138
  await rename(temporary, output);
@@ -141,4 +143,4 @@ export class DshOrcaReadService {
141
143
  }
142
144
  }
143
145
  }
144
- //# sourceMappingURL=orca-read-service.js.map
146
+ //# sourceMappingURL=agenticreplay-read-service.js.map