@earendil-works/pi-agent-core 0.99.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/README.md +0 -8
  2. package/dist/index.d.ts +0 -22
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +0 -20
  5. package/dist/index.js.map +1 -1
  6. package/package.json +3 -45
  7. package/dist/harness/agent-harness.d.ts +0 -716
  8. package/dist/harness/agent-harness.d.ts.map +0 -1
  9. package/dist/harness/agent-harness.js +0 -6
  10. package/dist/harness/agent-harness.js.map +0 -1
  11. package/dist/harness/compaction/branch-summarization.d.ts +0 -68
  12. package/dist/harness/compaction/branch-summarization.d.ts.map +0 -1
  13. package/dist/harness/compaction/branch-summarization.js +0 -176
  14. package/dist/harness/compaction/branch-summarization.js.map +0 -1
  15. package/dist/harness/compaction/compaction.d.ts +0 -126
  16. package/dist/harness/compaction/compaction.d.ts.map +0 -1
  17. package/dist/harness/compaction/compaction.js +0 -560
  18. package/dist/harness/compaction/compaction.js.map +0 -1
  19. package/dist/harness/compaction/utils.d.ts +0 -25
  20. package/dist/harness/compaction/utils.d.ts.map +0 -1
  21. package/dist/harness/compaction/utils.js +0 -120
  22. package/dist/harness/compaction/utils.js.map +0 -1
  23. package/dist/harness/config.d.ts +0 -9
  24. package/dist/harness/config.d.ts.map +0 -1
  25. package/dist/harness/config.js +0 -35
  26. package/dist/harness/config.js.map +0 -1
  27. package/dist/harness/context.d.ts +0 -9
  28. package/dist/harness/context.d.ts.map +0 -1
  29. package/dist/harness/context.js +0 -13
  30. package/dist/harness/context.js.map +0 -1
  31. package/dist/harness/env/nodejs.d.ts +0 -43
  32. package/dist/harness/env/nodejs.d.ts.map +0 -1
  33. package/dist/harness/env/nodejs.js +0 -865
  34. package/dist/harness/env/nodejs.js.map +0 -1
  35. package/dist/harness/events.d.ts +0 -25
  36. package/dist/harness/events.d.ts.map +0 -1
  37. package/dist/harness/events.js +0 -250
  38. package/dist/harness/events.js.map +0 -1
  39. package/dist/harness/execution/assistant.d.ts +0 -42
  40. package/dist/harness/execution/assistant.d.ts.map +0 -1
  41. package/dist/harness/execution/assistant.js +0 -82
  42. package/dist/harness/execution/assistant.js.map +0 -1
  43. package/dist/harness/execution/effect-gate.d.ts +0 -22
  44. package/dist/harness/execution/effect-gate.d.ts.map +0 -1
  45. package/dist/harness/execution/effect-gate.js +0 -49
  46. package/dist/harness/execution/effect-gate.js.map +0 -1
  47. package/dist/harness/execution/tools.d.ts +0 -67
  48. package/dist/harness/execution/tools.d.ts.map +0 -1
  49. package/dist/harness/execution/tools.js +0 -119
  50. package/dist/harness/execution/tools.js.map +0 -1
  51. package/dist/harness/hooks.d.ts +0 -38
  52. package/dist/harness/hooks.d.ts.map +0 -1
  53. package/dist/harness/hooks.js +0 -406
  54. package/dist/harness/hooks.js.map +0 -1
  55. package/dist/harness/messages.d.ts +0 -51
  56. package/dist/harness/messages.d.ts.map +0 -1
  57. package/dist/harness/messages.js +0 -103
  58. package/dist/harness/messages.js.map +0 -1
  59. package/dist/harness/pico3/bash.d.ts +0 -10
  60. package/dist/harness/pico3/bash.d.ts.map +0 -1
  61. package/dist/harness/pico3/bash.js +0 -25
  62. package/dist/harness/pico3/bash.js.map +0 -1
  63. package/dist/harness/pico3/bounded.d.ts +0 -21
  64. package/dist/harness/pico3/bounded.d.ts.map +0 -1
  65. package/dist/harness/pico3/bounded.js +0 -98
  66. package/dist/harness/pico3/bounded.js.map +0 -1
  67. package/dist/harness/pico3/chord.d.ts +0 -41
  68. package/dist/harness/pico3/chord.d.ts.map +0 -1
  69. package/dist/harness/pico3/chord.js +0 -147
  70. package/dist/harness/pico3/chord.js.map +0 -1
  71. package/dist/harness/pico3/context.d.ts +0 -16
  72. package/dist/harness/pico3/context.d.ts.map +0 -1
  73. package/dist/harness/pico3/context.js +0 -88
  74. package/dist/harness/pico3/context.js.map +0 -1
  75. package/dist/harness/pico3/harness.d.ts +0 -198
  76. package/dist/harness/pico3/harness.d.ts.map +0 -1
  77. package/dist/harness/pico3/harness.js +0 -654
  78. package/dist/harness/pico3/harness.js.map +0 -1
  79. package/dist/harness/pico3/hooks.d.ts +0 -10
  80. package/dist/harness/pico3/hooks.d.ts.map +0 -1
  81. package/dist/harness/pico3/hooks.js +0 -33
  82. package/dist/harness/pico3/hooks.js.map +0 -1
  83. package/dist/harness/pico3/index.d.ts +0 -19
  84. package/dist/harness/pico3/index.d.ts.map +0 -1
  85. package/dist/harness/pico3/index.js +0 -15
  86. package/dist/harness/pico3/index.js.map +0 -1
  87. package/dist/harness/pico3/jsonl.d.ts +0 -58
  88. package/dist/harness/pico3/jsonl.d.ts.map +0 -1
  89. package/dist/harness/pico3/jsonl.js +0 -325
  90. package/dist/harness/pico3/jsonl.js.map +0 -1
  91. package/dist/harness/pico3/kinds/collapse.d.ts +0 -49
  92. package/dist/harness/pico3/kinds/collapse.d.ts.map +0 -1
  93. package/dist/harness/pico3/kinds/collapse.js +0 -191
  94. package/dist/harness/pico3/kinds/collapse.js.map +0 -1
  95. package/dist/harness/pico3/kinds/entries.d.ts +0 -78
  96. package/dist/harness/pico3/kinds/entries.d.ts.map +0 -1
  97. package/dist/harness/pico3/kinds/entries.js +0 -13
  98. package/dist/harness/pico3/kinds/entries.js.map +0 -1
  99. package/dist/harness/pico3/kinds/frames.d.ts +0 -9
  100. package/dist/harness/pico3/kinds/frames.d.ts.map +0 -1
  101. package/dist/harness/pico3/kinds/frames.js +0 -75
  102. package/dist/harness/pico3/kinds/frames.js.map +0 -1
  103. package/dist/harness/pico3/kinds/generation.d.ts +0 -94
  104. package/dist/harness/pico3/kinds/generation.d.ts.map +0 -1
  105. package/dist/harness/pico3/kinds/generation.js +0 -504
  106. package/dist/harness/pico3/kinds/generation.js.map +0 -1
  107. package/dist/harness/pico3/kinds/job.d.ts +0 -44
  108. package/dist/harness/pico3/kinds/job.d.ts.map +0 -1
  109. package/dist/harness/pico3/kinds/job.js +0 -143
  110. package/dist/harness/pico3/kinds/job.js.map +0 -1
  111. package/dist/harness/pico3/kinds/plugin.d.ts +0 -15
  112. package/dist/harness/pico3/kinds/plugin.d.ts.map +0 -1
  113. package/dist/harness/pico3/kinds/plugin.js +0 -35
  114. package/dist/harness/pico3/kinds/plugin.js.map +0 -1
  115. package/dist/harness/pico3/kinds/post-tools.d.ts +0 -22
  116. package/dist/harness/pico3/kinds/post-tools.d.ts.map +0 -1
  117. package/dist/harness/pico3/kinds/post-tools.js +0 -145
  118. package/dist/harness/pico3/kinds/post-tools.js.map +0 -1
  119. package/dist/harness/pico3/kinds/task-api.d.ts +0 -3
  120. package/dist/harness/pico3/kinds/task-api.d.ts.map +0 -1
  121. package/dist/harness/pico3/kinds/task-api.js +0 -45
  122. package/dist/harness/pico3/kinds/task-api.js.map +0 -1
  123. package/dist/harness/pico3/kinds/tool.d.ts +0 -43
  124. package/dist/harness/pico3/kinds/tool.d.ts.map +0 -1
  125. package/dist/harness/pico3/kinds/tool.js +0 -373
  126. package/dist/harness/pico3/kinds/tool.js.map +0 -1
  127. package/dist/harness/pico3/legacy-tracker.d.ts +0 -11
  128. package/dist/harness/pico3/legacy-tracker.d.ts.map +0 -1
  129. package/dist/harness/pico3/legacy-tracker.js +0 -41
  130. package/dist/harness/pico3/legacy-tracker.js.map +0 -1
  131. package/dist/harness/pico3/membrane.d.ts +0 -23
  132. package/dist/harness/pico3/membrane.d.ts.map +0 -1
  133. package/dist/harness/pico3/membrane.js +0 -141
  134. package/dist/harness/pico3/membrane.js.map +0 -1
  135. package/dist/harness/pico3/memory.d.ts +0 -53
  136. package/dist/harness/pico3/memory.d.ts.map +0 -1
  137. package/dist/harness/pico3/memory.js +0 -264
  138. package/dist/harness/pico3/memory.js.map +0 -1
  139. package/dist/harness/pico3/scheduler.d.ts +0 -49
  140. package/dist/harness/pico3/scheduler.d.ts.map +0 -1
  141. package/dist/harness/pico3/scheduler.js +0 -438
  142. package/dist/harness/pico3/scheduler.js.map +0 -1
  143. package/dist/harness/pico3/session.d.ts +0 -264
  144. package/dist/harness/pico3/session.d.ts.map +0 -1
  145. package/dist/harness/pico3/session.js +0 -1348
  146. package/dist/harness/pico3/session.js.map +0 -1
  147. package/dist/harness/pico3/system.d.ts +0 -126
  148. package/dist/harness/pico3/system.d.ts.map +0 -1
  149. package/dist/harness/pico3/system.js +0 -244
  150. package/dist/harness/pico3/system.js.map +0 -1
  151. package/dist/harness/pico3/types.d.ts +0 -973
  152. package/dist/harness/pico3/types.d.ts.map +0 -1
  153. package/dist/harness/pico3/types.js +0 -96
  154. package/dist/harness/pico3/types.js.map +0 -1
  155. package/dist/harness/pico3/view.d.ts +0 -34
  156. package/dist/harness/pico3/view.d.ts.map +0 -1
  157. package/dist/harness/pico3/view.js +0 -411
  158. package/dist/harness/pico3/view.js.map +0 -1
  159. package/dist/harness/prompt-templates.d.ts +0 -49
  160. package/dist/harness/prompt-templates.d.ts.map +0 -1
  161. package/dist/harness/prompt-templates.js +0 -225
  162. package/dist/harness/prompt-templates.js.map +0 -1
  163. package/dist/harness/result.d.ts +0 -133
  164. package/dist/harness/result.d.ts.map +0 -1
  165. package/dist/harness/result.js +0 -81
  166. package/dist/harness/result.js.map +0 -1
  167. package/dist/harness/runtime/drive/boundary.d.ts +0 -28
  168. package/dist/harness/runtime/drive/boundary.d.ts.map +0 -1
  169. package/dist/harness/runtime/drive/boundary.js +0 -173
  170. package/dist/harness/runtime/drive/boundary.js.map +0 -1
  171. package/dist/harness/runtime/drive/checkpoint.d.ts +0 -8
  172. package/dist/harness/runtime/drive/checkpoint.d.ts.map +0 -1
  173. package/dist/harness/runtime/drive/checkpoint.js +0 -133
  174. package/dist/harness/runtime/drive/checkpoint.js.map +0 -1
  175. package/dist/harness/runtime/drive/deferred.d.ts +0 -15
  176. package/dist/harness/runtime/drive/deferred.d.ts.map +0 -1
  177. package/dist/harness/runtime/drive/deferred.js +0 -179
  178. package/dist/harness/runtime/drive/deferred.js.map +0 -1
  179. package/dist/harness/runtime/drive/generation.d.ts +0 -8
  180. package/dist/harness/runtime/drive/generation.d.ts.map +0 -1
  181. package/dist/harness/runtime/drive/generation.js +0 -205
  182. package/dist/harness/runtime/drive/generation.js.map +0 -1
  183. package/dist/harness/runtime/drive/reconcile.d.ts +0 -5
  184. package/dist/harness/runtime/drive/reconcile.d.ts.map +0 -1
  185. package/dist/harness/runtime/drive/reconcile.js +0 -140
  186. package/dist/harness/runtime/drive/reconcile.js.map +0 -1
  187. package/dist/harness/runtime/drive/recovery.d.ts +0 -8
  188. package/dist/harness/runtime/drive/recovery.d.ts.map +0 -1
  189. package/dist/harness/runtime/drive/recovery.js +0 -85
  190. package/dist/harness/runtime/drive/recovery.js.map +0 -1
  191. package/dist/harness/runtime/drive/response.d.ts +0 -23
  192. package/dist/harness/runtime/drive/response.d.ts.map +0 -1
  193. package/dist/harness/runtime/drive/response.js +0 -394
  194. package/dist/harness/runtime/drive/response.js.map +0 -1
  195. package/dist/harness/runtime/drive/retry.d.ts +0 -4
  196. package/dist/harness/runtime/drive/retry.d.ts.map +0 -1
  197. package/dist/harness/runtime/drive/retry.js +0 -34
  198. package/dist/harness/runtime/drive/retry.js.map +0 -1
  199. package/dist/harness/runtime/drive/structural.d.ts +0 -32
  200. package/dist/harness/runtime/drive/structural.d.ts.map +0 -1
  201. package/dist/harness/runtime/drive/structural.js +0 -929
  202. package/dist/harness/runtime/drive/structural.js.map +0 -1
  203. package/dist/harness/runtime/drive/terminal.d.ts +0 -7
  204. package/dist/harness/runtime/drive/terminal.d.ts.map +0 -1
  205. package/dist/harness/runtime/drive/terminal.js +0 -49
  206. package/dist/harness/runtime/drive/terminal.js.map +0 -1
  207. package/dist/harness/runtime/drive/tool-placement.d.ts +0 -14
  208. package/dist/harness/runtime/drive/tool-placement.d.ts.map +0 -1
  209. package/dist/harness/runtime/drive/tool-placement.js +0 -219
  210. package/dist/harness/runtime/drive/tool-placement.js.map +0 -1
  211. package/dist/harness/runtime/drive/tools.d.ts +0 -6
  212. package/dist/harness/runtime/drive/tools.d.ts.map +0 -1
  213. package/dist/harness/runtime/drive/tools.js +0 -449
  214. package/dist/harness/runtime/drive/tools.js.map +0 -1
  215. package/dist/harness/runtime/drive.d.ts +0 -6
  216. package/dist/harness/runtime/drive.d.ts.map +0 -1
  217. package/dist/harness/runtime/drive.js +0 -93
  218. package/dist/harness/runtime/drive.js.map +0 -1
  219. package/dist/harness/runtime/harness.d.ts +0 -59
  220. package/dist/harness/runtime/harness.d.ts.map +0 -1
  221. package/dist/harness/runtime/harness.js +0 -311
  222. package/dist/harness/runtime/harness.js.map +0 -1
  223. package/dist/harness/runtime/index.d.ts +0 -2
  224. package/dist/harness/runtime/index.d.ts.map +0 -1
  225. package/dist/harness/runtime/index.js +0 -2
  226. package/dist/harness/runtime/index.js.map +0 -1
  227. package/dist/harness/runtime/lane.d.ts +0 -118
  228. package/dist/harness/runtime/lane.d.ts.map +0 -1
  229. package/dist/harness/runtime/lane.js +0 -1575
  230. package/dist/harness/runtime/lane.js.map +0 -1
  231. package/dist/harness/runtime/progress.d.ts +0 -15
  232. package/dist/harness/runtime/progress.d.ts.map +0 -1
  233. package/dist/harness/runtime/progress.js +0 -66
  234. package/dist/harness/runtime/progress.js.map +0 -1
  235. package/dist/harness/runtime/reducer.d.ts +0 -5
  236. package/dist/harness/runtime/reducer.d.ts.map +0 -1
  237. package/dist/harness/runtime/reducer.js +0 -240
  238. package/dist/harness/runtime/reducer.js.map +0 -1
  239. package/dist/harness/runtime/restore.d.ts +0 -24
  240. package/dist/harness/runtime/restore.d.ts.map +0 -1
  241. package/dist/harness/runtime/restore.js +0 -117
  242. package/dist/harness/runtime/restore.js.map +0 -1
  243. package/dist/harness/runtime/transcript.d.ts +0 -21
  244. package/dist/harness/runtime/transcript.d.ts.map +0 -1
  245. package/dist/harness/runtime/transcript.js +0 -72
  246. package/dist/harness/runtime/transcript.js.map +0 -1
  247. package/dist/harness/runtime/types.d.ts +0 -105
  248. package/dist/harness/runtime/types.d.ts.map +0 -1
  249. package/dist/harness/runtime/types.js +0 -61
  250. package/dist/harness/runtime/types.js.map +0 -1
  251. package/dist/harness/session/commit.d.ts +0 -53
  252. package/dist/harness/session/commit.d.ts.map +0 -1
  253. package/dist/harness/session/commit.js +0 -57
  254. package/dist/harness/session/commit.js.map +0 -1
  255. package/dist/harness/session/context.d.ts +0 -10
  256. package/dist/harness/session/context.d.ts.map +0 -1
  257. package/dist/harness/session/context.js +0 -49
  258. package/dist/harness/session/context.js.map +0 -1
  259. package/dist/harness/session/fork-policy.d.ts +0 -21
  260. package/dist/harness/session/fork-policy.d.ts.map +0 -1
  261. package/dist/harness/session/fork-policy.js +0 -55
  262. package/dist/harness/session/fork-policy.js.map +0 -1
  263. package/dist/harness/session/fork.d.ts +0 -16
  264. package/dist/harness/session/fork.d.ts.map +0 -1
  265. package/dist/harness/session/fork.js +0 -79
  266. package/dist/harness/session/fork.js.map +0 -1
  267. package/dist/harness/session/in-memory-storage-state.d.ts +0 -39
  268. package/dist/harness/session/in-memory-storage-state.d.ts.map +0 -1
  269. package/dist/harness/session/in-memory-storage-state.js +0 -276
  270. package/dist/harness/session/in-memory-storage-state.js.map +0 -1
  271. package/dist/harness/session/index.d.ts +0 -11
  272. package/dist/harness/session/index.d.ts.map +0 -1
  273. package/dist/harness/session/index.js +0 -9
  274. package/dist/harness/session/index.js.map +0 -1
  275. package/dist/harness/session/jsonl/codec.d.ts +0 -21
  276. package/dist/harness/session/jsonl/codec.d.ts.map +0 -1
  277. package/dist/harness/session/jsonl/codec.js +0 -45
  278. package/dist/harness/session/jsonl/codec.js.map +0 -1
  279. package/dist/harness/session/jsonl/fork.d.ts +0 -38
  280. package/dist/harness/session/jsonl/fork.d.ts.map +0 -1
  281. package/dist/harness/session/jsonl/fork.js +0 -264
  282. package/dist/harness/session/jsonl/fork.js.map +0 -1
  283. package/dist/harness/session/jsonl/index.d.ts +0 -4
  284. package/dist/harness/session/jsonl/index.d.ts.map +0 -1
  285. package/dist/harness/session/jsonl/index.js +0 -4
  286. package/dist/harness/session/jsonl/index.js.map +0 -1
  287. package/dist/harness/session/jsonl/io.d.ts +0 -14
  288. package/dist/harness/session/jsonl/io.d.ts.map +0 -1
  289. package/dist/harness/session/jsonl/io.js +0 -86
  290. package/dist/harness/session/jsonl/io.js.map +0 -1
  291. package/dist/harness/session/jsonl/legacy-v3.d.ts +0 -44
  292. package/dist/harness/session/jsonl/legacy-v3.d.ts.map +0 -1
  293. package/dist/harness/session/jsonl/legacy-v3.js +0 -462
  294. package/dist/harness/session/jsonl/legacy-v3.js.map +0 -1
  295. package/dist/harness/session/jsonl/repo.d.ts +0 -35
  296. package/dist/harness/session/jsonl/repo.d.ts.map +0 -1
  297. package/dist/harness/session/jsonl/repo.js +0 -301
  298. package/dist/harness/session/jsonl/repo.js.map +0 -1
  299. package/dist/harness/session/jsonl/storage.d.ts +0 -41
  300. package/dist/harness/session/jsonl/storage.d.ts.map +0 -1
  301. package/dist/harness/session/jsonl/storage.js +0 -200
  302. package/dist/harness/session/jsonl/storage.js.map +0 -1
  303. package/dist/harness/session/jsonl/types.d.ts +0 -39
  304. package/dist/harness/session/jsonl/types.d.ts.map +0 -1
  305. package/dist/harness/session/jsonl/types.js +0 -3
  306. package/dist/harness/session/jsonl/types.js.map +0 -1
  307. package/dist/harness/session/memory.d.ts +0 -48
  308. package/dist/harness/session/memory.d.ts.map +0 -1
  309. package/dist/harness/session/memory.js +0 -369
  310. package/dist/harness/session/memory.js.map +0 -1
  311. package/dist/harness/session/mutation-line.d.ts +0 -8
  312. package/dist/harness/session/mutation-line.d.ts.map +0 -1
  313. package/dist/harness/session/mutation-line.js +0 -21
  314. package/dist/harness/session/mutation-line.js.map +0 -1
  315. package/dist/harness/session/session.d.ts +0 -82
  316. package/dist/harness/session/session.d.ts.map +0 -1
  317. package/dist/harness/session/session.js +0 -361
  318. package/dist/harness/session/session.js.map +0 -1
  319. package/dist/harness/session/testing/benchmark/datasets.d.ts +0 -12
  320. package/dist/harness/session/testing/benchmark/datasets.d.ts.map +0 -1
  321. package/dist/harness/session/testing/benchmark/datasets.js +0 -24
  322. package/dist/harness/session/testing/benchmark/datasets.js.map +0 -1
  323. package/dist/harness/session/testing/benchmark/session-repo.d.ts +0 -42
  324. package/dist/harness/session/testing/benchmark/session-repo.d.ts.map +0 -1
  325. package/dist/harness/session/testing/benchmark/session-repo.js +0 -127
  326. package/dist/harness/session/testing/benchmark/session-repo.js.map +0 -1
  327. package/dist/harness/session/testing/benchmark/storage.d.ts +0 -25
  328. package/dist/harness/session/testing/benchmark/storage.d.ts.map +0 -1
  329. package/dist/harness/session/testing/benchmark/storage.js +0 -114
  330. package/dist/harness/session/testing/benchmark/storage.js.map +0 -1
  331. package/dist/harness/session/testing/conformance/session-repo.d.ts +0 -23
  332. package/dist/harness/session/testing/conformance/session-repo.d.ts.map +0 -1
  333. package/dist/harness/session/testing/conformance/session-repo.js +0 -809
  334. package/dist/harness/session/testing/conformance/session-repo.js.map +0 -1
  335. package/dist/harness/session/testing/conformance/storage.d.ts +0 -4
  336. package/dist/harness/session/testing/conformance/storage.d.ts.map +0 -1
  337. package/dist/harness/session/testing/conformance/storage.js +0 -600
  338. package/dist/harness/session/testing/conformance/storage.js.map +0 -1
  339. package/dist/harness/session/testing/gating-storage.d.ts +0 -26
  340. package/dist/harness/session/testing/gating-storage.d.ts.map +0 -1
  341. package/dist/harness/session/testing/gating-storage.js +0 -100
  342. package/dist/harness/session/testing/gating-storage.js.map +0 -1
  343. package/dist/harness/session/testing/index.d.ts +0 -10
  344. package/dist/harness/session/testing/index.d.ts.map +0 -1
  345. package/dist/harness/session/testing/index.js +0 -9
  346. package/dist/harness/session/testing/index.js.map +0 -1
  347. package/dist/harness/session/testing/instrumented-storage.d.ts +0 -11
  348. package/dist/harness/session/testing/instrumented-storage.d.ts.map +0 -1
  349. package/dist/harness/session/testing/instrumented-storage.js +0 -16
  350. package/dist/harness/session/testing/instrumented-storage.js.map +0 -1
  351. package/dist/harness/session/testing/storage-decorator.d.ts +0 -20
  352. package/dist/harness/session/testing/storage-decorator.d.ts.map +0 -1
  353. package/dist/harness/session/testing/storage-decorator.js +0 -41
  354. package/dist/harness/session/testing/storage-decorator.js.map +0 -1
  355. package/dist/harness/session/testing/types.d.ts +0 -12
  356. package/dist/harness/session/testing/types.d.ts.map +0 -1
  357. package/dist/harness/session/testing/types.js +0 -2
  358. package/dist/harness/session/testing/types.js.map +0 -1
  359. package/dist/harness/session/types.d.ts +0 -512
  360. package/dist/harness/session/types.d.ts.map +0 -1
  361. package/dist/harness/session/types.js +0 -9
  362. package/dist/harness/session/types.js.map +0 -1
  363. package/dist/harness/session/values.d.ts +0 -95
  364. package/dist/harness/session/values.d.ts.map +0 -1
  365. package/dist/harness/session/values.js +0 -81
  366. package/dist/harness/session/values.js.map +0 -1
  367. package/dist/harness/skills.d.ts +0 -46
  368. package/dist/harness/skills.d.ts.map +0 -1
  369. package/dist/harness/skills.js +0 -326
  370. package/dist/harness/skills.js.map +0 -1
  371. package/dist/harness/system-prompt.d.ts +0 -3
  372. package/dist/harness/system-prompt.d.ts.map +0 -1
  373. package/dist/harness/system-prompt.js +0 -30
  374. package/dist/harness/system-prompt.js.map +0 -1
  375. package/dist/harness/telemetry.d.ts +0 -1242
  376. package/dist/harness/telemetry.d.ts.map +0 -1
  377. package/dist/harness/telemetry.js +0 -527
  378. package/dist/harness/telemetry.js.map +0 -1
  379. package/dist/harness/tools/bash.d.ts +0 -27
  380. package/dist/harness/tools/bash.d.ts.map +0 -1
  381. package/dist/harness/tools/bash.js +0 -105
  382. package/dist/harness/tools/bash.js.map +0 -1
  383. package/dist/harness/tools/edit-diff.d.ts +0 -89
  384. package/dist/harness/tools/edit-diff.d.ts.map +0 -1
  385. package/dist/harness/tools/edit-diff.js +0 -386
  386. package/dist/harness/tools/edit-diff.js.map +0 -1
  387. package/dist/harness/tools/edit.d.ts +0 -19
  388. package/dist/harness/tools/edit.d.ts.map +0 -1
  389. package/dist/harness/tools/edit.js +0 -108
  390. package/dist/harness/tools/edit.js.map +0 -1
  391. package/dist/harness/tools/file-mutation-queue.d.ts +0 -5
  392. package/dist/harness/tools/file-mutation-queue.d.ts.map +0 -1
  393. package/dist/harness/tools/file-mutation-queue.js +0 -46
  394. package/dist/harness/tools/file-mutation-queue.js.map +0 -1
  395. package/dist/harness/tools/image.d.ts +0 -3
  396. package/dist/harness/tools/image.d.ts.map +0 -1
  397. package/dist/harness/tools/image.js +0 -106
  398. package/dist/harness/tools/image.js.map +0 -1
  399. package/dist/harness/tools/index.d.ts +0 -6
  400. package/dist/harness/tools/index.d.ts.map +0 -1
  401. package/dist/harness/tools/index.js +0 -5
  402. package/dist/harness/tools/index.js.map +0 -1
  403. package/dist/harness/tools/path-utils.d.ts +0 -5
  404. package/dist/harness/tools/path-utils.d.ts.map +0 -1
  405. package/dist/harness/tools/path-utils.js +0 -26
  406. package/dist/harness/tools/path-utils.js.map +0 -1
  407. package/dist/harness/tools/read.d.ts +0 -35
  408. package/dist/harness/tools/read.d.ts.map +0 -1
  409. package/dist/harness/tools/read.js +0 -108
  410. package/dist/harness/tools/read.js.map +0 -1
  411. package/dist/harness/tools/tool-context.d.ts +0 -6
  412. package/dist/harness/tools/tool-context.d.ts.map +0 -1
  413. package/dist/harness/tools/tool-context.js +0 -2
  414. package/dist/harness/tools/tool-context.js.map +0 -1
  415. package/dist/harness/tools/write.d.ts +0 -11
  416. package/dist/harness/tools/write.d.ts.map +0 -1
  417. package/dist/harness/tools/write.js +0 -31
  418. package/dist/harness/tools/write.js.map +0 -1
  419. package/dist/harness/types.d.ts +0 -305
  420. package/dist/harness/types.d.ts.map +0 -1
  421. package/dist/harness/types.js +0 -75
  422. package/dist/harness/types.js.map +0 -1
  423. package/dist/harness/utils/adaptive-publisher.d.ts +0 -24
  424. package/dist/harness/utils/adaptive-publisher.d.ts.map +0 -1
  425. package/dist/harness/utils/adaptive-publisher.js +0 -79
  426. package/dist/harness/utils/adaptive-publisher.js.map +0 -1
  427. package/dist/harness/utils/output-capture.d.ts +0 -31
  428. package/dist/harness/utils/output-capture.d.ts.map +0 -1
  429. package/dist/harness/utils/output-capture.js +0 -217
  430. package/dist/harness/utils/output-capture.js.map +0 -1
  431. package/dist/harness/utils/shell-output.d.ts +0 -29
  432. package/dist/harness/utils/shell-output.d.ts.map +0 -1
  433. package/dist/harness/utils/shell-output.js +0 -71
  434. package/dist/harness/utils/shell-output.js.map +0 -1
  435. package/dist/harness/utils/truncate.d.ts +0 -71
  436. package/dist/harness/utils/truncate.d.ts.map +0 -1
  437. package/dist/harness/utils/truncate.js +0 -296
  438. package/dist/harness/utils/truncate.js.map +0 -1
  439. package/dist/harness/utils/usage.d.ts +0 -4
  440. package/dist/harness/utils/usage.d.ts.map +0 -1
  441. package/dist/harness/utils/usage.js +0 -33
  442. package/dist/harness/utils/usage.js.map +0 -1
  443. package/dist/node.d.ts +0 -3
  444. package/dist/node.d.ts.map +0 -1
  445. package/dist/node.js +0 -3
  446. package/dist/node.js.map +0 -1
  447. package/dist/search/index.d.ts +0 -29
  448. package/dist/search/index.d.ts.map +0 -1
  449. package/dist/search/index.js +0 -2
  450. package/dist/search/index.js.map +0 -1
