@astrale-os/kernel-dsl 0.2.0-beta.1 → 0.2.0-beta.3

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 (179) hide show
  1. package/dist/v1/builder/callable.d.ts +18 -8
  2. package/dist/v1/builder/callable.d.ts.map +1 -1
  3. package/dist/v1/builder/callable.js +3 -1
  4. package/dist/v1/builder/callable.js.map +1 -1
  5. package/dist/v1/builder/compiler/callable.d.ts.map +1 -1
  6. package/dist/v1/builder/compiler/callable.js +7 -8
  7. package/dist/v1/builder/compiler/callable.js.map +1 -1
  8. package/dist/v1/builder/compiler/definition.d.ts +8 -2
  9. package/dist/v1/builder/compiler/definition.d.ts.map +1 -1
  10. package/dist/v1/builder/compiler/definition.js +52 -9
  11. package/dist/v1/builder/compiler/definition.js.map +1 -1
  12. package/dist/v1/builder/compiler/value.d.ts +5 -1
  13. package/dist/v1/builder/compiler/value.d.ts.map +1 -1
  14. package/dist/v1/builder/compiler/value.js +14 -3
  15. package/dist/v1/builder/compiler/value.js.map +1 -1
  16. package/dist/v1/builder/compiler/value.zod.js +1 -1
  17. package/dist/v1/builder/compiler/value.zod.js.map +1 -1
  18. package/dist/v1/builder/core.d.ts +1 -1
  19. package/dist/v1/builder/core.d.ts.map +1 -1
  20. package/dist/v1/builder/core.js +1 -1
  21. package/dist/v1/builder/core.js.map +1 -1
  22. package/dist/v1/builder/definition.d.ts +55 -5
  23. package/dist/v1/builder/definition.d.ts.map +1 -1
  24. package/dist/v1/builder/definition.js +64 -20
  25. package/dist/v1/builder/definition.js.map +1 -1
  26. package/dist/v1/builder/full-match.d.ts +3 -10
  27. package/dist/v1/builder/full-match.d.ts.map +1 -1
  28. package/dist/v1/builder/full-match.js +4 -13
  29. package/dist/v1/builder/full-match.js.map +1 -1
  30. package/dist/v1/builder/index.d.ts +3 -3
  31. package/dist/v1/builder/index.d.ts.map +1 -1
  32. package/dist/v1/builder/index.js +1 -1
  33. package/dist/v1/builder/index.js.map +1 -1
  34. package/dist/v1/builder/internal/authoring.d.ts +1 -1
  35. package/dist/v1/builder/internal/authoring.d.ts.map +1 -1
  36. package/dist/v1/builder/internal/authoring.js.map +1 -1
  37. package/dist/v1/builder/property.d.ts +15 -1
  38. package/dist/v1/builder/property.d.ts.map +1 -1
  39. package/dist/v1/builder/property.js +26 -2
  40. package/dist/v1/builder/property.js.map +1 -1
  41. package/dist/v1/builder/view.d.ts +2 -2
  42. package/dist/v1/builder/view.d.ts.map +1 -1
  43. package/dist/v1/index.d.ts +2 -2
  44. package/dist/v1/index.d.ts.map +1 -1
  45. package/dist/v1/index.js +1 -1
  46. package/dist/v1/index.js.map +1 -1
  47. package/dist/v1/schema/callable.d.ts +2 -2
  48. package/dist/v1/schema/callable.d.ts.map +1 -1
  49. package/dist/v1/schema/canonical/domain.js +48 -15
  50. package/dist/v1/schema/canonical/domain.js.map +1 -1
  51. package/dist/v1/schema/compiled/admission.d.ts +4 -0
  52. package/dist/v1/schema/compiled/admission.d.ts.map +1 -0
  53. package/dist/v1/schema/compiled/admission.js +217 -0
  54. package/dist/v1/schema/compiled/admission.js.map +1 -0
  55. package/dist/v1/schema/compiled/authored-validator.d.ts +5 -0
  56. package/dist/v1/schema/compiled/authored-validator.d.ts.map +1 -0
  57. package/dist/v1/schema/compiled/authored-validator.js +7 -0
  58. package/dist/v1/schema/compiled/authored-validator.js.map +1 -0
  59. package/dist/v1/schema/compiled/compiler.d.ts +5 -0
  60. package/dist/v1/schema/compiled/compiler.d.ts.map +1 -0
  61. package/dist/v1/schema/compiled/compiler.js +86 -0
  62. package/dist/v1/schema/compiled/compiler.js.map +1 -0
  63. package/dist/v1/schema/compiled/model.d.ts +61 -0
  64. package/dist/v1/schema/compiled/model.d.ts.map +1 -0
  65. package/dist/v1/schema/compiled/model.js +2 -0
  66. package/dist/v1/schema/compiled/model.js.map +1 -0
  67. package/dist/v1/schema/compiled/program.d.ts +5 -0
  68. package/dist/v1/schema/compiled/program.d.ts.map +1 -0
  69. package/dist/v1/schema/compiled/program.js +42 -0
  70. package/dist/v1/schema/compiled/program.js.map +1 -0
  71. package/dist/v1/schema/compiled/validator.d.ts +23 -0
  72. package/dist/v1/schema/compiled/validator.d.ts.map +1 -0
  73. package/dist/v1/schema/compiled/validator.js +62 -0
  74. package/dist/v1/schema/compiled/validator.js.map +1 -0
  75. package/dist/v1/schema/core/validate.js +31 -11
  76. package/dist/v1/schema/core/validate.js.map +1 -1
  77. package/dist/v1/schema/definition/analysis.d.ts +2 -0
  78. package/dist/v1/schema/definition/analysis.d.ts.map +1 -1
  79. package/dist/v1/schema/definition/analysis.js +3 -1
  80. package/dist/v1/schema/definition/analysis.js.map +1 -1
  81. package/dist/v1/schema/definition/class.d.ts +2 -2
  82. package/dist/v1/schema/definition/class.d.ts.map +1 -1
  83. package/dist/v1/schema/definition/edge.d.ts +22 -9
  84. package/dist/v1/schema/definition/edge.d.ts.map +1 -1
  85. package/dist/v1/schema/definition/interface.d.ts +2 -2
  86. package/dist/v1/schema/definition/interface.d.ts.map +1 -1
  87. package/dist/v1/schema/definition/property.d.ts +7 -0
  88. package/dist/v1/schema/definition/property.d.ts.map +1 -1
  89. package/dist/v1/schema/definition/validate.d.ts.map +1 -1
  90. package/dist/v1/schema/definition/validate.js +84 -15
  91. package/dist/v1/schema/definition/validate.js.map +1 -1
  92. package/dist/v1/schema/domain.accept.d.ts.map +1 -1
  93. package/dist/v1/schema/domain.accept.js +1 -1
  94. package/dist/v1/schema/domain.accept.js.map +1 -1
  95. package/dist/v1/schema/domain.codec.d.ts.map +1 -1
  96. package/dist/v1/schema/domain.codec.js.map +1 -1
  97. package/dist/v1/schema/domain.revision.d.ts.map +1 -1
  98. package/dist/v1/schema/domain.revision.js.map +1 -1
  99. package/dist/v1/schema/index.d.ts +10 -4
  100. package/dist/v1/schema/index.d.ts.map +1 -1
  101. package/dist/v1/schema/index.js +4 -0
  102. package/dist/v1/schema/index.js.map +1 -1
  103. package/dist/v1/schema/policy/validation/typing.js +9 -6
  104. package/dist/v1/schema/policy/validation/typing.js.map +1 -1
  105. package/dist/v1/schema/policy/validation/uses.d.ts.map +1 -1
  106. package/dist/v1/schema/policy/validation/uses.js +5 -2
  107. package/dist/v1/schema/policy/validation/uses.js.map +1 -1
  108. package/dist/v1/schema/resolution/origins.d.ts.map +1 -1
  109. package/dist/v1/schema/resolution/origins.js +5 -2
  110. package/dist/v1/schema/resolution/origins.js.map +1 -1
  111. package/dist/v1/schema/validation/domain.route.d.ts.map +1 -1
  112. package/dist/v1/schema/validation/domain.route.js.map +1 -1
  113. package/dist/v1/schema/validation/domain.structure.d.ts.map +1 -1
  114. package/dist/v1/schema/validation/domain.structure.js +51 -20
  115. package/dist/v1/schema/validation/domain.structure.js.map +1 -1
  116. package/dist/v1/schema/value/full-match.d.ts +7 -0
  117. package/dist/v1/schema/value/full-match.d.ts.map +1 -0
  118. package/dist/v1/schema/value/full-match.js +21 -0
  119. package/dist/v1/schema/value/full-match.js.map +1 -0
  120. package/dist/v1/schema/value/instance/evaluator.d.ts.map +1 -1
  121. package/dist/v1/schema/value/instance/evaluator.js +3 -14
  122. package/dist/v1/schema/value/instance/evaluator.js.map +1 -1
  123. package/dist/v1/schema/value/instance/{compiler.d.ts → preparation.d.ts} +3 -2
  124. package/dist/v1/schema/value/instance/preparation.d.ts.map +1 -0
  125. package/dist/v1/schema/value/instance/preparation.js +137 -0
  126. package/dist/v1/schema/value/instance/preparation.js.map +1 -0
  127. package/dist/v1/schema/value/instance/types.d.ts +5 -1
  128. package/dist/v1/schema/value/instance/types.d.ts.map +1 -1
  129. package/dist/v1/schema/value/instance/types.js.map +1 -1
  130. package/dist/v1/schema/value/instance.validate.js +2 -2
  131. package/dist/v1/schema/value/instance.validate.js.map +1 -1
  132. package/dist/v1/schema/value/ordering.js +2 -2
  133. package/dist/v1/schema/value/ordering.js.map +1 -1
  134. package/dist/v1/schema/value/profile/canonicalize.d.ts.map +1 -1
  135. package/dist/v1/schema/value/profile/canonicalize.js +1 -1
  136. package/dist/v1/schema/value/profile/canonicalize.js.map +1 -1
  137. package/dist/v1/schema/value/profile/json.validate.d.ts.map +1 -1
  138. package/dist/v1/schema/value/profile/json.validate.js +1 -1
  139. package/dist/v1/schema/value/profile/json.validate.js.map +1 -1
  140. package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts +79 -0
  141. package/dist/v1/schema/value/profile/meta-schema.compiled.d.ts.map +1 -0
  142. package/dist/v1/schema/value/profile/meta-schema.compiled.js +2080 -0
  143. package/dist/v1/schema/value/profile/meta-schema.compiled.js.map +1 -0
  144. package/dist/v1/schema/value/profile/{meta-schema.validate.d.ts → meta-schema.d.ts} +2 -1
  145. package/dist/v1/schema/value/profile/meta-schema.d.ts.map +1 -0
  146. package/dist/v1/schema/value/profile/meta-schema.js +20 -0
  147. package/dist/v1/schema/value/profile/meta-schema.js.map +1 -0
  148. package/dist/v1/schema/value/profile/validate.js +1 -1
  149. package/dist/v1/schema/value/profile/validate.js.map +1 -1
  150. package/dist/v1/schema/value/regexp/ast.d.ts +22 -0
  151. package/dist/v1/schema/value/regexp/ast.d.ts.map +1 -0
  152. package/dist/v1/schema/value/regexp/ast.js +327 -0
  153. package/dist/v1/schema/value/regexp/ast.js.map +1 -0
  154. package/dist/v1/schema/value/regexp/compile.d.ts +4 -0
  155. package/dist/v1/schema/value/regexp/compile.d.ts.map +1 -0
  156. package/dist/v1/schema/value/regexp/compile.js +97 -0
  157. package/dist/v1/schema/value/regexp/compile.js.map +1 -0
  158. package/dist/v1/schema/value/regexp/lower.d.ts.map +1 -1
  159. package/dist/v1/schema/value/regexp/lower.js +1 -1
  160. package/dist/v1/schema/value/regexp/lower.js.map +1 -1
  161. package/dist/v1/schema/value/regexp/matcher.d.ts +8 -0
  162. package/dist/v1/schema/value/regexp/matcher.d.ts.map +1 -0
  163. package/dist/v1/schema/value/regexp/matcher.js +51 -0
  164. package/dist/v1/schema/value/regexp/matcher.js.map +1 -0
  165. package/dist/v1/schema/value/regexp/syntax.d.ts +1 -1
  166. package/dist/v1/schema/value/regexp/syntax.d.ts.map +1 -1
  167. package/dist/v1/schema/value/regexp/syntax.js +3 -216
  168. package/dist/v1/schema/value/regexp/syntax.js.map +1 -1
  169. package/dist/v1/schema/value/resources/recursion.js +1 -1
  170. package/dist/v1/schema/value/resources/recursion.js.map +1 -1
  171. package/dist/v1/schema/view/declaration.d.ts +2 -2
  172. package/dist/v1/schema/view/declaration.d.ts.map +1 -1
  173. package/package.json +30 -5
  174. package/dist/v1/schema/value/instance/compiler.d.ts.map +0 -1
  175. package/dist/v1/schema/value/instance/compiler.js +0 -69
  176. package/dist/v1/schema/value/instance/compiler.js.map +0 -1
  177. package/dist/v1/schema/value/profile/meta-schema.validate.d.ts.map +0 -1
  178. package/dist/v1/schema/value/profile/meta-schema.validate.js +0 -25
  179. package/dist/v1/schema/value/profile/meta-schema.validate.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import type { MethodRecord } from '../schema/callable.js';
