@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.
- package/CHANGELOG.md +536 -0
- package/README.md +64 -0
- package/dist/src/agent-execution.d.ts +338 -0
- package/dist/src/agent-execution.js +1633 -0
- package/dist/src/background-widget.d.ts +74 -0
- package/dist/src/background-widget.js +1340 -0
- package/dist/src/budget.d.ts +38 -0
- package/dist/src/budget.js +188 -0
- package/dist/src/changelog.d.ts +6 -0
- package/dist/src/changelog.js +112 -0
- package/dist/src/decoders.d.ts +96 -0
- package/dist/src/decoders.js +629 -0
- package/dist/src/execution.d.ts +19 -0
- package/dist/src/execution.js +749 -0
- package/dist/src/herdr.d.ts +53 -0
- package/dist/src/herdr.js +270 -0
- package/dist/src/host-delivery.d.ts +95 -0
- package/dist/src/host-delivery.js +376 -0
- package/dist/src/host-navigator.d.ts +83 -0
- package/dist/src/host-navigator.js +1087 -0
- package/dist/src/host-phases.d.ts +89 -0
- package/dist/src/host-phases.js +320 -0
- package/dist/src/host-recovery.d.ts +141 -0
- package/dist/src/host-recovery.js +356 -0
- package/dist/src/host-runtime.d.ts +78 -0
- package/dist/src/host-runtime.js +378 -0
- package/dist/src/host-view.d.ts +116 -0
- package/dist/src/host-view.js +868 -0
- package/dist/src/host.d.ts +40 -0
- package/dist/src/host.js +1641 -0
- package/dist/src/index.d.ts +29 -0
- package/dist/src/index.js +13725 -0
- package/dist/src/index.js.map +6 -0
- package/dist/src/io.d.ts +14 -0
- package/dist/src/io.js +82 -0
- package/dist/src/package-identity.d.ts +4 -0
- package/dist/src/package-identity.js +6 -0
- package/dist/src/paths.d.ts +14 -0
- package/dist/src/paths.js +51 -0
- package/dist/src/persistence.d.ts +5 -0
- package/dist/src/persistence.js +5 -0
- package/dist/src/pi-runtime-adapter.d.ts +27 -0
- package/dist/src/pi-runtime-adapter.js +243 -0
- package/dist/src/pi-runtime-runner.d.ts +42 -0
- package/dist/src/pi-runtime-runner.js +505 -0
- package/dist/src/registry.d.ts +48 -0
- package/dist/src/registry.js +379 -0
- package/dist/src/retention.d.ts +17 -0
- package/dist/src/retention.js +195 -0
- package/dist/src/runtime/agent-runner.d.ts +143 -0
- package/dist/src/runtime/agent-runner.js +12 -0
- package/dist/src/runtime/index.d.ts +2 -0
- package/dist/src/runtime/index.js +2 -0
- package/dist/src/runtime/namespace.d.ts +14 -0
- package/dist/src/runtime/namespace.js +1 -0
- package/dist/src/runtime/workflow-result.d.ts +2 -0
- package/dist/src/runtime/workflow-result.js +6 -0
- package/dist/src/session-handoff.d.ts +2 -0
- package/dist/src/session-handoff.js +82 -0
- package/dist/src/session-lease.d.ts +12 -0
- package/dist/src/session-lease.js +180 -0
- package/dist/src/store.d.ts +95 -0
- package/dist/src/store.js +951 -0
- package/dist/src/subagent-manager-handle.d.ts +4 -0
- package/dist/src/subagent-manager-handle.js +6 -0
- package/dist/src/tool-timing.d.ts +12 -0
- package/dist/src/tool-timing.js +33 -0
- package/dist/src/trajectory-contracts.d.ts +8 -0
- package/dist/src/trajectory-contracts.js +9 -0
- package/dist/src/trajectory-host-handle.d.ts +12 -0
- package/dist/src/trajectory-host-handle.js +6 -0
- package/dist/src/trajectory.d.ts +128 -0
- package/dist/src/trajectory.js +594 -0
- package/dist/src/types.d.ts +960 -0
- package/dist/src/types.js +60 -0
- package/dist/src/utils.d.ts +57 -0
- package/dist/src/utils.js +225 -0
- package/dist/src/validation.d.ts +29 -0
- package/dist/src/validation.js +1100 -0
- package/dist/src/workflow-artifacts.d.ts +14 -0
- package/dist/src/workflow-artifacts.js +40 -0
- package/dist/starter/index.d.ts +1 -0
- package/dist/starter/index.js +103 -0
- package/dist/starter/index.js.map +6 -0
- package/dist/starter/review-loop.d.ts +72 -0
- package/dist/starter/review-loop.js +43 -0
- package/dist/starter/roles/developer.md +6 -0
- package/dist/starter/roles/oracle.md +18 -0
- package/dist/starter/roles/researcher.md +20 -0
- package/dist/starter/roles/reviewer.md +19 -0
- package/dist/starter/roles/scout.md +18 -0
- package/dist/subagents/index.d.ts +8 -0
- package/dist/subagents/index.js +8021 -0
- package/dist/subagents/index.js.map +6 -0
- package/dist/subagents/src/contracts.d.ts +173 -0
- package/dist/subagents/src/contracts.js +68 -0
- package/dist/subagents/src/decode.d.ts +15 -0
- package/dist/subagents/src/decode.js +182 -0
- package/dist/subagents/src/index.d.ts +12 -0
- package/dist/subagents/src/index.js +180 -0
- package/dist/subagents/src/manager.d.ts +3 -0
- package/dist/subagents/src/manager.js +1636 -0
- package/dist/subagents/src/navigator.d.ts +5 -0
- package/dist/subagents/src/navigator.js +627 -0
- package/dist/subagents/src/view.d.ts +70 -0
- package/dist/subagents/src/view.js +387 -0
- package/dist/subagents/src/worktree.d.ts +34 -0
- package/dist/subagents/src/worktree.js +68 -0
- package/dist/trajectory/assets/favicon.png +0 -0
- package/dist/trajectory/assets/index.html +772 -0
- package/dist/trajectory/assets/marked.min.js +6 -0
- package/dist/trajectory/assets/morphdom.min.js +1 -0
- package/dist/trajectory/index.d.ts +5 -0
- package/dist/trajectory/index.js +3459 -0
- package/dist/trajectory/index.js.map +6 -0
- package/dist/trajectory/src/assets/favicon.png +0 -0
- package/dist/trajectory/src/assets/index.html +772 -0
- package/dist/trajectory/src/assets/marked.min.js +6 -0
- package/dist/trajectory/src/assets/morphdom.min.js +1 -0
- package/dist/trajectory/src/export.d.ts +25 -0
- package/dist/trajectory/src/export.js +80 -0
- package/dist/trajectory/src/index.d.ts +26 -0
- package/dist/trajectory/src/index.js +732 -0
- package/dist/trajectory/src/server.d.ts +7 -0
- package/dist/trajectory/src/server.js +2534 -0
- package/dist/trajectory/src/server.js.map +6 -0
- package/examples/advanced-patterns/auto-model-router.mjs +78 -0
- package/examples/workflow-extension-template/README.md +37 -0
- package/examples/workflow-extension-template/extension.test.mjs +59 -0
- package/examples/workflow-extension-template/index.js +51 -0
- package/examples/workflow-extension-template/roles/reviewer.md +4 -0
- package/package.json +105 -0
- package/skills/pi-extensible-workflows/SKILL.md +160 -0
- package/src/agent-execution.ts +1533 -0
- package/src/background-widget.ts +1496 -0
- package/src/budget.ts +109 -0
- package/src/changelog.ts +114 -0
- package/src/decoders.ts +567 -0
- package/src/execution.ts +652 -0
- package/src/herdr.ts +240 -0
- package/src/host-delivery.ts +346 -0
- package/src/host-navigator.ts +871 -0
- package/src/host-phases.ts +264 -0
- package/src/host-recovery.ts +333 -0
- package/src/host-runtime.ts +373 -0
- package/src/host-view.ts +828 -0
- package/src/host.ts +1502 -0
- package/src/index.ts +29 -0
- package/src/io.ts +73 -0
- package/src/package-identity.ts +7 -0
- package/src/paths.ts +49 -0
- package/src/persistence.ts +11 -0
- package/src/pi-runtime-adapter.ts +247 -0
- package/src/pi-runtime-runner.ts +436 -0
- package/src/registry.ts +321 -0
- package/src/retention.ts +178 -0
- package/src/runtime/agent-runner.ts +158 -0
- package/src/runtime/index.ts +2 -0
- package/src/runtime/namespace.ts +16 -0
- package/src/runtime/workflow-result.ts +8 -0
- package/src/session-handoff.ts +78 -0
- package/src/session-lease.ts +125 -0
- package/src/store.ts +832 -0
- package/src/subagent-manager-handle.ts +8 -0
- package/src/tool-timing.ts +47 -0
- package/src/trajectory-contracts.ts +13 -0
- package/src/trajectory-host-handle.ts +16 -0
- package/src/trajectory.ts +543 -0
- package/src/types.ts +374 -0
- package/src/utils.ts +192 -0
- package/src/validation.ts +910 -0
- package/src/workflow-artifacts.ts +35 -0
- package/starter/index.ts +35 -0
- package/starter/prompts/council.md +16 -0
- package/starter/prompts/deep-research.md +16 -0
- package/starter/prompts/oracle.md +14 -0
- package/starter/prompts/parallel-review.md +22 -0
- package/starter/prompts/parallel-scout.md +16 -0
- package/starter/prompts/review-loop.md +14 -0
- package/starter/prompts/review.md +14 -0
- package/starter/prompts/scout.md +14 -0
- package/starter/review-loop.ts +73 -0
- package/starter/roles/developer.md +6 -0
- package/starter/roles/oracle.md +18 -0
- package/starter/roles/researcher.md +20 -0
- package/starter/roles/reviewer.md +19 -0
- package/starter/roles/scout.md +18 -0
- package/subagents/README.md +145 -0
- package/subagents/index.ts +8 -0
- package/subagents/src/contracts.ts +176 -0
- package/subagents/src/decode.ts +158 -0
- package/subagents/src/index.ts +194 -0
- package/subagents/src/manager.ts +1560 -0
- package/subagents/src/navigator.ts +488 -0
- package/subagents/src/view.ts +376 -0
- package/subagents/src/worktree.ts +99 -0
- package/trajectory/index.ts +5 -0
- package/trajectory/src/assets/favicon.png +0 -0
- package/trajectory/src/assets/index.html +772 -0
- package/trajectory/src/assets/marked.min.js +6 -0
- package/trajectory/src/assets/morphdom.min.js +1 -0
- package/trajectory/src/export.ts +85 -0
- package/trajectory/src/index.ts +604 -0
- 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
|
+
}
|
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
|
+
}
|