@arke-institute/rhiza 0.1.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 (230) hide show
  1. package/README.md +106 -0
  2. package/dist/__tests__/fixtures/index.d.ts +9 -0
  3. package/dist/__tests__/fixtures/index.d.ts.map +1 -0
  4. package/dist/__tests__/fixtures/index.js +12 -0
  5. package/dist/__tests__/fixtures/index.js.map +1 -0
  6. package/dist/__tests__/fixtures/kladoi/index.d.ts +165 -0
  7. package/dist/__tests__/fixtures/kladoi/index.d.ts.map +1 -0
  8. package/dist/__tests__/fixtures/kladoi/index.js +270 -0
  9. package/dist/__tests__/fixtures/kladoi/index.js.map +1 -0
  10. package/dist/__tests__/fixtures/logs/index.d.ts +19 -0
  11. package/dist/__tests__/fixtures/logs/index.d.ts.map +1 -0
  12. package/dist/__tests__/fixtures/logs/index.js +545 -0
  13. package/dist/__tests__/fixtures/logs/index.js.map +1 -0
  14. package/dist/__tests__/fixtures/mock-client.d.ts +127 -0
  15. package/dist/__tests__/fixtures/mock-client.d.ts.map +1 -0
  16. package/dist/__tests__/fixtures/mock-client.js +415 -0
  17. package/dist/__tests__/fixtures/mock-client.js.map +1 -0
  18. package/dist/__tests__/fixtures/rhizai/index.d.ts +54 -0
  19. package/dist/__tests__/fixtures/rhizai/index.d.ts.map +1 -0
  20. package/dist/__tests__/fixtures/rhizai/index.js +283 -0
  21. package/dist/__tests__/fixtures/rhizai/index.js.map +1 -0
  22. package/dist/__tests__/unit/fixtures.test.d.ts +10 -0
  23. package/dist/__tests__/unit/fixtures.test.d.ts.map +1 -0
  24. package/dist/__tests__/unit/fixtures.test.js +275 -0
  25. package/dist/__tests__/unit/fixtures.test.js.map +1 -0
  26. package/dist/__tests__/unit/handoff/gather.test.d.ts +8 -0
  27. package/dist/__tests__/unit/handoff/gather.test.d.ts.map +1 -0
  28. package/dist/__tests__/unit/handoff/gather.test.js +176 -0
  29. package/dist/__tests__/unit/handoff/gather.test.js.map +1 -0
  30. package/dist/__tests__/unit/handoff/interpret.test.d.ts +9 -0
  31. package/dist/__tests__/unit/handoff/interpret.test.d.ts.map +1 -0
  32. package/dist/__tests__/unit/handoff/interpret.test.js +370 -0
  33. package/dist/__tests__/unit/handoff/interpret.test.js.map +1 -0
  34. package/dist/__tests__/unit/handoff/route.test.d.ts +8 -0
  35. package/dist/__tests__/unit/handoff/route.test.d.ts.map +1 -0
  36. package/dist/__tests__/unit/handoff/route.test.js +271 -0
  37. package/dist/__tests__/unit/handoff/route.test.js.map +1 -0
  38. package/dist/__tests__/unit/handoff/scatter.test.d.ts +7 -0
  39. package/dist/__tests__/unit/handoff/scatter.test.d.ts.map +1 -0
  40. package/dist/__tests__/unit/handoff/scatter.test.js +54 -0
  41. package/dist/__tests__/unit/handoff/scatter.test.js.map +1 -0
  42. package/dist/__tests__/unit/resume.test.d.ts +8 -0
  43. package/dist/__tests__/unit/resume.test.d.ts.map +1 -0
  44. package/dist/__tests__/unit/resume.test.js +134 -0
  45. package/dist/__tests__/unit/resume.test.js.map +1 -0
  46. package/dist/__tests__/unit/status.test.d.ts +8 -0
  47. package/dist/__tests__/unit/status.test.d.ts.map +1 -0
  48. package/dist/__tests__/unit/status.test.js +164 -0
  49. package/dist/__tests__/unit/status.test.js.map +1 -0
  50. package/dist/__tests__/unit/target.test.d.ts +8 -0
  51. package/dist/__tests__/unit/target.test.d.ts.map +1 -0
  52. package/dist/__tests__/unit/target.test.js +116 -0
  53. package/dist/__tests__/unit/target.test.js.map +1 -0
  54. package/dist/__tests__/unit/traverse.test.d.ts +8 -0
  55. package/dist/__tests__/unit/traverse.test.d.ts.map +1 -0
  56. package/dist/__tests__/unit/traverse.test.js +143 -0
  57. package/dist/__tests__/unit/traverse.test.js.map +1 -0
  58. package/dist/__tests__/unit/validation/klados.test.d.ts +16 -0
  59. package/dist/__tests__/unit/validation/klados.test.d.ts.map +1 -0
  60. package/dist/__tests__/unit/validation/klados.test.js +275 -0
  61. package/dist/__tests__/unit/validation/klados.test.js.map +1 -0
  62. package/dist/__tests__/unit/validation/rhiza.test.d.ts +16 -0
  63. package/dist/__tests__/unit/validation/rhiza.test.d.ts.map +1 -0
  64. package/dist/__tests__/unit/validation/rhiza.test.js +612 -0
  65. package/dist/__tests__/unit/validation/rhiza.test.js.map +1 -0
  66. package/dist/__tests__/unit/validation/runtime.test.d.ts +11 -0
  67. package/dist/__tests__/unit/validation/runtime.test.d.ts.map +1 -0
  68. package/dist/__tests__/unit/validation/runtime.test.js +553 -0
  69. package/dist/__tests__/unit/validation/runtime.test.js.map +1 -0
  70. package/dist/__tests__/unit/worker/errors.test.d.ts +2 -0
  71. package/dist/__tests__/unit/worker/errors.test.d.ts.map +1 -0
  72. package/dist/__tests__/unit/worker/errors.test.js +226 -0
  73. package/dist/__tests__/unit/worker/errors.test.js.map +1 -0
  74. package/dist/__tests__/unit/worker/job.test.d.ts +2 -0
  75. package/dist/__tests__/unit/worker/job.test.d.ts.map +1 -0
  76. package/dist/__tests__/unit/worker/job.test.js +233 -0
  77. package/dist/__tests__/unit/worker/job.test.js.map +1 -0
  78. package/dist/client/index.d.ts +10 -0
  79. package/dist/client/index.d.ts.map +1 -0
  80. package/dist/client/index.js +8 -0
  81. package/dist/client/index.js.map +1 -0
  82. package/dist/client/interface.d.ts +142 -0
  83. package/dist/client/interface.d.ts.map +1 -0
  84. package/dist/client/interface.js +8 -0
  85. package/dist/client/interface.js.map +1 -0
  86. package/dist/client/mock.d.ts +95 -0
  87. package/dist/client/mock.d.ts.map +1 -0
  88. package/dist/client/mock.js +795 -0
  89. package/dist/client/mock.js.map +1 -0
  90. package/dist/client/types.d.ts +344 -0
  91. package/dist/client/types.d.ts.map +1 -0
  92. package/dist/client/types.js +8 -0
  93. package/dist/client/types.js.map +1 -0
  94. package/dist/handoff/gather-api.d.ts +60 -0
  95. package/dist/handoff/gather-api.d.ts.map +1 -0
  96. package/dist/handoff/gather-api.js +130 -0
  97. package/dist/handoff/gather-api.js.map +1 -0
  98. package/dist/handoff/gather.d.ts +59 -0
  99. package/dist/handoff/gather.d.ts.map +1 -0
  100. package/dist/handoff/gather.js +134 -0
  101. package/dist/handoff/gather.js.map +1 -0
  102. package/dist/handoff/index.d.ts +19 -0
  103. package/dist/handoff/index.d.ts.map +1 -0
  104. package/dist/handoff/index.js +25 -0
  105. package/dist/handoff/index.js.map +1 -0
  106. package/dist/handoff/interpret.d.ts +79 -0
  107. package/dist/handoff/interpret.d.ts.map +1 -0
  108. package/dist/handoff/interpret.js +197 -0
  109. package/dist/handoff/interpret.js.map +1 -0
  110. package/dist/handoff/invoke.d.ts +82 -0
  111. package/dist/handoff/invoke.d.ts.map +1 -0
  112. package/dist/handoff/invoke.js +196 -0
  113. package/dist/handoff/invoke.js.map +1 -0
  114. package/dist/handoff/route.d.ts +25 -0
  115. package/dist/handoff/route.d.ts.map +1 -0
  116. package/dist/handoff/route.js +65 -0
  117. package/dist/handoff/route.js.map +1 -0
  118. package/dist/handoff/scatter-api.d.ts +62 -0
  119. package/dist/handoff/scatter-api.d.ts.map +1 -0
  120. package/dist/handoff/scatter-api.js +81 -0
  121. package/dist/handoff/scatter-api.js.map +1 -0
  122. package/dist/handoff/scatter.d.ts +19 -0
  123. package/dist/handoff/scatter.d.ts.map +1 -0
  124. package/dist/handoff/scatter.js +27 -0
  125. package/dist/handoff/scatter.js.map +1 -0
  126. package/dist/handoff/target.d.ts +16 -0
  127. package/dist/handoff/target.d.ts.map +1 -0
  128. package/dist/handoff/target.js +51 -0
  129. package/dist/handoff/target.js.map +1 -0
  130. package/dist/index.d.ts +42 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +52 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/logging/index.d.ts +4 -0
  135. package/dist/logging/index.d.ts.map +1 -0
  136. package/dist/logging/index.js +3 -0
  137. package/dist/logging/index.js.map +1 -0
  138. package/dist/logging/logger.d.ts +52 -0
  139. package/dist/logging/logger.d.ts.map +1 -0
  140. package/dist/logging/logger.js +70 -0
  141. package/dist/logging/logger.js.map +1 -0
  142. package/dist/logging/writer.d.ts +63 -0
  143. package/dist/logging/writer.d.ts.map +1 -0
  144. package/dist/logging/writer.js +160 -0
  145. package/dist/logging/writer.js.map +1 -0
  146. package/dist/resume/index.d.ts +77 -0
  147. package/dist/resume/index.d.ts.map +1 -0
  148. package/dist/resume/index.js +110 -0
  149. package/dist/resume/index.js.map +1 -0
  150. package/dist/status/index.d.ts +54 -0
  151. package/dist/status/index.d.ts.map +1 -0
  152. package/dist/status/index.js +107 -0
  153. package/dist/status/index.js.map +1 -0
  154. package/dist/traverse/index.d.ts +53 -0
  155. package/dist/traverse/index.d.ts.map +1 -0
  156. package/dist/traverse/index.js +142 -0
  157. package/dist/traverse/index.js.map +1 -0
  158. package/dist/types/batch.d.ts +53 -0
  159. package/dist/types/batch.d.ts.map +1 -0
  160. package/dist/types/batch.js +2 -0
  161. package/dist/types/batch.js.map +1 -0
  162. package/dist/types/index.d.ts +10 -0
  163. package/dist/types/index.d.ts.map +1 -0
  164. package/dist/types/index.js +2 -0
  165. package/dist/types/index.js.map +1 -0
  166. package/dist/types/klados.d.ts +63 -0
  167. package/dist/types/klados.d.ts.map +1 -0
  168. package/dist/types/klados.js +2 -0
  169. package/dist/types/klados.js.map +1 -0
  170. package/dist/types/log.d.ts +107 -0
  171. package/dist/types/log.d.ts.map +1 -0
  172. package/dist/types/log.js +2 -0
  173. package/dist/types/log.js.map +1 -0
  174. package/dist/types/refs.d.ts +58 -0
  175. package/dist/types/refs.d.ts.map +1 -0
  176. package/dist/types/refs.js +43 -0
  177. package/dist/types/refs.js.map +1 -0
  178. package/dist/types/request.d.ts +69 -0
  179. package/dist/types/request.d.ts.map +1 -0
  180. package/dist/types/request.js +2 -0
  181. package/dist/types/request.js.map +1 -0
  182. package/dist/types/response.d.ts +31 -0
  183. package/dist/types/response.d.ts.map +1 -0
  184. package/dist/types/response.js +2 -0
  185. package/dist/types/response.js.map +1 -0
  186. package/dist/types/rhiza.d.ts +100 -0
  187. package/dist/types/rhiza.d.ts.map +1 -0
  188. package/dist/types/rhiza.js +2 -0
  189. package/dist/types/rhiza.js.map +1 -0
  190. package/dist/types/status.d.ts +84 -0
  191. package/dist/types/status.d.ts.map +1 -0
  192. package/dist/types/status.js +2 -0
  193. package/dist/types/status.js.map +1 -0
  194. package/dist/utils/id.d.ts +15 -0
  195. package/dist/utils/id.d.ts.map +1 -0
  196. package/dist/utils/id.js +25 -0
  197. package/dist/utils/id.js.map +1 -0
  198. package/dist/utils/index.d.ts +2 -0
  199. package/dist/utils/index.d.ts.map +1 -0
  200. package/dist/utils/index.js +2 -0
  201. package/dist/utils/index.js.map +1 -0
  202. package/dist/validation/index.d.ts +9 -0
  203. package/dist/validation/index.d.ts.map +1 -0
  204. package/dist/validation/index.js +9 -0
  205. package/dist/validation/index.js.map +1 -0
  206. package/dist/validation/validate-klados.d.ts +38 -0
  207. package/dist/validation/validate-klados.d.ts.map +1 -0
  208. package/dist/validation/validate-klados.js +139 -0
  209. package/dist/validation/validate-klados.js.map +1 -0
  210. package/dist/validation/validate-rhiza.d.ts +29 -0
  211. package/dist/validation/validate-rhiza.d.ts.map +1 -0
  212. package/dist/validation/validate-rhiza.js +382 -0
  213. package/dist/validation/validate-rhiza.js.map +1 -0
  214. package/dist/validation/validate-runtime.d.ts +28 -0
  215. package/dist/validation/validate-runtime.d.ts.map +1 -0
  216. package/dist/validation/validate-runtime.js +212 -0
  217. package/dist/validation/validate-runtime.js.map +1 -0
  218. package/dist/worker/errors.d.ts +77 -0
  219. package/dist/worker/errors.d.ts.map +1 -0
  220. package/dist/worker/errors.js +143 -0
  221. package/dist/worker/errors.js.map +1 -0
  222. package/dist/worker/index.d.ts +8 -0
  223. package/dist/worker/index.d.ts.map +1 -0
  224. package/dist/worker/index.js +8 -0
  225. package/dist/worker/index.js.map +1 -0
  226. package/dist/worker/job.d.ts +150 -0
  227. package/dist/worker/job.d.ts.map +1 -0
  228. package/dist/worker/job.js +280 -0
  229. package/dist/worker/job.js.map +1 -0
  230. package/package.json +48 -0
