gauss-ai 4.0.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 (232) hide show
  1. package/CHANGELOG.md +489 -0
  2. package/LICENSE +21 -0
  3. package/README.md +269 -0
  4. package/dist/a2a/index.cjs +7 -0
  5. package/dist/a2a/index.cjs.map +1 -0
  6. package/dist/a2a/index.d.cts +30 -0
  7. package/dist/a2a/index.d.ts +30 -0
  8. package/dist/a2a/index.js +7 -0
  9. package/dist/a2a/index.js.map +1 -0
  10. package/dist/agent-UIQDSYCE.js +16 -0
  11. package/dist/agent-UIQDSYCE.js.map +1 -0
  12. package/dist/agent-builder-8W3mBR-N.d.ts +1075 -0
  13. package/dist/agent-builder-GEMYdb1p.d.cts +1075 -0
  14. package/dist/agent-graph-AMQYAWNF.js +1422 -0
  15. package/dist/agent-graph-AMQYAWNF.js.map +1 -0
  16. package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js +124 -0
  17. package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js.map +1 -0
  18. package/dist/browser/index.js +10 -0
  19. package/dist/browser/index.js.map +1 -0
  20. package/dist/bun-runtime.adapter-MQDAJLQM.js +8 -0
  21. package/dist/bun-runtime.adapter-MQDAJLQM.js.map +1 -0
  22. package/dist/bun-runtime.adapter-XKOUXVAK.cjs +8 -0
  23. package/dist/bun-runtime.adapter-XKOUXVAK.cjs.map +1 -0
  24. package/dist/chat-A3XMRPJL.js +129 -0
  25. package/dist/chat-A3XMRPJL.js.map +1 -0
  26. package/dist/chunk-2ZRU47NC.js +91 -0
  27. package/dist/chunk-2ZRU47NC.js.map +1 -0
  28. package/dist/chunk-3LD3JTH4.cjs +18 -0
  29. package/dist/chunk-3LD3JTH4.cjs.map +1 -0
  30. package/dist/chunk-5FE5TG2W.cjs +16 -0
  31. package/dist/chunk-5FE5TG2W.cjs.map +1 -0
  32. package/dist/chunk-6XF673YC.cjs +436 -0
  33. package/dist/chunk-6XF673YC.cjs.map +1 -0
  34. package/dist/chunk-7CKWZJNS.js +230 -0
  35. package/dist/chunk-7CKWZJNS.js.map +1 -0
  36. package/dist/chunk-BI2G665F.js +4588 -0
  37. package/dist/chunk-BI2G665F.js.map +1 -0
  38. package/dist/chunk-C5NLWJS2.js +139 -0
  39. package/dist/chunk-C5NLWJS2.js.map +1 -0
  40. package/dist/chunk-CJZ66SU3.cjs +4321 -0
  41. package/dist/chunk-CJZ66SU3.cjs.map +1 -0
  42. package/dist/chunk-DAMT2CXW.cjs +91 -0
  43. package/dist/chunk-DAMT2CXW.cjs.map +1 -0
  44. package/dist/chunk-E7WG3MO5.js +18 -0
  45. package/dist/chunk-E7WG3MO5.js.map +1 -0
  46. package/dist/chunk-EFDM6R4J.js +99 -0
  47. package/dist/chunk-EFDM6R4J.js.map +1 -0
  48. package/dist/chunk-F7WIPPEO.js +256 -0
  49. package/dist/chunk-F7WIPPEO.js.map +1 -0
  50. package/dist/chunk-FAYDE67N.js +6927 -0
  51. package/dist/chunk-FAYDE67N.js.map +1 -0
  52. package/dist/chunk-GAE2KKCM.js +21 -0
  53. package/dist/chunk-GAE2KKCM.js.map +1 -0
  54. package/dist/chunk-INLNGRXM.cjs +130 -0
  55. package/dist/chunk-INLNGRXM.cjs.map +1 -0
  56. package/dist/chunk-JKXKXB5O.js +130 -0
  57. package/dist/chunk-JKXKXB5O.js.map +1 -0
  58. package/dist/chunk-K6SAETGP.js +375 -0
  59. package/dist/chunk-K6SAETGP.js.map +1 -0
  60. package/dist/chunk-KEASLAYR.js +157 -0
  61. package/dist/chunk-KEASLAYR.js.map +1 -0
  62. package/dist/chunk-KKJVNM6O.js +436 -0
  63. package/dist/chunk-KKJVNM6O.js.map +1 -0
  64. package/dist/chunk-KYIMVRIM.js +16 -0
  65. package/dist/chunk-KYIMVRIM.js.map +1 -0
  66. package/dist/chunk-MB7NXIZD.js +4321 -0
  67. package/dist/chunk-MB7NXIZD.js.map +1 -0
  68. package/dist/chunk-MHHDXPGE.js +209 -0
  69. package/dist/chunk-MHHDXPGE.js.map +1 -0
  70. package/dist/chunk-NE6JJA5W.js +401 -0
  71. package/dist/chunk-NE6JJA5W.js.map +1 -0
  72. package/dist/chunk-PF46XZBF.cjs +6927 -0
  73. package/dist/chunk-PF46XZBF.cjs.map +1 -0
  74. package/dist/chunk-PSJIAGDE.cjs +375 -0
  75. package/dist/chunk-PSJIAGDE.cjs.map +1 -0
  76. package/dist/chunk-PWOQDXNQ.js +16 -0
  77. package/dist/chunk-PWOQDXNQ.js.map +1 -0
  78. package/dist/chunk-QYOMQBBZ.cjs +230 -0
  79. package/dist/chunk-QYOMQBBZ.cjs.map +1 -0
  80. package/dist/chunk-UDFXLC4J.cjs +16 -0
  81. package/dist/chunk-UDFXLC4J.cjs.map +1 -0
  82. package/dist/chunk-UO4NGXRT.cjs +259 -0
  83. package/dist/chunk-UO4NGXRT.cjs.map +1 -0
  84. package/dist/chunk-UPFDFLEW.js +40 -0
  85. package/dist/chunk-UPFDFLEW.js.map +1 -0
  86. package/dist/chunk-V55JSQS7.cjs +16 -0
  87. package/dist/chunk-V55JSQS7.cjs.map +1 -0
  88. package/dist/chunk-VJADHXZL.cjs +16 -0
  89. package/dist/chunk-VJADHXZL.cjs.map +1 -0
  90. package/dist/chunk-VRWD7LCI.js +59 -0
  91. package/dist/chunk-VRWD7LCI.js.map +1 -0
  92. package/dist/chunk-WKKQ443C.js +487 -0
  93. package/dist/chunk-WKKQ443C.js.map +1 -0
  94. package/dist/chunk-X2GHUHAF.js +436 -0
  95. package/dist/chunk-X2GHUHAF.js.map +1 -0
  96. package/dist/chunk-XLGW3XNI.cjs +256 -0
  97. package/dist/chunk-XLGW3XNI.cjs.map +1 -0
  98. package/dist/chunk-ZFJKX4DP.js +16 -0
  99. package/dist/chunk-ZFJKX4DP.js.map +1 -0
  100. package/dist/chunk-ZM2OEWM2.js +259 -0
  101. package/dist/chunk-ZM2OEWM2.js.map +1 -0
  102. package/dist/chunk-ZNAIP2XV.js +16 -0
  103. package/dist/chunk-ZNAIP2XV.js.map +1 -0
  104. package/dist/chunk-ZYFAZYSL.js +42 -0
  105. package/dist/chunk-ZYFAZYSL.js.map +1 -0
  106. package/dist/cli/index.js +421 -0
  107. package/dist/cli/index.js.map +1 -0
  108. package/dist/config-4MHT6TQW.js +153 -0
  109. package/dist/config-4MHT6TQW.js.map +1 -0
  110. package/dist/config-REERQFK4.cjs +153 -0
  111. package/dist/config-REERQFK4.cjs.map +1 -0
  112. package/dist/cost-tracker-JLOU7IZJ.js +7 -0
  113. package/dist/cost-tracker-JLOU7IZJ.js.map +1 -0
  114. package/dist/demo-C52GMSYH.js +188 -0
  115. package/dist/demo-C52GMSYH.js.map +1 -0
  116. package/dist/deno/index.js +306 -0
  117. package/dist/deno/index.js.map +1 -0
  118. package/dist/deno-runtime.adapter-F744HY7K.js +8 -0
  119. package/dist/deno-runtime.adapter-F744HY7K.js.map +1 -0
  120. package/dist/deno-runtime.adapter-RFEVNSCV.cjs +8 -0
  121. package/dist/deno-runtime.adapter-RFEVNSCV.cjs.map +1 -0
  122. package/dist/dev-D7DDVDA4.js +218 -0
  123. package/dist/dev-D7DDVDA4.js.map +1 -0
  124. package/dist/edge/index.js +10 -0
  125. package/dist/edge/index.js.map +1 -0
  126. package/dist/edge-runtime.adapter-UQCW2F7X.js +8 -0
  127. package/dist/edge-runtime.adapter-UQCW2F7X.js.map +1 -0
  128. package/dist/edge-runtime.adapter-YED6F3AY.cjs +8 -0
  129. package/dist/edge-runtime.adapter-YED6F3AY.cjs.map +1 -0
  130. package/dist/graph-MGFAQZ5W.js +50 -0
  131. package/dist/graph-MGFAQZ5W.js.map +1 -0
  132. package/dist/graph-visualization-HBSVQXJK.js +9 -0
  133. package/dist/graph-visualization-HBSVQXJK.js.map +1 -0
  134. package/dist/index-BRgqNnh3.d.cts +982 -0
  135. package/dist/index-CZxpYUxZ.d.ts +982 -0
  136. package/dist/index.cjs +14789 -0
  137. package/dist/index.cjs.map +1 -0
  138. package/dist/index.d.cts +10275 -0
  139. package/dist/index.d.ts +10275 -0
  140. package/dist/index.js +14789 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/init-CFWXTQ35.js +133 -0
  143. package/dist/init-CFWXTQ35.js.map +1 -0
  144. package/dist/llm-VWO4MC7J.cjs +17 -0
  145. package/dist/llm-VWO4MC7J.cjs.map +1 -0
  146. package/dist/llm-XLXVSPBI.js +17 -0
  147. package/dist/llm-XLXVSPBI.js.map +1 -0
  148. package/dist/logging-WRAK5ZXT.js +33 -0
  149. package/dist/logging-WRAK5ZXT.js.map +1 -0
  150. package/dist/metrics-FAHZVVD4.js +47 -0
  151. package/dist/metrics-FAHZVVD4.js.map +1 -0
  152. package/dist/node/index.cjs +280 -0
  153. package/dist/node/index.cjs.map +1 -0
  154. package/dist/node/index.d.cts +51 -0
  155. package/dist/node/index.d.ts +51 -0
  156. package/dist/node/index.js +280 -0
  157. package/dist/node/index.js.map +1 -0
  158. package/dist/node-runtime.adapter-5L7PJ6W2.js +8 -0
  159. package/dist/node-runtime.adapter-5L7PJ6W2.js.map +1 -0
  160. package/dist/node-runtime.adapter-CCRZVGHB.cjs +8 -0
  161. package/dist/node-runtime.adapter-CCRZVGHB.cjs.map +1 -0
  162. package/dist/persist-usage-WTBTCWEF.js +7 -0
  163. package/dist/persist-usage-WTBTCWEF.js.map +1 -0
  164. package/dist/plugin-RCPBWUUA.js +207 -0
  165. package/dist/plugin-RCPBWUUA.js.map +1 -0
  166. package/dist/plugins/index.cjs +75 -0
  167. package/dist/plugins/index.cjs.map +1 -0
  168. package/dist/plugins/index.d.cts +8 -0
  169. package/dist/plugins/index.d.ts +8 -0
  170. package/dist/plugins/index.js +75 -0
  171. package/dist/plugins/index.js.map +1 -0
  172. package/dist/plugins-L4ING3CX.js +4625 -0
  173. package/dist/plugins-L4ING3CX.js.map +1 -0
  174. package/dist/providers/index.cjs +189 -0
  175. package/dist/providers/index.cjs.map +1 -0
  176. package/dist/providers/index.d.cts +168 -0
  177. package/dist/providers/index.d.ts +168 -0
  178. package/dist/providers/index.js +189 -0
  179. package/dist/providers/index.js.map +1 -0
  180. package/dist/providers-3RNQ5CKZ.js +59 -0
  181. package/dist/providers-3RNQ5CKZ.js.map +1 -0
  182. package/dist/providers-66GPXUGQ.cjs +59 -0
  183. package/dist/providers-66GPXUGQ.cjs.map +1 -0
  184. package/dist/repl-K6QN4I2S.js +678 -0
  185. package/dist/repl-K6QN4I2S.js.map +1 -0
  186. package/dist/rest/index.cjs +17 -0
  187. package/dist/rest/index.cjs.map +1 -0
  188. package/dist/rest/index.d.cts +102 -0
  189. package/dist/rest/index.d.ts +102 -0
  190. package/dist/rest/index.js +17 -0
  191. package/dist/rest/index.js.map +1 -0
  192. package/dist/runtime-deno.js +15 -0
  193. package/dist/runtime-deno.js.map +1 -0
  194. package/dist/runtime-edge.js +15 -0
  195. package/dist/runtime-edge.js.map +1 -0
  196. package/dist/runtime-node.js +15 -0
  197. package/dist/runtime-node.js.map +1 -0
  198. package/dist/scraping/index.cjs +11 -0
  199. package/dist/scraping/index.cjs.map +1 -0
  200. package/dist/scraping/index.d.cts +17 -0
  201. package/dist/scraping/index.d.ts +17 -0
  202. package/dist/scraping/index.js +11 -0
  203. package/dist/scraping/index.js.map +1 -0
  204. package/dist/semantic-scraping.port-CZWUea88.d.cts +54 -0
  205. package/dist/semantic-scraping.port-CZWUea88.d.ts +54 -0
  206. package/dist/server/index.js +166 -0
  207. package/dist/server/index.js.map +1 -0
  208. package/dist/testing/index.cjs +25 -0
  209. package/dist/testing/index.cjs.map +1 -0
  210. package/dist/testing/index.d.cts +63 -0
  211. package/dist/testing/index.d.ts +63 -0
  212. package/dist/testing/index.js +25 -0
  213. package/dist/testing/index.js.map +1 -0
  214. package/dist/token-counter.port-CRgxZZGe.d.ts +334 -0
  215. package/dist/token-counter.port-D7BHMCRR.d.cts +334 -0
  216. package/dist/tools-BZM33OBZ.js +10 -0
  217. package/dist/tools-BZM33OBZ.js.map +1 -0
  218. package/dist/tracing-XA3TEWP4.js +48 -0
  219. package/dist/tracing-XA3TEWP4.js.map +1 -0
  220. package/dist/types-CVsP7gFI.d.cts +235 -0
  221. package/dist/types-CVsP7gFI.d.ts +235 -0
  222. package/dist/virtual-fs.adapter-BBLS-3AY.d.ts +26 -0
  223. package/dist/virtual-fs.adapter-nb0CTYOj.d.cts +26 -0
  224. package/dist/workflow/index.cjs +9 -0
  225. package/dist/workflow/index.cjs.map +1 -0
  226. package/dist/workflow/index.d.cts +62 -0
  227. package/dist/workflow/index.d.ts +62 -0
  228. package/dist/workflow/index.js +9 -0
  229. package/dist/workflow/index.js.map +1 -0
  230. package/dist/workflow.port-BaCttxrw.d.cts +153 -0
  231. package/dist/workflow.port-BaCttxrw.d.ts +153 -0
  232. package/package.json +230 -0
