llmz 0.9.0 → 1.0.2
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.
- package/DOCS.md +232 -1794
- package/ERRORS.md +101 -0
- package/README.md +96 -582
- package/dist/chat/chat.d.ts +63 -0
- package/dist/chat/component.d.ts +31 -0
- package/dist/chat/component.default.d.ts +58 -0
- package/dist/chat/response.d.ts +15 -0
- package/dist/compiler/compiler.d.ts +2 -7
- package/dist/compiler/plugins/dynamic-code.d.ts +7 -0
- package/dist/compiler/plugins/replace-comment.d.ts +2 -3
- package/dist/compiler/plugins/return-async.d.ts +5 -4
- package/dist/compiler/plugins/termination.d.ts +8 -0
- package/dist/compiler/plugins/tool-resolution.d.ts +4 -0
- package/dist/compiler/plugins/variable-extraction.d.ts +2 -8
- package/dist/component-CMFoCHyu.cjs +649 -0
- package/dist/component-DncqP4fB.js +614 -0
- package/dist/context.d.ts +71 -378
- package/dist/custom-client-C-WXvLD9.js +1655 -0
- package/dist/custom-client-Cgt9_0r1.cjs +1732 -0
- package/dist/custom-client.d.ts +12 -2
- package/dist/errors/catalog.d.ts +294 -0
- package/dist/errors/hooks.d.ts +2 -0
- package/dist/errors-C6ppQUZX.cjs +893 -0
- package/dist/errors-Crk5P8jo.js +636 -0
- package/dist/errors.d.ts +24 -36
- package/dist/execute-CiYvPs5Q.js +2061 -0
- package/dist/execute-DTTfacsi.cjs +2062 -0
- package/dist/{exit-DUM96DN1.cjs → exit-BOtKWPuT.cjs} +38 -28
- package/dist/{exit-CDdxDBRT.js → exit-DMPwCSba.js} +37 -27
- package/dist/exit.d.ts +19 -16
- package/dist/index.cjs +177 -1237
- package/dist/index.d.ts +25 -28
- package/dist/index.js +137 -1213
- package/dist/index.workerd.js +8974 -11145
- package/dist/inspect.d.ts +18 -4
- package/dist/inspection.d.ts +40 -0
- package/dist/native-0bq5ATZM.cjs +212 -0
- package/dist/native-n_718Z-T.js +177 -0
- package/dist/objects.d.ts +2 -57
- package/dist/prompts/native.d.ts +2 -0
- package/dist/prompts/prompt.d.ts +10 -101
- package/dist/quickjs-variant-21IO97PF.cjs +1080 -0
- package/dist/quickjs-variant-CtuGagsb.js +985 -0
- package/dist/result.d.ts +30 -861
- package/dist/runtime/execute.d.ts +3 -2
- package/dist/runtime/execution-activity.d.ts +11 -0
- package/dist/runtime/execution-diagnostics.d.ts +11 -0
- package/dist/runtime/execution-report.d.ts +51 -0
- package/dist/runtime/fixtures/chat.d.ts +8 -0
- package/dist/runtime/fixtures/long-search.d.ts +1 -1
- package/dist/runtime/fixtures/native-client.d.ts +33 -0
- package/dist/runtime/fixtures/protocol-languages.d.ts +1 -1
- package/dist/runtime/forced-inspection.d.ts +13 -0
- package/dist/runtime/forced-inspection.test.d.ts +1 -0
- package/dist/runtime/generate.d.ts +23 -20
- package/dist/runtime/generate.test.d.ts +1 -0
- package/dist/runtime/hook-provenance.test.d.ts +1 -0
- package/dist/runtime/inspection-hook.test.d.ts +1 -0
- package/dist/runtime/inspection-values.d.ts +14 -0
- package/dist/runtime/inspection-values.test.d.ts +1 -0
- package/dist/runtime/interruption-control-flow.test.d.ts +1 -0
- package/dist/runtime/interruption-settings.test.d.ts +1 -0
- package/dist/runtime/javascript-api.d.ts +62 -0
- package/dist/runtime/javascript-api.test.d.ts +1 -0
- package/dist/runtime/native-review.test.d.ts +1 -0
- package/dist/runtime/native-tools.d.ts +18 -0
- package/dist/runtime/native-tools.test.d.ts +1 -0
- package/dist/runtime/object-memory.test.d.ts +1 -0
- package/dist/runtime/single-tool.test.d.ts +1 -0
- package/dist/runtime/think-signal.test.d.ts +1 -0
- package/dist/runtime/token-budget.d.ts +22 -0
- package/dist/runtime/token-budget.test.d.ts +1 -0
- package/dist/runtime/tool-wrapper.d.ts +6 -5
- package/dist/runtime/traces.test.d.ts +1 -0
- package/dist/runtime/truncation.test.d.ts +1 -0
- package/dist/runtime/types.d.ts +47 -31
- package/dist/runtime/variable-recovery.test.d.ts +1 -0
- package/dist/runtime/vm-context.d.ts +6 -1
- package/dist/runtime/worker-completion.test.d.ts +1 -0
- package/dist/runtime-names.d.ts +4 -0
- package/dist/schema-CXlnbb3n.cjs +68 -0
- package/dist/schema-GE4ISPCR.js +45 -0
- package/dist/schema.d.ts +10 -0
- package/dist/schema.test.d.ts +1 -0
- package/dist/session/compactor.d.ts +51 -0
- package/dist/session/compactor.test.d.ts +1 -0
- package/dist/session/history.d.ts +36 -0
- package/dist/session/history.test.d.ts +1 -0
- package/dist/session/json.d.ts +3 -0
- package/dist/session/json.test.d.ts +1 -0
- package/dist/session/memory-codec.d.ts +9 -0
- package/dist/session/memory-codec.test.d.ts +1 -0
- package/dist/session/memory-render.d.ts +15 -0
- package/dist/session/memory-render.test.d.ts +1 -0
- package/dist/session/memory.d.ts +112 -0
- package/dist/session/memory.test.d.ts +1 -0
- package/dist/session/messages.d.ts +19 -0
- package/dist/session/messages.test.d.ts +1 -0
- package/dist/session/serialization.d.ts +36 -0
- package/dist/session/serialization.test.d.ts +1 -0
- package/dist/session/session-memory.test.d.ts +1 -0
- package/dist/session/session.d.ts +121 -0
- package/dist/session/session.test.d.ts +1 -0
- package/dist/session/speaker.test.d.ts +1 -0
- package/dist/{transcript.d.ts → session/transcript.d.ts} +4 -8
- package/dist/session/transcript.test.d.ts +1 -0
- package/dist/{tool-Bv8N4IPj.js → tool-DstssiAs.js} +144 -92
- package/dist/{tool-Dy6AJpJH.cjs → tool-_wK9hQOb.cjs} +146 -94
- package/dist/tool.d.ts +25 -17
- package/dist/truncate-BEKbdo3t.js +79 -0
- package/dist/truncate-uomAMGPs.cjs +102 -0
- package/dist/truncate.d.ts +24 -0
- package/dist/truncate.test.d.ts +1 -0
- package/dist/types.d.ts +33 -9
- package/dist/{typings-3lsqCbkn.cjs → typings-BA_XxAcY.cjs} +38 -193
- package/dist/{typings-CrBa7Tyy.js → typings-BEVDvtuk.js} +38 -175
- package/dist/typings-formatter.d.ts +1 -1
- package/dist/typings.d.ts +3 -0
- package/dist/{uniq-BYQ7GWwb.js → uniq-DfUeSNaX.js} +2 -2
- package/dist/{uniq-G872RWmE.cjs → uniq-DiXgysNV.cjs} +6 -18
- package/dist/{_baseIteratee-P_firB7b.js → utils-BOFzb8Ok.js} +1134 -16
- package/dist/{_baseIteratee-CF4qP2a8.cjs → utils-CTlsXvdj.cjs} +1281 -84
- package/dist/vm/drivers/node.d.ts +1 -1
- package/dist/vm/drivers/quickjs.d.ts +1 -1
- package/dist/vm/errors.d.ts +4 -4
- package/dist/vm/index.d.ts +3 -4
- package/dist/vm/instrument.d.ts +14 -6
- package/dist/vm/member-proxy.d.ts +4 -0
- package/dist/vm/member-proxy.test.d.ts +1 -0
- package/dist/vm/memory.test.d.ts +1 -0
- package/dist/vm/return-semantics.test.d.ts +1 -0
- package/dist/vm/types.d.ts +20 -3
- package/dist/{vm-BLsHw1da.js → vm-C7SfutHn.js} +1187 -180
- package/dist/{vm-D6s1zF6M.cjs → vm-gmekHc0i.cjs} +1221 -207
- package/package.json +13 -6
- package/dist/_baseForOwn-BfWDTL8L.cjs +0 -53
- package/dist/_baseForOwn-CFhWe_W6.js +0 -48
- package/dist/_getPrototype-CG7Dxrrz.js +0 -6
- package/dist/_getPrototype-DQDlNVVM.cjs +0 -10
- package/dist/_overArg-C5Hy7oCi.cjs +0 -196
- package/dist/_overArg-CRYbj1NH.js +0 -155
- package/dist/chat.d.ts +0 -401
- package/dist/common-BlRFtdf2.js +0 -807
- package/dist/common-BnvrDnIT.cjs +0 -860
- package/dist/compiler/plugins/track-tool-calls.d.ts +0 -33
- package/dist/compiler-C-OI9sim.cjs +0 -547
- package/dist/compiler-CW1VjQsn.js +0 -473
- package/dist/component-C6Agl2ns.cjs +0 -73
- package/dist/component-DGG7d_Mz.js +0 -44
- package/dist/component.d.ts +0 -88
- package/dist/component.default.d.ts +0 -278
- package/dist/custom-client-ChuZ63zp.js +0 -2658
- package/dist/custom-client-DAsGRnYc.cjs +0 -2729
- package/dist/dual-modes-DDkoCp3R.js +0 -3006
- package/dist/dual-modes-DPXiuvNe.cjs +0 -3090
- package/dist/errors-C962uJdS.cjs +0 -220
- package/dist/errors-Cg1G0Awu.js +0 -161
- package/dist/example-format.d.ts +0 -8
- package/dist/example.d.ts +0 -45
- package/dist/execute-BWcdv9so.js +0 -1059
- package/dist/execute-DM2-7y86.cjs +0 -1060
- package/dist/exit-parser.d.ts +0 -39
- package/dist/handlers.d.ts +0 -10
- package/dist/hoist.d.ts +0 -2
- package/dist/isEmpty-BhJRCqIF.js +0 -52
- package/dist/isEmpty-LY533Wmh.cjs +0 -57
- package/dist/isPlainObject-CSxXVKCk.cjs +0 -56
- package/dist/isPlainObject-D39AzPO2.js +0 -51
- package/dist/jsx-CIgdGGVs.js +0 -52
- package/dist/jsx-owqxrquU.cjs +0 -75
- package/dist/jsx.d.ts +0 -11
- package/dist/message-stream/index.d.ts +0 -9
- package/dist/message-stream/instructions.d.ts +0 -30
- package/dist/message-stream/normalizer.d.ts +0 -21
- package/dist/message-stream/parser.d.ts +0 -89
- package/dist/message-stream/registry.d.ts +0 -14
- package/dist/message-stream/replayable.d.ts +0 -27
- package/dist/message-stream/response-parser.d.ts +0 -24
- package/dist/message-stream/sanitize.d.ts +0 -10
- package/dist/message-stream/stream.d.ts +0 -54
- package/dist/message-stream/types.d.ts +0 -97
- package/dist/message-stream/validator.d.ts +0 -23
- package/dist/prompts/chat-mode/protocol.d.ts +0 -2
- package/dist/prompts/chat-mode/system.d.ts +0 -2
- package/dist/prompts/chat-mode/system.md.d.ts +0 -2
- package/dist/prompts/chat-mode/user.d.ts +0 -2
- package/dist/prompts/chat-mode/user.md.d.ts +0 -2
- package/dist/prompts/code-examples.d.ts +0 -2
- package/dist/prompts/common.d.ts +0 -7
- package/dist/prompts/dual-modes.d.ts +0 -2
- package/dist/prompts/execution-history.d.ts +0 -6
- package/dist/prompts/execution-state.d.ts +0 -3
- package/dist/prompts/protocol-basics.d.ts +0 -5
- package/dist/prompts/protocol.d.ts +0 -31
- package/dist/prompts/worker-mode/protocol.d.ts +0 -2
- package/dist/prompts/worker-mode/system.d.ts +0 -2
- package/dist/prompts/worker-mode/system.md.d.ts +0 -2
- package/dist/prompts/worker-mode/user.d.ts +0 -2
- package/dist/prompts/worker-mode/user.md.d.ts +0 -2
- package/dist/quickjs-variant-BYhMBpwU.js +0 -45
- package/dist/quickjs-variant-CsIwTVFC.cjs +0 -56
- package/dist/rolldown-runtime-EAsCxrDo.js +0 -14
- package/dist/runtime/fixtures/qwen-protocol-failures.d.ts +0 -29
- package/dist/runtime/interpret-result.d.ts +0 -22
- package/dist/snapshots.d.ts +0 -249
- package/dist/stack-traces-BIE_5Xwf.js +0 -21
- package/dist/stack-traces-ntw_qhoy.cjs +0 -26
- package/dist/truncator-CLkouTCO.cjs +0 -276
- package/dist/truncator-DZqEqnpD.js +0 -253
- package/dist/truncator.d.ts +0 -118
- package/dist/utils-3ESwP3yg.cjs +0 -1075
- package/dist/utils-UBeAFeEI.js +0 -950
- /package/dist/{citations.d.ts → chat/citations.d.ts} +0 -0
- /package/dist/{citations.test.d.ts → chat/citations.test.d.ts} +0 -0
- /package/dist/{component.default.test.d.ts → chat/component.default.test.d.ts} +0 -0
- /package/dist/{compiler/plugins/track-tool-calls.test.d.ts → chat/component.test.d.ts} +0 -0
- /package/dist/{example.test.d.ts → chat/response.test.d.ts} +0 -0
- /package/dist/{exit-parser.test.d.ts → compiler/plugins/dynamic-code.test.d.ts} +0 -0
- /package/dist/{handlers.test.d.ts → compiler/plugins/tool-resolution.test.d.ts} +0 -0
- /package/dist/{hoist.test.d.ts → errors/catalog.test.d.ts} +0 -0
- /package/dist/{message-stream/instructions.test.d.ts → exit.test.d.ts} +0 -0
- /package/dist/{message-stream/normalizer.test.d.ts → inspection.test.d.ts} +0 -0
- /package/dist/{message-stream/parser.test.d.ts → prompts/native.test.d.ts} +0 -0
- /package/dist/{message-stream/response-parser.test.d.ts → result.test.d.ts} +0 -0
- /package/dist/{message-stream/stream.test.d.ts → runtime/chat-completion.test.d.ts} +0 -0
- /package/dist/{message-stream/validator.test.d.ts → runtime/chat-delivery.test.d.ts} +0 -0
- /package/dist/{prompts/adherence.test.d.ts → runtime/chat-last-speaker.test.d.ts} +0 -0
- /package/dist/{prompts/catalogue-examples.test.d.ts → runtime/compatibility-regressions.test.d.ts} +0 -0
- /package/dist/{prompts/code-examples.test.d.ts → runtime/context-registration.test.d.ts} +0 -0
- /package/dist/{prompts/common.test.d.ts → runtime/empty-completion.test.d.ts} +0 -0
- /package/dist/{prompts/concrete-patterns.test.d.ts → runtime/error-recovery.test.d.ts} +0 -0
- /package/dist/{prompts/long-search.test.d.ts → runtime/errors.test.d.ts} +0 -0
- /package/dist/{prompts/protocol-simple.test.d.ts → runtime/execution-activity.test.d.ts} +0 -0
- /package/dist/{prompts/protocol.test.d.ts → runtime/execution-diagnostics.test.d.ts} +0 -0
- /package/dist/{prompts/sections.test.d.ts → runtime/execution-report.test.d.ts} +0 -0
- /package/dist/runtime/{interpret-result.test.d.ts → execution-safety.test.d.ts} +0 -0
- /package/dist/{transcript.test.d.ts → runtime/exit-control-flow.test.d.ts} +0 -0
- /package/dist/{truncator.test.d.ts → runtime/fixtures/long-search.test.d.ts} +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { z } from "@bpinternal/zui";
|
|
1
|
+
import { Y as __exportAll, d as toPropertyKey, i as getMultilineComment, n as fromJSONSchemaCompat } from "./utils-BOFzb8Ok.js";
|
|
2
|
+
import { b as InvalidConfigurationError, c as CodeFormattingError } from "./errors-Crk5P8jo.js";
|
|
3
|
+
import { transforms, z } from "@bpinternal/zui";
|
|
5
4
|
//#region src/typings-formatter.ts
|
|
6
5
|
/**
|
|
7
6
|
* A minimal, dependency-free formatter for the TypeScript typings generated by
|
|
8
|
-
* llmz (typings.ts, objects.ts
|
|
7
|
+
* llmz (typings.ts, objects.ts). It supports only the small grammar
|
|
9
8
|
* those generators emit — type expressions, `declare const` / `declare function`
|
|
10
9
|
* declarations, `type` aliases and `export namespace` blocks — and produces
|
|
11
10
|
* prettier-like output: 80 columns, 2-space indent, no semicolons in broken
|
|
@@ -427,7 +426,7 @@ function breakGroup(p, g, level, tailWidth = 0) {
|
|
|
427
426
|
});
|
|
428
427
|
return;
|
|
429
428
|
}
|
|
430
|
-
const separator = g.open === "(" || g.open === "["
|
|
429
|
+
const separator = g.open === "(" || g.open === "[" || usedComma ? "," : null;
|
|
431
430
|
const trailingSeparator = g.open === "(" || g.open === "[";
|
|
432
431
|
p.atom({
|
|
433
432
|
kind: "open",
|
|
@@ -566,178 +565,42 @@ async function formatTypings(typings, options) {
|
|
|
566
565
|
}
|
|
567
566
|
//#endregion
|
|
568
567
|
//#region src/typings.ts
|
|
569
|
-
var typings_exports = /* @__PURE__ */ __exportAll({
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
"object"
|
|
583
|
-
];
|
|
584
|
-
const LARGE_DECLARATION_LINES = 5;
|
|
585
|
-
const isPrimitive = (type) => Primitives.includes(type);
|
|
586
|
-
const isArrayOfPrimitives = (type) => Primitives.map((p) => `${p}[]`).includes(type);
|
|
587
|
-
const stripSpaces = (typings) => typings.replace(/ +/g, " ").trim();
|
|
588
|
-
var KeyValue = class {
|
|
589
|
-
key;
|
|
590
|
-
value;
|
|
591
|
-
constructor(key, value) {
|
|
592
|
-
this.key = key;
|
|
593
|
-
this.value = value;
|
|
594
|
-
}
|
|
595
|
-
};
|
|
596
|
-
var FnParameters = class {
|
|
597
|
-
schema;
|
|
598
|
-
constructor(schema) {
|
|
599
|
-
this.schema = schema;
|
|
600
|
-
}
|
|
601
|
-
};
|
|
602
|
-
var FnReturn = class {
|
|
603
|
-
schema;
|
|
604
|
-
constructor(schema) {
|
|
605
|
-
this.schema = schema;
|
|
606
|
-
}
|
|
607
|
-
};
|
|
608
|
-
var Declaration = class {
|
|
609
|
-
schema;
|
|
610
|
-
identifier;
|
|
611
|
-
constructor(schema, identifier) {
|
|
612
|
-
this.schema = schema;
|
|
613
|
-
this.identifier = identifier;
|
|
614
|
-
}
|
|
615
|
-
};
|
|
616
|
-
async function getTypings(schema, options) {
|
|
617
|
-
options ??= {};
|
|
618
|
-
options.declaration ??= false;
|
|
619
|
-
let wrappedSchema = schema;
|
|
620
|
-
if ((options === null || options === void 0 ? void 0 : options.declaration) && z.is.zuiType(schema)) {
|
|
621
|
-
const title = "title" in schema.ui ? schema.ui.title : null;
|
|
622
|
-
if (!title) throw new Error("Only schemas with \"title\" Zui property can be declared.");
|
|
623
|
-
wrappedSchema = new Declaration(schema, title);
|
|
568
|
+
var typings_exports = /* @__PURE__ */ __exportAll({
|
|
569
|
+
getTypings: () => getTypings,
|
|
570
|
+
schemaToTypeScript: () => schemaToTypeScript
|
|
571
|
+
});
|
|
572
|
+
/** One schema renderer for API inputs, results, and memory properties. */
|
|
573
|
+
function schemaToTypeScript(schema) {
|
|
574
|
+
if (z.is.zuiDefault(schema)) return schemaToTypeScript(schema._def.innerType);
|
|
575
|
+
const options = { treatDefaultAsOptional: true };
|
|
576
|
+
try {
|
|
577
|
+
return transforms.toTypescriptType(schema, options);
|
|
578
|
+
} catch {
|
|
579
|
+
const normalized = fromJSONSchemaCompat(transforms.toJSONSchemaLegacy(schema));
|
|
580
|
+
return transforms.toTypescriptType(normalized, options);
|
|
624
581
|
}
|
|
625
|
-
let dts = await sUnwrapZodRecursive(wrappedSchema, { ...options });
|
|
626
|
-
dts = await formatTypings(dts, { throwOnError: false });
|
|
627
|
-
return dts;
|
|
628
582
|
}
|
|
629
|
-
|
|
630
|
-
|
|
583
|
+
function describeParameter(parameter, index) {
|
|
584
|
+
var _parameter$ui;
|
|
585
|
+
const name = toPropertyKey(((_parameter$ui = parameter.ui) === null || _parameter$ui === void 0 ? void 0 : _parameter$ui.title) ?? `arg${index}`);
|
|
586
|
+
const optional = z.is.zuiOptional(parameter) || z.is.zuiDefault(parameter);
|
|
587
|
+
let value = parameter;
|
|
588
|
+
while (z.is.zuiOptional(value) || z.is.zuiDefault(value)) value = value._def.innerType;
|
|
589
|
+
return `${getMultilineComment(parameter.description)}${name}${optional ? "?" : ""}: ${schemaToTypeScript(value.describe(""))}`;
|
|
631
590
|
}
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
const typings = await sUnwrapZodRecursive(schema.schema.describe(""), {
|
|
641
|
-
...newOptions,
|
|
642
|
-
declaration: true
|
|
643
|
-
});
|
|
644
|
-
const closingTag = typings.split("\n").length >= LARGE_DECLARATION_LINES ? `// end of ${schema.identifier}` : "";
|
|
645
|
-
if (z.is.zuiFunction(schema.schema)) return stripSpaces(`${description}
|
|
646
|
-
declare function ${schema.identifier}${typings};${closingTag}`);
|
|
647
|
-
return stripSpaces(`${description}
|
|
648
|
-
declare const ${schema.identifier}: ${typings};${closingTag}`);
|
|
649
|
-
}
|
|
650
|
-
if (schema instanceof KeyValue) {
|
|
651
|
-
if (z.is.zuiOptional(schema.value) || z.is.zuiDefault(schema.value)) {
|
|
652
|
-
let innerType = schema.value._def.innerType;
|
|
653
|
-
if (z.is.zuiType(innerType) && !innerType.description && schema.value.description) innerType = innerType === null || innerType === void 0 ? void 0 : innerType.describe(schema.value.description);
|
|
654
|
-
const optionalToken = schema.key.endsWith("?") ? "" : "?";
|
|
655
|
-
return sUnwrapZodRecursive(new KeyValue(schema.key + optionalToken, innerType), newOptions);
|
|
656
|
-
}
|
|
657
|
-
const description = getMultilineComment(schema.value._def.description || schema.value.description);
|
|
658
|
-
const delimiter = (description === null || description === void 0 ? void 0 : description.trim().length) > 0 ? "\n" : "";
|
|
659
|
-
const withoutDesc = schema.value.describe("");
|
|
660
|
-
return `${delimiter}${description}${delimiter}${schema.key}: ${await sUnwrapZodRecursive(withoutDesc, newOptions)}${delimiter}`;
|
|
661
|
-
}
|
|
662
|
-
if (schema instanceof FnParameters) {
|
|
663
|
-
if (z.is.zuiTuple(schema.schema)) {
|
|
664
|
-
let args = "";
|
|
665
|
-
for (let i = 0; i < schema.schema.items.length; i++) {
|
|
666
|
-
var _schema$schema$items$;
|
|
667
|
-
const argName = ((_schema$schema$items$ = schema.schema.items[i]) === null || _schema$schema$items$ === void 0 || (_schema$schema$items$ = _schema$schema$items$.ui) === null || _schema$schema$items$ === void 0 ? void 0 : _schema$schema$items$.title) ?? `arg${i}`;
|
|
668
|
-
const item = schema.schema.items[i];
|
|
669
|
-
args += `${await sUnwrapZodRecursive(new KeyValue(toPropertyKey(argName), item), newOptions)}, `;
|
|
670
|
-
}
|
|
671
|
-
return args;
|
|
672
|
-
}
|
|
673
|
-
const isLiteral = z.is.zuiLiteral(schema.schema.naked());
|
|
674
|
-
const typings = (await sUnwrapZodRecursive(schema.schema, newOptions)).trim();
|
|
675
|
-
if (typings.startsWith("{") && typings.endsWith("}") || typings.startsWith("[") && typings.endsWith("]") || typings.startsWith("(") && typings.endsWith(")") || typings.startsWith("Array<") && typings.endsWith(">") || typings.startsWith("Record<") && typings.endsWith(">") || isArrayOfPrimitives(typings) || isLiteral) return `args: ${typings}`;
|
|
676
|
-
else return typings;
|
|
677
|
-
}
|
|
678
|
-
if (schema instanceof FnReturn) {
|
|
679
|
-
if (z.is.zuiOptional(schema.schema)) return `${await sUnwrapZodRecursive(schema.schema.unwrap(), newOptions)} | undefined`;
|
|
680
|
-
return sUnwrapZodRecursive(schema.schema, newOptions);
|
|
681
|
-
}
|
|
682
|
-
if (schema === null) return "unknown";
|
|
683
|
-
if (z.is.zuiDefault(schema)) return sUnwrapZodRecursive(schema._def.innerType, options);
|
|
684
|
-
if (z.is.zuiVoid(schema)) return "void";
|
|
685
|
-
if (z.is.zuiUnknown(schema)) return "unknown";
|
|
686
|
-
if (z.is.zuiAny(schema)) return "any";
|
|
687
|
-
if (z.is.zuiPromise(schema)) return `Promise<${await sUnwrapZodRecursive(schema.unwrap(), newOptions)}>`;
|
|
591
|
+
/** Preserve declaration names and parameter labels; Zui renders every value type. */
|
|
592
|
+
async function getTypings(schema, options = {}) {
|
|
593
|
+
var _schema$ui;
|
|
594
|
+
if (!options.declaration) return formatTypings(schemaToTypeScript(schema), { throwOnError: false });
|
|
595
|
+
const title = (_schema$ui = schema.ui) === null || _schema$ui === void 0 ? void 0 : _schema$ui.title;
|
|
596
|
+
if (typeof title !== "string" || !title) throw new InvalidConfigurationError("Only schemas with \"title\" Zui property can be declared.");
|
|
597
|
+
const description = getMultilineComment(schema.description);
|
|
598
|
+
let declaration;
|
|
688
599
|
if (z.is.zuiFunction(schema)) {
|
|
689
|
-
const
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
(${input}): ${output}`;
|
|
694
|
-
return `${description}
|
|
695
|
-
(${input}) => ${output}`;
|
|
696
|
-
}
|
|
697
|
-
if (z.is.zuiArray(schema)) {
|
|
698
|
-
const item = await sUnwrapZodRecursive(schema._def.type, newOptions);
|
|
699
|
-
if (isPrimitive(item)) return `${item}[]`;
|
|
700
|
-
return `Array<${item}>`;
|
|
701
|
-
}
|
|
702
|
-
if (z.is.zuiEnum(schema)) return schema._def.values.map(escapeString).join(" | ");
|
|
703
|
-
if (z.is.zuiTuple(schema)) {
|
|
704
|
-
if (schema.items.length === 0) return "[]";
|
|
705
|
-
return `[${(await Promise.all(schema.items.map((i) => sUnwrapZodRecursive(i, newOptions)))).join(", ")}]`;
|
|
706
|
-
}
|
|
707
|
-
if (z.is.zuiNullable(schema)) return `${await sUnwrapZodRecursive(schema.unwrap(), options)} | null`;
|
|
708
|
-
if (z.is.zuiOptional(schema)) {
|
|
709
|
-
if ((options === null || options === void 0 ? void 0 : options.declaration) || z.is.zuiType(options === null || options === void 0 ? void 0 : options.parent) && options.parent.typeName === "ZodRecord") return `${await sUnwrapZodRecursive(schema._def.innerType, newOptions)} | undefined`;
|
|
710
|
-
const optionalToken = options.parent instanceof KeyValue ? "| undefined" : "";
|
|
711
|
-
return `${await sUnwrapZodRecursive(schema._def.innerType, newOptions)}${optionalToken}`;
|
|
712
|
-
}
|
|
713
|
-
if (z.is.zuiObject(schema)) return `{ ${(await Promise.all(Object.entries(schema.shape).map(async ([key, value]) => {
|
|
714
|
-
if (z.is.zuiType(value)) return sUnwrapZodRecursive(new KeyValue(toPropertyKey(key), value), newOptions);
|
|
715
|
-
return `${key}: unknown`;
|
|
716
|
-
}))).join("; ")} }`;
|
|
717
|
-
if (z.is.zuiString(schema)) return `${getMultilineComment(schema._def.description)} string`.trim();
|
|
718
|
-
if (z.is.zuiUnion(schema)) return `${getMultilineComment(schema._def.description)}
|
|
719
|
-
${(await Promise.all(schema.options.map(async (option) => {
|
|
720
|
-
return sUnwrapZodRecursive(option, newOptions);
|
|
721
|
-
}))).join(" | ")}`;
|
|
722
|
-
if (z.is.zuiLiteral(schema)) return `${getMultilineComment(schema._def.description)}
|
|
723
|
-
${typeof schema.value === "string" ? escapeString(schema.value) : String(schema.value)}`.trim();
|
|
724
|
-
if (z.is.zuiNumber(schema)) return `${getMultilineComment(schema._def.description)} number`.trim();
|
|
725
|
-
if (z.is.zuiBoolean(schema)) return `${getMultilineComment(schema._def.description)} boolean`.trim();
|
|
726
|
-
if (z.is.zuiCatch(schema)) return sUnwrapZodRecursive(schema.removeCatch(), newOptions);
|
|
727
|
-
if (z.is.zuiLazy(schema)) return sUnwrapZodRecursive(schema._def.getter(), newOptions);
|
|
728
|
-
if (z.is.zuiRecord(schema)) return `${getMultilineComment(schema._def.description)} { [key: (${await sUnwrapZodRecursive(schema._def.keyType, newOptions)})]: (${await sUnwrapZodRecursive(schema._def.valueType, newOptions)}) }`;
|
|
729
|
-
try {
|
|
730
|
-
let typings = schema === null || schema === void 0 ? void 0 : schema.toTypescriptType({ treatDefaultAsOptional: true });
|
|
731
|
-
typings ??= "unknown";
|
|
732
|
-
return stripSpaces(typings);
|
|
733
|
-
} catch (error) {
|
|
734
|
-
console.error("Error in sUnwrapZod", {
|
|
735
|
-
error,
|
|
736
|
-
schema,
|
|
737
|
-
parent: options === null || options === void 0 ? void 0 : options.parent
|
|
738
|
-
});
|
|
739
|
-
return "unknown";
|
|
740
|
-
}
|
|
600
|
+
const input = schema.parameters();
|
|
601
|
+
declaration = `declare function ${title}(${z.is.zuiTuple(input) ? input.items.map(describeParameter).join(", ") : `args: ${schemaToTypeScript(input)}`}): ${schemaToTypeScript(schema.returnType())};`;
|
|
602
|
+
} else declaration = `declare const ${title}: ${schemaToTypeScript(schema.describe(""))};`;
|
|
603
|
+
return formatTypings(`${description}\n${declaration}`, { throwOnError: false });
|
|
741
604
|
}
|
|
742
605
|
//#endregion
|
|
743
|
-
export {
|
|
606
|
+
export { formatTypings as i, schemaToTypeScript as n, typings_exports as r, getTypings as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A minimal, dependency-free formatter for the TypeScript typings generated by
|
|
3
|
-
* llmz (typings.ts, objects.ts
|
|
3
|
+
* llmz (typings.ts, objects.ts). It supports only the small grammar
|
|
4
4
|
* those generators emit — type expressions, `declare const` / `declare function`
|
|
5
5
|
* declarations, `type` aliases and `export namespace` blocks — and produces
|
|
6
6
|
* prettier-like output: 80 columns, 2-space indent, no semicolons in broken
|
package/dist/typings.d.ts
CHANGED
|
@@ -2,4 +2,7 @@ import { z } from '@bpinternal/zui';
|
|
|
2
2
|
export type Options = {
|
|
3
3
|
declaration?: boolean;
|
|
4
4
|
};
|
|
5
|
+
/** One schema renderer for API inputs, results, and memory properties. */
|
|
6
|
+
export declare function schemaToTypeScript(schema: z.Schema): string;
|
|
7
|
+
/** Preserve declaration names and parameter labels; Zui renders every value type. */
|
|
5
8
|
export declare function getTypings(schema: z.Schema, options?: Options): Promise<string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as Set, _ as setToArray, v as cacheHas, y as SetCache } from "./utils-BOFzb8Ok.js";
|
|
2
2
|
//#region ../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/noop.js
|
|
3
3
|
/**
|
|
4
4
|
* This method returns `undefined`.
|
|
@@ -180,4 +180,4 @@ function uniq(array) {
|
|
|
180
180
|
return array && array.length ? baseUniq(array) : [];
|
|
181
181
|
}
|
|
182
182
|
//#endregion
|
|
183
|
-
export {
|
|
183
|
+
export { uniq as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_utils = require("./utils-CTlsXvdj.cjs");
|
|
2
2
|
//#region ../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/noop.js
|
|
3
3
|
/**
|
|
4
4
|
* This method returns `undefined`.
|
|
@@ -113,8 +113,8 @@ function arrayIncludesWith(array, value, comparator) {
|
|
|
113
113
|
* @param {Array} values The values to add to the set.
|
|
114
114
|
* @returns {Object} Returns the new set.
|
|
115
115
|
*/
|
|
116
|
-
var createSet = !(
|
|
117
|
-
return new
|
|
116
|
+
var createSet = !(require_utils.Set && 1 / require_utils.setToArray(new require_utils.Set([, -0]))[1] == 1 / 0) ? noop : function(values) {
|
|
117
|
+
return new require_utils.Set(values);
|
|
118
118
|
};
|
|
119
119
|
//#endregion
|
|
120
120
|
//#region ../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUniq.js
|
|
@@ -136,10 +136,10 @@ function baseUniq(array, iteratee, comparator) {
|
|
|
136
136
|
includes = arrayIncludesWith;
|
|
137
137
|
} else if (length >= LARGE_ARRAY_SIZE) {
|
|
138
138
|
var set = iteratee ? null : createSet(array);
|
|
139
|
-
if (set) return
|
|
139
|
+
if (set) return require_utils.setToArray(set);
|
|
140
140
|
isCommon = false;
|
|
141
|
-
includes =
|
|
142
|
-
seen = new
|
|
141
|
+
includes = require_utils.cacheHas;
|
|
142
|
+
seen = new require_utils.SetCache();
|
|
143
143
|
} else seen = iteratee ? [] : result;
|
|
144
144
|
outer: while (++index < length) {
|
|
145
145
|
var value = array[index], computed = iteratee ? iteratee(value) : value;
|
|
@@ -180,18 +180,6 @@ function uniq(array) {
|
|
|
180
180
|
return array && array.length ? baseUniq(array) : [];
|
|
181
181
|
}
|
|
182
182
|
//#endregion
|
|
183
|
-
Object.defineProperty(exports, "baseUniq", {
|
|
184
|
-
enumerable: true,
|
|
185
|
-
get: function() {
|
|
186
|
-
return baseUniq;
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
Object.defineProperty(exports, "noop", {
|
|
190
|
-
enumerable: true,
|
|
191
|
-
get: function() {
|
|
192
|
-
return noop;
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
183
|
Object.defineProperty(exports, "uniq", {
|
|
196
184
|
enumerable: true,
|
|
197
185
|
get: function() {
|