@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
  * Math Module - Numeric 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
  * Neural Network Module - Neural Network 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
  * Object Module - Object Operations
@@ -49,9 +49,10 @@ var OBJECT_OPERATORS = {
49
49
  category: "std-object",
50
50
  minArity: 2,
51
51
  maxArity: 3,
52
- description: "Get nested value by path",
52
+ description: "Get nested value by path (return type derived from input object shape and key)",
53
53
  hasSideEffects: false,
54
54
  returnType: "any",
55
+ returnSemantics: "object-key-lookup",
55
56
  params: [
56
57
  { name: "obj", type: "object", description: "The object" },
57
58
  { name: "path", type: "string", description: 'Dot-separated path (e.g., "user.name")' },
@@ -115,9 +116,10 @@ var OBJECT_OPERATORS = {
115
116
  category: "std-object",
116
117
  minArity: 2,
117
118
  maxArity: 2,
118
- description: "Select only specified keys",
119
+ description: "Select only specified keys (return type is subset of input object shape)",
119
120
  hasSideEffects: false,
120
121
  returnType: "any",
122
+ returnSemantics: "object-key-lookup",
121
123
  params: [
122
124
  { name: "obj", type: "object", description: "The object" },
123
125
  { name: "keys", type: "array", description: "Keys to keep" }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../modules/object.ts"],"names":[],"mappings":"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","file":"object.js","sourcesContent":["/**\n * Object Module - Object Operations\n *\n * Provides object manipulation and transformation functions.\n * All operations are immutable (return new objects).\n *\n * @packageDocumentation\n */\n\nimport type { StdOperatorMeta } from '../types.js';\n\n/**\n * Object module operators.\n * All operators return objects or other values and have no side effects.\n */\nexport const OBJECT_OPERATORS: Record<string, StdOperatorMeta> = {\n 'object/keys': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Get object keys as array',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/keys\", {\"a\": 1, \"b\": 2}] // => [\"a\", \"b\"]',\n },\n 'object/values': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Get object values as array',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/values\", {\"a\": 1, \"b\": 2}] // => [1, 2]',\n },\n 'object/entries': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Get [key, value] pairs as array',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/entries\", {\"a\": 1}] // => [[\"a\", 1]]',\n },\n 'object/fromEntries': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Create object from [key, value] pairs',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'entries', type: 'array', description: 'Array of [key, value] pairs' }],\n example: '[\"object/fromEntries\", [[\"a\", 1], [\"b\", 2]]] // => {\"a\": 1, \"b\": 2}',\n },\n 'object/get': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 3,\n description: 'Get nested value by path',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'path', type: 'string', description: 'Dot-separated path (e.g., \"user.name\")' },\n { name: 'default', type: 'any', description: 'Default if path not found', optional: true },\n ],\n example: '[\"object/get\", \"@user\", \"profile.name\", \"Anonymous\"]',\n },\n 'object/set': {\n module: 'object',\n category: 'std-object',\n minArity: 3,\n maxArity: 3,\n description: 'Set nested value by path (returns new object)',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'path', type: 'string', description: 'Dot-separated path' },\n { name: 'value', type: 'any', description: 'Value to set' },\n ],\n example: '[\"object/set\", \"@user\", \"profile.name\", \"John\"]',\n },\n 'object/has': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Check if path exists',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'path', type: 'string', description: 'Dot-separated path' },\n ],\n example: '[\"object/has\", \"@user\", \"profile.name\"]',\n },\n 'object/merge': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: null,\n description: 'Shallow merge objects (later wins)',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...objs', type: 'object[]', description: 'Objects to merge' }],\n example: '[\"object/merge\", {\"a\": 1}, {\"b\": 2}] // => {\"a\": 1, \"b\": 2}',\n },\n 'object/deepMerge': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: null,\n description: 'Deep merge objects (later wins)',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...objs', type: 'object[]', description: 'Objects to merge' }],\n example: '[\"object/deepMerge\", {\"a\": {\"b\": 1}}, {\"a\": {\"c\": 2}}]',\n },\n 'object/pick': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Select only specified keys',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'keys', type: 'array', description: 'Keys to keep' },\n ],\n example: '[\"object/pick\", \"@entity\", [\"name\", \"email\"]]',\n },\n 'object/omit': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Exclude specified keys',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'keys', type: 'array', description: 'Keys to exclude' },\n ],\n example: '[\"object/omit\", \"@entity\", [\"password\", \"secret\"]]',\n },\n 'object/mapValues': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Transform all values',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'fn', type: 'lambda', description: 'Transform function' },\n ],\n example: '[\"object/mapValues\", \"@stats\", [\"fn\", \"v\", [\"*\", \"@v\", 100]]]',\n },\n 'object/mapKeys': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Transform all keys',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'fn', type: 'lambda', description: 'Transform function' },\n ],\n example: '[\"object/mapKeys\", \"@data\", [\"fn\", \"k\", [\"str/upper\", \"@k\"]]]',\n },\n 'object/filter': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Filter entries by predicate',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'pred', type: 'lambda', description: 'Predicate (key, value) => boolean' },\n ],\n example: '[\"object/filter\", \"@data\", [\"fn\", [\"k\", \"v\"], [\"!=\", \"@v\", null]]]',\n },\n 'object/empty?': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Check if object has no keys',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/empty?\", {}] // => true',\n },\n 'object/equals': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Deep equality check',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: 'object', description: 'First object' },\n { name: 'b', type: 'object', description: 'Second object' },\n ],\n example: '[\"object/equals\", {\"a\": 1}, {\"a\": 1}] // => true',\n },\n 'object/clone': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Shallow clone object',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/clone\", \"@entity\"]',\n },\n 'object/deepClone': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Deep clone object',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/deepClone\", \"@entity\"]',\n },\n 'path': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: null, // variadic\n description: 'Build a dot-separated path string from segments. Used with set effect for dynamic field paths.',\n hasSideEffects: false,\n returnType: 'string',\n params: [\n { name: '...segments', type: 'string[]', description: 'Path segments to join with dots' },\n ],\n example: '[\"path\", \"formValues\", \"@payload.fieldId\"] // => \"formValues.customerName\"',\n },\n};\n\n/**\n * Get all object operator names.\n */\nexport function getObjectOperators(): string[] {\n return Object.keys(OBJECT_OPERATORS);\n}\n"]}
1
+ {"version":3,"sources":["../../modules/object.ts"],"names":[],"mappings":"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","file":"object.js","sourcesContent":["/**\n * Object Module - Object Operations\n *\n * Provides object manipulation and transformation functions.\n * All operations are immutable (return new objects).\n *\n * @packageDocumentation\n */\n\nimport type { StdOperatorMeta } from '../types.js';\n\n/**\n * Object module operators.\n * All operators return objects or other values and have no side effects.\n */\nexport const OBJECT_OPERATORS: Record<string, StdOperatorMeta> = {\n 'object/keys': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Get object keys as array',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/keys\", {\"a\": 1, \"b\": 2}] // => [\"a\", \"b\"]',\n },\n 'object/values': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Get object values as array',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/values\", {\"a\": 1, \"b\": 2}] // => [1, 2]',\n },\n 'object/entries': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Get [key, value] pairs as array',\n hasSideEffects: false,\n returnType: 'array',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/entries\", {\"a\": 1}] // => [[\"a\", 1]]',\n },\n 'object/fromEntries': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Create object from [key, value] pairs',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'entries', type: 'array', description: 'Array of [key, value] pairs' }],\n example: '[\"object/fromEntries\", [[\"a\", 1], [\"b\", 2]]] // => {\"a\": 1, \"b\": 2}',\n },\n 'object/get': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 3,\n description: 'Get nested value by path (return type derived from input object shape and key)',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'object-key-lookup',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'path', type: 'string', description: 'Dot-separated path (e.g., \"user.name\")' },\n { name: 'default', type: 'any', description: 'Default if path not found', optional: true },\n ],\n example: '[\"object/get\", \"@user\", \"profile.name\", \"Anonymous\"]',\n },\n 'object/set': {\n module: 'object',\n category: 'std-object',\n minArity: 3,\n maxArity: 3,\n description: 'Set nested value by path (returns new object)',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'path', type: 'string', description: 'Dot-separated path' },\n { name: 'value', type: 'any', description: 'Value to set' },\n ],\n example: '[\"object/set\", \"@user\", \"profile.name\", \"John\"]',\n },\n 'object/has': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Check if path exists',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'path', type: 'string', description: 'Dot-separated path' },\n ],\n example: '[\"object/has\", \"@user\", \"profile.name\"]',\n },\n 'object/merge': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: null,\n description: 'Shallow merge objects (later wins)',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...objs', type: 'object[]', description: 'Objects to merge' }],\n example: '[\"object/merge\", {\"a\": 1}, {\"b\": 2}] // => {\"a\": 1, \"b\": 2}',\n },\n 'object/deepMerge': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: null,\n description: 'Deep merge objects (later wins)',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: '...objs', type: 'object[]', description: 'Objects to merge' }],\n example: '[\"object/deepMerge\", {\"a\": {\"b\": 1}}, {\"a\": {\"c\": 2}}]',\n },\n 'object/pick': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Select only specified keys (return type is subset of input object shape)',\n hasSideEffects: false,\n returnType: 'any',\n returnSemantics: 'object-key-lookup',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'keys', type: 'array', description: 'Keys to keep' },\n ],\n example: '[\"object/pick\", \"@entity\", [\"name\", \"email\"]]',\n },\n 'object/omit': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Exclude specified keys',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'keys', type: 'array', description: 'Keys to exclude' },\n ],\n example: '[\"object/omit\", \"@entity\", [\"password\", \"secret\"]]',\n },\n 'object/mapValues': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Transform all values',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'fn', type: 'lambda', description: 'Transform function' },\n ],\n example: '[\"object/mapValues\", \"@stats\", [\"fn\", \"v\", [\"*\", \"@v\", 100]]]',\n },\n 'object/mapKeys': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Transform all keys',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'fn', type: 'lambda', description: 'Transform function' },\n ],\n example: '[\"object/mapKeys\", \"@data\", [\"fn\", \"k\", [\"str/upper\", \"@k\"]]]',\n },\n 'object/filter': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Filter entries by predicate',\n hasSideEffects: false,\n returnType: 'any',\n acceptsLambda: true,\n lambdaArgPosition: 1,\n params: [\n { name: 'obj', type: 'object', description: 'The object' },\n { name: 'pred', type: 'lambda', description: 'Predicate (key, value) => boolean' },\n ],\n example: '[\"object/filter\", \"@data\", [\"fn\", [\"k\", \"v\"], [\"!=\", \"@v\", null]]]',\n },\n 'object/empty?': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Check if object has no keys',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/empty?\", {}] // => true',\n },\n 'object/equals': {\n module: 'object',\n category: 'std-object',\n minArity: 2,\n maxArity: 2,\n description: 'Deep equality check',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: 'object', description: 'First object' },\n { name: 'b', type: 'object', description: 'Second object' },\n ],\n example: '[\"object/equals\", {\"a\": 1}, {\"a\": 1}] // => true',\n },\n 'object/clone': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Shallow clone object',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/clone\", \"@entity\"]',\n },\n 'object/deepClone': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: 1,\n description: 'Deep clone object',\n hasSideEffects: false,\n returnType: 'any',\n params: [{ name: 'obj', type: 'object', description: 'The object' }],\n example: '[\"object/deepClone\", \"@entity\"]',\n },\n 'path': {\n module: 'object',\n category: 'std-object',\n minArity: 1,\n maxArity: null, // variadic\n description: 'Build a dot-separated path string from segments. Used with set effect for dynamic field paths.',\n hasSideEffects: false,\n returnType: 'string',\n params: [\n { name: '...segments', type: 'string[]', description: 'Path segments to join with dots' },\n ],\n example: '[\"path\", \"formValues\", \"@payload.fieldId\"] // => \"formValues.customerName\"',\n },\n};\n\n/**\n * Get all object operator names.\n */\nexport function getObjectOperators(): string[] {\n return Object.keys(OBJECT_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
  * OS Module - Operating System Event Watchers
@@ -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
  * Prob Module - Probabilistic Programming 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
  * String Module - String 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
  * Tensor Module - Tensor 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
  * Time Module - Date and Time 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
  * Training Module - Neural Network Training 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
  * Validate Module - Input Validation
@@ -1,4 +1,4 @@
1
- import { S as StdOperatorMeta, a as StdModule, O as OperatorMeta } from './types-D7dG8fBF.js';
1
+ import { S as StdOperatorMeta, a as StdModule, O as OperatorMeta } from './types-CdSN5hnD.js';
2
2
 
3
3
  /**
4
4
  * Standard Library Registry
package/dist/registry.js CHANGED
@@ -227,9 +227,10 @@ var CORE_OPERATORS = {
227
227
  category: "logic",
228
228
  minArity: 2,
229
229
  maxArity: null,
230
- description: "Logical AND",
230
+ description: "Logical AND (returns the last truthy value, NOT a boolean \u2014 short-circuit)",
231
231
  hasSideEffects: false,
232
232
  returnType: "boolean",
233
+ returnSemantics: "last-truthy-of-args",
233
234
  params: [{ name: "...conds", type: BOOLEAN, description: "Boolean expressions to AND" }],
234
235
  example: '["and", ["=", "@entity.active", true], [">", "@entity.score", 0]]'
235
236
  },
@@ -238,9 +239,10 @@ var CORE_OPERATORS = {
238
239
  category: "logic",
239
240
  minArity: 2,
240
241
  maxArity: null,
241
- description: "Logical OR",
242
+ description: "Logical OR (returns the first truthy value, NOT a boolean \u2014 short-circuit)",
242
243
  hasSideEffects: false,
243
244
  returnType: "boolean",
245
+ returnSemantics: "first-truthy-of-args",
244
246
  params: [{ name: "...conds", type: BOOLEAN, description: "Boolean expressions to OR" }],
245
247
  example: '["or", ["=", "@entity.role", "admin"], ["=", "@entity.role", "owner"]]'
246
248
  },
@@ -260,9 +262,10 @@ var CORE_OPERATORS = {
260
262
  category: "logic",
261
263
  minArity: 3,
262
264
  maxArity: 3,
263
- description: "Conditional expression (ternary)",
265
+ description: "Conditional expression (ternary). Return type is union of branch types.",
264
266
  hasSideEffects: false,
265
267
  returnType: "any",
268
+ returnSemantics: "branch-union",
266
269
  params: [
267
270
  { name: "cond", type: BOOLEAN, description: "Condition to evaluate" },
268
271
  { name: "then", type: ANY, description: "Value or effect if true" },
@@ -1236,9 +1239,10 @@ var ARRAY_OPERATORS = {
1236
1239
  category: "std-array",
1237
1240
  minArity: 1,
1238
1241
  maxArity: 1,
1239
- description: "Get first element",
1242
+ description: "Get first element (element type of input array, may be undefined when empty)",
1240
1243
  hasSideEffects: false,
1241
1244
  returnType: "any",
1245
+ returnSemantics: "element-of-arg<0>?",
1242
1246
  params: [{ name: "arr", type: "array", description: "The array" }],
1243
1247
  example: '["array/first", [1, 2, 3]] // => 1'
1244
1248
  },
@@ -1247,9 +1251,10 @@ var ARRAY_OPERATORS = {
1247
1251
  category: "std-array",
1248
1252
  minArity: 1,
1249
1253
  maxArity: 1,
1250
- description: "Get last element",
1254
+ description: "Get last element (element type of input array, may be undefined when empty)",
1251
1255
  hasSideEffects: false,
1252
1256
  returnType: "any",
1257
+ returnSemantics: "element-of-arg<0>?",
1253
1258
  params: [{ name: "arr", type: "array", description: "The array" }],
1254
1259
  example: '["array/last", [1, 2, 3]] // => 3'
1255
1260
  },
@@ -1258,9 +1263,10 @@ var ARRAY_OPERATORS = {
1258
1263
  category: "std-array",
1259
1264
  minArity: 2,
1260
1265
  maxArity: 2,
1261
- description: "Get element at index",
1266
+ description: "Get element at index (element type of input array, may be undefined out-of-bounds)",
1262
1267
  hasSideEffects: false,
1263
1268
  returnType: "any",
1269
+ returnSemantics: "element-of-arg<0>?",
1264
1270
  params: [
1265
1271
  { name: "arr", type: "array", description: "The array" },
1266
1272
  { name: "index", type: "number", description: "Index (0-based)" }
@@ -1470,9 +1476,10 @@ var ARRAY_OPERATORS = {
1470
1476
  category: "std-array",
1471
1477
  minArity: 2,
1472
1478
  maxArity: 2,
1473
- description: "Find first element matching predicate",
1479
+ description: "Find first element matching predicate (element type of input array, undefined when no match)",
1474
1480
  hasSideEffects: false,
1475
1481
  returnType: "any",
1482
+ returnSemantics: "element-of-arg<0>?",
1476
1483
  acceptsLambda: true,
1477
1484
  lambdaArgPosition: 1,
1478
1485
  params: [
@@ -1502,9 +1509,10 @@ var ARRAY_OPERATORS = {
1502
1509
  category: "std-array",
1503
1510
  minArity: 2,
1504
1511
  maxArity: 2,
1505
- description: "Keep elements matching predicate",
1512
+ description: "Keep elements matching predicate (returns same array element type as input)",
1506
1513
  hasSideEffects: false,
1507
1514
  returnType: "array",
1515
+ returnSemantics: "identity-of-arg<0>",
1508
1516
  acceptsLambda: true,
1509
1517
  lambdaArgPosition: 1,
1510
1518
  params: [
@@ -1518,9 +1526,10 @@ var ARRAY_OPERATORS = {
1518
1526
  category: "std-array",
1519
1527
  minArity: 2,
1520
1528
  maxArity: 2,
1521
- description: "Remove elements matching predicate",
1529
+ description: "Remove elements matching predicate (returns same array element type as input)",
1522
1530
  hasSideEffects: false,
1523
1531
  returnType: "array",
1532
+ returnSemantics: "identity-of-arg<0>",
1524
1533
  acceptsLambda: true,
1525
1534
  lambdaArgPosition: 1,
1526
1535
  params: [
@@ -1534,9 +1543,10 @@ var ARRAY_OPERATORS = {
1534
1543
  category: "std-array",
1535
1544
  minArity: 2,
1536
1545
  maxArity: 2,
1537
- description: "Transform each element",
1546
+ description: "Transform each element (return type wraps the lambda result in an array)",
1538
1547
  hasSideEffects: false,
1539
1548
  returnType: "array",
1549
+ returnSemantics: "lambda-result",
1540
1550
  acceptsLambda: true,
1541
1551
  lambdaArgPosition: 1,
1542
1552
  params: [
@@ -1550,9 +1560,10 @@ var ARRAY_OPERATORS = {
1550
1560
  category: "std-array",
1551
1561
  minArity: 3,
1552
1562
  maxArity: 3,
1553
- description: "Reduce array to single value",
1563
+ description: "Reduce array to single value (return type matches the lambda result / init type)",
1554
1564
  hasSideEffects: false,
1555
1565
  returnType: "any",
1566
+ returnSemantics: "lambda-result",
1556
1567
  acceptsLambda: true,
1557
1568
  lambdaArgPosition: 1,
1558
1569
  params: [
@@ -1805,9 +1816,10 @@ var OBJECT_OPERATORS = {
1805
1816
  category: "std-object",
1806
1817
  minArity: 2,
1807
1818
  maxArity: 3,
1808
- description: "Get nested value by path",
1819
+ description: "Get nested value by path (return type derived from input object shape and key)",
1809
1820
  hasSideEffects: false,
1810
1821
  returnType: "any",
1822
+ returnSemantics: "object-key-lookup",
1811
1823
  params: [
1812
1824
  { name: "obj", type: "object", description: "The object" },
1813
1825
  { name: "path", type: "string", description: 'Dot-separated path (e.g., "user.name")' },
@@ -1871,9 +1883,10 @@ var OBJECT_OPERATORS = {
1871
1883
  category: "std-object",
1872
1884
  minArity: 2,
1873
1885
  maxArity: 2,
1874
- description: "Select only specified keys",
1886
+ description: "Select only specified keys (return type is subset of input object shape)",
1875
1887
  hasSideEffects: false,
1876
1888
  returnType: "any",
1889
+ returnSemantics: "object-key-lookup",
1877
1890
  params: [
1878
1891
  { name: "obj", type: "object", description: "The object" },
1879
1892
  { name: "keys", type: "array", description: "Keys to keep" }