2
2
  import type { MediaType } from '../schema/definition/data.js';
3
- import type { Cardinality, EdgeOrientation } from '../schema/definition/edge.js';
3
+ import type { EdgeCount, EdgeOrientation } from '../schema/definition/edge.js';
4
4
  import type { DefinitionRef } from '../schema/reference.js';
5
5
  import type { FunctionAuthoring } from './callable.js';
6
6
  import type { Lazy } from './internal/authoring.lazy.js';
@@ -12,13 +12,28 @@ export type NodeDefinitionReferenceInput = Lazy<NodeClassAuthoring | NodeInterfa
12
12
  export interface EndpointInput {
13
13
  readonly as: string;
14
14
  readonly accepts: readonly NodeDefinitionReferenceInput[];
15
- readonly cardinality?: Cardinality;
15
+ readonly cardinality?: EdgeCount;
16
16
  }
17
+ export interface DirectedSourceInput {
18
+ readonly as: string;
19
+ readonly accepts: readonly NodeDefinitionReferenceInput[];
20
+ readonly outgoing: EdgeCount;
21
+ }
22
+ export interface DirectedTargetInput {
23
+ readonly as: string;
24
+ readonly accepts: readonly NodeDefinitionReferenceInput[];
25
+ readonly incoming: EdgeCount;
26
+ }
27
+ export interface IncidentEndpointInput {
28
+ readonly as: string;
29
+ readonly accepts: readonly NodeDefinitionReferenceInput[];
30
+ readonly incident: EdgeCount;
31
+ }
32
+ type ExactEndpointInput<Input, Shape> = Input & Record<Exclude<keyof Input, keyof Shape>, never>;
17
33
  export interface EdgeClassOptions {
18
34
  readonly description?: string;
19
35
  readonly implements?: readonly DefinitionReferenceInput[];
20
36
  readonly properties?: PropertyRecordInput;
21
- readonly orientation?: EdgeOrientation;
22
37
  readonly policies?: {
23
38
  readonly traverse?: Lazy<Policy>;
24
39
  };
@@ -27,6 +42,16 @@ export interface EdgeClassOptions {
27
42
  readonly acyclic?: true;
28
43
  };
29
44
  }
