@mediadatafusion/pi-workflow-suite 0.0.4 → 0.0.6

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 CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  All notable public releases will be documented in this file.
4
4
 
5
+ ## [0.0.6] - 2026-05-23
6
+
7
+ ### Changed
8
+
9
+ - Updated package media metadata to use versioned package-hosted preview assets.
10
+
11
+ ## [0.0.5] - 2026-05-23
12
+
13
+ ### Changed
14
+
15
+ - Updated Pi package gallery metadata to use the main Workflow Suite header image for the package preview.
16
+ - Kept README screenshots on repository-hosted image paths for GitHub rendering.
17
+
18
+ ### Removed
19
+
20
+ - Removed an unused alternate package preview image asset from the published package.
21
+
5
22
  ## [0.0.4] - 2026-05-23
6
23
 
7
24
  ### Added
package/README.md CHANGED
@@ -1,17 +1,10 @@
1
1
  # Pi Workflow Suite
2
2
 
3
- <p align="center">
4
- <img src="https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.3/docs/assets/pi-workflow-suite-header.png" alt="Pi Workflow Suite — structured workflow orchestration for Pi" />
5
- </p>
3
+ ![Pi Workflow Suite — structured workflow orchestration for Pi](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/pi-workflow-suite-header.png)
6
4
 
