nanocodex 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,13 +2,21 @@
2
2
  /* eslint-disable */
3
3
 
4
4
  /**
5
- * Persistent WASM agent handle hosted by Node.js or a browser Worker.
5
+ * JavaScript binding over the shared Rust agent lifecycle.
6
6
  */
7
7
  export class Nanocodex {
8
8
  free(): void;
9
9
  [Symbol.dispose](): void;
10
10
  /**
11
- * Fork the latest safe committed model boundary.
11
+ * Compacts retained history immediately without fabricating a user prompt.
12
+ *
13
+ * # Errors
14
+ *
15
+ * Throws when compaction or the agent driver fails.
16
+ */
17
+ compact(): Promise<void>;
18
+ /**
19
+ * Forks the latest safe committed model boundary.
12
20
  *
13
21
  * # Errors
14
22
  *
@@ -16,57 +24,63 @@ export class Nanocodex {
16
24
  */
17
25
  fork(): Promise<Nanocodex>;
18
26
  /**
19
- * Fork from the exact checkpoint retained by a completed historical turn.
27
+ * Forks from an exact completed historical turn.
20
28
  *
21
29
  * # Errors
22
30
  *
23
- * Rejects if the turn is incomplete, belongs to another lineage, or the
24
- * driver stops.
31
+ * Rejects if the result belongs to another agent or the driver stopped.
25
32
  */
26
- forkFrom(turn: Turn): Promise<Nanocodex>;
33
+ forkFrom(result: TurnResult): Promise<Nanocodex>;
27
34
  /**
28
- * Build a persistent agent from a JSON configuration object.
35
+ * Builds an agent from its JavaScript JSON configuration.
29
36
  *
30
37
  * # Errors
31
38
  *
32
- * Throws when the JSON or required configuration is invalid.
39
+ * Throws when the JSON or agent policy is invalid.
33
40
  */
34
41
  constructor(config_json: string);
35
42
  /**
36
- * Accept a prompt immediately and return its independently awaitable turn.
43
+ * Accepts a text prompt and returns its independently awaitable turn.
37
44
  *
38
45
  * # Errors
39
46
  *
40
- * Throws when the prompt is empty or the agent driver has stopped.
47
+ * Throws when the prompt is empty.
41
48
  */
42
49
  prompt(instruction: string): Turn;
43
50
  /**
44
- * Accept ordered browser-safe text, image, or audio input encoded as JSON.
51
+ * Accepts browser-safe multimodal input encoded as JSON.
45
52
  *
46
53
  * # Errors
47
54
  *
48
- * Throws for malformed or empty content, local filesystem inputs, or a
49
- * stopped driver.
55
+ * Throws for malformed, empty, or local-filesystem input.
50
56
  */
51
57
  promptContent(content_json: string): Turn;
52
58
  /**
53
- * Enable or disable priority processing for subsequently accepted turns.
59
+ * Enables or disables priority processing for subsequently accepted turns.
54
60
  *
55
61
  * # Errors
56
62
  *
57
- * Rejects after the agent driver stops.
63
+ * Rejects after the driver stops.
58
64
  */
59
65
  setFastMode(enabled: boolean): Promise<void>;
60
66
  /**
61
- * Change the reasoning effort for subsequently accepted turns.
67
+ * Changes the reasoning effort for subsequently accepted turns.
62
68
  *
63
69
  * # Errors
64
70
  *
65
- * Rejects an unsupported effort or a stopped agent driver.
71
+ * Rejects an invalid effort or a stopped driver.
66
72
  */
67
73
  setThinking(thinking: string): Promise<void>;
68
74
  /**
69
- * Start a clean sibling with the same configuration and tools.
75
+ * Gracefully stops the driver and joins every resource owned by this agent.
76
+ *
77
+ * # Errors
78
+ *
79
+ * Rejects when the driver had already stopped or cleanup fails.
80
+ */
81
+ shutdown(): Promise<void>;
82
+ /**
83
+ * Starts a clean sibling with the same private agent policy.
70
84
  *
71
85
  * # Errors
72
86
  *
@@ -74,62 +88,79 @@ export class Nanocodex {
74
88
  */
75
89
  spawn(): Promise<Nanocodex>;
76
90
  /**
77
- * Stable session identifier used to route this agent's event stream.
91
+ * Returns the stable `UUIDv7` session identity.
78
92
  */
79
93
  readonly sessionId: string;
80
94
  }
81
95
 
82
96
  /**
83
- * Completion and control handle for one accepted WASM turn.
97
+ * JavaScript binding over one shared Rust turn.
84
98
  */
