@deepstrike/wasm-kernel 0.2.50 → 0.2.52

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.
@@ -1,5 +1,9 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
+
4
+ export type CanonicalRecordBytes = Uint8Array[];
5
+
6
+
3
7
  /**
4
8
  * Structured context for a provider call — emitted with `kind === \"call_llm\"`.
5
9
  */
@@ -27,6 +31,28 @@ export interface Verdict {
27
31
  skillCandidate?: SkillCandidate;
28
32
  }
29
33
 
34
+ export interface CanonicalCheckpoint {
35
+ checkpointBytes: Uint8Array;
36
+ throughStepSeq: string;
37
+ coveredHead: string;
38
+ stateDigest: string;
39
+ ackToken: string;
40
+ }
41
+
42
+ export interface CanonicalCommit {
43
+ stepSeq: string;
44
+ recordDigest: string;
45
+ plannedStepJson: string;
46
+ checkpointAdviceJson?: string;
47
+ }
48
+
49
+ export interface CanonicalRestoreCost {
50
+ recordsBeforeCheckpoint: string;
51
+ tailInputsReplayed: string;
52
+ recordsAfterCheckpoint: string;
53
+ bytesRead: string;
54
+ }
55
+
30
56
  export interface ContentPartObj {
31
57
  type: string;
32
58
  text?: string;
@@ -210,6 +236,41 @@ export interface ToolSchema {
210
236
  parameters: string;
211
237
  }
212
238
 
239
+ export type CanonicalLifecycle = "created" | "configured" | "running" | "suspended" | "completed" | "cancelled" | "failed";
240
+
241
+ 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 };
242
+
243
+
244
+ /**
245
+ * Durable canonical operation handle. It exposes no direct `step` method.
246
+ */
247
+ export class CanonicalKernel {
248
+ free(): void;
249
+ [Symbol.dispose](): void;
250
+ /**
251
+ * Abort a candidate that did not reach the journal.
252
+ */
253
+ abort(prepare_token: string): void;
254
+ ackCheckpoint(through_step_seq: string, covered_head: string): void;
255
+ checkpointCandidate(): CanonicalCheckpoint;
256
+ checkpointRebase(checkpoint_bytes: Uint8Array): CanonicalCheckpoint;
257
+ /**
258
+ * Commit only after the journal appended the prepared record.
259
+ */
260
+ commit(prepare_token: string, appended_head: string): CanonicalCommit;
261
+ lifecycle(): CanonicalLifecycle;
262
+ constructor();
263
+ pendingEffectsJson(): string;
264
+ /**
265
+ * Strictly decode and prepare one canonical envelope.
266
+ */
267
+ prepare(input_json: string): CanonicalPreparation;
268
+ /**
269
+ * Replace this handle in place from checkpoint bytes plus post-checkpoint record bytes.
270
+ */
271
+ restore(checkpoint_bytes: Uint8Array | null | undefined, record_bytes: any): CanonicalRestoreCost;
272
+ terminalJson(): string | undefined;
273
+ }
213
274
 
214
275
  export class Governance {
215
276
  free(): void;
@@ -226,31 +287,6 @@ export class Governance {
226
287
  setTime(now_ms: number): void;
227
288
  }
228
289
 
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
290
  export class SignalRouter {
255
291
  free(): void;
256
292
  [Symbol.dispose](): void;
@@ -273,6 +309,11 @@ export class SignalRouter {
273
309
  */
274
310
  export function buildEvalMessages(goal: string, criteria: Criterion[], result: string, attempt: number, extract_skill_on_pass: boolean): Message[];
275
311
 
312
+ /**
313
+ * The single ABI revision accepted by core. Hosts must read this export instead of copying it.
314
+ */
315
+ export function kernelAbiVersion(): number;
316
+
276
317
  /**
277
318
  * Parse the evaluator LLM's JSON response into a structured `Verdict`.
278
319
  */
@@ -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 {any} 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_null_2042690d351e14f0(arg0) {
527
+ const ret = getObject(arg0) === null;
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,17 @@ 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_from_fa561fa561dc8031(arg0) {
561
+ const ret = Array.from(getObject(arg0));
562
+ return addHeapObject(ret);
563
+ }
586
564
  export function __wbg_getRandomValues_ef12552bf5acd2fe() { return handleError(function (arg0, arg1) {
587
565
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
588
566
  }, arguments); }
567
+ export function __wbg_get_98fdf51d029a75eb(arg0, arg1) {
568
+ const ret = getObject(arg0)[arg1 >>> 0];
569
+ return addHeapObject(ret);
570
+ }
589
571
  export function __wbg_get_with_ref_key_6412cf3094599694(arg0, arg1) {
590
572
  const ret = getObject(arg0)[getObject(arg1)];
591
573
  return addHeapObject(ret);
@@ -610,10 +592,18 @@ export function __wbg_instanceof_Uint8Array_abd07d4bd221d50b(arg0) {
610
592
  const ret = result;
611
593
  return ret;
612
594
  }
595
+ export function __wbg_isArray_94898ed3aad6947b(arg0) {
596
+ const ret = Array.isArray(getObject(arg0));
597
+ return ret;
598
+ }
613
599
  export function __wbg_isSafeInteger_01e964d144ad3a55(arg0) {
614
600
  const ret = Number.isSafeInteger(getObject(arg0));
615
601
  return ret;
616
602
  }
603
+ export function __wbg_length_2591a0f4f659a55c(arg0) {
604
+ const ret = getObject(arg0).length;
605
+ return ret;
606
+ }
617
607
  export function __wbg_length_56fcd3e2b7e0299d(arg0) {
618
608
  const ret = getObject(arg0).length;
619
609
  return ret;
@@ -645,6 +635,11 @@ export function __wbindgen_cast_0000000000000001(arg0) {
645
635
  return addHeapObject(ret);
646
636
  }
647
637
  export function __wbindgen_cast_0000000000000002(arg0, arg1) {
638
+ // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
639
+ const ret = getArrayU8FromWasm0(arg0, arg1);
640
+ return addHeapObject(ret);
641
+ }
642
+ export function __wbindgen_cast_0000000000000003(arg0, arg1) {
648
643
  // Cast intrinsic for `Ref(String) -> Externref`.
649
644
  const ret = getStringFromWasm0(arg0, arg1);
650
645
  return addHeapObject(ret);
@@ -656,12 +651,12 @@ export function __wbindgen_object_clone_ref(arg0) {
656
651
  export function __wbindgen_object_drop_ref(arg0) {
657
652
  takeObject(arg0);
658
653
  }
654
+ const CanonicalKernelFinalization = (typeof FinalizationRegistry === 'undefined')
655
+ ? { register: () => {}, unregister: () => {} }
656
+ : new FinalizationRegistry(ptr => wasm.__wbg_canonicalkernel_free(ptr, 1));
659
657
  const GovernanceFinalization = (typeof FinalizationRegistry === 'undefined')
660
658
  ? { register: () => {}, unregister: () => {} }
661
659
  : 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
660
  const SignalRouterFinalization = (typeof FinalizationRegistry === 'undefined')
666
661
  ? { register: () => {}, unregister: () => {} }
667
662
  : 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.50",
5
+ "version": "0.2.52",
6
6
  "license": "MIT",
7
7
  "files": [
8
8
  "deepstrike_wasm_bg.wasm",