@pasko70/pibo 3.2.7 → 3.4.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 (254) hide show
  1. package/dist/agent-runtime/capabilities.js +5 -0
  2. package/dist/agent-runtime/contract.js +2 -0
  3. package/dist/agent-runtime/routed-session.js +68 -11
  4. package/dist/agent-runtimes/codex-native/adapter.js +4 -1
  5. package/dist/agent-runtimes/codex-native/process.js +1 -1
  6. package/dist/agent-runtimes/codex-native/protocol-version.js +6 -6
  7. package/dist/agent-runtimes/codex-native/thread.js +26 -4
  8. package/dist/agent-runtimes/omp/adapter.js +1 -0
  9. package/dist/agent-runtimes/omp/process.js +23 -3
  10. package/dist/agent-runtimes/omp/protocol-version.js +2 -0
  11. package/dist/agent-runtimes/pi/adapter.js +5 -1
  12. package/dist/agent-runtimes/pi/model-catalog.js +2 -2
  13. package/dist/agent-runtimes/pi/routed-session.js +53 -5
  14. package/dist/agent-runtimes/pi/runtime.js +6 -3
  15. package/dist/apps/chat/chat-api-routes.js +12 -38
  16. package/dist/apps/chat/chat-request-normalizers.js +15 -50
  17. package/dist/apps/chat/data/legacy-project-migration.js +492 -0
  18. package/dist/apps/chat/data/room-service.js +2 -2
  19. package/dist/apps/chat/data/workflow-session-model.js +1 -0
  20. package/dist/apps/chat/data/workflow-session-service.js +352 -0
  21. package/dist/apps/chat/rooms.js +1 -1
  22. package/dist/apps/chat/session-metadata.js +30 -0
  23. package/dist/apps/chat/trace.js +15 -2
  24. package/dist/apps/chat/types/rooms.js +30 -0
  25. package/dist/apps/chat/web-app.js +355 -651
  26. package/dist/apps/chat/workflow-catalog.js +18 -18
  27. package/dist/apps/chat/{project-workflow-human-actions.js → workflow-human-actions.js} +14 -14
  28. package/dist/apps/chat/workflow-manual-trigger-runtime.js +5 -1
  29. package/dist/apps/chat/workflow-persistence.js +20 -28
  30. package/dist/apps/chat/{project-workflow-sessions.js → workflow-sessions.js} +18 -17
  31. package/dist/apps/chat-ui/assets/{dist-ENXYFYda.js → dist-AhtdAETR.js} +1 -1
  32. package/dist/apps/chat-ui/assets/{dist-CGgUuVB6.js → dist-Bk_L1qbJ.js} +1 -1
  33. package/dist/apps/chat-ui/assets/{dist-DG6T1maU.js → dist-Dyp6sLQn.js} +1 -1
  34. package/dist/apps/chat-ui/assets/{dist-CFtZTGHa.js → dist-jVaiGXFD.js} +1 -1
  35. package/dist/apps/chat-ui/assets/{dist-BikaGikn.js → dist-t25moyJS.js} +1 -1
  36. package/dist/apps/chat-ui/assets/index-CZjNw-aK.js +228 -0
  37. package/dist/apps/chat-ui/assets/index-CcEjFITM.css +1 -0
  38. package/dist/apps/chat-ui/index.html +2 -2
  39. package/dist/apps/chat-vscode-web/assets/index-Spj6M0tn.js +43 -0
  40. package/dist/apps/chat-vscode-web/index.html +1 -1
  41. package/dist/compute/pool/cli.js +1 -1
  42. package/dist/compute/pool/seeds.js +2 -3
  43. package/dist/config/config.js +1 -1
  44. package/dist/core/session-router.js +19 -10
  45. package/dist/debug/agents.js +9 -3
  46. package/dist/plugins/builtin.js +2 -0
  47. package/dist/plugins/registry.js +1 -0
  48. package/dist/previews/cli.js +154 -79
  49. package/dist/previews/compute-worker.js +37 -0
  50. package/dist/previews/config.js +2 -1
  51. package/dist/previews/migrations/session-ownership.js +7 -0
  52. package/dist/previews/proxy.js +4 -2
  53. package/dist/previews/public-setup.js +108 -0
  54. package/dist/previews/store.js +20 -13
  55. package/dist/previews/web-app.js +12 -2
  56. package/dist/providers/openai-gpt56.js +41 -3
  57. package/dist/sessions/workflow-session-kind.js +0 -3
  58. package/dist/subagents/context.js +2 -2
  59. package/dist/subagents/observation-query.js +49 -6
  60. package/dist/subagents/observation-text-regex.js +124 -0
  61. package/dist/subagents/tool.js +3 -2
  62. package/dist/tools/hashline.js +64 -0
  63. package/npm-shrinkwrap.json +786 -284
  64. package/package.json +11 -6
  65. package/packages/workflows/README.md +21 -0
  66. package/packages/workflows/dist/api/index.d.ts +48 -0
  67. package/packages/workflows/dist/api/index.d.ts.map +1 -0
  68. package/packages/workflows/dist/api/index.js +96 -0
  69. package/packages/workflows/dist/api/index.js.map +1 -0
  70. package/packages/workflows/dist/definition-hash.d.ts +4 -0
  71. package/packages/workflows/dist/definition-hash.d.ts.map +1 -0
  72. package/packages/workflows/dist/definition-hash.js +27 -0
  73. package/packages/workflows/dist/definition-hash.js.map +1 -0
  74. package/packages/workflows/dist/fixtures/index.d.ts +39 -0
  75. package/packages/workflows/dist/fixtures/index.d.ts.map +1 -0
  76. package/packages/workflows/dist/fixtures/index.js +608 -0
  77. package/packages/workflows/dist/fixtures/index.js.map +1 -0
  78. package/packages/workflows/dist/index.d.ts +16 -0
  79. package/packages/workflows/dist/index.d.ts.map +1 -0
  80. package/packages/workflows/dist/index.js +10 -0
  81. package/packages/workflows/dist/index.js.map +1 -0
  82. package/packages/workflows/dist/inspection/index.d.ts +47 -0
  83. package/packages/workflows/dist/inspection/index.d.ts.map +1 -0
  84. package/packages/workflows/dist/inspection/index.js +131 -0
  85. package/packages/workflows/dist/inspection/index.js.map +1 -0
  86. package/packages/workflows/dist/registry/index.d.ts +30 -0
  87. package/packages/workflows/dist/registry/index.d.ts.map +1 -0
  88. package/packages/workflows/dist/registry/index.js +161 -0
  89. package/packages/workflows/dist/registry/index.js.map +1 -0
  90. package/packages/workflows/dist/runtime/adapter-node.d.ts +28 -0
  91. package/packages/workflows/dist/runtime/adapter-node.d.ts.map +1 -0
  92. package/packages/workflows/dist/runtime/adapter-node.js +172 -0
  93. package/packages/workflows/dist/runtime/adapter-node.js.map +1 -0
  94. package/packages/workflows/dist/runtime/agent-node.d.ts +32 -0
  95. package/packages/workflows/dist/runtime/agent-node.d.ts.map +1 -0
  96. package/packages/workflows/dist/runtime/agent-node.js +231 -0
  97. package/packages/workflows/dist/runtime/agent-node.js.map +1 -0
  98. package/packages/workflows/dist/runtime/agent-runtime.d.ts +25 -0
  99. package/packages/workflows/dist/runtime/agent-runtime.d.ts.map +1 -0
  100. package/packages/workflows/dist/runtime/agent-runtime.js +111 -0
  101. package/packages/workflows/dist/runtime/agent-runtime.js.map +1 -0
  102. package/packages/workflows/dist/runtime/code-node.d.ts +31 -0
  103. package/packages/workflows/dist/runtime/code-node.d.ts.map +1 -0
  104. package/packages/workflows/dist/runtime/code-node.js +223 -0
  105. package/packages/workflows/dist/runtime/code-node.js.map +1 -0
  106. package/packages/workflows/dist/runtime/dispatch-failures.d.ts +36 -0
  107. package/packages/workflows/dist/runtime/dispatch-failures.d.ts.map +1 -0
  108. package/packages/workflows/dist/runtime/dispatch-failures.js +80 -0
  109. package/packages/workflows/dist/runtime/dispatch-failures.js.map +1 -0
  110. package/packages/workflows/dist/runtime/edge-payloads.d.ts +3 -0
  111. package/packages/workflows/dist/runtime/edge-payloads.d.ts.map +1 -0
  112. package/packages/workflows/dist/runtime/edge-payloads.js +11 -0
  113. package/packages/workflows/dist/runtime/edge-payloads.js.map +1 -0
  114. package/packages/workflows/dist/runtime/edge-transfer.d.ts +39 -0
  115. package/packages/workflows/dist/runtime/edge-transfer.d.ts.map +1 -0
  116. package/packages/workflows/dist/runtime/edge-transfer.js +356 -0
  117. package/packages/workflows/dist/runtime/edge-transfer.js.map +1 -0
  118. package/packages/workflows/dist/runtime/human-action.d.ts +43 -0
  119. package/packages/workflows/dist/runtime/human-action.d.ts.map +1 -0
  120. package/packages/workflows/dist/runtime/human-action.js +231 -0
  121. package/packages/workflows/dist/runtime/human-action.js.map +1 -0
  122. package/packages/workflows/dist/runtime/human-node.d.ts +27 -0
  123. package/packages/workflows/dist/runtime/human-node.d.ts.map +1 -0
  124. package/packages/workflows/dist/runtime/human-node.js +126 -0
  125. package/packages/workflows/dist/runtime/human-node.js.map +1 -0
  126. package/packages/workflows/dist/runtime/ids.d.ts +2 -0
  127. package/packages/workflows/dist/runtime/ids.d.ts.map +1 -0
  128. package/packages/workflows/dist/runtime/ids.js +4 -0
  129. package/packages/workflows/dist/runtime/ids.js.map +1 -0
  130. package/packages/workflows/dist/runtime/index.d.ts +23 -0
  131. package/packages/workflows/dist/runtime/index.d.ts.map +1 -0
  132. package/packages/workflows/dist/runtime/index.js +12 -0
  133. package/packages/workflows/dist/runtime/index.js.map +1 -0
  134. package/packages/workflows/dist/runtime/manual-trigger.d.ts +51 -0
  135. package/packages/workflows/dist/runtime/manual-trigger.d.ts.map +1 -0
  136. package/packages/workflows/dist/runtime/manual-trigger.js +403 -0
  137. package/packages/workflows/dist/runtime/manual-trigger.js.map +1 -0
  138. package/packages/workflows/dist/runtime/nested-workflow-node.d.ts +48 -0
  139. package/packages/workflows/dist/runtime/nested-workflow-node.d.ts.map +1 -0
  140. package/packages/workflows/dist/runtime/nested-workflow-node.js +246 -0
  141. package/packages/workflows/dist/runtime/nested-workflow-node.js.map +1 -0
  142. package/packages/workflows/dist/runtime/one-node-agent.d.ts +34 -0
  143. package/packages/workflows/dist/runtime/one-node-agent.d.ts.map +1 -0
  144. package/packages/workflows/dist/runtime/one-node-agent.js +334 -0
  145. package/packages/workflows/dist/runtime/one-node-agent.js.map +1 -0
  146. package/packages/workflows/dist/runtime/persistence.d.ts +9 -0
  147. package/packages/workflows/dist/runtime/persistence.d.ts.map +1 -0
  148. package/packages/workflows/dist/runtime/persistence.js +67 -0
  149. package/packages/workflows/dist/runtime/persistence.js.map +1 -0
  150. package/packages/workflows/dist/runtime/pibo-routing.d.ts +126 -0
  151. package/packages/workflows/dist/runtime/pibo-routing.d.ts.map +1 -0
  152. package/packages/workflows/dist/runtime/pibo-routing.js +96 -0
  153. package/packages/workflows/dist/runtime/pibo-routing.js.map +1 -0
  154. package/packages/workflows/dist/runtime/prompts.d.ts +20 -0
  155. package/packages/workflows/dist/runtime/prompts.d.ts.map +1 -0
  156. package/packages/workflows/dist/runtime/prompts.js +235 -0
  157. package/packages/workflows/dist/runtime/prompts.js.map +1 -0
  158. package/packages/workflows/dist/runtime/retry.d.ts +35 -0
  159. package/packages/workflows/dist/runtime/retry.d.ts.map +1 -0
  160. package/packages/workflows/dist/runtime/retry.js +80 -0
  161. package/packages/workflows/dist/runtime/retry.js.map +1 -0
  162. package/packages/workflows/dist/runtime/state.d.ts +14 -0
  163. package/packages/workflows/dist/runtime/state.d.ts.map +1 -0
  164. package/packages/workflows/dist/runtime/state.js +139 -0
  165. package/packages/workflows/dist/runtime/state.js.map +1 -0
  166. package/packages/workflows/dist/runtime/time.d.ts +6 -0
  167. package/packages/workflows/dist/runtime/time.d.ts.map +1 -0
  168. package/packages/workflows/dist/runtime/time.js +42 -0
  169. package/packages/workflows/dist/runtime/time.js.map +1 -0
  170. package/packages/workflows/dist/store/catalog-records.d.ts +18 -0
  171. package/packages/workflows/dist/store/catalog-records.d.ts.map +1 -0
  172. package/packages/workflows/dist/store/catalog-records.js +59 -0
  173. package/packages/workflows/dist/store/catalog-records.js.map +1 -0
  174. package/packages/workflows/dist/store/contracts.d.ts +149 -0
  175. package/packages/workflows/dist/store/contracts.d.ts.map +1 -0
  176. package/packages/workflows/dist/store/contracts.js +2 -0
  177. package/packages/workflows/dist/store/contracts.js.map +1 -0
  178. package/packages/workflows/dist/store/draft-writes.d.ts +7 -0
  179. package/packages/workflows/dist/store/draft-writes.d.ts.map +1 -0
  180. package/packages/workflows/dist/store/draft-writes.js +18 -0
  181. package/packages/workflows/dist/store/draft-writes.js.map +1 -0
  182. package/packages/workflows/dist/store/index.d.ts +55 -0
  183. package/packages/workflows/dist/store/index.d.ts.map +1 -0
  184. package/packages/workflows/dist/store/index.js +650 -0
  185. package/packages/workflows/dist/store/index.js.map +1 -0
  186. package/packages/workflows/dist/store/list-query.d.ts +13 -0
  187. package/packages/workflows/dist/store/list-query.d.ts.map +1 -0
  188. package/packages/workflows/dist/store/list-query.js +20 -0
  189. package/packages/workflows/dist/store/list-query.js.map +1 -0
  190. package/packages/workflows/dist/store/row-mappers.d.ts +206 -0
  191. package/packages/workflows/dist/store/row-mappers.d.ts.map +1 -0
  192. package/packages/workflows/dist/store/row-mappers.js +262 -0
  193. package/packages/workflows/dist/store/row-mappers.js.map +1 -0
  194. package/packages/workflows/dist/store/schema.d.ts +13 -0
  195. package/packages/workflows/dist/store/schema.d.ts.map +1 -0
  196. package/packages/workflows/dist/store/schema.js +458 -0
  197. package/packages/workflows/dist/store/schema.js.map +1 -0
  198. package/packages/workflows/dist/store/write-values.d.ts +18 -0
  199. package/packages/workflows/dist/store/write-values.d.ts.map +1 -0
  200. package/packages/workflows/dist/store/write-values.js +227 -0
  201. package/packages/workflows/dist/store/write-values.js.map +1 -0
  202. package/packages/workflows/dist/types/index.d.ts +1202 -0
  203. package/packages/workflows/dist/types/index.d.ts.map +1 -0
  204. package/packages/workflows/dist/types/index.js +8 -0
  205. package/packages/workflows/dist/types/index.js.map +1 -0
  206. package/packages/workflows/dist/validation/diagnostics.d.ts +27 -0
  207. package/packages/workflows/dist/validation/diagnostics.d.ts.map +1 -0
  208. package/packages/workflows/dist/validation/diagnostics.js +104 -0
  209. package/packages/workflows/dist/validation/diagnostics.js.map +1 -0
  210. package/packages/workflows/dist/validation/graph-cycles.d.ts +4 -0
  211. package/packages/workflows/dist/validation/graph-cycles.d.ts.map +1 -0
  212. package/packages/workflows/dist/validation/graph-cycles.js +130 -0
  213. package/packages/workflows/dist/validation/graph-cycles.js.map +1 -0
  214. package/packages/workflows/dist/validation/graph-edges.d.ts +5 -0
  215. package/packages/workflows/dist/validation/graph-edges.d.ts.map +1 -0
  216. package/packages/workflows/dist/validation/graph-edges.js +48 -0
  217. package/packages/workflows/dist/validation/graph-edges.js.map +1 -0
  218. package/packages/workflows/dist/validation/graph-ports.d.ts +5 -0
  219. package/packages/workflows/dist/validation/graph-ports.d.ts.map +1 -0
  220. package/packages/workflows/dist/validation/graph-ports.js +55 -0
  221. package/packages/workflows/dist/validation/graph-ports.js.map +1 -0
  222. package/packages/workflows/dist/validation/index.d.ts +18 -0
  223. package/packages/workflows/dist/validation/index.d.ts.map +1 -0
  224. package/packages/workflows/dist/validation/index.js +175 -0
  225. package/packages/workflows/dist/validation/index.js.map +1 -0
  226. package/packages/workflows/dist/validation/json-schema.d.ts +12 -0
  227. package/packages/workflows/dist/validation/json-schema.d.ts.map +1 -0
  228. package/packages/workflows/dist/validation/json-schema.js +556 -0
  229. package/packages/workflows/dist/validation/json-schema.js.map +1 -0
  230. package/packages/workflows/dist/validation/registry-refs.d.ts +21 -0
  231. package/packages/workflows/dist/validation/registry-refs.d.ts.map +1 -0
  232. package/packages/workflows/dist/validation/registry-refs.js +283 -0
  233. package/packages/workflows/dist/validation/registry-refs.js.map +1 -0
  234. package/packages/workflows/dist/validation/retry-policy.d.ts +3 -0
  235. package/packages/workflows/dist/validation/retry-policy.d.ts.map +1 -0
  236. package/packages/workflows/dist/validation/retry-policy.js +114 -0
  237. package/packages/workflows/dist/validation/retry-policy.js.map +1 -0
  238. package/packages/workflows/dist/validation/schema-declarations.d.ts +5 -0
  239. package/packages/workflows/dist/validation/schema-declarations.d.ts.map +1 -0
  240. package/packages/workflows/dist/validation/schema-declarations.js +36 -0
  241. package/packages/workflows/dist/validation/schema-declarations.js.map +1 -0
  242. package/packages/workflows/dist/validation/state-access.d.ts +4 -0
  243. package/packages/workflows/dist/validation/state-access.d.ts.map +1 -0
  244. package/packages/workflows/dist/validation/state-access.js +121 -0
  245. package/packages/workflows/dist/validation/state-access.js.map +1 -0
  246. package/packages/workflows/dist/xstate/index.d.ts +73 -0
  247. package/packages/workflows/dist/xstate/index.d.ts.map +1 -0
  248. package/packages/workflows/dist/xstate/index.js +728 -0
  249. package/packages/workflows/dist/xstate/index.js.map +1 -0
  250. package/packages/workflows/package.json +23 -0
  251. package/dist/apps/chat/data/project-service.js +0 -1029
  252. package/dist/apps/chat-ui/assets/index-BwT5grLv.css +0 -1
  253. package/dist/apps/chat-ui/assets/index-PTJanD3E.js +0 -228
  254. package/dist/apps/chat-vscode-web/assets/index-D1bpAUkR.js +0 -43
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pasko70/pibo",
3
- "version": "3.2.7",
3
+ "version": "3.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -10,6 +10,9 @@
10
10
  "description": "Minimal TypeScript wrapper around Pi Coding Agent.",
