@marcoscale98/pi-extensible-workflows 5.14.1-fork.1

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 (204) hide show
  1. package/CHANGELOG.md +536 -0
  2. package/README.md +64 -0
  3. package/dist/src/agent-execution.d.ts +338 -0
  4. package/dist/src/agent-execution.js +1633 -0
  5. package/dist/src/background-widget.d.ts +74 -0
  6. package/dist/src/background-widget.js +1340 -0
  7. package/dist/src/budget.d.ts +38 -0
  8. package/dist/src/budget.js +188 -0
  9. package/dist/src/changelog.d.ts +6 -0
  10. package/dist/src/changelog.js +112 -0
  11. package/dist/src/decoders.d.ts +96 -0
  12. package/dist/src/decoders.js +629 -0
  13. package/dist/src/execution.d.ts +19 -0
  14. package/dist/src/execution.js +749 -0
  15. package/dist/src/herdr.d.ts +53 -0
  16. package/dist/src/herdr.js +270 -0
  17. package/dist/src/host-delivery.d.ts +95 -0
  18. package/dist/src/host-delivery.js +376 -0
  19. package/dist/src/host-navigator.d.ts +83 -0
  20. package/dist/src/host-navigator.js +1087 -0
  21. package/dist/src/host-phases.d.ts +89 -0
  22. package/dist/src/host-phases.js +320 -0
  23. package/dist/src/host-recovery.d.ts +141 -0
  24. package/dist/src/host-recovery.js +356 -0
  25. package/dist/src/host-runtime.d.ts +78 -0
  26. package/dist/src/host-runtime.js +378 -0
  27. package/dist/src/host-view.d.ts +116 -0
  28. package/dist/src/host-view.js +868 -0
  29. package/dist/src/host.d.ts +40 -0
  30. package/dist/src/host.js +1641 -0
  31. package/dist/src/index.d.ts +29 -0
  32. package/dist/src/index.js +13725 -0
  33. package/dist/src/index.js.map +6 -0
  34. package/dist/src/io.d.ts +14 -0
  35. package/dist/src/io.js +82 -0
  36. package/dist/src/package-identity.d.ts +4 -0
  37. package/dist/src/package-identity.js +6 -0
  38. package/dist/src/paths.d.ts +14 -0
  39. package/dist/src/paths.js +51 -0
  40. package/dist/src/persistence.d.ts +5 -0
  41. package/dist/src/persistence.js +5 -0
  42. package/dist/src/pi-runtime-adapter.d.ts +27 -0
  43. package/dist/src/pi-runtime-adapter.js +243 -0
  44. package/dist/src/pi-runtime-runner.d.ts +42 -0
  45. package/dist/src/pi-runtime-runner.js +505 -0
  46. package/dist/src/registry.d.ts +48 -0
  47. package/dist/src/registry.js +379 -0
  48. package/dist/src/retention.d.ts +17 -0
  49. package/dist/src/retention.js +195 -0
  50. package/dist/src/runtime/agent-runner.d.ts +143 -0
  51. package/dist/src/runtime/agent-runner.js +12 -0
  52. package/dist/src/runtime/index.d.ts +2 -0
  53. package/dist/src/runtime/index.js +2 -0
  54. package/dist/src/runtime/namespace.d.ts +14 -0
  55. package/dist/src/runtime/namespace.js +1 -0
  56. package/dist/src/runtime/workflow-result.d.ts +2 -0
  57. package/dist/src/runtime/workflow-result.js +6 -0
  58. package/dist/src/session-handoff.d.ts +2 -0
  59. package/dist/src/session-handoff.js +82 -0
  60. package/dist/src/session-lease.d.ts +12 -0
  61. package/dist/src/session-lease.js +180 -0
  62. package/dist/src/store.d.ts +95 -0
  63. package/dist/src/store.js +951 -0
  64. package/dist/src/subagent-manager-handle.d.ts +4 -0
  65. package/dist/src/subagent-manager-handle.js +6 -0
  66. package/dist/src/tool-timing.d.ts +12 -0
  67. package/dist/src/tool-timing.js +33 -0
  68. package/dist/src/trajectory-contracts.d.ts +8 -0
  69. package/dist/src/trajectory-contracts.js +9 -0
  70. package/dist/src/trajectory-host-handle.d.ts +12 -0
  71. package/dist/src/trajectory-host-handle.js +6 -0
  72. package/dist/src/trajectory.d.ts +128 -0
  73. package/dist/src/trajectory.js +594 -0
  74. package/dist/src/types.d.ts +960 -0
  75. package/dist/src/types.js +60 -0
  76. package/dist/src/utils.d.ts +57 -0
  77. package/dist/src/utils.js +225 -0
  78. package/dist/src/validation.d.ts +29 -0
  79. package/dist/src/validation.js +1100 -0
  80. package/dist/src/workflow-artifacts.d.ts +14 -0
  81. package/dist/src/workflow-artifacts.js +40 -0
  82. package/dist/starter/index.d.ts +1 -0
  83. package/dist/starter/index.js +103 -0
  84. package/dist/starter/index.js.map +6 -0
  85. package/dist/starter/review-loop.d.ts +72 -0
  86. package/dist/starter/review-loop.js +43 -0
  87. package/dist/starter/roles/developer.md +6 -0
  88. package/dist/starter/roles/oracle.md +18 -0
  89. package/dist/starter/roles/researcher.md +20 -0
  90. package/dist/starter/roles/reviewer.md +19 -0
  91. package/dist/starter/roles/scout.md +18 -0
  92. package/dist/subagents/index.d.ts +8 -0
  93. package/dist/subagents/index.js +8021 -0
  94. package/dist/subagents/index.js.map +6 -0
  95. package/dist/subagents/src/contracts.d.ts +173 -0
  96. package/dist/subagents/src/contracts.js +68 -0
  97. package/dist/subagents/src/decode.d.ts +15 -0
  98. package/dist/subagents/src/decode.js +182 -0
  99. package/dist/subagents/src/index.d.ts +12 -0
  100. package/dist/subagents/src/index.js +180 -0
  101. package/dist/subagents/src/manager.d.ts +3 -0
  102. package/dist/subagents/src/manager.js +1636 -0
  103. package/dist/subagents/src/navigator.d.ts +5 -0
  104. package/dist/subagents/src/navigator.js +627 -0
  105. package/dist/subagents/src/view.d.ts +70 -0
  106. package/dist/subagents/src/view.js +387 -0
  107. package/dist/subagents/src/worktree.d.ts +34 -0
  108. package/dist/subagents/src/worktree.js +68 -0
  109. package/dist/trajectory/assets/favicon.png +0 -0
  110. package/dist/trajectory/assets/index.html +772 -0
  111. package/dist/trajectory/assets/marked.min.js +6 -0
  112. package/dist/trajectory/assets/morphdom.min.js +1 -0
  113. package/dist/trajectory/index.d.ts +5 -0
  114. package/dist/trajectory/index.js +3459 -0
  115. package/dist/trajectory/index.js.map +6 -0
  116. package/dist/trajectory/src/assets/favicon.png +0 -0
  117. package/dist/trajectory/src/assets/index.html +772 -0
  118. package/dist/trajectory/src/assets/marked.min.js +6 -0
  119. package/dist/trajectory/src/assets/morphdom.min.js +1 -0
  120. package/dist/trajectory/src/export.d.ts +25 -0
  121. package/dist/trajectory/src/export.js +80 -0
  122. package/dist/trajectory/src/index.d.ts +26 -0
  123. package/dist/trajectory/src/index.js +732 -0
  124. package/dist/trajectory/src/server.d.ts +7 -0
  125. package/dist/trajectory/src/server.js +2534 -0
  126. package/dist/trajectory/src/server.js.map +6 -0
  127. package/examples/advanced-patterns/auto-model-router.mjs +78 -0
  128. package/examples/workflow-extension-template/README.md +37 -0
  129. package/examples/workflow-extension-template/extension.test.mjs +59 -0
  130. package/examples/workflow-extension-template/index.js +51 -0
  131. package/examples/workflow-extension-template/roles/reviewer.md +4 -0
  132. package/package.json +105 -0
  133. package/skills/pi-extensible-workflows/SKILL.md +160 -0
  134. package/src/agent-execution.ts +1533 -0
  135. package/src/background-widget.ts +1496 -0
  136. package/src/budget.ts +109 -0
  137. package/src/changelog.ts +114 -0
  138. package/src/decoders.ts +567 -0
  139. package/src/execution.ts +652 -0
  140. package/src/herdr.ts +240 -0
  141. package/src/host-delivery.ts +346 -0
  142. package/src/host-navigator.ts +871 -0
  143. package/src/host-phases.ts +264 -0
  144. package/src/host-recovery.ts +333 -0
  145. package/src/host-runtime.ts +373 -0
  146. package/src/host-view.ts +828 -0
  147. package/src/host.ts +1502 -0
  148. package/src/index.ts +29 -0
  149. package/src/io.ts +73 -0
  150. package/src/package-identity.ts +7 -0
  151. package/src/paths.ts +49 -0
  152. package/src/persistence.ts +11 -0
  153. package/src/pi-runtime-adapter.ts +247 -0
  154. package/src/pi-runtime-runner.ts +436 -0
  155. package/src/registry.ts +321 -0
  156. package/src/retention.ts +178 -0
  157. package/src/runtime/agent-runner.ts +158 -0
  158. package/src/runtime/index.ts +2 -0
  159. package/src/runtime/namespace.ts +16 -0
  160. package/src/runtime/workflow-result.ts +8 -0
  161. package/src/session-handoff.ts +78 -0
  162. package/src/session-lease.ts +125 -0
  163. package/src/store.ts +832 -0
  164. package/src/subagent-manager-handle.ts +8 -0
  165. package/src/tool-timing.ts +47 -0
  166. package/src/trajectory-contracts.ts +13 -0
  167. package/src/trajectory-host-handle.ts +16 -0
  168. package/src/trajectory.ts +543 -0
  169. package/src/types.ts +374 -0
  170. package/src/utils.ts +192 -0
  171. package/src/validation.ts +910 -0
  172. package/src/workflow-artifacts.ts +35 -0
  173. package/starter/index.ts +35 -0
  174. package/starter/prompts/council.md +16 -0
  175. package/starter/prompts/deep-research.md +16 -0
  176. package/starter/prompts/oracle.md +14 -0
  177. package/starter/prompts/parallel-review.md +22 -0
  178. package/starter/prompts/parallel-scout.md +16 -0
  179. package/starter/prompts/review-loop.md +14 -0
  180. package/starter/prompts/review.md +14 -0
  181. package/starter/prompts/scout.md +14 -0
  182. package/starter/review-loop.ts +73 -0
  183. package/starter/roles/developer.md +6 -0
  184. package/starter/roles/oracle.md +18 -0
  185. package/starter/roles/researcher.md +20 -0
  186. package/starter/roles/reviewer.md +19 -0
  187. package/starter/roles/scout.md +18 -0
  188. package/subagents/README.md +145 -0
  189. package/subagents/index.ts +8 -0
  190. package/subagents/src/contracts.ts +176 -0
  191. package/subagents/src/decode.ts +158 -0
  192. package/subagents/src/index.ts +194 -0
  193. package/subagents/src/manager.ts +1560 -0
  194. package/subagents/src/navigator.ts +488 -0
  195. package/subagents/src/view.ts +376 -0
  196. package/subagents/src/worktree.ts +99 -0
  197. package/trajectory/index.ts +5 -0
  198. package/trajectory/src/assets/favicon.png +0 -0
  199. package/trajectory/src/assets/index.html +772 -0
  200. package/trajectory/src/assets/marked.min.js +6 -0
  201. package/trajectory/src/assets/morphdom.min.js +1 -0
  202. package/trajectory/src/export.ts +85 -0
  203. package/trajectory/src/index.ts +604 -0
  204. package/trajectory/src/server.ts +447 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../trajectory/src/server.ts", "../../../src/trajectory-contracts.ts", "../../../src/paths.ts", "../../../src/types.ts", "../../../../../node_modules/balanced-match/src/index.ts", "../../../../../node_modules/brace-expansion/src/index.ts", "../../../../../node_modules/minimatch/src/assert-valid-pattern.ts", "../../../../../node_modules/minimatch/src/brace-expressions.ts", "../../../../../node_modules/minimatch/src/unescape.ts", "../../../../../node_modules/minimatch/src/ast.ts", "../../../../../node_modules/minimatch/src/escape.ts", "../../../../../node_modules/minimatch/src/index.ts", "../../../src/utils.ts"],
