@astrale-os/kernel-dsl 0.1.4 → 0.1.5
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/dist/builders/bitmask.js +1 -0
- package/dist/builders/bitmask.js.map +1 -0
- package/dist/builders/data.js +1 -0
- package/dist/builders/data.js.map +1 -0
- package/dist/builders/definition/base.js +1 -0
- package/dist/builders/definition/base.js.map +1 -0
- package/dist/builders/definition/edge-class.js +1 -0
- package/dist/builders/definition/edge-class.js.map +1 -0
- package/dist/builders/definition/edge-interface.js +1 -0
- package/dist/builders/definition/edge-interface.js.map +1 -0
- package/dist/builders/definition/node-class.js +1 -0
- package/dist/builders/definition/node-class.js.map +1 -0
- package/dist/builders/definition/node-interface.js +1 -0
- package/dist/builders/definition/node-interface.js.map +1 -0
- package/dist/builders/function.d.ts +16 -2
- package/dist/builders/function.d.ts.map +1 -1
- package/dist/builders/function.js +1 -1
- package/dist/builders/function.js.map +1 -0
- package/dist/builders/policy.d.ts +10 -0
- package/dist/builders/policy.d.ts.map +1 -0
- package/dist/builders/policy.js +28 -0
- package/dist/builders/policy.js.map +1 -0
- package/dist/builders/prop.js +1 -0
- package/dist/builders/prop.js.map +1 -0
- package/dist/builders/ref.js +1 -0
- package/dist/builders/ref.js.map +1 -0
- package/dist/grammar/definition/base.js +1 -0
- package/dist/grammar/definition/base.js.map +1 -0
- package/dist/grammar/definition/discriminants.js +1 -0
- package/dist/grammar/definition/discriminants.js.map +1 -0
- package/dist/grammar/definition/edge-class.js +1 -0
- package/dist/grammar/definition/edge-class.js.map +1 -0
- package/dist/grammar/definition/edge-interface.js +1 -0
- package/dist/grammar/definition/edge-interface.js.map +1 -0
- package/dist/grammar/definition/node-class.d.ts +5 -0
- package/dist/grammar/definition/node-class.d.ts.map +1 -1
- package/dist/grammar/definition/node-class.js +1 -0
- package/dist/grammar/definition/node-class.js.map +1 -0
- package/dist/grammar/definition/node-interface.js +1 -0
- package/dist/grammar/definition/node-interface.js.map +1 -0
- package/dist/grammar/facets/constraints.js +1 -0
- package/dist/grammar/facets/constraints.js.map +1 -0
- package/dist/grammar/facets/content.js +1 -0
- package/dist/grammar/facets/content.js.map +1 -0
- package/dist/grammar/facets/endpoints.js +1 -0
- package/dist/grammar/facets/endpoints.js.map +1 -0
- package/dist/grammar/facets/indexes.js +1 -0
- package/dist/grammar/facets/indexes.js.map +1 -0
- package/dist/grammar/facets/properties.js +1 -0
- package/dist/grammar/facets/properties.js.map +1 -0
- package/dist/grammar/function/config.d.ts +5 -3
- package/dist/grammar/function/config.d.ts.map +1 -1
- package/dist/grammar/function/config.js +1 -0
- package/dist/grammar/function/config.js.map +1 -0
- package/dist/grammar/function/def.d.ts +3 -0
- package/dist/grammar/function/def.d.ts.map +1 -1
- package/dist/grammar/function/def.js +1 -0
- package/dist/grammar/function/def.js.map +1 -0
- package/dist/grammar/function/inheritance.js +1 -0
- package/dist/grammar/function/inheritance.js.map +1 -0
- package/dist/grammar/function/output.js +1 -0
- package/dist/grammar/function/output.js.map +1 -0
- package/dist/grammar/policy/callable.d.ts +40 -0
- package/dist/grammar/policy/callable.d.ts.map +1 -0
- package/dist/grammar/policy/callable.js +2 -0
- package/dist/grammar/policy/callable.js.map +1 -0
- package/dist/grammar/policy/def.d.ts +27 -0
- package/dist/grammar/policy/def.d.ts.map +1 -0
- package/dist/grammar/policy/def.js +2 -0
- package/dist/grammar/policy/def.js.map +1 -0
- package/dist/grammar/policy/pattern.d.ts +34 -0
- package/dist/grammar/policy/pattern.d.ts.map +1 -0
- package/dist/grammar/policy/pattern.js +2 -0
- package/dist/grammar/policy/pattern.js.map +1 -0
- package/dist/grammar/values/bitmask.js +1 -0
- package/dist/grammar/values/bitmask.js.map +1 -0
- package/dist/grammar/values/data.js +1 -0
- package/dist/grammar/values/data.js.map +1 -0
- package/dist/grammar/values/ref.js +1 -0
- package/dist/grammar/values/ref.js.map +1 -0
- package/dist/grammar/values/self.js +1 -0
- package/dist/grammar/values/self.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/inference/content.js +1 -0
- package/dist/inference/content.js.map +1 -0
- package/dist/inference/index.js +1 -0
- package/dist/inference/index.js.map +1 -0
- package/dist/inference/inheritance.js +1 -0
- package/dist/inference/inheritance.js.map +1 -0
- package/dist/inference/input.js +1 -0
- package/dist/inference/input.js.map +1 -0
- package/dist/inference/methods.js +1 -0
- package/dist/inference/methods.js.map +1 -0
- package/dist/inference/properties.js +1 -0
- package/dist/inference/properties.js.map +1 -0
- package/dist/inference/schema.js +1 -0
- package/dist/inference/schema.js.map +1 -0
- package/dist/instance/core/define.js +1 -0
- package/dist/instance/core/define.js.map +1 -0
- package/dist/instance/core/edge.js +1 -0
- package/dist/instance/core/edge.js.map +1 -0
- package/dist/instance/core/endpoint.js +1 -0
- package/dist/instance/core/endpoint.js.map +1 -0
- package/dist/instance/core/node.js +1 -0
- package/dist/instance/core/node.js.map +1 -0
- package/dist/instance/core/path.js +1 -0
- package/dist/instance/core/path.js.map +1 -0
- package/dist/instance/core/self.js +1 -0
- package/dist/instance/core/self.js.map +1 -0
- package/dist/instance/core/types.js +1 -0
- package/dist/instance/core/types.js.map +1 -0
- package/dist/instance/seed/define.js +1 -0
- package/dist/instance/seed/define.js.map +1 -0
- package/dist/instance/seed/types.js +1 -0
- package/dist/instance/seed/types.js.map +1 -0
- package/dist/ir/classes.d.ts +6 -0
- package/dist/ir/classes.d.ts.map +1 -1
- package/dist/ir/classes.js +1 -0
- package/dist/ir/classes.js.map +1 -0
- package/dist/ir/domain.js +1 -0
- package/dist/ir/domain.js.map +1 -0
- package/dist/ir/endpoints.js +1 -0
- package/dist/ir/endpoints.js.map +1 -0
- package/dist/ir/functions.d.ts +15 -0
- package/dist/ir/functions.d.ts.map +1 -1
- package/dist/ir/functions.js +1 -0
- package/dist/ir/functions.js.map +1 -0
- package/dist/ir/index.d.ts +2 -1
- package/dist/ir/index.d.ts.map +1 -1
- package/dist/ir/index.js +1 -0
- package/dist/ir/index.js.map +1 -0
- package/dist/ir/ir.d.ts +12 -0
- package/dist/ir/ir.d.ts.map +1 -1
- package/dist/ir/ir.js +1 -0
- package/dist/ir/ir.js.map +1 -0
- package/dist/ir/json-schema.js +1 -0
- package/dist/ir/json-schema.js.map +1 -0
- package/dist/ir/policies.d.ts +74 -0
- package/dist/ir/policies.d.ts.map +1 -0
- package/dist/ir/policies.js +2 -0
- package/dist/ir/policies.js.map +1 -0
- package/dist/schema/classify.js +1 -0
- package/dist/schema/classify.js.map +1 -0
- package/dist/schema/define.d.ts +2 -0
- package/dist/schema/define.d.ts.map +1 -1
- package/dist/schema/define.js +20 -2
- package/dist/schema/define.js.map +1 -0
- package/dist/schema/error.js +1 -0
- package/dist/schema/error.js.map +1 -0
- package/dist/schema/refs.js +1 -0
- package/dist/schema/refs.js.map +1 -0
- package/dist/schema/resolve/index.js +1 -0
- package/dist/schema/resolve/index.js.map +1 -0
- package/dist/schema/resolve/methods.js +1 -0
- package/dist/schema/resolve/methods.js.map +1 -0
- package/dist/schema/resolve/properties.js +1 -0
- package/dist/schema/resolve/properties.js.map +1 -0
- package/dist/schema/resolve/self.js +1 -0
- package/dist/schema/resolve/self.js.map +1 -0
- package/dist/schema/resolve/thunks.js +1 -0
- package/dist/schema/resolve/thunks.js.map +1 -0
- package/dist/schema/schema.d.ts +3 -0
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +1 -0
- package/dist/schema/schema.js.map +1 -0
- package/dist/schema/validators/context.d.ts +4 -0
- package/dist/schema/validators/context.d.ts.map +1 -1
- package/dist/schema/validators/context.js +1 -0
- package/dist/schema/validators/context.js.map +1 -0
- package/dist/schema/validators/endpoints.js +1 -0
- package/dist/schema/validators/endpoints.js.map +1 -0
- package/dist/schema/validators/index.d.ts +1 -0
- package/dist/schema/validators/index.d.ts.map +1 -1
- package/dist/schema/validators/index.js +4 -0
- package/dist/schema/validators/index.js.map +1 -0
- package/dist/schema/validators/indexes.js +1 -0
- package/dist/schema/validators/indexes.js.map +1 -0
- package/dist/schema/validators/inheritance.js +1 -0
- package/dist/schema/validators/inheritance.js.map +1 -0
- package/dist/schema/validators/methods.js +1 -0
- package/dist/schema/validators/methods.js.map +1 -0
- package/dist/schema/validators/names.js +1 -0
- package/dist/schema/validators/names.js.map +1 -0
- package/dist/schema/validators/policies.d.ts +4 -0
- package/dist/schema/validators/policies.d.ts.map +1 -0
- package/dist/schema/validators/policies.js +61 -0
- package/dist/schema/validators/policies.js.map +1 -0
- package/dist/schema/validators/ref-targets.js +1 -0
- package/dist/schema/validators/ref-targets.js.map +1 -0
- package/dist/serializer/context.d.ts +3 -0
- package/dist/serializer/context.d.ts.map +1 -1
- package/dist/serializer/context.js +57 -6
- package/dist/serializer/context.js.map +1 -0
- package/dist/serializer/helpers.js +1 -0
- package/dist/serializer/helpers.js.map +1 -0
- package/dist/serializer/index.js +1 -0
- package/dist/serializer/index.js.map +1 -0
- package/dist/serializer/policies.d.ts +34 -0
- package/dist/serializer/policies.d.ts.map +1 -0
- package/dist/serializer/policies.js +837 -0
- package/dist/serializer/policies.js.map +1 -0
- package/dist/serializer/policy-typing.d.ts +56 -0
- package/dist/serializer/policy-typing.d.ts.map +1 -0
- package/dist/serializer/policy-typing.js +490 -0
- package/dist/serializer/policy-typing.js.map +1 -0
- package/dist/serializer/serialize.js +1 -0
- package/dist/serializer/serialize.js.map +1 -0
- package/package.json +2 -2
package/dist/builders/bitmask.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmask.js","sourceRoot":"","sources":["../../src/builders/bitmask.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAmB,MAAM,8BAA8B,CAAA;AAE9D,qDAAqD;AACrD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAuB,CAAA;AAE3E,+EAA+E;AAC/E,MAAM,UAAU,OAAO;IACrB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAE5C;IAAC,MAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAA;IAE5C,OAAO,MAAkC,CAAA;AAC3C,CAAC"}
|
package/dist/builders/data.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/builders/data.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAA6C,MAAM,2BAA2B,CAAA;AAErF,qDAAqD;AACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAoB,CAAA;AAMlE,MAAM,UAAU,IAAI,CAAC,MAAe;IAClC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAE1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,CAAC;QAAC,MAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAe,EAAE,CAAA;IAChE,CAAC;SAAM,CAAC;QACN,CAAC;QAAC,MAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAgB,EAAE,MAAM,EAAE,CAAA;IACzE,CAAC;IAED,OAAO,MAAa,CAAA;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/builders/definition/base.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAiB,IAAO,EAAE,MAAc;IAC/D,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,MAAM;KACP,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAO,EACP,IAAY,EACZ,EAAU,EACV,MAAe;IAEf,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,IAAI;QACJ,EAAE;QACF,MAAM,EAAE,MAAM,IAAI,EAAE;KACrB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-class.js","sourceRoot":"","sources":["../../../src/builders/definition/edge-class.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAIvB,IAAU,EAAE,EAAM,EAAE,MAAU;IAC9B,OAAO,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-interface.js","sourceRoot":"","sources":["../../../src/builders/definition/edge-interface.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAI3B,IAAU,EAAE,EAAM,EAAE,MAAU;IAC9B,OAAO,aAAa,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-class.js","sourceRoot":"","sources":["../../../src/builders/definition/node-class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAkC,MAAqB;IAC9E,OAAO,SAAS,CAAC,YAAY,EAAE,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAChF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-interface.js","sourceRoot":"","sources":["../../../src/builders/definition/node-interface.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAqB;IAErB,OAAO,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -3,18 +3,32 @@ import type { ParamShape } from '../grammar/function/config.js';
|
|
|
3
3
|
import type { FnDef, FuncDef } from '../grammar/function/def.js';
|
|
4
4
|
import type { MethodInheritance } from '../grammar/function/inheritance.js';
|
|
5
5
|
import type { OutputMode } from '../grammar/function/output.js';
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import type { FunctionPolicyCallback, MethodPolicyCallback } from '../grammar/policy/callable.js';
|
|
7
|
+
interface FnBuilderBase<P extends ParamShape, R extends z.ZodType, I extends MethodInheritance> {
|
|
8
8
|
readonly params?: P | (() => P);
|
|
9
9
|
readonly returns: R;
|
|
10
10
|
readonly inheritance?: I;
|
|
11
11
|
readonly output?: OutputMode;
|
|
12
|
+
}
|
|
13
|
+
/** Create a function definition — the behavioral primitive */
|
|
14
|
+
export declare function fn<const P extends ParamShape = Record<string, never>, const R extends z.ZodType = z.ZodType, const I extends MethodInheritance = 'default'>(config: FnBuilderBase<P, R, I> & {
|
|
15
|
+
readonly static: true;
|
|
16
|
+
readonly policy?: MethodPolicyCallback<P, true>;
|
|
17
|
+
}): FnDef<P, R, I, true>;
|
|
18
|
+
export declare function fn<const P extends ParamShape = Record<string, never>, const R extends z.ZodType = z.ZodType, const I extends MethodInheritance = 'default'>(config: FnBuilderBase<P, R, I> & {
|
|
19
|
+
readonly static?: false;
|
|
20
|
+
readonly policy?: MethodPolicyCallback<P, false>;
|
|
21
|
+
}): FnDef<P, R, I, false>;
|
|
22
|
+
export declare function fn<const P extends ParamShape = Record<string, never>, const R extends z.ZodType = z.ZodType, const I extends MethodInheritance = 'default', const S extends boolean = false>(config: FnBuilderBase<P, R, I> & {
|
|
12
23
|
readonly static?: S;
|
|
24
|
+
readonly policy?: MethodPolicyCallback<P, S>;
|
|
13
25
|
}): FnDef<P, R, I, S>;
|
|
14
26
|
/** Create a standalone-function definition — the whole-object sibling of {@link fn} */
|
|
15
27
|
export declare function func<const I extends z.ZodType = z.ZodType, const O extends z.ZodType = z.ZodType>(config: {
|
|
16
28
|
readonly input: I;
|
|
17
29
|
readonly output: O;
|
|
18
30
|
readonly mode?: OutputMode;
|
|
31
|
+
readonly policy?: FunctionPolicyCallback<I>;
|
|
19
32
|
}): FuncDef<I, O>;
|
|
33
|
+
export {};
|
|
20
34
|
//# sourceMappingURL=function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/builders/function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/builders/function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEjG,UAAU,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,iBAAiB;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAC7B;AAED,8DAA8D;AAC9D,wBAAgB,EAAE,CAChB,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAClD,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACrC,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,SAAS,EAE7C,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;CAChD,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;AACvB,wBAAgB,EAAE,CAChB,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAClD,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACrC,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,SAAS,EAE7C,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;CACjD,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;AACxB,wBAAgB,EAAE,CAChB,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAClD,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACrC,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,SAAS,EAC7C,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAE/B,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAC7C,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAYpB,uFAAuF;AACvF,wBAAgB,IAAI,CAClB,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACrC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACrC,MAAM,EAAE;IACR,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAA;CAC5C,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAEhB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Create a function definition — the behavioral primitive */
|
|
2
1
|
export function fn(config) {
|
|
3
2
|
return { __type: 'fn', config };
|
|
4
3
|
}
|
|
@@ -6,3 +5,4 @@ export function fn(config) {
|
|
|
6
5
|
export function func(config) {
|
|
7
6
|
return { __type: 'func', config };
|
|
8
7
|
}
|
|
8
|
+
//# sourceMappingURL=function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/builders/function.ts"],"names":[],"mappings":"AA+CA,MAAM,UAAU,EAAE,CAAC,MAOlB;IACC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAsB,CAAA;AACrD,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,IAAI,CAGlB,MAKD;IACC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAA8B,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DefinePolicyInput, PolicyCompositionInput, PolicyDef, PolicyInput } from '../grammar/policy/def.js';
|
|
2
|
+
/** Declare a detached Policy. Register it under `defineSchema({ policies })`. */
|
|
3
|
+
export declare function definePolicy<const I extends DefinePolicyInput>(input: I): PolicyDef;
|
|
4
|
+
/** Named-Policy composition helpers. Pattern and callable composition stay separate. */
|
|
5
|
+
export declare const policy: Readonly<{
|
|
6
|
+
allOf(first: PolicyInput, ...rest: readonly PolicyInput[]): PolicyCompositionInput;
|
|
7
|
+
anyOf(first: PolicyInput, ...rest: readonly PolicyInput[]): PolicyCompositionInput;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function isPolicyDef(value: unknown): value is PolicyDef;
|
|
10
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/builders/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,WAAW,EACZ,MAAM,0BAA0B,CAAA;AAEjC,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAEnF;AAmBD,wFAAwF;AACxF,eAAO,MAAM,MAAM;iBACJ,WAAW,WAAW,SAAS,WAAW,EAAE,GAAG,sBAAsB;iBAGrE,WAAW,WAAW,SAAS,WAAW,EAAE,GAAG,sBAAsB;EAGlF,CAAA;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAM9D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Declare a detached Policy. Register it under `defineSchema({ policies })`. */
|
|
2
|
+
export function definePolicy(input) {
|
|
3
|
+
return Object.freeze({ __type: 'policy', input, config: input });
|
|
4
|
+
}
|
|
5
|
+
function compose(operator, first, rest) {
|
|
6
|
+
const policies = Object.freeze([first, ...rest]);
|
|
7
|
+
return Object.freeze({
|
|
8
|
+
__type: 'policy-composition',
|
|
9
|
+
operator,
|
|
10
|
+
policies,
|
|
11
|
+
operands: policies,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
/** Named-Policy composition helpers. Pattern and callable composition stay separate. */
|
|
15
|
+
export const policy = Object.freeze({
|
|
16
|
+
allOf(first, ...rest) {
|
|
17
|
+
return compose('allOf', first, rest);
|
|
18
|
+
},
|
|
19
|
+
anyOf(first, ...rest) {
|
|
20
|
+
return compose('anyOf', first, rest);
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
export function isPolicyDef(value) {
|
|
24
|
+
return (typeof value === 'object' &&
|
|
25
|
+
value !== null &&
|
|
26
|
+
value.__type === 'policy');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/builders/policy.ts"],"names":[],"mappings":"AAOA,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAoC,KAAQ;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAyB,CAAA;AAC1F,CAAC;AAED,SAAS,OAAO,CACd,QAA4C,EAC5C,KAAkB,EAClB,IAA4B;IAE5B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAG9C,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,oBAAoB;QAC5B,QAAQ;QACR,QAAQ;QACR,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAA;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CAAC,KAAkB,EAAE,GAAG,IAA4B;QACvD,OAAO,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IACD,KAAK,CAAC,KAAkB,EAAE,GAAG,IAA4B;QACvD,OAAO,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAuC,CAAC,MAAM,KAAK,QAAQ,CAC7D,CAAA;AACH,CAAC"}
|
package/dist/builders/prop.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prop.js","sourceRoot":"","sources":["../../src/builders/prop.ts"],"names":[],"mappings":"AAIA,0DAA0D;AAC1D,MAAM,UAAU,IAAI,CAAsB,MAAS,EAAE,IAA4B;IAC/E,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM;QACN,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK;KAChC,CAAA;AACH,CAAC"}
|
package/dist/builders/ref.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.js","sourceRoot":"","sources":["../../src/builders/ref.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,OAAO,EAAkB,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAgB,MAAM,2BAA2B,CAAA;AAExD,qDAAqD;AACrD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAmB,CAAA;AAE/D,uCAAuC;AACvC,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,MAAM,CAAC,GAAG,CAAC,UAAU,CAAqB,IAAI,KAAK,CACrD,CAAA;AACH,CAAC;AAQD,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAE,IAAyB;IACrE,MAAM,MAAM,GAAG,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;SAC/D,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAE3E;IAAC,MAAc,CAAC,eAAe,CAAC,GAAG;QAClC,MAAM;QACN,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK;KACjC,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,CAAC;QAAC,MAAc,CAAC,MAAM,GAAG,IAAI,CAAA;IAChC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/grammar/definition/base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discriminants.js","sourceRoot":"","sources":["../../../src/grammar/definition/discriminants.ts"],"names":[],"mappings":"AAMA,6CAA6C;AAC7C,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,YAAY;IACvB,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,YAAY;CACf,CAAA;AAuBV,oEAAoE;AAEpE,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAA;AAC3E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-class.js","sourceRoot":"","sources":["../../../src/grammar/definition/edge-class.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-interface.js","sourceRoot":"","sources":["../../../src/grammar/definition/edge-interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { ContentShape } from '../facets/content.js';
|
|
2
|
+
import type { PolicyInput } from '../policy/def.js';
|
|
2
3
|
import type { DefConfigBase } from './base.js';
|
|
3
4
|
import type { NodeInterfaceDef } from './node-interface.js';
|
|
4
5
|
/** Configuration for a node class (concrete, no endpoints) */
|
|
5
6
|
export interface NodeClassConfig extends DefConfigBase {
|
|
6
7
|
readonly inherits?: readonly NodeInterfaceDef<any>[];
|
|
7
8
|
readonly content?: ContentShape;
|
|
9
|
+
/** Optional application read Policy. Runtime enforcement is downstream. */
|
|
10
|
+
readonly policies?: {
|
|
11
|
+
readonly read?: PolicyInput;
|
|
12
|
+
};
|
|
8
13
|
/**
|
|
9
14
|
* Class-level icon: raw SVG markup materialized onto the class `self` node
|
|
10
15
|
* (carried on the `Iconable.icon` property). Clients resolve an instance's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-class.d.ts","sourceRoot":"","sources":["../../../src/grammar/definition/node-class.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAA;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IAC3E,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CACnB"}
|
|
1
|
+
{"version":3,"file":"node-class.d.ts","sourceRoot":"","sources":["../../../src/grammar/definition/node-class.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAA;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;KAC5B,CAAA;IACD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IAC3E,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-class.js","sourceRoot":"","sources":["../../../src/grammar/definition/node-class.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-interface.js","sourceRoot":"","sources":["../../../src/grammar/definition/node-interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../../src/grammar/facets/constraints.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/grammar/facets/content.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../src/grammar/facets/endpoints.ts"],"names":[],"mappings":"AAIA,uCAAuC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAgB,MAAM,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../src/grammar/facets/indexes.ts"],"names":[],"mappings":"AAQA,iDAAiD;AACjD,MAAM,UAAU,aAAa,CAAmB,KAAkB;IAChE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;AAC3D,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;AACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/grammar/facets/properties.ts"],"names":[],"mappings":"AAsBA,iCAAiC;AACjC,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACd,KAAqB,CAAC,IAAI,KAAK,aAAa,CAC9C,CAAA;AACH,CAAC;AAED,4CAA4C;AAC5C,SAAS,MAAM,CAAC,MAAiB;IAC/B,OAAQ,MAAc,EAAE,IAAI,EAAE,GAAG,IAAK,MAAc,EAAE,IAAI,IAAI,IAAI,CAAA;AACpE,CAAC;AACD,2CAA2C;AAE3C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,IAAI,OAAO,GAAG,MAAM,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3B,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAuB,CAAA;QACjE,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,KAAK,CAAA;QACvE,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACrE,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAA0B,CAAA;YACnE,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAA;YACvB,OAAO,GAAG,KAAK,CAAA;YACf,SAAQ;QACV,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;IAClG,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAA;AAC7E,CAAC"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
+
import type { MethodPolicyCallback } from '../policy/callable.js';
|
|
2
3
|
import type { MethodInheritance } from './inheritance.js';
|
|
3
4
|
import type { OutputMode } from './output.js';
|
|
4
5
|
/** Shape of the params record on a function config */
|
|
5
6
|
export type ParamShape = Record<string, z.ZodType>;
|
|
6
7
|
/** Function configuration */
|
|
7
|
-
export interface FnConfig {
|
|
8
|
-
readonly params?:
|
|
8
|
+
export interface FnConfig<P extends ParamShape = ParamShape, Static extends boolean = boolean> {
|
|
9
|
+
readonly params?: P | (() => P);
|
|
9
10
|
readonly returns: z.ZodType;
|
|
10
11
|
readonly inheritance?: MethodInheritance;
|
|
11
12
|
readonly output?: OutputMode;
|
|
12
|
-
readonly static?:
|
|
13
|
+
readonly static?: Static;
|
|
14
|
+
readonly policy?: MethodPolicyCallback<P, Static>;
|
|
13
15
|
}
|
|
14
16
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/grammar/function/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,sDAAsD;AACtD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;AAElD,6BAA6B;AAC7B,MAAM,WAAW,QAAQ;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/grammar/function/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,sDAAsD;AACtD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;AAElD,6BAA6B;AAC7B,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,MAAM,SAAS,OAAO,GAAG,OAAO;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CAClD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/grammar/function/config.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
+
import type { FunctionPolicyCallback, MethodPolicyCallback } from '../policy/callable.js';
|
|
2
3
|
import type { FnConfig, ParamShape } from './config.js';
|
|
3
4
|
import type { MethodInheritance } from './inheritance.js';
|
|
4
5
|
import type { OutputMode } from './output.js';
|
|
@@ -27,6 +28,7 @@ export interface FnDef<out Params extends ParamShape = ParamShape, out Returns e
|
|
|
27
28
|
readonly inheritance: Inheritance;
|
|
28
29
|
readonly output?: OutputMode;
|
|
29
30
|
readonly static: Static;
|
|
31
|
+
readonly policy?: MethodPolicyCallback<ParamShape, boolean>;
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
@@ -49,6 +51,7 @@ export interface FuncDef<out Input extends z.ZodType = z.ZodType, out Output ext
|
|
|
49
51
|
readonly input: Input;
|
|
50
52
|
readonly output: Output;
|
|
51
53
|
readonly mode?: OutputMode;
|
|
54
|
+
readonly policy?: FunctionPolicyCallback<Input>;
|
|
52
55
|
};
|
|
53
56
|
}
|
|
54
57
|
export type { FnConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"def.d.ts","sourceRoot":"","sources":["../../../src/grammar/function/def.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,KAAK,CACpB,GAAG,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,EAC1C,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACzC,GAAG,CAAC,WAAW,SAAS,iBAAiB,GAAG,iBAAiB,EAC7D,GAAG,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO;IAEpC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;QACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;QAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"def.d.ts","sourceRoot":"","sources":["../../../src/grammar/function/def.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,KAAK,CACpB,GAAG,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,EAC1C,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACzC,GAAG,CAAC,WAAW,SAAS,iBAAiB,GAAG,iBAAiB,EAC7D,GAAG,CAAC,MAAM,SAAS,OAAO,GAAG,OAAO;IAEpC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;QACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;QAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;KAC5D,CAAA;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,OAAO,CACtB,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACvC,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;IAExC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAA;KAChD,CAAA;CACF;AAED,YAAY,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"def.js","sourceRoot":"","sources":["../../../src/grammar/function/def.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inheritance.js","sourceRoot":"","sources":["../../../src/grammar/function/inheritance.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/grammar/function/output.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { AnyNodeDef } from '../definition/discriminants.js';
|
|
3
|
+
import type { RefSchema } from '../values/ref.js';
|
|
4
|
+
import type { PolicyInput } from './def.js';
|
|
5
|
+
/** Opaque `self` or direct-input binding accepted by `check`. */
|
|
6
|
+
export interface PolicyCheckBinding<out D extends AnyNodeDef = AnyNodeDef> {
|
|
7
|
+
readonly __policyCheckBinding: unique symbol;
|
|
8
|
+
readonly __target?: D;
|
|
9
|
+
}
|
|
10
|
+
/** Opaque callable Policy expression produced by `check`/`allOf`/`anyOf`. */
|
|
11
|
+
export interface CallablePolicyExpression {
|
|
12
|
+
readonly __callablePolicyExpression: unique symbol;
|
|
13
|
+
}
|
|
14
|
+
type DirectRefBindings<Shape> = Shape extends Record<string, unknown> ? {
|
|
15
|
+
readonly [K in keyof Shape as Shape[K] extends RefSchema<AnyNodeDef> ? K : never]: Shape[K] extends RefSchema<infer D extends AnyNodeDef> ? PolicyCheckBinding<D> : never;
|
|
16
|
+
} : Record<string, never>;
|
|
17
|
+
export type MethodPolicyParams<P extends Record<string, z.ZodType>> = DirectRefBindings<P>;
|
|
18
|
+
export type FunctionPolicyInput<I extends z.ZodType> = I extends {
|
|
19
|
+
readonly shape: infer Shape;
|
|
20
|
+
} ? DirectRefBindings<Shape> : Record<string, never>;
|
|
21
|
+
interface CallablePolicyOperators {
|
|
22
|
+
check(policy: PolicyInput, object: PolicyCheckBinding): CallablePolicyExpression;
|
|
23
|
+
allOf(first: CallablePolicyExpression, ...rest: readonly CallablePolicyExpression[]): CallablePolicyExpression;
|
|
24
|
+
anyOf(first: CallablePolicyExpression, ...rest: readonly CallablePolicyExpression[]): CallablePolicyExpression;
|
|
25
|
+
}
|
|
26
|
+
export type MethodPolicyBuilder<P extends Record<string, z.ZodType>, Static extends boolean> = CallablePolicyOperators & {
|
|
27
|
+
readonly params: MethodPolicyParams<P>;
|
|
28
|
+
} & (Static extends true ? {
|
|
29
|
+
readonly input: MethodPolicyParams<P>;
|
|
30
|
+
} : {
|
|
31
|
+
readonly input: MethodPolicyParams<P>;
|
|
32
|
+
readonly self: PolicyCheckBinding;
|
|
33
|
+
});
|
|
34
|
+
export interface FunctionPolicyBuilder<I extends z.ZodType> extends CallablePolicyOperators {
|
|
35
|
+
readonly input: FunctionPolicyInput<I>;
|
|
36
|
+
}
|
|
37
|
+
export type MethodPolicyCallback<P extends Record<string, z.ZodType>, Static extends boolean> = (builder: MethodPolicyBuilder<P, Static>) => CallablePolicyExpression;
|
|
38
|
+
export type FunctionPolicyCallback<I extends z.ZodType> = (builder: FunctionPolicyBuilder<I>) => CallablePolicyExpression;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=callable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../src/grammar/policy/callable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,iEAAiE;AACjE,MAAM,WAAW,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IACvE,QAAQ,CAAC,oBAAoB,EAAE,OAAO,MAAM,CAAA;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CACtB;AAED,6EAA6E;AAC7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,0BAA0B,EAAE,OAAO,MAAM,CAAA;CACnD;AAED,KAAK,iBAAiB,CAAC,KAAK,IAC1B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC;IACE,QAAQ,EAAE,CAAC,IAAI,MAAM,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,UAAU,CAAC,GAChE,CAAC,GACD,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,SAAS,UAAU,CAAC,GAC9D,kBAAkB,CAAC,CAAC,CAAC,GACrB,KAAK;CACV,GACD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAE3B,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAE1F,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,KAAK,CAAA;CAC5B,GACG,iBAAiB,CAAC,KAAK,CAAC,GACxB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEzB,UAAU,uBAAuB;IAC/B,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,GAAG,wBAAwB,CAAA;IAChF,KAAK,CACH,KAAK,EAAE,wBAAwB,EAC/B,GAAG,IAAI,EAAE,SAAS,wBAAwB,EAAE,GAC3C,wBAAwB,CAAA;IAC3B,KAAK,CACH,KAAK,EAAE,wBAAwB,EAC/B,GAAG,IAAI,EAAE,SAAS,wBAAwB,EAAE,GAC3C,wBAAwB,CAAA;CAC5B;AAED,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EACnC,MAAM,SAAS,OAAO,IACpB,uBAAuB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,CAAC,MAAM,SAAS,IAAI,GACzF;IAAE,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;CAAE,GACzC;IAAE,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAA;AAEnF,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAE,SAAQ,uBAAuB;IACzF,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CACvC;AAED,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,SAAS,OAAO,IAAI,CAC9F,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,KACpC,wBAAwB,CAAA;AAE7B,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CACxD,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAC9B,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callable.js","sourceRoot":"","sources":["../../../src/grammar/policy/callable.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { PolicyMatchBuilder, PolicyPatternExpression } from './pattern.js';
|
|
2
|
+
/** One authoring value or a declaration-order thunk resolving to it. */
|
|
3
|
+
export type PolicyLazy<T> = T | (() => T);
|
|
4
|
+
export interface MatchPolicyInput {
|
|
5
|
+
readonly match: (builder: PolicyMatchBuilder) => PolicyPatternExpression;
|
|
6
|
+
readonly description?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface PolicyCompositionInput {
|
|
9
|
+
readonly __type: 'policy-composition';
|
|
10
|
+
readonly operator: 'allOf' | 'anyOf';
|
|
11
|
+
/** V1 vocabulary. */
|
|
12
|
+
readonly policies: readonly [PolicyInput, ...PolicyInput[]];
|
|
13
|
+
/** @deprecated Use `policies`; retained for preview consumers. */
|
|
14
|
+
readonly operands: readonly [PolicyInput, ...PolicyInput[]];
|
|
15
|
+
}
|
|
16
|
+
export type DefinePolicyInput = MatchPolicyInput | PolicyCompositionInput;
|
|
17
|
+
/** Detached Policy authoring value. Its top-level schema key supplies its name. */
|
|
18
|
+
export interface PolicyDef {
|
|
19
|
+
readonly __type: 'policy';
|
|
20
|
+
readonly __brand: unique symbol;
|
|
21
|
+
/** V1 vocabulary. */
|
|
22
|
+
readonly input: DefinePolicyInput;
|
|
23
|
+
/** @deprecated Use `input`; retained for preview consumers. */
|
|
24
|
+
readonly config: DefinePolicyInput;
|
|
25
|
+
}
|
|
26
|
+
export type PolicyInput = PolicyLazy<PolicyDef>;
|
|
27
|
+
//# sourceMappingURL=def.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"def.d.ts","sourceRoot":"","sources":["../../../src/grammar/policy/def.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAE/E,wEAAwE;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,uBAAuB,CAAA;IACxE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAA;IACpC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;IAC3D,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;CAC5D;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,sBAAsB,CAAA;AAEzE,mFAAmF;AACnF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;IAC/B,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CACnC;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"def.js","sourceRoot":"","sources":["../../../src/grammar/policy/def.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { EdgeClassDef } from '../definition/edge-class.js';
|
|
2
|
+
import type { NodeClassDef } from '../definition/node-class.js';
|
|
3
|
+
import type { PolicyLazy } from './def.js';
|
|
4
|
+
/** Opaque symbolic term accepted by the Policy match builder. */
|
|
5
|
+
export interface PolicyPatternBinding<out D = unknown> {
|
|
6
|
+
readonly __policyPatternBinding: unique symbol;
|
|
7
|
+
readonly __target?: D;
|
|
8
|
+
}
|
|
9
|
+
export type PolicyPatternEndpoint = PolicyPatternBinding;
|
|
10
|
+
/** Opaque, closed Policy expression produced by a match builder. */
|
|
11
|
+
export interface PolicyPatternExpression {
|
|
12
|
+
readonly __policyPatternExpression: unique symbol;
|
|
13
|
+
}
|
|
14
|
+
export interface PolicyPatternEdgeInput<E extends EdgeClassDef = EdgeClassDef> {
|
|
15
|
+
readonly source: PolicyPatternEndpoint;
|
|
16
|
+
readonly class: PolicyLazy<E>;
|
|
17
|
+
readonly target: PolicyPatternEndpoint;
|
|
18
|
+
readonly repeat?: {
|
|
19
|
+
readonly min: number;
|
|
20
|
+
readonly max: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface PolicyExistsBuilder {
|
|
24
|
+
node<D extends NodeClassDef>(definition: PolicyLazy<D>): PolicyPatternBinding<D>;
|
|
25
|
+
}
|
|
26
|
+
export interface PolicyMatchBuilder {
|
|
27
|
+
readonly subject: PolicyPatternBinding;
|
|
28
|
+
readonly object: PolicyPatternBinding;
|
|
29
|
+
edge<E extends EdgeClassDef>(input: PolicyPatternEdgeInput<E>): PolicyPatternExpression;
|
|
30
|
+
exists(build: (builder: PolicyExistsBuilder) => PolicyPatternExpression): PolicyPatternExpression;
|
|
31
|
+
allOf(first: PolicyPatternExpression, ...rest: readonly PolicyPatternExpression[]): PolicyPatternExpression;
|
|
32
|
+
anyOf(first: PolicyPatternExpression, ...rest: readonly PolicyPatternExpression[]): PolicyPatternExpression;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=pattern.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/grammar/policy/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,iEAAiE;AACjE,MAAM,WAAW,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;IACnD,QAAQ,CAAC,sBAAsB,EAAE,OAAO,MAAM,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAExD,oEAAoE;AACpE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,MAAM,CAAA;CAClD;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAC3E,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,CAAC,SAAS,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;CACjF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IAErC,IAAI,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAA;IAEvF,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,uBAAuB,GAAG,uBAAuB,CAAA;IAEjG,KAAK,CACH,KAAK,EAAE,uBAAuB,EAC9B,GAAG,IAAI,EAAE,SAAS,uBAAuB,EAAE,GAC1C,uBAAuB,CAAA;IAE1B,KAAK,CACH,KAAK,EAAE,uBAAuB,EAC9B,GAAG,IAAI,EAAE,SAAS,uBAAuB,EAAE,GAC1C,uBAAuB,CAAA;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../src/grammar/policy/pattern.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmask.js","sourceRoot":"","sources":["../../../src/grammar/values/bitmask.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/grammar/values/data.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/grammar/values/ref.ts"],"names":[],"mappings":""}
|