11
11
  "files": [
12
12
  "dist",
13
+ "packages/workflows/dist",
14
+ "!packages/workflows/dist/testing/**",
15
+ "packages/workflows/package.json",
13
16
  "!dist/apps/vscode-artifacts/**",
14
17
  "context",
15
18
  "skills/builtin/**",
@@ -79,10 +82,11 @@
79
82
  },
80
83
  "dependencies": {
81
84
  "@balena/dockerignore": "1.0.2",
82
- "@earendil-works/pi-agent-core": "0.84.2",
83
- "@earendil-works/pi-ai": "0.84.2",
84
- "@earendil-works/pi-coding-agent": "0.84.2",
85
- "@earendil-works/pi-tui": "0.84.2",
85
+ "@earendil-works/pi-agent-core": "0.85.0",
86
+ "@earendil-works/pi-ai": "0.85.0",
87
+ "@earendil-works/pi-coding-agent": "0.85.0",
88
+ "@earendil-works/pi-server": "0.85.0",
89
+ "@earendil-works/pi-tui": "0.85.0",
86
90
  "@modelcontextprotocol/sdk": "^1.29.0",
87
91
  "@tailwindcss/vite": "^4.2.4",
88
92
  "@tanstack/react-query": "^5.100.7",
@@ -105,7 +109,8 @@
105
109
  "react-virtuoso": "^4.18.6",
106
110
  "remark-gfm": "^4.0.1",
107
111
  "tailwindcss": "^4.2.4",
108
- "typebox": "1.1.38"
112
+ "typebox": "1.1.38",
113
+ "xstate": "5.31.1"
109
114
  },