@@ -1,25 +0,0 @@
1
- import { type Message } from "@earendil-works/pi-ai";
2
- import type { AgentMessage } from "../../types.ts";
3
- /** File paths touched by a session branch or compaction range. */
4
- export interface FileOperations {
5
- /** Files read but not necessarily modified. */
6
- read: Set<string>;
7
- /** Files written by full-file write operations. */
8
- written: Set<string>;
9
- /** Files modified by edit operations. */
10
- edited: Set<string>;
11
- }
12
- /** Create an empty file-operation accumulator. */
13
- export declare function createFileOps(): FileOperations;
14
- /** Add file operations from assistant tool calls to an accumulator. */
15
- export declare function extractFileOpsFromMessage(message: AgentMessage, fileOps: FileOperations): void;
16
- /** Compute sorted read-only and modified file lists from accumulated operations. */
17
- export declare function computeFileLists(fileOps: FileOperations): {
18
- readFiles: string[];
19
- modifiedFiles: string[];
20
- };
21
- /** Format file lists as summary metadata tags. */
22
- export declare function formatFileOperations(readFiles: string[], modifiedFiles: string[]): string;
23
- /** Serialize LLM messages to plain text for summarization prompts. */
24
- export declare function serializeConversation(messages: Message[]): string;
25
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/harness/compaction/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,mDAAmD;IACnD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,yCAAyC;IACzC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,kDAAkD;AAClD,wBAAgB,aAAa,IAAI,cAAc,CAM9C;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CA2B9F;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAK1G;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAUzF;AAkBD,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAyCjE"}
@@ -1,120 +0,0 @@
1
- import { contentText } from "@earendil-works/pi-ai";
2
- /** Create an empty file-operation accumulator. */
3
- export function createFileOps() {
4
- return {
5
- read: new Set(),
6
- written: new Set(),
7
- edited: new Set(),
8
- };
9
- }
10
- /** Add file operations from assistant tool calls to an accumulator. */
11
- export function extractFileOpsFromMessage(message, fileOps) {
12
- if (message.role !== "assistant")
13
- return;
14
- if (!("content" in message) || !Array.isArray(message.content))
15
- return;
16
- for (const block of message.content) {
17
- if (typeof block !== "object" || block === null)
18
- continue;
19
- if (!("type" in block) || block.type !== "toolCall")
20
- continue;
21
- if (!("arguments" in block) || !("name" in block))
22
- continue;
23
- const args = block.arguments;
24
- if (!args)
25
- continue;
26
- const path = typeof args.path === "string" ? args.path : undefined;
27
- if (!path)
28
- continue;
29
- switch (block.name) {
30
- case "read":
31
- fileOps.read.add(path);
32
- break;
33
- case "write":
34
- fileOps.written.add(path);
35
- break;
36
- case "edit":
37
- fileOps.edited.add(path);
38
- break;
39
- }
40
- }
41
- }
42
- /** Compute sorted read-only and modified file lists from accumulated operations. */
43
- export function computeFileLists(fileOps) {
44
- const modified = new Set([...fileOps.edited, ...fileOps.written]);
45
- const readOnly = [...fileOps.read].filter((f) => !modified.has(f)).sort();
46
- const modifiedFiles = [...modified].sort();
47
- return { readFiles: readOnly, modifiedFiles };
48
- }
49
- /** Format file lists as summary metadata tags. */
50
- export function formatFileOperations(readFiles, modifiedFiles) {
51
- const sections = [];
52
- if (readFiles.length > 0) {
53
- sections.push(`<read-files>\n${readFiles.join("\n")}\n</read-files>`);
54
- }
55
- if (modifiedFiles.length > 0) {
56
- sections.push(`<modified-files>\n${modifiedFiles.join("\n")}\n</modified-files>`);
57
- }
58
- if (sections.length === 0)
59
- return "";
60
- return `\n\n${sections.join("\n\n")}`;
61
- }
62
- const TOOL_RESULT_MAX_CHARS = 2000;
63
- function safeJsonStringify(value) {
64
- try {
65
- return JSON.stringify(value) ?? "undefined";
66
- }
67
- catch {
68
- return "[unserializable]";
69
- }
70
- }
71
- function truncateForSummary(text, maxChars) {
72
- if (text.length <= maxChars)
73
- return text;
74
- const truncatedChars = text.length - maxChars;
75
- return `${text.slice(0, maxChars)}\n\n[... ${truncatedChars} more characters truncated]`;
76
- }
77
- /** Serialize LLM messages to plain text for summarization prompts. */
78
- export function serializeConversation(messages) {
79
- const parts = [];
80
- for (const msg of messages) {
81
- if (msg.role === "user") {
82
- const content = contentText(msg.content, "");
83
- if (content)
84
- parts.push(`[User]: ${content}`);
85
- }
86
- else if (msg.role === "assistant") {
87
- const thinkingParts = [];
88
- const toolCalls = [];
89
- for (const block of msg.content) {
90
- if (block.type === "thinking") {
91
- thinkingParts.push(block.thinking);
92
- }
93
- else if (block.type === "toolCall") {
94
- const args = block.arguments;
95
- const argsStr = Object.entries(args)
96
- .map(([k, v]) => `${k}=${safeJsonStringify(v)}`)
97
- .join(", ");
98
- toolCalls.push(`${block.name}(${argsStr})`);
99
- }
100
- }
101
- if (thinkingParts.length > 0) {
102
- parts.push(`[Assistant thinking]: ${thinkingParts.join("\n")}`);
103
- }
104
- if (msg.content.some((block) => block.type === "text")) {
105
- parts.push(`[Assistant]: ${contentText(msg.content)}`);
106
- }
107
- if (toolCalls.length > 0) {
108
- parts.push(`[Assistant tool calls]: ${toolCalls.join("; ")}`);
109
- }
110
- }
111
- else if (msg.role === "toolResult") {
112
- const content = contentText(msg.content, "");
113
- if (content) {
114
- parts.push(`[Tool result]: ${truncateForSummary(content, TOOL_RESULT_MAX_CHARS)}`);
115
- }
116
- }
117
- }
118
- return parts.join("\n\n");
119
- }
120
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/harness/compaction/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { contentText, type Message } from \"@earendil-works/pi-ai\";\nimport type { AgentMessage } from \"../../types.ts\";\n\n/** File paths touched by a session branch or compaction range. */\nexport interface FileOperations {\n\t/** Files read but not necessarily modified. */\n\tread: Set<string>;\n\t/** Files written by full-file write operations. */\n\twritten: Set<string>;\n\t/** Files modified by edit operations. */\n\tedited: Set<string>;\n}\n\n/** Create an empty file-operation accumulator. */\nexport function createFileOps(): FileOperations {\n\treturn {\n\t\tread: new Set(),\n\t\twritten: new Set(),\n\t\tedited: new Set(),\n\t};\n}\n\n/** Add file operations from assistant tool calls to an accumulator. */\nexport function extractFileOpsFromMessage(message: AgentMessage, fileOps: FileOperations): void {\n\tif (message.role !== \"assistant\") return;\n\tif (!(\"content\" in message) || !Array.isArray(message.content)) return;\n\n\tfor (const block of message.content) {\n\t\tif (typeof block !== \"object\" || block === null) continue;\n\t\tif (!(\"type\" in block) || block.type !== \"toolCall\") continue;\n\t\tif (!(\"arguments\" in block) || !(\"name\" in block)) continue;\n\n\t\tconst args = block.arguments as Record<string, unknown> | undefined;\n\t\tif (!args) continue;\n\n\t\tconst path = typeof args.path === \"string\" ? args.path : undefined;\n\t\tif (!path) continue;\n\n\t\tswitch (block.name) {\n\t\t\tcase \"read\":\n\t\t\t\tfileOps.read.add(path);\n\t\t\t\tbreak;\n\t\t\tcase \"write\":\n\t\t\t\tfileOps.written.add(path);\n\t\t\t\tbreak;\n\t\t\tcase \"edit\":\n\t\t\t\tfileOps.edited.add(path);\n\t\t\t\tbreak;\n\t\t}\n\t}\n}\n\n/** Compute sorted read-only and modified file lists from accumulated operations. */\nexport function computeFileLists(fileOps: FileOperations): { readFiles: string[]; modifiedFiles: string[] } {\n\tconst modified = new Set([...fileOps.edited, ...fileOps.written]);\n\tconst readOnly = [...fileOps.read].filter((f) => !modified.has(f)).sort();\n\tconst modifiedFiles = [...modified].sort();\n\treturn { readFiles: readOnly, modifiedFiles };\n}\n\n/** Format file lists as summary metadata tags. */\nexport function formatFileOperations(readFiles: string[], modifiedFiles: string[]): string {\n\tconst sections: string[] = [];\n\tif (readFiles.length > 0) {\n\t\tsections.push(`<read-files>\\n${readFiles.join(\"\\n\")}\\n</read-files>`);\n\t}\n\tif (modifiedFiles.length > 0) {\n\t\tsections.push(`<modified-files>\\n${modifiedFiles.join(\"\\n\")}\\n</modified-files>`);\n\t}\n\tif (sections.length === 0) return \"\";\n\treturn `\\n\\n${sections.join(\"\\n\\n\")}`;\n}\n\nconst TOOL_RESULT_MAX_CHARS = 2000;\n\nfunction safeJsonStringify(value: unknown): string {\n\ttry {\n\t\treturn JSON.stringify(value) ?? \"undefined\";\n\t} catch {\n\t\treturn \"[unserializable]\";\n\t}\n}\n\nfunction truncateForSummary(text: string, maxChars: number): string {\n\tif (text.length <= maxChars) return text;\n\tconst truncatedChars = text.length - maxChars;\n\treturn `${text.slice(0, maxChars)}\\n\\n[... ${truncatedChars} more characters truncated]`;\n}\n\n/** Serialize LLM messages to plain text for summarization prompts. */\nexport function serializeConversation(messages: Message[]): string {\n\tconst parts: string[] = [];\n\n\tfor (const msg of messages) {\n\t\tif (msg.role === \"user\") {\n\t\t\tconst content = contentText(msg.content, \"\");\n\t\t\tif (content) parts.push(`[User]: ${content}`);\n\t\t} else if (msg.role === \"assistant\") {\n\t\t\tconst thinkingParts: string[] = [];\n\t\t\tconst toolCalls: string[] = [];\n\n\t\t\tfor (const block of msg.content) {\n\t\t\t\tif (block.type === \"thinking\") {\n\t\t\t\t\tthinkingParts.push(block.thinking);\n\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\tconst args = block.arguments as Record<string, unknown>;\n\t\t\t\t\tconst argsStr = Object.entries(args)\n\t\t\t\t\t\t.map(([k, v]) => `${k}=${safeJsonStringify(v)}`)\n\t\t\t\t\t\t.join(\", \");\n\t\t\t\t\ttoolCalls.push(`${block.name}(${argsStr})`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (thinkingParts.length > 0) {\n\t\t\t\tparts.push(`[Assistant thinking]: ${thinkingParts.join(\"\\n\")}`);\n\t\t\t}\n\t\t\tif (msg.content.some((block) => block.type === \"text\")) {\n\t\t\t\tparts.push(`[Assistant]: ${contentText(msg.content)}`);\n\t\t\t}\n\t\t\tif (toolCalls.length > 0) {\n\t\t\t\tparts.push(`[Assistant tool calls]: ${toolCalls.join(\"; \")}`);\n\t\t\t}\n\t\t} else if (msg.role === \"toolResult\") {\n\t\t\tconst content = contentText(msg.content, \"\");\n\t\t\tif (content) {\n\t\t\t\tparts.push(`[Tool result]: ${truncateForSummary(content, TOOL_RESULT_MAX_CHARS)}`);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn parts.join(\"\\n\\n\");\n}\n"]}
@@ -1,9 +0,0 @@
1
- import { type RetryPolicy } from "@earendil-works/pi-ai";
2
- import type { CompactionSettings } from "./compaction/compaction.ts";
3
- export declare const DEFAULT_RETRY_POLICY: RetryPolicy;
4
- export declare function validateToolNames(tools: readonly {
5
- name: string;
6
- }[]): void;
7
- export declare function validateRetryPolicy(policy: RetryPolicy): void;
8
- export declare function validateCompactionSettings(settings: CompactionSettings): void;
9
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/harness/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,CAM1E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAY7D;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAS7E"}
@@ -1,35 +0,0 @@
1
- import { DEFAULT_MAX_AGENT_RETRY_DELAY_MS } from "@earendil-works/pi-ai";
2
- export const DEFAULT_RETRY_POLICY = {
3
- enabled: true,
4
- maxRetries: 3,
5
- baseDelayMs: 1_000,
6
- maxAgentDelayMs: DEFAULT_MAX_AGENT_RETRY_DELAY_MS,
7
- };
8
- export function validateToolNames(tools) {
9
- const names = new Set();
10
- for (const tool of tools) {
11
- if (names.has(tool.name))
12
- throw new TypeError(`Duplicate tool name: ${JSON.stringify(tool.name)}`);
13
- names.add(tool.name);
14
- }
15
- }
16
- export function validateRetryPolicy(policy) {
17
- if (!Number.isSafeInteger(policy.maxRetries) ||
18
- policy.maxRetries < 0 ||
19
- policy.maxRetries === Number.MAX_SAFE_INTEGER ||
20
- !Number.isSafeInteger(policy.baseDelayMs) ||
21
- policy.baseDelayMs < 0 ||
22
- (policy.maxAgentDelayMs !== undefined &&
23
- (!Number.isSafeInteger(policy.maxAgentDelayMs) || policy.maxAgentDelayMs < 0))) {
24
- throw new RangeError("Retry policy values must be finite non-negative safe integers");
25
- }
26
- }
27
- export function validateCompactionSettings(settings) {
28
- if (!Number.isSafeInteger(settings.reserveTokens) ||
29
- settings.reserveTokens < 0 ||
30
- !Number.isSafeInteger(settings.keepRecentTokens) ||
31
- settings.keepRecentTokens < 0) {
32
- throw new RangeError("Compaction token counts must be finite non-negative safe integers");
33
- }
34
- }
35
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/harness/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAoB,MAAM,uBAAuB,CAAC;AAG3F,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAChD,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,gCAAgC;CACjD,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,KAAkC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACtD,IACC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,CAAC,UAAU,GAAG,CAAC;QACrB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,gBAAgB;QAC7C,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QACzC,MAAM,CAAC,WAAW,GAAG,CAAC;QACtB,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;YACpC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAC9E,CAAC;QACF,MAAM,IAAI,UAAU,CAAC,+DAA+D,CAAC,CAAC;IACvF,CAAC;AACF,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAA4B;IACtE,IACC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7C,QAAQ,CAAC,aAAa,GAAG,CAAC;QAC1B,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,QAAQ,CAAC,gBAAgB,GAAG,CAAC,EAC5B,CAAC;QACF,MAAM,IAAI,UAAU,CAAC,mEAAmE,CAAC,CAAC;IAC3F,CAAC;AACF,CAAC","sourcesContent":["import { DEFAULT_MAX_AGENT_RETRY_DELAY_MS, type RetryPolicy } from \"@earendil-works/pi-ai\";\nimport type { CompactionSettings } from \"./compaction/compaction.ts\";\n\nexport const DEFAULT_RETRY_POLICY: RetryPolicy = {\n\tenabled: true,\n\tmaxRetries: 3,\n\tbaseDelayMs: 1_000,\n\tmaxAgentDelayMs: DEFAULT_MAX_AGENT_RETRY_DELAY_MS,\n};\n\nexport function validateToolNames(tools: readonly { name: string }[]): void {\n\tconst names = new Set<string>();\n\tfor (const tool of tools) {\n\t\tif (names.has(tool.name)) throw new TypeError(`Duplicate tool name: ${JSON.stringify(tool.name)}`);\n\t\tnames.add(tool.name);\n\t}\n}\n\nexport function validateRetryPolicy(policy: RetryPolicy): void {\n\tif (\n\t\t!Number.isSafeInteger(policy.maxRetries) ||\n\t\tpolicy.maxRetries < 0 ||\n\t\tpolicy.maxRetries === Number.MAX_SAFE_INTEGER ||\n\t\t!Number.isSafeInteger(policy.baseDelayMs) ||\n\t\tpolicy.baseDelayMs < 0 ||\n\t\t(policy.maxAgentDelayMs !== undefined &&\n\t\t\t(!Number.isSafeInteger(policy.maxAgentDelayMs) || policy.maxAgentDelayMs < 0))\n\t) {\n\t\tthrow new RangeError(\"Retry policy values must be finite non-negative safe integers\");\n\t}\n}\n\nexport function validateCompactionSettings(settings: CompactionSettings): void {\n\tif (\n\t\t!Number.isSafeInteger(settings.reserveTokens) ||\n\t\tsettings.reserveTokens < 0 ||\n\t\t!Number.isSafeInteger(settings.keepRecentTokens) ||\n\t\tsettings.keepRecentTokens < 0\n\t) {\n\t\tthrow new RangeError(\"Compaction token counts must be finite non-negative safe integers\");\n\t}\n}\n"]}
@@ -1,9 +0,0 @@
1
- import type { Context, ContextKey } from "@earendil-works/chord";
2
- import { awaitWithContext, BACKGROUND_CONTEXT, createContextKey, TODO_CONTEXT, withAbortSignal, withCancel, withContextValue, withoutAbortSignal } from "@earendil-works/chord/context";
3
- import { type TelemetryContext } from "@earendil-works/pi-telemetry";
4
- export { awaitWithContext, BACKGROUND_CONTEXT, type Context, type ContextKey, createContextKey, TODO_CONTEXT, withAbortSignal, withCancel, withContextValue, withoutAbortSignal, };
5
- /** Return the telemetry parent attached to a context, or the shared no-op parent. */
6
- export declare function getTelemetryContext(context: Context): TelemetryContext;
7
- /** Derive a context whose telemetry children use the supplied parent or active span. */
8
- export declare function withTelemetryContext(telemetryContext: TelemetryContext, context: Context): Context;
9
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/harness/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE7F,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GAClB,CAAC;AAIF,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAEtE;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAElG"}
@@ -1,13 +0,0 @@
1
- import { awaitWithContext, BACKGROUND_CONTEXT, createContextKey, TODO_CONTEXT, withAbortSignal, withCancel, withContextValue, withoutAbortSignal, } from "@earendil-works/chord/context";
2
- import { NOOP_TELEMETRY_CONTEXT } from "@earendil-works/pi-telemetry";
3
- export { awaitWithContext, BACKGROUND_CONTEXT, createContextKey, TODO_CONTEXT, withAbortSignal, withCancel, withContextValue, withoutAbortSignal, };
4
- const TELEMETRY_CONTEXT_KEY = createContextKey("pi.telemetryContext");
5
- /** Return the telemetry parent attached to a context, or the shared no-op parent. */
6
- export function getTelemetryContext(context) {
7
- return context.value(TELEMETRY_CONTEXT_KEY) ?? NOOP_TELEMETRY_CONTEXT;
8
- }
9
- /** Derive a context whose telemetry children use the supplied parent or active span. */
10
- export function withTelemetryContext(telemetryContext, context) {
11
- return withContextValue(TELEMETRY_CONTEXT_KEY, telemetryContext, context);
12
- }
13
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/harness/context.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAyB,MAAM,8BAA8B,CAAC;AAE7F,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAGlB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GAClB,CAAC;AAEF,MAAM,qBAAqB,GAAG,gBAAgB,CAAmB,qBAAqB,CAAC,CAAC;AAExF,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IACnD,OAAO,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,sBAAsB,CAAC;AACvE,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAAC,gBAAkC,EAAE,OAAgB;IACxF,OAAO,gBAAgB,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC","sourcesContent":["import type { Context, ContextKey } from \"@earendil-works/chord\";\nimport {\n\tawaitWithContext,\n\tBACKGROUND_CONTEXT,\n\tcreateContextKey,\n\tTODO_CONTEXT,\n\twithAbortSignal,\n\twithCancel,\n\twithContextValue,\n\twithoutAbortSignal,\n} from \"@earendil-works/chord/context\";\nimport { NOOP_TELEMETRY_CONTEXT, type TelemetryContext } from \"@earendil-works/pi-telemetry\";\n\nexport {\n\tawaitWithContext,\n\tBACKGROUND_CONTEXT,\n\ttype Context,\n\ttype ContextKey,\n\tcreateContextKey,\n\tTODO_CONTEXT,\n\twithAbortSignal,\n\twithCancel,\n\twithContextValue,\n\twithoutAbortSignal,\n};\n\nconst TELEMETRY_CONTEXT_KEY = createContextKey<TelemetryContext>(\"pi.telemetryContext\");\n\n/** Return the telemetry parent attached to a context, or the shared no-op parent. */\nexport function getTelemetryContext(context: Context): TelemetryContext {\n\treturn context.value(TELEMETRY_CONTEXT_KEY) ?? NOOP_TELEMETRY_CONTEXT;\n}\n\n/** Derive a context whose telemetry children use the supplied parent or active span. */\nexport function withTelemetryContext(telemetryContext: TelemetryContext, context: Context): Context {\n\treturn withContextValue(TELEMETRY_CONTEXT_KEY, telemetryContext, context);\n}\n"]}
@@ -1,43 +0,0 @@
1
- import type { Context } from "../context.ts";
2
- import { type ExecutionEnv, ExecutionError, FileError, type FileInfo, type Result, type ShellExecOptions, type ShellExecResult, type TextLineReader } from "../types.ts";
3
- export declare class NodeExecutionEnv implements ExecutionEnv {
4
- cwd: string;
5
- private shellPath?;
6
- private shellEnv?;
7
- private activeChildPids;
8
- constructor(options: {
9
- cwd: string;
10
- shellPath?: string;
11
- shellEnv?: NodeJS.ProcessEnv;
12
- });
13
- absolutePath(path: string, _context: Context): Promise<Result<string, FileError>>;
14
- joinPath(parts: string[], _context: Context): Promise<Result<string, FileError>>;
15
- exec(command: string, options: ShellExecOptions | undefined, context: Context): Promise<Result<ShellExecResult, ExecutionError>>;
16
- openTextLineReader(path: string, context: Context): Promise<Result<TextLineReader, FileError>>;
17
- readTextFile(path: string, context: Context): Promise<Result<string, FileError>>;
18
- readTextLines(path: string, options: {
19
- maxLines?: number;
20
- } | undefined, context: Context): Promise<Result<string[], FileError>>;
21
- readBinaryFile(path: string, context: Context): Promise<Result<Uint8Array, FileError>>;
22
- writeFile(path: string, content: string | Uint8Array, context: Context): Promise<Result<void, FileError>>;
23
- appendFile(path: string, content: string | Uint8Array, context: Context): Promise<Result<void, FileError>>;
24
- renameFile(sourcePath: string, destinationPath: string, context: Context): Promise<Result<void, FileError>>;
25
- fileInfo(path: string, context: Context): Promise<Result<FileInfo, FileError>>;
26
- listDir(path: string, context: Context): Promise<Result<FileInfo[], FileError>>;
27
- canonicalPath(path: string, context: Context): Promise<Result<string, FileError>>;
28
- exists(path: string, context: Context): Promise<Result<boolean, FileError>>;
29
- createDir(path: string, options: {
30
- recursive?: boolean;
31
- } | undefined, context: Context): Promise<Result<void, FileError>>;
32
- remove(path: string, options: {
33
- recursive?: boolean;
34
- force?: boolean;
35
- } | undefined, context: Context): Promise<Result<void, FileError>>;
36
- createTempDir(prefix: string | undefined, context: Context): Promise<Result<string, FileError>>;
37
- createTempFile(options: {
38
- prefix?: string;
39
- suffix?: string;
40
- } | undefined, context: Context): Promise<Result<string, FileError>>;
41
- cleanup(_context: Context): Promise<void>;
42
- }
43
- //# sourceMappingURL=nodejs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodejs.d.ts","sourceRoot":"","sources":["../../../src/harness/env/nodejs.ts"],"names":[],"mappings":"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"}