@mediadatafusion/pi-workflow-suite 0.0.5 → 0.0.7
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 +12 -0
- package/README.md +10 -8
- package/VERSION +1 -1
- package/package.json +109 -1
- package/scripts/build-package-export.mjs +111 -0
- package/scripts/check-clean-release-tree.sh +45 -0
- package/scripts/check-package-size.mjs +30 -0
- package/docs/assets/mediadatafusion-logo.png +0 -0
- package/docs/assets/pi-workflow-suite-demo.mp4 +0 -0
- package/docs/assets/pi-workflow-suite-header.png +0 -0
- package/docs/assets/pi-workflow-suite-video-thumb.png +0 -0
- package/docs/assets/readme-link-commands.svg +0 -10
- package/docs/assets/readme-link-install.svg +0 -10
- package/docs/assets/readme-link-quick-start.svg +0 -10
- package/docs/assets/readme-link-settings.svg +0 -10
- package/docs/assets/screenshots/.gitkeep +0 -1
- package/docs/assets/screenshots/00-mission-home.png +0 -0
- package/docs/assets/screenshots/01-startup-Logo.png +0 -0
- package/docs/assets/screenshots/02-theme-settings.png +0 -0
- package/docs/assets/screenshots/03-GlobalSafetySettings.png +0 -0
- package/docs/assets/screenshots/04-SharedSubAgentsSettings.png +0 -0
- package/docs/assets/screenshots/05-mission-mode.png +0 -0
- package/docs/assets/screenshots/06-diagram-mermaid.png +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable public releases will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.0.7] - 2026-05-23
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Reduced published package size by excluding promotional media assets from the install payload while preserving package gallery and README media presentation.
|
|
10
|
+
|
|
11
|
+
## [0.0.6] - 2026-05-23
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Updated package media metadata to use versioned package-hosted preview assets.
|
|
16
|
+
|
|
5
17
|
## [0.0.5] - 2026-05-23
|
|
6
18
|
|
|
7
19
|
### Changed
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
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
12
|
</p>
|
|
13
13
|
|
|
14
|
-
**Workflow Suite Version:** `v0.0.
|
|
14
|
+
**Workflow Suite Version:** `v0.0.7`
|
|
15
15
|
|
|
16
16
|
## Overview
|
|
17
17
|
|
|
@@ -1182,15 +1182,15 @@ See `docs/TROUBLESHOOTING.md` for detailed diagnostics.
|
|
|
1182
1182
|
|
|
1183
1183
|
## Versioning
|
|
1184
1184
|
|
|
1185
|
-
The current public preview version is `v0.0.
|
|
1185
|
+
The current public preview version is `v0.0.7`. Version information is intentionally aligned across:
|
|
1186
1186
|
|
|
1187
|
-
- `VERSION` (`v0.0.
|
|
1188
|
-
- `package.json` (`0.0.
|
|
1187
|
+
- `VERSION` (`v0.0.7`),
|
|
1188
|
+
- `package.json` (`0.0.7`),
|
|
1189
1189
|
- `package-lock.json`,
|
|
1190
1190
|
- this README,
|
|
1191
1191
|
- Workflow Suite settings/about output.
|
|
1192
1192
|
|
|
1193
|
-
|
|
1193
|
+
Published package versions should stay aligned across repository metadata, package metadata, documentation, and Workflow Suite settings/about output. Use `1.0.0` only when the install path, mode behavior, commands, settings, scripts, and packaging are ready to be treated as a public contract.
|
|
1194
1194
|
|
|
1195
1195
|
## License, Trademarks, Security, Support, And Contributions
|
|
1196
1196
|
|
|
@@ -1217,18 +1217,20 @@ The intended package and repository identities are:
|
|
|
1217
1217
|
https://github.com/MediaDataFusion/pi-workflow-suite
|
|
1218
1218
|
```
|
|
1219
1219
|
|
|
1220
|
-
The current release candidate is prepared as `@mediadatafusion/pi-workflow-suite@0.0.
|
|
1220
|
+
The current release candidate is prepared as `@mediadatafusion/pi-workflow-suite@0.0.7`.
|
|
1221
|
+
|
|
1222
|
+
Private DEV, private main, and the clean public release repository should carry the same approved package version before publication.
|
|
1221
1223
|
|
|
1222
1224
|
After npm publication, install with:
|
|
1223
1225
|
|
|
1224
1226
|
```bash
|
|
1225
|
-
pi install npm:@mediadatafusion/pi-workflow-suite@0.0.
|
|
1227
|
+
pi install npm:@mediadatafusion/pi-workflow-suite@0.0.7
|
|
1226
1228
|
```
|
|
1227
1229
|
|
|
1228
1230
|
After npm publication, temporary evaluation in a current Pi run can use:
|
|
1229
1231
|
|
|
1230
1232
|
```bash
|
|
1231
|
-
pi -e npm:@mediadatafusion/pi-workflow-suite@0.0.
|
|
1233
|
+
pi -e npm:@mediadatafusion/pi-workflow-suite@0.0.7
|
|
1232
1234
|
```
|
|
1233
1235
|
|
|
1234
1236
|
## Planned Enhancements
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v0.0.
|
|
1
|
+
v0.0.7
|
package/package.json
CHANGED
|
@@ -1 +1,109 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"name": "@mediadatafusion/pi-workflow-suite",
|
|
3
|
+
"version": "0.0.7",
|
|
4
|
+
"description": "Structured workflow orchestration suite for Pi with Standard, Plan, Mission, compaction, diagrams, web access, repo lock, and safety gates.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/MediaDataFusion/pi-workflow-suite.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/MediaDataFusion/pi-workflow-suite#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/MediaDataFusion/pi-workflow-suite/issues"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"pi-package",
|
|
16
|
+
"pi-extension",
|
|
17
|
+
"pi-skill",
|
|
18
|
+
"pi-theme",
|
|
19
|
+
"pi-prompt",
|
|
20
|
+
"pi",
|
|
21
|
+
"pi-coding-agent",
|
|
22
|
+
"workflow",
|
|
23
|
+
"workflows",
|
|
24
|
+
"workflow-suite",
|
|
25
|
+
"workflow-orchestration",
|
|
26
|
+
"agent-workflow",
|
|
27
|
+
"plan-mode",
|
|
28
|
+
"mission-mode",
|
|
29
|
+
"standard-mode",
|
|
30
|
+
"subagents",
|
|
31
|
+
"skills",
|
|
32
|
+
"prompts",
|
|
33
|
+
"extensions",
|
|
34
|
+
"themes"
|
|
35
|
+
],
|
|
36
|
+
"type": "module",
|
|
37
|
+
"files": [
|
|
38
|
+
"extensions/",
|
|
39
|
+
"skills/",
|
|
40
|
+
"agents/",
|
|
41
|
+
"config/",
|
|
42
|
+
"themes/",
|
|
43
|
+
"scripts/install-to-live.sh",
|
|
44
|
+
"scripts/verify-live.sh",
|
|
45
|
+
"scripts/audit-live.sh",
|
|
46
|
+
"scripts/quarantine-live-junk.sh",
|
|
47
|
+
"scripts/backup-live.sh",
|
|
48
|
+
"scripts/audit-settings.sh",
|
|
49
|
+
"scripts/bootstrap-project.sh",
|
|
50
|
+
"scripts/check-clean-release-tree.sh",
|
|
51
|
+
"scripts/check-package-size.mjs",
|
|
52
|
+
"scripts/build-package-export.mjs",
|
|
53
|
+
"README.md",
|
|
54
|
+
"LICENSE.md",
|
|
55
|
+
"NOTICE",
|
|
56
|
+
"TRADEMARKS.md",
|
|
57
|
+
"CHANGELOG.md",
|
|
58
|
+
"SECURITY.md",
|
|
59
|
+
"SUPPORT.md",
|
|
60
|
+
"CONTRIBUTING.md",
|
|
61
|
+
"VERSION",
|
|
62
|
+
"package-lock.json"
|
|
63
|
+
],
|
|
64
|
+
"pi": {
|
|
65
|
+
"extensions": [
|
|
66
|
+
"./extensions/workflow-modes.ts",
|
|
67
|
+
"./extensions/subagent/index.ts"
|
|
68
|
+
],
|
|
69
|
+
"skills": [
|
|
70
|
+
"./skills"
|
|
71
|
+
],
|
|
72
|
+
"prompts": [
|
|
73
|
+
"./config/prompts"
|
|
74
|
+
],
|
|
75
|
+
"themes": [
|
|
76
|
+
"./themes"
|
|
77
|
+
],
|
|
78
|
+
"image": "https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/pi-workflow-suite-header.png",
|
|
79
|
+
"video": "https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.6/docs/assets/pi-workflow-suite-demo.mp4"
|
|
80
|
+
},
|
|
81
|
+
"peerDependencies": {
|
|
82
|
+
"@earendil-works/pi-agent-core": "*",
|
|
83
|
+
"@earendil-works/pi-ai": "*",
|
|
84
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
85
|
+
"@earendil-works/pi-tui": "*",
|
|
86
|
+
"typebox": "*"
|
|
87
|
+
},
|
|
88
|
+
"dependencies": {
|
|
89
|
+
"@mermaid-js/mermaid-cli": "^11.14.0",
|
|
90
|
+
"beautiful-mermaid": "^1.1.3",
|
|
91
|
+
"sharp": "^0.34.5"
|
|
92
|
+
},
|
|
93
|
+
"private": false,
|
|
94
|
+
"devDependencies": {
|
|
95
|
+
"@earendil-works/pi-agent-core": "^0.74.0",
|
|
96
|
+
"@earendil-works/pi-ai": "^0.74.0",
|
|
97
|
+
"@earendil-works/pi-coding-agent": "^0.74.0",
|
|
98
|
+
"@earendil-works/pi-tui": "^0.74.0",
|
|
99
|
+
"@types/node": "^25.6.2",
|
|
100
|
+
"typebox": "^1.1.38",
|
|
101
|
+
"typescript": "^6.0.3"
|
|
102
|
+
},
|
|
103
|
+
"scripts": {
|
|
104
|
+
"check:ts": "tsc --noEmit --noCheck",
|
|
105
|
+
"typecheck": "tsc --noEmit",
|
|
106
|
+
"validate": "npm run check:ts && ./scripts/check-clean-release-tree.sh && npm run check:package-size && git diff --check",
|
|
107
|
+
"check:package-size": "node scripts/check-package-size.mjs"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
const mediaVersion = '0.0.6';
|
|
43
|
+
|
|
44
|
+
function mediaCdn(assetPath) {
|
|
45
|
+
return `https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@${mediaVersion}/${assetPath}`;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function buildPackageReadme(sourceReadme, version) {
|
|
49
|
+
const headerBlock = `# Pi Workflow Suite\n\n${
|
|
50
|
+
`})`
|
|
51
|
+
}\n\n${[
|
|
52
|
+
`[})](#installation)`,
|
|
53
|
+
`[})](#quick-start)`,
|
|
54
|
+
`[})](#core-commands)`,
|
|
55
|
+
`[})](#settings-reference)`,
|
|
56
|
+
].join(' ')}\n\n**Workflow Suite Version:** `;
|
|
57
|
+
|
|
58
|
+
let readme = sourceReadme.replace(
|
|
59
|
+
/^# Pi Workflow Suite\n\n<p align="center">[\s\S]*?\*\*Workflow Suite Version:\*\* /,
|
|
60
|
+
headerBlock,
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
const packageMediaBlock = `## Quick Demo\n\nSee Pi Workflow Suite in action: structured workflow modes, settings, runtime status, and guided execution inside Pi.\n\n[})](${mediaCdn('docs/assets/pi-workflow-suite-demo.mp4')})\n\n## Screenshots\n\n${[
|
|
64
|
+
['Pi Workflow Suite Mission Home with workflow graphs', 'docs/assets/screenshots/00-mission-home.png'],
|
|
65
|
+
['Pi Workflow Suite startup logo', 'docs/assets/screenshots/01-startup-Logo.png'],
|
|
66
|
+
['Workflow Suite theme settings', 'docs/assets/screenshots/02-theme-settings.png'],
|
|
67
|
+
['Workflow Suite global safety settings', 'docs/assets/screenshots/03-GlobalSafetySettings.png'],
|
|
68
|
+
['Workflow Suite shared sub-agent settings', 'docs/assets/screenshots/04-SharedSubAgentsSettings.png'],
|
|
69
|
+
['Mission Mode milestone progress', 'docs/assets/screenshots/05-mission-mode.png'],
|
|
70
|
+
['Workflow Suite Mermaid diagram output', 'docs/assets/screenshots/06-diagram-mermaid.png'],
|
|
71
|
+
].map(([alt, path]) => `})`).join('\n\n')}\n\n`;
|
|
72
|
+
|
|
73
|
+
readme = readme.replace(/## Quick Demo[\s\S]*?## Contents\n/, `${packageMediaBlock}## Contents\n`);
|
|
74
|
+
return readme;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
async function main() {
|
|
78
|
+
const args = parseArgs(process.argv.slice(2));
|
|
79
|
+
const workDir = mkdtempSync(join(tmpdir(), 'pi-workflow-suite-export-'));
|
|
80
|
+
const packDir = join(workDir, 'pack');
|
|
81
|
+
await mkdir(packDir, { recursive: true });
|
|
82
|
+
|
|
83
|
+
const packOutput = run('npm', ['pack', '--pack-destination', packDir]);
|
|
84
|
+
const tarballName = packOutput.trim().split('\n').filter(Boolean).at(-1);
|
|
85
|
+
if (!tarballName) {
|
|
86
|
+
throw new Error('npm pack did not report a tarball name');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
run('tar', ['-xzf', join(packDir, tarballName), '-C', workDir]);
|
|
90
|
+
const extractedDir = join(workDir, 'package');
|
|
91
|
+
const packageJson = JSON.parse(await readFile(join(extractedDir, 'package.json'), 'utf8'));
|
|
92
|
+
const sourceReadme = await readFile(join(repoRoot, 'README.md'), 'utf8');
|
|
93
|
+
await writeFile(join(extractedDir, 'README.md'), buildPackageReadme(sourceReadme, packageJson.version));
|
|
94
|
+
|
|
95
|
+
const outputDir = args.out ?? join(workDir, 'export');
|
|
96
|
+
rmSync(outputDir, { recursive: true, force: true });
|
|
97
|
+
await mkdir(dirname(outputDir), { recursive: true });
|
|
98
|
+
await rename(extractedDir, outputDir);
|
|
99
|
+
|
|
100
|
+
if (args.keepPack) {
|
|
101
|
+
await mkdir(join(outputDir, '.pack-source'), { recursive: true });
|
|
102
|
+
await copyFile(join(packDir, tarballName), join(outputDir, '.pack-source', tarballName));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
console.log(outputDir);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
main().catch((error) => {
|
|
109
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
110
|
+
process.exit(1);
|
|
111
|
+
});
|
|
@@ -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/check-package-size.mjs|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'
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawnSync } from 'node:child_process';
|
|
3
|
+
|
|
4
|
+
const maxTarballBytes = 1_000_000;
|
|
5
|
+
const forbiddenPrefix = 'docs/assets/';
|
|
6
|
+
|
|
7
|
+
const result = spawnSync('npm', ['pack', '--dry-run', '--json'], {
|
|
8
|
+
encoding: 'utf8',
|
|
9
|
+
stdio: ['ignore', 'pipe', 'inherit'],
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
if (result.status !== 0) {
|
|
13
|
+
process.exit(result.status ?? 1);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const [pack] = JSON.parse(result.stdout);
|
|
17
|
+
const forbidden = pack.files.filter((file) => file.path.startsWith(forbiddenPrefix));
|
|
18
|
+
|
|
19
|
+
if (forbidden.length > 0) {
|
|
20
|
+
console.error(`ERROR: package includes promotional assets under ${forbiddenPrefix}`);
|
|
21
|
+
for (const file of forbidden) console.error(`- ${file.path}`);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (pack.size > maxTarballBytes) {
|
|
26
|
+
console.error(`ERROR: package tarball is ${pack.size} bytes, above ${maxTarballBytes} bytes`);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
console.log(`OK: package tarball ${pack.size} bytes, ${pack.files.length} files, no ${forbiddenPrefix} entries`);
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="144" height="42" viewBox="0 0 144 42" role="img" aria-label="Commands">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
-
<stop offset="0" stop-color="#781d6b"/>
|
|
5
|
-
<stop offset="1" stop-color="#217598"/>
|
|
6
|
-
</linearGradient>
|
|
7
|
-
</defs>
|
|
8
|
-
<rect x="1" y="1" width="142" height="40" rx="20" fill="url(#g)" stroke="#1a3c57" stroke-width="2"/>
|
|
9
|
-
<text x="72.0" y="27" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="700" fill="#ffffff">Commands</text>
|
|
10
|
-
</svg>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="112" height="42" viewBox="0 0 112 42" role="img" aria-label="Install">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
-
<stop offset="0" stop-color="#781d6b"/>
|
|
5
|
-
<stop offset="1" stop-color="#217598"/>
|
|
6
|
-
</linearGradient>
|
|
7
|
-
</defs>
|
|
8
|
-
<rect x="1" y="1" width="110" height="40" rx="20" fill="url(#g)" stroke="#1a3c57" stroke-width="2"/>
|
|
9
|
-
<text x="56.0" y="27" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="700" fill="#ffffff">Install</text>
|
|
10
|
-
</svg>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="156" height="42" viewBox="0 0 156 42" role="img" aria-label="Quick Start">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
-
<stop offset="0" stop-color="#781d6b"/>
|
|
5
|
-
<stop offset="1" stop-color="#217598"/>
|
|
6
|
-
</linearGradient>
|
|
7
|
-
</defs>
|
|
8
|
-
<rect x="1" y="1" width="154" height="40" rx="20" fill="url(#g)" stroke="#1a3c57" stroke-width="2"/>
|
|
9
|
-
<text x="78.0" y="27" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="700" fill="#ffffff">Quick Start</text>
|
|
10
|
-
</svg>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="126" height="42" viewBox="0 0 126 42" role="img" aria-label="Settings">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
-
<stop offset="0" stop-color="#781d6b"/>
|
|
5
|
-
<stop offset="1" stop-color="#217598"/>
|
|
6
|
-
</linearGradient>
|
|
7
|
-
</defs>
|
|
8
|
-
<rect x="1" y="1" width="124" height="40" rx="20" fill="url(#g)" stroke="#1a3c57" stroke-width="2"/>
|
|
9
|
-
<text x="63.0" y="27" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="700" fill="#ffffff">Settings</text>
|
|
10
|
-
</svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|