liminal 0.5.13 → 0.5.15
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/CHANGELOG.md +12 -0
- package/Context.ts +21 -4
- package/Definition.ts +16 -0
- package/L/L.ts +10 -1
- package/L/all.ts +4 -0
- package/L/assistant.ts +5 -3
- package/L/catch.ts +4 -0
- package/L/continuation.ts +3 -2
- package/L/emit.ts +6 -2
- package/L/infer.ts +16 -10
- package/L/message.ts +7 -3
- package/L/model.ts +4 -0
- package/L/reflect.ts +2 -1
- package/L/run.ts +2 -1
- package/L/schema/_schema_common.ts +29 -0
- package/L/schema/anyOf.ts +10 -0
- package/L/schema/array.ts +13 -0
- package/L/schema/boolean.ts +8 -0
- package/L/schema/const.ts +18 -0
- package/L/schema/enum.ts +18 -0
- package/L/schema/integer.ts +6 -0
- package/L/schema/null.ts +8 -0
- package/L/schema/number.ts +8 -0
- package/L/schema/object.ts +21 -0
- package/L/schema/string.ts +11 -0
- package/L/strand.ts +6 -2
- package/L/stream.ts +2 -1
- package/Message.ts +3 -2
- package/Model.ts +4 -4
- package/ModelRegistry.ts +16 -3
- package/Rune.ts +36 -7
- package/Schema.ts +4 -4
- package/Strand.ts +37 -6
- package/dist/Context.d.ts +19 -0
- package/dist/Context.js +7 -2
- package/dist/Context.js.map +1 -1
- package/dist/Definition.d.ts +14 -0
- package/dist/Definition.js +11 -0
- package/dist/Definition.js.map +1 -1
- package/dist/L/L.d.ts +10 -1
- package/dist/L/L.js +10 -1
- package/dist/L/L.js.map +1 -1
- package/dist/L/all.d.ts +4 -0
- package/dist/L/all.js.map +1 -1
- package/dist/L/assistant.d.ts +4 -0
- package/dist/L/assistant.js +1 -3
- package/dist/L/assistant.js.map +1 -1
- package/dist/L/catch.d.ts +4 -0
- package/dist/L/catch.js +4 -0
- package/dist/L/catch.js.map +1 -1
- package/dist/L/continuation.d.ts +1 -0
- package/dist/L/continuation.js +3 -2
- package/dist/L/continuation.js.map +1 -1
- package/dist/L/emit.d.ts +4 -0
- package/dist/L/emit.js +6 -2
- package/dist/L/emit.js.map +1 -1
- package/dist/L/infer.d.ts +4 -0
- package/dist/L/infer.js +11 -7
- package/dist/L/infer.js.map +1 -1
- package/dist/L/message.d.ts +6 -2
- package/dist/L/message.js +5 -1
- package/dist/L/message.js.map +1 -1
- package/dist/L/model.d.ts +4 -0
- package/dist/L/model.js +4 -0
- package/dist/L/model.js.map +1 -1
- package/dist/L/reflect.d.ts +1 -0
- package/dist/L/reflect.js +2 -1
- package/dist/L/reflect.js.map +1 -1
- package/dist/L/run.d.ts +2 -1
- package/dist/L/run.js.map +1 -1
- package/dist/L/schema/_schema_common.d.ts +6 -0
- package/dist/L/schema/_schema_common.js +19 -0
- package/dist/L/schema/_schema_common.js.map +1 -0
- package/dist/L/schema/anyOf.d.ts +5 -0
- package/dist/L/schema/anyOf.js +5 -0
- package/dist/L/schema/anyOf.js.map +1 -0
- package/dist/L/schema/array.d.ts +5 -0
- package/dist/L/schema/array.js +8 -0
- package/dist/L/schema/array.js.map +1 -0
- package/dist/L/schema/boolean.d.ts +6 -0
- package/dist/L/schema/boolean.js +4 -0
- package/dist/L/schema/boolean.js.map +1 -0
- package/dist/L/schema/const.d.ts +8 -0
- package/dist/L/schema/const.js +10 -0
- package/dist/L/schema/const.js.map +1 -0
- package/dist/L/schema/enum.d.ts +8 -0
- package/dist/L/schema/enum.js +10 -0
- package/dist/L/schema/enum.js.map +1 -0
- package/dist/L/schema/integer.d.ts +5 -0
- package/dist/L/schema/integer.js +3 -0
- package/dist/L/schema/integer.js.map +1 -0
- package/dist/L/schema/null.d.ts +6 -0
- package/dist/L/schema/null.js +4 -0
- package/dist/L/schema/null.js.map +1 -0
- package/dist/L/schema/number.d.ts +6 -0
- package/dist/L/schema/number.js +4 -0
- package/dist/L/schema/number.js.map +1 -0
- package/dist/L/schema/object.d.ts +9 -0
- package/dist/L/schema/object.js +12 -0
- package/dist/L/schema/object.js.map +1 -0
- package/dist/L/schema/string.d.ts +8 -0
- package/dist/L/schema/string.js +4 -0
- package/dist/L/schema/string.js.map +1 -0
- package/dist/L/strand.d.ts +4 -0
- package/dist/L/strand.js +6 -2
- package/dist/L/strand.js.map +1 -1
- package/dist/L/stream.d.ts +1 -0
- package/dist/L/stream.js +2 -1
- package/dist/L/stream.js.map +1 -1
- package/dist/Message.d.ts +3 -2
- package/dist/Model.d.ts +4 -4
- package/dist/Model.js +4 -4
- package/dist/ModelRegistry.d.ts +11 -1
- package/dist/ModelRegistry.js +16 -3
- package/dist/ModelRegistry.js.map +1 -1
- package/dist/Rune.d.ts +29 -8
- package/dist/Rune.js +2 -0
- package/dist/Rune.js.map +1 -1
- package/dist/Schema.d.ts +2 -2
- package/dist/Schema.js +2 -2
- package/dist/Schema.js.map +1 -1
- package/dist/Strand.d.ts +24 -0
- package/dist/Strand.js +27 -4
- package/dist/Strand.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util/JSONValue.d.ts +1 -1
- package/dist/util/JSONValue.js +21 -9
- package/dist/util/JSONValue.js.map +1 -1
- package/package.json +1 -1
- package/util/JSONValue.ts +23 -8
- package/L/context.ts +0 -12
- package/dist/L/context.d.ts +0 -2
- package/dist/L/context.js +0 -12
- package/dist/L/context.js.map +0 -1
package/dist/util/JSONValue.js
CHANGED
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import { LiminalAssertionError } from "liminal";
|
|
2
2
|
export var JSONValue;
|
|
3
3
|
(function (JSONValue) {
|
|
4
|
-
function assert(value) {
|
|
5
|
-
if (value === null)
|
|
4
|
+
function assert(value, visited = new Set()) {
|
|
5
|
+
if (value === null)
|
|
6
|
+
return;
|
|
7
|
+
const t = typeof value;
|
|
8
|
+
if (typeof value !== "object") {
|
|
9
|
+
LiminalAssertionError.assert(t === "string" || t === "number" || t === "boolean");
|
|
6
10
|
return;
|
|
7
11
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
LiminalAssertionError.assert(!visited.has(value));
|
|
13
|
+
visited.add(value);
|
|
14
|
+
try {
|
|
15
|
+
if (Array.isArray(value)) {
|
|
16
|
+
for (let i = 0; i < value.length; i++) {
|
|
17
|
+
assert(value[i], new Set(visited));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
for (const key in value) {
|
|
22
|
+
assert(value[key], new Set(visited));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
13
25
|
}
|
|
14
|
-
|
|
15
|
-
|
|
26
|
+
finally {
|
|
27
|
+
visited.delete(value);
|
|
16
28
|
}
|
|
17
29
|
}
|
|
18
30
|
JSONValue.assert = assert;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONValue.js","sourceRoot":"","sources":["../../util/JSONValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAG/C,MAAM,KAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"JSONValue.js","sourceRoot":"","sources":["../../util/JSONValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAG/C,MAAM,KAAW,SAAS,CA2BzB;AA3BD,WAAiB,SAAS;IACxB,SAAgB,MAAM,CACpB,KAAc,EACd,UAAuB,IAAI,GAAG,EAAU;QAExC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAM;QAC1B,MAAM,CAAC,GAAG,OAAO,KAAK,CAAA;QACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,CAAC,CAAA;YACjF,OAAM;QACR,CAAC;QACD,qBAAqB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,GAAY,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAzBe,gBAAM,SAyBrB,CAAA;AACH,CAAC,EA3BgB,SAAS,KAAT,SAAS,QA2BzB"}
|
package/package.json
CHANGED
package/util/JSONValue.ts
CHANGED
|
@@ -2,15 +2,30 @@ import { LiminalAssertionError } from "liminal"
|
|
|
2
2
|
|
|
3
3
|
export type JSONValue = null | boolean | number | string | JSONValueArray | JSONValueObject
|
|
4
4
|
export namespace JSONValue {
|
|
5
|
-
export function assert(
|
|
6
|
-
|
|
5
|
+
export function assert(
|
|
6
|
+
value: unknown,
|
|
7
|
+
visited: Set<object> = new Set<object>(),
|
|
8
|
+
): asserts value is JSONValue {
|
|
9
|
+
if (value === null) return
|
|
10
|
+
const t = typeof value
|
|
11
|
+
if (typeof value !== "object") {
|
|
12
|
+
LiminalAssertionError.assert(t === "string" || t === "number" || t === "boolean")
|
|
7
13
|
return
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
}
|
|
15
|
+
LiminalAssertionError.assert(!visited.has(value))
|
|
16
|
+
visited.add(value)
|
|
17
|
+
try {
|
|
18
|
+
if (Array.isArray(value)) {
|
|
19
|
+
for (let i = 0; i < value.length; i++) {
|
|
20
|
+
assert(value[i], new Set(visited))
|
|
21
|
+
}
|
|
22
|
+
} else {
|
|
23
|
+
for (const key in value) {
|
|
24
|
+
assert(value[key as never], new Set(visited))
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
} finally {
|
|
28
|
+
visited.delete(value)
|
|
14
29
|
}
|
|
15
30
|
}
|
|
16
31
|
}
|
package/L/context.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Context } from "../Context.ts"
|
|
2
|
-
import { reflect } from "./reflect.ts"
|
|
3
|
-
|
|
4
|
-
export function* context(partial: Partial<Omit<Context, "clone">>) {
|
|
5
|
-
const { context } = yield* reflect
|
|
6
|
-
return Context({
|
|
7
|
-
handler: partial.handler ?? context.handler,
|
|
8
|
-
messages: partial.messages ?? context.messages,
|
|
9
|
-
models: partial.models ?? context.models,
|
|
10
|
-
tools: partial.tools ?? context.tools,
|
|
11
|
-
})
|
|
12
|
-
}
|
package/dist/L/context.d.ts
DELETED
package/dist/L/context.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Context } from "../Context.js";
|
|
2
|
-
import { reflect } from "./reflect.js";
|
|
3
|
-
export function* context(partial) {
|
|
4
|
-
const { context } = yield* reflect;
|
|
5
|
-
return Context({
|
|
6
|
-
handler: partial.handler ?? context.handler,
|
|
7
|
-
messages: partial.messages ?? context.messages,
|
|
8
|
-
models: partial.models ?? context.models,
|
|
9
|
-
tools: partial.tools ?? context.tools,
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=context.js.map
|
package/dist/L/context.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../L/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,OAAwC;IAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;IAClC,OAAO,OAAO,CAAC;QACb,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;QAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;QACxC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK;KACtC,CAAC,CAAA;AACJ,CAAC"}
|