85
99
  export class Turn {
86
100
  private constructor();
87
101
  free(): void;
88
102
  [Symbol.dispose](): void;
89
103
  /**
90
- * Cancel this exact active or queued turn.
104
+ * Cancels this exact active or queued turn.
91
105
  *
92
106
  * # Errors
93
107
  *
94
- * Rejects if the turn is already terminal or the driver stops.
108
+ * Rejects if the turn is already terminal or its driver stopped.
95
109
  */
96
110
  cancel(): Promise<void>;
97
111
  /**
98
- * Wait for the turn and return its final assistant message.
112
+ * Waits for the final assistant message.
99
113
  *
100
114
  * # Errors
101
115
  *
102
- * Rejects when the model run fails, the driver stops, or two consumers
103
- * await the same pending turn concurrently.
116
+ * Rejects when the model run or driver fails.
104
117
  */
105
- result(): Promise<string>;
118
+ result(): Promise<TurnResult>;
106
119
  /**
107
- * Serialize this completed turn's resumable session snapshot.
120
+ * Injects text input at the active turn's next safe model boundary.
108
121
  *
109
122
  * # Errors
110
123
  *
111
- * Throws until the turn has completed or if serialization fails.
124
+ * Rejects if the turn is not active or its driver stopped.
112
125
  */
113
- snapshot(): string;
126
+ steer(instruction: string): Promise<void>;
114
127
  /**
115
- * Inject input at this active turn's next safe model boundary.
128
+ * Injects browser-safe multimodal input at the active turn's next boundary.
116
129
  *
117
130
  * # Errors
118
131
  *
119
- * Rejects for empty input, a queued or terminal turn, a full steer queue,
120
- * or a stopped driver.
132
+ * Rejects malformed input or a turn that is no longer active.
121
133
  */
122
- steer(instruction: string): Promise<void>;
134
+ steerContent(content_json: string): Promise<void>;
135
+ }
136
+
137
+ /**
138
+ * JavaScript binding over one completed Rust turn result.
139
+ */
140
+ export class TurnResult {
141
+ private constructor();
142
+ free(): void;
143
+ [Symbol.dispose](): void;
123
144
  /**
124
- * Inject ordered browser-safe text, image, or audio input at this active
125
- * turn's next safe model boundary.
145
+ * Serializes this completed boundary's resumable session snapshot.
126
146
  *
127
147
  * # Errors
128
148
  *
129
- * Rejects for malformed or empty content, local filesystem inputs, a
130
- * queued or terminal turn, a full steer queue, or a stopped driver.
149
+ * Throws when serialization fails.
131
150
  */
132
- steerContent(content_json: string): Promise<void>;
151
+ snapshot(): string;
152
+ /**
153
+ * Serializes exact aggregate usage for this completed logical turn.
154
+ *
155
+ * # Errors
156
+ *
157
+ * Throws when serialization fails.
158
+ */
159
+ usage(): string;
160
+ /**
161
+ * Returns the final assistant message.
162
+ */
163
+ readonly finalMessage: string;
133
164
  }
134
165
 
135
166
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
@@ -138,6 +169,8 @@ export interface InitOutput {
138
169
  readonly memory: WebAssembly.Memory;
139
170
  readonly __wbg_nanocodex_free: (a: number, b: number) => void;
140
171
  readonly __wbg_turn_free: (a: number, b: number) => void;
172
+ readonly __wbg_turnresult_free: (a: number, b: number) => void;
173
+ readonly nanocodex_compact: (a: number) => any;
141
174
  readonly nanocodex_fork: (a: number) => any;
142
175
  readonly nanocodex_forkFrom: (a: number, b: number) => any;
143
176
  readonly nanocodex_new: (a: number, b: number) => [number, number, number];
@@ -146,14 +179,17 @@ export interface InitOutput {
146
179
  readonly nanocodex_sessionId: (a: number) => [number, number];
147
180
  readonly nanocodex_setFastMode: (a: number, b: number) => any;
148
181
  readonly nanocodex_setThinking: (a: number, b: number, c: number) => any;
182
+ readonly nanocodex_shutdown: (a: number) => any;
149
183
  readonly nanocodex_spawn: (a: number) => any;
150
184
  readonly turn_cancel: (a: number) => any;
151
185
  readonly turn_result: (a: number) => any;
152
- readonly turn_snapshot: (a: number) => [number, number, number, number];
153
186
  readonly turn_steer: (a: number, b: number, c: number) => any;
154
187
  readonly turn_steerContent: (a: number, b: number, c: number) => any;
188
+ readonly turnresult_finalMessage: (a: number) => [number, number];
189
+ readonly turnresult_snapshot: (a: number) => [number, number, number, number];
190
+ readonly turnresult_usage: (a: number) => [number, number, number, number];
155
191
  readonly wasm_bindgen_6c97e59ea7837008___convert__closures_____invoke___wasm_bindgen_6c97e59ea7837008___JsValue__core_9b3796e30d99ddb7___result__Result_____wasm_bindgen_6c97e59ea7837008___JsError___true_: (a: number, b: number, c: any) => [number, number];
156
- readonly wasm_bindgen_6c97e59ea7837008___convert__closures_____invoke___js_sys_ec93bd22bf926fce___Function_fn_wasm_bindgen_6c97e59ea7837008___JsValue_____wasm_bindgen_6c97e59ea7837008___sys__Undefined___js_sys_ec93bd22bf926fce___Function_fn_wasm_bindgen_6c97e59ea7837008___JsValue_____wasm_bindgen_6c97e59ea7837008___sys__Undefined_______true_: (a: number, b: number, c: any, d: any) => void;
192
+ readonly wasm_bindgen_6c97e59ea7837008___convert__closures_____invoke___js_sys_d57619d9eac2c6da___Function_fn_wasm_bindgen_6c97e59ea7837008___JsValue_____wasm_bindgen_6c97e59ea7837008___sys__Undefined___js_sys_d57619d9eac2c6da___Function_fn_wasm_bindgen_6c97e59ea7837008___JsValue_____wasm_bindgen_6c97e59ea7837008___sys__Undefined_______true_: (a: number, b: number, c: any, d: any) => void;
157
193
  readonly __wbindgen_malloc: (a: number, b: number) => number;
158
194
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
159
195
  readonly __wbindgen_exn_store: (a: number) => void;