@almadar/std 13.6.0 → 13.8.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 (174) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +69 -69
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +120 -120
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +114 -114
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +124 -114
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +410 -395
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +93 -93
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +67 -117
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +149 -134
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +64 -64
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +106 -106
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +194 -189
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +360 -355
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +69 -69
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -199
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +174 -174
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +125 -125
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +127 -109
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +190 -185
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1209 -1155
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3021 -3001
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2184 -2249
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1029 -1050
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +842 -804
  24. package/behaviors/registry/app/organisms/std-cms.orb +547 -547
  25. package/behaviors/registry/core/atoms/std-browse.orb +36 -36
  26. package/behaviors/registry/core/atoms/std-cache-aside.orb +111 -111
  27. package/behaviors/registry/core/atoms/std-calendar.orb +56 -51
  28. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +202 -187
  29. package/behaviors/registry/core/atoms/std-confirmation.orb +24 -27
  30. package/behaviors/registry/core/atoms/std-display.orb +2 -2
  31. package/behaviors/registry/core/atoms/std-drawer.orb +58 -58
  32. package/behaviors/registry/core/atoms/std-filter.orb +6 -9
  33. package/behaviors/registry/core/atoms/std-gallery.orb +46 -46
  34. package/behaviors/registry/core/atoms/std-graphs.orb +24 -24
  35. package/behaviors/registry/core/atoms/std-modal.orb +19 -19
  36. package/behaviors/registry/core/atoms/std-pagination.orb +14 -14
  37. package/behaviors/registry/core/atoms/std-push.orb +48 -90
  38. package/behaviors/registry/core/atoms/std-rate-limiter.orb +205 -190
  39. package/behaviors/registry/core/atoms/std-related.orb +31 -31
  40. package/behaviors/registry/core/atoms/std-search.orb +3 -3
  41. package/behaviors/registry/core/atoms/std-selection.orb +102 -102
  42. package/behaviors/registry/core/atoms/std-stats.orb +64 -64
  43. package/behaviors/registry/core/atoms/std-tabs.orb +18 -18
  44. package/behaviors/registry/core/molecules/std-cart.orb +64 -64
  45. package/behaviors/registry/core/molecules/std-dashboard.orb +46 -46
  46. package/behaviors/registry/core/molecules/std-filtered-list.orb +21 -21
  47. package/behaviors/registry/core/molecules/std-form-advanced.orb +172 -127
  48. package/behaviors/registry/core/molecules/std-list.orb +63 -63
  49. package/behaviors/registry/core/molecules/std-wizard-form.orb +145 -130
  50. package/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  51. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +42 -42
  52. package/behaviors/registry/game/atoms/std-overworld.orb +57 -57
  53. package/behaviors/registry/game/atoms/std-physics2d.orb +74 -74
  54. package/behaviors/registry/game/atoms/std-quest.orb +137 -137
  55. package/behaviors/registry/game/atoms/std-timer.orb +291 -291
  56. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +31 -31
  57. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -78
  58. package/behaviors/registry/service/atoms/std-service-email.orb +91 -76
  59. package/behaviors/registry/service/atoms/std-service-github.orb +103 -83
  60. package/behaviors/registry/service/atoms/std-service-llm.orb +117 -112
  61. package/behaviors/registry/service/atoms/std-service-oauth.orb +131 -126
  62. package/behaviors/registry/service/atoms/std-service-redis.orb +123 -108
  63. package/behaviors/registry/service/atoms/std-service-storage.orb +125 -105
  64. package/behaviors/registry/service/atoms/std-service-stripe.orb +113 -103
  65. package/behaviors/registry/service/atoms/std-service-twilio.orb +102 -92
  66. package/behaviors/registry/service/atoms/std-service-youtube.orb +119 -114
  67. package/behaviors/registry/service/organisms/std-service-marketplace.orb +985 -873
  68. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +1027 -972
  69. package/dist/behaviors/behaviors-registry.json +2913 -322
  70. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +69 -69
  71. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +120 -120
  72. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +114 -114
  73. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +124 -114
  74. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +410 -395
  75. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +93 -93
  76. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +67 -117
  77. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +149 -134
  78. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +64 -64
  79. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +106 -106
  80. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +194 -189
  81. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +360 -355
  82. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +69 -69
  83. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -199
  84. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +174 -174
  85. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +125 -125
  86. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +127 -109
  87. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +190 -185
  88. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1209 -1155
  89. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3021 -3001
  90. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2184 -2249
  91. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1029 -1050
  92. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +842 -804
  93. package/dist/behaviors/registry/app/organisms/std-cms.orb +547 -547
  94. package/dist/behaviors/registry/core/atoms/std-browse.orb +36 -36
  95. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +111 -111
  96. package/dist/behaviors/registry/core/atoms/std-calendar.orb +56 -51
  97. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +202 -187
  98. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +24 -27
  99. package/dist/behaviors/registry/core/atoms/std-display.orb +2 -2
  100. package/dist/behaviors/registry/core/atoms/std-drawer.orb +58 -58
  101. package/dist/behaviors/registry/core/atoms/std-filter.orb +6 -9
  102. package/dist/behaviors/registry/core/atoms/std-gallery.orb +46 -46
  103. package/dist/behaviors/registry/core/atoms/std-graphs.orb +24 -24
  104. package/dist/behaviors/registry/core/atoms/std-modal.orb +19 -19
  105. package/dist/behaviors/registry/core/atoms/std-pagination.orb +14 -14
  106. package/dist/behaviors/registry/core/atoms/std-push.orb +48 -90
  107. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +205 -190
  108. package/dist/behaviors/registry/core/atoms/std-related.orb +31 -31
  109. package/dist/behaviors/registry/core/atoms/std-search.orb +3 -3
  110. package/dist/behaviors/registry/core/atoms/std-selection.orb +102 -102
  111. package/dist/behaviors/registry/core/atoms/std-stats.orb +64 -64
  112. package/dist/behaviors/registry/core/atoms/std-tabs.orb +18 -18
  113. package/dist/behaviors/registry/core/molecules/std-cart.orb +64 -64
  114. package/dist/behaviors/registry/core/molecules/std-dashboard.orb +46 -46
  115. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +21 -21
  116. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +172 -127
  117. package/dist/behaviors/registry/core/molecules/std-list.orb +63 -63
  118. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +145 -130
  119. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  120. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +42 -42
  121. package/dist/behaviors/registry/game/atoms/std-overworld.orb +57 -57
  122. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +74 -74
  123. package/dist/behaviors/registry/game/atoms/std-quest.orb +137 -137
  124. package/dist/behaviors/registry/game/atoms/std-timer.orb +291 -291
  125. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +31 -31
  126. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -78
  127. package/dist/behaviors/registry/service/atoms/std-service-email.orb +91 -76
  128. package/dist/behaviors/registry/service/atoms/std-service-github.orb +103 -83
  129. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +117 -112
  130. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +131 -126
  131. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +123 -108
  132. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +125 -105
  133. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +113 -103
  134. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +102 -92
  135. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +119 -114
  136. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +985 -873
  137. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +1027 -972
  138. package/dist/behaviors-registry.json +2913 -322
  139. package/dist/index.d.ts +2 -2
  140. package/dist/index.js +26 -13
  141. package/dist/index.js.map +1 -1
  142. package/dist/modules/agent.d.ts +1 -1
  143. package/dist/modules/array.d.ts +1 -1
  144. package/dist/modules/array.js +16 -8
  145. package/dist/modules/array.js.map +1 -1
  146. package/dist/modules/async.d.ts +1 -1
  147. package/dist/modules/composition.d.ts +1 -1
  148. package/dist/modules/contract.d.ts +1 -1
  149. package/dist/modules/core.d.ts +1 -1
  150. package/dist/modules/core.js +6 -3
  151. package/dist/modules/core.js.map +1 -1
  152. package/dist/modules/data.d.ts +1 -1
  153. package/dist/modules/format.d.ts +1 -1
  154. package/dist/modules/graph.d.ts +1 -1
  155. package/dist/modules/index.d.ts +1 -1
  156. package/dist/modules/index.js +26 -13
  157. package/dist/modules/index.js.map +1 -1
  158. package/dist/modules/math.d.ts +1 -1
  159. package/dist/modules/nn.d.ts +1 -1
  160. package/dist/modules/object.d.ts +1 -1
  161. package/dist/modules/object.js +4 -2
  162. package/dist/modules/object.js.map +1 -1
  163. package/dist/modules/os.d.ts +1 -1
  164. package/dist/modules/prob.d.ts +1 -1
  165. package/dist/modules/str.d.ts +1 -1
  166. package/dist/modules/tensor.d.ts +1 -1
  167. package/dist/modules/time.d.ts +1 -1
  168. package/dist/modules/train.d.ts +1 -1
  169. package/dist/modules/validate.d.ts +1 -1
  170. package/dist/registry.d.ts +1 -1
  171. package/dist/registry.js +26 -13
  172. package/dist/registry.js.map +1 -1
  173. package/dist/{types-D7dG8fBF.d.ts → types-CdSN5hnD.d.ts} +43 -0
  174. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Agent Module - AI Agent Intelligence Operations
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Array Module - Collection Operations
@@ -27,9 +27,10 @@ var ARRAY_OPERATORS = {
27
27
  category: "std-array",
28
28
  minArity: 1,
29
29
  maxArity: 1,
30
- description: "Get first element",
30
+ description: "Get first element (element type of input array, may be undefined when empty)",
31
31
  hasSideEffects: false,
32
32
  returnType: "any",
33
+ returnSemantics: "element-of-arg<0>?",
33
34
  params: [{ name: "arr", type: "array", description: "The array" }],
34
35
  example: '["array/first", [1, 2, 3]] // => 1'
35
36
  },
