kiokuko-dsh 0.2.39 → 0.2.41

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 (540) hide show
  1. package/PERMISSIONS.md +2 -2
  2. package/README.ja.md +17 -5
  3. package/README.ko.md +17 -5
  4. package/README.md +17 -5
  5. package/README.zh-CN.md +17 -5
  6. package/dist/akinator/skill-discovery-attempt.d.ts +3 -1
  7. package/dist/akinator/skill-discovery-attempt.d.ts.map +1 -1
  8. package/dist/akinator/skill-discovery-attempt.js +12 -11
  9. package/dist/akinator/skill-discovery-attempt.js.map +1 -1
  10. package/dist/client.cjs +7 -10
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/context/continuity-view.d.ts +0 -11
  13. package/dist/context/continuity-view.d.ts.map +1 -1
  14. package/dist/context/continuity-view.js +5 -9
  15. package/dist/context/continuity-view.js.map +1 -1
  16. package/dist/deep-thinker/controller.d.ts +4 -1
  17. package/dist/deep-thinker/controller.d.ts.map +1 -1
  18. package/dist/deep-thinker/controller.js +10 -0
  19. package/dist/deep-thinker/controller.js.map +1 -1
  20. package/dist/deep-thinker/core/contracts.d.ts +11 -11
  21. package/dist/deep-thinker/memory-finalizer.d.ts +1 -1
  22. package/dist/deep-thinker/native-executor.d.ts +1 -1
  23. package/dist/deep-thinker/native-executor.d.ts.map +1 -1
  24. package/dist/deep-thinker/prompts.js +1 -1
  25. package/dist/deep-thinker/prompts.js.map +1 -1
  26. package/dist/deep-thinker/quality-prompts.js +1 -1
  27. package/dist/deep-thinker/quality-prompts.js.map +1 -1
  28. package/dist/deep-thinker/report.d.ts +1 -1
  29. package/dist/deep-thinker/store.d.ts +1 -1
  30. package/dist/dsh/agenticreplay-hooks.d.ts.map +1 -1
  31. package/dist/dsh/agenticreplay-hooks.js +13 -0
  32. package/dist/dsh/agenticreplay-hooks.js.map +1 -1
  33. package/dist/dsh/agenticreplay-recorder.d.ts +5 -0
  34. package/dist/dsh/agenticreplay-recorder.d.ts.map +1 -1
  35. package/dist/dsh/agenticreplay-recorder.js +19 -0
  36. package/dist/dsh/agenticreplay-recorder.js.map +1 -1
  37. package/dist/dsh/coding-workflow/contracts.d.ts +2 -5
  38. package/dist/dsh/coding-workflow/contracts.d.ts.map +1 -1
  39. package/dist/dsh/coding-workflow/contracts.js +1 -1
  40. package/dist/dsh/coding-workflow/contracts.js.map +1 -1
  41. package/dist/dsh/coding-workflow/host.d.ts.map +1 -1
  42. package/dist/dsh/coding-workflow/host.js +1 -4
  43. package/dist/dsh/coding-workflow/host.js.map +1 -1
  44. package/dist/dsh/coding-workflow/intent.d.ts.map +1 -1
  45. package/dist/dsh/coding-workflow/intent.js +0 -6
  46. package/dist/dsh/coding-workflow/intent.js.map +1 -1
  47. package/dist/dsh/coding-workflow/service.d.ts +4 -8
  48. package/dist/dsh/coding-workflow/service.d.ts.map +1 -1
  49. package/dist/dsh/coding-workflow/service.js +5 -57
  50. package/dist/dsh/coding-workflow/service.js.map +1 -1
  51. package/dist/dsh/completion-report.d.ts +0 -31
  52. package/dist/dsh/completion-report.d.ts.map +1 -1
  53. package/dist/dsh/completion-report.js +16 -94
  54. package/dist/dsh/completion-report.js.map +1 -1
  55. package/dist/dsh/composition.d.ts +1 -3
  56. package/dist/dsh/composition.d.ts.map +1 -1
  57. package/dist/dsh/composition.js +13 -34
  58. package/dist/dsh/composition.js.map +1 -1
  59. package/dist/dsh/config.d.ts +1 -22
  60. package/dist/dsh/config.d.ts.map +1 -1
  61. package/dist/dsh/config.js +0 -8
  62. package/dist/dsh/config.js.map +1 -1
  63. package/dist/dsh/context-injection.d.ts +1 -11
  64. package/dist/dsh/context-injection.d.ts.map +1 -1
  65. package/dist/dsh/context-injection.js +3 -24
  66. package/dist/dsh/context-injection.js.map +1 -1
  67. package/dist/dsh/continuity-adapter.d.ts +0 -5
  68. package/dist/dsh/continuity-adapter.d.ts.map +1 -1
  69. package/dist/dsh/continuity-adapter.js +1 -39
  70. package/dist/dsh/continuity-adapter.js.map +1 -1
  71. package/dist/dsh/decisions/contracts.d.ts +0 -1
  72. package/dist/dsh/decisions/contracts.d.ts.map +1 -1
  73. package/dist/dsh/decisions/contracts.js +1 -1
  74. package/dist/dsh/decisions/contracts.js.map +1 -1
  75. package/dist/dsh/decisions/diagnostics.d.ts +8 -11
  76. package/dist/dsh/decisions/diagnostics.d.ts.map +1 -1
  77. package/dist/dsh/decisions/diagnostics.js +1 -9
  78. package/dist/dsh/decisions/diagnostics.js.map +1 -1
  79. package/dist/dsh/decisions/intent-assessment.d.ts +2 -5
  80. package/dist/dsh/decisions/intent-assessment.d.ts.map +1 -1
  81. package/dist/dsh/decisions/intent-assessment.js +17 -9
  82. package/dist/dsh/decisions/intent-assessment.js.map +1 -1
  83. package/dist/dsh/efficiency.d.ts +0 -3
  84. package/dist/dsh/efficiency.d.ts.map +1 -1
  85. package/dist/dsh/efficiency.js +1 -9
  86. package/dist/dsh/efficiency.js.map +1 -1
  87. package/dist/dsh/execution-selection.d.ts +6 -7
  88. package/dist/dsh/execution-selection.d.ts.map +1 -1
  89. package/dist/dsh/execution-selection.js +10 -15
  90. package/dist/dsh/execution-selection.js.map +1 -1
  91. package/dist/dsh/execution-support.d.ts +0 -4
  92. package/dist/dsh/execution-support.d.ts.map +1 -1
  93. package/dist/dsh/execution-support.js +3 -15
  94. package/dist/dsh/execution-support.js.map +1 -1
  95. package/dist/dsh/harness/factory.d.ts +109 -0
  96. package/dist/dsh/harness/factory.d.ts.map +1 -0
  97. package/dist/dsh/harness/factory.js +566 -0
  98. package/dist/dsh/harness/factory.js.map +1 -0
  99. package/dist/dsh/harness/inbox.d.ts +22 -0
  100. package/dist/dsh/harness/inbox.d.ts.map +1 -0
  101. package/dist/dsh/harness/inbox.js +61 -0
  102. package/dist/dsh/harness/inbox.js.map +1 -0
  103. package/dist/dsh/harness/index.d.ts +19 -0
  104. package/dist/dsh/harness/index.d.ts.map +1 -0
  105. package/dist/dsh/harness/index.js +26 -0
  106. package/dist/dsh/harness/index.js.map +1 -0
  107. package/dist/dsh/harness/lifecycle.d.ts +26 -0
  108. package/dist/dsh/harness/lifecycle.d.ts.map +1 -0
  109. package/dist/dsh/harness/lifecycle.js +21 -0
  110. package/dist/dsh/harness/lifecycle.js.map +1 -0
  111. package/dist/dsh/harness/projections.d.ts +16 -0
  112. package/dist/dsh/harness/projections.d.ts.map +1 -0
  113. package/dist/dsh/harness/projections.js +34 -0
  114. package/dist/dsh/harness/projections.js.map +1 -0
  115. package/dist/dsh/head-worker-configuration.d.ts +1 -2
  116. package/dist/dsh/head-worker-configuration.d.ts.map +1 -1
  117. package/dist/dsh/head-worker-configuration.js +0 -5
  118. package/dist/dsh/head-worker-configuration.js.map +1 -1
  119. package/dist/dsh/host-adapter/admission.d.ts +1 -8
  120. package/dist/dsh/host-adapter/admission.d.ts.map +1 -1
  121. package/dist/dsh/host-adapter/admission.js +51 -260
  122. package/dist/dsh/host-adapter/admission.js.map +1 -1
  123. package/dist/dsh/host-adapter/boundaries.d.ts +1 -28
  124. package/dist/dsh/host-adapter/boundaries.d.ts.map +1 -1
  125. package/dist/dsh/host-adapter/boundaries.js +27 -328
  126. package/dist/dsh/host-adapter/boundaries.js.map +1 -1
  127. package/dist/dsh/host-adapter/context.d.ts +1 -7
  128. package/dist/dsh/host-adapter/context.d.ts.map +1 -1
  129. package/dist/dsh/host-adapter/context.js +5 -28
  130. package/dist/dsh/host-adapter/context.js.map +1 -1
  131. package/dist/dsh/host-adapter/efficiency-host.d.ts +0 -2
  132. package/dist/dsh/host-adapter/efficiency-host.d.ts.map +1 -1
  133. package/dist/dsh/host-adapter/efficiency-host.js +2 -2
  134. package/dist/dsh/host-adapter/efficiency-host.js.map +1 -1
  135. package/dist/dsh/host-adapter/lifecycle.d.ts +0 -7
  136. package/dist/dsh/host-adapter/lifecycle.d.ts.map +1 -1
  137. package/dist/dsh/host-adapter/lifecycle.js +58 -71
  138. package/dist/dsh/host-adapter/lifecycle.js.map +1 -1
  139. package/dist/dsh/host-adapter/memory-application-host.d.ts +0 -2
  140. package/dist/dsh/host-adapter/memory-application-host.d.ts.map +1 -1
  141. package/dist/dsh/host-adapter/memory-application-host.js +2 -2
  142. package/dist/dsh/host-adapter/memory-application-host.js.map +1 -1
  143. package/dist/dsh/host-adapter/routing.d.ts +1 -5
  144. package/dist/dsh/host-adapter/routing.d.ts.map +1 -1
  145. package/dist/dsh/host-adapter/routing.js +21 -73
  146. package/dist/dsh/host-adapter/routing.js.map +1 -1
  147. package/dist/dsh/host-adapter/session-observation.d.ts +1 -8
  148. package/dist/dsh/host-adapter/session-observation.d.ts.map +1 -1
  149. package/dist/dsh/host-adapter/session-observation.js +2 -55
  150. package/dist/dsh/host-adapter/session-observation.js.map +1 -1
  151. package/dist/dsh/host-adapter/tool-host.d.ts +3 -41
  152. package/dist/dsh/host-adapter/tool-host.d.ts.map +1 -1
  153. package/dist/dsh/host-adapter/tool-host.js +14 -243
  154. package/dist/dsh/host-adapter/tool-host.js.map +1 -1
  155. package/dist/dsh/host-adapter/turn-state.d.ts +0 -4
  156. package/dist/dsh/host-adapter/turn-state.d.ts.map +1 -1
  157. package/dist/dsh/host-adapter/turn-state.js +16 -93
  158. package/dist/dsh/host-adapter/turn-state.js.map +1 -1
  159. package/dist/dsh/host-adapter.d.ts +0 -11
  160. package/dist/dsh/host-adapter.d.ts.map +1 -1
  161. package/dist/dsh/host-adapter.js +17 -179
  162. package/dist/dsh/host-adapter.js.map +1 -1
  163. package/dist/dsh/index.d.ts +3 -16
  164. package/dist/dsh/index.d.ts.map +1 -1
  165. package/dist/dsh/index.js +0 -6
  166. package/dist/dsh/index.js.map +1 -1
  167. package/dist/dsh/lifecycle-memory.d.ts +3 -0
  168. package/dist/dsh/lifecycle-memory.d.ts.map +1 -1
  169. package/dist/dsh/lifecycle-memory.js +67 -45
  170. package/dist/dsh/lifecycle-memory.js.map +1 -1
  171. package/dist/dsh/lisp/candidate.d.ts +2 -2
  172. package/dist/dsh/lisp/code-intelligence-contracts.d.ts +1 -1
  173. package/dist/dsh/lisp/compiled-cache.d.ts.map +1 -1
  174. package/dist/dsh/lisp/compiled-cache.js +27 -6
  175. package/dist/dsh/lisp/compiled-cache.js.map +1 -1
  176. package/dist/dsh/lisp/host-tool-dispatch.d.ts.map +1 -1
  177. package/dist/dsh/lisp/host-tool-dispatch.js +14 -5
  178. package/dist/dsh/lisp/host-tool-dispatch.js.map +1 -1
  179. package/dist/dsh/lisp/manager.d.ts +7 -4
  180. package/dist/dsh/lisp/manager.d.ts.map +1 -1
  181. package/dist/dsh/lisp/manager.js +132 -103
  182. package/dist/dsh/lisp/manager.js.map +1 -1
  183. package/dist/dsh/lisp/sandbox.d.ts.map +1 -1
  184. package/dist/dsh/lisp/sandbox.js +1 -5
  185. package/dist/dsh/lisp/sandbox.js.map +1 -1
  186. package/dist/dsh/lisp/supervision.d.ts +33 -0
  187. package/dist/dsh/lisp/supervision.d.ts.map +1 -0
  188. package/dist/dsh/lisp/supervision.js +89 -0
  189. package/dist/dsh/lisp/supervision.js.map +1 -0
  190. package/dist/dsh/lisp/surface.d.ts +2 -2
  191. package/dist/dsh/lisp/surface.d.ts.map +1 -1
  192. package/dist/dsh/lisp/surface.js +105 -11
  193. package/dist/dsh/lisp/surface.js.map +1 -1
  194. package/dist/dsh/lisp/worker.d.ts +2 -1
  195. package/dist/dsh/lisp/worker.d.ts.map +1 -1
  196. package/dist/dsh/lisp/worker.js +7 -1
  197. package/dist/dsh/lisp/worker.js.map +1 -1
  198. package/dist/dsh/loop-guard.d.ts +0 -8
  199. package/dist/dsh/loop-guard.d.ts.map +1 -1
  200. package/dist/dsh/loop-guard.js +0 -51
  201. package/dist/dsh/loop-guard.js.map +1 -1
  202. package/dist/dsh/memory-application.d.ts.map +1 -1
  203. package/dist/dsh/memory-application.js +0 -6
  204. package/dist/dsh/memory-application.js.map +1 -1
  205. package/dist/dsh/message-sources.d.ts +2 -12
  206. package/dist/dsh/message-sources.d.ts.map +1 -1
  207. package/dist/dsh/message-sources.js +20 -39
  208. package/dist/dsh/message-sources.js.map +1 -1
  209. package/dist/dsh/model-configuration.d.ts +6 -24
  210. package/dist/dsh/model-configuration.d.ts.map +1 -1
  211. package/dist/dsh/model-configuration.js +1 -78
  212. package/dist/dsh/model-configuration.js.map +1 -1
  213. package/dist/dsh/model-routing.d.ts +1 -3
  214. package/dist/dsh/model-routing.d.ts.map +1 -1
  215. package/dist/dsh/model-routing.js +0 -11
  216. package/dist/dsh/model-routing.js.map +1 -1
  217. package/dist/dsh/model-selection-ui.d.ts +1 -2
  218. package/dist/dsh/model-selection-ui.d.ts.map +1 -1
  219. package/dist/dsh/model-selection-ui.js +48 -309
  220. package/dist/dsh/model-selection-ui.js.map +1 -1
  221. package/dist/dsh/models/contracts.d.ts +2 -2
  222. package/dist/dsh/models/service.d.ts +1 -1
  223. package/dist/dsh/modules/legacy-bindings.d.ts +3 -1
  224. package/dist/dsh/modules/legacy-bindings.d.ts.map +1 -1
  225. package/dist/dsh/modules/legacy-bindings.js +5 -5
  226. package/dist/dsh/modules/legacy-bindings.js.map +1 -1
  227. package/dist/dsh/modules/lisp.js +1 -1
  228. package/dist/dsh/modules/lisp.js.map +1 -1
  229. package/dist/dsh/native-execution-ownership.d.ts.map +1 -1
  230. package/dist/dsh/native-execution-ownership.js +0 -2
  231. package/dist/dsh/native-execution-ownership.js.map +1 -1
  232. package/dist/dsh/native-worker-routing.d.ts.map +1 -1
  233. package/dist/dsh/native-worker-routing.js +7 -2
  234. package/dist/dsh/native-worker-routing.js.map +1 -1
  235. package/dist/dsh/on-demand-intake.d.ts.map +1 -1
  236. package/dist/dsh/on-demand-intake.js +17 -8
  237. package/dist/dsh/on-demand-intake.js.map +1 -1
  238. package/dist/dsh/orchestration/execution-owner.d.ts +3 -1
  239. package/dist/dsh/orchestration/execution-owner.d.ts.map +1 -1
  240. package/dist/dsh/orchestration/execution-owner.js.map +1 -1
  241. package/dist/dsh/owned-execution.js +1 -1
  242. package/dist/dsh/owned-execution.js.map +1 -1
  243. package/dist/dsh/replay-memory-extract.d.ts.map +1 -1
  244. package/dist/dsh/replay-memory-extract.js +15 -1
  245. package/dist/dsh/replay-memory-extract.js.map +1 -1
  246. package/dist/dsh/repository-learning.d.ts.map +1 -1
  247. package/dist/dsh/repository-learning.js +3 -0
  248. package/dist/dsh/repository-learning.js.map +1 -1
  249. package/dist/dsh/runtime.d.ts +10 -2
  250. package/dist/dsh/runtime.d.ts.map +1 -1
  251. package/dist/dsh/runtime.js +22 -43
  252. package/dist/dsh/runtime.js.map +1 -1
  253. package/dist/dsh/semantic-compaction/policy.js +1 -1
  254. package/dist/dsh/semantic-compaction/policy.js.map +1 -1
  255. package/dist/dsh/session-bridge.d.ts +1 -1
  256. package/dist/dsh/session-bridge.d.ts.map +1 -1
  257. package/dist/dsh/session-bridge.js +1 -1
  258. package/dist/dsh/session-bridge.js.map +1 -1
  259. package/dist/dsh/session-memory-finalizer.js +1 -1
  260. package/dist/dsh/session-memory-finalizer.js.map +1 -1
  261. package/dist/dsh/session-review-context.d.ts.map +1 -1
  262. package/dist/dsh/session-review-context.js +3 -16
  263. package/dist/dsh/session-review-context.js.map +1 -1
  264. package/dist/dsh/setup.d.ts +1 -1
  265. package/dist/dsh/setup.d.ts.map +1 -1
  266. package/dist/dsh/skill-compiler.js +1 -1
  267. package/dist/dsh/skill-compiler.js.map +1 -1
  268. package/dist/dsh/skill-prompt-contracts.d.ts +2 -2
  269. package/dist/dsh/skill-prompt-contracts.js +1 -1
  270. package/dist/dsh/skill-prompts.json +1 -1
  271. package/dist/dsh/standard-skills.d.ts +1 -8
  272. package/dist/dsh/standard-skills.d.ts.map +1 -1
  273. package/dist/dsh/standard-skills.js +1 -8
  274. package/dist/dsh/standard-skills.js.map +1 -1
  275. package/dist/dsh/task-authority-context.d.ts +3 -0
  276. package/dist/dsh/task-authority-context.d.ts.map +1 -1
  277. package/dist/dsh/task-authority-context.js +3 -0
  278. package/dist/dsh/task-authority-context.js.map +1 -1
  279. package/dist/dsh/task-completion-guidance.d.ts +1 -5
  280. package/dist/dsh/task-completion-guidance.d.ts.map +1 -1
  281. package/dist/dsh/task-completion-guidance.js +4 -6
  282. package/dist/dsh/task-completion-guidance.js.map +1 -1
  283. package/dist/dsh/task-completion-host.js +4 -4
  284. package/dist/dsh/task-completion-host.js.map +1 -1
  285. package/dist/dsh/task-completion.d.ts +1 -13
  286. package/dist/dsh/task-completion.d.ts.map +1 -1
  287. package/dist/dsh/task-completion.js +9 -104
  288. package/dist/dsh/task-completion.js.map +1 -1
  289. package/dist/dsh/task-intake.d.ts +2 -3
  290. package/dist/dsh/task-intake.d.ts.map +1 -1
  291. package/dist/dsh/task-intake.js +90 -86
  292. package/dist/dsh/task-intake.js.map +1 -1
  293. package/dist/dsh/task-state.d.ts.map +1 -1
  294. package/dist/dsh/task-state.js +0 -8
  295. package/dist/dsh/task-state.js.map +1 -1
  296. package/dist/dsh/tool-exposure.d.ts +1 -1
  297. package/dist/dsh/tool-exposure.d.ts.map +1 -1
  298. package/dist/dsh/tool-exposure.js +0 -2
  299. package/dist/dsh/tool-exposure.js.map +1 -1
  300. package/dist/dsh/tool-policy.d.ts +5 -8
  301. package/dist/dsh/tool-policy.d.ts.map +1 -1
  302. package/dist/dsh/tool-policy.js +3 -35
  303. package/dist/dsh/tool-policy.js.map +1 -1
  304. package/dist/dsh/tools.d.ts +2 -6
  305. package/dist/dsh/tools.d.ts.map +1 -1
  306. package/dist/dsh/tools.js +7 -63
  307. package/dist/dsh/tools.js.map +1 -1
  308. package/dist/dsh/turn-process.d.ts +0 -93
  309. package/dist/dsh/turn-process.d.ts.map +1 -1
  310. package/dist/dsh/turn-process.js +1 -307
  311. package/dist/dsh/turn-process.js.map +1 -1
  312. package/dist/dsh/user-interaction.d.ts +9 -16
  313. package/dist/dsh/user-interaction.d.ts.map +1 -1
  314. package/dist/dsh/user-interaction.js +19 -158
  315. package/dist/dsh/user-interaction.js.map +1 -1
  316. package/dist/index.js +2 -19
  317. package/dist/ledger/types.d.ts +1 -1
  318. package/dist/ledger/types.d.ts.map +1 -1
  319. package/dist/ledger/types.js +0 -7
  320. package/dist/ledger/types.js.map +1 -1
  321. package/dist/locale/en.json +1 -1
  322. package/dist/locale/ja.json +1 -1
  323. package/dist/locale/ko.json +1 -1
  324. package/dist/locale/zh-CN.json +1 -1
  325. package/dist/memory/correction-contract.d.ts +4 -4
  326. package/dist/memory/lifecycle.d.ts +1 -1
  327. package/dist/memory/review/evidence.js +1 -1
  328. package/dist/memory/review/evidence.js.map +1 -1
  329. package/dist/model-tools/contracts.d.ts +0 -437
  330. package/dist/model-tools/contracts.d.ts.map +1 -1
  331. package/dist/model-tools/contracts.js +0 -13
  332. package/dist/model-tools/contracts.js.map +1 -1
  333. package/dist/model-tools/names.d.ts +1 -1
  334. package/dist/model-tools/names.d.ts.map +1 -1
  335. package/dist/model-tools/names.js +0 -7
  336. package/dist/model-tools/names.js.map +1 -1
  337. package/dist/model-tools/registry.js +1 -1
  338. package/dist/model-tools/registry.js.map +1 -1
  339. package/dist/models-client.cjs +2 -2
  340. package/dist/models-client.js +2 -2
  341. package/dist/models-client.js.map +1 -1
  342. package/docs/README.ja.md +0 -1
  343. package/docs/README.md +0 -1
  344. package/docs/agenticreplay-recording.md +1 -1
  345. package/docs/agenticreplay-verification.md +1 -1
  346. package/docs/answer-review.md +2 -2
  347. package/docs/architecture.md +4 -7
  348. package/docs/auto-memory-review.md +3 -3
  349. package/docs/coding-workflow.md +1 -1
  350. package/docs/concepts.ja.md +3 -5
  351. package/docs/concepts.md +3 -5
  352. package/docs/core-modules.md +5 -16
  353. package/docs/database.md +5 -10
  354. package/docs/decision-diagnostics.md +1 -2
  355. package/docs/deep-planning.md +3 -3
  356. package/docs/dsh-plugin.md +42 -178
  357. package/docs/execution-ledger.md +1 -2
  358. package/docs/execution-support.md +6 -7
  359. package/docs/harness-map.md +1 -1
  360. package/docs/japanese-output.md +1 -1
  361. package/docs/keyboard-shortcuts.md +1 -1
  362. package/docs/kiokuko-harness.md +71 -0
  363. package/docs/kiokuko-models.md +4 -9
  364. package/docs/lisp-hot-tools.md +12 -7
  365. package/docs/lisp.md +43 -9
  366. package/docs/memory-application.md +5 -5
  367. package/docs/memory-delivery.md +1 -1
  368. package/docs/memory-reuse.md +1 -1
  369. package/docs/model-selection.ja.md +40 -123
  370. package/docs/model-selection.md +45 -114
  371. package/docs/on-demand-intake.md +2 -2
  372. package/docs/owned-execution.md +7 -7
  373. package/docs/pr72-ci-verification.md +2 -2
  374. package/docs/pstack-adaptation.json +0 -34
  375. package/docs/pstack-skills.md +1 -1
  376. package/docs/semantic-compaction.md +2 -2
  377. package/docs/session-history-repair.md +2 -2
  378. package/docs/skill-compiler.md +2 -4
  379. package/docs/tool-exposure.md +1 -1
  380. package/docs/typed-decisions.md +1 -9
  381. package/docs/verification.md +11 -7
  382. package/dsh/cordis.legacy.patch.yml +7 -0
  383. package/dsh/cordis.patch.yml +6 -1
  384. package/lisp/supervisor.mjs +16 -7
  385. package/lisp/tools.lisp +1 -1
  386. package/migrations/051_drop_enno.sql +19 -0
  387. package/package.json +5 -14
  388. package/scripts/session-history-codec.mjs +1 -1
  389. package/skills/coding-ideal-routine-skill/SKILL.md +1 -1
  390. package/skills/kiokuko-lisp/SKILL.md +11 -5
  391. package/skills/kiokuko-single-purpose-functions/SKILL.md +1 -1
  392. package/skills/kiokuko-ui-design-soul/SKILL.md +2 -2
  393. package/skills/one-shot-software-completion/SKILL.md +4 -7
  394. package/skills/one-shot-software-completion/references/boundaries-and-lifecycle.md +3 -5
  395. package/dist/dsh/advisory-runner.d.ts +0 -32
  396. package/dist/dsh/advisory-runner.d.ts.map +0 -1
  397. package/dist/dsh/advisory-runner.js +0 -116
  398. package/dist/dsh/advisory-runner.js.map +0 -1
  399. package/dist/dsh/completion-verifiers.d.ts +0 -45
  400. package/dist/dsh/completion-verifiers.d.ts.map +0 -1
  401. package/dist/dsh/completion-verifiers.js +0 -9
  402. package/dist/dsh/completion-verifiers.js.map +0 -1
  403. package/dist/dsh/continuation.d.ts +0 -24
  404. package/dist/dsh/continuation.d.ts.map +0 -1
  405. package/dist/dsh/continuation.js +0 -215
  406. package/dist/dsh/continuation.js.map +0 -1
  407. package/dist/dsh/decisions/check-model.d.ts +0 -6
  408. package/dist/dsh/decisions/check-model.d.ts.map +0 -1
  409. package/dist/dsh/decisions/check-model.js +0 -36
  410. package/dist/dsh/decisions/check-model.js.map +0 -1
  411. package/dist/dsh/decisions/plan-review.d.ts +0 -17
  412. package/dist/dsh/decisions/plan-review.d.ts.map +0 -1
  413. package/dist/dsh/decisions/plan-review.js +0 -68
  414. package/dist/dsh/decisions/plan-review.js.map +0 -1
  415. package/dist/dsh/directive-projection.d.ts +0 -7
  416. package/dist/dsh/directive-projection.d.ts.map +0 -1
  417. package/dist/dsh/directive-projection.js +0 -32
  418. package/dist/dsh/directive-projection.js.map +0 -1
  419. package/dist/dsh/enno-controller.d.ts +0 -132
  420. package/dist/dsh/enno-controller.d.ts.map +0 -1
  421. package/dist/dsh/enno-controller.js +0 -368
  422. package/dist/dsh/enno-controller.js.map +0 -1
  423. package/dist/dsh/enno-delegation.d.ts +0 -36
  424. package/dist/dsh/enno-delegation.d.ts.map +0 -1
  425. package/dist/dsh/enno-delegation.js +0 -203
  426. package/dist/dsh/enno-delegation.js.map +0 -1
  427. package/dist/dsh/enno-memory-refresh-store.d.ts +0 -26
  428. package/dist/dsh/enno-memory-refresh-store.d.ts.map +0 -1
  429. package/dist/dsh/enno-memory-refresh-store.js +0 -45
  430. package/dist/dsh/enno-memory-refresh-store.js.map +0 -1
  431. package/dist/dsh/enno-memory-refresh.d.ts +0 -57
  432. package/dist/dsh/enno-memory-refresh.d.ts.map +0 -1
  433. package/dist/dsh/enno-memory-refresh.js +0 -280
  434. package/dist/dsh/enno-memory-refresh.js.map +0 -1
  435. package/dist/dsh/host-adapter/enno-memory-host.d.ts +0 -29
  436. package/dist/dsh/host-adapter/enno-memory-host.d.ts.map +0 -1
  437. package/dist/dsh/host-adapter/enno-memory-host.js +0 -49
  438. package/dist/dsh/host-adapter/enno-memory-host.js.map +0 -1
  439. package/dist/dsh/modules/enno.d.ts +0 -70
  440. package/dist/dsh/modules/enno.d.ts.map +0 -1
  441. package/dist/dsh/modules/enno.js +0 -22
  442. package/dist/dsh/modules/enno.js.map +0 -1
  443. package/dist/dsh/verification-identity.d.ts +0 -3
  444. package/dist/dsh/verification-identity.d.ts.map +0 -1
  445. package/dist/dsh/verification-identity.js +0 -15
  446. package/dist/dsh/verification-identity.js.map +0 -1
  447. package/dist/enno-oduno/advisory-store.d.ts +0 -31
  448. package/dist/enno-oduno/advisory-store.d.ts.map +0 -1
  449. package/dist/enno-oduno/advisory-store.js +0 -105
  450. package/dist/enno-oduno/advisory-store.js.map +0 -1
  451. package/dist/enno-oduno/advisory.d.ts +0 -18
  452. package/dist/enno-oduno/advisory.d.ts.map +0 -1
  453. package/dist/enno-oduno/advisory.js +0 -311
  454. package/dist/enno-oduno/advisory.js.map +0 -1
  455. package/dist/enno-oduno/coding-workflow.d.ts +0 -39
  456. package/dist/enno-oduno/coding-workflow.d.ts.map +0 -1
  457. package/dist/enno-oduno/coding-workflow.js +0 -33
  458. package/dist/enno-oduno/coding-workflow.js.map +0 -1
  459. package/dist/enno-oduno/confirmation.d.ts +0 -4
  460. package/dist/enno-oduno/confirmation.d.ts.map +0 -1
  461. package/dist/enno-oduno/confirmation.js +0 -146
  462. package/dist/enno-oduno/confirmation.js.map +0 -1
  463. package/dist/enno-oduno/directives.d.ts +0 -10
  464. package/dist/enno-oduno/directives.d.ts.map +0 -1
  465. package/dist/enno-oduno/directives.js +0 -294
  466. package/dist/enno-oduno/directives.js.map +0 -1
  467. package/dist/enno-oduno/experts.d.ts +0 -3
  468. package/dist/enno-oduno/experts.d.ts.map +0 -1
  469. package/dist/enno-oduno/experts.js +0 -28
  470. package/dist/enno-oduno/experts.js.map +0 -1
  471. package/dist/enno-oduno/handoff.d.ts +0 -4
  472. package/dist/enno-oduno/handoff.d.ts.map +0 -1
  473. package/dist/enno-oduno/handoff.js +0 -18
  474. package/dist/enno-oduno/handoff.js.map +0 -1
  475. package/dist/enno-oduno/language.d.ts +0 -4
  476. package/dist/enno-oduno/language.d.ts.map +0 -1
  477. package/dist/enno-oduno/language.js +0 -6
  478. package/dist/enno-oduno/language.js.map +0 -1
  479. package/dist/enno-oduno/memory-focus.d.ts +0 -32
  480. package/dist/enno-oduno/memory-focus.d.ts.map +0 -1
  481. package/dist/enno-oduno/memory-focus.js +0 -87
  482. package/dist/enno-oduno/memory-focus.js.map +0 -1
  483. package/dist/enno-oduno/memory-refresh-policy.d.ts +0 -17
  484. package/dist/enno-oduno/memory-refresh-policy.d.ts.map +0 -1
  485. package/dist/enno-oduno/memory-refresh-policy.js +0 -11
  486. package/dist/enno-oduno/memory-refresh-policy.js.map +0 -1
  487. package/dist/enno-oduno/memory-verification.d.ts +0 -7
  488. package/dist/enno-oduno/memory-verification.d.ts.map +0 -1
  489. package/dist/enno-oduno/memory-verification.js +0 -59
  490. package/dist/enno-oduno/memory-verification.js.map +0 -1
  491. package/dist/enno-oduno/plan-draft.d.ts +0 -15
  492. package/dist/enno-oduno/plan-draft.d.ts.map +0 -1
  493. package/dist/enno-oduno/plan-draft.js +0 -20
  494. package/dist/enno-oduno/plan-draft.js.map +0 -1
  495. package/dist/enno-oduno/plan-recovery.d.ts +0 -44
  496. package/dist/enno-oduno/plan-recovery.d.ts.map +0 -1
  497. package/dist/enno-oduno/plan-recovery.js +0 -160
  498. package/dist/enno-oduno/plan-recovery.js.map +0 -1
  499. package/dist/enno-oduno/repository-state.d.ts +0 -10
  500. package/dist/enno-oduno/repository-state.d.ts.map +0 -1
  501. package/dist/enno-oduno/repository-state.js +0 -146
  502. package/dist/enno-oduno/repository-state.js.map +0 -1
  503. package/dist/enno-oduno/sanitize.d.ts +0 -17
  504. package/dist/enno-oduno/sanitize.d.ts.map +0 -1
  505. package/dist/enno-oduno/sanitize.js +0 -88
  506. package/dist/enno-oduno/sanitize.js.map +0 -1
  507. package/dist/enno-oduno/schemas.d.ts +0 -968
  508. package/dist/enno-oduno/schemas.d.ts.map +0 -1
  509. package/dist/enno-oduno/schemas.js +0 -622
  510. package/dist/enno-oduno/schemas.js.map +0 -1
  511. package/dist/enno-oduno/service.d.ts +0 -62
  512. package/dist/enno-oduno/service.d.ts.map +0 -1
  513. package/dist/enno-oduno/service.js +0 -1505
  514. package/dist/enno-oduno/service.js.map +0 -1
  515. package/dist/enno-oduno/skills.d.ts +0 -22
  516. package/dist/enno-oduno/skills.d.ts.map +0 -1
  517. package/dist/enno-oduno/skills.js +0 -127
  518. package/dist/enno-oduno/skills.js.map +0 -1
  519. package/dist/enno-oduno/store.d.ts +0 -109
  520. package/dist/enno-oduno/store.d.ts.map +0 -1
  521. package/dist/enno-oduno/store.js +0 -833
  522. package/dist/enno-oduno/store.js.map +0 -1
  523. package/dist/enno-oduno/types.d.ts +0 -457
  524. package/dist/enno-oduno/types.d.ts.map +0 -1
  525. package/dist/enno-oduno/types.js +0 -66
  526. package/dist/enno-oduno/types.js.map +0 -1
  527. package/dist/enno-oduno/validation-errors.d.ts +0 -93
  528. package/dist/enno-oduno/validation-errors.d.ts.map +0 -1
  529. package/dist/enno-oduno/validation-errors.js +0 -159
  530. package/dist/enno-oduno/validation-errors.js.map +0 -1
  531. package/dist/enno-oduno/verifier.d.ts +0 -16
  532. package/dist/enno-oduno/verifier.d.ts.map +0 -1
  533. package/dist/enno-oduno/verifier.js +0 -271
  534. package/dist/enno-oduno/verifier.js.map +0 -1
  535. package/docs/enno-memory-benchmark.json +0 -761
  536. package/docs/enno-memory-evaluation.md +0 -137
  537. package/docs/enno-oduno.ja.md +0 -68
  538. package/docs/enno-oduno.md +0 -94
  539. package/skills/kiokuko-enno-oduno/SKILL.md +0 -64
  540. package/skills/kiokuko-enno-oduno/enno-oduno.png +0 -0