@@ -0,0 +1,21 @@
1
+ // src/cli/persist-usage.ts
2
+ async function persistUsage(tracker) {
3
+ const { appendFileSync, existsSync, mkdirSync } = await import("fs");
4
+ const { homedir } = await import("os");
5
+ const { join } = await import("path");
6
+ const dir = join(homedir(), ".gauss");
7
+ const usagePath = join(dir, "usage.ndjson");
8
+ const records = JSON.parse(tracker.exportUsage());
9
+ if (records.length === 0) return;
10
+ if (!existsSync(dir)) {
11
+ mkdirSync(dir, { recursive: true });
12
+ }
13
+ for (const record of records) {
14
+ appendFileSync(usagePath, JSON.stringify(record) + "\n");
15
+ }
16
+ }
17
+
18
+ export {
19
+ persistUsage
20
+ };
21
+ //# sourceMappingURL=chunk-GAE2KKCM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/persist-usage.ts"],"sourcesContent":["// =============================================================================\n// persistUsage — Append session cost data to ~/.gauss/usage.json\n// =============================================================================\n\nimport type { CostTrackerPort } from \"../ports/cost-tracker.port.js\";\n\nexport async function persistUsage(tracker: CostTrackerPort): Promise<void> {\n const { appendFileSync, existsSync, mkdirSync } = await import(\"node:fs\");\n const { homedir } = await import(\"node:os\");\n const { join } = await import(\"node:path\");\n\n const dir = join(homedir(), \".gauss\");\n const usagePath = join(dir, \"usage.ndjson\");\n\n const records: unknown[] = JSON.parse(tracker.exportUsage());\n if (records.length === 0) return;\n\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n\n for (const record of records) {\n appendFileSync(usagePath, JSON.stringify(record) + '\\n');\n }\n}\n"],"mappings":";AAMA,eAAsB,aAAa,SAAyC;AAC1E,QAAM,EAAE,gBAAgB,YAAY,UAAU,IAAI,MAAM,OAAO,IAAS;AACxE,QAAM,EAAE,QAAQ,IAAI,MAAM,OAAO,IAAS;AAC1C,QAAM,EAAE,KAAK,IAAI,MAAM,OAAO,MAAW;AAEzC,QAAM,MAAM,KAAK,QAAQ,GAAG,QAAQ;AACpC,QAAM,YAAY,KAAK,KAAK,cAAc;AAE1C,QAAM,UAAqB,KAAK,MAAM,QAAQ,YAAY,CAAC;AAC3D,MAAI,QAAQ,WAAW,EAAG;AAE1B,MAAI,CAAC,WAAW,GAAG,GAAG;AACpB,cAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACpC;AAEA,aAAW,UAAU,SAAS;AAC5B,mBAAe,WAAW,KAAK,UAAU,MAAM,IAAI,IAAI;AAAA,EACzD;AACF;","names":[]}
@@ -0,0 +1,130 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _class;// src/domain/workflow.builder.ts
2
+ var WorkflowBuilder = (_class = class {
3
+
4
+
5
+ __init() {this.steps = []}
6
+
7
+
8
+ constructor(id, name) {;_class.prototype.__init.call(this);
9
+ this.id = id;
10
+ this.workflowName = name;
11
+ }
12
+ step(id, name, execute) {
13
+ this.steps.push({ id, name, execute });
14
+ return this;
15
+ }
16
+ parallel(id, name, branches, mergeStrategy) {
17
+ const step = { id, name, type: "parallel", branches, mergeStrategy };
18
+ this.steps.push(step);
19
+ return this;
20
+ }
21
+ conditional(id, name, opts) {
22
+ const step = {
23
+ id,
24
+ name,
25
+ type: "conditional",
26
+ condition: opts.condition,
27
+ ifTrue: opts.ifTrue,
28
+ ifFalse: opts.ifFalse
29
+ };
30
+ this.steps.push(step);
31
+ return this;
32
+ }
33
+ loop(id, name, opts) {
34
+ const step = {
35
+ id,
36
+ name,
37
+ type: "loop",
38
+ body: opts.body,
39
+ condition: opts.condition,
40
+ maxIterations: opts.maxIterations
41
+ };
42
+ this.steps.push(step);
43
+ return this;
44
+ }
45
+ foreach(id, name, opts) {
46
+ const step = {
47
+ id,
48
+ name,
49
+ type: "foreach",
50
+ iterable: opts.iterable,
51
+ step: opts.step,
52
+ itemKey: opts.itemKey,
53
+ indexKey: opts.indexKey,
54
+ aggregateOutputKey: opts.aggregateOutputKey,
55
+ aggregationMode: opts.aggregationMode,
56
+ maxConcurrency: opts.maxConcurrency,
57
+ maxIterations: opts.maxIterations
58
+ };
59
+ this.steps.push(step);
60
+ return this;
61
+ }
62
+ map(id, name, opts) {
63
+ const step = {
64
+ id,
65
+ name,
66
+ type: "map",
67
+ input: opts.input,
68
+ transform: opts.transform,
69
+ outputKey: opts.outputKey,
70
+ itemKey: opts.itemKey,
71
+ indexKey: opts.indexKey,
72
+ filter: opts.filter,
73
+ maxConcurrency: opts.maxConcurrency
74
+ };
75
+ this.steps.push(step);
76
+ return this;
77
+ }
78
+ agentStep(id, name, prompt, outputKey) {
79
+ const step = { id, name, type: "agent", prompt, outputKey };
80
+ this.steps.push(step);
81
+ return this;
82
+ }
83
+ /** Apply retry config to the last added step */
84
+ withRetry(config) {
85
+ const last = this.steps[this.steps.length - 1];
86
+ if (!last) throw new Error("withRetry: no step to apply to");
87
+ last.retry = config;
88
+ return this;
89
+ }
90
+ /** Apply rollback to the last added step */
91
+ withRollback(fn) {
92
+ const last = this.steps[this.steps.length - 1];
93
+ if (!last) throw new Error("withRollback: no step to apply to");
94
+ last.rollback = fn;
95
+ return this;
96
+ }
97
+ /** Apply condition to the last added step */
98
+ withCondition(fn) {
99
+ const last = this.steps[this.steps.length - 1];
100
+ if (!last) throw new Error("withCondition: no step to apply to");
101
+ last.condition = fn;
102
+ return this;
103
+ }
104
+ withTimeout(ms) {
105
+ this.timeoutMs = ms;
106
+ return this;
107
+ }
108
+ withInitialContext(ctx) {
109
+ this.initCtx = ctx;
110
+ return this;
111
+ }
112
+ build() {
113
+ return {
114
+ id: this.id,
115
+ name: this.workflowName,
116
+ steps: this.steps,
117
+ initialContext: this.initCtx,
118
+ maxDurationMs: this.timeoutMs
119
+ };
120
+ }
121
+ }, _class);
122
+ function defineWorkflow(id, name) {
123
+ return new WorkflowBuilder(id, name);
124
+ }
125
+
126
+
127
+
128
+
129
+ exports.WorkflowBuilder = WorkflowBuilder; exports.defineWorkflow = defineWorkflow;
130
+ //# sourceMappingURL=chunk-INLNGRXM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/giulioleone/Sviluppo/gauss/gauss-flow/dist/chunk-INLNGRXM.cjs","../src/domain/workflow.builder.ts"],"names":[],"mappings":"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","file":"/Users/giulioleone/Sviluppo/gauss/gauss-flow/dist/chunk-INLNGRXM.cjs","sourcesContent":[null,"// =============================================================================\n// WorkflowBuilder — Fluent DSL for defining workflows\n// =============================================================================\n\nimport type {\n WorkflowStep,\n WorkflowContext,\n WorkflowDefinition,\n AnyStep,\n ParallelStep,\n ConditionalStep,\n LoopStep,\n ForeachStep,\n MapStep,\n AgentStep,\n RetryConfig,\n} from \"./workflow.schema.js\";\n\ntype ConditionFn = (ctx: WorkflowContext) => boolean;\ntype RollbackFn = (ctx: WorkflowContext) => Promise<void>;\ntype PromptFn = (ctx: WorkflowContext) => string;\n\ninterface ConditionalOpts {\n condition: ConditionFn;\n ifTrue: WorkflowStep;\n ifFalse?: WorkflowStep;\n}\n\ninterface LoopOpts {\n body: WorkflowStep;\n condition: ConditionFn;\n maxIterations?: number;\n}\n\ninterface ForeachOpts {\n iterable: string;\n step: WorkflowStep;\n itemKey?: string;\n indexKey?: string;\n aggregateOutputKey?: string;\n aggregationMode?: \"array\" | \"concat\" | \"merge\";\n maxConcurrency?: number;\n maxIterations?: number;\n}\n\ninterface MapOpts {\n input: string;\n transform: WorkflowStep;\n outputKey: string;\n itemKey?: string;\n indexKey?: string;\n filter?: (item: unknown, index: number, ctx: WorkflowContext) => boolean;\n maxConcurrency?: number;\n}\n\nexport class WorkflowBuilder {\n private readonly id: string;\n private readonly workflowName: string;\n private readonly steps: AnyStep[] = [];\n private timeoutMs?: number;\n private initCtx?: WorkflowContext;\n\n constructor(id: string, name: string) {\n this.id = id;\n this.workflowName = name;\n }\n\n step(\n id: string,\n name: string,\n execute: (ctx: WorkflowContext) => Promise<WorkflowContext>,\n ): this {\n this.steps.push({ id, name, execute });\n return this;\n }\n\n parallel(id: string, name: string, branches: WorkflowStep[], mergeStrategy?: 'all' | 'first' | 'race'): this {\n const step: ParallelStep = { id, name, type: 'parallel', branches, mergeStrategy };\n this.steps.push(step);\n return this;\n }\n\n conditional(id: string, name: string, opts: ConditionalOpts): this {\n const step: ConditionalStep = {\n id,\n name,\n type: 'conditional',\n condition: opts.condition,\n ifTrue: opts.ifTrue,\n ifFalse: opts.ifFalse,\n };\n this.steps.push(step);\n return this;\n }\n\n loop(id: string, name: string, opts: LoopOpts): this {\n const step: LoopStep = {\n id,\n name,\n type: 'loop',\n body: opts.body,\n condition: opts.condition,\n maxIterations: opts.maxIterations,\n };\n this.steps.push(step);\n return this;\n }\n\n foreach(id: string, name: string, opts: ForeachOpts): this {\n const step: ForeachStep = {\n id,\n name,\n type: \"foreach\",\n iterable: opts.iterable,\n step: opts.step,\n itemKey: opts.itemKey,\n indexKey: opts.indexKey,\n aggregateOutputKey: opts.aggregateOutputKey,\n aggregationMode: opts.aggregationMode,\n maxConcurrency: opts.maxConcurrency,\n maxIterations: opts.maxIterations,\n };\n this.steps.push(step);\n return this;\n }\n\n map(id: string, name: string, opts: MapOpts): this {\n const step: MapStep = {\n id,\n name,\n type: \"map\",\n input: opts.input,\n transform: opts.transform,\n outputKey: opts.outputKey,\n itemKey: opts.itemKey,\n indexKey: opts.indexKey,\n filter: opts.filter,\n maxConcurrency: opts.maxConcurrency,\n };\n this.steps.push(step);\n return this;\n }\n\n agentStep(id: string, name: string, prompt: string | PromptFn, outputKey: string): this {\n const step: AgentStep = { id, name, type: 'agent', prompt, outputKey };\n this.steps.push(step);\n return this;\n }\n\n /** Apply retry config to the last added step */\n withRetry(config: Partial<RetryConfig>): this {\n const last = this.steps[this.steps.length - 1];\n if (!last) throw new Error(\"withRetry: no step to apply to\");\n (last as WorkflowStep).retry = config;\n return this;\n }\n\n /** Apply rollback to the last added step */\n withRollback(fn: RollbackFn): this {\n const last = this.steps[this.steps.length - 1];\n if (!last) throw new Error(\"withRollback: no step to apply to\");\n (last as WorkflowStep).rollback = fn;\n return this;\n }\n\n /** Apply condition to the last added step */\n withCondition(fn: ConditionFn): this {\n const last = this.steps[this.steps.length - 1];\n if (!last) throw new Error(\"withCondition: no step to apply to\");\n (last as WorkflowStep).condition = fn;\n return this;\n }\n\n withTimeout(ms: number): this {\n this.timeoutMs = ms;\n return this;\n }\n\n withInitialContext(ctx: WorkflowContext): this {\n this.initCtx = ctx;\n return this;\n }\n\n build(): WorkflowDefinition {\n return {\n id: this.id,\n name: this.workflowName,\n steps: this.steps,\n initialContext: this.initCtx,\n maxDurationMs: this.timeoutMs,\n };\n }\n}\n\nexport function defineWorkflow(id: string, name: string): WorkflowBuilder {\n return new WorkflowBuilder(id, name);\n}\n"]}
@@ -0,0 +1,130 @@
1
+ // src/domain/workflow.builder.ts
2
+ var WorkflowBuilder = class {
3
+ id;
4
+ workflowName;
5
+ steps = [];
6
+ timeoutMs;
7
+ initCtx;
8
+ constructor(id, name) {
9
+ this.id = id;
10
+ this.workflowName = name;
11
+ }
12
+ step(id, name, execute) {
13
+ this.steps.push({ id, name, execute });
14
+ return this;
15
+ }
16
+ parallel(id, name, branches, mergeStrategy) {
17
+ const step = { id, name, type: "parallel", branches, mergeStrategy };
18
+ this.steps.push(step);
19
+ return this;
20
+ }
21
+ conditional(id, name, opts) {
22
+ const step = {
23
+ id,
24
+ name,
25
+ type: "conditional",
26
+ condition: opts.condition,
27
+ ifTrue: opts.ifTrue,
28
+ ifFalse: opts.ifFalse
29
+ };
30
+ this.steps.push(step);
31
+ return this;
32
+ }
33
+ loop(id, name, opts) {
34
+ const step = {
35
+ id,
36
+ name,
37
+ type: "loop",
38
+ body: opts.body,
39
+ condition: opts.condition,
40
+ maxIterations: opts.maxIterations
41
+ };
42
+ this.steps.push(step);
43
+ return this;
44
+ }
45
+ foreach(id, name, opts) {
46
+ const step = {
47
+ id,
48
+ name,
49
+ type: "foreach",
50
+ iterable: opts.iterable,
51
+ step: opts.step,
52
+ itemKey: opts.itemKey,
53
+ indexKey: opts.indexKey,
54
+ aggregateOutputKey: opts.aggregateOutputKey,
55
+ aggregationMode: opts.aggregationMode,
56
+ maxConcurrency: opts.maxConcurrency,
57
+ maxIterations: opts.maxIterations
58
+ };
59
+ this.steps.push(step);
60
+ return this;
61
+ }
62
+ map(id, name, opts) {
63
+ const step = {
64
+ id,
65
+ name,
66
+ type: "map",
67
+ input: opts.input,
68
+ transform: opts.transform,
69
+ outputKey: opts.outputKey,
70
+ itemKey: opts.itemKey,
71
+ indexKey: opts.indexKey,
72
+ filter: opts.filter,
73
+ maxConcurrency: opts.maxConcurrency
74
+ };
75
+ this.steps.push(step);
76
+ return this;
77
+ }
78
+ agentStep(id, name, prompt, outputKey) {
79
+ const step = { id, name, type: "agent", prompt, outputKey };
80
+ this.steps.push(step);
81
+ return this;
82
+ }
83
+ /** Apply retry config to the last added step */
84
+ withRetry(config) {
85
+ const last = this.steps[this.steps.length - 1];
86
+ if (!last) throw new Error("withRetry: no step to apply to");
87
+ last.retry = config;
88
+ return this;
89
+ }
90
+ /** Apply rollback to the last added step */
91
+ withRollback(fn) {
92
+ const last = this.steps[this.steps.length - 1];
93
+ if (!last) throw new Error("withRollback: no step to apply to");
94
+ last.rollback = fn;
95
+ return this;
96
+ }
97
+ /** Apply condition to the last added step */
98
+ withCondition(fn) {
99
+ const last = this.steps[this.steps.length - 1];
100
+ if (!last) throw new Error("withCondition: no step to apply to");
101
+ last.condition = fn;
102
+ return this;
103
+ }
104
+ withTimeout(ms) {
105
+ this.timeoutMs = ms;
106
+ return this;
107
+ }
108
+ withInitialContext(ctx) {
109
+ this.initCtx = ctx;
110
+ return this;
111
+ }
112
+ build() {
113
+ return {
114
+ id: this.id,
115
+ name: this.workflowName,
116
+ steps: this.steps,
117
+ initialContext: this.initCtx,
118
+ maxDurationMs: this.timeoutMs
119
+ };
120
+ }
121
+ };
122
+ function defineWorkflow(id, name) {
123
+ return new WorkflowBuilder(id, name);
124
+ }
125
+
126
+ export {
127
+ WorkflowBuilder,
128
+ defineWorkflow
129
+ };
130
+ //# sourceMappingURL=chunk-JKXKXB5O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domain/workflow.builder.ts"],"sourcesContent":["// =============================================================================\n// WorkflowBuilder — Fluent DSL for defining workflows\n// =============================================================================\n\nimport type {\n WorkflowStep,\n WorkflowContext,\n WorkflowDefinition,\n AnyStep,\n ParallelStep,\n ConditionalStep,\n LoopStep,\n ForeachStep,\n MapStep,\n AgentStep,\n RetryConfig,\n} from \"./workflow.schema.js\";\n\ntype ConditionFn = (ctx: WorkflowContext) => boolean;\ntype RollbackFn = (ctx: WorkflowContext) => Promise<void>;\ntype PromptFn = (ctx: WorkflowContext) => string;\n\ninterface ConditionalOpts {\n condition: ConditionFn;\n ifTrue: WorkflowStep;\n ifFalse?: WorkflowStep;\n}\n\ninterface LoopOpts {\n body: WorkflowStep;\n condition: ConditionFn;\n maxIterations?: number;\n}\n\ninterface ForeachOpts {\n iterable: string;\n step: WorkflowStep;\n itemKey?: string;\n indexKey?: string;\n aggregateOutputKey?: string;\n aggregationMode?: \"array\" | \"concat\" | \"merge\";\n maxConcurrency?: number;\n maxIterations?: number;\n}\n\ninterface MapOpts {\n input: string;\n transform: WorkflowStep;\n outputKey: string;\n itemKey?: string;\n indexKey?: string;\n filter?: (item: unknown, index: number, ctx: WorkflowContext) => boolean;\n maxConcurrency?: number;\n}\n\nexport class WorkflowBuilder {\n private readonly id: string;\n private readonly workflowName: string;\n private readonly steps: AnyStep[] = [];\n private timeoutMs?: number;\n private initCtx?: WorkflowContext;\n\n constructor(id: string, name: string) {\n this.id = id;\n this.workflowName = name;\n }\n\n step(\n id: string,\n name: string,\n execute: (ctx: WorkflowContext) => Promise<WorkflowContext>,\n ): this {\n this.steps.push({ id, name, execute });\n return this;\n }\n\n parallel(id: string, name: string, branches: WorkflowStep[], mergeStrategy?: 'all' | 'first' | 'race'): this {\n const step: ParallelStep = { id, name, type: 'parallel', branches, mergeStrategy };\n this.steps.push(step);\n return this;\n }\n\n conditional(id: string, name: string, opts: ConditionalOpts): this {\n const step: ConditionalStep = {\n id,\n name,\n type: 'conditional',\n condition: opts.condition,\n ifTrue: opts.ifTrue,\n ifFalse: opts.ifFalse,\n };\n this.steps.push(step);\n return this;\n }\n\n loop(id: string, name: string, opts: LoopOpts): this {\n const step: LoopStep = {\n id,\n name,\n type: 'loop',\n body: opts.body,\n condition: opts.condition,\n maxIterations: opts.maxIterations,\n };\n this.steps.push(step);\n return this;\n }\n\n foreach(id: string, name: string, opts: ForeachOpts): this {\n const step: ForeachStep = {\n id,\n name,\n type: \"foreach\",\n iterable: opts.iterable,\n step: opts.step,\n itemKey: opts.itemKey,\n indexKey: opts.indexKey,\n aggregateOutputKey: opts.aggregateOutputKey,\n aggregationMode: opts.aggregationMode,\n maxConcurrency: opts.maxConcurrency,\n maxIterations: opts.maxIterations,\n };\n this.steps.push(step);\n return this;\n }\n\n map(id: string, name: string, opts: MapOpts): this {\n const step: MapStep = {\n id,\n name,\n type: \"map\",\n input: opts.input,\n transform: opts.transform,\n outputKey: opts.outputKey,\n itemKey: opts.itemKey,\n indexKey: opts.indexKey,\n filter: opts.filter,\n maxConcurrency: opts.maxConcurrency,\n };\n this.steps.push(step);\n return this;\n }\n\n agentStep(id: string, name: string, prompt: string | PromptFn, outputKey: string): this {\n const step: AgentStep = { id, name, type: 'agent', prompt, outputKey };\n this.steps.push(step);\n return this;\n }\n\n /** Apply retry config to the last added step */\n withRetry(config: Partial<RetryConfig>): this {\n const last = this.steps[this.steps.length - 1];\n if (!last) throw new Error(\"withRetry: no step to apply to\");\n (last as WorkflowStep).retry = config;\n return this;\n }\n\n /** Apply rollback to the last added step */\n withRollback(fn: RollbackFn): this {\n const last = this.steps[this.steps.length - 1];\n if (!last) throw new Error(\"withRollback: no step to apply to\");\n (last as WorkflowStep).rollback = fn;\n return this;\n }\n\n /** Apply condition to the last added step */\n withCondition(fn: ConditionFn): this {\n const last = this.steps[this.steps.length - 1];\n if (!last) throw new Error(\"withCondition: no step to apply to\");\n (last as WorkflowStep).condition = fn;\n return this;\n }\n\n withTimeout(ms: number): this {\n this.timeoutMs = ms;\n return this;\n }\n\n withInitialContext(ctx: WorkflowContext): this {\n this.initCtx = ctx;\n return this;\n }\n\n build(): WorkflowDefinition {\n return {\n id: this.id,\n name: this.workflowName,\n steps: this.steps,\n initialContext: this.initCtx,\n maxDurationMs: this.timeoutMs,\n };\n }\n}\n\nexport function defineWorkflow(id: string, name: string): WorkflowBuilder {\n return new WorkflowBuilder(id, name);\n}\n"],"mappings":"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","names":[]}