kiokuko-dsh 0.1.21 → 0.1.23

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 (43) hide show
  1. package/dist/client.cjs +23 -1
  2. package/dist/client.d.ts +9 -3
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/dsh/boundary-worker.d.ts +8 -1
  5. package/dist/dsh/boundary-worker.d.ts.map +1 -1
  6. package/dist/dsh/boundary-worker.js +100 -22
  7. package/dist/dsh/boundary-worker.js.map +1 -1
  8. package/dist/dsh/completion-report.d.ts +25 -0
  9. package/dist/dsh/completion-report.d.ts.map +1 -0
  10. package/dist/dsh/completion-report.js +88 -0
  11. package/dist/dsh/completion-report.js.map +1 -0
  12. package/dist/dsh/continuation.d.ts +1 -0
  13. package/dist/dsh/continuation.d.ts.map +1 -1
  14. package/dist/dsh/continuation.js +19 -5
  15. package/dist/dsh/continuation.js.map +1 -1
  16. package/dist/dsh/enno-controller.d.ts +6 -0
  17. package/dist/dsh/enno-controller.d.ts.map +1 -1
  18. package/dist/dsh/enno-controller.js +42 -14
  19. package/dist/dsh/enno-controller.js.map +1 -1
  20. package/dist/dsh/host-adapter.d.ts.map +1 -1
  21. package/dist/dsh/host-adapter.js +365 -19
  22. package/dist/dsh/host-adapter.js.map +1 -1
  23. package/dist/dsh/loop-guard.d.ts +43 -0
  24. package/dist/dsh/loop-guard.d.ts.map +1 -0
  25. package/dist/dsh/loop-guard.js +206 -0
  26. package/dist/dsh/loop-guard.js.map +1 -0
  27. package/dist/dsh/tools.d.ts.map +1 -1
  28. package/dist/dsh/tools.js +41 -20
  29. package/dist/dsh/tools.js.map +1 -1
  30. package/dist/dsh/turn-process.d.ts +15 -1
  31. package/dist/dsh/turn-process.d.ts.map +1 -1
  32. package/dist/dsh/turn-process.js +69 -11
  33. package/dist/dsh/turn-process.js.map +1 -1
  34. package/dist/model-tools/registry.d.ts +6 -0
  35. package/dist/model-tools/registry.d.ts.map +1 -1
  36. package/dist/model-tools/registry.js +35 -0
  37. package/dist/model-tools/registry.js.map +1 -1
  38. package/docs/database.md +14 -0
  39. package/docs/dsh-plugin.md +24 -6
  40. package/migrations/004_dsh_loop_guard.sql +46 -0
  41. package/migrations/005_dsh_completion_recovery.sql +118 -0
  42. package/package.json +1 -1
  43. package/skills/kiokuko-enno-oduno/SKILL.md +1 -0
