@rcrsr/rill 0.10.0 → 0.12.0

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 (163) hide show
  1. package/dist/ast-nodes.d.ts +47 -9
  2. package/dist/ast-nodes.d.ts.map +1 -1
  3. package/dist/ast-unions.d.ts +1 -1
  4. package/dist/ast-unions.d.ts.map +1 -1
  5. package/dist/error-classes.d.ts +3 -0
  6. package/dist/error-classes.d.ts.map +1 -1
  7. package/dist/error-classes.js +3 -0
  8. package/dist/error-classes.js.map +1 -1
  9. package/dist/error-registry.d.ts.map +1 -1
  10. package/dist/error-registry.js +283 -4
  11. package/dist/error-registry.js.map +1 -1
  12. package/dist/ext/crypto/index.d.ts +2 -1
  13. package/dist/ext/crypto/index.d.ts.map +1 -1
  14. package/dist/ext/crypto/index.js +31 -12
  15. package/dist/ext/crypto/index.js.map +1 -1
  16. package/dist/ext/exec/index.d.ts +2 -1
  17. package/dist/ext/exec/index.d.ts.map +1 -1
  18. package/dist/ext/exec/index.js +18 -11
  19. package/dist/ext/exec/index.js.map +1 -1
  20. package/dist/ext/fetch/index.d.ts +2 -1
  21. package/dist/ext/fetch/index.d.ts.map +1 -1
  22. package/dist/ext/fetch/index.js +23 -15
  23. package/dist/ext/fetch/index.js.map +1 -1
  24. package/dist/ext/fs/index.d.ts +2 -1
  25. package/dist/ext/fs/index.d.ts.map +1 -1
  26. package/dist/ext/fs/index.js +147 -47
  27. package/dist/ext/fs/index.js.map +1 -1
  28. package/dist/ext/kv/index.d.ts +2 -1
  29. package/dist/ext/kv/index.d.ts.map +1 -1
  30. package/dist/ext/kv/index.js +138 -31
  31. package/dist/ext/kv/index.js.map +1 -1
  32. package/dist/generated/introspection-data.d.ts +1 -1
  33. package/dist/generated/introspection-data.d.ts.map +1 -1
  34. package/dist/generated/introspection-data.js +109 -8
  35. package/dist/generated/introspection-data.js.map +1 -1
  36. package/dist/generated/version-data.d.ts +1 -1
  37. package/dist/generated/version-data.js +2 -2
  38. package/dist/highlight-map.d.ts.map +1 -1
  39. package/dist/highlight-map.js +1 -0
  40. package/dist/highlight-map.js.map +1 -1
  41. package/dist/index.d.ts +3 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/lexer/readers.d.ts.map +1 -1
  46. package/dist/lexer/readers.js +1 -0
  47. package/dist/lexer/readers.js.map +1 -1
  48. package/dist/parser/index.d.ts +3 -1
  49. package/dist/parser/index.d.ts.map +1 -1
  50. package/dist/parser/index.js +4 -1
  51. package/dist/parser/index.js.map +1 -1
  52. package/dist/parser/parser-expr.d.ts +2 -1
  53. package/dist/parser/parser-expr.d.ts.map +1 -1
  54. package/dist/parser/parser-expr.js +14 -1
  55. package/dist/parser/parser-expr.js.map +1 -1
  56. package/dist/parser/parser-extract.d.ts.map +1 -1
  57. package/dist/parser/parser-extract.js +10 -9
  58. package/dist/parser/parser-extract.js.map +1 -1
  59. package/dist/parser/parser-functions.js +11 -6
  60. package/dist/parser/parser-functions.js.map +1 -1
  61. package/dist/parser/parser-literals.js +2 -2
  62. package/dist/parser/parser-literals.js.map +1 -1
  63. package/dist/parser/parser-types.d.ts +8 -2
  64. package/dist/parser/parser-types.d.ts.map +1 -1
  65. package/dist/parser/parser-types.js +72 -3
  66. package/dist/parser/parser-types.js.map +1 -1
  67. package/dist/parser/parser-use.d.ts +11 -0
  68. package/dist/parser/parser-use.d.ts.map +1 -0
  69. package/dist/parser/parser-use.js +96 -0
  70. package/dist/parser/parser-use.js.map +1 -0
  71. package/dist/parser/parser-variables.d.ts.map +1 -1
  72. package/dist/parser/parser-variables.js +5 -4
  73. package/dist/parser/parser-variables.js.map +1 -1
  74. package/dist/runtime/core/callable.d.ts +57 -70
  75. package/dist/runtime/core/callable.d.ts.map +1 -1
  76. package/dist/runtime/core/callable.js +33 -91
  77. package/dist/runtime/core/callable.js.map +1 -1
  78. package/dist/runtime/core/context.d.ts.map +1 -1
  79. package/dist/runtime/core/context.js +104 -33
  80. package/dist/runtime/core/context.js.map +1 -1
  81. package/dist/runtime/core/equals.js +15 -10
  82. package/dist/runtime/core/equals.js.map +1 -1
  83. package/dist/runtime/core/eval/evaluator.d.ts.map +1 -1
  84. package/dist/runtime/core/eval/evaluator.js +2 -1
  85. package/dist/runtime/core/eval/evaluator.js.map +1 -1
  86. package/dist/runtime/core/eval/index.d.ts +2 -2
  87. package/dist/runtime/core/eval/index.d.ts.map +1 -1
  88. package/dist/runtime/core/eval/index.js +5 -0
  89. package/dist/runtime/core/eval/index.js.map +1 -1
  90. package/dist/runtime/core/eval/mixins/closures.d.ts +3 -5
  91. package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
  92. package/dist/runtime/core/eval/mixins/closures.js +32 -51
  93. package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
  94. package/dist/runtime/core/eval/mixins/collections.d.ts.map +1 -1
  95. package/dist/runtime/core/eval/mixins/collections.js +4 -2
  96. package/dist/runtime/core/eval/mixins/collections.js.map +1 -1
  97. package/dist/runtime/core/eval/mixins/conversion.d.ts +9 -9
  98. package/dist/runtime/core/eval/mixins/conversion.d.ts.map +1 -1
  99. package/dist/runtime/core/eval/mixins/conversion.js +40 -19
  100. package/dist/runtime/core/eval/mixins/conversion.js.map +1 -1
  101. package/dist/runtime/core/eval/mixins/core.d.ts.map +1 -1
  102. package/dist/runtime/core/eval/mixins/core.js +6 -0
  103. package/dist/runtime/core/eval/mixins/core.js.map +1 -1
  104. package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
  105. package/dist/runtime/core/eval/mixins/extraction.js +20 -8
  106. package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
  107. package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
  108. package/dist/runtime/core/eval/mixins/literals.js +32 -23
  109. package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
  110. package/dist/runtime/core/eval/mixins/types.d.ts.map +1 -1
  111. package/dist/runtime/core/eval/mixins/types.js +34 -10
  112. package/dist/runtime/core/eval/mixins/types.js.map +1 -1
  113. package/dist/runtime/core/eval/mixins/use.d.ts +25 -0
  114. package/dist/runtime/core/eval/mixins/use.d.ts.map +1 -0
  115. package/dist/runtime/core/eval/mixins/use.js +162 -0
  116. package/dist/runtime/core/eval/mixins/use.js.map +1 -0
  117. package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
  118. package/dist/runtime/core/eval/mixins/variables.js +64 -32
  119. package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
  120. package/dist/runtime/core/execute.d.ts.map +1 -1
  121. package/dist/runtime/core/execute.js +10 -0
  122. package/dist/runtime/core/execute.js.map +1 -1
  123. package/dist/runtime/core/field-descriptor.d.ts +5 -5
  124. package/dist/runtime/core/field-descriptor.d.ts.map +1 -1
  125. package/dist/runtime/core/field-descriptor.js +1 -1
  126. package/dist/runtime/core/field-descriptor.js.map +1 -1
  127. package/dist/runtime/core/introspection.d.ts +16 -0
  128. package/dist/runtime/core/introspection.d.ts.map +1 -1
  129. package/dist/runtime/core/introspection.js +102 -7
  130. package/dist/runtime/core/introspection.js.map +1 -1
  131. package/dist/runtime/core/resolvers.d.ts +55 -0
  132. package/dist/runtime/core/resolvers.d.ts.map +1 -0
  133. package/dist/runtime/core/resolvers.js +128 -0
  134. package/dist/runtime/core/resolvers.js.map +1 -0
  135. package/dist/runtime/core/types.d.ts +54 -5
  136. package/dist/runtime/core/types.d.ts.map +1 -1
  137. package/dist/runtime/core/types.js.map +1 -1
  138. package/dist/runtime/core/values.d.ts +20 -13
  139. package/dist/runtime/core/values.d.ts.map +1 -1
  140. package/dist/runtime/core/values.js +17 -8
  141. package/dist/runtime/core/values.js.map +1 -1
  142. package/dist/runtime/ext/builtins.d.ts +3 -4
  143. package/dist/runtime/ext/builtins.d.ts.map +1 -1
  144. package/dist/runtime/ext/builtins.js +621 -444
  145. package/dist/runtime/ext/builtins.js.map +1 -1
  146. package/dist/runtime/ext/extensions.d.ts +53 -43
  147. package/dist/runtime/ext/extensions.d.ts.map +1 -1
  148. package/dist/runtime/ext/extensions.js.map +1 -1
  149. package/dist/runtime/index.d.ts +9 -6
  150. package/dist/runtime/index.d.ts.map +1 -1
  151. package/dist/runtime/index.js +6 -2
  152. package/dist/runtime/index.js.map +1 -1
  153. package/dist/signature-parser.d.ts +43 -0
  154. package/dist/signature-parser.d.ts.map +1 -0
  155. package/dist/signature-parser.js +289 -0
  156. package/dist/signature-parser.js.map +1 -0
  157. package/dist/token-types.d.ts +1 -0
  158. package/dist/token-types.d.ts.map +1 -1
  159. package/dist/token-types.js +1 -0
  160. package/dist/token-types.js.map +1 -1
  161. package/dist/value-types.d.ts +7 -6
  162. package/dist/value-types.d.ts.map +1 -1
  163. package/package.json +2 -2
