@davidorex/pi-workflows 0.14.6 → 0.26.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.
- package/README.md +12 -9
- package/agents/handoff-writer.agent.yaml +1 -1
- package/dist/agent-spec.d.ts.map +1 -1
- package/dist/agent-spec.js +4 -3
- package/dist/agent-spec.js.map +1 -1
- package/dist/bundled-dirs.d.ts +2 -0
- package/dist/bundled-dirs.d.ts.map +1 -0
- package/dist/bundled-dirs.js +21 -0
- package/dist/bundled-dirs.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +118 -8
- package/dist/index.js.map +1 -1
- package/dist/render-by-id.d.ts +62 -0
- package/dist/render-by-id.d.ts.map +1 -0
- package/dist/render-by-id.js +102 -0
- package/dist/render-by-id.js.map +1 -0
- package/dist/step-agent.js +1 -1
- package/dist/step-block.d.ts +5 -1
- package/dist/step-block.d.ts.map +1 -1
- package/dist/step-block.js +88 -40
- package/dist/step-block.js.map +1 -1
- package/dist/step-monitor.d.ts +1 -1
- package/dist/step-monitor.d.ts.map +1 -1
- package/dist/step-monitor.js +1 -1
- package/dist/step-monitor.js.map +1 -1
- package/dist/step-shared.d.ts +1 -1
- package/dist/step-shared.d.ts.map +1 -1
- package/dist/step-shared.js +16 -10
- package/dist/step-shared.js.map +1 -1
- package/dist/template-validation.d.ts.map +1 -1
- package/dist/template-validation.js +5 -5
- package/dist/template-validation.js.map +1 -1
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +2 -1
- package/dist/template.js.map +1 -1
- package/dist/test-helpers.d.ts +91 -0
- package/dist/test-helpers.d.ts.map +1 -1
- package/dist/test-helpers.js +186 -1
- package/dist/test-helpers.js.map +1 -1
- package/dist/tui.d.ts +3 -3
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +1 -1
- package/dist/types.d.ts +36 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/workflow-discovery.d.ts.map +1 -1
- package/dist/workflow-discovery.js +2 -1
- package/dist/workflow-discovery.js.map +1 -1
- package/dist/workflow-executor.d.ts.map +1 -1
- package/dist/workflow-executor.js +23 -9
- package/dist/workflow-executor.js.map +1 -1
- package/dist/workflow-sdk.d.ts.map +1 -1
- package/dist/workflow-sdk.js +14 -8
- package/dist/workflow-sdk.js.map +1 -1
- package/dist/workflow-spec.js +99 -2
- package/dist/workflow-spec.js.map +1 -1
- package/package.json +9 -5
- package/skill-narrative.md +3 -1
- package/skills/pi-workflows/SKILL.md +43 -6
- package/skills/pi-workflows/references/bundled-resources.md +16 -1
- package/templates/items/architecture.md +33 -0
- package/templates/items/conformance.md +26 -0
- package/templates/items/conventions.md +19 -0
- package/templates/items/decisions.md +47 -0
- package/templates/items/domain.md +21 -0
- package/templates/items/features.md +63 -0
- package/templates/items/framework-gaps.md +43 -0
- package/templates/items/issues.md +21 -0
- package/templates/items/layer-plans.md +50 -0
- package/templates/items/project.md +48 -0
- package/templates/items/requirements.md +20 -0
- package/templates/items/research.md +57 -0
- package/templates/items/spec-reviews.md +51 -0
- package/templates/items/tasks.md +29 -0
- package/templates/shared/macros.md +83 -98
- package/templates/shared/render-helpers.md +106 -0
- package/workflows/analyze-existing-project.workflow.yaml +1 -1
- package/workflows/init-new-project.workflow.yaml +1 -1
- package/workflows/plan-from-requirements.workflow.yaml +2 -2
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ The schemas in `schemas/` (investigation-findings, decomposition-specs, executio
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
pi install npm:@davidorex/pi-
|
|
12
|
+
pi install npm:@davidorex/pi-context # dependency
|
|
13
13
|
pi install npm:@davidorex/pi-workflows
|
|
14
14
|
```
|
|
15
15
|
|
|
@@ -27,10 +27,13 @@ Creates `.workflows/` for run state. Workflow YAML specs are discovered automati
|
|
|
27
27
|
|
|
28
28
|
pi-workflows replaces ad-hoc agent chaining with composable, typed workflow orchestration. Workflows are YAML specs. Steps run as subprocesses (`pi --mode json`) with their own context windows. The main conversation is the control plane; workflows are subordinate.
|
|
29
29
|
|
|
30
|
-
Workflows consume project blocks as typed input via `readBlock()` — structured data, not raw files. When workflow agents write back to project blocks, pi-
|
|
30
|
+
Workflows consume project blocks as typed input via `readBlock()` — structured data, not raw files. When workflow agents write back to project blocks, pi-context's schema validation enforces the shape at write time. The two extensions form a typed loop: project state → workflow input → agent output → validated project state.
|
|
31
31
|
|
|
32
|
-
**
|
|
33
|
-
- `workflow` —
|
|
32
|
+
**Tools registered:**
|
|
33
|
+
- `workflow-execute` — execute a named workflow with typed input (auto-resumes compatible incomplete runs unless `fresh: "true"`)
|
|
34
|
+
- `workflow-resume` — explicitly resume an incomplete workflow run by name + runId; rejects on no-match or runId mismatch
|
|
35
|
+
- `workflow-list`, `workflow-agents`, `workflow-validate`, `workflow-status`, `workflow-init` — discovery / inspection / scaffolding surfaces
|
|
36
|
+
- `render-item-by-id`, `enforce-budget` — per-item rendering + budget enforcement helpers
|
|
34
37
|
|
|
35
38
|
**Commands registered:**
|
|
36
39
|
- `/workflow init` — scaffold `.workflows/` directory for run state
|
|
@@ -129,9 +132,9 @@ Available filters: `length`, `keys`, `filter`, `json`, `upper`, `lower`, `trim`,
|
|
|
129
132
|
|
|
130
133
|
| Directory | Contents |
|
|
131
134
|
|-----------|----------|
|
|
132
|
-
| `agents/` |
|
|
133
|
-
| `schemas/` |
|
|
134
|
-
| `workflows/` |
|
|
135
|
+
| `agents/` | agent specs (`.agent.yaml`): investigator, decomposer, verifier, synthesizer, … — `ls agents/` or `availableAgents(cwd)` for the current set |
|
|
136
|
+
| `schemas/` | output schemas (`.schema.json`): investigation-findings, execution-results, … — `ls schemas/` for the current set |
|
|
137
|
+
| `workflows/` | workflow specs (`.workflow.yaml`): do-gap, create-phase, parallel-analysis, … — `ls workflows/` or `availableWorkflows(cwd)` for the current set |
|
|
135
138
|
| `templates/` | Nunjucks prompt templates organized by agent role |
|
|
136
139
|
|
|
137
140
|
## SDK (`src/workflow-sdk.ts`)
|
|
@@ -177,7 +180,7 @@ When working with this extension:
|
|
|
177
180
|
- **Read `src/dag.ts`** to understand how execution order is inferred from expressions
|
|
178
181
|
- **Read agent `.agent.yaml` files** in `agents/` to understand available agent capabilities
|
|
179
182
|
- **Read workflow `.workflow.yaml` files** in `workflows/` for examples of workflow structure
|
|
180
|
-
- Use the `workflow` tool to execute workflows — it handles discovery, input validation, checkpoint detection, and result formatting
|
|
183
|
+
- Use the `workflow-execute` tool to execute workflows — it handles discovery, input validation, checkpoint detection (auto-resume), and result formatting. Use `workflow-resume` for explicit-only resume by runId (rejects on no-match).
|
|
181
184
|
- The `/workflow list` command provides an interactive picker; `/workflow run <name>` runs directly
|
|
182
185
|
|
|
183
186
|
## Tests
|
|
@@ -190,6 +193,6 @@ Runs `tsx --test src/*.test.ts`. 500+ tests covering step types, expressions, DA
|
|
|
190
193
|
|
|
191
194
|
## Development
|
|
192
195
|
|
|
193
|
-
Part of the [`pi-project-workflows`](../../README.md) monorepo. All
|
|
196
|
+
Part of the [`pi-project-workflows`](../../README.md) monorepo. All four packages (pi-context, pi-jit-agents, pi-workflows, pi-behavior-monitors) are versioned in lockstep (current version in each `package.json`).
|
|
194
197
|
|
|
195
198
|
`npm run build` compiles TypeScript to `dist/` via `tsc`. The package ships `dist/`, not `src/` — the `pi.extensions` entry point is `./dist/index.js`.
|
|
@@ -8,7 +8,7 @@ input:
|
|
|
8
8
|
required: [project_state, path]
|
|
9
9
|
properties:
|
|
10
10
|
project_state:
|
|
11
|
-
description: Current project state (from
|
|
11
|
+
description: Current project state (from contextState() or /context status — includes phases, blocks, gaps, decisions, recent commits)
|
|
12
12
|
path:
|
|
13
13
|
type: string
|
|
14
14
|
description: Root path of the project
|
package/dist/agent-spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-spec.d.ts","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-spec.d.ts","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAiC5C;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,WAAW,EAAE,MAAM,EAAE,CAAC;gBAE1B,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;CAOpD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACzC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,KAAK,EAAE,KAAK,CAAC;gBAEjB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAO7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CA2C1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAgB/F"}
|
package/dist/agent-spec.js
CHANGED
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
* 3. <package>/agents/<name>.agent.yaml (builtin)
|
|
13
13
|
*/
|
|
14
14
|
import fs from "node:fs";
|
|
15
|
+
import os from "node:os";
|
|
15
16
|
import path from "node:path";
|
|
17
|
+
import { parse as parseYaml } from "yaml";
|
|
18
|
+
import { bundledDir } from "./bundled-dirs.js";
|
|
16
19
|
/**
|
|
17
20
|
* Check if a prompt.system value looks like a template file path vs inline text.
|
|
18
21
|
* Heuristic: treats strings ending in .md as template paths. A literal prompt
|
|
@@ -43,8 +46,6 @@ function resolvePromptField(value) {
|
|
|
43
46
|
}
|
|
44
47
|
return {};
|
|
45
48
|
}
|
|
46
|
-
import os from "node:os";
|
|
47
|
-
import { parse as parseYaml } from "yaml";
|
|
48
49
|
/**
|
|
49
50
|
* Thrown when an agent spec file is not found in any search path.
|
|
50
51
|
*/
|
|
@@ -122,7 +123,7 @@ export function parseAgentYaml(filePath) {
|
|
|
122
123
|
* Create an agent loader that finds .agent.yaml specs.
|
|
123
124
|
*/
|
|
124
125
|
export function createAgentLoader(cwd, builtinDir) {
|
|
125
|
-
const defaultBuiltinDir = builtinDir ??
|
|
126
|
+
const defaultBuiltinDir = builtinDir ?? bundledDir("agents");
|
|
126
127
|
return (name) => {
|
|
127
128
|
const searchPaths = [
|
|
128
129
|
path.join(cwd, ".pi", "agents", `${name}.agent.yaml`),
|
package/dist/agent-spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-spec.js","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-spec.js","sourceRoot":"","sources":["../src/agent-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAyB;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACxE,OAAO,EAAE,QAAQ,EAAG,KAA8B,CAAC,QAAQ,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,8DAA8D;QAC9D,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC5B,SAAS,CAAS;IAClB,WAAW,CAAW;IAEtC,YAAY,SAAiB,EAAE,WAAqB;QACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,KAAK,CAAC,UAAU,SAAS,2BAA2B,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACzB,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,KAAK,CAAQ;IAE7B,YAAY,SAAiB,EAAE,QAAgB,EAAE,KAAY;QAC5D,KAAK,CAAC,UAAU,SAAS,QAAQ,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEpD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACJ,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACJ,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEnD,OAAO;QACN,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;QACzB,cAAc,EAAE,MAAM,CAAC,QAAQ;QAC/B,YAAY,EAAE,MAAM,CAAC,MAAM;QAC3B,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM;QAC1C,WAAW,EAAE,IAAI,CAAC,KAAK;QACvB,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM;QACjC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM;QACjC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KACjF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,UAAmB;IACjE,MAAM,iBAAiB,GAAG,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE7D,OAAO,CAAC,IAAY,EAAa,EAAE;QAClC,MAAM,WAAW,GAAG;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,aAAa,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,aAAa,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,aAAa,CAAC;SAClD,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundled-dirs.d.ts","sourceRoot":"","sources":["../src/bundled-dirs.ts"],"names":[],"mappings":"AAmBA,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAE3F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolved paths into this package's bundled defaults directories.
|
|
3
|
+
*
|
|
4
|
+
* Pi loads pi-workflows from `dist/`; the bundled `agents/`, `templates/`,
|
|
5
|
+
* `workflows/`, and `schemas/` directories sit one level above the runtime JS
|
|
6
|
+
* (i.e. at the package root). Every consumer that previously hand-built
|
|
7
|
+
* `path.resolve(import.meta.dirname, "..", "<subdir>")` now routes through
|
|
8
|
+
* `bundledDir(name)` so the relative-path arithmetic exists once. Module-scoped
|
|
9
|
+
* — never re-export from the package barrel, since the value is meaningful
|
|
10
|
+
* only when computed against this file's own location.
|
|
11
|
+
*/
|
|
12
|
+
import path from "node:path";
|
|
13
|
+
import { fileURLToPath } from "node:url";
|
|
14
|
+
// fileURLToPath idiom (FGAP-088): this is EAGER (module top-level), so an
|
|
15
|
+
// undefined import.meta.dirname under tsx's CJS-interop dist-load would throw at
|
|
16
|
+
// import time; import.meta.url is defined in both load paths.
|
|
17
|
+
const PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
18
|
+
export function bundledDir(subdir) {
|
|
19
|
+
return path.join(PACKAGE_ROOT, subdir);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=bundled-dirs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundled-dirs.js","sourceRoot":"","sources":["../src/bundled-dirs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,0EAA0E;AAC1E,iFAAiF;AACjF,8DAA8D;AAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAEtF,MAAM,UAAU,UAAU,CAAC,MAAwD;IAClF,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Extension entry point — registers workflow tools and the `/workflow` command
|
|
3
3
|
* for discovering, executing, and managing multi-step workflow runs.
|
|
4
4
|
*/
|
|
5
|
-
import type { ExtensionAPI } from "@
|
|
5
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
6
6
|
declare const extension: (pi: ExtensionAPI) => void;
|
|
7
7
|
export default extension;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAGX,YAAY,EAGZ,MAAM,iCAAiC,CAAC;AA0dzC,QAAA,MAAM,SAAS,GAAI,IAAI,YAAY,SA2jBlC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { schemaPath } from "@davidorex/pi-context/context-dir";
|
|
8
|
+
import { enforceBudget } from "@davidorex/pi-jit-agents";
|
|
9
|
+
import { Type } from "@earendil-works/pi-ai";
|
|
10
|
+
import { truncateHead } from "@earendil-works/pi-coding-agent";
|
|
11
|
+
import { Key } from "@earendil-works/pi-tui";
|
|
10
12
|
import { createAgentLoader } from "./agent-spec.js";
|
|
11
13
|
import { findIncompleteRun, formatIncompleteRun, validateResumeCompatibility } from "./checkpoint.js";
|
|
14
|
+
import { renderItemById } from "./render-by-id.js";
|
|
12
15
|
import { discoverWorkflows, findWorkflow } from "./workflow-discovery.js";
|
|
13
16
|
import { executeWorkflow, requestPause } from "./workflow-executor.js";
|
|
14
17
|
import { availableAgents, availableSchemas, availableTemplates, filterNames, stepTypes, validateWorkflow, validationChecks, } from "./workflow-sdk.js";
|
|
@@ -426,12 +429,12 @@ function handleWorkflowInit(ctx) {
|
|
|
426
429
|
}
|
|
427
430
|
// ── Extension factory ───────────────────────────────────────────────────────
|
|
428
431
|
const extension = (pi) => {
|
|
429
|
-
// ── Tool: workflow
|
|
432
|
+
// ── Tool: workflow-execute ──────────────────────────────────────────────
|
|
430
433
|
pi.registerTool({
|
|
431
|
-
name: "workflow",
|
|
432
|
-
label: "Workflow",
|
|
433
|
-
description: "
|
|
434
|
-
promptSnippet: "
|
|
434
|
+
name: "workflow-execute",
|
|
435
|
+
label: "Workflow Execute",
|
|
436
|
+
description: "Execute a named workflow with typed input. Discovers workflows from .workflows/ and ~/.pi/agent/workflows/. Auto-resumes the most recent compatible incomplete run unless fresh='true'. Use workflow-resume for explicit-only resume by runId.",
|
|
437
|
+
promptSnippet: "Execute a multi-step workflow with typed data flow (auto-resumes compatible incomplete runs)",
|
|
435
438
|
parameters: Type.Object({
|
|
436
439
|
workflow: Type.String({ description: "Name of the workflow to run" }),
|
|
437
440
|
input: Type.Optional(Type.Unknown({ description: "Input data for the workflow (validated against workflow's input schema)" })),
|
|
@@ -489,6 +492,65 @@ const extension = (pi) => {
|
|
|
489
492
|
};
|
|
490
493
|
},
|
|
491
494
|
});
|
|
495
|
+
// ── Tool: workflow-resume ───────────────────────────────────────────────
|
|
496
|
+
pi.registerTool({
|
|
497
|
+
name: "workflow-resume",
|
|
498
|
+
label: "Workflow Resume",
|
|
499
|
+
description: "Explicitly resume an incomplete workflow run by name + runId. Rejects when no incomplete run exists for the workflow OR when runId does not match the most recent incomplete run. Use workflow-execute for default auto-resume; this surface is for explicit-only scenarios where the caller wants to fail loudly if the run is gone or has been superseded.",
|
|
500
|
+
promptSnippet: "Explicitly resume an incomplete workflow run by name + runId (rejects on no-match)",
|
|
501
|
+
parameters: Type.Object({
|
|
502
|
+
workflow: Type.String({ description: "Workflow name" }),
|
|
503
|
+
runId: Type.String({ description: "Incomplete run ID — required, no auto-detect" }),
|
|
504
|
+
input: Type.Optional(Type.Unknown({ description: "Optional input override; defaults to the original run's input" })),
|
|
505
|
+
}),
|
|
506
|
+
async execute(_toolCallId, params, signal, _onUpdate, ctx) {
|
|
507
|
+
const spec = findWorkflow(params.workflow, ctx.cwd);
|
|
508
|
+
if (!spec) {
|
|
509
|
+
throw new Error(`Workflow '${params.workflow}' not found. Available workflows: ${listWorkflowNames(ctx.cwd)}`);
|
|
510
|
+
}
|
|
511
|
+
const incomplete = findIncompleteRun(ctx.cwd, spec.name);
|
|
512
|
+
if (!incomplete) {
|
|
513
|
+
throw new Error(`No incomplete runs found for workflow '${spec.name}'.`);
|
|
514
|
+
}
|
|
515
|
+
if (incomplete.runId !== params.runId) {
|
|
516
|
+
throw new Error(`runId mismatch: requested '${params.runId}' but most recent incomplete run is '${incomplete.runId}'.`);
|
|
517
|
+
}
|
|
518
|
+
const compat = validateResumeCompatibility(incomplete.state, spec);
|
|
519
|
+
if (compat) {
|
|
520
|
+
throw new Error(`Cannot resume runId '${params.runId}': ${compat}`);
|
|
521
|
+
}
|
|
522
|
+
// Default to original run input when override absent.
|
|
523
|
+
let input = params.input ?? incomplete.state.input;
|
|
524
|
+
if (typeof input === "string") {
|
|
525
|
+
try {
|
|
526
|
+
input = JSON.parse(input);
|
|
527
|
+
}
|
|
528
|
+
catch {
|
|
529
|
+
// leave as string; downstream validation handles shape
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
const result = await executeWorkflow(spec, input, {
|
|
533
|
+
ctx,
|
|
534
|
+
pi,
|
|
535
|
+
signal,
|
|
536
|
+
loadAgent: createAgentLoader(ctx.cwd),
|
|
537
|
+
resume: {
|
|
538
|
+
runId: incomplete.runId,
|
|
539
|
+
runDir: incomplete.runDir,
|
|
540
|
+
state: incomplete.state,
|
|
541
|
+
},
|
|
542
|
+
});
|
|
543
|
+
return {
|
|
544
|
+
content: [
|
|
545
|
+
{
|
|
546
|
+
type: "text",
|
|
547
|
+
text: `${formatToolResult(result)}\n[resumed from runId ${incomplete.runId}]`,
|
|
548
|
+
},
|
|
549
|
+
],
|
|
550
|
+
details: { ...result, resumed: true, runId: incomplete.runId },
|
|
551
|
+
};
|
|
552
|
+
},
|
|
553
|
+
});
|
|
492
554
|
// ── Tool: workflow-list ─────────────────────────────────────────────────
|
|
493
555
|
pi.registerTool({
|
|
494
556
|
name: "workflow-list",
|
|
@@ -599,6 +661,54 @@ const extension = (pi) => {
|
|
|
599
661
|
};
|
|
600
662
|
},
|
|
601
663
|
});
|
|
664
|
+
// ── Tool: render-item-by-id ─────────────────────────────────────────────
|
|
665
|
+
pi.registerTool({
|
|
666
|
+
name: "render-item-by-id",
|
|
667
|
+
label: "Render Item By Id",
|
|
668
|
+
description: "Render a project block item by ID through its registered per-item macro. Resolves the item via the cross-block resolver, looks up the macro via the renderer registry, and renders with the supplied depth and depth-aware cross-reference recursion. Returns `[not-found: <id>]` on resolver miss and `[unrendered: <kind>/<id>]` on registry miss — same fallback markers `render_recursive` emits inside agent prompts.",
|
|
669
|
+
promptSnippet: "Render a project block item as prompt text via its per-item macro (with depth-controlled cross-ref recursion)",
|
|
670
|
+
parameters: Type.Object({
|
|
671
|
+
id: Type.String({ description: "Kind-prefixed ID, e.g., DEC-0001 / FEAT-001" }),
|
|
672
|
+
depth: Type.Optional(Type.Number({
|
|
673
|
+
description: "0 = bare-ID refs (default), 1 = inline direct cross-references, 2+ = recurse further",
|
|
674
|
+
})),
|
|
675
|
+
}),
|
|
676
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
677
|
+
const renderedString = renderItemById(ctx.cwd, params.id, params.depth ?? 0);
|
|
678
|
+
return {
|
|
679
|
+
details: undefined,
|
|
680
|
+
content: [{ type: "text", text: renderedString }],
|
|
681
|
+
};
|
|
682
|
+
},
|
|
683
|
+
});
|
|
684
|
+
// ── Tool: enforce-budget ────────────────────────────────────────────────
|
|
685
|
+
pi.registerTool({
|
|
686
|
+
name: "enforce-budget",
|
|
687
|
+
label: "Enforce Prompt Budget",
|
|
688
|
+
description: "Check rendered text against an `x-prompt-budget` annotation on a schema field. Returns `{ output, warning }` — `output` is the original text passed through when under budget, or tail-truncated text with `[…truncated to budget]` marker when over; `warning` is null when no truncation occurred or a structured BudgetWarning record otherwise. Annotation absence is pass-through (no error). Mirrors the behaviour of the `enforceBudget` Nunjucks global registered by compileAgent.",
|
|
689
|
+
promptSnippet: "Validate rendered text against a schema field's prompt budget — returns truncated output and warning",
|
|
690
|
+
parameters: Type.Object({
|
|
691
|
+
rendered: Type.String({ description: "Rendered text to check against the field's prompt budget" }),
|
|
692
|
+
blockName: Type.String({
|
|
693
|
+
description: "Block schema name (without .schema.json suffix), e.g. 'decisions' or 'features'",
|
|
694
|
+
}),
|
|
695
|
+
fieldPath: Type.String({
|
|
696
|
+
description: "JSON-pointer-style path to the field, e.g. '/properties/decisions/items/properties/context'",
|
|
697
|
+
}),
|
|
698
|
+
}),
|
|
699
|
+
async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
|
|
700
|
+
const schemaFile = schemaPath(ctx.cwd, params.blockName);
|
|
701
|
+
if (!fs.existsSync(schemaFile)) {
|
|
702
|
+
throw new Error(`enforce-budget: schema file not found at ${schemaFile} for block '${params.blockName}'.`);
|
|
703
|
+
}
|
|
704
|
+
const schema = JSON.parse(fs.readFileSync(schemaFile, "utf-8"));
|
|
705
|
+
const result = enforceBudget(params.rendered, schema, params.fieldPath);
|
|
706
|
+
return {
|
|
707
|
+
details: undefined,
|
|
708
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
709
|
+
};
|
|
710
|
+
},
|
|
711
|
+
});
|
|
602
712
|
const workflowNameCompletions = (argPrefix) => {
|
|
603
713
|
const workflows = discoverWorkflows(process.cwd());
|
|
604
714
|
return workflows
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition-time helper: render a project block item by ID through its
|
|
3
|
+
* registered per-item macro.
|
|
4
|
+
*
|
|
5
|
+
* Composes the substrate primitives:
|
|
6
|
+
* - `buildIdIndex(cwd)` — pi-project, locates the item by ID
|
|
7
|
+
* - `createRendererRegistry` — pi-jit-agents, resolves the per-item macro
|
|
8
|
+
* - `createTemplateEnv` — pi-jit-agents, constructs the Nunjucks env
|
|
9
|
+
* - `registerCompositionGlobals` — pi-jit-agents, installs the same
|
|
10
|
+
* resolve / render_recursive / enforceBudget
|
|
11
|
+
* globals that compileAgent installs
|
|
12
|
+
* - `dispatchInlineMacro` — pi-jit-agents, single inline-by-source
|
|
13
|
+
* macro dispatch shared with `render_recursive`
|
|
14
|
+
*
|
|
15
|
+
* The single source of truth for the composition-globals contract is
|
|
16
|
+
* `registerCompositionGlobals` in pi-jit-agents — both compileAgent and this
|
|
17
|
+
* helper consume it. A new global, a signature change, or a fallback-marker
|
|
18
|
+
* adjustment lands once and propagates to every caller.
|
|
19
|
+
*
|
|
20
|
+
* Output contract:
|
|
21
|
+
* - happy path: renders the item via the registry's macro for the item's
|
|
22
|
+
* block kind, with cycle detection across recursive sibling
|
|
23
|
+
* references, returning the rendered string.
|
|
24
|
+
* - resolver miss: returns `[not-found: <id>]` — the ID does not exist in any
|
|
25
|
+
* indexed block.
|
|
26
|
+
* - registry miss: returns `[unrendered: <kind>/<id>]` — the registry has no
|
|
27
|
+
* per-item macro for the item's block kind. Mirrors the
|
|
28
|
+
* `render_recursive` fallback marker so a caller comparing
|
|
29
|
+
* output across direct invocation vs recursive-from-macro
|
|
30
|
+
* sees the same shape.
|
|
31
|
+
*
|
|
32
|
+
* The `builtinDir` for the renderer registry resolves to this package's
|
|
33
|
+
* bundled `templates/` directory (the Plan 6/7/8 per-item macros), the third
|
|
34
|
+
* tier in the registry's project / user / builtin search.
|
|
35
|
+
*/
|
|
36
|
+
import { type ItemLocation } from "@davidorex/pi-context";
|
|
37
|
+
/**
|
|
38
|
+
* Render the item identified by `id` via its registered per-item macro.
|
|
39
|
+
*
|
|
40
|
+
* @param cwd project root used for `.project/` block reads, schema lookups
|
|
41
|
+
* for `enforceBudget`, and the project tier of registry / template
|
|
42
|
+
* discovery.
|
|
43
|
+
* @param id kind-prefixed item ID (DEC-/FEAT-/FGAP-/issue-/REQ-/TASK-/...).
|
|
44
|
+
* @param depth recursion budget for cross-block reference inlining inside the
|
|
45
|
+
* macro. 0 = bare-ID refs (no recursion); 1 = inline direct refs;
|
|
46
|
+
* 2+ = recursive descent up to the budget. The macro's own
|
|
47
|
+
* `depth > 0` guards control fan-out, then `render_recursive`
|
|
48
|
+
* propagates `depth - 1` per descent.
|
|
49
|
+
*
|
|
50
|
+
* @returns rendered string per the output contract documented at file head:
|
|
51
|
+
* `[not-found: <id>]` on resolver miss,
|
|
52
|
+
* `[unrendered: <kind>/<id>]` on registry miss,
|
|
53
|
+
* rendered text on happy path.
|
|
54
|
+
*
|
|
55
|
+
* Side-effect: budget warnings collected by the `enforceBudget` global during
|
|
56
|
+
* rendering are silently discarded by this entry point. A future surface may
|
|
57
|
+
* propagate them through the return shape; the current contract returns only
|
|
58
|
+
* the rendered string for parity with `render_recursive`.
|
|
59
|
+
*/
|
|
60
|
+
export declare function renderItemById(cwd: string, id: string, depth?: number): string;
|
|
61
|
+
export type { ItemLocation };
|
|
62
|
+
//# sourceMappingURL=render-by-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-by-id.d.ts","sourceRoot":"","sources":["../src/render-by-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAYxE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CA2CjF;AAED,YAAY,EAAE,YAAY,EAAE,CAAC"}
|