@@ -1,27 +1,10 @@
1
1
  import { canonicalContentHash, canonicalJson } from '../serialization/validate.js';
2
- import { withImmediateTransaction } from '../db/transaction.js';
3
2
  import { KiokukoError } from '../errors.js';
4
- import { KIOKUKO_DSH_SOURCE_KIND } from './plugin-source.js';
5
- import { recordDiagnosticTurn } from './decisions/diagnostics.js';
6
3
  export const DSH_TURN_HANDOFF_MAX_BYTES = 32 * 1024;
7
- export const DSH_TURN_FAILURE_MAX_BYTES = 8 * 1024;
8
4
  export const DSH_BOUNDARY_JOB_MAX_ATTEMPTS = 3;
9
5
  const RETRYABLE_BOUNDARY_ERRORS = new Set(['NATIVE_FLUSH_FAILED', 'NATIVE_FLUSH_TIMEOUT', 'DATABASE_ERROR',
10
6
  'BACKPRESSURE', 'SERVICE_UNAVAILABLE', 'SQLITE_BUSY', 'CRASH_CUT', 'BOUNDARY_BINDING_UNAVAILABLE']);
11
7
  export function retryableBoundaryErrorCode(code) { return RETRYABLE_BOUNDARY_ERRORS.has(code); }