@@ -38,9 +39,10 @@ var ARRAY_OPERATORS = {
38
39
  category: "std-array",
39
40
  minArity: 1,
40
41
  maxArity: 1,
41
- description: "Get last element",
42
+ description: "Get last element (element type of input array, may be undefined when empty)",
42
43
  hasSideEffects: false,
43
44
  returnType: "any",
45
+ returnSemantics: "element-of-arg<0>?",
44
46
  params: [{ name: "arr", type: "array", description: "The array" }],
45
47
  example: '["array/last", [1, 2, 3]] // => 3'
46
48
  },
@@ -49,9 +51,10 @@ var ARRAY_OPERATORS = {
49
51
  category: "std-array",
50
52
  minArity: 2,
51
53
  maxArity: 2,
52
- description: "Get element at index",
54
+ description: "Get element at index (element type of input array, may be undefined out-of-bounds)",
53
55
  hasSideEffects: false,
54
56
  returnType: "any",
57
+ returnSemantics: "element-of-arg<0>?",
55
58
  params: [
56
59
  { name: "arr", type: "array", description: "The array" },
57
60
  { name: "index", type: "number", description: "Index (0-based)" }
@@ -261,9 +264,10 @@ var ARRAY_OPERATORS = {
261
264
  category: "std-array",
262
265
  minArity: 2,
263
266
  maxArity: 2,
264
- description: "Find first element matching predicate",
267
+ description: "Find first element matching predicate (element type of input array, undefined when no match)",
265
268
  hasSideEffects: false,
266
269
  returnType: "any",
270
+ returnSemantics: "element-of-arg<0>?",
267
271
  acceptsLambda: true,
268
272
  lambdaArgPosition: 1,
269
273
  params: [
@@ -293,9 +297,10 @@ var ARRAY_OPERATORS = {
293
297
  category: "std-array",
294
298
  minArity: 2,
295
299
  maxArity: 2,
296
- description: "Keep elements matching predicate",
300
+ description: "Keep elements matching predicate (returns same array element type as input)",
297
301
  hasSideEffects: false,
298
302
  returnType: "array",
303
+ returnSemantics: "identity-of-arg<0>",
299
304
  acceptsLambda: true,
300
305
  lambdaArgPosition: 1,
301
306
  params: [
@@ -309,9 +314,10 @@ var ARRAY_OPERATORS = {
309
314
  category: "std-array",
310
315
  minArity: 2,
311
316
  maxArity: 2,
312
- description: "Remove elements matching predicate",
317
+ description: "Remove elements matching predicate (returns same array element type as input)",
313
318
  hasSideEffects: false,
314
319
  returnType: "array",
320
+ returnSemantics: "identity-of-arg<0>",
315
321
  acceptsLambda: true,
316
322
  lambdaArgPosition: 1,
317
323
  params: [
@@ -325,9 +331,10 @@ var ARRAY_OPERATORS = {
325
331
  category: "std-array",
326
332
  minArity: 2,
327
333
  maxArity: 2,
328
- description: "Transform each element",
334
+ description: "Transform each element (return type wraps the lambda result in an array)",
329
335
  hasSideEffects: false,
330
336
  returnType: "array",
337
+ returnSemantics: "lambda-result",
331
338
  acceptsLambda: true,
332
339
  lambdaArgPosition: 1,
333
340
  params: [
@@ -341,9 +348,10 @@ var ARRAY_OPERATORS = {
341
348
  category: "std-array",
342
349
  minArity: 3,
343
350
  maxArity: 3,
344
- description: "Reduce array to single value",
351
+ description: "Reduce array to single value (return type matches the lambda result / init type)",
345
352
  hasSideEffects: false,
346
353
  returnType: "any",
354
+ returnSemantics: "lambda-result",
347
355
  acceptsLambda: true,
348
356
  lambdaArgPosition: 1,
349
357
  params: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../modules/array.ts"],"names":[],"mappings":"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","file":"array.js","sourcesContent":["/**\n * Array Module - Collection Operations\n *\n * Provides array manipulation and transformation functions.\n * Many functions accept lambda expressions for predicates and transformations.\n *\n * Lambda syntax: [\"fn\", \"varName\", expression] or [\"fn\", [\"a\", \"b\"], expression]\n *\n * @packageDocumentation\n */\n\nimport type { StdOperatorMeta } from '../types.js';\n\n/**\n * Array module operators.\n * All operators return arrays (or other values) and have no side effects.\n */\nexport const ARRAY_OPERATORS: Record<string, StdOperatorMeta> = {\n 'array/len': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Array length',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/len\", [1, 2, 3]] // => 3',\n },\n 'array/empty?': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Check if array is empty',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/empty?\", []] // => true',\n },\n 'array/first': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Get first element',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/first\", [1, 2, 3]] // => 1',\n },\n 'array/last': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Get last element',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/last\", [1, 2, 3]] // => 3',\n },\n 'array/nth': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Get element at index',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'index', type: 'number', description: 'Index (0-based)' },\n ],\n example: '[\"array/nth\", [1, 2, 3], 1] // => 2',\n },\n 'array/slice': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 3,\n description: 'Extract subarray',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'start', type: 'number', description: 'Start index' },\n { name: 'end', type: 'number', description: 'End index (exclusive)', optional: true },\n ],\n example: '[\"array/slice\", [1, 2, 3, 4], 1, 3] // => [2, 3]',\n },\n 'array/concat': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: null,\n description: 'Concatenate arrays',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: '...arrs', type: 'array[]', description: 'Arrays to concatenate' }],\n example: '[\"array/concat\", [1, 2], [3, 4]] // => [1, 2, 3, 4]',\n },\n 'array/append': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Add item to end (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to add' },\n ],\n example: '[\"array/append\", [1, 2], 3] // => [1, 2, 3]',\n },\n 'array/prepend': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Add item to start (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to add' },\n ],\n example: '[\"array/prepend\", [2, 3], 1] // => [1, 2, 3]',\n },\n 'array/insert': {\n module: 'array',\n category: 'std-array',\n minArity: 3,\n maxArity: 3,\n description: 'Insert item at index (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'index', type: 'number', description: 'Index to insert at' },\n { name: 'item', type: 'any', description: 'Item to insert' },\n ],\n example: '[\"array/insert\", [1, 3], 1, 2] // => [1, 2, 3]',\n },\n 'array/remove': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Remove item at index (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'index', type: 'number', description: 'Index to remove' },\n ],\n example: '[\"array/remove\", [1, 2, 3], 1] // => [1, 3]',\n },\n 'array/removeItem': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Remove first matching item (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to remove' },\n ],\n example: '[\"array/removeItem\", [1, 2, 3, 2], 2] // => [1, 3, 2]',\n },\n 'array/reverse': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Reverse array order (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/reverse\", [1, 2, 3]] // => [3, 2, 1]',\n },\n 'array/sort': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 3,\n description: 'Sort array (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to sort by (for objects)', optional: true },\n { name: 'dir', type: 'string', description: '\"asc\" or \"desc\"', optional: true, defaultValue: 'asc' },\n ],\n example: '[\"array/sort\", \"@items\", \"price\", \"desc\"]',\n },\n 'array/shuffle': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Randomly shuffle array (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/shuffle\", [1, 2, 3, 4, 5]]',\n },\n 'array/unique': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Remove duplicates (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/unique\", [1, 2, 2, 3, 1]] // => [1, 2, 3]',\n },\n 'array/flatten': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Flatten nested arrays one level',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/flatten\", [[1, 2], [3, 4]]] // => [1, 2, 3, 4]',\n },\n 'array/zip': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Pair elements from two arrays',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr1', type: 'array', description: 'First array' },\n { name: 'arr2', type: 'array', description: 'Second array' },\n ],\n example: '[\"array/zip\", [1, 2], [\"a\", \"b\"]] // => [[1, \"a\"], [2, \"b\"]]',\n },\n 'array/includes': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Check if array contains item',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to find' },\n ],\n example: '[\"array/includes\", [1, 2, 3], 2] // => true',\n },\n 'array/indexOf': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Find index of item (-1 if not found)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to find' },\n ],\n example: '[\"array/indexOf\", [1, 2, 3], 2] // => 1',\n },\n 'array/find': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Find first element matching predicate',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/find\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"active\"]]]',\n },\n 'array/findIndex': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Find index of first element matching predicate (-1 if none)',\n hasSideEffects: false,\n returnType: 'number',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/findIndex\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"active\"]]]',\n },\n 'array/filter': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Keep elements matching predicate',\n hasSideEffects: false,\n returnType: 'array',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/filter\", \"@items\", [\"fn\", \"x\", [\">\", \"@x.price\", 100]]]',\n },\n 'array/reject': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Remove elements matching predicate',\n hasSideEffects: false,\n returnType: 'array',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/reject\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"deleted\"]]]',\n },\n 'array/map': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Transform each element',\n hasSideEffects: false,\n returnType: 'array',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'fn', type: 'lambda', description: 'Transform function' },\n ],\n example: '[\"array/map\", \"@items\", [\"fn\", \"x\", [\"*\", \"@x.price\", 1.1]]]',\n },\n 'array/reduce': {\n module: 'array',\n category: 'std-array',\n minArity: 3,\n maxArity: 3,\n description: 'Reduce array to single value',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'fn', type: 'lambda', description: 'Reducer function (acc, item) => newAcc' },\n { name: 'init', type: 'any', description: 'Initial accumulator value' },\n ],\n example: '[\"array/reduce\", \"@items\", [\"fn\", [\"acc\", \"x\"], [\"+\", \"@acc\", \"@x.price\"]], 0]',\n },\n 'array/every': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Check if all elements match predicate',\n hasSideEffects: false,\n returnType: 'boolean',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/every\", \"@items\", [\"fn\", \"x\", [\">\", \"@x.price\", 0]]]',\n },\n 'array/some': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Check if any element matches predicate',\n hasSideEffects: false,\n returnType: 'boolean',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/some\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"active\"]]]',\n },\n 'array/count': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Count elements (optionally matching predicate)',\n hasSideEffects: false,\n returnType: 'number',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function', optional: true },\n ],\n example: '[\"array/count\", \"@tasks\", [\"fn\", \"t\", [\"=\", \"@t.status\", \"done\"]]]',\n },\n 'array/sum': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Sum values (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to sum', optional: true },\n ],\n example: '[\"array/sum\", \"@cart.items\", \"price\"]',\n },\n 'array/avg': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Average of values (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to average', optional: true },\n ],\n example: '[\"array/avg\", \"@ratings\", \"score\"]',\n },\n 'array/min': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Minimum value (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to compare', optional: true },\n ],\n example: '[\"array/min\", \"@products\", \"price\"]',\n },\n 'array/max': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Maximum value (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to compare', optional: true },\n ],\n example: '[\"array/max\", \"@products\", \"price\"]',\n },\n 'array/groupBy': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Group elements by field value',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to group by' },\n ],\n example: '[\"array/groupBy\", \"@orders\", \"status\"]',\n },\n 'array/partition': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Split array by predicate into [matches, nonMatches]',\n hasSideEffects: false,\n returnType: 'array',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/partition\", \"@items\", [\"fn\", \"x\", [\">\", \"@x.price\", 50]]]',\n },\n 'array/take': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Take first n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements' },\n ],\n example: '[\"array/take\", \"@items\", 5]',\n },\n 'array/drop': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Skip first n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements to skip' },\n ],\n example: '[\"array/drop\", \"@items\", 5]',\n },\n 'array/takeLast': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Take last n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements' },\n ],\n example: '[\"array/takeLast\", \"@items\", 3]',\n },\n 'array/dropLast': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Skip last n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements to skip' },\n ],\n example: '[\"array/dropLast\", \"@items\", 2]',\n },\n};\n\n/**\n * Get all array operator names.\n */\nexport function getArrayOperators(): string[] {\n return Object.keys(ARRAY_OPERATORS);\n}\n\n/**\n * Get all array operators that accept lambda expressions.\n */\nexport function getLambdaArrayOperators(): string[] {\n return Object.entries(ARRAY_OPERATORS)\n .filter(([, meta]) => meta.acceptsLambda)\n .map(([name]) => name);\n}\n"]}
1
+ {"version":3,"sources":["../../modules/array.ts"],"names":[],"mappings":"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","file":"array.js","sourcesContent":["/**\n * Array Module - Collection Operations\n *\n * Provides array manipulation and transformation functions.\n * Many functions accept lambda expressions for predicates and transformations.\n *\n * Lambda syntax: [\"fn\", \"varName\", expression] or [\"fn\", [\"a\", \"b\"], expression]\n *\n * @packageDocumentation\n */\n\nimport type { StdOperatorMeta } from '../types.js';\n\n/**\n * Array module operators.\n * All operators return arrays (or other values) and have no side effects.\n */\nexport const ARRAY_OPERATORS: Record<string, StdOperatorMeta> = {\n 'array/len': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Array length',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/len\", [1, 2, 3]] // => 3',\n },\n 'array/empty?': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Check if array is empty',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/empty?\", []] // => true',\n },\n 'array/first': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Get first element (element type of input array, may be undefined when empty)',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'element-of-arg<0>?',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/first\", [1, 2, 3]] // => 1',\n },\n 'array/last': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Get last element (element type of input array, may be undefined when empty)',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'element-of-arg<0>?',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/last\", [1, 2, 3]] // => 3',\n },\n 'array/nth': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Get element at index (element type of input array, may be undefined out-of-bounds)',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'element-of-arg<0>?',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'index', type: 'number', description: 'Index (0-based)' },\n ],\n example: '[\"array/nth\", [1, 2, 3], 1] // => 2',\n },\n 'array/slice': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 3,\n description: 'Extract subarray',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'start', type: 'number', description: 'Start index' },\n { name: 'end', type: 'number', description: 'End index (exclusive)', optional: true },\n ],\n example: '[\"array/slice\", [1, 2, 3, 4], 1, 3] // => [2, 3]',\n },\n 'array/concat': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: null,\n description: 'Concatenate arrays',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: '...arrs', type: 'array[]', description: 'Arrays to concatenate' }],\n example: '[\"array/concat\", [1, 2], [3, 4]] // => [1, 2, 3, 4]',\n },\n 'array/append': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Add item to end (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to add' },\n ],\n example: '[\"array/append\", [1, 2], 3] // => [1, 2, 3]',\n },\n 'array/prepend': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Add item to start (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to add' },\n ],\n example: '[\"array/prepend\", [2, 3], 1] // => [1, 2, 3]',\n },\n 'array/insert': {\n module: 'array',\n category: 'std-array',\n minArity: 3,\n maxArity: 3,\n description: 'Insert item at index (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'index', type: 'number', description: 'Index to insert at' },\n { name: 'item', type: 'any', description: 'Item to insert' },\n ],\n example: '[\"array/insert\", [1, 3], 1, 2] // => [1, 2, 3]',\n },\n 'array/remove': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Remove item at index (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'index', type: 'number', description: 'Index to remove' },\n ],\n example: '[\"array/remove\", [1, 2, 3], 1] // => [1, 3]',\n },\n 'array/removeItem': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Remove first matching item (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to remove' },\n ],\n example: '[\"array/removeItem\", [1, 2, 3, 2], 2] // => [1, 3, 2]',\n },\n 'array/reverse': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Reverse array order (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/reverse\", [1, 2, 3]] // => [3, 2, 1]',\n },\n 'array/sort': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 3,\n description: 'Sort array (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to sort by (for objects)', optional: true },\n { name: 'dir', type: 'string', description: '\"asc\" or \"desc\"', optional: true, defaultValue: 'asc' },\n ],\n example: '[\"array/sort\", \"@items\", \"price\", \"desc\"]',\n },\n 'array/shuffle': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Randomly shuffle array (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/shuffle\", [1, 2, 3, 4, 5]]',\n },\n 'array/unique': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Remove duplicates (returns new array)',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/unique\", [1, 2, 2, 3, 1]] // => [1, 2, 3]',\n },\n 'array/flatten': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 1,\n description: 'Flatten nested arrays one level',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'arr', type: 'array', description: 'The array' }],\n example: '[\"array/flatten\", [[1, 2], [3, 4]]] // => [1, 2, 3, 4]',\n },\n 'array/zip': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Pair elements from two arrays',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr1', type: 'array', description: 'First array' },\n { name: 'arr2', type: 'array', description: 'Second array' },\n ],\n example: '[\"array/zip\", [1, 2], [\"a\", \"b\"]] // => [[1, \"a\"], [2, \"b\"]]',\n },\n 'array/includes': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Check if array contains item',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to find' },\n ],\n example: '[\"array/includes\", [1, 2, 3], 2] // => true',\n },\n 'array/indexOf': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Find index of item (-1 if not found)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'item', type: 'any', description: 'Item to find' },\n ],\n example: '[\"array/indexOf\", [1, 2, 3], 2] // => 1',\n },\n 'array/find': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Find first element matching predicate (element type of input array, undefined when no match)',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'element-of-arg<0>?',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/find\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"active\"]]]',\n },\n 'array/findIndex': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Find index of first element matching predicate (-1 if none)',\n hasSideEffects: false,\n returnType: 'number',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/findIndex\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"active\"]]]',\n },\n 'array/filter': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Keep elements matching predicate (returns same array element type as input)',\n hasSideEffects: false,\n returnType: 'array',\n returnSemantics: 'identity-of-arg<0>',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/filter\", \"@items\", [\"fn\", \"x\", [\">\", \"@x.price\", 100]]]',\n },\n 'array/reject': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Remove elements matching predicate (returns same array element type as input)',\n hasSideEffects: false,\n returnType: 'array',\n returnSemantics: 'identity-of-arg<0>',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/reject\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"deleted\"]]]',\n },\n 'array/map': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Transform each element (return type wraps the lambda result in an array)',\n hasSideEffects: false,\n returnType: 'array',\n returnSemantics: 'lambda-result',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'fn', type: 'lambda', description: 'Transform function' },\n ],\n example: '[\"array/map\", \"@items\", [\"fn\", \"x\", [\"*\", \"@x.price\", 1.1]]]',\n },\n 'array/reduce': {\n module: 'array',\n category: 'std-array',\n minArity: 3,\n maxArity: 3,\n description: 'Reduce array to single value (return type matches the lambda result / init type)',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'lambda-result',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'fn', type: 'lambda', description: 'Reducer function (acc, item) => newAcc' },\n { name: 'init', type: 'any', description: 'Initial accumulator value' },\n ],\n example: '[\"array/reduce\", \"@items\", [\"fn\", [\"acc\", \"x\"], [\"+\", \"@acc\", \"@x.price\"]], 0]',\n },\n 'array/every': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Check if all elements match predicate',\n hasSideEffects: false,\n returnType: 'boolean',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/every\", \"@items\", [\"fn\", \"x\", [\">\", \"@x.price\", 0]]]',\n },\n 'array/some': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Check if any element matches predicate',\n hasSideEffects: false,\n returnType: 'boolean',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/some\", \"@items\", [\"fn\", \"x\", [\"=\", \"@x.status\", \"active\"]]]',\n },\n 'array/count': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Count elements (optionally matching predicate)',\n hasSideEffects: false,\n returnType: 'number',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function', optional: true },\n ],\n example: '[\"array/count\", \"@tasks\", [\"fn\", \"t\", [\"=\", \"@t.status\", \"done\"]]]',\n },\n 'array/sum': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Sum values (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to sum', optional: true },\n ],\n example: '[\"array/sum\", \"@cart.items\", \"price\"]',\n },\n 'array/avg': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Average of values (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to average', optional: true },\n ],\n example: '[\"array/avg\", \"@ratings\", \"score\"]',\n },\n 'array/min': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Minimum value (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to compare', optional: true },\n ],\n example: '[\"array/min\", \"@products\", \"price\"]',\n },\n 'array/max': {\n module: 'array',\n category: 'std-array',\n minArity: 1,\n maxArity: 2,\n description: 'Maximum value (optionally by field)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to compare', optional: true },\n ],\n example: '[\"array/max\", \"@products\", \"price\"]',\n },\n 'array/groupBy': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Group elements by field value',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'key', type: 'string', description: 'Field to group by' },\n ],\n example: '[\"array/groupBy\", \"@orders\", \"status\"]',\n },\n 'array/partition': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Split array by predicate into [matches, nonMatches]',\n hasSideEffects: false,\n returnType: 'array',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'pred', type: 'lambda', description: 'Predicate function' },\n ],\n example: '[\"array/partition\", \"@items\", [\"fn\", \"x\", [\">\", \"@x.price\", 50]]]',\n },\n 'array/take': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Take first n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements' },\n ],\n example: '[\"array/take\", \"@items\", 5]',\n },\n 'array/drop': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Skip first n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements to skip' },\n ],\n example: '[\"array/drop\", \"@items\", 5]',\n },\n 'array/takeLast': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Take last n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements' },\n ],\n example: '[\"array/takeLast\", \"@items\", 3]',\n },\n 'array/dropLast': {\n module: 'array',\n category: 'std-array',\n minArity: 2,\n maxArity: 2,\n description: 'Skip last n elements',\n hasSideEffects: false,\n returnType: 'array',\n params: [\n { name: 'arr', type: 'array', description: 'The array' },\n { name: 'n', type: 'number', description: 'Number of elements to skip' },\n ],\n example: '[\"array/dropLast\", \"@items\", 2]',\n },\n};\n\n/**\n * Get all array operator names.\n */\nexport function getArrayOperators(): string[] {\n return Object.keys(ARRAY_OPERATORS);\n}\n\n/**\n * Get all array operators that accept lambda expressions.\n */\nexport function getLambdaArrayOperators(): string[] {\n return Object.entries(ARRAY_OPERATORS)\n .filter(([, meta]) => meta.acceptsLambda)\n .map(([name]) => name);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Async Module - Asynchronous Operations
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Composition Module - Behavior Composition Operators
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Contract Module - ML Contract Validation Operations
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Core Module - Language Primitives
@@ -195,9 +195,10 @@ var CORE_OPERATORS = {
195
195
  category: "logic",
196
196
  minArity: 2,
197
197
  maxArity: null,
198
- description: "Logical AND",
198
+ description: "Logical AND (returns the last truthy value, NOT a boolean \u2014 short-circuit)",
199
199
  hasSideEffects: false,
200
200
  returnType: "boolean",
201
+ returnSemantics: "last-truthy-of-args",
201
202
  params: [{ name: "...conds", type: BOOLEAN, description: "Boolean expressions to AND" }],
202
203
  example: '["and", ["=", "@entity.active", true], [">", "@entity.score", 0]]'
203
204
  },
@@ -206,9 +207,10 @@ var CORE_OPERATORS = {
206
207
  category: "logic",
207
208
  minArity: 2,
208
209
  maxArity: null,
209
- description: "Logical OR",
210
+ description: "Logical OR (returns the first truthy value, NOT a boolean \u2014 short-circuit)",
210
211
  hasSideEffects: false,
211
212
  returnType: "boolean",
213
+ returnSemantics: "first-truthy-of-args",
212
214
  params: [{ name: "...conds", type: BOOLEAN, description: "Boolean expressions to OR" }],
213
215
  example: '["or", ["=", "@entity.role", "admin"], ["=", "@entity.role", "owner"]]'
214
216
  },
@@ -228,9 +230,10 @@ var CORE_OPERATORS = {
228
230
  category: "logic",
229
231
  minArity: 3,
230
232
  maxArity: 3,
231
- description: "Conditional expression (ternary)",
233
+ description: "Conditional expression (ternary). Return type is union of branch types.",
232
234
  hasSideEffects: false,
233
235
  returnType: "any",
236
+ returnSemantics: "branch-union",
234
237
  params: [
235
238
  { name: "cond", type: BOOLEAN, description: "Condition to evaluate" },
236
239
  { name: "then", type: ANY, description: "Value or effect if true" },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../modules/core.ts"],"names":[],"mappings":"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","file":"core.js","sourcesContent":["/**\n * Core Module - Language Primitives\n *\n * The 28 unnamespaced S-expression operators that form the .orb language core:\n * arithmetic primitives, comparison, logic, control flow, and effects.\n *\n * These operators existed in the retired `@almadar/operators` package prior to\n * its merge into `@almadar/std`. They live here alongside the library modules\n * (math, str, array, etc.) so the whole operator surface has one home.\n *\n * Effect operators declare rich Schema v2 params and effect metadata so\n * validators, LLM prompt generators, and the Rust compiler can reason about\n * shapes (literal unions for persist actions, UISlot for render-ui, event keys\n * for emit) instead of relying on string heuristics.\n *\n * @packageDocumentation\n */\n\nimport type { OperatorTypeRef, StdOperatorMeta } from '../types.js';\n\n// ============================================================================\n// Shared type refs\n// ============================================================================\n\nconst NUMBER: OperatorTypeRef = 'number';\nconst BOOLEAN: OperatorTypeRef = 'boolean';\nconst STRING: OperatorTypeRef = 'string';\nconst ANY: OperatorTypeRef = 'any';\nconst SEXPR: OperatorTypeRef = { kind: 'sexpr' };\nconst BINDING: OperatorTypeRef = { kind: 'binding' };\nconst ENTITY_REF: OperatorTypeRef = { kind: 'entityRef' };\nconst EVENT_KEY: OperatorTypeRef = { kind: 'eventKey' };\nconst UI_SLOT: OperatorTypeRef = { kind: 'uiSlot' };\nconst PATTERN_TYPE: OperatorTypeRef = { kind: 'patternType' };\n\nconst PERSIST_ACTION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'create' },\n { kind: 'literal', value: 'update' },\n { kind: 'literal', value: 'delete' },\n { kind: 'literal', value: 'clear' },\n { kind: 'literal', value: 'batch' },\n ],\n};\n\nconst SET_OPERATION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'increment' },\n { kind: 'literal', value: 'decrement' },\n { kind: 'literal', value: 'multiply' },\n { kind: 'literal', value: 'append' },\n { kind: 'literal', value: 'remove' },\n ],\n};\n\nconst NOTIFY_CHANNEL: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'email' },\n { kind: 'literal', value: 'push' },\n { kind: 'literal', value: 'sms' },\n { kind: 'literal', value: 'in_app' },\n ],\n};\n\n// ============================================================================\n// Core operators\n// ============================================================================\n\nexport const CORE_OPERATORS: Record<string, StdOperatorMeta> = {\n // --- arithmetic primitives --------------------------------------------------\n\n '+': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Add numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to sum' }],\n example: '[\"+\", 1, 2, 3] // => 6',\n },\n '-': {\n module: 'core',\n category: 'arithmetic',\n minArity: 1,\n maxArity: 2,\n description: 'Subtract or negate',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand or value to negate' },\n { name: 'b', type: NUMBER, description: 'Right operand', optional: true },\n ],\n example: '[\"-\", 5, 2] // => 3; [\"-\", 5] // => -5',\n },\n '*': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Multiply numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to multiply' }],\n example: '[\"*\", 2, 3, 4] // => 24',\n },\n '/': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Divide numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Numerator' },\n { name: 'b', type: NUMBER, description: 'Denominator' },\n ],\n example: '[\"/\", 10, 2] // => 5',\n },\n '%': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Modulo (remainder)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Dividend' },\n { name: 'b', type: NUMBER, description: 'Divisor' },\n ],\n example: '[\"%\", 10, 3] // => 1',\n },\n\n // --- comparison -------------------------------------------------------------\n\n '=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"=\", \"@entity.status\", \"active\"]',\n },\n '!=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Not equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"!=\", \"@entity.id\", null]',\n },\n '<': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<\", \"@entity.health\", 10]',\n },\n '>': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">\", \"@entity.score\", 0]',\n },\n '<=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<=\", \"@entity.count\", 100]',\n },\n '>=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">=\", \"@entity.age\", 18]',\n },\n\n // --- logic ------------------------------------------------------------------\n\n and: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical AND',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to AND' }],\n example: '[\"and\", [\"=\", \"@entity.active\", true], [\">\", \"@entity.score\", 0]]',\n },\n or: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical OR',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to OR' }],\n example: '[\"or\", [\"=\", \"@entity.role\", \"admin\"], [\"=\", \"@entity.role\", \"owner\"]]',\n },\n not: {\n module: 'core',\n category: 'logic',\n minArity: 1,\n maxArity: 1,\n description: 'Logical NOT',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'cond', type: BOOLEAN, description: 'Boolean to negate' }],\n example: '[\"not\", \"@entity.disabled\"]',\n },\n if: {\n module: 'core',\n category: 'logic',\n minArity: 3,\n maxArity: 3,\n description: 'Conditional expression (ternary)',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Condition to evaluate' },\n { name: 'then', type: ANY, description: 'Value or effect if true' },\n { name: 'else', type: ANY, description: 'Value or effect if false' },\n ],\n example: '[\"if\", [\">\", \"@entity.health\", 0], \"alive\", \"dead\"]',\n },\n\n // --- control ----------------------------------------------------------------\n\n let: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Bind local variables for a body expression',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n {\n name: 'bindings',\n type: { kind: 'array', of: { kind: 'array', of: ANY } },\n description: 'Array of [name, value] pairs',\n },\n { name: 'body', type: SEXPR, description: 'Expression or effect list using the bindings' },\n ],\n example: '[\"let\", [[\"x\", 10]], [\"+\", \"x\", 1]]',\n },\n do: {\n module: 'core',\n category: 'control',\n minArity: 1,\n maxArity: null,\n description: 'Sequential execution of multiple effects/expressions',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...exprs', type: SEXPR, description: 'Effects/expressions to run in order' }],\n example: '[\"do\", [\"set\", \"@entity.x\", 0], [\"set\", \"@entity.y\", 0]]',\n },\n when: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Conditional effect without an else branch',\n hasSideEffects: false,\n returnType: 'void',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Guard expression' },\n { name: 'effect', type: SEXPR, description: 'Effect to run if cond is true' },\n ],\n example: '[\"when\", [\">\", \"@entity.health\", 0], [\"emit\", \"ALIVE\"]]',\n },\n fn: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Lambda expression (used for per-item renders and transforms)',\n hasSideEffects: false,\n returnType: 'function',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'paramName', type: STRING, description: 'Name of the parameter binding' },\n { name: 'body', type: SEXPR, description: 'Expression evaluated per invocation' },\n ],\n example: '[\"fn\", \"item\", { \"type\": \"typography\", \"content\": \"@item.title\" }]',\n },\n\n // --- effect -----------------------------------------------------------------\n\n set: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 2,\n description: 'Set a binding to a value',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'binding', type: BINDING, description: 'Target binding (e.g. \"@entity.field\")' },\n { name: 'value', type: ANY, description: 'Value to assign (literal or expression)' },\n ],\n example: '[\"set\", \"@entity.health\", 100]',\n effect: {\n kind: 'set',\n // success emit carries the written value; the evaluator coerces to the\n // binding's declared type, so 'any' is the general shape. A future pass\n // can narrow per-binding via resolveBinding.\n produces: ANY,\n config: { operation: SET_OPERATION },\n },\n },\n emit: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Emit an event onto the bus',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'event', type: EVENT_KEY, description: 'Event key' },\n { name: 'payload', type: ENTITY_REF, description: 'Optional payload', optional: true },\n ],\n example: '[\"emit\", \"PLAYER_DIED\", { \"playerId\": \"@entity.id\" }]',\n effect: {\n kind: 'emit',\n produces: {\n kind: 'object',\n fields: { event: EVENT_KEY, payload: ANY },\n open: true,\n },\n },\n },\n persist: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 4,\n description: 'Create, update, delete, clear, or batch entity records. Optional trailing { emit: { success, failure } } options object attaches closed-circuit emit routing.',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'action', type: PERSIST_ACTION, description: 'Persist action' },\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n { name: 'data', type: ENTITY_REF, description: 'Payload (create/update) or entity id (delete)', optional: true },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Optional trailing options object carrying { emit: { success, failure } } closed-circuit routing',\n optional: true,\n },\n ],\n example: '[\"persist\", \"create\", \"Task\", { \"title\": \"@payload.title\" }, { \"emit\": { \"success\": \"TASK_CREATED\" } }]',\n effect: {\n kind: 'persist',\n // Action-discriminated union. The compiler narrows at the call site\n // based on the action arg literal to pick the right branch when\n // checking the emit.success event's declared payload.\n // create/update -> the resulting entity record\n // delete/clear -> { id, deleted }\n // batch -> summary of operations\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n {\n kind: 'object',\n fields: { id: STRING, deleted: BOOLEAN },\n open: false,\n },\n {\n kind: 'object',\n fields: {\n operations: { kind: 'array', of: ANY },\n completedCount: NUMBER,\n totalCount: NUMBER,\n },\n open: false,\n },\n ],\n },\n },\n },\n navigate: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Navigate to a route',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'path', type: STRING, description: 'Route path (supports :param placeholders)' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Optional route params',\n optional: true,\n },\n ],\n example: '[\"navigate\", \"/tasks/:id\", { \"id\": \"@entity.id\" }]',\n effect: { kind: 'navigate' },\n },\n notify: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Show a notification (in-app, email, push, sms)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'channel', type: NOTIFY_CHANNEL, description: 'Delivery channel' },\n { name: 'message', type: STRING, description: 'Message body', optional: true },\n ],\n example: '[\"notify\", \"in_app\", \"Task created successfully\"]',\n effect: { kind: 'notify' },\n },\n spawn: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Spawn a new entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Entity name to spawn' },\n {\n name: 'initialState',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Initial field values',\n optional: true,\n },\n ],\n example: '[\"spawn\", \"Bullet\", { \"x\": \"@entity.x\", \"y\": \"@entity.y\" }]',\n effect: { kind: 'spawn' },\n },\n despawn: {\n module: 'core',\n category: 'effect',\n minArity: 0,\n maxArity: 1,\n description: 'Despawn an entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entityId', type: STRING, description: 'Target entity id (defaults to @entity.id)', optional: true },\n ],\n example: '[\"despawn\", \"@entity.id\"]',\n effect: { kind: 'despawn' },\n },\n fetch: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Fetch an entity (by id) or a collection (by filter) from persistence',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n limit: NUMBER,\n offset: NUMBER,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Fetch options: id | filter | limit | offset | include | emit',\n optional: true,\n },\n ],\n example: '[\"fetch\", \"Task\", { \"id\": \"@payload.taskId\", \"emit\": { \"success\": \"TASK_LOADED\" } }]',\n effect: {\n kind: 'fetch',\n // Call-site-discriminated union: options.id present -> single entity;\n // otherwise -> array of entity. The compiler narrows at the call site\n // when checking emit.success against the declared event payload.\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n ref: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Reactive entity reference (deprecated, use fetch with listens in V2)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Ref options: id | filter | include | emit',\n optional: true,\n },\n ],\n example: '[\"ref\", \"Task\"]',\n effect: {\n kind: 'ref',\n // Same call-site shape as fetch. Kept for the V2 transition period;\n // scheduled for deprecation in a later phase (see Almadar_Entity_V2_Plan.md).\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n 'call-service': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 4,\n description:\n 'Invoke an external service action. Optional trailing { emit: { success, failure } } options object attaches closed-circuit emit routing (V2 frame contract).',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'service', type: STRING, description: 'Service name (e.g. \"llm\", \"stripe\")' },\n { name: 'action', type: STRING, description: 'Service action (e.g. \"generate\", \"charge\")' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Service-specific params',\n optional: true,\n },\n {\n name: 'options',\n type: { kind: 'object', fields: {}, open: true },\n description:\n 'Optional trailing options object. Set `{ emit: { success: \"...\", failure: \"...\" } }` to wire closed-circuit result routing (V2 frame).',\n optional: true,\n },\n ],\n example: '[\"call-service\", \"llm\", \"generate\", { \"userPrompt\": \"@entity.inputText\" }, { \"emit\": { \"success\": \"LlmCompleted\", \"failure\": \"LlmFailed\" } }]',\n effect: {\n kind: 'call-service',\n // TODO(entity-v2): narrow to the declared service return type once\n // per-service return shapes live on the orbital services block.\n // Today the emit.success payload is whatever the service adapter returns.\n produces: ANY,\n },\n },\n 'render-ui': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 3,\n description: 'Render a pattern into a UI slot',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'slot', type: UI_SLOT, description: 'Target UI slot (main, sidebar, modal, hud, ...)' },\n {\n name: 'pattern',\n type: {\n kind: 'union',\n of: [\n { kind: 'object', fields: { patternType: PATTERN_TYPE }, open: true },\n { kind: 'literal', value: null as unknown as string },\n ],\n },\n description: 'Pattern config (or null to clear the slot)',\n },\n {\n name: 'props',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Extra props forwarded to the pattern',\n optional: true,\n },\n ],\n example: '[\"render-ui\", \"main\", { \"patternType\": \"entity-table\", \"columns\": [\"name\"] }]',\n effect: { kind: 'render-ui' },\n },\n};\n\n/**\n * Get all core operator names.\n */\nexport function getCoreOperators(): string[] {\n return Object.keys(CORE_OPERATORS);\n}\n"]}
1
+ {"version":3,"sources":["../../modules/core.ts"],"names":[],"mappings":"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","file":"core.js","sourcesContent":["/**\n * Core Module - Language Primitives\n *\n * The 28 unnamespaced S-expression operators that form the .orb language core:\n * arithmetic primitives, comparison, logic, control flow, and effects.\n *\n * These operators existed in the retired `@almadar/operators` package prior to\n * its merge into `@almadar/std`. They live here alongside the library modules\n * (math, str, array, etc.) so the whole operator surface has one home.\n *\n * Effect operators declare rich Schema v2 params and effect metadata so\n * validators, LLM prompt generators, and the Rust compiler can reason about\n * shapes (literal unions for persist actions, UISlot for render-ui, event keys\n * for emit) instead of relying on string heuristics.\n *\n * @packageDocumentation\n */\n\nimport type { OperatorTypeRef, StdOperatorMeta } from '../types.js';\n\n// ============================================================================\n// Shared type refs\n// ============================================================================\n\nconst NUMBER: OperatorTypeRef = 'number';\nconst BOOLEAN: OperatorTypeRef = 'boolean';\nconst STRING: OperatorTypeRef = 'string';\nconst ANY: OperatorTypeRef = 'any';\nconst SEXPR: OperatorTypeRef = { kind: 'sexpr' };\nconst BINDING: OperatorTypeRef = { kind: 'binding' };\nconst ENTITY_REF: OperatorTypeRef = { kind: 'entityRef' };\nconst EVENT_KEY: OperatorTypeRef = { kind: 'eventKey' };\nconst UI_SLOT: OperatorTypeRef = { kind: 'uiSlot' };\nconst PATTERN_TYPE: OperatorTypeRef = { kind: 'patternType' };\n\nconst PERSIST_ACTION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'create' },\n { kind: 'literal', value: 'update' },\n { kind: 'literal', value: 'delete' },\n { kind: 'literal', value: 'clear' },\n { kind: 'literal', value: 'batch' },\n ],\n};\n\nconst SET_OPERATION: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'increment' },\n { kind: 'literal', value: 'decrement' },\n { kind: 'literal', value: 'multiply' },\n { kind: 'literal', value: 'append' },\n { kind: 'literal', value: 'remove' },\n ],\n};\n\nconst NOTIFY_CHANNEL: OperatorTypeRef = {\n kind: 'union',\n of: [\n { kind: 'literal', value: 'email' },\n { kind: 'literal', value: 'push' },\n { kind: 'literal', value: 'sms' },\n { kind: 'literal', value: 'in_app' },\n ],\n};\n\n// ============================================================================\n// Core operators\n// ============================================================================\n\nexport const CORE_OPERATORS: Record<string, StdOperatorMeta> = {\n // --- arithmetic primitives --------------------------------------------------\n\n '+': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Add numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to sum' }],\n example: '[\"+\", 1, 2, 3] // => 6',\n },\n '-': {\n module: 'core',\n category: 'arithmetic',\n minArity: 1,\n maxArity: 2,\n description: 'Subtract or negate',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand or value to negate' },\n { name: 'b', type: NUMBER, description: 'Right operand', optional: true },\n ],\n example: '[\"-\", 5, 2] // => 3; [\"-\", 5] // => -5',\n },\n '*': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: null,\n description: 'Multiply numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [{ name: '...nums', type: NUMBER, description: 'Numbers to multiply' }],\n example: '[\"*\", 2, 3, 4] // => 24',\n },\n '/': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Divide numbers',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Numerator' },\n { name: 'b', type: NUMBER, description: 'Denominator' },\n ],\n example: '[\"/\", 10, 2] // => 5',\n },\n '%': {\n module: 'core',\n category: 'arithmetic',\n minArity: 2,\n maxArity: 2,\n description: 'Modulo (remainder)',\n hasSideEffects: false,\n returnType: 'number',\n params: [\n { name: 'a', type: NUMBER, description: 'Dividend' },\n { name: 'b', type: NUMBER, description: 'Divisor' },\n ],\n example: '[\"%\", 10, 3] // => 1',\n },\n\n // --- comparison -------------------------------------------------------------\n\n '=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"=\", \"@entity.status\", \"active\"]',\n },\n '!=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Not equal to',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: ANY, description: 'Left operand' },\n { name: 'b', type: ANY, description: 'Right operand' },\n ],\n example: '[\"!=\", \"@entity.id\", null]',\n },\n '<': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<\", \"@entity.health\", 10]',\n },\n '>': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">\", \"@entity.score\", 0]',\n },\n '<=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Less than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\"<=\", \"@entity.count\", 100]',\n },\n '>=': {\n module: 'core',\n category: 'comparison',\n minArity: 2,\n maxArity: 2,\n description: 'Greater than or equal',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: NUMBER, description: 'Left operand' },\n { name: 'b', type: NUMBER, description: 'Right operand' },\n ],\n example: '[\">=\", \"@entity.age\", 18]',\n },\n\n // --- logic ------------------------------------------------------------------\n\n and: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical AND (returns the last truthy value, NOT a boolean — short-circuit)',\n hasSideEffects: false,\n returnType: 'boolean',\n returnSemantics: 'last-truthy-of-args',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to AND' }],\n example: '[\"and\", [\"=\", \"@entity.active\", true], [\">\", \"@entity.score\", 0]]',\n },\n or: {\n module: 'core',\n category: 'logic',\n minArity: 2,\n maxArity: null,\n description: 'Logical OR (returns the first truthy value, NOT a boolean — short-circuit)',\n hasSideEffects: false,\n returnType: 'boolean',\n returnSemantics: 'first-truthy-of-args',\n params: [{ name: '...conds', type: BOOLEAN, description: 'Boolean expressions to OR' }],\n example: '[\"or\", [\"=\", \"@entity.role\", \"admin\"], [\"=\", \"@entity.role\", \"owner\"]]',\n },\n not: {\n module: 'core',\n category: 'logic',\n minArity: 1,\n maxArity: 1,\n description: 'Logical NOT',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'cond', type: BOOLEAN, description: 'Boolean to negate' }],\n example: '[\"not\", \"@entity.disabled\"]',\n },\n if: {\n module: 'core',\n category: 'logic',\n minArity: 3,\n maxArity: 3,\n description: 'Conditional expression (ternary). Return type is union of branch types.',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'branch-union',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Condition to evaluate' },\n { name: 'then', type: ANY, description: 'Value or effect if true' },\n { name: 'else', type: ANY, description: 'Value or effect if false' },\n ],\n example: '[\"if\", [\">\", \"@entity.health\", 0], \"alive\", \"dead\"]',\n },\n\n // --- control ----------------------------------------------------------------\n\n let: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Bind local variables for a body expression',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n {\n name: 'bindings',\n type: { kind: 'array', of: { kind: 'array', of: ANY } },\n description: 'Array of [name, value] pairs',\n },\n { name: 'body', type: SEXPR, description: 'Expression or effect list using the bindings' },\n ],\n example: '[\"let\", [[\"x\", 10]], [\"+\", \"x\", 1]]',\n },\n do: {\n module: 'core',\n category: 'control',\n minArity: 1,\n maxArity: null,\n description: 'Sequential execution of multiple effects/expressions',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...exprs', type: SEXPR, description: 'Effects/expressions to run in order' }],\n example: '[\"do\", [\"set\", \"@entity.x\", 0], [\"set\", \"@entity.y\", 0]]',\n },\n when: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Conditional effect without an else branch',\n hasSideEffects: false,\n returnType: 'void',\n params: [\n { name: 'cond', type: BOOLEAN, description: 'Guard expression' },\n { name: 'effect', type: SEXPR, description: 'Effect to run if cond is true' },\n ],\n example: '[\"when\", [\">\", \"@entity.health\", 0], [\"emit\", \"ALIVE\"]]',\n },\n fn: {\n module: 'core',\n category: 'control',\n minArity: 2,\n maxArity: 2,\n description: 'Lambda expression (used for per-item renders and transforms)',\n hasSideEffects: false,\n returnType: 'function',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'paramName', type: STRING, description: 'Name of the parameter binding' },\n { name: 'body', type: SEXPR, description: 'Expression evaluated per invocation' },\n ],\n example: '[\"fn\", \"item\", { \"type\": \"typography\", \"content\": \"@item.title\" }]',\n },\n\n // --- effect -----------------------------------------------------------------\n\n set: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 2,\n description: 'Set a binding to a value',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'binding', type: BINDING, description: 'Target binding (e.g. \"@entity.field\")' },\n { name: 'value', type: ANY, description: 'Value to assign (literal or expression)' },\n ],\n example: '[\"set\", \"@entity.health\", 100]',\n effect: {\n kind: 'set',\n // success emit carries the written value; the evaluator coerces to the\n // binding's declared type, so 'any' is the general shape. A future pass\n // can narrow per-binding via resolveBinding.\n produces: ANY,\n config: { operation: SET_OPERATION },\n },\n },\n emit: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Emit an event onto the bus',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'event', type: EVENT_KEY, description: 'Event key' },\n { name: 'payload', type: ENTITY_REF, description: 'Optional payload', optional: true },\n ],\n example: '[\"emit\", \"PLAYER_DIED\", { \"playerId\": \"@entity.id\" }]',\n effect: {\n kind: 'emit',\n produces: {\n kind: 'object',\n fields: { event: EVENT_KEY, payload: ANY },\n open: true,\n },\n },\n },\n persist: {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 4,\n description: 'Create, update, delete, clear, or batch entity records. Optional trailing { emit: { success, failure } } options object attaches closed-circuit emit routing.',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'action', type: PERSIST_ACTION, description: 'Persist action' },\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n { name: 'data', type: ENTITY_REF, description: 'Payload (create/update) or entity id (delete)', optional: true },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Optional trailing options object carrying { emit: { success, failure } } closed-circuit routing',\n optional: true,\n },\n ],\n example: '[\"persist\", \"create\", \"Task\", { \"title\": \"@payload.title\" }, { \"emit\": { \"success\": \"TASK_CREATED\" } }]',\n effect: {\n kind: 'persist',\n // Action-discriminated union. The compiler narrows at the call site\n // based on the action arg literal to pick the right branch when\n // checking the emit.success event's declared payload.\n // create/update -> the resulting entity record\n // delete/clear -> { id, deleted }\n // batch -> summary of operations\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n {\n kind: 'object',\n fields: { id: STRING, deleted: BOOLEAN },\n open: false,\n },\n {\n kind: 'object',\n fields: {\n operations: { kind: 'array', of: ANY },\n completedCount: NUMBER,\n totalCount: NUMBER,\n },\n open: false,\n },\n ],\n },\n },\n },\n navigate: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Navigate to a route',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'path', type: STRING, description: 'Route path (supports :param placeholders)' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Optional route params',\n optional: true,\n },\n ],\n example: '[\"navigate\", \"/tasks/:id\", { \"id\": \"@entity.id\" }]',\n effect: { kind: 'navigate' },\n },\n notify: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Show a notification (in-app, email, push, sms)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'channel', type: NOTIFY_CHANNEL, description: 'Delivery channel' },\n { name: 'message', type: STRING, description: 'Message body', optional: true },\n ],\n example: '[\"notify\", \"in_app\", \"Task created successfully\"]',\n effect: { kind: 'notify' },\n },\n spawn: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Spawn a new entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Entity name to spawn' },\n {\n name: 'initialState',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Initial field values',\n optional: true,\n },\n ],\n example: '[\"spawn\", \"Bullet\", { \"x\": \"@entity.x\", \"y\": \"@entity.y\" }]',\n effect: { kind: 'spawn' },\n },\n despawn: {\n module: 'core',\n category: 'effect',\n minArity: 0,\n maxArity: 1,\n description: 'Despawn an entity instance (games)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entityId', type: STRING, description: 'Target entity id (defaults to @entity.id)', optional: true },\n ],\n example: '[\"despawn\", \"@entity.id\"]',\n effect: { kind: 'despawn' },\n },\n fetch: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Fetch an entity (by id) or a collection (by filter) from persistence',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n limit: NUMBER,\n offset: NUMBER,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Fetch options: id | filter | limit | offset | include | emit',\n optional: true,\n },\n ],\n example: '[\"fetch\", \"Task\", { \"id\": \"@payload.taskId\", \"emit\": { \"success\": \"TASK_LOADED\" } }]',\n effect: {\n kind: 'fetch',\n // Call-site-discriminated union: options.id present -> single entity;\n // otherwise -> array of entity. The compiler narrows at the call site\n // when checking emit.success against the declared event payload.\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n ref: {\n module: 'core',\n category: 'effect',\n minArity: 1,\n maxArity: 2,\n description: 'Reactive entity reference (deprecated, use fetch with listens in V2)',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'entity', type: { kind: 'entity' }, description: 'Target entity name' },\n {\n name: 'options',\n type: {\n kind: 'object',\n fields: {\n id: STRING,\n filter: ANY,\n include: { kind: 'array', of: STRING },\n emit: { kind: 'object', fields: {}, open: true },\n },\n open: true,\n },\n description: 'Ref options: id | filter | include | emit',\n optional: true,\n },\n ],\n example: '[\"ref\", \"Task\"]',\n effect: {\n kind: 'ref',\n // Same call-site shape as fetch. Kept for the V2 transition period;\n // scheduled for deprecation in a later phase (see Almadar_Entity_V2_Plan.md).\n produces: {\n kind: 'union',\n of: [\n { kind: 'entity' },\n { kind: 'array', of: { kind: 'entity' } },\n ],\n },\n },\n },\n 'call-service': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 4,\n description:\n 'Invoke an external service action. Optional trailing { emit: { success, failure } } options object attaches closed-circuit emit routing (V2 frame contract).',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'service', type: STRING, description: 'Service name (e.g. \"llm\", \"stripe\")' },\n { name: 'action', type: STRING, description: 'Service action (e.g. \"generate\", \"charge\")' },\n {\n name: 'params',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Service-specific params',\n optional: true,\n },\n {\n name: 'options',\n type: { kind: 'object', fields: {}, open: true },\n description:\n 'Optional trailing options object. Set `{ emit: { success: \"...\", failure: \"...\" } }` to wire closed-circuit result routing (V2 frame).',\n optional: true,\n },\n ],\n example: '[\"call-service\", \"llm\", \"generate\", { \"userPrompt\": \"@entity.inputText\" }, { \"emit\": { \"success\": \"LlmCompleted\", \"failure\": \"LlmFailed\" } }]',\n effect: {\n kind: 'call-service',\n // TODO(entity-v2): narrow to the declared service return type once\n // per-service return shapes live on the orbital services block.\n // Today the emit.success payload is whatever the service adapter returns.\n produces: ANY,\n },\n },\n 'render-ui': {\n module: 'core',\n category: 'effect',\n minArity: 2,\n maxArity: 3,\n description: 'Render a pattern into a UI slot',\n hasSideEffects: true,\n returnType: 'void',\n params: [\n { name: 'slot', type: UI_SLOT, description: 'Target UI slot (main, sidebar, modal, hud, ...)' },\n {\n name: 'pattern',\n type: {\n kind: 'union',\n of: [\n { kind: 'object', fields: { patternType: PATTERN_TYPE }, open: true },\n { kind: 'literal', value: null as unknown as string },\n ],\n },\n description: 'Pattern config (or null to clear the slot)',\n },\n {\n name: 'props',\n type: { kind: 'object', fields: {}, open: true },\n description: 'Extra props forwarded to the pattern',\n optional: true,\n },\n ],\n example: '[\"render-ui\", \"main\", { \"patternType\": \"entity-table\", \"columns\": [\"name\"] }]',\n effect: { kind: 'render-ui' },\n },\n};\n\n/**\n * Get all core operator names.\n */\nexport function getCoreOperators(): string[] {\n return Object.keys(CORE_OPERATORS);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Data Module - ML Data Preprocessing Operations
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Format Module - Display Formatting
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta } from '../types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta } from '../types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Graph Module - Graph Neural Network Operations
@@ -17,4 +17,4 @@ export { PROB_OPERATORS, getProbOperators } from './prob.js';
17
17
  export { OS_OPERATORS } from './os.js';
18
18
  export { AGENT_OPERATORS, getAgentOperators } from './agent.js';
19
19
  export { COMPOSITION_OPERATORS, getCompositionOperators } from './composition.js';
20
- import '../types-D7dG8fBF.js';
20
+ import '../types-CdSN5hnD.js';