llmz 0.8.0 → 1.0.1

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 (224) hide show
  1. package/DOCS.md +230 -1796
  2. package/ERRORS.md +98 -0
  3. package/README.md +96 -548
  4. package/dist/chat/chat.d.ts +63 -0
  5. package/dist/chat/component.d.ts +31 -0
  6. package/dist/chat/component.default.d.ts +58 -0
  7. package/dist/chat/response.d.ts +15 -0
  8. package/dist/compiler/compiler.d.ts +2 -7
  9. package/dist/compiler/plugins/dynamic-code.d.ts +7 -0
  10. package/dist/compiler/plugins/replace-comment.d.ts +2 -3
  11. package/dist/compiler/plugins/return-async.d.ts +5 -4
  12. package/dist/compiler/plugins/termination.d.ts +8 -0
  13. package/dist/compiler/plugins/tool-resolution.d.ts +4 -0
  14. package/dist/compiler/plugins/variable-extraction.d.ts +2 -8
  15. package/dist/component-BpMVZYOa.cjs +649 -0
  16. package/dist/component-C27qu6Zv.js +614 -0
  17. package/dist/context.d.ts +74 -385
  18. package/dist/custom-client-BDkgBR2w.js +1631 -0
  19. package/dist/custom-client-MytucGI-.cjs +1708 -0
  20. package/dist/custom-client.d.ts +12 -2
  21. package/dist/errors/catalog.d.ts +287 -0
  22. package/dist/errors/hooks.d.ts +2 -0
  23. package/dist/errors-H4JJFH3S.js +620 -0
  24. package/dist/errors-IhnTKUp7.cjs +871 -0
  25. package/dist/errors.d.ts +18 -36
  26. package/dist/execute-BYI_U5sR.js +1943 -0
  27. package/dist/execute-DLas4V2n.cjs +1944 -0
  28. package/dist/{exit-DUM96DN1.cjs → exit-BUgJ5qi5.cjs} +38 -28
  29. package/dist/{exit-CDdxDBRT.js → exit-CPNk3vbz.js} +37 -27
  30. package/dist/exit.d.ts +19 -16
  31. package/dist/index.cjs +181 -999
  32. package/dist/index.d.ts +25 -28
  33. package/dist/index.js +141 -974
  34. package/dist/index.workerd.js +7725 -9531
  35. package/dist/inspect.d.ts +19 -3
  36. package/dist/inspection.d.ts +38 -0
  37. package/dist/native-Bm6L9zOb.cjs +212 -0
  38. package/dist/native-DvTH9vFe.js +177 -0
  39. package/dist/objects.d.ts +2 -57
  40. package/dist/prompts/native.d.ts +2 -0
  41. package/dist/prompts/prompt.d.ts +10 -98
  42. package/dist/quickjs-variant-DJwYDSsb.cjs +1073 -0
  43. package/dist/quickjs-variant-DlPi9-Sx.js +984 -0
  44. package/dist/result.d.ts +30 -861
  45. package/dist/runtime/execute.d.ts +3 -2
  46. package/dist/runtime/execution-activity.d.ts +11 -0
  47. package/dist/runtime/execution-activity.test.d.ts +1 -0
  48. package/dist/runtime/execution-diagnostics.d.ts +11 -0
  49. package/dist/runtime/execution-diagnostics.test.d.ts +1 -0
  50. package/dist/runtime/execution-report.d.ts +48 -0
  51. package/dist/runtime/execution-report.test.d.ts +1 -0
  52. package/dist/runtime/execution-safety.test.d.ts +1 -0
  53. package/dist/runtime/exit-control-flow.test.d.ts +1 -0
  54. package/dist/runtime/fixtures/chat.d.ts +8 -0
  55. package/dist/runtime/fixtures/long-search.d.ts +19 -0
  56. package/dist/runtime/fixtures/long-search.test.d.ts +1 -0
  57. package/dist/runtime/fixtures/native-client.d.ts +33 -0
  58. package/dist/runtime/fixtures/protocol-languages.d.ts +74 -0
  59. package/dist/runtime/generate.d.ts +23 -27
  60. package/dist/runtime/generate.test.d.ts +1 -0
  61. package/dist/runtime/hook-provenance.test.d.ts +1 -0
  62. package/dist/runtime/inspection-hook.test.d.ts +1 -0
  63. package/dist/runtime/inspection-values.d.ts +14 -0
  64. package/dist/runtime/inspection-values.test.d.ts +1 -0
  65. package/dist/runtime/interruption-control-flow.test.d.ts +1 -0
  66. package/dist/runtime/interruption-settings.test.d.ts +1 -0
  67. package/dist/runtime/javascript-api.d.ts +59 -0
  68. package/dist/runtime/javascript-api.test.d.ts +1 -0
  69. package/dist/runtime/native-review.test.d.ts +1 -0
  70. package/dist/runtime/native-tools.d.ts +18 -0
  71. package/dist/runtime/native-tools.test.d.ts +1 -0
  72. package/dist/runtime/object-memory.test.d.ts +1 -0
  73. package/dist/runtime/protocol-adherence.test.d.ts +1 -0
  74. package/dist/runtime/single-tool.test.d.ts +1 -0
  75. package/dist/runtime/token-budget.d.ts +22 -0
  76. package/dist/runtime/token-budget.test.d.ts +1 -0
  77. package/dist/runtime/tool-wrapper.d.ts +4 -5
  78. package/dist/runtime/traces.test.d.ts +1 -0
  79. package/dist/runtime/truncation.test.d.ts +1 -0
  80. package/dist/runtime/types.d.ts +41 -36
  81. package/dist/runtime/variable-recovery.test.d.ts +1 -0
  82. package/dist/runtime/vm-context.d.ts +6 -1
  83. package/dist/runtime/worker-completion.test.d.ts +1 -0
  84. package/dist/runtime-names.d.ts +4 -0
  85. package/dist/schema-Aer_W7Al.js +45 -0
  86. package/dist/schema-DBkjo0b7.cjs +68 -0
  87. package/dist/schema.d.ts +10 -0
  88. package/dist/schema.test.d.ts +1 -0
  89. package/dist/session/compactor.d.ts +51 -0
  90. package/dist/session/compactor.test.d.ts +1 -0
  91. package/dist/session/history.d.ts +36 -0
  92. package/dist/session/history.test.d.ts +1 -0
  93. package/dist/session/json.d.ts +3 -0
  94. package/dist/session/json.test.d.ts +1 -0
  95. package/dist/session/memory-codec.d.ts +9 -0
  96. package/dist/session/memory-codec.test.d.ts +1 -0
  97. package/dist/session/memory-render.d.ts +15 -0
  98. package/dist/session/memory-render.test.d.ts +1 -0
  99. package/dist/session/memory.d.ts +112 -0
  100. package/dist/session/memory.test.d.ts +1 -0
  101. package/dist/session/messages.d.ts +17 -0
  102. package/dist/session/messages.test.d.ts +1 -0
  103. package/dist/session/serialization.d.ts +34 -0
  104. package/dist/session/serialization.test.d.ts +1 -0
  105. package/dist/session/session-memory.test.d.ts +1 -0
  106. package/dist/session/session.d.ts +117 -0
  107. package/dist/session/session.test.d.ts +1 -0
  108. package/dist/{transcript.d.ts → session/transcript.d.ts} +4 -8
  109. package/dist/session/transcript.test.d.ts +1 -0
  110. package/dist/{tool-Bv8N4IPj.js → tool--gK91eez.js} +144 -92
  111. package/dist/{tool-Dy6AJpJH.cjs → tool-Da_F-N-5.cjs} +146 -94
  112. package/dist/tool.d.ts +25 -17
  113. package/dist/truncate-BSoH2-nY.js +79 -0
  114. package/dist/truncate-nV3Mxr6-.cjs +102 -0
  115. package/dist/truncate.d.ts +24 -0
  116. package/dist/truncate.test.d.ts +1 -0
  117. package/dist/types.d.ts +27 -9
  118. package/dist/{typings-3lsqCbkn.cjs → typings-C1ihexWE.cjs} +38 -193
  119. package/dist/{typings-CrBa7Tyy.js → typings-D9_aC8aq.js} +38 -175
  120. package/dist/typings-formatter.d.ts +1 -1
  121. package/dist/typings.d.ts +3 -0
  122. package/dist/{uniq-BYQ7GWwb.js → uniq-DfUeSNaX.js} +2 -2
  123. package/dist/{uniq-G872RWmE.cjs → uniq-DiXgysNV.cjs} +6 -18
  124. package/dist/{_baseIteratee-P_firB7b.js → utils-BOFzb8Ok.js} +1134 -16
  125. package/dist/{_baseIteratee-CF4qP2a8.cjs → utils-CTlsXvdj.cjs} +1281 -84
  126. package/dist/vm/drivers/node.d.ts +1 -1
  127. package/dist/vm/drivers/quickjs.d.ts +1 -1
  128. package/dist/vm/errors.d.ts +4 -4
  129. package/dist/vm/index.d.ts +3 -4
  130. package/dist/vm/instrument.d.ts +14 -6
  131. package/dist/vm/member-proxy.d.ts +4 -0
  132. package/dist/vm/member-proxy.test.d.ts +1 -0
  133. package/dist/vm/memory.test.d.ts +1 -0
  134. package/dist/vm/return-semantics.test.d.ts +1 -0
  135. package/dist/vm/types.d.ts +18 -3
  136. package/dist/{vm-BLsHw1da.js → vm-8jxt8PTK.js} +1162 -180
  137. package/dist/{vm-D6s1zF6M.cjs → vm-XuVPuW3Y.cjs} +1195 -207
  138. package/package.json +13 -6
  139. package/dist/_baseForOwn-BfWDTL8L.cjs +0 -53
  140. package/dist/_baseForOwn-CFhWe_W6.js +0 -48
  141. package/dist/_getPrototype-CG7Dxrrz.js +0 -6
  142. package/dist/_getPrototype-DQDlNVVM.cjs +0 -10
  143. package/dist/_overArg-C5Hy7oCi.cjs +0 -196
  144. package/dist/_overArg-CRYbj1NH.js +0 -155
  145. package/dist/chat.d.ts +0 -401
  146. package/dist/common-DdArNQhl.cjs +0 -643
  147. package/dist/common-pgJjFu2Y.js +0 -596
  148. package/dist/compiler/plugins/track-tool-calls.d.ts +0 -33
  149. package/dist/compiler-C-OI9sim.cjs +0 -547
  150. package/dist/compiler-CW1VjQsn.js +0 -473
  151. package/dist/component-BXS8vAwO.cjs +0 -73
  152. package/dist/component-Dq7ZLdvy.js +0 -44
  153. package/dist/component.d.ts +0 -88
  154. package/dist/component.default.d.ts +0 -268
  155. package/dist/custom-client-2V9lmzUf.js +0 -2655
  156. package/dist/custom-client-HkM1Sdzv.cjs +0 -2726
  157. package/dist/dual-modes-Cb7ThvoV.cjs +0 -3020
  158. package/dist/dual-modes-Cy0_W4O2.js +0 -2930
  159. package/dist/errors-C962uJdS.cjs +0 -220
  160. package/dist/errors-Cg1G0Awu.js +0 -161
  161. package/dist/example.d.ts +0 -45
  162. package/dist/execute-Aw4cbIx-.js +0 -1080
  163. package/dist/execute-COIHOIKR.cjs +0 -1081
  164. package/dist/exit-parser.d.ts +0 -39
  165. package/dist/handlers.d.ts +0 -10
  166. package/dist/hoist.d.ts +0 -2
  167. package/dist/isEmpty-BhJRCqIF.js +0 -52
  168. package/dist/isEmpty-LY533Wmh.cjs +0 -57
  169. package/dist/jsx-B0iYyvfr.js +0 -100
  170. package/dist/jsx-D5Y2cPo-.cjs +0 -129
  171. package/dist/jsx.d.ts +0 -11
  172. package/dist/message-stream/index.d.ts +0 -9
  173. package/dist/message-stream/instructions.d.ts +0 -22
  174. package/dist/message-stream/normalizer.d.ts +0 -21
  175. package/dist/message-stream/parser.d.ts +0 -83
  176. package/dist/message-stream/registry.d.ts +0 -14
  177. package/dist/message-stream/replayable.d.ts +0 -27
  178. package/dist/message-stream/sanitize.d.ts +0 -10
  179. package/dist/message-stream/stream.d.ts +0 -54
  180. package/dist/message-stream/types.d.ts +0 -96
  181. package/dist/message-stream/validator.d.ts +0 -23
  182. package/dist/prompts/chat-mode/system.d.ts +0 -2
  183. package/dist/prompts/chat-mode/system.md.d.ts +0 -2
  184. package/dist/prompts/chat-mode/user.d.ts +0 -2
  185. package/dist/prompts/chat-mode/user.md.d.ts +0 -2
  186. package/dist/prompts/common.d.ts +0 -6
  187. package/dist/prompts/dual-modes.d.ts +0 -2
  188. package/dist/prompts/execution-history.d.ts +0 -6
  189. package/dist/prompts/execution-state.d.ts +0 -3
  190. package/dist/prompts/protocol.d.ts +0 -18
  191. package/dist/prompts/worker-mode/system.d.ts +0 -2
  192. package/dist/prompts/worker-mode/system.md.d.ts +0 -2
  193. package/dist/prompts/worker-mode/user.d.ts +0 -2
  194. package/dist/prompts/worker-mode/user.md.d.ts +0 -2
  195. package/dist/quickjs-variant-BYhMBpwU.js +0 -45
  196. package/dist/quickjs-variant-CsIwTVFC.cjs +0 -56
  197. package/dist/rolldown-runtime-EAsCxrDo.js +0 -14
  198. package/dist/runtime/interpret-result.d.ts +0 -22
  199. package/dist/snapshots.d.ts +0 -249
  200. package/dist/stack-traces-BIE_5Xwf.js +0 -21
  201. package/dist/stack-traces-ntw_qhoy.cjs +0 -26
  202. package/dist/truncator-CLkouTCO.cjs +0 -276
  203. package/dist/truncator-DZqEqnpD.js +0 -253
  204. package/dist/truncator.d.ts +0 -118
  205. package/dist/utils-3ESwP3yg.cjs +0 -1075
  206. package/dist/utils-UBeAFeEI.js +0 -950
  207. /package/dist/{citations.d.ts → chat/citations.d.ts} +0 -0
  208. /package/dist/{citations.test.d.ts → chat/citations.test.d.ts} +0 -0
  209. /package/dist/{component.default.test.d.ts → chat/component.default.test.d.ts} +0 -0
  210. /package/dist/{compiler/plugins/track-tool-calls.test.d.ts → chat/component.test.d.ts} +0 -0
  211. /package/dist/{example.test.d.ts → chat/response.test.d.ts} +0 -0
  212. /package/dist/{exit-parser.test.d.ts → compiler/plugins/dynamic-code.test.d.ts} +0 -0
  213. /package/dist/{handlers.test.d.ts → compiler/plugins/tool-resolution.test.d.ts} +0 -0
  214. /package/dist/{hoist.test.d.ts → errors/catalog.test.d.ts} +0 -0
  215. /package/dist/{message-stream/instructions.test.d.ts → exit.test.d.ts} +0 -0
  216. /package/dist/{message-stream/normalizer.test.d.ts → inspection.test.d.ts} +0 -0
  217. /package/dist/{message-stream/parser.test.d.ts → prompts/native.test.d.ts} +0 -0
  218. /package/dist/{message-stream/stream.test.d.ts → result.test.d.ts} +0 -0
  219. /package/dist/{message-stream/validator.test.d.ts → runtime/chat-delivery.test.d.ts} +0 -0
  220. /package/dist/{prompts/common.test.d.ts → runtime/citations.test.d.ts} +0 -0
  221. /package/dist/{prompts/protocol.test.d.ts → runtime/compatibility-regressions.test.d.ts} +0 -0
  222. /package/dist/runtime/{interpret-result.test.d.ts → context-registration.test.d.ts} +0 -0
  223. /package/dist/{transcript.test.d.ts → runtime/error-recovery.test.d.ts} +0 -0
  224. /package/dist/{truncator.test.d.ts → runtime/errors.test.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import type { VMExecutionResult } from '../../types.js';
2
- import type { DriverExecutionContext, VMDriver } from '../types.js';
2
+ import { type DriverExecutionContext, type VMDriver } from '../types.js';
3
3
  export declare class NodeDriver implements VMDriver {
4
4
  execute(ctx: DriverExecutionContext): Promise<VMExecutionResult>;
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { type QuickJSWASMModule } from 'quickjs-emscripten-core';
2
2
  import type { VMExecutionResult } from '../../types.js';
3
- import type { DriverExecutionContext, VMDriver } from '../types.js';
3
+ import { type DriverExecutionContext, type VMDriver } from '../types.js';
4
4
  export declare const loadQuickJSModule: () => Promise<QuickJSWASMModule>;
5
5
  export declare class QuickJSDriver implements VMDriver {
6
6
  execute(ctx: DriverExecutionContext): Promise<VMExecutionResult>;
@@ -1,12 +1,12 @@
1
1
  import type { SourceMapConsumer } from 'source-map-js';
2
- import { SnapshotSignal, VMSignal } from '../errors.js';
2
+ import { VMSignal } from '../errors.js';
3
3
  import type { Traces, VMExecutionResult } from '../types.js';
4
4
  export declare const handleErrorQuickJS: (err: Error, code: string, _consumer: SourceMapConsumer, traces: Traces.Trace[], variables: {
5
5
  [k: string]: any;
6
- }, lines_executed: Map<number, number>, userCodeStartLine: number, currentToolCall?: SnapshotSignal['toolCall'] | undefined) => VMExecutionResult;
7
- export declare const handleErrorNode: (err: Error, code: string, consumer: SourceMapConsumer, traces: Traces.Trace[], variables: {
6
+ }, lines_executed: Map<number, number>, userCodeStartLine: number, recordTrace: (trace: Traces.Trace) => void) => VMExecutionResult;
7
+ export declare const handleErrorNode: (err: Error, code: string, consumer: SourceMapConsumer, recordTrace: (trace: Traces.Trace) => void, variables: {
8
8
  [k: string]: () => any;
9
- }, _lines_executed: Map<number, number>, currentToolCall?: SnapshotSignal['toolCall'] | undefined) => never;
9
+ }, _lines_executed: Map<number, number>, lastExecutedLine?: number) => never;
10
10
  export declare const handleCatch: (err: Error, traces: Traces.Trace[], variables: {
11
11
  [k: string]: () => any;
12
12
  }, lines_executed: Map<number, number>) => {
@@ -2,9 +2,8 @@ import type { Trace, VMExecutionResult } from '../types.js';
2
2
  import type { VMContext } from './types.js';
3
3
  /**
4
4
  * Pre-warms the VM so the first execution doesn't pay the QuickJS WASM
5
- * instantiation cost. Fire-and-forget: called as soon as the model starts
6
- * writing a `■run` block, so the module loads while the code is still being
7
- * generated. No-op when the QuickJS driver is disabled or already loaded.
5
+ * instantiation cost. Call this while a native JavaScript tool call is being
6
+ * generated or before executing it. No-op when the driver is disabled or loaded.
8
7
  */
9
8
  export declare const warmupVM: () => void;
10
- export declare function runAsyncFunction(context: VMContext, code: string, traces?: Trace[], signal?: AbortSignal | null, timeout?: number): Promise<VMExecutionResult>;
9
+ export declare function runAsyncFunction(context: VMContext, code: string, traces?: Trace[], signal?: AbortSignal | null, timeout?: number, memoryNames?: string[], recordTrace?: (trace: Trace) => void): Promise<VMExecutionResult>;
@@ -1,11 +1,19 @@
1
1
  import type { SourceMapConsumer } from 'source-map-js';
2
2
  import { type CompiledCode } from '../compiler/index.js';
3
- import { SnapshotSignal } from '../errors.js';
4
- import type { Trace } from '../types.js';
5
- import { VMContext } from './types.js';
6
- export declare const NO_TRACKING: readonly [string, string, string, string, string];
3
+ import { type VariableWrite } from '../session/memory.js';
4
+ import type { Trace, VMExecutionResult } from '../types.js';
5
+ import { type VMContext } from './types.js';
6
+ export declare const NO_TRACKING: readonly [string, string, string, "__llmz_checkpoint", "__llmz_guard"];
7
7
  export type InstrumentationState = {
8
- currentToolCall: SnapshotSignal['toolCall'] | undefined;
8
+ lastExecutedLine: number | undefined;
9
+ memoryNames: Set<string>;
10
+ variableWrites: VariableWrite[];
11
+ captureErrors: {
12
+ name: string;
13
+ reason: string;
14
+ }[];
9
15
  };
10
- export declare function instrumentContext(context: VMContext, transformed: CompiledCode, traces: Trace[], variables: Record<string, any>, lines_executed: Map<number, number>, consumer: SourceMapConsumer, userCodeStartLine: number): InstrumentationState;
16
+ export declare function instrumentContext(context: VMContext, transformed: CompiledCode, recordTrace: (trace: Trace) => void, variables: Record<string, any>, lines_executed: Map<number, number>, consumer: SourceMapConsumer, userCodeStartLine: number, memoryNames?: string[]): InstrumentationState;
11
17
  export declare function findUserCodeStartLine(transformed: CompiledCode): number;
18
+ /** Drop unsupported captures explicitly instead of presenting lossy placeholders as data. */
19
+ export declare function finalizeMemoryCapture(result: VMExecutionResult, state: InstrumentationState): VMExecutionResult;
@@ -0,0 +1,4 @@
1
+ /** Host-only metadata lets QuickJS install the same missing-member behavior in its own realm. */
2
+ export declare const MISSING_MEMBER: unique symbol;
3
+ /** Only registered own members are callable; inherited Object methods are not API members. */
4
+ export declare function withMissingMember<T extends object>(target: T, missing: (name: string) => never): T;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,19 +1,34 @@
1
1
  import type { SourceMapConsumer } from 'source-map-js';
2
2
  import type { CompiledCode } from '../compiler/index.js';
3
- import type { SnapshotSignal } from '../errors.js';
3
+ import type { LLMzFailure, VMSignal } from '../errors.js';
4
4
  import type { Trace, VMExecutionResult } from '../types.js';
5
- export type VMContext = Record<string, any>;
5
+ /** Host-only lifecycle hook; symbols are not copied into the generated program's globals. */
6
+ export declare const VM_PROGRAM_COMPLETE: unique symbol;
7
+ export declare const VM_TERMINATION: unique symbol;
8
+ export declare const VM_ON_ERROR: unique symbol;
9
+ export type VMTermination = {
10
+ isTerminated(): boolean;
11
+ check(): void;
12
+ /** Host-owned signal; guest errors are never used to select a latched interruption. */
13
+ getSignal?(): VMSignal | undefined;
14
+ };
15
+ export type VMContext = Record<string, any> & {
16
+ [VM_ON_ERROR]?: (error: LLMzFailure) => void;
17
+ [VM_PROGRAM_COMPLETE]?: () => void;
18
+ [VM_TERMINATION]?: VMTermination;
19
+ };
6
20
  export type DriverExecutionContext = {
7
21
  transformed: CompiledCode;
22
+ memoryNames: string[];
8
23
  consumer: SourceMapConsumer;
9
24
  context: VMContext;
10
25
  traces: Trace[];
26
+ recordTrace: (trace: Trace) => void;
11
27
  signal: AbortSignal | null;
12
28
  timeout: number;
13
29
  code: string;
14
30
  lines_executed: Map<number, number>;
15
31
  variables: Record<string, any>;
16
- currentToolCall: SnapshotSignal['toolCall'] | undefined;
17
32
  };
18
33
  export type VMDriver = {
19
34
  execute(ctx: DriverExecutionContext): Promise<VMExecutionResult>;