12
- export function appliedTurnOutcome(value, handoff) {
13
- boundedJson(handoff, DSH_TURN_HANDOFF_MAX_BYTES, 'turn handoff');
14
- return Object.freeze({ kind: 'applied', value, handoff });
15
- }
16
- const PHASES = new Set([
17
- 'intake', 'ideal', 'planning', 'confirmation', 'work_unit',
18
- 'final_verification', 'final_review', 'meditation', 'complete',
19
- ]);
20
- const OPERATIONS = new Set([
21
- 'ideal_submit', 'advice_submit', 'plan_submit', 'answer', 'work_report',
22
- 'finish', 'meditation_submit', 'verify_prepare',
23
- ]);
24
- const EXPECTED_FAILURE_CODES = new Set(['VALIDATION_ERROR', 'CONFLICT', 'NOT_FOUND']);
25
8
  function identity(value, label, maximum = 256) {
26
9
  if (typeof value !== 'string' || value.length === 0 || value.length > maximum || /[\p{Cc}\p{Cf}]/u.test(value)) {
27
10
  throw new KiokukoError('VALIDATION_ERROR', `${label} is invalid`);
@@ -40,20 +23,6 @@ function positiveInteger(value, label) {
40
23
  }
41
24
  return value;
42
25
  }
43
- function boundedText(value, maximumBytes) {
44
- if (Buffer.byteLength(value, 'utf8') <= maximumBytes)
45
- return value;
46
- let result = '';
47
- let used = 0;
48
- for (const point of value) {
49
- const size = Buffer.byteLength(point, 'utf8');
50
- if (used + size > maximumBytes)
51
- break;
52
- result += point;
53
- used += size;
54
- }
55
- return result;
56
- }
57
26
  function boundedJson(value, maximumBytes, label) {
58
27
  const serialized = canonicalJson(value);
59
28
  if (Buffer.byteLength(serialized, 'utf8') > maximumBytes) {
@@ -61,249 +30,6 @@ function boundedJson(value, maximumBytes, label) {
61
30
  }
62
31
  return serialized;
63
32
  }
64
- function checkedIntent(input) {
65
- const runId = identity(input.runId, 'runId');
66
- const dshSessionId = identity(input.dshSessionId, 'dshSessionId');
67
- const nativeTurn = positiveInteger(input.nativeTurn, 'nativeTurn');
68
- if (!PHASES.has(input.phase))
69
- throw new KiokukoError('VALIDATION_ERROR', 'turn phase is invalid');
70
- const contractRevision = positiveInteger(input.contractRevision, 'contractRevision');
71
- const workUnitId = input.workUnitId === undefined ? undefined : identity(input.workUnitId, 'workUnitId', 4_096);
72
- const inputDigest = digest(input.inputDigest, 'inputDigest');
73
- if (!OPERATIONS.has(input.operation))
74
- throw new KiokukoError('VALIDATION_ERROR', 'Enno receipt operation is invalid');
75
- const idempotencyKey = identity(input.idempotencyKey, 'idempotencyKey');
76
- const executionAttempt = input.executionAttempt ?? 0;
77
- if (!Number.isSafeInteger(executionAttempt) || executionAttempt < 0)
78
- throw new KiokukoError('VALIDATION_ERROR', 'executionAttempt is invalid');
79
- const identityDocument = {
80
- version: 1,
81
- runId,
82
- dshSessionId,
83
- nativeTurn,
84
- phase: input.phase,
85
- contractRevision,
86
- workUnitId: workUnitId ?? null,
87
- inputDigest,
88
- ...(executionAttempt === 0 ? {} : { executionAttempt }),
89
- operation: input.operation,
90
- idempotencyKey,
91
- };
92
- const receiptId = canonicalContentHash(identityDocument);
93
- return Object.freeze({
94
- ...input,
95
- runId,
96
- dshSessionId,
97
- nativeTurn,
98
- contractRevision,
99
- ...(workUnitId === undefined ? {} : { workUnitId }),
100
- inputDigest,
101
- idempotencyKey,
102
- receiptId,
103
- continuationId: canonicalContentHash({ receiptId, kind: 'continuation' }),
104
- boundaryJobId: canonicalContentHash({ receiptId, kind: 'boundary' }),
105
- });
106
- }
107
- function sameIntent(row, intent) {
108
- return row.runId === intent.runId
109
- && row.dshSessionId === intent.dshSessionId
110
- && row.nativeTurn === intent.nativeTurn
111
- && row.phase === intent.phase
112
- && row.contractRevision === intent.contractRevision
113
- && row.workUnitKey === (intent.workUnitId ?? '')
114
- && row.executionAttempt === (intent.executionAttempt ?? 0)
115
- && row.inputDigest === intent.inputDigest
116
- && row.operation === intent.operation
117
- && row.idempotencyKey === intent.idempotencyKey;
118
- }
119
- function intentForTurn(database, sessionId, nativeTurn) {
120
- return database.prepare(`
121
- SELECT receipt_id AS receiptId, run_id AS runId, dsh_session_id AS dshSessionId,
122
- native_turn AS nativeTurn, phase, contract_revision AS contractRevision,
123
- work_unit_key AS workUnitKey, execution_attempt AS executionAttempt, input_digest AS inputDigest, operation,
124
- idempotency_key AS idempotencyKey, continuation_id AS continuationId,
125
- boundary_job_id AS boundaryJobId, created_at AS createdAt
126
- FROM dsh_turn_intents
127
- WHERE dsh_session_id = ? AND native_turn = ?
128
- `).get(sessionId, nativeTurn);
129
- }
130
- /** Prepare immutable identity before an Enno operation begins. */
131
- export function prepareTurnIntentInTransaction(database, raw) {
132
- const intent = checkedIntent(raw);
133
- const existing = intentForTurn(database, intent.dshSessionId, intent.nativeTurn);
134
- if (existing !== undefined) {
135
- if (!sameIntent(existing, intent))
136
- throw new KiokukoError('CONFLICT', 'DSH native turn was reused for another phase intent');
137
- return { ...intent, receiptId: existing.receiptId, continuationId: existing.continuationId, boundaryJobId: existing.boundaryJobId };
138
- }
139
- const now = raw.now ?? new Date().toISOString();
140
- database.prepare(`
141
- INSERT INTO dsh_turn_intents (
142
- receipt_id, run_id, dsh_session_id, native_turn, phase,
143
- contract_revision, work_unit_key, execution_attempt, input_digest, operation,
144
- idempotency_key, continuation_id, boundary_job_id, created_at
145
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
146
- `).run(intent.receiptId, intent.runId, intent.dshSessionId, intent.nativeTurn, intent.phase, intent.contractRevision, intent.workUnitId ?? '', intent.executionAttempt ?? 0, intent.inputDigest, intent.operation, intent.idempotencyKey, intent.continuationId, intent.boundaryJobId, now);
147
- return intent;
148
- }
149
- export function prepareTurnIntent(database, input) {
150
- return withImmediateTransaction(database, () => prepareTurnIntentInTransaction(database, input));
151
- }
152
- /** A natural model stop is not phase completion. Give it the same durable delivery guard. */
153
- export function enqueueUnsubmittedTurn(database, input) {
154
- withImmediateTransaction(database, () => {
155
- if (readTurnSeal(database, input.dshSessionId, input.nativeTurn) !== undefined)
156
- return;
157
- if (database.prepare(`SELECT job_id FROM dsh_boundary_jobs WHERE run_id = ?
158
- AND status IN ('pending', 'processing', 'failed_retryable', 'waiting_user') LIMIT 1`).get(input.runId))
159
- return;
160
- const prior = intentForTurn(database, input.dshSessionId, input.nativeTurn);
161
- const intent = prior ?? prepareTurnIntentInTransaction(database, input);
162
- const now = input.now ?? new Date().toISOString();
163
- database.prepare(`INSERT INTO dsh_turn_receipts (
164
- receipt_id, run_id, dsh_session_id, native_turn, phase, contract_revision, work_unit_key,
165
- input_digest, outcome_kind, next_action, created_at
166
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'retry', ?, ?)`).run(intent.receiptId, input.runId, input.dshSessionId, input.nativeTurn, input.phase, input.contractRevision, input.workUnitId ?? '', input.inputDigest, input.nextAction, now);
167
- database.prepare(`INSERT INTO dsh_turn_handoffs(receipt_id, handoff_json, created_at) VALUES (?, ?, ?)`).run(intent.receiptId, JSON.stringify({ schemaVersion: 1, runId: input.runId, phase: input.phase,
168
- revision: input.contractRevision, nextAction: input.nextAction, source: 'unsubmitted_turn' }), now);
169
- database.prepare(`INSERT INTO dsh_boundary_jobs(job_id, receipt_id, run_id, kind, status, available_at, created_at, updated_at)
170
- VALUES (?, ?, ?, 'classify_boundary', 'pending', ?, ?, ?)`).run(intent.boundaryJobId, intent.receiptId, input.runId, now, now, now);
171
- const message = { id: intent.continuationId, role: 'user', content: [{ type: 'text',
172
- text: `The phase has not been submitted. Continue from the current host directive: ${input.nextAction}.` }],
173
- source: { kind: KIOKUKO_DSH_SOURCE_KIND, form: 'instructions' } };
174
- database.prepare(`INSERT INTO dsh_continuation_outbox(continuation_id, receipt_id, run_id, dsh_session_id,
175
- causal_revision, message_json, status, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, 'pending', ?, ?)`)
176
- .run(intent.continuationId, intent.receiptId, input.runId, input.dshSessionId, input.contractRevision, JSON.stringify(message), now, now);
177
- recordDiagnosticTurn(database, intent.receiptId);
178
- });
179
- }
180
- export function readTurnSeal(database, dshSessionId, nativeTurn) {
181
- const row = database.prepare(`
182
- SELECT receipt_id AS receiptId, run_id AS runId, dsh_session_id AS dshSessionId,
183
- native_turn AS nativeTurn, phase, contract_revision AS contractRevision,
184
- outcome_kind AS outcomeKind, next_action AS nextAction
185
- FROM dsh_turn_receipts
186
- WHERE dsh_session_id = ? AND native_turn = ?
187
- `).get(identity(dshSessionId, 'dshSessionId'), positiveInteger(nativeTurn, 'nativeTurn'));
188
- return row === undefined ? undefined : Object.freeze(row);
189
- }
190
- export function isExpectedTurnFailure(error) {
191
- return error instanceof KiokukoError && EXPECTED_FAILURE_CODES.has(error.code);
192
- }
193
- function failureFact(error, count) {
194
- const message = boundedText(error.message, DSH_TURN_FAILURE_MAX_BYTES);
195
- return Object.freeze({
196
- code: error.code,
197
- message,
198
- digest: canonicalContentHash({ code: error.code, message, details: error.details }),
199
- count,
200
- });
201
- }
202
- /**
203
- * Convert a predictable domain rejection into a durable turn result. This is
204
- * a successful transport envelope: DSH can commit it and stop the turn without
205
- * treating validation feedback as an infrastructure failure.
206
- */
207
- export function commitExpectedFailureInTransaction(database, input) {
208
- const existing = readTurnSeal(database, input.dshSessionId, input.nativeTurn);
209
- if (existing !== undefined) {
210
- const memory = database.prepare(`
211
- SELECT failure_count AS failureCount, memory_json AS memoryJson
212
- FROM dsh_temporary_memories
213
- WHERE run_id = ? AND phase = ? AND contract_revision = ? AND input_digest = ?
214
- ORDER BY updated_at DESC LIMIT 1
215
- `).get(input.runId, input.phase, input.contractRevision, input.inputDigest);
216
- if (memory === undefined)
217
- throw new KiokukoError('INTEGRITY_ERROR', 'Stored retry receipt has no temporary memory');
218
- const stored = JSON.parse(memory.memoryJson);
219
- return existing.outcomeKind === 'clarify'
220
- ? { kind: 'clarify', question: questionFor(stored.reason), handoff: stored.handoff }
221
- : { kind: 'retry', reason: stored.reason, handoff: stored.handoff };
222
- }
223
- const intent = prepareTurnIntentInTransaction(database, input);
224
- const base = failureFact(input.error, 1);
225
- const memoryId = canonicalContentHash({
226
- runId: intent.runId,
227
- phase: intent.phase,
228
- revision: intent.contractRevision,
229
- inputDigest: intent.inputDigest,
230
- failureDigest: base.digest,
231
- });
232
- const now = input.now ?? new Date().toISOString();
233
- database.prepare(`
234
- INSERT INTO dsh_temporary_memories (
235
- memory_id, run_id, phase, contract_revision, input_digest, failure_digest,
236
- failure_count, weight, confidence, memory_json, created_at, updated_at
237
- ) VALUES (?, ?, ?, ?, ?, ?, 1, 1.0, 1.0, '{}', ?, ?)
238
- ON CONFLICT(run_id, phase, contract_revision, input_digest, failure_digest) DO UPDATE SET
239
- failure_count = failure_count + 1,
240
- updated_at = excluded.updated_at
241
- `).run(memoryId, intent.runId, intent.phase, intent.contractRevision, intent.inputDigest, base.digest, now, now);
242
- const count = database.prepare(`
243
- SELECT failure_count AS count FROM dsh_temporary_memories WHERE memory_id = ?
244
- `).get(memoryId)?.count;
245
- if (count === undefined)
246
- throw new KiokukoError('INTEGRITY_ERROR', 'Temporary failure memory was not persisted');
247
- const reason = failureFact(input.error, count);
248
- const clarify = count >= 2;
249
- const nextAction = clarify ? 'ask_akinator' : `retry_${intent.phase}`;
250
- const handoff = Object.freeze({
251
- schemaVersion: 1,
252
- runId: intent.runId,
253
- phase: intent.phase,
254
- revision: intent.contractRevision,
255
- nextAction,
256
- failureDigest: reason.digest,
257
- });
258
- const memoryJson = boundedJson({ reason, handoff }, 65536, 'temporary turn memory');
259
- database.prepare('UPDATE dsh_temporary_memories SET memory_json = ? WHERE memory_id = ?').run(memoryJson, memoryId);
260
- database.prepare(`
261
- INSERT INTO dsh_turn_receipts (
262
- receipt_id, run_id, dsh_session_id, native_turn, phase,
263
- contract_revision, work_unit_key, input_digest, outcome_kind,
264
- next_action, enno_operation, enno_idempotency_key, created_at
265
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?)
266
- `).run(intent.receiptId, intent.runId, intent.dshSessionId, intent.nativeTurn, intent.phase, intent.contractRevision, intent.workUnitId ?? '', intent.inputDigest, clarify ? 'clarify' : 'retry', nextAction, now);
267
- database.prepare(`
268
- INSERT INTO dsh_turn_handoffs (receipt_id, handoff_json, created_at)
269
- VALUES (?, ?, ?)
270
- `).run(intent.receiptId, boundedJson(handoff, DSH_TURN_HANDOFF_MAX_BYTES, 'turn handoff'), now);
271
- database.prepare(`
272
- INSERT INTO dsh_boundary_jobs (
273
- job_id, receipt_id, run_id, kind, status, attempt_count,
274
- available_at, created_at, updated_at
275
- ) VALUES (?, ?, ?, ?, 'pending', 0, ?, ?, ?)
276
- `).run(intent.boundaryJobId, intent.receiptId, intent.runId, nextAction, now, now, now);
277
- const message = {
278
- id: intent.continuationId,
279
- role: 'user',
280
- content: [{ type: 'text', text: clarify
281
- ? `Kiokuko needs clarification after repeated ${intent.phase} validation: ${reason.message}`
282
- : `Retry Kiokuko ${intent.phase} using the recorded validation fact: ${reason.message}` }],
283
- source: { kind: KIOKUKO_DSH_SOURCE_KIND, form: 'instructions' },
284
- };
285
- database.prepare(`
286
- INSERT INTO dsh_continuation_outbox (
287
- continuation_id, receipt_id, run_id, dsh_session_id, causal_revision,
288
- message_json, status, created_at, updated_at
289
- ) VALUES (?, ?, ?, ?, ?, ?, 'pending', ?, ?)
290
- `).run(intent.continuationId, intent.receiptId, intent.runId, intent.dshSessionId, intent.contractRevision, boundedJson(message, DSH_TURN_HANDOFF_MAX_BYTES, 'continuation message'), now, now);
291
- recordDiagnosticTurn(database, intent.receiptId);
292
- return clarify
293
- ? { kind: 'clarify', question: questionFor(reason), handoff }
294
- : { kind: 'retry', reason, handoff };
295
- }
296
- function questionFor(reason) {
297
- return Object.freeze({
298
- id: 'expected',
299
- prompt: `The same processing constraint failed repeatedly: ${reason.message}\nWhat result should be considered correct?`,
300
- options: null,
301
- required: true,
302
- });
303
- }
304
- export function commitExpectedFailure(database, input) {
305
- return withImmediateTransaction(database, () => commitExpectedFailureInTransaction(database, input));
306
- }
307
33
  export function readPendingOutbox(database, sessionId) {
308
34
  const rows = database.prepare(`
309
35
  SELECT continuation_id AS continuationId, receipt_id AS receiptId,
@@ -339,12 +65,6 @@ export function markOutboxObservedInTransaction(database, continuationId, sequen
339
65
  WHERE continuation_id = ? AND status IN ('pending', 'dispatched', 'observed')
340
66
  `).run(sequence, now, digest(continuationId, 'continuationId'));
341
67
  }
342
- export function supersedeOutboxBeforeRevisionInTransaction(database, sessionId, revision, now = new Date().toISOString()) {
343
- database.prepare(`
344
- UPDATE dsh_continuation_outbox SET status = 'superseded', updated_at = ?
345
- WHERE dsh_session_id = ? AND causal_revision < ? AND status IN ('pending', 'dispatched')
346
- `).run(now, identity(sessionId, 'dshSessionId'), positiveInteger(revision, 'revision'));
347
- }
348
68
  export function supersedeOutboxAtOrBeforeRevisionInTransaction(database, sessionId, revision, now = new Date().toISOString()) {
349
69
  database.prepare(`
350
70
  UPDATE dsh_continuation_outbox SET status = 'superseded', updated_at = ?
@@ -406,7 +126,7 @@ export function completeBoundaryJobInTransaction(database, job, completion, now
406
126
  SET status = ?, owner_nonce = NULL, lease_expires_at = NULL,
407
127
  last_error_code = NULL, last_error_message = NULL, updated_at = ?
408
128
  WHERE job_id = ? AND status = 'processing' AND owner_nonce = ?
409
- RETURNING job_id AS jobId
129
+ RETURNING job_id AS jobId
410
130
  `).get(status, now, job.jobId, job.ownerNonce);
411
131
  if (changed === undefined)
412
132
  throw new KiokukoError('CONFLICT', 'Boundary job lease changed before completion');
@@ -453,30 +173,4 @@ export function replacePendingOutboxMessageInTransaction(database, receiptIdValu
453
173
  WHERE receipt_id = ? AND status = 'pending'
454
174
  `).run(messageJson, messageForm, now, digest(receiptIdValue, 'receiptId'));
455
175
  }
456
- export function phaseForOperation(operation) {
457
- if (operation === 'enno_ideal_submit')
458
- return 'ideal';
459
- if (operation === 'enno_plan_submit')
460
- return 'planning';
461
- if (operation === 'enno_work_report')
462
- return 'work_unit';
463
- if (operation === 'enno_finish')
464
- return 'final_review';
465
- if (operation === 'enno_meditation_submit')
466
- return 'meditation';
467
- return undefined;
468
- }
469
- export function ennoReceiptOperation(operation) {
470
- if (operation === 'enno_ideal_submit')
471
- return 'ideal_submit';
472
- if (operation === 'enno_plan_submit')
473
- return 'plan_submit';
474
- if (operation === 'enno_work_report')
475
- return 'work_report';
476
- if (operation === 'enno_finish')
477
- return 'finish';
478
- if (operation === 'enno_meditation_submit')
479
- return 'meditation_submit';
480
- return undefined;
481
- }
482
176
  //# sourceMappingURL=turn-process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"turn-process.js","sourceRoot":"","sources":["../../src/dsh/turn-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-process.js","sourceRoot":"","sources":["../../src/dsh/turn-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAA;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA;AAC9C,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,gBAAgB;IACxG,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAA;AACrG,MAAM,UAAU,0BAA0B,CAAC,IAAY,IAAa,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;AA6ChH,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa,EAAE,OAAO,GAAG,GAAG;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,GAAG,KAAK,aAAa,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,KAAa;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,GAAG,KAAK,2BAA2B,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAa;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,GAAG,KAAK,kCAAkC,CAAC,CAAA;IACxF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,YAAoB,EAAE,KAAa;IACtE,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;QACzD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,GAAG,KAAK,YAAY,YAAY,cAAc,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAwB,EAAE,SAAiB;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;;;GAQ7B,CAAC,CAAC,GAAG,CAAY,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACnD,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAY;QAC/C,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,QAAwB,EAAE,cAAsB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAChI,QAAQ,CAAC,OAAO,CAAC;;;GAGhB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,QAAwB,EAAE,cAAsB,EAAE,QAAgB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAChJ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAA;IAC/H,QAAQ,CAAC,OAAO,CAAC;;;GAGhB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,8CAA8C,CAC5D,QAAwB,EACxB,SAAiB,EACjB,QAAgB,EAChB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAE9B,QAAQ,CAAC,OAAO,CAAC;;;GAGhB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,MAAM,UAAU,oDAAoD,CAClE,QAAwB,EACxB,SAAiB,EACjB,QAAgB,EAChB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAE9B,QAAQ,CAAC,OAAO,CAAC;;;;;;;;GAQhB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,IAAY;IAC1D,OAAO,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAA;AACvH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,QAAwB,EAAE,SAAiB;IAC5E,OAAO,QAAQ,CAAC,OAAO,CAAC;;;qGAG2E,CAAC;SACjG,GAAG,CAA4B,SAAS,CAAC,EAAE,MAAM,IAAI,SAAS,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAwB,EACxB,eAAuB,EACvB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAC9B,SAAkB;IAElB,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAA;IACpE,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;IACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;;;;GAY5B,CAAC,CAAC,GAAG,CAAiB,GAAG,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAA;IACtE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC;;;;;GAKhB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;AAClF,CAAC;AAOD,MAAM,UAAU,gCAAgC,CAC9C,QAAwB,EACxB,GAAmB,EACnB,UAAiC,EACjC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAE9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;;GAMhC,CAAC,CAAC,GAAG,CAAoB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IACjE,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAA;IAC7G,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAM;IAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;IACxE,QAAQ,CAAC,OAAO,CAAC;;;;;;;;;GAShB,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACzG,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAAwB,EACxB,GAAmB,EACnB,KAAc,EACd,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAE9B,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAA2B,CAAC,CAAC,CAAC,SAAS,CAAA;IAClG,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAA;IAC7F,MAAM,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACxF,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,IAAI,6BAA6B,EAAE,CAAC;QAC3F,QAAQ,CAAC,OAAO,CAAC;;;;;KAKhB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACrD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;IAChD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACpH,QAAQ,CAAC,OAAO,CAAC;;;;;GAKhB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,QAAwB,EACxB,cAAsB,EACtB,OAAgB,EAChB,WAAqD,EACrD,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAE9B,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,CAAC,CAAA;IAC5F,QAAQ,CAAC,OAAO,CAAC;;;GAGhB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAA;AAC5E,CAAC"}
@@ -1,25 +1,18 @@
1
- import type { UserFacingConfirmation, UserFacingConfirmationAction, UserFacingLanguage } from '../enno-oduno/types.js';
2
- import { type PlanStartRecovery } from '../enno-oduno/plan-recovery.js';
3
1
  export { createDshIntakeAnswerer } from './intake-questions.js';
4
2
  export type { DshUserQuestionRequest, DshUserQuestionAgent, DshUserQuestionOption, DshUserQuestionAnswer, DshUserQuestions, DshIntakeAnswerer } from './intake-questions.js';
5
3
  import type { DshUserQuestions, DshUserQuestionAgent } from './intake-questions.js';
6
- export interface DshConfirmationAnswer {
7
- readonly action: UserFacingConfirmationAction;
8
- readonly requestedChanges?: string;
9
- }
10
- export interface DshConfirmationAnswerer {
11
- ask(confirmation: UserFacingConfirmation, signal?: AbortSignal, agent?: DshUserQuestionAgent): Promise<DshConfirmationAnswer>;
12
- }
13
4
  /** Internal host failures are not missing task requirements. Keep recovery explicit. */
14
- export declare function boundaryFailureCopy(language: UserFacingLanguage, attempts?: number, retryable?: boolean): {
5
+ export declare function boundaryFailureCopy(language: 'en' | 'ja' | undefined, attempts?: number, retryable?: boolean): {
15
6
  header: string;
16
7
  title: string;
17
8
  recoveryInstruction: string;
18
9
  };
19
- /** Render only the public confirmation projection; internal directive fields never cross this boundary. */
20
- export declare function renderDshConfirmation(confirmation: UserFacingConfirmation): string;
21
- /** Keep plan-recovery choices user-facing and free of machine identity fields. */
22
- export declare function renderDshPlanRecovery(recovery: PlanStartRecovery): string;
23
- /** Adapt one explicit confirmation choice to dsh UserQuestions. */
24
- export declare function createDshConfirmationAnswerer(service: DshUserQuestions): DshConfirmationAnswerer;
10
+ declare function conflict(message: string): never;
11
+ export { conflict as dshUserQuestionConflict };
12
+ /** Adapt one explicit user-question answer to a single selection. */
13
+ export declare function requireSingleSelection(service: DshUserQuestions, input: {
14
+ readonly questionId: string;
15
+ readonly question: string;
16
+ readonly detail?: string;
17
+ }, agent?: DshUserQuestionAgent, signal?: AbortSignal): Promise<string>;
25
18
  //# sourceMappingURL=user-interaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-interaction.d.ts","sourceRoot":"","sources":["../../src/dsh/user-interaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAqB,sBAAsB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACzI,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGhG,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC5K,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEnF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,YAAY,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAC9H;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,SAAI,EAAE,SAAS,UAAO;;;;EAiB/F;AAwLD,2GAA2G;AAC3G,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,sBAAsB,GAAG,MAAM,CAElF;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEzE;AAED,mEAAmE;AACnE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAsChG"}
1
+ {"version":3,"file":"user-interaction.d.ts","sourceRoot":"","sources":["../../src/dsh/user-interaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC5K,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEnF,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,SAAI,EAAE,SAAS,UAAO;;;;EAiBpG;AAED,iBAAS,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAExC;AAED,OAAO,EAAE,QAAQ,IAAI,uBAAuB,EAAE,CAAA;AAE9C,qEAAqE;AACrE,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3F,KAAK,CAAC,EAAE,oBAAoB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAejB"}
@@ -1,5 +1,4 @@
1
1
  import { KiokukoError } from '../errors.js';
2
- import { renderPlanStartRecovery } from '../enno-oduno/plan-recovery.js';
3
2
  export { createDshIntakeAnswerer } from './intake-questions.js';
4
3
  /** Internal host failures are not missing task requirements. Keep recovery explicit. */
5
4
  export function boundaryFailureCopy(language, attempts = 3, retryable = true) {
@@ -23,162 +22,24 @@ export function boundaryFailureCopy(language, attempts = 3, retryable = true) {
23
22
  function conflict(message) {
24
23
  throw new KiokukoError('CONFLICT', message);
25
24
  }
26
- const CONFIRMATION_LABELS = {
27
- en: {
28
- summary: 'Summary', scope: 'Scope', exclusions: 'Exclusions', completion: 'Completion criteria',
29
- skills: 'Skills', workItems: 'Work items', finalChecks: 'Final checks', attemptLimit: 'Attempt limit',
30
- basis: 'Basis', paths: 'Paths', dependsOn: 'Depends on', doneWhen: 'Done when', checks: 'Checks',
31
- expertise: 'Expertise', commandKind: 'Type', directory: 'Directory', timeout: 'Timeout', required: 'required',
32
- optional: 'optional', referenceOnly: 'reference only', available: 'available', purposes: 'Purposes',
33
- maximumAttempts: 'Maximum attempts', none: 'None',
34
- question: 'Review the proposed plan and choose an action.',
35
- approveDescription: 'Approve this exact plan and start the first work item.',
36
- cancelDescription: 'Cancel this Enno plan without starting implementation.',
37
- basisNames: { user: 'User', repository: 'Repository', proposal: 'Proposal' },
38
- purposeNames: {},
39
- },
40
- ja: {
41
- summary: '概要', scope: '対象範囲', exclusions: '対象外', completion: '完了条件',
42
- skills: '使用するスキル', workItems: '作業項目', finalChecks: '最終確認', attemptLimit: '試行上限',
43
- basis: '根拠', paths: '対象', dependsOn: '依存', doneWhen: '完了条件', checks: '確認',
44
- expertise: '専門観点', commandKind: '種別', directory: '実行場所', timeout: 'タイムアウト', required: '必須',
45
- optional: '任意', referenceOnly: '参照のみ', available: '利用可能', purposes: '用途',
46
- maximumAttempts: '最大試行回数', none: 'なし',
47
- question: '提案された計画を確認し、操作を選択してください。',
48
- approveDescription: 'この計画を承認し、最初の作業項目を開始します。',
49
- cancelDescription: '実装を開始せず、このEnno計画を取り消します。',
50
- basisNames: { user: 'ユーザー指定', repository: 'リポジトリ', proposal: '提案' },
51
- purposeNames: {
52
- planning: '計画', implementation: '実装', ui: 'UI', testing: 'テスト', review: 'レビュー', operations: '運用',
53
- },
54
- },
55
- };
56
- function escapeMarkdownText(value) {
57
- // Confirmation fields may contain deliberate line breaks. Render those as
58
- // visible data inside one Markdown item instead of letting a continuation
59
- // line become a sibling bullet, heading, quote, or code block.
60
- return value
61
- .replace(/\r\n?/gu, '\n')
62
- .replace(/\n/gu, ' ↵ ')
63
- .replace(/([\\`*_[\]<>#])/gu, '\\$1');
64
- }
65
- function inlineCode(value) {
66
- const longest = Math.max(0, ...(value.match(/`+/gu) ?? []).map((run) => run.length));
67
- const fence = '`'.repeat(longest + 1);
68
- const padding = value.startsWith('`') || value.endsWith('`') ? ' ' : '';
69
- return `${fence}${padding}${value}${padding}${fence}`;
70
- }
71
- function basisText(basis, labels) {
72
- return `**${labels.basis}:** ${labels.basisNames[basis]}`;
73
- }
74
- function verifierText(check, labels) {
75
- const command = [check.executable, ...check.arguments].map(inlineCode).join(' ');
76
- return `${command} — **${labels.commandKind}:** ${inlineCode(check.category)}; **${labels.directory}:** ${inlineCode(check.directory)}; **${labels.timeout}:** ${check.timeoutMs} ms`;
77
- }
78
- function bulletList(values, labels, render = escapeMarkdownText) {
79
- return values.length === 0 ? [`- ${labels.none}`] : values.map((value) => `- ${render(value)}`);
80
- }
81
- function confirmationText(confirmation) {
82
- const labels = CONFIRMATION_LABELS[confirmation.language];
83
- const lines = [
84
- `# ${escapeMarkdownText(confirmation.title)}`,
85
- '',
86
- `## ${labels.summary}`,
87
- '',
88
- basisText(confirmation.summary.basis, labels),
89
- '',
90
- escapeMarkdownText(confirmation.summary.text),
91
- '',
92
- `## ${labels.scope}`,
93
- '',
94
- basisText(confirmation.scope.basis, labels),
95
- '',
96
- ...bulletList(confirmation.scope.paths, labels, inlineCode),
97
- '',
98
- `## ${labels.exclusions}`,
99
- '',
100
- basisText(confirmation.exclusions.basis, labels),
101
- '',
102
- ...bulletList(confirmation.exclusions.paths, labels, inlineCode),
103
- '',
104
- `## ${labels.completion}`,
105
- '',
106
- basisText(confirmation.completion.basis, labels),
107
- '',
108
- ...bulletList(confirmation.completion.items, labels),
109
- '',
110
- `## ${labels.skills}`,
111
- '',
112
- ...(confirmation.skills.length === 0 ? [`- ${labels.none}`] : confirmation.skills.map((skill) => {
113
- const purposes = skill.purposes.map((purpose) => labels.purposeNames[purpose] ?? purpose).join(', ') || labels.none;
114
- return `- ${inlineCode(skill.label)} — ${basisText(skill.basis, labels)}; ${skill.required ? labels.required : labels.optional}; ${skill.referenceOnly ? labels.referenceOnly : labels.available}; **${labels.purposes}:** ${escapeMarkdownText(purposes)}`;
115
- })),
116
- '',
117
- `## ${labels.workItems}`,
118
- ];
119
- if (confirmation.workItems.length === 0)
120
- lines.push('', `- ${labels.none}`);
121
- for (const item of confirmation.workItems) {
122
- lines.push('', `### ${item.number}. ${escapeMarkdownText(item.summary)}`, '', `- ${basisText(confirmation.summary.basis, labels)}`, `- **${labels.paths}:** ${item.paths.length === 0 ? labels.none : item.paths.map(inlineCode).join(', ')}`, `- **${labels.dependsOn}:** ${item.dependsOn.join(', ') || labels.none}`, `- **${labels.doneWhen}:**`, ...(item.doneWhen.length === 0 ? [` - ${labels.none}`] : item.doneWhen.map((value) => ` - ${escapeMarkdownText(value)}`)), `- **${labels.checks}:**`, ...(item.checks.length === 0 ? [` - ${labels.none}`] : item.checks.map((check) => ` - ${verifierText(check, labels)}`)), `- **${labels.expertise}:**`, ...(item.expertise.length === 0 ? [` - ${labels.none}`] : item.expertise.map((expertise) => (` - ${escapeMarkdownText(expertise.area)} — ${basisText(expertise.basis, labels)}; ${escapeMarkdownText(expertise.reason)}`))));
123
- }
124
- lines.push('', `## ${labels.finalChecks}`, '', basisText(confirmation.finalChecks.basis, labels), '', ...(confirmation.finalChecks.checks.length === 0
125
- ? [`- ${labels.none}`]
126
- : confirmation.finalChecks.checks.map((check) => `- ${verifierText(check, labels)}`)), '', `## ${labels.attemptLimit}`, '', basisText(confirmation.attemptLimit.basis, labels), '', `- **${labels.maximumAttempts}:** ${confirmation.attemptLimit.maxAttempts}`);
127
- if (confirmation.executionConditions?.length) {
128
- lines.push('', confirmation.language === 'ja' ? '## 追加の作業条件(承認対象)' : '## Additional task conditions (included in this approval)', '', ...bulletList(confirmation.executionConditions, labels));
129
- }
130
- return lines.join('\n');
131
- }
132
- /** Render only the public confirmation projection; internal directive fields never cross this boundary. */
133
- export function renderDshConfirmation(confirmation) {
134
- return confirmationText(confirmation);
135
- }
136
- /** Keep plan-recovery choices user-facing and free of machine identity fields. */
137
- export function renderDshPlanRecovery(recovery) {
138
- return renderPlanStartRecovery(recovery);
139
- }
140
- /** Adapt one explicit confirmation choice to dsh UserQuestions. */
141
- export function createDshConfirmationAnswerer(service) {
142
- return {
143
- async ask(confirmation, signal, agent) {
144
- const labels = CONFIRMATION_LABELS[confirmation.language];
145
- // DSH's dedicated plan-review surface deliberately accepts a binary
146
- // decision. Revision remains available through its "Chat about it"
147
- // action, which dismisses this wait and returns the composer to the user.
148
- const options = confirmation.actions
149
- .filter((action) => action === 'approve' || action === 'cancel')
150
- .map((label) => ({
151
- label,
152
- description: label === 'approve'
153
- ? labels.approveDescription
154
- : labels.cancelDescription,
155
- }));
156
- const result = await service.ask({
157
- questions: [{
158
- id: 'kiokuko-plan-confirmation',
159
- question: labels.question,
160
- detail: renderDshConfirmation(confirmation),
161
- options,
162
- multiSelect: false,
163
- intent: { kind: 'plan-review', approve: 'approve' },
164
- }],
165
- ...(agent === undefined ? {} : { agent }),
166
- ...(signal === undefined ? {} : { signal }),
167
- });
168
- const answer = result.answers[0];
169
- if (answer === undefined || answer.id !== 'kiokuko-plan-confirmation')
170
- conflict('Confirmation answer does not match the current request');
171
- const selected = answer.selected.filter((value) => confirmation.actions.includes(value));
172
- if (selected.length !== 1)
173
- conflict('Confirmation requires exactly one supported action');
174
- const action = selected[0];
175
- const requestedChanges = answer.custom?.trim();
176
- if (action === 'revise' && !requestedChanges)
177
- conflict('Revision requires a non-empty description of the requested changes');
178
- if (action !== 'revise' && requestedChanges !== undefined && requestedChanges.length > 0)
179
- conflict('Only a revision may carry requested changes');
180
- return { action, ...(requestedChanges === undefined ? {} : { requestedChanges }) };
181
- },
182
- };
25
+ export { conflict as dshUserQuestionConflict };
26
+ /** Adapt one explicit user-question answer to a single selection. */
27
+ export async function requireSingleSelection(service, input, agent, signal) {
28
+ const result = await service.ask({
29
+ questions: [{
30
+ id: input.questionId,
31
+ question: input.question,
32
+ ...(input.detail === undefined ? {} : { detail: input.detail }),
33
+ }],
34
+ ...(agent === undefined ? {} : { agent }),
35
+ ...(signal === undefined ? {} : { signal }),
36
+ });
37
+ const answer = result.answers[0];
38
+ if (answer === undefined || answer.id !== input.questionId)
39
+ conflict('Answer does not match the current request');
40
+ const selected = answer.selected[0]?.trim();
41
+ if (!selected)
42
+ conflict('A single selection is required');
43
+ return selected;
183
44
  }
184
45
  //# sourceMappingURL=user-interaction.js.map