45
+ export interface DirectedEdgeClassInput extends EdgeClassOptions {
46
+ readonly source: DirectedSourceInput;
47
+ readonly target: DirectedTargetInput;
48
+ }
49
+ export interface UndirectedEdgeClassInput extends Omit<EdgeClassOptions, 'constraints'> {
50
+ readonly endpoints: readonly [IncidentEndpointInput, IncidentEndpointInput];
51
+ readonly constraints?: {
52
+ readonly noSelf?: true;
53
+ };
54
+ }
30
55
  export interface EdgeInterfaceOptions {
31
56
  readonly description?: string;
32
57
  readonly extends?: readonly DefinitionReferenceInput[];
@@ -87,19 +112,44 @@ export interface NodeClassAuthoring<out Config extends NodeClassInput = NodeClas
87
112
  readonly definitionKind: 'node-class';
88
113
  readonly config: Config;
89
114
  }
90
- export interface EdgeClassAuthoring<out Source extends EndpointInput = EndpointInput, out Target extends EndpointInput = EndpointInput, out Options extends EdgeClassOptions = EdgeClassOptions> {
115
+ export interface DirectedEdgeClassAuthoring<out Source extends DirectedSourceInput = DirectedSourceInput, out Target extends DirectedTargetInput = DirectedTargetInput, out Options extends EdgeClassOptions = EdgeClassOptions> {
91
116
  readonly [AUTHORING]: 'definition';
92
117
  readonly definitionKind: 'edge-class';
118
+ readonly orientation: 'directed';
93
119
  readonly source: Source;
94
120
  readonly target: Target;
95
121
  readonly options: Options;
96
122
  }
123
+ export interface UndirectedEdgeClassAuthoring<out First extends IncidentEndpointInput = IncidentEndpointInput, out Second extends IncidentEndpointInput = IncidentEndpointInput, out Options extends Omit<EdgeClassOptions, 'constraints'> & {
124
+ readonly constraints?: {
125
+ readonly noSelf?: true;
126
+ };
127
+ } = Omit<EdgeClassOptions, 'constraints'> & {
128
+ readonly constraints?: {
129
+ readonly noSelf?: true;
130
+ };
131
+ }> {
132
+ readonly [AUTHORING]: 'definition';
133
+ readonly definitionKind: 'edge-class';
134
+ readonly orientation: 'undirected';
135
+ readonly endpoints: readonly [First, Second];
136
+ readonly options: Options;
137
+ }
138
+ export type EdgeClassAuthoring = DirectedEdgeClassAuthoring | UndirectedEdgeClassAuthoring;
97
139
  export declare function defineInterface<const Config extends InterfaceInput>(config: Config): InterfaceAuthoring<Config>;
98
140
  /** First-class node-family sugar for `defineInterface`; this is a permanent public builder. */
99
141
  export declare function nodeInterface<const Config extends NodeInterfaceInput = Record<never, never>>(config?: Config): NodeInterfaceAuthoring<Config>;
100
142
  /** First-class edge-family sugar for `defineInterface`; this is a permanent public builder. */
101
143
  export declare function edgeInterface<const Source extends EndpointInput, const Target extends EndpointInput, const Options extends EdgeInterfaceOptions = Record<never, never>>(source: Source, target: Target, options?: Options): EdgeInterfaceAuthoring<Source, Target, Options>;
102
144
  export declare function nodeClass<const Config extends NodeClassInput = Record<never, never>>(config?: Config): NodeClassAuthoring<Config>;
103
- export declare function edgeClass<const Source extends EndpointInput, const Target extends EndpointInput, const Options extends EdgeClassOptions = Record<never, never>>(source: Source, target: Target, options?: Options): EdgeClassAuthoring<Source, Target, Options>;
145
+ export declare const edgeClass: Readonly<{
146
+ directed<const Input extends DirectedEdgeClassInput>(input: Input & {
147
+ readonly source: ExactEndpointInput<Input['source'], DirectedSourceInput>;
148
+ readonly target: ExactEndpointInput<Input['target'], DirectedTargetInput>;
149
+ }): DirectedEdgeClassAuthoring<Input['source'], Input['target'], Omit<Input, 'source' | 'target'>>;
150
+ undirected<const Input extends UndirectedEdgeClassInput>(input: Input & {
151
+ readonly endpoints: readonly [ExactEndpointInput<Input['endpoints'][0], IncidentEndpointInput>, ExactEndpointInput<Input['endpoints'][1], IncidentEndpointInput>];
152
+ }): UndirectedEdgeClassAuthoring<Input['endpoints'][0], Input['endpoints'][1], Omit<Input, 'endpoints'>>;
153
+ }>;
104
154
  export type { MethodRecord };
105
155
  //# sourceMappingURL=definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../v1/builder/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../v1/builder/definition.ts"],"names":[],"mappings":"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"}
@@ -61,35 +61,79 @@ export function nodeClass(config) {
61
61
  config: { ...admitted },
62
62
  });