4
+ "mappings": "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",
5
+ "names": ["i", "acc", "ext", "start", "final", "ext", "qmark", "star", "regExpEscape", "i", "path", "serialized", "header", "requests", "request", "value", "requestId", "target", "publisherRequestId", "path", "resolve"]
6
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Dynamic Model Router (extension pattern)
3
+ *
4
+ * Instead of mutating `settings.json` on disk, this registers trusted dynamic
5
+ * `modelAliases`. Each alias exposes a `resolve(context)` that runs once per
6
+ * launch (before preflight/availability checks) and picks the best model from
7
+ * the live `context.availableModels` inventory.
8
+ *
9
+ * This keeps deterministic workflows from failing on hardcoded, out-of-quota,
10
+ * or deprecated models, while staying inside the documented extension API:
11
+ * https://vekexasia.github.io/pi-extensible-workflows/extensions.html#model-aliases
12
+ *
13
+ * Static aliases in global/project settings still override these package
14
+ * defaults, so operators keep the final say.
15
+ *
16
+ * Load it from a Pi extension location, e.g. `~/.pi/agent/extensions/`.
17
+ */
18
+
19
+ import { registerWorkflowExtension } from 'pi-extensible-workflows';
20
+
21
+ // Optional provider/proxy prefix for bare model IDs. `availableModels` already
22
+ // carries `provider/model` targets, so only apply this to bare names.
23
+ const PROVIDER = process.env.PI_ROUTER_PROVIDER || '';
24
+
25
+ const withProvider = (name) =>
26
+ !PROVIDER || name.includes('/') ? name : `${PROVIDER}/${name}`;
27
+
28
+ // Split the live inventory into capability tiers by well-known name markers.
29
+ function classify(availableModels) {
30
+ const models = [...availableModels];
31
+
32
+ const tier1 = models.filter((m) =>
33
+ /(pro|agent|sonnet|opus)/i.test(m)
34
+ );
35
+ const tier2 = models.filter(
36
+ (m) => /flash/i.test(m) && !/(lite|low|extra)/i.test(m)
37
+ );
38
+ const tier3 = models.filter((m) => /(lite|low|haiku)/i.test(m));
39
+
40
+ const bestCode = tier1[0] || tier2[0] || models[0];
41
+ const bestReview =
42
+ tier1.find((m) => /(agent|opus)/i.test(m)) || bestCode;
43
+ const bestMid = tier2[0] || bestCode;
44
+ const bestFast = tier3[0] || tier2[0] || models[0];
45
+
46
+ return { bestCode, bestReview, bestMid, bestFast };
47
+ }
48
+
49
+ // Build a resolver that picks a target from the live inventory. Returning a
50
+ // non-available or invalid target fails the launch before any run starts, so
51
+ // throw a clear error when nothing matches.
52
+ const pick = (select) => ({
53
+ async resolve({ availableModels }) {
54
+ if (availableModels.size === 0) {
55
+ throw new Error('auto-model-router: no available models');
56
+ }
57
+ return withProvider(select(classify(availableModels)));
58
+ },
59
+ });
60
+
61
+ export default function extension() {
62
+ registerWorkflowExtension({
63
+ version: '1.0.0',
64
+ headline: 'Dynamic model router',
65
+ modelAliases: {
66
+ 'developer-model': pick((t) => t.bestCode),
67
+ 'reviewer-model': pick((t) => t.bestReview),
68
+ 'scout-model': pick((t) => t.bestFast),
69
+ 'cheap-model': pick((t) => t.bestFast),
70
+ 'planner-model': pick((t) => t.bestCode),
71
+ 'security-model': pick((t) => t.bestReview),
72
+ 'designer-model': pick((t) => t.bestMid),
73
+ fast: pick((t) => t.bestFast),
74
+ smart: pick((t) => t.bestCode),
75
+ deep: pick((t) => t.bestReview),
76
+ },
77
+ });
78
+ }
@@ -0,0 +1,37 @@
1
+ # Workflow extension template
2
+
3
+ This is a small, copyable extension rather than a generator. It shows the usual
4
+ registration shape with one function and one packaged role. Copy the directory
5
+ into a project, rename the metadata and function, then edit the role body.
6
+
7
+
8
+ ## Run it
9
+
10
+ From the repository root after installing dependencies and building the package:
11
+
12
+ ```sh
13
+ node --test packages/core/examples/workflow-extension-template/extension.test.mjs
14
+ ```
15
+
16
+ For a published package, run the same test from this directory after installing
17
+ `@marcoscale98/pi-extensible-workflows` in the surrounding project. Copy the directory into a
18
+ trusted Pi extension location; Pi auto-discovers its `index.js` entry point.
19
+
20
+
21
+ ## Files
22
+
23
+ - `index.js` registers `greet` and resolves `roles/` from `import.meta.url`.
24
+ Relative role-directory strings are not accepted by the extension API.
25
+ - `roles/reviewer.md` is a portable packaged role with no provider or tool
26
+ assumptions.
27
+ - `extension.test.mjs` checks registration, function behavior, role packaging,
28
+ and the advanced examples.
29
+
30
+
31
+ ## Optional advanced pieces
32
+
33
+ The dynamic `template-model` alias and `templateAdvisor` setup hook are
34
+ optional examples. The hook only changes an agent after the call includes
35
+ `{ templateAdvisor: true }`; remove either section if the extension does not
36
+ need it. Both features are trusted host code and should be kept under explicit
37
+ project policy.
@@ -0,0 +1,59 @@
1
+ import assert from "node:assert/strict";
2
+ import { cp, mkdir, mkdtemp, rm, symlink } from "node:fs/promises";
3
+ import { readFileSync } from "node:fs";
4
+ import { dirname, join } from "node:path";
5
+ import { tmpdir } from "node:os";
6
+ import test from "node:test";
7
+ import { fileURLToPath } from "node:url";
8
+ import { discoverAndLoadExtensions } from "@earendil-works/pi-coding-agent";
9
+ import { beginWorkflowExtensionLoading, loadingRegistry, registeredWorkflowFunctions, registeredWorkflowRoleDirectoryRegistrations, resetWorkflowRegistry, workflowCatalog } from "@marcoscale98/pi-extensible-workflows";
10
+
11
+ test("discovers the copied directory as a trusted Pi extension", async () => {
12
+ const root = await mkdtemp(join(tmpdir(), "workflow-extension-template-"));
13
+ try {
14
+ const destination = join(root, ".pi", "extensions", "workflow-extension-template");
15
+ await mkdir(join(root, "node_modules", "@marcoscale98"), { recursive: true });
16
+ const packageEntry = fileURLToPath(import.meta.resolve("@marcoscale98/pi-extensible-workflows"));
17
+ const packageRoot = join(dirname(packageEntry), "..", "..");
18
+ await symlink(packageRoot, join(root, "node_modules", "@marcoscale98", "pi-extensible-workflows"), "dir");
19
+ await cp(dirname(fileURLToPath(import.meta.url)), destination, { recursive: true });
20
+ const result = await discoverAndLoadExtensions([], root, join(root, ".pi", "agent"));
21
+ assert.equal(result.errors.length, 0);
22
+ assert.equal(result.extensions.length, 1);
23
+ } finally {
24
+ await rm(root, { recursive: true, force: true });
25
+ }
26
+
27
+ resetWorkflowRegistry();
28
+ const { default: extension } = await import("./index.js");
29
+ beginWorkflowExtensionLoading();
30
+ extension();
31
+
32
+ const catalog = workflowCatalog();
33
+ assert.deepEqual(catalog.functions.map(({ name }) => name), ["greet"]);
34
+ assert.deepEqual(catalog.modelAliasEntries?.filter(({ name }) => name === "template-model").map(({ name, kind }) => ({ name, kind })), [{ name: "template-model", kind: "dynamic" }]);
35
+ assert.equal(await registeredWorkflowFunctions().greet.run({ name: "Ada" }, {}), "Hello, Ada!");
36
+
37
+ const registration = registeredWorkflowRoleDirectoryRegistrations()[0];
38
+ assert.ok(registration);
39
+ assert.match(readFileSync(join(registration.path, "reviewer.md"), "utf8"), /Packaged reviewer role/);
40
+
41
+ for (const [name, availableModels, expected] of [["root-model", ["example/root"], "example/root"], ["available-fallback", ["example/available"], "example/available"], ["no-model-fallback", [], "example/root"]]) {
42
+ const resolved = await loadingRegistry().resolveModelAliases({ cwd: process.cwd(), projectTrusted: true, rootModel: { provider: "example", model: "root" }, knownModels: new Set(["example/root", "example/available"]), availableModels: new Set(availableModels), signal: new AbortController().signal });
43
+ assert.deepEqual(resolved, { "template-model": expected }, name);
44
+ }
45
+
46
+ const hook = loadingRegistry().agentSetupHooks().find(({ name }) => name === "templateAdvisor");
47
+ assert.ok(hook);
48
+ const hookCases = [
49
+ { options: {}, append: undefined, aborted: false },
50
+ { options: { templateAdvisor: true }, append: "Existing", expected: "Existing\n\nAdvisor: call out one concrete risk and one next check.", aborted: false },
51
+ { options: { templateAdvisor: true }, append: "Existing", expected: "Existing", aborted: true },
52
+ ];
53
+ for (const current of hookCases) {
54
+ const controller = new AbortController(); if (current.aborted) controller.abort();
55
+ const agent = { prompt: "Review this", options: current.options, sessionInput: current.append === undefined ? {} : { systemPromptAppend: current.append } };
56
+ await hook.setup(agent, { signal: controller.signal });
57
+ assert.equal(agent.sessionInput.systemPromptAppend, current.expected);
58
+ }
59
+ });
@@ -0,0 +1,51 @@
1
+ import { registerWorkflowExtension } from "@marcoscale98/pi-extensible-workflows";
2
+
3
+ const templateExtension = {
4
+ version: "1.0.0",
5
+ source: import.meta.url,
6
+ headline: "Workflow extension template",
7
+ functions: {
8
+ greet: {
9
+ description: "Return a greeting for one person.",
10
+ input: {
11
+ type: "object",
12
+ properties: { name: { type: "string" } },
13
+ required: ["name"],
14
+ additionalProperties: false,
15
+ },
16
+ output: { type: "string" },
17
+ run(input) {
18
+ return `Hello, ${String(input.name)}!`;
19
+ },
20
+ },
21
+ },
22
+ // Packaged resources must be absolute paths or file URLs. This URL stays
23
+ // correct when the extension is copied or installed elsewhere.
24
+ roleDirectories: [new URL("./roles/", import.meta.url)],
25
+ // Optional advanced example: select an available model without naming a
26
+ // provider-specific model in the extension.
27
+ modelAliases: {
28
+ "template-model": {
29
+ resolve({ availableModels, rootModel }) {
30
+ const root = `${rootModel.provider}/${rootModel.model}`;
31
+ return availableModels.has(root) ? root : availableModels.values().next().value ?? root;
32
+ },
33
+ },
34
+ },
35
+ // Optional advanced example: mutate setup only for explicitly opted-in
36
+ // agents. Setup hooks are trusted code and should stay narrowly scoped.
37
+ agentSetupHooks: {
38
+ templateAdvisor: {
39
+ setup(agent, context) {
40
+ if (context.signal.aborted || agent.options.templateAdvisor !== true) return;
41
+ const suffix = "\n\nAdvisor: call out one concrete risk and one next check.";
42
+ const existing = agent.sessionInput.systemPromptAppend;
43
+ agent.sessionInput.systemPromptAppend = existing ? existing + suffix : suffix;
44
+ },
45
+ },
46
+ },
47
+ };
48
+
49
+ export default function extension() {
50
+ registerWorkflowExtension(templateExtension);
51
+ }
@@ -0,0 +1,4 @@
1
+ ---
2
+ description: Packaged reviewer role
3
+ ---
4
+ Review the requested change carefully. Return concrete findings with file names and a next check.
package/package.json ADDED
@@ -0,0 +1,105 @@
1
+ {
2
+ "name": "@marcoscale98/pi-extensible-workflows",
3
+ "version": "5.14.1-fork.1",
4
+ "description": "Deterministic multi-agent workflow orchestration for Pi",
5
+ "homepage": "https://vekexasia.github.io/pi-extensible-workflows/",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/marcoscale98/pi-extensible-workflows.git",
9
+ "directory": "packages/core"
10
+ },
11
+ "type": "module",
12
+ "keywords": [
13
+ "pi-package",
14
+ "pi",
15
+ "workflow",
16
+ "multi-agent",
17
+ "orchestration",
18
+ "automation"
19
+ ],
20
+ "exports": {
21
+ ".": "./dist/src/index.js",
22
+ "./persistence": "./dist/src/persistence.js",
23
+ "./types": "./dist/src/types.js",
24
+ "./utils": "./dist/src/utils.js",
25
+ "./budget": "./dist/src/budget.js",
26
+ "./validation": "./dist/src/validation.js",
27
+ "./registry": "./dist/src/registry.js",
28
+ "./runtime": "./dist/src/runtime/index.js",
29
+ "./trajectory": "./dist/trajectory/index.js"
30
+ },
31
+ "files": [
32
+ "dist/src",
33
+ "dist/starter",
34
+ "dist/subagents",
35
+ "dist/trajectory",
36
+ "!dist/**/test/**",
37
+ "!dist/**/*.test.*",
38
+ "src",
39
+ "starter",
40
+ "trajectory/index.ts",
41
+ "trajectory/src",
42
+ "subagents/index.ts",
43
+ "subagents/src",
44
+ "subagents/README.md",
45
+ "skills",
46
+ "examples",
47
+ "CHANGELOG.md"
48
+ ],
49
+ "scripts": {
50
+ "build": "rm -rf dist && tsc -p tsconfig.json && cp -R starter/roles dist/starter/roles && cp -R trajectory/src/assets dist/trajectory/src/assets && cp -R trajectory/src/assets dist/trajectory/assets && esbuild src/index.ts starter/index.ts subagents/index.ts trajectory/index.ts --bundle --format=esm --platform=node --packages=external --sourcemap --sources-content=false --outbase=. --outdir=dist && esbuild trajectory/src/server.ts --bundle --format=esm --platform=node --sourcemap --sources-content=false --outfile=dist/trajectory/src/server.js",
51
+ "lint": "eslint .",
52
+ "test": "npm run test:layout && npm run build && npm run test:widget && npm run test:run && npm run test:herdr && npm run test:subagents",
53
+ "test:layout": "node --test --test-timeout=10000 --test-force-exit test/workspace-layout.test.mjs",
54
+ "test:subagents": "tmp=$(mktemp -d); trap 'rm -rf \"$tmp\"' EXIT; PI_CODING_AGENT_DIR=\"$tmp\" node --test --test-timeout=30000 --test-force-exit subagents/test/index.test.mjs",
55
+ "test:widget": "node --test --test-timeout=30000 --test-force-exit test/background-widget.test.mjs",
56
+ "test:run": "files=${TEST_FILES:-$(find dist/test dist/trajectory/test -name '*.test.js' ! -name 'navigator.test.js')}; printf '%s\\n' $files | xargs -n1 -P20 sh -c 'tmp=$(mktemp -d); agent=$(mktemp -d); trap '\"'\"'rm -rf \"$tmp\" \"$agent\"'\"'\"' EXIT; TMPDIR=\"$tmp\" PI_CODING_AGENT_DIR=\"$agent\" env -u HERDR_ENV -u HERDR_PANE_ID -u HERDR_SOCKET_PATH -u HERDR_TAB_ID -u HERDR_WORKSPACE_ID node --expose-gc --test --test-concurrency=1 --test-timeout=120000 --test-force-exit --test-reporter=dot \"$1\"' sh",
57
+ "test:herdr": "if [ \"${HERDR_ENV:-}\" != \"1\" ]; then echo 'Skipping Herdr integration tests: HERDR_ENV=1 is required; run inside a Herdr pane to exercise them.'; exit 0; fi; tmp=$(mktemp -d); trap 'rm -rf \"$tmp\"' EXIT; TMPDIR=\"$tmp\" node --expose-gc --test --test-concurrency=1 --test-timeout=180000 --test-force-exit --test-reporter=dot dist/test/navigator.test.js dist/test/trajectory-e2e.test.js",
58
+ "acceptance": "npm run build && TEST_FILES='dist/test/runtime-acceptance.test.js' npm run test:run",
59
+ "evals": "npm run build && node dist/evals/src/workflow-evals.js",
60
+ "evals:ambient": "node -e \"if (process.env.PI_WORKFLOW_EVAL_AMBIENT !== '1') { console.error('Ambient Tier D evals are opt-in. Set PI_WORKFLOW_EVAL_AMBIENT=1 to run them.'); process.exit(1); }\" && npm run build && node dist/evals/src/ambient-workflow-evals.js",
61
+ "prepack": "npm run build && node ../../scripts/stage-core-changelog.mjs stage",
62
+ "postpack": "node ../../scripts/stage-core-changelog.mjs clean"
63
+ },
64
+ "pi": {
65
+ "extensions": [
66
+ "./dist/src/index.js",
67
+ "./dist/starter/index.js",
68
+ "./dist/subagents/index.js",
69
+ "./dist/trajectory/index.js"
70
+ ],
71
+ "prompts": [
72
+ "./starter/prompts"
73
+ ],
74
+ "image": "https://raw.githubusercontent.com/vekexasia/pi-extensible-workflows/main/assets/banner.svg"
75
+ },
76
+ "peerDependencies": {
77
+ "@earendil-works/pi-ai": "*",
78
+ "@earendil-works/pi-coding-agent": "*",
79
+ "@earendil-works/pi-tui": "*",
80
+ "typebox": "*"
81
+ },
82
+ "devDependencies": {
83
+ "@earendil-works/pi-ai": "0.85.0",
84
+ "@earendil-works/pi-coding-agent": "0.85.0",
85
+ "@earendil-works/pi-server": "0.85.0",
86
+ "@earendil-works/pi-tui": "0.85.0",
87
+ "@eslint/js": "10.0.1",
88
+ "@types/node": "24.12.4",
89
+ "esbuild": "^0.28.2",
90
+ "eslint": "10.0.3",
91
+ "typescript": "5.9.3",
92
+ "typescript-eslint": "8.63.0"
93
+ },
94
+ "engines": {
95
+ "node": ">=22.19.0"
96
+ },
97
+ "license": "MIT",
98
+ "dependencies": {
99
+ "acorn": "^8.17.0",
100
+ "minimatch": "^10.2.5"
101
+ },
102
+ "publishConfig": {
103
+ "access": "public"
104
+ }
105
+ }