package/README.md ADDED
@@ -0,0 +1,106 @@
1
+ # @arke-institute/rhiza
2
+
3
+ Workflow protocol for Arke - a cascading handoff pattern for distributed actions.
4
+
5
+ ## Naming
6
+
7
+ - **Rhiza** (Greek: ῥίζα, "root") - A workflow definition, the root structure that branches out
8
+ - **Klados** (Greek: κλάδος, "branch") - An individual action/branch within a workflow
9
+
10
+ From Romans 11:16: *"εἰ … ἡ ῥίζα ἁγία, καὶ οἱ κλάδοι …"* ("if the root is holy, so are the branches")
11
+
12
+ ## Overview
13
+
14
+ Rhiza replaces centralized orchestrators with a **cascading handoff pattern** where actions invoke each other directly. Key features:
15
+
16
+ - **Push-based execution** - Actions invoke next actions (no polling orchestrator)
17
+ - **Log chain as state** - The execution log IS the state machine
18
+ - **Perfect resumability** - Every handoff records the exact request for replay
19
+ - **Runtime-agnostic** - Works with Cloudflare Workers, AWS Lambda, Node.js, etc.
20
+
21
+ ## Installation
22
+
23
+ ```bash
24
+ npm install @arke-institute/rhiza
25
+ ```
26
+
27
+ ## Quick Start
28
+
29
+ Build a klados worker in ~15 lines with `KladosJob`:
30
+
31
+ ```typescript
32
+ import { KladosJob, type KladosRequest } from '@arke-institute/rhiza';
33
+
34
+ export default {
35
+ async fetch(request: Request, env: Env, ctx: ExecutionContext) {
36
+ const req = await request.json<KladosRequest>();
37
+
38
+ const job = KladosJob.accept(req, {
39
+ agentId: env.AGENT_ID,
40
+ agentVersion: env.AGENT_VERSION,
41
+ authToken: env.ARKE_AGENT_KEY,
42
+ });
43
+
44
+ ctx.waitUntil(job.run(async () => {
45
+ job.log.info('Processing');
46
+ const target = await job.fetchTarget();
47
+ const outputs = await processEntity(target, job.client);
48
+ return outputs; // Job handles handoff + log finalization
49
+ }));
50
+
51
+ return Response.json(job.acceptResponse);
52
+ }
53
+ };
54
+ ```
55
+
56
+ `KladosJob` handles:
57
+ - Client setup with correct auth
58
+ - Initial log entry creation
59
+ - Workflow handoffs (`interpretThen`)
60
+ - Error handling (log + batch slot updates)
61
+ - Log finalization
62
+
63
+ See the full [Klados Worker Guide](docs/klados-worker-guide.md) for details.
64
+
65
+ ## Validation
66
+
67
+ ```typescript
68
+ import { validateRhizaProperties, validateKladosProperties } from '@arke-institute/rhiza';
69
+
70
+ const result = validateRhizaProperties(rhizaEntity.properties);
71
+ if (!result.valid) {
72
+ console.error('Errors:', result.errors);
73
+ console.warn('Warnings:', result.warnings);
74
+ }
75
+ ```
76
+
77
+ ## Handoff Types
78
+
79
+ | Type | Description | Example |
80
+ |------|-------------|---------|
81
+ | `pass` | 1:1 direct handoff | `{ pass: 'next-klados' }` |
82
+ | `scatter` | 1:N fan-out (parallel) | `{ scatter: 'worker-klados' }` |
83
+ | `gather` | N:1 fan-in (collect) | `{ gather: 'aggregator-klados' }` |
84
+ | `route` | Conditional routing | `{ route: [{ where: {...}, then: {...} }] }` |
85
+ | `done` | Terminal | `{ done: true }` |
86
+
87
+ ## Documentation
88
+
89
+ ### Guides
90
+
91
+ - **[Klados Worker Guide](docs/klados-worker-guide.md)** - Building workers with KladosJob
92
+
93
+ ### Design Documents
94
+
95
+ See the `plan/` directory for detailed design documentation:
96
+
97
+ - [01-types.md](plan/01-types.md) - Type definitions
98
+ - [02-validation.md](plan/02-validation.md) - Validation rules
99
+ - [03-handoff.md](plan/03-handoff.md) - Handoff logic
100
+ - [04-logging.md](plan/04-logging.md) - Logging and chain
101
+ - [05-resume.md](plan/05-resume.md) - Resumability
102
+ - [14-simplification.md](plan/14-simplification.md) - KladosJob design
103
+
104
+ ## License
105
+
106
+ MIT
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Test Fixtures Index
3
+ *
4
+ * Re-exports all fixtures for easy importing in tests
5
+ */
6
+ export { producerKlados, workerKlados, aggregatorKlados, passthroughKlados, pdfHandlerKlados, imageHandlerKlados, inactiveKlados, developmentKlados, scatterGatherKladoi, linearKladoi, conditionalKladoi, allMockKladoi, invalidKladosProperties, validKladosProperties, } from './kladoi';
7
+ export { linearFlow, linearRhizaProperties, linearRhiza, scatterGatherFlow, scatterGatherRhizaProperties, scatterGatherRhiza, conditionalFlow, conditionalRhizaProperties, conditionalRhiza, complexRoutingFlow, complexRoutingRhizaProperties, invalidRhizaProperties, allMockRhizai, } from './rhizai';
8
+ export { successfulLinearLogs, successfulScatterGatherLogs, partialErrorLogs, allErrorsLogs, mixedErrorLogs, runningWorkflowLogs, singleNodeLogs, } from './logs';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Test Fixtures Index
3
+ *
4
+ * Re-exports all fixtures for easy importing in tests
5
+ */
6
+ // Klados fixtures
7
+ export { producerKlados, workerKlados, aggregatorKlados, passthroughKlados, pdfHandlerKlados, imageHandlerKlados, inactiveKlados, developmentKlados, scatterGatherKladoi, linearKladoi, conditionalKladoi, allMockKladoi, invalidKladosProperties, validKladosProperties, } from './kladoi';
8
+ // Rhiza fixtures
9
+ export { linearFlow, linearRhizaProperties, linearRhiza, scatterGatherFlow, scatterGatherRhizaProperties, scatterGatherRhiza, conditionalFlow, conditionalRhizaProperties, conditionalRhiza, complexRoutingFlow, complexRoutingRhizaProperties, invalidRhizaProperties, allMockRhizai, } from './rhizai';
10
+ // Log fixtures
11
+ export { successfulLinearLogs, successfulScatterGatherLogs, partialErrorLogs, allErrorsLogs, mixedErrorLogs, runningWorkflowLogs, singleNodeLogs, } from './logs';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAElB,iBAAiB;AACjB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,EACtB,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,eAAe;AACf,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Mock Klados Fixtures
3
+ *
4
+ * Pre-configured klados entities for testing various scenarios:
5
+ * - producer: outputs many items (for scatter source)
6
+ * - worker: processes one item, outputs one (for scatter target)
7
+ * - aggregator: accepts many items (for gather target)
8
+ * - passthrough: simple 1:1 processing
9
+ * - inactive: disabled klados for error testing
10
+ * - invalid: various invalid configurations
11
+ */
12
+ import type { KladosProperties } from '../../../types';
13
+ /** Simple fixture type for tests */
14
+ interface MockKlados {
15
+ properties: KladosProperties;
16
+ cid: string;
17
+ }
18
+ /**
19
+ * Producer - Produces many outputs from one input
20
+ * Use case: PDF splitter that creates multiple page entities
21
+ */
22
+ export declare const producerKlados: MockKlados;
23
+ /**
24
+ * Worker - Processes one item at a time
25
+ * Use case: OCR processor for individual pages
26
+ */
27
+ export declare const workerKlados: MockKlados;
28
+ /**
29
+ * Aggregator - Accepts many inputs (gather target)
30
+ * Use case: Assembles processed pages back into document
31
+ */
32
+ export declare const aggregatorKlados: MockKlados;
33
+ /**
34
+ * Passthrough - Simple 1:1 processor
35
+ * Use case: Validator, transformer, enricher
36
+ */
37
+ export declare const passthroughKlados: MockKlados;
38
+ /**
39
+ * PDF Handler - Processes PDF files specifically
40
+ * Use case: Conditional routing target
41
+ */
42
+ export declare const pdfHandlerKlados: MockKlados;
43
+ /**
44
+ * Image Handler - Processes image files
45
+ * Use case: Conditional routing target
46
+ */
47
+ export declare const imageHandlerKlados: MockKlados;
48
+ /**
49
+ * Inactive - Disabled klados for testing status checks
50
+ */
51
+ export declare const inactiveKlados: MockKlados;
52
+ /**
53
+ * Development - Klados in development status
54
+ */
55
+ export declare const developmentKlados: MockKlados;
56
+ /**
57
+ * Standard kladoi map for scatter-gather tests
58
+ */
59
+ export declare const scatterGatherKladoi: Record<string, MockKlados>;
60
+ /**
61
+ * Standard kladoi map for linear flow tests
62
+ */
63
+ export declare const linearKladoi: Record<string, MockKlados>;
64
+ /**
65
+ * Standard kladoi map for conditional routing tests
66
+ */
67
+ export declare const conditionalKladoi: Record<string, MockKlados>;
68
+ /**
69
+ * All mock kladoi combined
70
+ */
71
+ export declare const allMockKladoi: Record<string, MockKlados>;
72
+ export declare const invalidKladosProperties: {
73
+ /** Missing endpoint */
74
+ missingEndpoint: {
75
+ label: string;
76
+ actions_required: string[];
77
+ accepts: {
78
+ types: string[];
79
+ cardinality: "one";
80
+ };
81
+ produces: {
82
+ types: string[];
83
+ cardinality: "one";
84
+ };
85
+ status: "active";
86
+ };
87
+ /** Invalid endpoint URL */
88
+ invalidEndpoint: {
89
+ label: string;
90
+ endpoint: string;
91
+ actions_required: string[];
92
+ accepts: {
93
+ types: string[];
94
+ cardinality: "one";
95
+ };
96
+ produces: {
97
+ types: string[];
98
+ cardinality: "one";
99
+ };
100
+ status: "active";
101
+ };
102
+ /** Empty accepts types */
103
+ emptyAcceptsTypes: {
104
+ label: string;
105
+ endpoint: string;
106
+ actions_required: string[];
107
+ accepts: {
108
+ types: never[];
109
+ cardinality: "one";
110
+ };
111
+ produces: {
112
+ types: string[];
113
+ cardinality: "one";
114
+ };
115
+ status: "active";
116
+ };
117
+ /** Empty produces types */
118
+ emptyProducesTypes: {
119
+ label: string;
120
+ endpoint: string;
121
+ actions_required: string[];
122
+ accepts: {
123
+ types: string[];
124
+ cardinality: "one";
125
+ };
126
+ produces: {
127
+ types: never[];
128
+ cardinality: "one";
129
+ };
130
+ status: "active";
131
+ };
132
+ /** Invalid cardinality */
133
+ invalidCardinality: {
134
+ label: string;
135
+ endpoint: string;
136
+ actions_required: string[];
137
+ accepts: {
138
+ types: string[];
139
+ cardinality: "one";
140
+ };
141
+ produces: {
142
+ types: string[];
143
+ cardinality: "one";
144
+ };
145
+ status: "active";
146
+ };
147
+ /** Empty actions required */
148
+ emptyActionsRequired: {
149
+ label: string;
150
+ endpoint: string;
151
+ actions_required: never[];
152
+ accepts: {
153
+ types: string[];
154
+ cardinality: "one";
155
+ };
156
+ produces: {
157
+ types: string[];
158
+ cardinality: "one";
159
+ };
160
+ status: "active";
161
+ };
162
+ };
163
+ export declare const validKladosProperties: KladosProperties;
164
+ export {};
165
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/kladoi/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,oCAAoC;AACpC,UAAU,UAAU;IAClB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,UAa5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAa1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAa9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAa/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAa9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAahC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAa5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAa/B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAI1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAInD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAKxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAMpD,CAAC;AAMF,eAAO,MAAM,uBAAuB;IAClC,uBAAuB;;;;;;;;;;;;;;IASvB,2BAA2B;;;;;;;;;;;;;;;IAU3B,0BAA0B;;;;;;;;;;;;;;;IAU1B,2BAA2B;;;;;;;;;;;;;;;IAU3B,0BAA0B;;;;;;;yBAKsC,KAAK;;;;;;;;IAKrE,6BAA6B;;;;;;;;;;;;;;;CAS9B,CAAC;AAMF,eAAO,MAAM,qBAAqB,EAAE,gBAUnC,CAAC"}
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Mock Klados Fixtures
3
+ *
4
+ * Pre-configured klados entities for testing various scenarios:
5
+ * - producer: outputs many items (for scatter source)
6
+ * - worker: processes one item, outputs one (for scatter target)
7
+ * - aggregator: accepts many items (for gather target)
8
+ * - passthrough: simple 1:1 processing
9
+ * - inactive: disabled klados for error testing
10
+ * - invalid: various invalid configurations
11
+ */
12
+ // ============================================================================
13
+ // Valid Kladoi
14
+ // ============================================================================
15
+ /**
16
+ * Producer - Produces many outputs from one input
17
+ * Use case: PDF splitter that creates multiple page entities
18
+ */
19
+ export const producerKlados = {
20
+ properties: {
21
+ label: 'Producer',
22
+ description: 'Produces multiple outputs from a single input',
23
+ endpoint: 'https://producer.test/invoke',
24
+ actions_required: ['file:view'],
25
+ accepts: { types: ['*'], cardinality: 'one' },
26
+ produces: { types: ['item/*'], cardinality: 'many' },
27
+ status: 'active',
28
+ created_at: '2025-01-01T00:00:00Z',
29
+ updated_at: '2025-01-01T00:00:00Z',
30
+ },
31
+ cid: 'cid_producer_v1',
32
+ };
33
+ /**
34
+ * Worker - Processes one item at a time
35
+ * Use case: OCR processor for individual pages
36
+ */
37
+ export const workerKlados = {
38
+ properties: {
39
+ label: 'Worker',
40
+ description: 'Processes a single item and produces a single result',
41
+ endpoint: 'https://worker.test/invoke',
42
+ actions_required: ['file:view', 'entity:update'],
43
+ accepts: { types: ['item/*'], cardinality: 'one' },
44
+ produces: { types: ['result/*'], cardinality: 'one' },
45
+ status: 'active',
46
+ created_at: '2025-01-01T00:00:00Z',
47
+ updated_at: '2025-01-01T00:00:00Z',
48
+ },
49
+ cid: 'cid_worker_v1',
50
+ };
51
+ /**
52
+ * Aggregator - Accepts many inputs (gather target)
53
+ * Use case: Assembles processed pages back into document
54
+ */
55
+ export const aggregatorKlados = {
56
+ properties: {
57
+ label: 'Aggregator',
58
+ description: 'Combines multiple inputs into a single output',
59
+ endpoint: 'https://aggregator.test/invoke',
60
+ actions_required: ['file:create'],
61
+ accepts: { types: ['result/*'], cardinality: 'many' },
62
+ produces: { types: ['final/*'], cardinality: 'one' },
63
+ status: 'active',
64
+ created_at: '2025-01-01T00:00:00Z',
65
+ updated_at: '2025-01-01T00:00:00Z',
66
+ },
67
+ cid: 'cid_aggregator_v1',
68
+ };
69
+ /**
70
+ * Passthrough - Simple 1:1 processor
71
+ * Use case: Validator, transformer, enricher
72
+ */
73
+ export const passthroughKlados = {
74
+ properties: {
75
+ label: 'Passthrough',
76
+ description: 'Simple 1:1 processing',
77
+ endpoint: 'https://passthrough.test/invoke',
78
+ actions_required: ['file:view', 'entity:update'],
79
+ accepts: { types: ['*'], cardinality: 'one' },
80
+ produces: { types: ['*'], cardinality: 'one' },
81
+ status: 'active',
82
+ created_at: '2025-01-01T00:00:00Z',
83
+ updated_at: '2025-01-01T00:00:00Z',
84
+ },
85
+ cid: 'cid_passthrough_v1',
86
+ };
87
+ /**
88
+ * PDF Handler - Processes PDF files specifically
89
+ * Use case: Conditional routing target
90
+ */
91
+ export const pdfHandlerKlados = {
92
+ properties: {
93
+ label: 'PDF Handler',
94
+ description: 'Specialized handler for PDF files',
95
+ endpoint: 'https://pdf-handler.test/invoke',
96
+ actions_required: ['file:view', 'file:create'],
97
+ accepts: { types: ['file/pdf'], cardinality: 'one' },
98
+ produces: { types: ['text/extracted'], cardinality: 'one' },
99
+ status: 'active',
100
+ created_at: '2025-01-01T00:00:00Z',
101
+ updated_at: '2025-01-01T00:00:00Z',
102
+ },
103
+ cid: 'cid_pdf_handler_v1',
104
+ };
105
+ /**
106
+ * Image Handler - Processes image files
107
+ * Use case: Conditional routing target
108
+ */
109
+ export const imageHandlerKlados = {
110
+ properties: {
111
+ label: 'Image Handler',
112
+ description: 'Specialized handler for image files',
113
+ endpoint: 'https://image-handler.test/invoke',
114
+ actions_required: ['file:view', 'file:create'],
115
+ accepts: { types: ['file/jpeg', 'file/png', 'file/webp'], cardinality: 'one' },
116
+ produces: { types: ['text/extracted'], cardinality: 'one' },
117
+ status: 'active',
118
+ created_at: '2025-01-01T00:00:00Z',
119
+ updated_at: '2025-01-01T00:00:00Z',
120
+ },
121
+ cid: 'cid_image_handler_v1',
122
+ };
123
+ // ============================================================================
124
+ // Error Testing Kladoi
125
+ // ============================================================================
126
+ /**
127
+ * Inactive - Disabled klados for testing status checks
128
+ */
129
+ export const inactiveKlados = {
130
+ properties: {
131
+ label: 'Inactive Klados',
132
+ description: 'Disabled klados for testing',
133
+ endpoint: 'https://inactive.test/invoke',
134
+ actions_required: ['file:view'],
135
+ accepts: { types: ['*'], cardinality: 'one' },
136
+ produces: { types: ['*'], cardinality: 'one' },
137
+ status: 'disabled',
138
+ created_at: '2025-01-01T00:00:00Z',
139
+ updated_at: '2025-01-01T00:00:00Z',
140
+ },
141
+ cid: 'cid_inactive_v1',
142
+ };
143
+ /**
144
+ * Development - Klados in development status
145
+ */
146
+ export const developmentKlados = {
147
+ properties: {
148
+ label: 'Development Klados',
149
+ description: 'Klados in development for testing',
150
+ endpoint: 'https://development.test/invoke',
151
+ actions_required: ['file:view'],
152
+ accepts: { types: ['*'], cardinality: 'one' },
153
+ produces: { types: ['*'], cardinality: 'one' },
154
+ status: 'development',
155
+ created_at: '2025-01-01T00:00:00Z',
156
+ updated_at: '2025-01-01T00:00:00Z',
157
+ },
158
+ cid: 'cid_development_v1',
159
+ };
160
+ // ============================================================================
161
+ // Pre-configured Maps
162
+ // ============================================================================
163
+ /**
164
+ * Standard kladoi map for scatter-gather tests
165
+ */
166
+ export const scatterGatherKladoi = {
167
+ 'II01klados_producer': producerKlados,
168
+ 'II01klados_worker': workerKlados,
169
+ 'II01klados_aggregator': aggregatorKlados,
170
+ };
171
+ /**
172
+ * Standard kladoi map for linear flow tests
173
+ */
174
+ export const linearKladoi = {
175
+ 'II01klados_a': passthroughKlados,
176
+ 'II01klados_b': passthroughKlados,
177
+ 'II01klados_c': passthroughKlados,
178
+ };
179
+ /**
180
+ * Standard kladoi map for conditional routing tests
181
+ */
182
+ export const conditionalKladoi = {
183
+ 'II01klados_classifier': passthroughKlados,
184
+ 'II01klados_pdf_handler': pdfHandlerKlados,
185
+ 'II01klados_image_handler': imageHandlerKlados,
186
+ 'II01klados_default_handler': passthroughKlados,
187
+ };
188
+ /**
189
+ * All mock kladoi combined
190
+ */
191
+ export const allMockKladoi = {
192
+ ...scatterGatherKladoi,
193
+ ...linearKladoi,
194
+ ...conditionalKladoi,
195
+ 'II01klados_inactive': inactiveKlados,
196
+ 'II01klados_development': developmentKlados,
197
+ };
198
+ // ============================================================================
199
+ // Invalid Klados Properties (for validation tests)
200
+ // ============================================================================
201
+ export const invalidKladosProperties = {
202
+ /** Missing endpoint */
203
+ missingEndpoint: {
204
+ label: 'Missing Endpoint',
205
+ actions_required: ['file:view'],
206
+ accepts: { types: ['*'], cardinality: 'one' },
207
+ produces: { types: ['*'], cardinality: 'one' },
208
+ status: 'active',
209
+ },
210
+ /** Invalid endpoint URL */
211
+ invalidEndpoint: {
212
+ label: 'Invalid Endpoint',
213
+ endpoint: 'not-a-valid-url',
214
+ actions_required: ['file:view'],
215
+ accepts: { types: ['*'], cardinality: 'one' },
216
+ produces: { types: ['*'], cardinality: 'one' },
217
+ status: 'active',
218
+ },
219
+ /** Empty accepts types */
220
+ emptyAcceptsTypes: {
221
+ label: 'Empty Accepts',
222
+ endpoint: 'https://test.test/invoke',
223
+ actions_required: ['file:view'],
224
+ accepts: { types: [], cardinality: 'one' },
225
+ produces: { types: ['*'], cardinality: 'one' },
226
+ status: 'active',
227
+ },
228
+ /** Empty produces types */
229
+ emptyProducesTypes: {
230
+ label: 'Empty Produces',
231
+ endpoint: 'https://test.test/invoke',
232
+ actions_required: ['file:view'],
233
+ accepts: { types: ['*'], cardinality: 'one' },
234
+ produces: { types: [], cardinality: 'one' },
235
+ status: 'active',
236
+ },
237
+ /** Invalid cardinality */
238
+ invalidCardinality: {
239
+ label: 'Invalid Cardinality',
240
+ endpoint: 'https://test.test/invoke',
241
+ actions_required: ['file:view'],
242
+ accepts: { types: ['*'], cardinality: 'invalid' },
243
+ produces: { types: ['*'], cardinality: 'one' },
244
+ status: 'active',
245
+ },
246
+ /** Empty actions required */
247
+ emptyActionsRequired: {
248
+ label: 'Empty Actions',
249
+ endpoint: 'https://test.test/invoke',
250
+ actions_required: [],
251
+ accepts: { types: ['*'], cardinality: 'one' },
252
+ produces: { types: ['*'], cardinality: 'one' },
253
+ status: 'active',
254
+ },
255
+ };
256
+ // ============================================================================
257
+ // Valid Klados Properties (for validation tests)
258
+ // ============================================================================
259
+ export const validKladosProperties = {
260
+ label: 'Valid Klados',
261
+ description: 'A fully valid klados for testing',
262
+ endpoint: 'https://valid.test/invoke',
263
+ actions_required: ['file:view', 'entity:update'],
264
+ accepts: { types: ['file/pdf'], cardinality: 'one' },
265
+ produces: { types: ['text/extracted'], cardinality: 'one' },
266
+ status: 'active',
267
+ created_at: '2025-01-01T00:00:00Z',
268
+ updated_at: '2025-01-01T00:00:00Z',
269
+ };
270
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/kladoi/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Mock Log Fixtures
3
+ *
4
+ * Pre-configured log entries for testing:
5
+ * - successfulLinear: Complete linear workflow execution
6
+ * - successfulScatterGather: Complete scatter-gather execution
7
+ * - partialError: Workflow with some failed branches
8
+ * - allErrors: Workflow where everything failed
9
+ */
10
+ import type { KladosLogEntry } from '../../../types';
11
+ export declare const successfulLinearLogs: KladosLogEntry[];
12
+ export declare const successfulScatterGatherLogs: KladosLogEntry[];
13
+ export declare const partialErrorLogs: KladosLogEntry[];
14
+ export declare const allErrorsLogs: KladosLogEntry[];
15
+ export declare const allErrorLogs: KladosLogEntry[];
16
+ export declare const mixedErrorLogs: KladosLogEntry[];
17
+ export declare const runningWorkflowLogs: KladosLogEntry[];
18
+ export declare const singleNodeLogs: KladosLogEntry[];
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/fixtures/logs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAsBpE,eAAO,MAAM,oBAAoB,EAAE,cAAc,EA8DhD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,cAAc,EAuHvD,CAAC;AAMF,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAmF5C,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,cAAc,EAiBzC,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,cAAc,EA2FxC,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,cAAc,EAoE1C,CAAC;AAMF,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAqC/C,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,cAAc,EAc1C,CAAC"}