@deepstrike/wasm-kernel 0.2.49 → 0.2.51

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.
@@ -27,6 +27,28 @@ export interface Verdict {
27
27
  skillCandidate?: SkillCandidate;
28
28
  }
29
29
 
30
+ export interface CanonicalCheckpoint {
31
+ checkpointBytes: Uint8Array;
32
+ throughStepSeq: string;
33
+ coveredHead: string;
34
+ stateDigest: string;
35
+ ackToken: string;
36
+ }
37
+
38
+ export interface CanonicalCommit {
39
+ stepSeq: string;
40
+ recordDigest: string;
41
+ plannedStepJson: string;
42
+ checkpointAdviceJson?: string;
43
+ }
44
+
45
+ export interface CanonicalRestoreCost {
46
+ recordsBeforeCheckpoint: string;
47
+ tailInputsReplayed: string;
48
+ recordsAfterCheckpoint: string;
49
+ bytesRead: string;
50
+ }
51
+
30
52
  export interface ContentPartObj {
31
53
  type: string;
32
54
  text?: string;
@@ -210,6 +232,43 @@ export interface ToolSchema {
210
232
  parameters: string;
211
233
  }
212
234
 
235
+ export type CanonicalLifecycle = "created" | "configured" | "running" | "suspended" | "completed" | "cancelled" | "failed";
236
+
237
+ export type CanonicalPreparation = { status: "prepared"; prepareToken: string; stepSeq: string; expectedHead?: string; recordDigest: string; recordBytes: Uint8Array; plannedStepJson: string } | { status: "replayed"; stepSeq: string; expectedHead?: string; recordDigest: string; recordBytes?: Uint8Array; plannedStepJson?: string } | { status: "rejected"; faultJson: string };
238
+
239
+ export type CanonicalRecordBytes = Uint8Array[];
240
+
241
+
242
+ /**
243
+ * Durable canonical operation handle. It exposes no direct `step` method.
244
+ */
245
+ export class CanonicalKernel {
246
+ free(): void;
247
+ [Symbol.dispose](): void;
248
+ /**
249
+ * Abort a candidate that did not reach the journal.
250
+ */
251
+ abort(prepare_token: string): void;
252
+ ackCheckpoint(through_step_seq: string, covered_head: string): void;
253
+ checkpointCandidate(): CanonicalCheckpoint;
254
+ checkpointRebase(checkpoint_bytes: Uint8Array): CanonicalCheckpoint;
255
+ /**
256
+ * Commit only after the journal appended the prepared record.
257
+ */
258
+ commit(prepare_token: string, appended_head: string): CanonicalCommit;
259
+ lifecycle(): CanonicalLifecycle;
260
+ constructor();
261
+ pendingEffectsJson(): string;
262
+ /**
263
+ * Strictly decode and prepare one canonical envelope.
264
+ */
265
+ prepare(input_json: string): CanonicalPreparation;
266
+ /**
267
+ * Replace this handle in place from checkpoint bytes plus post-checkpoint record bytes.
268
+ */
269
+ restore(checkpoint_bytes: Uint8Array | null | undefined, record_bytes: CanonicalRecordBytes): CanonicalRestoreCost;
270
+ terminalJson(): string | undefined;
271
+ }
213
272
 
214
273
  export class Governance {
215
274
  free(): void;
@@ -226,31 +285,6 @@ export class Governance {
226
285
  setTime(now_ms: number): void;
227
286
  }
228
287
 
229
- export class KernelRuntime {
230
- free(): void;
231
- [Symbol.dispose](): void;
232
- abortPrepared(prepare_token: string): void;
233
- commitPrepared(prepare_token: string): string;
234
- /**
235
- * Return a read-only JSON resource projection without mutating kernel state.
236
- */
237
- diagnostics(): string;
238
- drainNewMessages(): Message[];
239
- isTerminal(): boolean;
240
- constructor(policy: LoopPolicy);
241
- prepareStep(input_json: string): string;
242
- preservedRefs(): string[];
243
- recoveryContentBytes(): number;
244
- render(): RenderedContext;
245
- restore(snapshot_json: string): void;
246
- snapshot(): string;
247
- /**
248
- * Feed a JSON-encoded KernelInput and return a JSON-encoded KernelStep.
249
- */
250
- step(input_json: string): string;
251
- turn(): number;
252
- }
253
-
254
288
  export class SignalRouter {
255
289
  free(): void;
256
290
  [Symbol.dispose](): void;
@@ -273,6 +307,11 @@ export class SignalRouter {
273
307
  */
274
308
  export function buildEvalMessages(goal: string, criteria: Criterion[], result: string, attempt: number, extract_skill_on_pass: boolean): Message[];
275
309
 
310
+ /**
311
+ * The single ABI revision accepted by core. Hosts must read this export instead of copying it.
312
+ */
313
+ export function kernelAbiVersion(): number;
314
+
276
315
  /**
277
316
  * Parse the evaluator LLM's JSON response into a structured `Verdict`.
278
317
  */
@@ -5,5 +5,5 @@ import { __wbg_set_wasm } from "./deepstrike_wasm_bg.js";
5
5
  __wbg_set_wasm(wasm);
6
6
 
7
7
  export {
8
- Governance, KernelRuntime, SignalRouter, buildEvalMessages, parseVerdict, verdictOutputSchema
8
+ CanonicalKernel, Governance, SignalRouter, buildEvalMessages, kernelAbiVersion, parseVerdict, verdictOutputSchema
9
9
  } from "./deepstrike_wasm_bg.js";
@@ -1,145 +1,27 @@
1
- export class Governance {
2
- __destroy_into_raw() {
3
- const ptr = this.__wbg_ptr;
4
- this.__wbg_ptr = 0;
5
- GovernanceFinalization.unregister(this);
6
- return ptr;
7
- }
8
- free() {
9
- const ptr = this.__destroy_into_raw();
10
- wasm.__wbg_governance_free(ptr, 0);
11
- }
12
- /**
13
- * @param {string} pattern
14
- * @param {string} action
15
- */
16
- addPermissionRule(pattern, action) {
17
- const ptr0 = passStringToWasm0(pattern, wasm.__wbindgen_export, wasm.__wbindgen_export2);
18
- const len0 = WASM_VECTOR_LEN;
19
- const ptr1 = passStringToWasm0(action, wasm.__wbindgen_export, wasm.__wbindgen_export2);
20
- const len1 = WASM_VECTOR_LEN;
21
- wasm.governance_addPermissionRule(this.__wbg_ptr, ptr0, len0, ptr1, len1);
22
- }
23
- /**
24
- * @param {string} tool_name
25
- * @param {string} param_path
26
- * @param {string[]} allowed_values
27
- */
28
- allowParamValues(tool_name, param_path, allowed_values) {
29
- const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
30
- const len0 = WASM_VECTOR_LEN;
31
- const ptr1 = passStringToWasm0(param_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
32
- const len1 = WASM_VECTOR_LEN;
33
- const ptr2 = passArrayJsValueToWasm0(allowed_values, wasm.__wbindgen_export);
34
- const len2 = WASM_VECTOR_LEN;
35
- wasm.governance_allowParamValues(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
36
- }
37
- /**
38
- * @param {string} name
39
- */
40
- blockTool(name) {
41
- const ptr0 = passStringToWasm0(name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
42
- const len0 = WASM_VECTOR_LEN;
43
- wasm.governance_blockTool(this.__wbg_ptr, ptr0, len0);
44
- }
45
- /**
46
- * @param {string} tool_name
47
- * @param {string} args_json
48
- * @returns {GovernanceVerdict}
49
- */
50
- evaluate(tool_name, args_json) {
51
- const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
52
- const len0 = WASM_VECTOR_LEN;
53
- const ptr1 = passStringToWasm0(args_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
54
- const len1 = WASM_VECTOR_LEN;
55
- const ret = wasm.governance_evaluate(this.__wbg_ptr, ptr0, len0, ptr1, len1);
56
- return takeObject(ret);
57
- }
58
- /**
59
- * @param {string} tool_name
60
- * @param {string} param_path
61
- * @param {number | null} [min]
62
- * @param {number | null} [max]
63
- */
64
- limitParamRange(tool_name, param_path, min, max) {
65
- const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
66
- const len0 = WASM_VECTOR_LEN;
67
- const ptr1 = passStringToWasm0(param_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
68
- const len1 = WASM_VECTOR_LEN;
69
- wasm.governance_limitParamRange(this.__wbg_ptr, ptr0, len0, ptr1, len1, !isLikeNone(min), isLikeNone(min) ? 0 : min, !isLikeNone(max), isLikeNone(max) ? 0 : max);
70
- }
71
- /**
72
- * @param {string | null} [default_action]
73
- */
74
- constructor(default_action) {
75
- var ptr0 = isLikeNone(default_action) ? 0 : passStringToWasm0(default_action, wasm.__wbindgen_export, wasm.__wbindgen_export2);
76
- var len0 = WASM_VECTOR_LEN;
77
- const ret = wasm.governance_new(ptr0, len0);
78
- this.__wbg_ptr = ret;
79
- GovernanceFinalization.register(this, this.__wbg_ptr, this);
80
- return this;
81
- }
82
- /**
83
- * @param {string} tool_name
84
- * @param {string} param_path
85
- */
86
- requireParam(tool_name, param_path) {
87
- const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
88
- const len0 = WASM_VECTOR_LEN;
89
- const ptr1 = passStringToWasm0(param_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
90
- const len1 = WASM_VECTOR_LEN;
91
- wasm.governance_requireParam(this.__wbg_ptr, ptr0, len0, ptr1, len1);
92
- }
93
- /**
94
- * @param {string} agent_id
95
- * @param {string} session_id
96
- */
97
- setIdentity(agent_id, session_id) {
98
- const ptr0 = passStringToWasm0(agent_id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
99
- const len0 = WASM_VECTOR_LEN;
100
- const ptr1 = passStringToWasm0(session_id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
101
- const len1 = WASM_VECTOR_LEN;
102
- wasm.governance_setIdentity(this.__wbg_ptr, ptr0, len0, ptr1, len1);
103
- }
104
- /**
105
- * @param {string} tool_name
106
- * @param {number} max_calls
107
- * @param {number} window_ms
108
- */
109
- setRateLimit(tool_name, max_calls, window_ms) {
110
- const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
111
- const len0 = WASM_VECTOR_LEN;
112
- wasm.governance_setRateLimit(this.__wbg_ptr, ptr0, len0, max_calls, window_ms);
113
- }
114
- /**
115
- * @param {number} now_ms
116
- */
117
- setTime(now_ms) {
118
- wasm.governance_setTime(this.__wbg_ptr, now_ms);
119
- }
120
- }
121
- if (Symbol.dispose) Governance.prototype[Symbol.dispose] = Governance.prototype.free;
122
-
123
- export class KernelRuntime {
1
+ /**
2
+ * Durable canonical operation handle. It exposes no direct `step` method.
3
+ */
4
+ export class CanonicalKernel {
124
5
  __destroy_into_raw() {
125
6
  const ptr = this.__wbg_ptr;
126
7
  this.__wbg_ptr = 0;
127
- KernelRuntimeFinalization.unregister(this);
8
+ CanonicalKernelFinalization.unregister(this);
128
9
  return ptr;
129
10
  }
130
11
  free() {
131
12
  const ptr = this.__destroy_into_raw();
132
- wasm.__wbg_kernelruntime_free(ptr, 0);
13
+ wasm.__wbg_canonicalkernel_free(ptr, 0);
133
14
  }
134
15
  /**
16
+ * Abort a candidate that did not reach the journal.
135
17
  * @param {string} prepare_token
136
18
  */
137
- abortPrepared(prepare_token) {
19
+ abort(prepare_token) {
138
20
  try {
139
21
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
140
22
  const ptr0 = passStringToWasm0(prepare_token, wasm.__wbindgen_export, wasm.__wbindgen_export2);
141
23
  const len0 = WASM_VECTOR_LEN;
142
- wasm.kernelruntime_abortPrepared(retptr, this.__wbg_ptr, ptr0, len0);
24
+ wasm.canonicalkernel_abort(retptr, this.__wbg_ptr, ptr0, len0);
143
25
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
144
26
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
145
27
  if (r1) {
@@ -150,240 +32,319 @@ export class KernelRuntime {
150
32
  }
151
33
  }
152
34
  /**
153
- * @param {string} prepare_token
154
- * @returns {string}
35
+ * @param {string} through_step_seq
36
+ * @param {string} covered_head
155
37
  */
156
- commitPrepared(prepare_token) {
157
- let deferred3_0;
158
- let deferred3_1;
38
+ ackCheckpoint(through_step_seq, covered_head) {
159
39
  try {
160
40
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
161
- const ptr0 = passStringToWasm0(prepare_token, wasm.__wbindgen_export, wasm.__wbindgen_export2);
41
+ const ptr0 = passStringToWasm0(through_step_seq, wasm.__wbindgen_export, wasm.__wbindgen_export2);
162
42
  const len0 = WASM_VECTOR_LEN;
163
- wasm.kernelruntime_commitPrepared(retptr, this.__wbg_ptr, ptr0, len0);
43
+ const ptr1 = passStringToWasm0(covered_head, wasm.__wbindgen_export, wasm.__wbindgen_export2);
44
+ const len1 = WASM_VECTOR_LEN;
45
+ wasm.canonicalkernel_ackCheckpoint(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
164
46
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
165
47
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
166
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
167
- var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
168
- var ptr2 = r0;
169
- var len2 = r1;
170
- if (r3) {
171
- ptr2 = 0; len2 = 0;
172
- throw takeObject(r2);
48
+ if (r1) {
49
+ throw takeObject(r0);
173
50
  }
174
- deferred3_0 = ptr2;
175
- deferred3_1 = len2;
176
- return getStringFromWasm0(ptr2, len2);
177
51
  } finally {
178
52
  wasm.__wbindgen_add_to_stack_pointer(16);
179
- wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);
180
53
  }
181
54
  }
182
55
  /**
183
- * Return a read-only JSON resource projection without mutating kernel state.
184
- * @returns {string}
56
+ * @returns {CanonicalCheckpoint}
185
57
  */
186
- diagnostics() {
187
- let deferred2_0;
188
- let deferred2_1;
58
+ checkpointCandidate() {
189
59
  try {
190
60
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
191
- wasm.kernelruntime_diagnostics(retptr, this.__wbg_ptr);
61
+ wasm.canonicalkernel_checkpointCandidate(retptr, this.__wbg_ptr);
192
62
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
193
63
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
194
64
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
195
- var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
196
- var ptr1 = r0;
197
- var len1 = r1;
198
- if (r3) {
199
- ptr1 = 0; len1 = 0;
200
- throw takeObject(r2);
65
+ if (r2) {
66
+ throw takeObject(r1);
201
67
  }
202
- deferred2_0 = ptr1;
203
- deferred2_1 = len1;
204
- return getStringFromWasm0(ptr1, len1);
68
+ return takeObject(r0);
205
69
  } finally {
206
70
  wasm.__wbindgen_add_to_stack_pointer(16);
207
- wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);
208
71
  }
209
72
  }
210
73
  /**
211
- * @returns {Message[]}
74
+ * @param {Uint8Array} checkpoint_bytes
75
+ * @returns {CanonicalCheckpoint}
212
76
  */
213
- drainNewMessages() {
77
+ checkpointRebase(checkpoint_bytes) {
214
78
  try {
215
79
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
216
- wasm.kernelruntime_drainNewMessages(retptr, this.__wbg_ptr);
80
+ wasm.canonicalkernel_checkpointRebase(retptr, this.__wbg_ptr, addHeapObject(checkpoint_bytes));
217
81
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
218
82
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
219
- var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
220
- wasm.__wbindgen_export4(r0, r1 * 4, 4);
221
- return v1;
83
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
84
+ if (r2) {
85
+ throw takeObject(r1);
86
+ }
87
+ return takeObject(r0);
222
88
  } finally {
223
89
  wasm.__wbindgen_add_to_stack_pointer(16);
224
90
  }
225
91
  }
226
92
  /**
227
- * @returns {boolean}
93
+ * Commit only after the journal appended the prepared record.
94
+ * @param {string} prepare_token
95
+ * @param {string} appended_head
96
+ * @returns {CanonicalCommit}
228
97
  */
229
- isTerminal() {
230
- const ret = wasm.kernelruntime_isTerminal(this.__wbg_ptr);
231
- return ret !== 0;
98
+ commit(prepare_token, appended_head) {
99
+ try {
100
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
101
+ const ptr0 = passStringToWasm0(prepare_token, wasm.__wbindgen_export, wasm.__wbindgen_export2);
102
+ const len0 = WASM_VECTOR_LEN;
103
+ const ptr1 = passStringToWasm0(appended_head, wasm.__wbindgen_export, wasm.__wbindgen_export2);
104
+ const len1 = WASM_VECTOR_LEN;
105
+ wasm.canonicalkernel_commit(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
106
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
107
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
108
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
109
+ if (r2) {
110
+ throw takeObject(r1);
111
+ }
112
+ return takeObject(r0);
113
+ } finally {
114
+ wasm.__wbindgen_add_to_stack_pointer(16);
115
+ }
232
116
  }
233
117
  /**
234
- * @param {LoopPolicy} policy
118
+ * @returns {CanonicalLifecycle}
235
119
  */
236
- constructor(policy) {
237
- const ret = wasm.kernelruntime_new(addHeapObject(policy));
120
+ lifecycle() {
121
+ const ret = wasm.canonicalkernel_lifecycle(this.__wbg_ptr);
122
+ return takeObject(ret);
123
+ }
124
+ constructor() {
125
+ const ret = wasm.canonicalkernel_new();
238
126
  this.__wbg_ptr = ret;
239
- KernelRuntimeFinalization.register(this, this.__wbg_ptr, this);
127
+ CanonicalKernelFinalization.register(this, this.__wbg_ptr, this);
240
128
  return this;
241
129
  }
242
130
  /**
243
- * @param {string} input_json
244
131
  * @returns {string}
245
132
  */
246
- prepareStep(input_json) {
247
- let deferred3_0;
248
- let deferred3_1;
133
+ pendingEffectsJson() {
134
+ let deferred2_0;
135
+ let deferred2_1;
249
136
  try {
250
137
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
251
- const ptr0 = passStringToWasm0(input_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
252
- const len0 = WASM_VECTOR_LEN;
253
- wasm.kernelruntime_prepareStep(retptr, this.__wbg_ptr, ptr0, len0);
138
+ wasm.canonicalkernel_pendingEffectsJson(retptr, this.__wbg_ptr);
254
139
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
255
140
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
256
141
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
257
142
  var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
258
- var ptr2 = r0;
259
- var len2 = r1;
143
+ var ptr1 = r0;
144
+ var len1 = r1;
260
145
  if (r3) {
261
- ptr2 = 0; len2 = 0;
146
+ ptr1 = 0; len1 = 0;
262
147
  throw takeObject(r2);
263
148
  }
264
- deferred3_0 = ptr2;
265
- deferred3_1 = len2;
266
- return getStringFromWasm0(ptr2, len2);
267
- } finally {
268
- wasm.__wbindgen_add_to_stack_pointer(16);
269
- wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);
270
- }
271
- }
272
- /**
273
- * @returns {string[]}
274
- */
275
- preservedRefs() {
276
- try {
277
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
278
- wasm.kernelruntime_preservedRefs(retptr, this.__wbg_ptr);
279
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
280
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
281
- var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
282
- wasm.__wbindgen_export4(r0, r1 * 4, 4);
283
- return v1;
149
+ deferred2_0 = ptr1;
150
+ deferred2_1 = len1;
151
+ return getStringFromWasm0(ptr1, len1);
284
152
  } finally {
285
153
  wasm.__wbindgen_add_to_stack_pointer(16);
154
+ wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);
286
155
  }
287
156
  }
288
157
  /**
289
- * @returns {number}
290
- */
291
- recoveryContentBytes() {
292
- const ret = wasm.kernelruntime_recoveryContentBytes(this.__wbg_ptr);
293
- return ret >>> 0;
294
- }
295
- /**
296
- * @returns {RenderedContext}
297
- */
298
- render() {
299
- const ret = wasm.kernelruntime_render(this.__wbg_ptr);
300
- return takeObject(ret);
301
- }
302
- /**
303
- * @param {string} snapshot_json
158
+ * Strictly decode and prepare one canonical envelope.
159
+ * @param {string} input_json
160
+ * @returns {CanonicalPreparation}
304
161
  */
305
- restore(snapshot_json) {
162
+ prepare(input_json) {
306
163
  try {
307
164
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
308
- const ptr0 = passStringToWasm0(snapshot_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
165
+ const ptr0 = passStringToWasm0(input_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
309
166
  const len0 = WASM_VECTOR_LEN;
310
- wasm.kernelruntime_restore(retptr, this.__wbg_ptr, ptr0, len0);
167
+ wasm.canonicalkernel_prepare(retptr, this.__wbg_ptr, ptr0, len0);
311
168
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
312
169
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
313
- if (r1) {
314
- throw takeObject(r0);
170
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
171
+ if (r2) {
172
+ throw takeObject(r1);
315
173
  }
174
+ return takeObject(r0);
316
175
  } finally {
317
176
  wasm.__wbindgen_add_to_stack_pointer(16);
318
177
  }
319
178
  }
320
179
  /**
321
- * @returns {string}
180
+ * Replace this handle in place from checkpoint bytes plus post-checkpoint record bytes.
181
+ * @param {Uint8Array | null | undefined} checkpoint_bytes
182
+ * @param {CanonicalRecordBytes} record_bytes
183
+ * @returns {CanonicalRestoreCost}
322
184
  */
323
- snapshot() {
324
- let deferred2_0;
325
- let deferred2_1;
185
+ restore(checkpoint_bytes, record_bytes) {
326
186
  try {
327
187
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
328
- wasm.kernelruntime_snapshot(retptr, this.__wbg_ptr);
188
+ wasm.canonicalkernel_restore(retptr, this.__wbg_ptr, isLikeNone(checkpoint_bytes) ? 0 : addHeapObject(checkpoint_bytes), addHeapObject(record_bytes));
329
189
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
330
190
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
331
191
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
332
- var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
333
- var ptr1 = r0;
334
- var len1 = r1;
335
- if (r3) {
336
- ptr1 = 0; len1 = 0;
337
- throw takeObject(r2);
192
+ if (r2) {
193
+ throw takeObject(r1);
338
194
  }
339
- deferred2_0 = ptr1;
340
- deferred2_1 = len1;
341
- return getStringFromWasm0(ptr1, len1);
195
+ return takeObject(r0);
342
196
  } finally {
343
197
  wasm.__wbindgen_add_to_stack_pointer(16);
344
- wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);
345
198
  }
346
199
  }
347
200
  /**
348
- * Feed a JSON-encoded KernelInput and return a JSON-encoded KernelStep.
349
- * @param {string} input_json
350
- * @returns {string}
201
+ * @returns {string | undefined}
351
202
  */
352
- step(input_json) {
353
- let deferred3_0;
354
- let deferred3_1;
203
+ terminalJson() {
355
204
  try {
356
205
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
357
- const ptr0 = passStringToWasm0(input_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
358
- const len0 = WASM_VECTOR_LEN;
359
- wasm.kernelruntime_step(retptr, this.__wbg_ptr, ptr0, len0);
206
+ wasm.canonicalkernel_terminalJson(retptr, this.__wbg_ptr);
360
207
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
361
208
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
362
209
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
363
210
  var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
364
- var ptr2 = r0;
365
- var len2 = r1;
366
211
  if (r3) {
367
- ptr2 = 0; len2 = 0;
368
212
  throw takeObject(r2);
369
213
  }
370
- deferred3_0 = ptr2;
371
- deferred3_1 = len2;
372
- return getStringFromWasm0(ptr2, len2);
214
+ let v1;
215
+ if (r0 !== 0) {
216
+ v1 = getStringFromWasm0(r0, r1).slice();
217
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
218
+ }
219
+ return v1;
373
220
  } finally {
374
221
  wasm.__wbindgen_add_to_stack_pointer(16);
375
- wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);
376
222
  }
377
223
  }
224
+ }
225
+ if (Symbol.dispose) CanonicalKernel.prototype[Symbol.dispose] = CanonicalKernel.prototype.free;
226
+
227
+ export class Governance {
228
+ __destroy_into_raw() {
229
+ const ptr = this.__wbg_ptr;
230
+ this.__wbg_ptr = 0;
231
+ GovernanceFinalization.unregister(this);
232
+ return ptr;
233
+ }
234
+ free() {
235
+ const ptr = this.__destroy_into_raw();
236
+ wasm.__wbg_governance_free(ptr, 0);
237
+ }
378
238
  /**
379
- * @returns {number}
239
+ * @param {string} pattern
240
+ * @param {string} action
380
241
  */
381
- turn() {
382
- const ret = wasm.kernelruntime_turn(this.__wbg_ptr);
383
- return ret >>> 0;
242
+ addPermissionRule(pattern, action) {
243
+ const ptr0 = passStringToWasm0(pattern, wasm.__wbindgen_export, wasm.__wbindgen_export2);
244
+ const len0 = WASM_VECTOR_LEN;
245
+ const ptr1 = passStringToWasm0(action, wasm.__wbindgen_export, wasm.__wbindgen_export2);
246
+ const len1 = WASM_VECTOR_LEN;
247
+ wasm.governance_addPermissionRule(this.__wbg_ptr, ptr0, len0, ptr1, len1);
248
+ }
249
+ /**
250
+ * @param {string} tool_name
251
+ * @param {string} param_path
252
+ * @param {string[]} allowed_values
253
+ */
254
+ allowParamValues(tool_name, param_path, allowed_values) {
255
+ const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
256
+ const len0 = WASM_VECTOR_LEN;
257
+ const ptr1 = passStringToWasm0(param_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
258
+ const len1 = WASM_VECTOR_LEN;
259
+ const ptr2 = passArrayJsValueToWasm0(allowed_values, wasm.__wbindgen_export);
260
+ const len2 = WASM_VECTOR_LEN;
261
+ wasm.governance_allowParamValues(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
262
+ }
263
+ /**
264
+ * @param {string} name
265
+ */
266
+ blockTool(name) {
267
+ const ptr0 = passStringToWasm0(name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
268
+ const len0 = WASM_VECTOR_LEN;
269
+ wasm.governance_blockTool(this.__wbg_ptr, ptr0, len0);
270
+ }
271
+ /**
272
+ * @param {string} tool_name
273
+ * @param {string} args_json
274
+ * @returns {GovernanceVerdict}
275
+ */
276
+ evaluate(tool_name, args_json) {
277
+ const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
278
+ const len0 = WASM_VECTOR_LEN;
279
+ const ptr1 = passStringToWasm0(args_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);
280
+ const len1 = WASM_VECTOR_LEN;
281
+ const ret = wasm.governance_evaluate(this.__wbg_ptr, ptr0, len0, ptr1, len1);
282
+ return takeObject(ret);
283
+ }
284
+ /**
285
+ * @param {string} tool_name
286
+ * @param {string} param_path
287
+ * @param {number | null} [min]
288
+ * @param {number | null} [max]
289
+ */
290
+ limitParamRange(tool_name, param_path, min, max) {
291
+ const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
292
+ const len0 = WASM_VECTOR_LEN;
293
+ const ptr1 = passStringToWasm0(param_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
294
+ const len1 = WASM_VECTOR_LEN;
295
+ wasm.governance_limitParamRange(this.__wbg_ptr, ptr0, len0, ptr1, len1, !isLikeNone(min), isLikeNone(min) ? 0 : min, !isLikeNone(max), isLikeNone(max) ? 0 : max);
296
+ }
297
+ /**
298
+ * @param {string | null} [default_action]
299
+ */
300
+ constructor(default_action) {
301
+ var ptr0 = isLikeNone(default_action) ? 0 : passStringToWasm0(default_action, wasm.__wbindgen_export, wasm.__wbindgen_export2);
302
+ var len0 = WASM_VECTOR_LEN;
303
+ const ret = wasm.governance_new(ptr0, len0);
304
+ this.__wbg_ptr = ret;
305
+ GovernanceFinalization.register(this, this.__wbg_ptr, this);
306
+ return this;
307
+ }
308
+ /**
309
+ * @param {string} tool_name
310
+ * @param {string} param_path
311
+ */
312
+ requireParam(tool_name, param_path) {
313
+ const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
314
+ const len0 = WASM_VECTOR_LEN;
315
+ const ptr1 = passStringToWasm0(param_path, wasm.__wbindgen_export, wasm.__wbindgen_export2);
316
+ const len1 = WASM_VECTOR_LEN;
317
+ wasm.governance_requireParam(this.__wbg_ptr, ptr0, len0, ptr1, len1);
318
+ }
319
+ /**
320
+ * @param {string} agent_id
321
+ * @param {string} session_id
322
+ */
323
+ setIdentity(agent_id, session_id) {
324
+ const ptr0 = passStringToWasm0(agent_id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
325
+ const len0 = WASM_VECTOR_LEN;
326
+ const ptr1 = passStringToWasm0(session_id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
327
+ const len1 = WASM_VECTOR_LEN;
328
+ wasm.governance_setIdentity(this.__wbg_ptr, ptr0, len0, ptr1, len1);
329
+ }
330
+ /**
331
+ * @param {string} tool_name
332
+ * @param {number} max_calls
333
+ * @param {number} window_ms
334
+ */
335
+ setRateLimit(tool_name, max_calls, window_ms) {
336
+ const ptr0 = passStringToWasm0(tool_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
337
+ const len0 = WASM_VECTOR_LEN;
338
+ wasm.governance_setRateLimit(this.__wbg_ptr, ptr0, len0, max_calls, window_ms);
339
+ }
340
+ /**
341
+ * @param {number} now_ms
342
+ */
343
+ setTime(now_ms) {
344
+ wasm.governance_setTime(this.__wbg_ptr, now_ms);
384
345
  }
385
346
  }
386
- if (Symbol.dispose) KernelRuntime.prototype[Symbol.dispose] = KernelRuntime.prototype.free;
347
+ if (Symbol.dispose) Governance.prototype[Symbol.dispose] = Governance.prototype.free;
387
348
 
388
349
  export class SignalRouter {
389
350
  __destroy_into_raw() {
@@ -488,6 +449,15 @@ export function buildEvalMessages(goal, criteria, result, attempt, extract_skill
488
449
  }
489
450
  }
490
451
 
452
+ /**
453
+ * The single ABI revision accepted by core. Hosts must read this export instead of copying it.
454
+ * @returns {number}
455
+ */
456
+ export function kernelAbiVersion() {
457
+ const ret = wasm.kernelAbiVersion();
458
+ return ret >>> 0;
459
+ }
460
+
491
461
  /**
492
462
  * Parse the evaluator LLM's JSON response into a structured `Verdict`.
493
463
  * @param {string} content
@@ -553,6 +523,10 @@ export function __wbg___wbindgen_in_07056af4f902c445(arg0, arg1) {
553
523
  const ret = getObject(arg0) in getObject(arg1);
554
524
  return ret;
555
525
  }
526
+ export function __wbg___wbindgen_is_function_5cd60d5cf78b4eef(arg0) {
527
+ const ret = typeof(getObject(arg0)) === 'function';
528
+ return ret;
529
+ }
556
530
  export function __wbg___wbindgen_is_object_b4593df85baada48(arg0) {
557
531
  const val = getObject(arg0);
558
532
  const ret = typeof(val) === 'object' && val !== null;
@@ -583,9 +557,29 @@ export function __wbg___wbindgen_string_get_d109740c0d18f4d7(arg0, arg1) {
583
557
  export function __wbg___wbindgen_throw_9c31b086c2b26051(arg0, arg1) {
584
558
  throw new Error(getStringFromWasm0(arg0, arg1));
585
559
  }
560
+ export function __wbg_call_13665d9f14390edc() { return handleError(function (arg0, arg1) {
561
+ const ret = getObject(arg0).call(getObject(arg1));
562
+ return addHeapObject(ret);
563
+ }, arguments); }
564
+ export function __wbg_done_54b8da57023b7ed2(arg0) {
565
+ const ret = getObject(arg0).done;
566
+ return ret;
567
+ }
568
+ export function __wbg_from_fa561fa561dc8031(arg0) {
569
+ const ret = Array.from(getObject(arg0));
570
+ return addHeapObject(ret);
571
+ }
586
572
  export function __wbg_getRandomValues_ef12552bf5acd2fe() { return handleError(function (arg0, arg1) {
587
573
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
588
574
  }, arguments); }
575
+ export function __wbg_get_3e9a707ab7d352eb() { return handleError(function (arg0, arg1) {
576
+ const ret = Reflect.get(getObject(arg0), getObject(arg1));
577
+ return addHeapObject(ret);
578
+ }, arguments); }
579
+ export function __wbg_get_unchecked_1dfe6d05ad91d9b7(arg0, arg1) {
580
+ const ret = getObject(arg0)[arg1 >>> 0];
581
+ return addHeapObject(ret);
582
+ }
589
583
  export function __wbg_get_with_ref_key_6412cf3094599694(arg0, arg1) {
590
584
  const ret = getObject(arg0)[getObject(arg1)];
591
585
  return addHeapObject(ret);
@@ -610,10 +604,22 @@ export function __wbg_instanceof_Uint8Array_abd07d4bd221d50b(arg0) {
610
604
  const ret = result;
611
605
  return ret;
612
606
  }
607
+ export function __wbg_isArray_94898ed3aad6947b(arg0) {
608
+ const ret = Array.isArray(getObject(arg0));
609
+ return ret;
610
+ }
613
611
  export function __wbg_isSafeInteger_01e964d144ad3a55(arg0) {
614
612
  const ret = Number.isSafeInteger(getObject(arg0));
615
613
  return ret;
616
614
  }
615
+ export function __wbg_iterator_1441b47f341dc34f() {
616
+ const ret = Symbol.iterator;
617
+ return addHeapObject(ret);
618
+ }
619
+ export function __wbg_length_2591a0f4f659a55c(arg0) {
620
+ const ret = getObject(arg0).length;
621
+ return ret;
622
+ }
617
623
  export function __wbg_length_56fcd3e2b7e0299d(arg0) {
618
624
  const ret = getObject(arg0).length;
619
625
  return ret;
@@ -630,6 +636,14 @@ export function __wbg_new_7ddec6de44ff8f5d(arg0) {
630
636
  const ret = new Uint8Array(getObject(arg0));
631
637
  return addHeapObject(ret);
632
638
  }
639
+ export function __wbg_next_2a4e19f4f5083b0f(arg0) {
640
+ const ret = getObject(arg0).next;
641
+ return addHeapObject(ret);
642
+ }
643
+ export function __wbg_next_6429a146bf756f93() { return handleError(function (arg0) {
644
+ const ret = getObject(arg0).next();
645
+ return addHeapObject(ret);
646
+ }, arguments); }
633
647
  export function __wbg_prototypesetcall_5f9bdc8d75e07276(arg0, arg1, arg2) {
634
648
  Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
635
649
  }
@@ -639,12 +653,21 @@ export function __wbg_set_6be42768c690e380(arg0, arg1, arg2) {
639
653
  export function __wbg_set_78ea6a19f4818587(arg0, arg1, arg2) {
640
654
  getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
641
655
  }
656
+ export function __wbg_value_9cc0518af87a489c(arg0) {
657
+ const ret = getObject(arg0).value;
658
+ return addHeapObject(ret);
659
+ }
642
660
  export function __wbindgen_cast_0000000000000001(arg0) {
643
661
  // Cast intrinsic for `F64 -> Externref`.
644
662
  const ret = arg0;
645
663
  return addHeapObject(ret);
646
664
  }
647
665
  export function __wbindgen_cast_0000000000000002(arg0, arg1) {
666
+ // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
667
+ const ret = getArrayU8FromWasm0(arg0, arg1);
668
+ return addHeapObject(ret);
669
+ }
670
+ export function __wbindgen_cast_0000000000000003(arg0, arg1) {
648
671
  // Cast intrinsic for `Ref(String) -> Externref`.
649
672
  const ret = getStringFromWasm0(arg0, arg1);
650
673
  return addHeapObject(ret);
@@ -656,12 +679,12 @@ export function __wbindgen_object_clone_ref(arg0) {
656
679
  export function __wbindgen_object_drop_ref(arg0) {
657
680
  takeObject(arg0);
658
681
  }
682
+ const CanonicalKernelFinalization = (typeof FinalizationRegistry === 'undefined')
683
+ ? { register: () => {}, unregister: () => {} }
684
+ : new FinalizationRegistry(ptr => wasm.__wbg_canonicalkernel_free(ptr, 1));
659
685
  const GovernanceFinalization = (typeof FinalizationRegistry === 'undefined')
660
686
  ? { register: () => {}, unregister: () => {} }
661
687
  : new FinalizationRegistry(ptr => wasm.__wbg_governance_free(ptr, 1));
662
- const KernelRuntimeFinalization = (typeof FinalizationRegistry === 'undefined')
663
- ? { register: () => {}, unregister: () => {} }
664
- : new FinalizationRegistry(ptr => wasm.__wbg_kernelruntime_free(ptr, 1));
665
688
  const SignalRouterFinalization = (typeof FinalizationRegistry === 'undefined')
666
689
  ? { register: () => {}, unregister: () => {} }
667
690
  : new FinalizationRegistry(ptr => wasm.__wbg_signalrouter_free(ptr, 1));
Binary file
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deepstrike/wasm-kernel",
3
3
  "type": "module",
4
4
  "description": "WebAssembly bindings for DeepStrike runtime kernel",
5
- "version": "0.2.49",
5
+ "version": "0.2.51",
6
6
  "license": "MIT",
7
7
  "files": [
8
8
  "deepstrike_wasm_bg.wasm",