@@ -5,14 +5,15 @@
5
5
  * @internal
6
6
  */
7
7
  import { TOKEN_TYPES, ParseError, } from '../types.js';
8
- import { check, advance, expect, current } from './state.js';
8
+ import { check, advance, expect, current, peek, } from './state.js';
9
9
  import { VALID_TYPE_NAMES, parseTypeName } from './helpers.js';
10
10
  /**
11
11
  * Parse a type reference from the current position in the token stream.
12
12
  *
13
13
  * Grammar:
14
14
  * ```
15
- * type-ref = type-name [ "(" type-ref-arg-list ")" ] | "$" identifier
15
+ * type-ref = single-type { "|" single-type }
16
+ * single-type = "$" identifier | type-name [ "(" type-ref-arg-list ")" ]
16
17
  * type-ref-arg-list = type-ref-arg { "," type-ref-arg } [ "," ]
17
18
  * type-ref-arg = identifier ":" type-ref | type-ref
18
19
  * ```
@@ -20,15 +21,83 @@ import { VALID_TYPE_NAMES, parseTypeName } from './helpers.js';
20
21
  * - `$identifier` → `{ kind: 'dynamic', varName: identifier }`
21
22
  * - `type-name` → `{ kind: 'static', typeName }`
22
23
  * - `type-name(arg, ...)` → `{ kind: 'static', typeName, args: [...] }`
24
+ * - `A | B | ...` → `{ kind: 'union', members: [A, B, ...] }`
23
25
  *
24
26
  * Dynamic refs do not accept parameterization — `$T(...)` is not valid.
27
+ * Union members are flattened: nested unions are spread into the member list.
25
28
  *
26
29
  * Throws ParseError (EC-13) if neither a `$identifier` nor a valid type name
27
30
  * is found. Throws ParseError (EC-14) if the arg list is malformed.
31
+ * Throws ParseError (RILL-P011) if `|` is not followed by a valid type start.
28
32
  *
29
33
  * @internal
30
34
  */