@@ -0,0 +1,206 @@
1
+ import { KiokukoError } from '../errors.js';
2
+ import { canonicalContentHash } from '../serialization/validate.js';
3
+ export const DSH_AUTOMATIC_CONTINUATION_LIMIT = 3;
4
+ function identity(value, label, maximum = 256) {
5
+ if (value.length === 0 || value.length > maximum || /[\p{Cc}\p{Cf}]/u.test(value)) {
6
+ throw new KiokukoError('VALIDATION_ERROR', `${label} is invalid`);
7
+ }
8
+ return value;
9
+ }
10
+ function digest(value, label) {
11
+ if (!/^[0-9a-f]{64}$/u.test(value))
12
+ throw new KiokukoError('VALIDATION_ERROR', `${label} must be a SHA-256 digest`);
13
+ return value;
14
+ }
15
+ function omitUndefined(value) {
16
+ if (Array.isArray(value))
17
+ return value.map((item) => item === undefined ? null : omitUndefined(item));
18
+ if (typeof value !== 'object' || value === null)
19
+ return value;
20
+ return Object.fromEntries(Object.entries(value)
21
+ .filter(([, child]) => child !== undefined)
22
+ .map(([key, child]) => [key, omitUndefined(child)]));
23
+ }
24
+ /**
25
+ * Hash only authoritative progress. Native turn IDs, receipts, validation
26
+ * input/failure digests, error prose, and raw task text are deliberately absent.
27
+ */
28
+ export function ennoInstructionDigest(snapshot, directive) {
29
+ const currentWorkUnitId = directive?.workUnit?.id ?? null;
30
+ const currentWorkUnit = currentWorkUnitId === null
31
+ ? null
32
+ : snapshot.workUnits.find((candidate) => candidate.workUnit.id === currentWorkUnitId) ?? null;
33
+ return canonicalContentHash(omitUndefined({
34
+ contractRevision: snapshot.revision,
35
+ mutationRevision: snapshot.mutationRevision,
36
+ routeEpoch: snapshot.routeEpoch ?? 0,
37
+ status: snapshot.status,
38
+ attempts: snapshot.attempts,
39
+ currentWorkUnit: currentWorkUnit === null ? null : {
40
+ id: currentWorkUnit.workUnit.id,
41
+ status: currentWorkUnit.status,
42
+ attemptCount: currentWorkUnit.attemptCount,
43
+ },
44
+ finalEvidenceReady: snapshot.finalEvidenceReady,
45
+ finalEvidence: snapshot.finalEvidence.map((item) => ({
46
+ status: item.status,
47
+ stdoutDigest: item.stdoutDigest,
48
+ stderrDigest: item.stderrDigest,
49
+ changedDuringVerification: item.changedDuringVerification ?? false,
50
+ })),
51
+ advisoryPhaseState: snapshot.advisoryPhaseState ?? { state: 'not_started' },
52
+ directive,
53
+ }));
54
+ }
55
+ /** Compatibility digest for the legacy controller, which owns no core DB. */
56
+ export function ennoStateInstructionDigest(state) {
57
+ return canonicalContentHash(omitUndefined({
58
+ status: state.status ?? null,
59
+ contractRevision: state.contractRevision ?? null,
60
+ routeEpoch: state.routeEpoch ?? null,
61
+ currentRole: state.currentRole ?? null,
62
+ nextAction: state.nextAction,
63
+ advisoryPhaseState: state.advisoryPhaseState ?? { state: 'not_started' },
64
+ directive: state.directive ?? null,
65
+ }));
66
+ }
67
+ export function claimAutomaticContinuationInTransaction(database, input) {
68
+ const claimId = digest(input.claimId, 'claimId');
69
+ const runId = identity(input.runId, 'runId');
70
+ const dshSessionId = identity(input.dshSessionId, 'dshSessionId');
71
+ const instructionDigest = digest(input.instructionDigest, 'instructionDigest');
72
+ const existingClaim = database.prepare(`
73
+ SELECT decision, ordinal, generation, resolution
74
+ FROM dsh_loop_guard_claims WHERE claim_id = ?
75
+ `).get(claimId);
76
+ if (existingClaim !== undefined) {
77
+ return Object.freeze({
78
+ claimId,
79
+ decision: existingClaim.resolution === 'user_answer' ? 'deliver' : existingClaim.decision,
80
+ ordinal: existingClaim.ordinal,
81
+ generation: existingClaim.generation,
82
+ recovered: existingClaim.resolution === 'user_answer',
83
+ replayed: true,
84
+ });
85
+ }
86
+ const now = input.now ?? new Date().toISOString();
87
+ let state = database.prepare(`
88
+ SELECT instruction_digest AS instructionDigest, generation,
89
+ automatic_count AS automaticCount, status
90
+ FROM dsh_loop_guard_states
91
+ WHERE run_id = ? AND dsh_session_id = ?
92
+ `).get(runId, dshSessionId);
93
+ if (state === undefined) {
94
+ database.prepare(`
95
+ INSERT INTO dsh_loop_guard_states (
96
+ run_id, dsh_session_id, instruction_digest, generation,
97
+ automatic_count, status, blocked_claim_id, created_at, updated_at
98
+ ) VALUES (?, ?, ?, 0, 0, 'active', NULL, ?, ?)
99
+ `).run(runId, dshSessionId, instructionDigest, now, now);
100
+ state = { instructionDigest, generation: 0, automaticCount: 0, status: 'active' };
101
+ }
102
+ const sameInstruction = state.instructionDigest === instructionDigest;
103
+ const generation = sameInstruction ? state.generation : state.generation + 1;
104
+ const previousCount = sameInstruction ? state.automaticCount : 0;
105
+ const ordinal = Math.min(previousCount + 1, DSH_AUTOMATIC_CONTINUATION_LIMIT + 1);
106
+ const decision = previousCount >= DSH_AUTOMATIC_CONTINUATION_LIMIT
107
+ ? 'wait_user'
108
+ : 'deliver';
109
+ const automaticCount = decision === 'deliver' ? ordinal : DSH_AUTOMATIC_CONTINUATION_LIMIT;
110
+ database.prepare(`
111
+ UPDATE dsh_loop_guard_states
112
+ SET instruction_digest = ?, generation = ?, automatic_count = ?,
113
+ status = ?, blocked_claim_id = ?, updated_at = ?
114
+ WHERE run_id = ? AND dsh_session_id = ?
115
+ `).run(instructionDigest, generation, automaticCount, decision === 'deliver' ? 'active' : 'waiting_user', decision === 'wait_user' ? claimId : null, now, runId, dshSessionId);
116
+ database.prepare(`
117
+ INSERT INTO dsh_loop_guard_claims (
118
+ claim_id, run_id, dsh_session_id, instruction_digest,
119
+ generation, ordinal, decision, resolution, created_at, question_asked_at, resolved_at
120
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, NULL, ?, NULL, NULL)
121
+ `).run(claimId, runId, dshSessionId, instructionDigest, generation, ordinal, decision, now);
122
+ return Object.freeze({ claimId, decision, ordinal, generation, recovered: false, replayed: false });
123
+ }
124
+ /** Claim the one allowed UI question before crossing the external question boundary. */
125
+ export function claimLoopRecoveryQuestionInTransaction(database, claimIdValue, now = new Date().toISOString()) {
126
+ const claimId = digest(claimIdValue, 'claimId');
127
+ const changed = database.prepare(`
128
+ UPDATE dsh_loop_guard_claims
129
+ SET question_asked_at = ?
130
+ WHERE claim_id = ? AND decision = 'wait_user'
131
+ AND question_asked_at IS NULL AND resolution IS NULL
132
+ RETURNING claim_id AS claimId
133
+ `).get(now, claimId);
134
+ return changed !== undefined;
135
+ }
136
+ export function resetLoopGuardForUserInTransaction(database, input) {
137
+ const runId = identity(input.runId, 'runId');
138
+ const dshSessionId = identity(input.dshSessionId, 'dshSessionId');
139
+ const now = input.now ?? new Date().toISOString();
140
+ const claimId = input.claimId === undefined ? undefined : digest(input.claimId, 'claimId');
141
+ if (claimId !== undefined) {
142
+ database.prepare(`
143
+ UPDATE dsh_loop_guard_claims
144
+ SET resolution = ?, resolved_at = ?
145
+ WHERE claim_id = ? AND run_id = ? AND dsh_session_id = ? AND resolution IS NULL
146
+ `).run(input.resolution, now, claimId, runId, dshSessionId);
147
+ }
148
+ else {
149
+ database.prepare(`
150
+ UPDATE dsh_loop_guard_claims
151
+ SET resolution = ?, resolved_at = ?
152
+ WHERE run_id = ? AND dsh_session_id = ? AND decision = 'wait_user' AND resolution IS NULL
153
+ `).run(input.resolution, now, runId, dshSessionId);
154
+ }
155
+ database.prepare(`
156
+ UPDATE dsh_loop_guard_states
157
+ SET instruction_digest = NULL, generation = generation + 1,
158
+ automatic_count = 0, status = 'active', blocked_claim_id = NULL, updated_at = ?
159
+ WHERE run_id = ? AND dsh_session_id = ?
160
+ `).run(now, runId, dshSessionId);
161
+ // The older resume limiter remains a secondary automatic bound, but an
162
+ // explicit user intervention starts a new recovery generation there too.
163
+ database.prepare(`
164
+ UPDATE enno_dsh_continuations
165
+ SET continuation_count = 0, total_count = 0, updated_at = ?
166
+ WHERE run_id = ? AND dsh_session_id = ?
167
+ `).run(now, runId, dshSessionId);
168
+ }
169
+ export function claimBoundaryEffectInTransaction(database, job, progressDigestValue, now = new Date().toISOString()) {
170
+ const progressDigest = digest(progressDigestValue, 'progressDigest');
171
+ const row = database.prepare(`
172
+ SELECT progress_digest AS progressDigest, progress_count AS progressCount,
173
+ progress_claim_attempt AS progressClaimAttempt, progress_waiting AS progressWaiting
174
+ FROM dsh_boundary_jobs
175
+ WHERE job_id = ? AND status = 'processing' AND owner_nonce = ?
176
+ `).get(job.jobId, job.ownerNonce);
177
+ if (row === undefined)
178
+ throw new KiokukoError('CONFLICT', 'Boundary effect lease changed before progress claim');
179
+ if (row.progressClaimAttempt === job.attemptCount) {
180
+ return Object.freeze({
181
+ decision: row.progressWaiting === 1 ? 'wait_user' : 'deliver',
182
+ ordinal: row.progressWaiting === 1 ? DSH_AUTOMATIC_CONTINUATION_LIMIT + 1 : row.progressCount,
183
+ });
184
+ }
185
+ const previousCount = row.progressDigest === progressDigest ? row.progressCount : 0;
186
+ const ordinal = Math.min(previousCount + 1, DSH_AUTOMATIC_CONTINUATION_LIMIT + 1);
187
+ const decision = previousCount >= DSH_AUTOMATIC_CONTINUATION_LIMIT
188
+ ? 'wait_user'
189
+ : 'deliver';
190
+ database.prepare(`
191
+ UPDATE dsh_boundary_jobs
192
+ SET progress_digest = ?, progress_count = ?, progress_claim_attempt = ?,
193
+ progress_waiting = ?, updated_at = ?
194
+ WHERE job_id = ? AND status = 'processing' AND owner_nonce = ?
195
+ `).run(progressDigest, decision === 'deliver' ? ordinal : DSH_AUTOMATIC_CONTINUATION_LIMIT, job.attemptCount, decision === 'wait_user' ? 1 : 0, now, job.jobId, job.ownerNonce);
196
+ return Object.freeze({ decision, ordinal });
197
+ }
198
+ export function resetBoundaryEffectGuardInTransaction(database, job, now = new Date().toISOString()) {
199
+ database.prepare(`
200
+ UPDATE dsh_boundary_jobs
201
+ SET progress_digest = NULL, progress_count = 0,
202
+ progress_claim_attempt = NULL, progress_waiting = 0, updated_at = ?
203
+ WHERE job_id = ? AND status = 'processing' AND owner_nonce = ?
204
+ `).run(now, job.jobId, job.ownerNonce);
205
+ }
206
+ //# sourceMappingURL=loop-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../src/dsh/loop-guard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/dsh/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/dsh/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACrG,OAAO,EAAyE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGnI,eAAO,MAAM,2BAA2B,uJAQc,CAAA;AAEtD,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAA;AAOlF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,8EAA8E;QAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,sFAAsF;QACtF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAChC,CAAA;IACD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;QAC3B,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAChH,CAAA;IACD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,GAAG,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5G;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;IAC1F,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5I;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAAA;KACpD,CAAA;CACF;AA4DD,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAiB3H;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAChD,kBAAkB,CAyBpB;AA6CD,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,iBAAiB,EAAE,CAiCxF;AAED,+DAA+D;AAC/D,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,iBAAiB,EAAE,CAE7F;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,GAAG,EAAE,0BAA0B,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,CAG5F;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,0BAA0B,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,CAGjG;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,uBAAuB,CAEvF"}
package/dist/dsh/tools.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { canonicalContentHash } from '../serialization/validate.js';
2
2
  import { MODEL_TOOL_OPERATION_NAMES } from '../model-tools/contracts.js';