63
63
  }
64
- export function edgeClass(source, target, options) {
65
- const admitted = options ?? {};
66
- validateEndpointInput(source);
67
- validateEndpointInput(target);
68
- validateEdgeClassOptions(admitted);
69
- return authoringValue('definition', {
70
- definitionKind: 'edge-class',
71
- source: { ...source },
72
- target: { ...target },
73
- options: { ...admitted },
74
- });
75
- }
64
+ export const edgeClass = Object.freeze({
65
+ directed(input) {
66
+ assertKnownKeys(input, [
67
+ 'source',
68
+ 'target',
69
+ 'description',
70
+ 'implements',
71
+ 'properties',
72
+ 'policies',
73
+ 'constraints',
74
+ ]);
75
+ validateDirectedSourceInput(input.source);
76
+ validateDirectedTargetInput(input.target);
77
+ const { source, target, ...options } = input;
78
+ validateEdgeClassOptions(options);
79
+ return authoringValue('definition', {
80
+ definitionKind: 'edge-class',
81
+ orientation: 'directed',
82
+ source: { ...source },
83
+ target: { ...target },
84
+ options: { ...options },
85
+ });
86
+ },
87
+ undirected(input) {
88
+ assertKnownKeys(input, [
89
+ 'endpoints',
90
+ 'description',
91
+ 'implements',
92
+ 'properties',
93
+ 'policies',
94
+ 'constraints',
95
+ ]);
96
+ if (input.endpoints.length !== 2) {
97
+ throw new TypeError('Undirected Edge Classes require exactly two endpoints.');
98
+ }
99
+ validateIncidentEndpointInput(input.endpoints[0]);
100
+ validateIncidentEndpointInput(input.endpoints[1]);
101
+ const { endpoints, ...options } = input;
102
+ validateUndirectedEdgeClassOptions(options);
103
+ return authoringValue('definition', {
104
+ definitionKind: 'edge-class',
105
+ orientation: 'undirected',
106
+ endpoints: [{ ...endpoints[0] }, { ...endpoints[1] }],
107
+ options: { ...options },
108
+ });
109
+ },
110
+ });
76
111
  function validateEndpointInput(value) {
77
112
  assertKnownKeys(value, ['as', 'accepts', 'cardinality']);
78
113
  }
114
+ function validateDirectedSourceInput(value) {
115
+ assertKnownKeys(value, ['as', 'accepts', 'outgoing']);
116
+ }
117
+ function validateDirectedTargetInput(value) {
118
+ assertKnownKeys(value, ['as', 'accepts', 'incoming']);
119
+ }
120
+ function validateIncidentEndpointInput(value) {
121
+ assertKnownKeys(value, ['as', 'accepts', 'incident']);
122
+ }
79
123
  function validateEdgeClassOptions(value) {
80
- assertKnownKeys(value, [
81
- 'description',
82
- 'implements',
83
- 'properties',
84
- 'orientation',
85
- 'policies',
86
- 'constraints',
87
- ]);
124
+ assertKnownKeys(value, ['description', 'implements', 'properties', 'policies', 'constraints']);
88
125
  if (value.policies !== undefined)
89
126
  assertKnownKeys(value.policies, ['traverse'], '/policies');
90
127
  if (value.constraints !== undefined)
91
128
  assertKnownKeys(value.constraints, ['noSelf', 'acyclic']);
92
129
  }