110
115
  "overrides": {
111
116
  "esbuild": "$esbuild",
@@ -0,0 +1,21 @@
1
+ # Pibo Workflows
2
+
3
+ Initial package boundary for the Pibo Workflow System V1 framework.
4
+
5
+ The package is organized around the PRD-required internal submodules:
6
+
7
+ - `src/api` — public authoring helpers, builder API, object definition normalization
8
+ - `src/registry` — workflow registry and implementation lookup
9
+ - `src/types` — workflow IR, runtime, store, diagnostics, events, and utility types
10
+ - `src/validation` — definition, schema, graph, registry, capability, state, and loop validation
11
+ - `src/graph` — reserved for Pibo-owned graph indices and reusable traversal primitives
12
+ - `src/compiler` — reserved for validated definitions, execution plans, and projection metadata
13
+ - `src/runtime` — Pibo-owned deterministic scheduling, attempts, retries, waits, commands, events, and persistence
14
+ - `src/store` — `pibo-workflows.sqlite` schema/store and persistence API
15
+ - `src/xstate` — XState projection, snapshots, and inspection helpers
16
+ - `src/fixtures` — workflow fixtures for tests and manual validation
17
+ - `src/testing` — test harnesses, fake providers, and restart helpers
18
+
19
+ The workflow IR and persisted Pibo runtime facts are the execution contract and source of truth. External graph frameworks may serve as design references, but the package does not delegate scheduling or persistence to them.
20
+
21
+ The V1 JSON port schema subset is documented in `../../docs/specs/changes/pibo-workflow-system-v1/structured-outputs-json-schema-subset.md` and implemented by `src/validation`.
@@ -0,0 +1,48 @@
1
+ import type { AdapterRef, AgentProfileSelection, EdgeAdapterDefinition, JsonSchema, JsonWorkflowPort, PromptBuilderRef, RegistryRefId, SelectionPolicy, TextWorkflowPort, WorkflowPort } from "../types/index.js";
2
+ /**
3
+ * Create a text workflow port.
4
+ *
5
+ * Text ports carry plain strings across workflow, node, and adapter boundaries.
6
+ */
7
+ export declare function text(description?: string): TextWorkflowPort;
8
+ /**
9
+ * Create a JSON workflow port backed by a V1 JSON Schema subset contract.
10
+ *
11
+ * The schema is intentionally preserved as part of the workflow IR so validators,
12
+ * compilers, runtime checks, and inspection surfaces all see the same contract.
13
+ */
14
+ export declare function json(schema: JsonSchema, description?: string): JsonWorkflowPort;
15
+ export declare function isTextPort(port: WorkflowPort): port is TextWorkflowPort;
16
+ export declare function isJsonPort(port: WorkflowPort): port is JsonWorkflowPort;
17
+ /**
18
+ * Reference a registered deterministic TypeScript adapter by id.
19
+ *
20
+ * Adapter refs are stored in workflow IR for both edge adapters and visible adapter nodes;
21
+ * the Workflow Registry owns the executable TypeScript handler behind the id.
22
+ */
23
+ export declare function adapterRef(id: RegistryRefId): AdapterRef;
24
+ export declare function isAdapterRef(value: unknown): value is AdapterRef;
25
+ export declare function adapterRefId(ref: AdapterRef): RegistryRefId;
26
+ export declare function edgeAdapter(transform: AdapterRef, output: WorkflowPort): EdgeAdapterDefinition;
27
+ /**
28
+ * Reference a registered TypeScript prompt builder by id.
29
+ *
30
+ * Prompt builder refs are stored in workflow IR; the Workflow Registry owns
31
+ * the executable handler that turns workflow input/state/edge data into the
32
+ * final prompt text sent to a Pibo Runtime-backed agent node.
33
+ */
34
+ export declare function promptBuilderRef(id: RegistryRefId): PromptBuilderRef;
35
+ export declare function isPromptBuilderRef(value: unknown): value is Exclude<PromptBuilderRef, string>;
36
+ export declare function promptBuilderRefId(ref: PromptBuilderRef): RegistryRefId;
37
+ /**
38
+ * Select a fixed Agent Designer profile for a Pibo Runtime-backed agent node.
39
+ *
40
+ * V1 intentionally supports only fixed profile selection so workflow runs are
41
+ * predictable and can record the exact profile requested by each agent node.
42
+ */
43
+ export declare function fixedProfile(id: RegistryRefId): AgentProfileSelection;
44
+ export declare function inheritSelection(): SelectionPolicy;
45
+ export declare function onlySelection(ids: RegistryRefId[]): SelectionPolicy;
46
+ export declare function excludeSelection(ids: RegistryRefId[]): SelectionPolicy;
47
+ export declare function extendSelection(ids: RegistryRefId[]): SelectionPolicy;
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAE/E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,gBAAgB,CAEvE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,gBAAgB,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,aAAa,GAAG,UAAU,CAExD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAQhE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAE3D;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,qBAAqB,CAE9F;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,aAAa,GAAG,gBAAgB,CAEpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAQ7F;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,aAAa,GAAG,qBAAqB,CAErE;AAED,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,eAAe,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,eAAe,CAEtE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,eAAe,CAErE"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Create a text workflow port.
3
+ *
4
+ * Text ports carry plain strings across workflow, node, and adapter boundaries.
5
+ */
6
+ export function text(description) {
7
+ return withOptionalDescription({ kind: "text" }, description);
8
+ }
9
+ /**
10
+ * Create a JSON workflow port backed by a V1 JSON Schema subset contract.
11
+ *
12
+ * The schema is intentionally preserved as part of the workflow IR so validators,
13
+ * compilers, runtime checks, and inspection surfaces all see the same contract.
14
+ */
15
+ export function json(schema, description) {
16
+ return withOptionalDescription({ kind: "json", schema }, description);
17
+ }
18
+ export function isTextPort(port) {
19
+ return port.kind === "text";
20
+ }
21
+ export function isJsonPort(port) {
22
+ return port.kind === "json";
23
+ }
24
+ /**
25
+ * Reference a registered deterministic TypeScript adapter by id.
26
+ *
27
+ * Adapter refs are stored in workflow IR for both edge adapters and visible adapter nodes;
28
+ * the Workflow Registry owns the executable TypeScript handler behind the id.
29
+ */
30
+ export function adapterRef(id) {
31
+ return { kind: "adapter", language: "typescript", id };
32
+ }
33
+ export function isAdapterRef(value) {
34
+ return (isRecord(value) &&
35
+ value.kind === "adapter" &&
36
+ value.language === "typescript" &&
37
+ typeof value.id === "string" &&
38
+ value.id.length > 0);
39
+ }
40
+ export function adapterRefId(ref) {
41
+ return ref.id;
42
+ }
43
+ export function edgeAdapter(transform, output) {
44
+ return { kind: "edgeAdapter", transform, output };
45
+ }
46
+ /**
47
+ * Reference a registered TypeScript prompt builder by id.
48
+ *
49
+ * Prompt builder refs are stored in workflow IR; the Workflow Registry owns
50
+ * the executable handler that turns workflow input/state/edge data into the
51
+ * final prompt text sent to a Pibo Runtime-backed agent node.
52
+ */
53
+ export function promptBuilderRef(id) {
54
+ return { kind: "promptBuilder", language: "typescript", id };
55
+ }
56
+ export function isPromptBuilderRef(value) {
57
+ return (isRecord(value) &&
58
+ value.kind === "promptBuilder" &&
59
+ value.language === "typescript" &&
60
+ typeof value.id === "string" &&
61
+ value.id.length > 0);
62
+ }
63
+ export function promptBuilderRefId(ref) {
64
+ return typeof ref === "string" ? ref : ref.id;
65
+ }
66
+ /**
67
+ * Select a fixed Agent Designer profile for a Pibo Runtime-backed agent node.
68
+ *
69
+ * V1 intentionally supports only fixed profile selection so workflow runs are
70
+ * predictable and can record the exact profile requested by each agent node.
71
+ */
72
+ export function fixedProfile(id) {
73
+ return { kind: "fixed", id };
74
+ }
75
+ export function inheritSelection() {
76
+ return { kind: "inherit" };
77
+ }
78
+ export function onlySelection(ids) {
79
+ return { kind: "only", ids: [...ids] };
80
+ }
81
+ export function excludeSelection(ids) {
82
+ return { kind: "exclude", ids: [...ids] };
83
+ }
84
+ export function extendSelection(ids) {
85
+ return { kind: "extend", ids: [...ids] };
86
+ }
87
+ function withOptionalDescription(port, description) {
88
+ if (description === undefined) {
89
+ return port;
90
+ }
91
+ return { ...port, description };
92
+ }
93
+ function isRecord(value) {
94
+ return typeof value === "object" && value !== null && !Array.isArray(value);
95
+ }
96
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,WAAoB;IACvC,OAAO,uBAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,MAAkB,EAAE,WAAoB;IAC3D,OAAO,uBAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAAiB;IAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,KAAK,CAAC,QAAQ,KAAK,YAAY;QAC/B,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAe;IAC1C,OAAO,GAAG,CAAC,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAqB,EAAE,MAAoB;IACrE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAiB;IAChD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9B,KAAK,CAAC,QAAQ,KAAK,YAAY;QAC/B,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAqB;IACtD,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAAiB;IAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAoB;IAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAoB;IACnD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAoB;IAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,uBAAuB,CAA6B,IAAW,EAAE,WAA+B;IACvG,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { WorkflowDefinition } from "./types/index.js";
2
+ export declare function hashWorkflowDefinition(definition: WorkflowDefinition): string;
3
+ export declare function canonicalWorkflowDefinitionJson(definition: WorkflowDefinition): string;
4
+ //# sourceMappingURL=definition-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-hash.d.ts","sourceRoot":"","sources":["../src/definition-hash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAE7E;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAEtF"}
@@ -0,0 +1,27 @@
1
+ import { createHash } from "node:crypto";
2
+ export function hashWorkflowDefinition(definition) {
3
+ return `sha256:${createHash("sha256").update(canonicalWorkflowDefinitionJson(definition)).digest("hex")}`;
4
+ }
5
+ export function canonicalWorkflowDefinitionJson(definition) {
6
+ return JSON.stringify(normalizeForCanonicalJson(definition));
7
+ }
8
+ function normalizeForCanonicalJson(value) {
9
+ if (Array.isArray(value)) {
10
+ return value.map((item) => (item === undefined ? null : normalizeForCanonicalJson(item)));
11
+ }
12
+ if (value && typeof value === "object") {
13
+ const input = value;
14
+ const output = {};
15
+ for (const key of Object.keys(input).sort()) {
16
+ const normalized = normalizeForCanonicalJson(input[key]);
17
+ if (normalized !== undefined)
18
+ output[key] = normalized;
19
+ }
20
+ return output;
21
+ }
22
+ if (value === undefined || typeof value === "function" || typeof value === "symbol") {
23
+ return undefined;
24
+ }
25
+ return value;
26
+ }
27
+ //# sourceMappingURL=definition-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-hash.js","sourceRoot":"","sources":["../src/definition-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,UAAU,sBAAsB,CAAC,UAA8B;IACnE,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,UAA8B;IAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,UAAU,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { WorkflowDefinition, WorkflowProviders, WorkflowSetupOptions } from "../types/index.js";
2
+ export declare const workflowFixtureRegistryRefs: {
3
+ readonly handlers: {
4
+ readonly makePlan: "fixture.handlers.makePlan";
5
+ readonly reviseDraft: "fixture.handlers.reviseDraft";
6
+ readonly summarizeDecision: "fixture.handlers.summarizeDecision";
7
+ };
8
+ readonly adapters: {
9
+ readonly textToTopic: "fixture.adapters.textToTopic";
10
+ readonly draftToSummary: "fixture.adapters.draftToSummary";
11
+ readonly decisionToSummary: "fixture.adapters.decisionToSummary";
12
+ };
13
+ readonly guards: {
14
+ readonly approved: "fixture.guards.approved";
15
+ readonly needsRevision: "fixture.guards.needsRevision";
16
+ };
17
+ readonly promptBuilders: {
18
+ readonly draftPrompt: "fixture.promptBuilders.draftPrompt";
19
+ };
20
+ readonly humanActions: {
21
+ readonly approve: "fixture.humanActions.approve";
22
+ readonly reject: "fixture.humanActions.reject";
23
+ readonly resume: "fixture.humanActions.resume";
24
+ readonly cancel: "fixture.humanActions.cancel";
25
+ };
26
+ };
27
+ export declare const minimalOneNodePiboAgentWorkflowFixture: WorkflowDefinition;
28
+ export declare const adapterWorkflowFixture: WorkflowDefinition;
29
+ export declare const humanWaitWorkflowFixture: WorkflowDefinition;
30
+ export declare const nestedChildWorkflowFixture: WorkflowDefinition;
31
+ export declare const nestedWorkflowFixture: WorkflowDefinition;
32
+ export declare const mixedNodeWorkflowFixture: WorkflowDefinition;
33
+ export declare const debugSerializationWorkflowFixture: WorkflowDefinition;
34
+ export declare const boundedReviewLoopWorkflowFixture: WorkflowDefinition;
35
+ export declare const requiredWorkflowFixtures: readonly WorkflowDefinition[];
36
+ export declare const workflowFixtureDefinitionsById: Readonly<Record<string, WorkflowDefinition>>;
37
+ export declare const workflowFixtureProviders: WorkflowProviders;
38
+ export declare const workflowFixtureSetupOptions: WorkflowSetupOptions;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAOV,kBAAkB,EAElB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AA8F3B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;CAwB9B,CAAC;AAEX,eAAO,MAAM,sCAAsC,EAAE,kBAwBpD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAsCpC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBA6BtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAsBxC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,kBAuBnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBA0FtC,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,kBA0C/C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,kBAqF9C,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,SAAS,kBAAkB,EASjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAEvF,CAAC;AAuDF,eAAO,MAAM,wBAAwB,EAAE,iBA0BtC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,oBAUzC,CAAC"}