7
- <p align="center">
8
- <a href="#installation"><img src="https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.3/docs/assets/readme-link-install.svg" alt="Install" /></a>
9
- <a href="#quick-start"><img src="https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.3/docs/assets/readme-link-quick-start.svg" alt="Quick Start" /></a>
10
- <a href="#core-commands"><img src="https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.3/docs/assets/readme-link-commands.svg" alt="Commands" /></a>
11
- <a href="#settings-reference"><img src="https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.3/docs/assets/readme-link-settings.svg" alt="Settings" /></a>
12
- </p>
5
+ [![Install](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/readme-link-install.svg)](#installation) [![Quick Start](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/readme-link-quick-start.svg)](#quick-start) [![Commands](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/readme-link-commands.svg)](#core-commands) [![Settings](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/readme-link-settings.svg)](#settings-reference)
13
6
 
14
- **Workflow Suite Version:** `v0.0.4`
7
+ **Workflow Suite Version:** `v0.0.6`
15
8
 
16
9
  ## Overview
17
10
 
@@ -23,27 +16,23 @@ Pi itself is intentionally minimal and extensible. Pi Workflow Suite layers an o
23
16
 
24
17
  See Pi Workflow Suite in action: structured workflow modes, settings, runtime status, and guided execution inside Pi.
25
18
 
26
- https://github.com/user-attachments/assets/9782fefc-5349-4cc9-b4ea-20b4c916a8b9
19
+ [![Watch the Pi Workflow Suite quick demo](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/pi-workflow-suite-demo.gif)](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/pi-workflow-suite-demo.mp4)
27
20
 
28
21
  ## Screenshots
29
22
 
30
- <table>
31
- <tr>
32
- <td colspan="2"><img src="docs/assets/screenshots/00-mission-home.png" alt="Pi Workflow Suite Mission Home with workflow graphs" /></td>
33
- </tr>
34
- <tr>
35
- <td><img src="docs/assets/screenshots/01-startup-Logo.png" alt="Pi Workflow Suite startup logo" /></td>
36
- <td><img src="docs/assets/screenshots/02-theme-settings.png" alt="Workflow Suite theme settings" /></td>
37
- </tr>
38
- <tr>
39
- <td><img src="docs/assets/screenshots/03-GlobalSafetySettings.png" alt="Workflow Suite global safety settings" /></td>
40
- <td><img src="docs/assets/screenshots/04-SharedSubAgentsSettings.png" alt="Workflow Suite shared sub-agent settings" /></td>
41
- </tr>
42
- <tr>
43
- <td><img src="docs/assets/screenshots/05-mission-mode.png" alt="Mission Mode milestone progress" /></td>
44
- <td><img src="docs/assets/screenshots/06-diagram-mermaid.png" alt="Workflow Suite Mermaid diagram output" /></td>
45
- </tr>
46
- </table>
23
+ ![Pi Workflow Suite Mission Home with workflow graphs](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/screenshots/00-mission-home.png)
24
+
25
+ ![Pi Workflow Suite startup logo](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/screenshots/01-startup-Logo.png)
26
+
27
+ ![Workflow Suite theme settings](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/screenshots/02-theme-settings.png)
28
+
29
+ ![Workflow Suite global safety settings](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/screenshots/03-GlobalSafetySettings.png)
30
+
31
+ ![Workflow Suite shared sub-agent settings](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/screenshots/04-SharedSubAgentsSettings.png)
32
+
33
+ ![Mission Mode milestone progress](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/screenshots/05-mission-mode.png)
34
+
35
+ ![Workflow Suite Mermaid diagram output](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/screenshots/06-diagram-mermaid.png)
47
36
 
48
37
  ## Contents
49
38
 
@@ -1182,10 +1171,10 @@ See `docs/TROUBLESHOOTING.md` for detailed diagnostics.
1182
1171
 
1183
1172
  ## Versioning
1184
1173
 
1185
- The current public preview version is `v0.0.4`. Version information is intentionally aligned across:
1174
+ The current public preview version is `v0.0.5`. Version information is intentionally aligned across:
1186
1175
 
1187
- - `VERSION` (`v0.0.4`),
1188
- - `package.json` (`0.0.4`),
1176
+ - `VERSION` (`v0.0.5`),
1177
+ - `package.json` (`0.0.5`),
1189
1178
  - `package-lock.json`,
1190
1179
  - this README,
1191
1180
  - Workflow Suite settings/about output.
@@ -1217,18 +1206,18 @@ The intended package and repository identities are:
1217
1206
  https://github.com/MediaDataFusion/pi-workflow-suite
1218
1207
  ```
1219
1208
 
1220
- The current release candidate is prepared as `@mediadatafusion/pi-workflow-suite@0.0.4`.
1209
+ The current release candidate is prepared as `@mediadatafusion/pi-workflow-suite@0.0.5`.
1221
1210
 
1222
1211
  After npm publication, install with:
1223
1212
 
1224
1213
  ```bash
1225
- pi install npm:@mediadatafusion/pi-workflow-suite@0.0.4
1214
+ pi install npm:@mediadatafusion/pi-workflow-suite@0.0.5
1226
1215
  ```
1227
1216
 
1228
1217
  After npm publication, temporary evaluation in a current Pi run can use:
1229
1218
 
1230
1219
  ```bash
1231
- pi -e npm:@mediadatafusion/pi-workflow-suite@0.0.4
1220
+ pi -e npm:@mediadatafusion/pi-workflow-suite@0.0.5
1232
1221
  ```
1233
1222
 
1234
1223
  ## Planned Enhancements
package/VERSION CHANGED
@@ -1 +1 @@
1
- v0.0.4
1
+ v0.0.6
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@mediadatafusion/pi-workflow-suite","version":"0.0.4","description":"Structured workflow orchestration suite for Pi with Standard, Plan, Mission, compaction, diagrams, web access, repo lock, and safety gates.","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/MediaDataFusion/pi-workflow-suite.git"},"homepage":"https://github.com/MediaDataFusion/pi-workflow-suite#readme","bugs":{"url":"https://github.com/MediaDataFusion/pi-workflow-suite/issues"},"keywords":["pi-package","pi-extension","pi-skill","pi-theme","pi-prompt","pi","pi-coding-agent","workflow","workflows","workflow-suite","workflow-orchestration","agent-workflow","plan-mode","mission-mode","standard-mode","subagents","skills","prompts","extensions","themes"],"type":"module","files":["extensions/","skills/","agents/","config/","docs/assets/","themes/","scripts/install-to-live.sh","scripts/verify-live.sh","scripts/audit-live.sh","scripts/quarantine-live-junk.sh","scripts/backup-live.sh","scripts/audit-settings.sh","scripts/bootstrap-project.sh","README.md","LICENSE.md","NOTICE","TRADEMARKS.md","CHANGELOG.md","SECURITY.md","SUPPORT.md","CONTRIBUTING.md","VERSION","package-lock.json"],"pi":{"extensions":["./extensions/workflow-modes.ts","./extensions/subagent/index.ts"],"skills":["./skills"],"prompts":["./config/prompts"],"themes":["./themes"],"image":"https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.4/docs/assets/pi-workflow-suite-card.png","video":"https://github.com/user-attachments/assets/9782fefc-5349-4cc9-b4ea-20b4c916a8b9"},"peerDependencies":{"@earendil-works/pi-agent-core":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*","typebox":"*"},"dependencies":{"@mermaid-js/mermaid-cli":"^11.14.0","beautiful-mermaid":"^1.1.3","sharp":"^0.34.5"},"private":false,"devDependencies":{"@earendil-works/pi-agent-core":"^0.74.0","@earendil-works/pi-ai":"^0.74.0","@earendil-works/pi-coding-agent":"^0.74.0","@earendil-works/pi-tui":"^0.74.0","@types/node":"^25.6.2","typebox":"^1.1.38","typescript":"^6.0.3"},"scripts":{"check:ts":"tsc --noEmit --noCheck","typecheck":"tsc --noEmit","validate":"npm run check:ts && ./scripts/check-clean-release-tree.sh && git diff --check"}}
1
+ {"name":"@mediadatafusion/pi-workflow-suite","version":"0.0.6","description":"Structured workflow orchestration suite for Pi with Standard, Plan, Mission, compaction, diagrams, web access, repo lock, and safety gates.","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/MediaDataFusion/pi-workflow-suite.git"},"homepage":"https://github.com/MediaDataFusion/pi-workflow-suite#readme","bugs":{"url":"https://github.com/MediaDataFusion/pi-workflow-suite/issues"},"keywords":["pi-package","pi-extension","pi-skill","pi-theme","pi-prompt","pi","pi-coding-agent","workflow","workflows","workflow-suite","workflow-orchestration","agent-workflow","plan-mode","mission-mode","standard-mode","subagents","skills","prompts","extensions","themes"],"type":"module","files":["extensions/","skills/","agents/","config/","docs/assets/","themes/","scripts/install-to-live.sh","scripts/verify-live.sh","scripts/audit-live.sh","scripts/quarantine-live-junk.sh","scripts/backup-live.sh","scripts/audit-settings.sh","scripts/bootstrap-project.sh","scripts/check-clean-release-tree.sh","scripts/build-package-export.mjs","README.md","LICENSE.md","NOTICE","TRADEMARKS.md","CHANGELOG.md","SECURITY.md","SUPPORT.md","CONTRIBUTING.md","VERSION","package-lock.json"],"pi":{"extensions":["./extensions/workflow-modes.ts","./extensions/subagent/index.ts"],"skills":["./skills"],"prompts":["./config/prompts"],"themes":["./themes"],"image":"https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/pi-workflow-suite-header.png","video":"https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/pi-workflow-suite-demo.mp4"},"peerDependencies":{"@earendil-works/pi-agent-core":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*","typebox":"*"},"dependencies":{"@mermaid-js/mermaid-cli":"^11.14.0","beautiful-mermaid":"^1.1.3","sharp":"^0.34.5"},"private":false,"devDependencies":{"@earendil-works/pi-agent-core":"^0.74.0","@earendil-works/pi-ai":"^0.74.0","@earendil-works/pi-coding-agent":"^0.74.0","@earendil-works/pi-tui":"^0.74.0","@types/node":"^25.6.2","typebox":"^1.1.38","typescript":"^6.0.3"},"scripts":{"check:ts":"tsc --noEmit --noCheck","typecheck":"tsc --noEmit","validate":"npm run check:ts && ./scripts/check-clean-release-tree.sh && git diff --check"}}
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env node
2
+ import { mkdtempSync, rmSync } from 'node:fs';
3
+ import { copyFile, mkdir, readFile, rename, writeFile } from 'node:fs/promises';
4
+ import { tmpdir } from 'node:os';
5
+ import { dirname, join, resolve } from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { spawnSync } from 'node:child_process';
8
+
9
+ const scriptDir = dirname(fileURLToPath(import.meta.url));
10
+ const repoRoot = resolve(scriptDir, '..');
11
+
12
+ function run(command, args, options = {}) {
13
+ const result = spawnSync(command, args, {
14
+ cwd: options.cwd ?? repoRoot,
15
+ encoding: 'utf8',
16
+ stdio: options.stdio ?? ['ignore', 'pipe', 'inherit'],
17
+ });
18
+ if (result.status !== 0) {
19
+ throw new Error(`${command} ${args.join(' ')} failed with exit code ${result.status}`);
20
+ }
21
+ return result.stdout ?? '';
22
+ }
23
+
24
+ function parseArgs(argv) {
25
+ const args = { out: undefined, keepPack: false };
26
+ for (let index = 0; index < argv.length; index += 1) {
27
+ const arg = argv[index];
28
+ if (arg === '--out') {
29
+ args.out = resolve(argv[index + 1] ?? '');
30
+ index += 1;
31
+ continue;
32
+ }
33
+ if (arg === '--keep-pack') {
34
+ args.keepPack = true;
35
+ continue;
36
+ }
37
+ throw new Error(`Unknown argument: ${arg}`);
38
+ }
39
+ return args;
40
+ }
41
+
42
+ function cdn(version, assetPath) {
43
+ return `https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@${version}/${assetPath}`;
44
+ }
45
+
46
+ function buildPackageReadme(sourceReadme, version) {
47
+ const headerBlock = `# Pi Workflow Suite\n\n${
48
+ `![Pi Workflow Suite — structured workflow orchestration for Pi](${cdn(version, 'docs/assets/pi-workflow-suite-header.png')})`
49
+ }\n\n${[
50
+ `[![Install](${cdn(version, 'docs/assets/readme-link-install.svg')})](#installation)`,
51
+ `[![Quick Start](${cdn(version, 'docs/assets/readme-link-quick-start.svg')})](#quick-start)`,
52
+ `[![Commands](${cdn(version, 'docs/assets/readme-link-commands.svg')})](#core-commands)`,
53
+ `[![Settings](${cdn(version, 'docs/assets/readme-link-settings.svg')})](#settings-reference)`,
54
+ ].join(' ')}\n\n**Workflow Suite Version:** `;
55
+
56
+ let readme = sourceReadme.replace(
57
+ /^# Pi Workflow Suite\n\n<p align="center">[\s\S]*?\*\*Workflow Suite Version:\*\* /,
58
+ headerBlock,
59
+ );
60
+
61
+ const packageMediaBlock = `## Quick Demo\n\nSee Pi Workflow Suite in action: structured workflow modes, settings, runtime status, and guided execution inside Pi.\n\n[![Watch the Pi Workflow Suite quick demo](${cdn(version, 'docs/assets/pi-workflow-suite-demo.gif')})](${cdn(version, 'docs/assets/pi-workflow-suite-demo.mp4')})\n\n## Screenshots\n\n${[
62
+ ['Pi Workflow Suite Mission Home with workflow graphs', 'docs/assets/screenshots/00-mission-home.png'],
63
+ ['Pi Workflow Suite startup logo', 'docs/assets/screenshots/01-startup-Logo.png'],
64
+ ['Workflow Suite theme settings', 'docs/assets/screenshots/02-theme-settings.png'],
65
+ ['Workflow Suite global safety settings', 'docs/assets/screenshots/03-GlobalSafetySettings.png'],
66
+ ['Workflow Suite shared sub-agent settings', 'docs/assets/screenshots/04-SharedSubAgentsSettings.png'],
67
+ ['Mission Mode milestone progress', 'docs/assets/screenshots/05-mission-mode.png'],
68
+ ['Workflow Suite Mermaid diagram output', 'docs/assets/screenshots/06-diagram-mermaid.png'],
69
+ ].map(([alt, path]) => `![${alt}](${cdn(version, path)})`).join('\n\n')}\n\n`;
70
+
71
+ readme = readme.replace(/## Quick Demo[\s\S]*?## Contents\n/, `${packageMediaBlock}## Contents\n`);
72
+ return readme;
73
+ }
74
+
75
+ async function main() {
76
+ const args = parseArgs(process.argv.slice(2));
77
+ const workDir = mkdtempSync(join(tmpdir(), 'pi-workflow-suite-export-'));
78
+ const packDir = join(workDir, 'pack');
79
+ await mkdir(packDir, { recursive: true });
80
+
81
+ const packOutput = run('npm', ['pack', '--pack-destination', packDir]);
82
+ const tarballName = packOutput.trim().split('\n').filter(Boolean).at(-1);
83
+ if (!tarballName) {
84
+ throw new Error('npm pack did not report a tarball name');
85
+ }
86
+
87
+ run('tar', ['-xzf', join(packDir, tarballName), '-C', workDir]);
88
+ const extractedDir = join(workDir, 'package');
89
+ const packageJson = JSON.parse(await readFile(join(extractedDir, 'package.json'), 'utf8'));
90
+ const sourceReadme = await readFile(join(repoRoot, 'README.md'), 'utf8');
91
+ await writeFile(join(extractedDir, 'README.md'), buildPackageReadme(sourceReadme, packageJson.version));
92
+
93
+ const outputDir = args.out ?? join(workDir, 'export');
94
+ rmSync(outputDir, { recursive: true, force: true });
95
+ await mkdir(dirname(outputDir), { recursive: true });
96
+ await rename(extractedDir, outputDir);
97
+
98
+ if (args.keepPack) {
99
+ await mkdir(join(outputDir, '.pack-source'), { recursive: true });
100
+ await copyFile(join(packDir, tarballName), join(outputDir, '.pack-source', tarballName));
101
+ }
102
+
103
+ console.log(outputDir);
104
+ }
105
+
106
+ main().catch((error) => {
107
+ console.error(error instanceof Error ? error.message : String(error));
108
+ process.exit(1);
109
+ });
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
+ cd "$ROOT"
6
+
7
+ fail=0
8
+ report() {
9
+ printf 'ERROR: %s\n' "$1" >&2
10
+ fail=1
11
+ }
12
+
13
+ if [[ -e AGENTS.md && -n "$(git ls-files AGENTS.md)" ]]; then report 'AGENTS.md must not be present on clean release main'; fi
14
+ if [[ -e .github && -n "$(git ls-files .github)" ]]; then report '.github/ must not be tracked on clean release main'; fi
15
+ if [[ -e .factory && -n "$(git ls-files .factory)" ]]; then report '.factory/ must not be tracked on clean release main'; fi
16
+ if [[ -e .kilo && -n "$(git ls-files .kilo)" ]]; then report '.kilo/ must not be tracked on clean release main'; fi
17
+ if [[ -e .cursor && -n "$(git ls-files .cursor)" ]]; then report '.cursor/ must not be tracked on clean release main'; fi
18
+
19
+ while IFS= read -r path; do
20
+ case "$path" in
21
+ agents/*|config/*|extensions/*|skills/*|docs/assets/*|themes/*|scripts/install-to-live.sh|scripts/verify-live.sh|scripts/audit-live.sh|scripts/quarantine-live-junk.sh|scripts/backup-live.sh|scripts/audit-settings.sh|scripts/bootstrap-project.sh|scripts/check-clean-release-tree.sh|scripts/build-package-export.mjs|README.md|CHANGELOG.md|CONTRIBUTING.md|LICENSE.md|NOTICE|SECURITY.md|SUPPORT.md|TRADEMARKS.md|VERSION|package.json|package-lock.json|tsconfig.json|.gitignore)
22
+ ;;
23
+ docs/*)
24
+ report "non-asset docs file is not allowed: $path"
25
+ ;;
26
+ scripts/test-*|scripts/sync-from-live.sh)
27
+ report "internal script is not allowed: $path"
28
+ ;;
29
+ .github/*|AGENTS.md|.factory/*|.kilo/*|.cursor/*)
30
+ report "internal path is not allowed: $path"
31
+ ;;
32
+ *auth.json|*settings.json|*workflow-settings.json|*active.json|workflows/*|*sessions/*|*missions/*|*plans/*|*logs/*|*.env|*.env.*|*.DS_Store)
33
+ report "runtime/private path is not allowed: $path"
34
+ ;;
35
+ *)
36
+ report "path is outside clean release allowlist: $path"
37
+ ;;
38
+ esac
39
+ done < <(git ls-files | sort)
40
+
41
+ if [[ "$fail" -ne 0 ]]; then
42
+ exit 1
43
+ fi
44
+
45
+ printf 'OK: clean release tree allowlist passed\n'