130
+ function validateUndirectedEdgeClassOptions(value) {
131
+ assertKnownKeys(value, ['description', 'implements', 'properties', 'policies', 'constraints']);
132
+ if (value.policies !== undefined)
133
+ assertKnownKeys(value.policies, ['traverse'], '/policies');
134
+ if (value.constraints !== undefined)
135
+ assertKnownKeys(value.constraints, ['noSelf'], '/constraints');
136
+ }
93
137
  function validateEdgeInterfaceOptions(value) {
94
138
  if (value.constraints !== undefined)
95
139
  assertKnownKeys(value.constraints, ['noSelf', 'acyclic']);
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../v1/builder/definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../v1/builder/definition.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,5 @@
1
- import type { $ZodCheck } from 'zod/v4/core';
2
- /**
3
- * A serializable, whole-string RFC 9485 I-Regexp check for Zod string schemas.
4
- *
5
- * @example z.string().check(fullMatch('[A-Za-z][A-Za-z0-9_-]*'))
6
- */
7
- /** Zod refinement recognized and serialized only by the Astrale builder. */
8
- export type FullMatch = $ZodCheck<string>;
1
+ import { type FullMatch } from '../schema/index.js';
2
+ export { fullMatchSource, type FullMatch } from '../schema/index.js';
3
+ /** Authoring facade preserving the Builder-owned diagnostic for invalid source syntax. */
9
4
  export declare function fullMatch(source: string): FullMatch;
10
- /** Builder-internal recognition of checks created by fullMatch(...). */
11
- export declare function fullMatchSource(check: unknown): string | undefined;
12
5
  //# sourceMappingURL=full-match.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"full-match.d.ts","sourceRoot":"","sources":["../../../v1/builder/full-match.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQ5C;;;;GAIG;AACH,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;AAEzC,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAcnD;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAElE"}
1
+ {"version":3,"file":"full-match.d.ts","sourceRoot":"","sources":["../../../v1/builder/full-match.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAIjF,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEpE,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CASnD"}
@@ -1,21 +1,12 @@
1
- import { z } from 'zod';
2
- import { compileIRegexp } from '../schema/value/regexp/linear.js';
1
+ import { fullMatch as schemaFullMatch } from '../schema/index.js';
3
2
  import { isIRegexp } from '../schema/value/regexp/syntax.js';
4
3
  import { fail } from './internal/diagnostic.js';
5
- const sources = new WeakMap();
4
+ export { fullMatchSource } from '../schema/index.js';
5
+ /** Authoring facade preserving the Builder-owned diagnostic for invalid source syntax. */
6
6
  export function fullMatch(source) {
7
7
  if (!isIRegexp(source)) {
8
8
  fail('BUILDER_FULL_MATCH_INVALID', '/fullMatch', 'fullMatch(...) requires a complete RFC 9485 I-Regexp source.');
9
9
  }
10
- const matcher = compileIRegexp(source);
11
- const check = z.refine((value) => matcher.matches(value), {
12
- error: `String must fully match I-Regexp ${JSON.stringify(source)}.`,
13
- });
14
- sources.set(check, source);
15
- return check;
16
- }
17
- /** Builder-internal recognition of checks created by fullMatch(...). */
18
- export function fullMatchSource(check) {
19
- return check !== null && typeof check === 'object' ? sources.get(check) : undefined;
10
+ return schemaFullMatch(source);
20
11
  }
21
12
  //# sourceMappingURL=full-match.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"full-match.js","sourceRoot":"","sources":["../../../v1/builder/full-match.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAE/C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAA;AAU7C,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,IAAI,CACF,4BAA4B,EAC5B,YAAY,EACZ,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAS,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAChE,KAAK,EAAE,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;KACrE,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrF,CAAC"}
1
+ {"version":3,"file":"full-match.js","sourceRoot":"","sources":["../../../v1/builder/full-match.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,eAAe,EAAkB,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAE/C,OAAO,EAAE,eAAe,EAAkB,MAAM,oBAAoB,CAAA;AAEpE,0FAA0F;AAC1F,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,IAAI,CACF,4BAA4B,EAC5B,YAAY,EACZ,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
@@ -5,17 +5,17 @@ export { fullMatch } from './full-match.js';
5
5
  export type { FullMatch } from './full-match.js';
6
6
  export { path } from './path.js';
7
7
  export { definePolicy, policy } from './policy.js';
8
- export { property } from './property.js';
8
+ export { auto, property } from './property.js';
9
9
  export { defineSchema } from './schema.js';
10
10
  export { valueSchema } from './value-schema.js';
11
11
  export { view } from './view.js';
12
12
  export type { AuthoredCallableInput, CallableInput, CallableOutputInput, CallablePolicyBuilder, CallablePolicyContext, BinaryOutput, FunctionAuthoring as Function, PolicyObjectAuthoring, PolicyObjectInput, StreamOutput, } from './callable.js';
13
13
  export type { CoreEdgeAuthoring as Edge, CoreEndpointAuthoring as CoreEndpoint, CoreInput as Core, CoreNodeAuthoring as Node, } from './core.js';
14
- export type { DefinitionAuthoring as Definition, DefinitionReferenceInput as DefinitionRef, DefinitionReferenceInput as DefinitionReference, EdgeClassAuthoring as EdgeClass, EdgeInterfaceAuthoring as EdgeInterface, EdgeClassOptions, EdgeInterfaceOptions, EndpointInput as Endpoint, InterfaceAuthoring as Interface, InterfaceInput, NodeClassAuthoring as NodeClass, NodeClassInput, NodeDefinitionReferenceInput as NodeDefinitionReference, NodeInterfaceAuthoring as NodeInterface, NodeInterfaceInput, } from './definition.js';
14
+ export type { DefinitionAuthoring as Definition, DefinitionReferenceInput as DefinitionRef, DefinitionReferenceInput as DefinitionReference, DirectedEdgeClassAuthoring as DirectedEdgeClass, DirectedEdgeClassInput, DirectedSourceInput as DirectedSource, DirectedTargetInput as DirectedTarget, EdgeClassAuthoring as EdgeClass, EdgeInterfaceAuthoring as EdgeInterface, EdgeClassOptions, EdgeInterfaceOptions, EndpointInput as Endpoint, IncidentEndpointInput as IncidentEndpoint, InterfaceAuthoring as Interface, InterfaceInput, NodeClassAuthoring as NodeClass, NodeClassInput, NodeDefinitionReferenceInput as NodeDefinitionReference, NodeInterfaceAuthoring as NodeInterface, NodeInterfaceInput, UndirectedEdgeClassAuthoring as UndirectedEdgeClass, UndirectedEdgeClassInput, } from './definition.js';
15
15
  export type { PathAuthoring as Path } from './path.js';
16
16
  export type { Lazy } from './internal/authoring.lazy.js';
17
17
  export type { MatchPolicyInput, Policy, PolicyComposition, PolicyEdgeInput, PolicyExistsContext, PolicyInput, PolicyPatternContext, } from './policy.js';
18
- export type { PropertyAuthoring as Property, PropertyFieldInput, PropertyOptions, PropertyRecordInput, ValueSchemaInput, } from './property.js';
18
+ export type { AutoOptions, AutoPropertyAuthoring as AutoProperty, PropertyAuthoring as Property, PropertyFieldInput, PropertyOptions, PropertyRecordInput, ValueSchemaInput, } from './property.js';
19
19
  export type { DomainSchemaInput as SchemaInput } from './schema.input.js';
20
20
  export type { TypedValueSchema } from './value-schema.js';
21
21
  export type { ViewAuthoring as View, ViewDefinitionTargetsInput, ViewInput, ViewTargetInput, } from './view.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../v1/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,eAAe,EACf,SAAS,EACT,aAAa,EACb,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,IAAI,QAAQ,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,GACb,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,iBAAiB,IAAI,IAAI,EACzB,qBAAqB,IAAI,YAAY,EACrC,SAAS,IAAI,IAAI,EACjB,iBAAiB,IAAI,IAAI,GAC1B,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,mBAAmB,IAAI,UAAU,EACjC,wBAAwB,IAAI,aAAa,EACzC,wBAAwB,IAAI,mBAAmB,EAC/C,kBAAkB,IAAI,SAAS,EAC/B,sBAAsB,IAAI,aAAa,EACvC,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,IAAI,QAAQ,EACzB,kBAAkB,IAAI,SAAS,EAC/B,cAAc,EACd,kBAAkB,IAAI,SAAS,EAC/B,cAAc,EACd,4BAA4B,IAAI,uBAAuB,EACvD,sBAAsB,IAAI,aAAa,EACvC,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,aAAa,IAAI,IAAI,EAAE,MAAM,WAAW,CAAA;AACtD,YAAY,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACxD,YAAY,EACV,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,iBAAiB,IAAI,QAAQ,EAC7B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,YAAY,EACV,aAAa,IAAI,IAAI,EACrB,0BAA0B,EAC1B,SAAS,EACT,eAAe,GAChB,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../v1/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,eAAe,EACf,SAAS,EACT,aAAa,EACb,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,IAAI,QAAQ,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,GACb,MAAM,eAAe,CAAA;AACtB,YAAY,EACV,iBAAiB,IAAI,IAAI,EACzB,qBAAqB,IAAI,YAAY,EACrC,SAAS,IAAI,IAAI,EACjB,iBAAiB,IAAI,IAAI,GAC1B,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,mBAAmB,IAAI,UAAU,EACjC,wBAAwB,IAAI,aAAa,EACzC,wBAAwB,IAAI,mBAAmB,EAC/C,0BAA0B,IAAI,iBAAiB,EAC/C,sBAAsB,EACtB,mBAAmB,IAAI,cAAc,EACrC,mBAAmB,IAAI,cAAc,EACrC,kBAAkB,IAAI,SAAS,EAC/B,sBAAsB,IAAI,aAAa,EACvC,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,IAAI,QAAQ,EACzB,qBAAqB,IAAI,gBAAgB,EACzC,kBAAkB,IAAI,SAAS,EAC/B,cAAc,EACd,kBAAkB,IAAI,SAAS,EAC/B,cAAc,EACd,4BAA4B,IAAI,uBAAuB,EACvD,sBAAsB,IAAI,aAAa,EACvC,kBAAkB,EAClB,4BAA4B,IAAI,mBAAmB,EACnD,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,aAAa,IAAI,IAAI,EAAE,MAAM,WAAW,CAAA;AACtD,YAAY,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACxD,YAAY,EACV,gBAAgB,EAChB,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,oBAAoB,GACrB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,WAAW,EACX,qBAAqB,IAAI,YAAY,EACrC,iBAAiB,IAAI,QAAQ,EAC7B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,YAAY,EACV,aAAa,IAAI,IAAI,EACrB,0BAA0B,EAC1B,SAAS,EACT,eAAe,GAChB,MAAM,WAAW,CAAA"}
@@ -4,7 +4,7 @@ export { defineInterface, edgeClass, edgeInterface, nodeClass, nodeInterface, }
4
4
  export { fullMatch } from './full-match.js';
5
5
  export { path } from './path.js';
6
6
  export { definePolicy, policy } from './policy.js';
7
- export { property } from './property.js';
7
+ export { auto, property } from './property.js';
8
8
  export { defineSchema } from './schema.js';
9
9
  export { valueSchema } from './value-schema.js';
10
10
  export { view } from './view.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../v1/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,eAAe,EACf,SAAS,EACT,aAAa,EACb,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../v1/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EACL,eAAe,EACf,SAAS,EACT,aAAa,EACb,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export declare const AUTHORING: unique symbol;
2
- export type AuthoringKind = 'definition' | 'function' | 'callable-output' | 'policy' | 'view' | 'core-node' | 'core-edge' | 'property' | 'policy-composition';
2
+ export type AuthoringKind = 'definition' | 'function' | 'callable-output' | 'policy' | 'view' | 'core-node' | 'core-edge' | 'property' | 'auto' | 'policy-composition';
3
3
  export interface AuthoringValue<Kind extends AuthoringKind> {
4
4
  readonly [AUTHORING]: Kind;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../../../v1/builder/internal/authoring.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,eAAiC,CAAA;AAEvD,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,QAAQ,GACR,MAAM,GACN,WAAW,GACX,WAAW,GACX,UAAU,GACV,oBAAoB,CAAA;AAExB,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,aAAa;IACxD,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAA;CAC3B;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,aAAa,EAAE,KAAK,SAAS,MAAM,EAC7E,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GACX,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CASxC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,aAAa,EACzD,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,IAAI,GACT,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAMxC"}
1
+ {"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../../../v1/builder/internal/authoring.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,eAAiC,CAAA;AAEvD,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,QAAQ,GACR,MAAM,GACN,WAAW,GACX,WAAW,GACX,UAAU,GACV,MAAM,GACN,oBAAoB,CAAA;AAExB,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,aAAa;IACxD,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAA;CAC3B;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,aAAa,EAAE,KAAK,SAAS,MAAM,EAC7E,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GACX,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CASxC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,aAAa,EACzD,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,IAAI,GACT,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAMxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../../../v1/builder/internal/authoring.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAiBvD,MAAM,UAAU,cAAc,CAC5B,IAAU,EACV,KAAY;IAEZ,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE;QAC7C,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;KAChB,CAAC,CACuC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,IAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAA4C,CAAC,SAAS,CAAC,KAAK,IAAI,CAClE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../../../v1/builder/internal/authoring.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAkBvD,MAAM,UAAU,cAAc,CAC5B,IAAU,EACV,KAAY;IAEZ,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE;QAC7C,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;KAChB,CAAC,CACuC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,IAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAA4C,CAAC,SAAS,CAAC,KAAK,IAAI,CAClE,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { z } from 'zod';
2
+ import type { AutoEvent, AutoSet } from '../schema/index.js';
2
3
  import type { JsonSchema } from '../schema/value/schema.js';
3
4
  import type { AUTHORING } from './internal/authoring.js';
4
5
  declare const PROPERTY_OPTIONS: unique symbol;
@@ -7,6 +8,10 @@ export interface PropertyOptions {
7
8
  readonly visibility?: 'public' | 'private';
8
9
  readonly required?: boolean;
9
10
  }
11
+ export interface AutoOptions {
12
+ readonly on: AutoEvent | readonly AutoEvent[];
13
+ readonly set: AutoSet;
14
+ }
10
15
  export interface PropertyAuthoring<out Schema extends ValueSchemaInput = ValueSchemaInput, out Options extends PropertyOptions = PropertyOptions> {
11
16
  readonly [AUTHORING]: 'property';
12
17
  readonly schema: Schema;
@@ -16,8 +21,17 @@ export interface PropertyAuthoring<out Schema extends ValueSchemaInput = ValueSc
16
21
  }
17
22
  export type PropertySchemaOf<Value extends PropertyAuthoring> = Value extends PropertyAuthoring<infer Schema, PropertyOptions> ? Schema : never;
18
23
  export type PropertyOptionsOf<Value extends PropertyAuthoring> = Value extends PropertyAuthoring<ValueSchemaInput, infer Options> ? Options : never;
19
- export type PropertyFieldInput = ValueSchemaInput | PropertyAuthoring;
24
+ export interface AutoPropertyAuthoring<out Property extends PropertyAuthoring = PropertyAuthoring> {
25
+ readonly [AUTHORING]: 'auto';
26
+ readonly property: Property;
27
+ readonly options: {
28
+ readonly on: readonly AutoEvent[];
29
+ readonly set: AutoSet;
30
+ };
31
+ }
32
+ export type PropertyFieldInput = ValueSchemaInput | PropertyAuthoring | AutoPropertyAuthoring;
20
33
  export type PropertyRecordInput = Readonly<Record<string, PropertyFieldInput>>;
21
34
  export declare function property<const Schema extends ValueSchemaInput, const Options extends PropertyOptions = Record<never, never>>(schema: Schema, options?: Options): PropertyAuthoring<Schema, Options>;
35
+ export declare function auto<const Property extends PropertyAuthoring>(property: Property, options: AutoOptions): AutoPropertyAuthoring<Property>;
22
36
  export {};
23
37
  //# sourceMappingURL=property.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../v1/builder/property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAA;AAE7C,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB,CAChC,GAAG,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EACtD,GAAG,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe;IAErD,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,iBAAiB,IAC1D,KAAK,SAAS,iBAAiB,CAAC,MAAM,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,GAAG,KAAK,CAAA;AACjF,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,iBAAiB,IAC3D,KAAK,SAAS,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;AAEpF,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,CAAA;AACrE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAE9E,wBAAgB,QAAQ,CACtB,KAAK,CAAC,MAAM,SAAS,gBAAgB,EACrC,KAAK,CAAC,OAAO,SAAS,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5D,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAQvE"}
1
+ {"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../v1/builder/property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAA;AAE7C,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,GAAG,UAAU,CAAA;AAErD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,SAAS,EAAE,CAAA;IAC7C,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB,CAChC,GAAG,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EACtD,GAAG,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe;IAErD,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CACrC;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,iBAAiB,IAC1D,KAAK,SAAS,iBAAiB,CAAC,MAAM,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,GAAG,KAAK,CAAA;AACjF,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,iBAAiB,IAC3D,KAAK,SAAS,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;AAEpF,MAAM,WAAW,qBAAqB,CAAC,GAAG,CAAC,QAAQ,SAAS,iBAAiB,GAAG,iBAAiB;IAC/F,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,EAAE,EAAE,SAAS,SAAS,EAAE,CAAA;QACjC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;KACtB,CAAA;CACF;AAED,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,qBAAqB,CAAA;AAC7F,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAE9E,wBAAgB,QAAQ,CACtB,KAAK,CAAC,MAAM,SAAS,gBAAgB,EACrC,KAAK,CAAC,OAAO,SAAS,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5D,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAQvE;AAED,wBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,SAAS,iBAAiB,EAC3D,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,GACnB,qBAAqB,CAAC,QAAQ,CAAC,CAuBjC"}
@@ -1,5 +1,5 @@
1
- import { authoringValue } from './internal/authoring.js';
2
- import { assertKnownKeys } from './internal/diagnostic.js';
1
+ import { authoringValue, isAuthoringValue } from './internal/authoring.js';
2
+ import { assertKnownKeys, fail } from './internal/diagnostic.js';
3
3
  export function property(schema, options) {
4
4
  const admitted = options ?? {};
5
5
  assertKnownKeys(admitted, ['visibility', 'required']);
@@ -9,4 +9,28 @@ export function property(schema, options) {
9
9
  ...(admitted.required === undefined ? {} : { required: admitted.required }),
10
10
  });
11
11
  }
12
+ export function auto(property, options) {
13
+ if (isAuthoringValue(property, 'auto')) {
14
+ fail('BUILDER_AUTO_NESTED', '', 'auto(...) cannot wrap another automatic Property.');
15
+ }
16
+ assertKnownKeys(options, ['on', 'set']);
17
+ const authored = Array.isArray(options.on) ? options.on : [options.on];
18
+ if (authored.length === 0)
19
+ fail('BUILDER_AUTO_EVENT_INVALID', '/on', 'auto(...) requires an event.');
20
+ const events = [...new Set(authored)];
21
+ if (events.some((event) => event !== 'create' && event !== 'update')) {
22
+ fail('BUILDER_AUTO_EVENT_INVALID', '/on', 'Automatic events are create or update.');
23
+ }
24
+ if (options.set !== 'instant') {
25
+ fail('BUILDER_AUTO_SET_INVALID', '/set', 'The automatic setter must be instant.');
26
+ }
27
+ events.sort((left, right) => (left === right ? 0 : left === 'create' ? -1 : 1));
28
+ if (property.required === true && !events.includes('create')) {
29
+ fail('BUILDER_AUTO_EVENT_INVALID', '/on', 'A required automatic Property must run on create.');
30
+ }
31
+ return authoringValue('auto', {
32
+ property,
33
+ options: { on: Object.freeze(events), set: options.set },
34
+ });
35
+ }
12
36
  //# sourceMappingURL=property.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"property.js","sourceRoot":"","sources":["../../../v1/builder/property.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AA8B1D,MAAM,UAAU,QAAQ,CAGtB,MAAc,EAAE,OAAiB;IACjC,MAAM,QAAQ,GAAG,OAAO,IAAK,EAAc,CAAA;IAC3C,eAAe,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IACrD,OAAO,cAAc,CAAC,UAAU,EAAE;QAChC,MAAM;QACN,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,QAAQ;QAC3C,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5E,CAAuC,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../../v1/builder/property.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AA4ChE,MAAM,UAAU,QAAQ,CAGtB,MAAc,EAAE,OAAiB;IACjC,MAAM,QAAQ,GAAG,OAAO,IAAK,EAAc,CAAA;IAC3C,eAAe,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IACrD,OAAO,cAAc,CAAC,UAAU,EAAE;QAChC,MAAM;QACN,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,QAAQ;QAC3C,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5E,CAAuC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,QAAkB,EAClB,OAAoB;IAEpB,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,mDAAmD,CAAC,CAAA;IACtF,CAAC;IACD,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,8BAA8B,CAAC,CAAA;IAC3E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,wCAAwC,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,0BAA0B,EAAE,MAAM,EAAE,uCAAuC,CAAC,CAAA;IACnF,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/E,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,mDAAmD,CAAC,CAAA;IAChG,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,EAAE;QAC5B,QAAQ;QACR,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACzD,CAAoC,CAAA;AACvC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AuthenticationMode } from '../schema/callable.js';
1
+ import type { ViewAuth } from '../schema/view/declaration.js';
2
2
  import type { NodeDefinitionReferenceInput } from './definition.js';
3
3
  import type { AUTHORING } from './internal/authoring.js';
4
4
  export type ViewDefinitionTargetsInput = readonly [
@@ -9,7 +9,7 @@ export type ViewTargetInput = 'domain' | NodeDefinitionReferenceInput | ViewDefi
9
9
  export interface ViewInput {
10
10
  readonly description?: string;
11
11
  readonly target?: ViewTargetInput;
12
- readonly auth?: AuthenticationMode;
12
+ readonly auth?: ViewAuth;
13
13
  }
14
14
  export interface ViewAuthoring<out Config extends ViewInput = ViewInput> {
15
15
  readonly [AUTHORING]: 'view';
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../v1/builder/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,MAAM,MAAM,0BAA0B,GAAG,SAAS;IAChD,4BAA4B;IAC5B,GAAG,4BAA4B,EAAE;CAClC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,4BAA4B,GAAG,0BAA0B,CAAA;AAClG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CACnC;AAED,MAAM,WAAW,aAAa,CAAC,GAAG,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS;IACrE,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAG1F"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../v1/builder/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,MAAM,MAAM,0BAA0B,GAAG,SAAS;IAChD,4BAA4B;IAC5B,GAAG,4BAA4B,EAAE;CAClC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,4BAA4B,GAAG,0BAA0B,CAAA;AAClG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;CACzB;AAED,MAAM,WAAW,aAAa,CAAC,GAAG,CAAC,MAAM,SAAS,SAAS,GAAG,SAAS;IACrE,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAG1F"}
@@ -1,7 +1,7 @@
1
1
  /** Stable aggregate facade for the V1 language. */
2
- export { defineInterface, definePolicy, defineSchema, domain, edge, edgeClass, edgeInterface, fn, fullMatch, node, nodeClass, nodeInterface, output, path, policy, property, valueSchema, view, } from './builder/index.js';
2
+ export { auto, defineInterface, definePolicy, defineSchema, domain, edge, edgeClass, edgeInterface, fn, fullMatch, node, nodeClass, nodeInterface, output, path, policy, property, valueSchema, view, } from './builder/index.js';
3
3
  export type * from './builder/index.js';
4
- export type { AuthenticationMode, MethodInheritance, PolicyCheckExpression, } from './schema/index.js';
4
+ export type { FunctionAuth, MethodInheritance, PolicyCheckExpression, ViewAuth, } from './schema/index.js';
5
5
  export { Key, PropertyKey, Ref } from './addressing/index.js';
6
6
  export type * as builder from './builder/index.js';
7
7
  export * as schema from './schema/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../v1/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,aAAa,EACb,EAAE,EACF,SAAS,EACT,IAAI,EACJ,SAAS,EACT,aAAa,EACb,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,GACL,MAAM,oBAAoB,CAAA;AAE3B,mBAAmB,oBAAoB,CAAA;AAEvC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAE7D,YAAY,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../v1/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,EACL,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,aAAa,EACb,EAAE,EACF,SAAS,EACT,IAAI,EACJ,SAAS,EACT,aAAa,EACb,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,GACL,MAAM,oBAAoB,CAAA;AAE3B,mBAAmB,oBAAoB,CAAA;AAEvC,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAE7D,YAAY,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA"}
package/dist/v1/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Stable aggregate facade for the V1 language. */
2
- export { defineInterface, definePolicy, defineSchema, domain, edge, edgeClass, edgeInterface, fn, fullMatch, node, nodeClass, nodeInterface, output, path, policy, property, valueSchema, view, } from './builder/index.js';
2
+ export { auto, defineInterface, definePolicy, defineSchema, domain, edge, edgeClass, edgeInterface, fn, fullMatch, node, nodeClass, nodeInterface, output, path, policy, property, valueSchema, view, } from './builder/index.js';
3
3
  export { Key, PropertyKey, Ref } from './addressing/index.js';
4
4
  export * as schema from './schema/index.js';
5
5
  export * as bundle from './bundle/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../v1/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,aAAa,EACb,EAAE,EACF,SAAS,EACT,IAAI,EACJ,SAAS,EACT,aAAa,EACb,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,GACL,MAAM,oBAAoB,CAAA;AAU3B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAI7D,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../v1/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,EACL,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,SAAS,EACT,aAAa,EACb,EAAE,EACF,SAAS,EACT,IAAI,EACJ,SAAS,EACT,aAAa,EACb,MAAM,EACN,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,GACL,MAAM,oBAAoB,CAAA;AAW3B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAI7D,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type { PolicyCheckExpression } from './policy/ast.js';
2
2
  import type { JsonSchema } from './value/schema.js';
3
3
  export type MethodInheritance = 'abstract' | 'default' | 'sealed';
4
- export type AuthenticationMode = 'required' | 'optional' | 'public';
4
+ export type FunctionAuth = 'anonymous' | 'authenticated' | 'authorized';
5
5
  export type CallableOutput = {
6
6
  readonly mode: 'value';
7
7
  readonly schema: JsonSchema;
@@ -16,7 +16,7 @@ export interface CallableContract {
16
16
  readonly description?: string;
17
17
  readonly input: JsonSchema;
18
18
  readonly output: CallableOutput;
19
- readonly auth: AuthenticationMode;
19
+ readonly auth: FunctionAuth;
20
20
  readonly policy?: PolicyCheckExpression;
21
21
  }
22
22
  export interface FunctionDeclaration extends CallableContract {
@@ -1 +1 @@
1
- {"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../v1/schema/callable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEjE,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEnE,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE/B,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;CACxC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAAG;AAEhE,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;CACxC;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../v1/schema/callable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEjE,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,eAAe,GAAG,YAAY,CAAA;AAEvE,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE/B,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAA;CACxC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAAG;AAEhE,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;CACxC;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAA"}