31
- export function parseTypeRef(state) {
35
+ export function parseTypeRef(state, opts) {
36
+ const first = parseSingleType(state);
37
+ // Union accumulation: collect additional members after each "|"
38
+ if (!check(state, TOKEN_TYPES.PIPE_BAR)) {
39
+ return first;
40
+ }
41
+ const members = [];
42
+ // Flatten: if the first member is itself a union, spread its members
43
+ if (first.kind === 'union') {
44
+ members.push(...first.members);
45
+ }
46
+ else {
47
+ members.push(first);
48
+ }
49
+ while (check(state, TOKEN_TYPES.PIPE_BAR)) {
50
+ // Peek at what follows "|" without consuming it.
51
+ // Only treat "|" as a union separator when the next token is a valid type
52
+ // start ($identifier or a valid type name IDENTIFIER). If the next token is
53
+ // neither, the "|" belongs to the outer context (e.g. the closing delimiter
54
+ // of an anonymous typed closure param like |string|) and we stop without
55
+ // consuming it. RILL-P011 applies when the "|" is clearly a dangling union
56
+ // pipe: the next token is an IDENTIFIER but not a valid type name.
57
+ const afterPipe = peek(state, 1);
58
+ const afterPipeIsDollar = afterPipe.type === TOKEN_TYPES.DOLLAR;
59
+ const afterPipeIsTypeName = afterPipe.type === TOKEN_TYPES.IDENTIFIER &&
60
+ VALID_TYPE_NAMES.includes(afterPipe.value);
61
+ const afterPipeIsUnknownIdent = afterPipe.type === TOKEN_TYPES.IDENTIFIER && !afterPipeIsTypeName;
62
+ if (afterPipeIsUnknownIdent) {
63
+ // Dangling pipe followed by an unrecognized identifier: RILL-P011.
64
+ advance(state); // consume "|"
65
+ throw new ParseError('RILL-P011', "Expected type name after '|'", current(state).span.start);
66
+ }
67
+ if (!afterPipeIsDollar && !afterPipeIsTypeName) {
68
+ // "|" is followed by a non-identifier token (e.g. "{", EOF, newline).
69
+ if (opts?.allowTrailingPipe) {
70
+ // Closure contexts own the trailing "|" as a delimiter — leave it unconsumed.
71
+ break;
72
+ }
73
+ // In non-closure contexts, a dangling "|" with no following type is an error.
74
+ advance(state); // consume "|"
75
+ throw new ParseError('RILL-P011', "Expected type name after '|'", current(state).span.start);
76
+ }
77
+ advance(state); // consume "|"
78
+ const next = parseSingleType(state);
79
+ // Flatten nested unions
80
+ if (next.kind === 'union') {
81
+ members.push(...next.members);
82
+ }
83
+ else {
84
+ members.push(next);
85
+ }
86
+ }
87
+ // If only one member accumulated (e.g. a "|" was present but belonged to the
88
+ // outer context such as an anonymous typed closure closing delimiter), return
89
+ // the single member as-is rather than wrapping in a union.
90
+ if (members.length === 1) {
91
+ return members[0];
92
+ }
93
+ return { kind: 'union', members };
94
+ }
95
+ /**
96
+ * Parse a single type (one member of a union, or the sole type-ref).
97
+ * Grammar: `single-type = "$" identifier | type-name [ "(" type-ref-arg-list ")" ]`
98
+ * @internal
99
+ */
100
+ function parseSingleType(state) {
32
101
  if (check(state, TOKEN_TYPES.DOLLAR)) {
33
102
  advance(state); // consume $
34
103
  const nameToken = expect(state, TOKEN_TYPES.IDENTIFIER, 'Expected variable name after $');
@@ -1 +1 @@
1
- {"version":3,"file":"parser-types.js","sourceRoot":"","sources":["../../src/parser/parser-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-types.js","sourceRoot":"","sources":["../../src/parser/parser-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Parser Extension: Use Expression Parsing
3
+ * Parses use<> expressions for module/resource resolution.
4
+ */
5
+ import type { UseExprNode } from '../types.js';
6
+ declare module './parser.js' {
7
+ interface Parser {
8
+ parseUseExpr(): UseExprNode;
9
+ }
10
+ }
11
+ //# sourceMappingURL=parser-use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-use.d.ts","sourceRoot":"","sources":["../../src/parser/parser-use.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AAMvE,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,YAAY,IAAI,WAAW,CAAC;KAC7B;CACF"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Parser Extension: Use Expression Parsing
3
+ * Parses use<> expressions for module/resource resolution.
4
+ */
5
+ import { Parser } from './parser.js';
6
+ import { ParseError, TOKEN_TYPES } from '../types.js';
7
+ import { check, advance, expect, current, makeSpan, peek } from './state.js';
8
+ import { parseTypeRef } from './parser-types.js';
9
+ // ============================================================
10
+ // USE EXPRESSION
11
+ // ============================================================
12
+ /**
13
+ * Parse a use<> expression.
14
+ * Consumes USE_LANGLE, identifier form, >, optional :typeRef.
15
+ * Compound keyword: no whitespace between 'use' and '<'.
16
+ */
17
+ Parser.prototype.parseUseExpr = function () {
18
+ const start = current(this.state).span.start;
19
+ expect(this.state, TOKEN_TYPES.USE_LANGLE, 'Expected use<');
20
+ let identifier;
21
+ if (check(this.state, TOKEN_TYPES.DOLLAR)) {
22
+ // Variable form: $varName
23
+ advance(this.state); // consume $
24
+ const nameToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected variable name after $');
25
+ identifier = { kind: 'variable', name: nameToken.value };
26
+ }
27
+ else if (check(this.state, TOKEN_TYPES.LPAREN)) {
28
+ // Computed form: (expression)
29
+ advance(this.state); // consume (
30
+ const expression = this.parseExpression();
31
+ expect(this.state, TOKEN_TYPES.RPAREN, 'Expected ) to close computed use<>');
32
+ identifier = { kind: 'computed', expression };
33
+ }
34
+ else {
35
+ // Static form: scheme:seg1.seg2...
36
+ // Lexer emits IDENTIFIER(scheme) COLON IDENTIFIER(seg1) [DOT IDENTIFIER(seg2)]*
37
+ const schemeToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected identifier in use<>');
38
+ const scheme = schemeToken.value;
39
+ if (!check(this.state, TOKEN_TYPES.COLON)) {
40
+ throw new ParseError('RILL-P020', "Expected ':' after scheme in use<>", current(this.state).span.start);
41
+ }
42
+ advance(this.state); // consume COLON
43
+ if (!check(this.state, TOKEN_TYPES.IDENTIFIER)) {
44
+ throw new ParseError('RILL-P021', "Expected resource identifier after ':' in use<>", current(this.state).span.start);
45
+ }
46
+ const firstSegToken = advance(this.state);
47
+ const segments = [firstSegToken.value];
48
+ while (check(this.state, TOKEN_TYPES.DOT)) {
49
+ advance(this.state); // consume DOT
50
+ const segToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected identifier after . in use<>');
51
+ segments.push(segToken.value);
52
+ }
53
+ identifier = { kind: 'static', scheme, segments };
54
+ }
55
+ expect(this.state, TOKEN_TYPES.GT, "Expected '>' to close use<>", 'RILL-P022');
56
+ let typeRef = null;
57
+ let closureAnnotation = null;
58
+ if (check(this.state, TOKEN_TYPES.COLON)) {
59
+ if (peek(this.state, 1).type === TOKEN_TYPES.PIPE_BAR) {
60
+ // Closure annotation: :|param: type, ...|
61
+ advance(this.state); // consume :
62
+ advance(this.state); // consume opening |
63
+ closureAnnotation = [];
64
+ while (!check(this.state, TOKEN_TYPES.PIPE_BAR)) {
65
+ const nameToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected parameter name in closure annotation');
66
+ expect(this.state, TOKEN_TYPES.COLON, 'Expected : after parameter name in closure annotation');
67
+ const paramTypeRef = parseTypeRef(this.state, {
68
+ allowTrailingPipe: true,
69
+ });
70
+ closureAnnotation.push({
71
+ name: nameToken.value,
72
+ typeRef: paramTypeRef,
73
+ });
74
+ if (check(this.state, TOKEN_TYPES.COMMA)) {
75
+ advance(this.state); // consume ,
76
+ }
77
+ else if (!check(this.state, TOKEN_TYPES.PIPE_BAR)) {
78
+ throw new ParseError('RILL-P001', 'Expected , or | after parameter type in closure annotation', current(this.state).span.start);
79
+ }
80
+ }
81
+ advance(this.state); // consume closing |
82
+ }
83
+ else {
84
+ advance(this.state); // consume :
85
+ typeRef = parseTypeRef(this.state);
86
+ }
87
+ }
88
+ return {
89
+ type: 'UseExpr',
90
+ identifier,
91
+ typeRef,
92
+ closureAnnotation,
93
+ span: makeSpan(start, current(this.state).span.end),
94
+ };
95
+ };
96
+ //# sourceMappingURL=parser-use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-use.js","sourceRoot":"","sources":["../../src/parser/parser-use.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser-variables.d.ts","sourceRoot":"","sources":["../../src/parser/parser-variables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,EACd,YAAY,EACb,MAAM,aAAa,CAAC;AAiBrB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,aAAa,IAAI,YAAY,CAAC;QAC9B,sBAAsB,CACpB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,cAAc,GACpB,YAAY,CAAC;QAChB,gBAAgB,IAAI;YAClB,WAAW,EAAE,cAAc,EAAE,CAAC;YAC9B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;SACvC,CAAC;QACF,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;QACxE,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;QACrE,oBAAoB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;QACxC,iBAAiB,IAAI,QAAQ,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"parser-variables.d.ts","sourceRoot":"","sources":["../../src/parser/parser-variables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,EACd,YAAY,EACb,MAAM,aAAa,CAAC;AAcrB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,aAAa,IAAI,YAAY,CAAC;QAC9B,sBAAsB,CACpB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,cAAc,GACpB,YAAY,CAAC;QAChB,gBAAgB,IAAI;YAClB,WAAW,EAAE,cAAc,EAAE,CAAC;YAC9B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;SACvC,CAAC;QACF,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;QACxE,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;QACrE,oBAAoB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;QACxC,iBAAiB,IAAI,QAAQ,CAAC;KAC/B;CACF"}
@@ -5,7 +5,8 @@
5
5
  import { Parser } from './parser.js';
6
6
  import { TOKEN_TYPES, ParseError } from '../types.js';
7
7
  import { check, advance, expect, makeSpan, current, skipNewlinesIfFollowedBy, } from './state.js';
8
- import { isMethodCallWithArgs, VALID_TYPE_NAMES, parseTypeName, } from './helpers.js';
8
+ import { isMethodCallWithArgs } from './helpers.js';
9
+ import { parseTypeRef } from './parser-types.js';
9
10
  // ============================================================
10
11
  // VARIABLE PARSING
11
12
  // ============================================================
@@ -77,12 +78,12 @@ Parser.prototype.parseAccessChain = function () {
77
78
  if (!finalAccess) {
78
79
  break;
79
80
  }
80
- let typeName = null;
81
+ let typeRef = null;
81
82
  if (check(this.state, TOKEN_TYPES.AMPERSAND)) {
82
83
  advance(this.state);
83
- typeName = parseTypeName(this.state, VALID_TYPE_NAMES);
84
+ typeRef = parseTypeRef(this.state);
84
85
  }
85
- existenceCheck = { finalAccess, typeName };
86
+ existenceCheck = { finalAccess, typeRef };
86
87
  break;
87
88
  }
88
89
  advance(this.state);
@@ -1 +1 @@
1
- {"version":3,"file":"parser-variables.js","sourceRoot":"","sources":["../../src/parser/parser-variables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-variables.js","sourceRoot":"","sources":["../../src/parser/parser-variables.ts"],"names":[],"mappings":"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"}
@@ -17,16 +17,11 @@
17
17
  *
18
18
  * [ASSUMPTION] validateDefaultValueType _functionName Parameter
19
19
  * - Parameter accepted but unused (prefixed with _ to satisfy eslint)
20
- * - Kept for API consistency with validateHostFunctionArgs signature
21
- *
22
- * [ASSUMPTION] validateHostFunctionArgs Args Array Mutation
23
- * - args array mutated in-place when substituting default values
24
- * - Per spec algorithm: "Apply default values for missing arguments before validation"
25
- * - Mutation occurs before host function receives args, maintaining immutability contract
20
+ * - Kept for API consistency with validateCallableArgs signature
26
21
  */
27
- import type { BodyNode, RillFunctionReturnType, RillTypeName, SourceLocation } from '../../types.js';
28
- export type { RillFunctionReturnType } from '../../types.js';
29
- import type { RillStructuralType, RillTypeValue, RillValue } from './values.js';
22
+ import type { BodyNode, SourceLocation } from '../../types.js';
23
+ import type { RillMethod } from './types.js';
24
+ import type { RillType, RillTypeValue, RillValue } from './values.js';
30
25
  interface RuntimeContextLike {
31
26
  readonly parent?: RuntimeContextLike | undefined;
32
27
  readonly variables: Map<string, RillValue>;
@@ -39,52 +34,52 @@ interface RuntimeContextLike {
39
34
  */
40
35
  export type CallableFn = (args: RillValue[], ctx: RuntimeContextLike, location?: SourceLocation) => RillValue | Promise<RillValue>;
41
36
  /**
42
- * Parameter definition for script closures.
37
+ * Unified parameter definition for all callable types (script closures and host functions).
43
38
  *
44
- * Annotations are captured at closure creation time and stored as evaluated values.
45
- * Empty object ({}) when no annotations present.
39
+ * - type: undefined means the parameter accepts any type (any-typed).
40
+ * - defaultValue: undefined means the parameter is required.
41
+ * - annotations: evaluated key-value pairs; empty object ({}) when no annotations present.
42
+ * - Description lives at annotations.description — no separate description field.
46
43
  */
47
- export interface CallableParam {
44
+ export interface RillParam {
48
45
  readonly name: string;
49
- readonly typeName: RillTypeName | null;
50
- /** Full resolved structural type. Absent means bare type (uses typeName only). Present supersedes typeName for structural validation and reflection. */
51
- readonly typeStructure?: RillStructuralType;
52
- readonly defaultValue: RillValue | null;
53
- /** Evaluated parameter-level annotations (e.g., ^(cache: true)) */
46
+ readonly type: RillType | undefined;
47
+ readonly defaultValue: RillValue | undefined;
54
48
  readonly annotations: Record<string, RillValue>;
55
- /** Human-readable parameter description (optional, from host functions) */
56
- readonly description?: string;
57
49
  }
58
50
  /**
59
- * Parameter metadata for host-provided functions.
51
+ * Unified host function definition using RillParam for parameter declarations.
60
52
  *
61
- * Parameters without defaultValue are required.
62
- * Parameters with defaultValue are optional.
53
+ * Replaces HostFunctionDefinition. Runtime does NOT validate return values
54
+ * against returnType at call time.
63
55
  */
64
- export interface HostFunctionParam {
65
- /** Parameter name (for error messages and documentation) */
66
- readonly name: string;
67
- /** Expected type: 6 primitive types plus 'any' */
68
- readonly type: 'string' | 'number' | 'bool' | 'list' | 'dict' | 'vector' | 'any';
69
- /** Default value if argument omitted. Makes parameter optional. */
70
- readonly defaultValue?: RillValue;
71
- /** Human-readable parameter description (optional) */
56
+ export interface RillFunction {
57
+ readonly params: readonly RillParam[];
58
+ readonly fn: CallableFn;
72
59
  readonly description?: string;
60
+ readonly returnType?: RillType;
73
61
  }
74
62
  /**
75
- * Host function with required parameter type declarations.
76
- *
77
- * Runtime validates arguments before invocation.
63
+ * Base interface for all callable signatures.
64
+ * signature is an annotated rill closure type signature string.
78
65
  */
79
- export interface HostFunctionDefinition {
80
- /** Parameter declarations (required) */
81
- readonly params: readonly HostFunctionParam[];
82
- /** Function implementation (receives validated args) */
66
+ export interface RillCallableSignature {
67
+ readonly signature: string;
68
+ }
69
+ /**
70
+ * Signature for a host-provided function.
71
+ * Discriminated from RillFunction by presence of signature field.
72
+ */
73
+ export interface RillFunctionSignature extends RillCallableSignature {
83
74
  readonly fn: CallableFn;
84
- /** Human-readable function description (optional) */
85
- readonly description?: string;
86
- /** Declared return type (default: 'any') */
87
- readonly returnType?: RillFunctionReturnType;
75
+ }
76
+ /**
77
+ * Signature for a built-in method with receiver type constraints.
78
+ * receiverTypes contains valid RillTypeName strings (e.g., ["string", "list"]).
79
+ */
80
+ export interface RillMethodSignature extends RillCallableSignature {
81
+ readonly method: RillMethod;
82
+ readonly receiverTypes: readonly string[];
88
83
  }
89
84
  /** Common fields for all callable types */
90
85
  interface CallableBase {
@@ -106,7 +101,7 @@ interface CallableBase {
106
101
  */
107
102
  export interface ScriptCallable extends CallableBase {
108
103
  readonly kind: 'script';
109
- readonly params: CallableParam[];
104
+ readonly params: readonly RillParam[];
110
105
  readonly body: BodyNode;
111
106
  /** Reference to the scope where this closure was defined (late binding) */
112
107
  readonly definingScope: RuntimeContextLike;
@@ -115,7 +110,7 @@ export interface ScriptCallable extends CallableBase {
115
110
  /** Evaluated parameter annotations keyed by parameter name */
116
111
  readonly paramAnnotations: Record<string, Record<string, RillValue>>;
117
112
  /** Cached input structural type built from params at creation time — used by `$fn.^input` */
118
- readonly inputShape: RillStructuralType;
113
+ readonly inputShape: RillType;
119
114
  /** Return type target from `:type-target` syntax — set in Phase 2, undefined until then */
120
115
  readonly returnShape?: RillTypeValue | undefined;
121
116
  }
@@ -127,12 +122,14 @@ export interface RuntimeCallable extends CallableBase {
127
122
  /** Application callable - host application-provided functions */
128
123
  export interface ApplicationCallable extends CallableBase {
129
124
  readonly kind: 'application';
130
- readonly params: CallableParam[] | undefined;
125
+ readonly params: RillParam[] | undefined;
131
126
  readonly fn: CallableFn;
132
127
  /** Human-readable function description (optional, from host functions) */
133
128
  readonly description?: string;
134
129
  /** Return type declaration (optional, from host functions) */
135
- readonly returnType?: RillFunctionReturnType;
130
+ readonly returnType?: RillType | undefined;
131
+ /** Original signature string as provided by host (only set for RillFunctionSignature registrations) */
132
+ readonly originalSignature?: string | undefined;
136
133
  }
137
134
  /** Union of all callable types */
138
135
  export type RillCallable = ScriptCallable | RuntimeCallable | ApplicationCallable;
@@ -168,19 +165,19 @@ export declare function formatCallable(callable: RillCallable): string;
168
165
  */
169
166
  export declare function callableEquals(a: ScriptCallable, b: ScriptCallable, valueEquals?: (a: RillValue, b: RillValue) => boolean): boolean;
170
167
  /**
171
- * Build a RillStructuralType closure variant from a closure's parameter list.
168
+ * Build a RillType closure variant from a closure's parameter list.
172
169
  *
173
170
  * Called at closure creation time to build the structural type for `$fn.^input`.
174
- * - Typed params map to { type: typeName }
175
- * - Untyped params (typeName: null) map to { type: 'any' }
171
+ * - Typed params use param.type directly when present
172
+ * - Untyped params (type: undefined) map to { type: 'any' }
176
173
  * - Return type is always { type: 'any' }
177
174
  *
178
175
  * No validation: parser already validates type names.
179
176
  *
180
- * @param params - Closure parameter definitions
181
- * @returns Frozen RillStructuralType with closure variant
177
+ * @param params - Closure parameter definitions (RillParam[])
178
+ * @returns Frozen RillType with closure variant
182
179
  */
183
- export declare function paramsToStructuralType(params: CallableParam[]): RillStructuralType;
180
+ export declare function paramsToStructuralType(params: readonly RillParam[]): RillType;
184
181
  /**
185
182
  * Validate defaultValue type matches declared parameter type.
186
183
  *
@@ -191,25 +188,14 @@ export declare function paramsToStructuralType(params: CallableParam[]): RillStr
191
188
  * @param _functionName - Function name (unused, kept for API consistency)
192
189
  * @throws Error if defaultValue type doesn't match param.type
193
190
  */
194
- export declare function validateDefaultValueType(param: HostFunctionParam, _functionName: string): void;
195
- /**
196
- * Validate host function arguments against parameter declarations.
197
- *
198
- * Called before function invocation to enforce type contracts.
199
- * Throws RuntimeError on validation failure.
200
- *
201
- * @param args - Evaluated arguments from call site
202
- * @param params - Parameter declarations from function definition
203
- * @param functionName - Function name for error messages
204
- * @param location - Source location for error reporting
205
- * @throws RuntimeError with RILL-R001 on validation failure
206
- */
207
- export declare function validateHostFunctionArgs(args: RillValue[], params: readonly HostFunctionParam[], functionName: string, location?: SourceLocation): void;
191
+ export declare function validateDefaultValueType(param: RillParam, _functionName: string): void;
208
192
  /**
209
- * Validate arguments against CallableParam[] for ApplicationCallable.
193
+ * Validate arguments against RillParam[] using structural type matching.
210
194
  *
211
- * Similar to validateHostFunctionArgs but works with CallableParam[] (used in ApplicationCallable).
212
- * Validates argument count, applies defaults, and checks types for primitive parameters.
195
+ * Single validation path for all callable kinds (host, built-in, script).
196
+ * Uses structuralTypeMatches for type checking when param.type is defined.
197
+ * Skips type check when param.type is undefined (any-typed).
198
+ * Applies defaultValue in-place on the args array before validation.
213
199
  *
214
200
  * @param args - Arguments array (mutated in-place when defaults applied)
215
201
  * @param params - Parameter definitions
@@ -217,5 +203,6 @@ export declare function validateHostFunctionArgs(args: RillValue[], params: read
217
203
  * @param location - Source location for error reporting
218
204
  * @throws RuntimeError with RILL-R001 on validation failure
219
205
  */
220
- export declare function validateCallableArgs(args: RillValue[], params: readonly CallableParam[], functionName: string, location?: SourceLocation): void;
206
+ export declare function validateCallableArgs(args: RillValue[], params: readonly RillParam[], functionName: string, location?: SourceLocation): void;
207
+ export {};
221
208
  //# sourceMappingURL=callable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYtE,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,SAAS,EAAE,EACjB,GAAG,EAAE,kBAAkB,EACvB,QAAQ,CAAC,EAAE,cAAc,KACtB,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,2CAA2C;AAC3C,UAAU,YAAY;IACpB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,6FAA6F;IAC7F,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAClD;AAED,+EAA+E;AAC/E,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3C,uGAAuG;IACvG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjD;AAED,kCAAkC;AAClC,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,eAAe,GACf,mBAAmB,CAAC;AAExB,kCAAkC;AAClC,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,YAAY,CAOlE;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,cAAc,CAE1E;AAED,sCAAsC;AACtC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,eAAe,CAE5E;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,mBAAmB,CAE9B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,UAAU,EACd,UAAU,UAAQ,GACjB,mBAAmB,CAQrB;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAQ3E;AAED,oCAAoC;AACpC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAM7D;AAwBD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,CAAC,EAAE,cAAc,EACjB,CAAC,EAAE,cAAc,EACjB,WAAW,GAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,KAAK,OACV,GAClC,OAAO,CAsDT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,QAAQ,CAW7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,MAAM,GACpB,IAAI,CAaN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,EAAE,EACjB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,cAAc,GACxB,IAAI,CA4DN"}