3
- import { modelFacingInputSchema, modelToolContract } from '../model-tools/registry.js';
3
+ import { modelFacingInputSchema, modelFacingTransportSchema, modelToolContract } from '../model-tools/registry.js';
4
4
  import { KiokukoError } from '../errors.js';
5
5
  export const DSH_MODEL_FACING_OPERATIONS = [
6
6
  'enno_plan_submit',
@@ -123,44 +123,64 @@ export function bindDshToolInvocation(execution, state) {
123
123
  return Object.freeze({ ...state, idempotencyKey: dshToolIdempotencyKey(execution) });
124
124
  }
125
125
  function descriptionFor(operation) {
126
- return `Kiokuko ${operation} semantic operation. Host identity, routing, lease, and idempotency fields are supplied by the dsh host. The result is a TurnOutcome: applied results carry the business response in value and the next-turn state in handoff; predictable rejections return retry or clarify without a tool transport error. The business payload contract is: ${JSON.stringify(modelFacingInputSchema(operation))}`;
126
+ return `Kiokuko ${operation} semantic operation. Supply nested values as their native JSON types; never encode an object or array as a JSON string. Host identity, routing, lease, and idempotency fields are supplied by the dsh host. The result is a TurnOutcome: applied results carry the business response in value and the next-turn state in handoff; predictable rejections return retry or clarify without a tool transport error. The business payload contract is: ${JSON.stringify(modelFacingInputSchema(operation))}`;
127
127
  }
128
- function concludesDshTurn(value) {
128
+ function ennoNextAction(value) {
129
129
  if (typeof value !== 'object' || value === null || Array.isArray(value))
130
- return false;
130
+ return undefined;
131
131
  const outcome = value;
132
- if (outcome.kind === 'retry' || outcome.kind === 'clarify' || outcome.kind === 'waiting_user')
133
- return true;
134
132
  const businessValue = outcome.kind === 'applied' && 'value' in outcome
135
133
  ? outcome.value
136
134
  : value;
135
+ if (typeof businessValue !== 'object' || businessValue === null || Array.isArray(businessValue))
136
+ return undefined;
137
137
  const ennoOduno = businessValue.ennoOduno;
138
138
  if (typeof ennoOduno !== 'object' || ennoOduno === null || Array.isArray(ennoOduno))
139
- return false;
139
+ return undefined;
140
140
  const nextAction = ennoOduno.nextAction;
141
+ return typeof nextAction === 'string' && nextAction.length > 0 ? nextAction : undefined;
142
+ }
143
+ function concludesDshTurn(value) {
144
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
145
+ return false;
146
+ const outcome = value;
147
+ if (outcome.kind === 'retry' || outcome.kind === 'clarify' || outcome.kind === 'waiting_user')
148
+ return true;
149
+ const nextAction = ennoNextAction(value);
141
150
  // Every successful phase mutation owns one model turn. The durable seal is
142
- // committed with the Enno receipt before this marker is observed.
143
- return typeof nextAction === 'string' && nextAction.length > 0;
151
+ // committed with the Enno receipt before this marker is observed. Terminal
152
+ // states are the exception: the model must consume the successful result and
153
+ // emit the user-facing completion/blocker report before the native turn ends.
154
+ return nextAction !== undefined && nextAction !== 'complete' && nextAction !== 'report_blocker';
155
+ }
156
+ const TERMINAL_REPORT_INSTRUCTION = "Kiokuko reached a terminal state. Do not call another tool. Return a visible final assistant response in the user's language now. Lead with the outcome; summarize what changed, the verification performed and its results, and any remaining issues or uncertainty. Do not expose internal Enno/DSH identities or protocol fields.";
157
+ function renderDshToolResult(value) {
158
+ const blocks = [{
159
+ type: 'text',
160
+ text: typeof value === 'string' ? value : JSON.stringify(value),
161
+ }];
162
+ const nextAction = ennoNextAction(value);
163
+ if (nextAction === 'complete' || nextAction === 'report_blocker') {
164
+ blocks.push({ type: 'text', text: TERMINAL_REPORT_INSTRUCTION });
165
+ }
166
+ return Object.freeze(blocks);
144
167
  }
145
168
  /** Build the exact seven-operation model tool set. */
146
169
  export function createDshToolDefinitions(host) {
147
170
  return Object.freeze(MODEL_TOOL_OPERATION_NAMES.map((operation) => Object.freeze({
148
171
  name: operation,
149
172
  description: descriptionFor(operation),
150
- // DSH validates this transport schema before invoking the handler. Keep it
151
- // intentionally broad so predictable business validation can be returned
152
- // as a bounded retry/clarify outcome instead of an uncatchable tool error.
153
- parameters: Object.freeze({ type: 'object', additionalProperties: true }),
173
+ // DSH validates this transport schema before invoking the handler. Publish
174
+ // the actual JSON shape so a nested object cannot arrive double-encoded as
175
+ // a string, but leave requiredness and value rules to business validation.
176
+ parameters: Object.freeze(modelFacingTransportSchema(operation)),
154
177
  modelFacing: modelFacingSet.has(operation),
155
178
  // `{}` is the dsh JSON-schema spelling for any lossless JSON value. The
156
179
  // Kiokuko operation registry owns the input/output semantic schemas; this
157
180
  // declaration only satisfies dsh's native tool registration contract.
158
181
  output: {
159
182
  schema: Object.freeze({}),
160
- render: (_args, value) => Object.freeze([{
161
- type: 'text',
162
- text: typeof value === 'string' ? value : JSON.stringify(value),
163
- }]),
183
+ render: (_args, value) => renderDshToolResult(value),
164
184
  },
165
185
  execute: async (args, rawExecution) => {
166
186
  const normalized = normalizeExecution(rawExecution);
@@ -172,9 +192,10 @@ export function createDshToolDefinitions(host) {
172
192
  const execution = Object.freeze({ ...normalized, arguments: args });
173
193
  const binding = bindDshToolInvocation(execution, host.bind(execution));
174
194
  const value = await host.execute(operation, args, binding, execution.signal);
175
- // The result's nextAction, rather than the operation name, owns the
176
- // terminal marker. DSH appends this successful tool/result before it
177
- // observes concludesTurn and enters the awaited turn-stopping seam.
195
+ // The result's nextAction, rather than the operation name, owns the turn
196
+ // boundary. DSH appends successful tool/results before observing
197
+ // concludeTurn. Terminal results deliberately stay open for one final,
198
+ // visible assistant response.
178
199
  if (concludesDshTurn(value))
179
200
  rawExecution.concludeTurn?.();
180
201
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/dsh/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/dsh/tools.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { KiokukoError } from '../errors.js';
3
3
  import type { AkinatorQuestion } from '../akinator/types.js';
4
4
  export declare const DSH_TURN_HANDOFF_MAX_BYTES: number;
5
5
  export declare const DSH_TURN_FAILURE_MAX_BYTES: number;
6
+ export declare const DSH_BOUNDARY_JOB_MAX_ATTEMPTS = 3;
6
7
  export type DshTurnPhase = 'intake' | 'ideal' | 'planning' | 'confirmation' | 'work_unit' | 'final_verification' | 'final_review' | 'meditation' | 'complete';
7
8
  export type DshEnnoReceiptOperation = 'ideal_submit' | 'advice_submit' | 'plan_submit' | 'answer' | 'work_report' | 'finish' | 'meditation_submit' | 'verify_prepare';
8
9
  export interface FailureFact {
@@ -50,6 +51,7 @@ export interface PrepareTurnIntentInput {
50
51
  readonly phase: DshTurnPhase;
51
52
  readonly contractRevision: number;
52
53
  readonly workUnitId?: string;
54
+ readonly executionAttempt?: number;
53
55
  readonly inputDigest: string;
54
56
  readonly operation: DshEnnoReceiptOperation;
55
57
  readonly idempotencyKey: string;
@@ -92,6 +94,10 @@ export interface DshBoundaryJob {
92
94
  /** Prepare immutable identity before an Enno operation begins. */
93
95
  export declare function prepareTurnIntentInTransaction(database: SqliteDatabase, raw: PrepareTurnIntentInput): PreparedTurnIntent;
94
96
  export declare function prepareTurnIntent(database: SqliteDatabase, input: PrepareTurnIntentInput): PreparedTurnIntent;
97
+ /** A natural model stop is not phase completion. Give it the same durable delivery guard. */
98
+ export declare function enqueueUnsubmittedTurn(database: SqliteDatabase, input: PrepareTurnIntentInput & {
99
+ readonly nextAction: string;
100
+ }): void;
95
101
  export declare function readTurnSeal(database: SqliteDatabase, dshSessionId: string, nativeTurn: number): DshTurnSeal | undefined;
96
102
  export declare function isExpectedTurnFailure(error: unknown): error is KiokukoError;
97
103
  export interface CommitExpectedFailureInput extends PrepareTurnIntentInput {
@@ -109,6 +115,9 @@ export declare function markOutboxDispatchedInTransaction(database: SqliteDataba
109
115
  export declare function markOutboxObservedInTransaction(database: SqliteDatabase, continuationId: string, sequence: number, now?: string): void;
110
116
  export declare function supersedeOutboxBeforeRevisionInTransaction(database: SqliteDatabase, sessionId: string, revision: number, now?: string): void;
111
117
  export declare function supersedeOutboxAtOrBeforeRevisionInTransaction(database: SqliteDatabase, sessionId: string, revision: number, now?: string): void;
118
+ export declare function supersedeBoundaryJobsAtOrBeforeRevisionInTransaction(database: SqliteDatabase, sessionId: string, revision: number, now?: string): void;
119
+ /** Reconstruct timers from durable state, including a crashed owner's lease. */
120
+ export declare function nextBoundaryWakeAt(database: SqliteDatabase, sessionId: string): string | undefined;
112
121
  export declare function claimBoundaryJobInTransaction(database: SqliteDatabase, ownerNonceValue: string, now?: string, sessionId?: string): DshBoundaryJob | undefined;
113
122
  export type DshBoundaryCompletion = {
114
123
  readonly kind: 'completed';
@@ -119,7 +128,12 @@ export type DshBoundaryCompletion = {
119
128
  readonly kind: 'superseded';
120
129
  };
121
130
  export declare function completeBoundaryJobInTransaction(database: SqliteDatabase, job: DshBoundaryJob, completion: DshBoundaryCompletion, now?: string): void;
122
- export declare function failBoundaryJobInTransaction(database: SqliteDatabase, job: DshBoundaryJob, error: unknown, now?: string): string;
131
+ export declare function failBoundaryJobInTransaction(database: SqliteDatabase, job: DshBoundaryJob, error: unknown, now?: string): {
132
+ readonly kind: 'retry';
133
+ readonly retryAt: string;
134
+ } | {
135
+ readonly kind: 'waiting_user';
136
+ };
123
137
  export declare function replacePendingOutboxMessageInTransaction(database: SqliteDatabase, receiptIdValue: string, message: unknown, now?: string): void;
124
138
  export declare function phaseForOperation(operation: string): DshTurnPhase | undefined;
125
139
  export declare function ennoReceiptOperation(operation: string): DshEnnoReceiptOperation | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"turn-process.d.ts","sourceRoot":"","sources":["../../src/dsh/turn-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-process.d.ts","sourceRoot":"","sources":["../../src/dsh/turn-process.ts"],"names":[],"mappings":"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"}