voidforge-build 23.16.0 → 23.18.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/dist/.claude/agents/adolin-brand.md +1 -0
- package/dist/.claude/agents/ahsoka-access-control.md +1 -0
- package/dist/.claude/agents/alfred-dependencies.md +1 -0
- package/dist/.claude/agents/alia-threat-detect.md +1 -0
- package/dist/.claude/agents/anakin-dark-side.md +1 -0
- package/dist/.claude/agents/aquaman-deep-dive.md +1 -0
- package/dist/.claude/agents/aragorn-orchestration.md +1 -0
- package/dist/.claude/agents/archer-greenfield.md +1 -0
- package/dist/.claude/agents/armin-clever.md +1 -0
- package/dist/.claude/agents/arwen-ui-polish.md +1 -0
- package/dist/.claude/agents/ashitaka-tech-debt.md +1 -0
- package/dist/.claude/agents/asuka-performance.md +1 -0
- package/dist/.claude/agents/banner-database.md +1 -0
- package/dist/.claude/agents/bashir-field-medic.md +1 -0
- package/dist/.claude/agents/batgirl-detail.md +1 -0
- package/dist/.claude/agents/batman-qa.md +1 -0
- package/dist/.claude/agents/bayta-evals.md +1 -0
- package/dist/.claude/agents/beast-boy-cross-env.md +1 -0
- package/dist/.claude/agents/beerus-destroyer.md +1 -0
- package/dist/.claude/agents/bel-riose-orchestration.md +1 -0
- package/dist/.claude/agents/bliss-ai-safety.md +1 -0
- package/dist/.claude/agents/bo-katan-perimeter.md +1 -0
- package/dist/.claude/agents/bombadil-forge-sync.md +1 -0
- package/dist/.claude/agents/boromir-hubris.md +1 -0
- package/dist/.claude/agents/breeze-platform-relations.md +1 -0
- package/dist/.claude/agents/bucky-legacy.md +1 -0
- package/dist/.claude/agents/bulma-engineering.md +1 -0
- package/dist/.claude/agents/calcifer-daemon.md +1 -0
- package/dist/.claude/agents/cc-persistent-process.md +1 -0
- package/dist/.claude/agents/celeborn-design-system.md +1 -0
- package/dist/.claude/agents/celebrimbor-forge-artist.md +1 -0
- package/dist/.claude/agents/chakotay-bridge.md +1 -0
- package/dist/.claude/agents/chani-worm-rider.md +1 -0
- package/dist/.claude/agents/chewie-dependency-audit.md +1 -0
- package/dist/.claude/agents/constantine-cursed-code.md +1 -0
- package/dist/.claude/agents/coulson-release.md +1 -0
- package/dist/.claude/agents/crusher-diagnostics.md +1 -0
- package/dist/.claude/agents/cyborg-system-integration.md +1 -0
- package/dist/.claude/agents/dalinar-positioning.md +1 -0
- package/dist/.claude/agents/daneel-model-migration.md +1 -0
- package/dist/.claude/agents/data-tech-debt.md +1 -0
- package/dist/.claude/agents/dax-legacy-wisdom.md +1 -0
- package/dist/.claude/agents/deathstroke-adversarial.md +1 -0
- package/dist/.claude/agents/denji-determination.md +1 -0
- package/dist/.claude/agents/din-djarin-bounty.md +1 -0
- package/dist/.claude/agents/dockson-treasury.md +1 -0
- package/dist/.claude/agents/dors-observability.md +1 -0
- package/dist/.claude/agents/ducem-token-economics.md +1 -0
- package/dist/.claude/agents/duncan-relay.md +1 -0
- package/dist/.claude/agents/elrond-ux-strategy.md +1 -0
- package/dist/.claude/agents/eowyn-delight.md +1 -0
- package/dist/.claude/agents/erwin-strategy.md +1 -0
- package/dist/.claude/agents/ezra-catches-missed.md +1 -0
- package/dist/.claude/agents/falcon-migration.md +1 -0
- package/dist/.claude/agents/faramir-judgment.md +1 -0
- package/dist/.claude/agents/faye-resourceful.md +1 -0
- package/dist/.claude/agents/feyd-adversarial.md +1 -0
- package/dist/.claude/agents/flash-rapid-test.md +1 -0
- package/dist/.claude/agents/frieren-long-term.md +1 -0
- package/dist/.claude/agents/frodo-critical-path.md +1 -0
- package/dist/.claude/agents/fury-initiative.md +1 -0
- package/dist/.claude/agents/gaal-prompt-arch.md +1 -0
- package/dist/.claude/agents/galadriel-frontend.md +1 -0
- package/dist/.claude/agents/gamora-perf-assassin.md +1 -0
- package/dist/.claude/agents/gandalf-setup-wizard.md +1 -0
- package/dist/.claude/agents/gimli-performance.md +1 -0
- package/dist/.claude/agents/giyu-silent-guard.md +1 -0
- package/dist/.claude/agents/glorfindel-rendering.md +1 -0
- package/dist/.claude/agents/gohan-hidden-power.md +1 -0
- package/dist/.claude/agents/gojo-infinite-scale.md +1 -0
- package/dist/.claude/agents/goku-scaling.md +1 -0
- package/dist/.claude/agents/green-arrow-precision.md +1 -0
- package/dist/.claude/agents/green-lantern-scenarios.md +1 -0
- package/dist/.claude/agents/groot-caching.md +1 -0
- package/dist/.claude/agents/gurney-delivery.md +1 -0
- package/dist/.claude/agents/haku-deploy-wizard.md +1 -0
- package/dist/.claude/agents/haldir-boundaries.md +1 -0
- package/dist/.claude/agents/han-vuln-hunter.md +1 -0
- package/dist/.claude/agents/hange-experimentation.md +1 -0
- package/dist/.claude/agents/hawkgirl-regression-sweep.md +1 -0
- package/dist/.claude/agents/heero-mission-deploy.md +1 -0
- package/dist/.claude/agents/hera-navigation.md +1 -0
- package/dist/.claude/agents/hill-mission-control.md +1 -0
- package/dist/.claude/agents/hober-tool-schema.md +1 -0
- package/dist/.claude/agents/hoid-copywriting.md +1 -0
- package/dist/.claude/agents/howl-migration.md +1 -0
- package/dist/.claude/agents/janeway-novel-arch.md +1 -0
- package/dist/.claude/agents/janov-context-eng.md +1 -0
- package/dist/.claude/agents/jean-pragmatic.md +1 -0
- package/dist/.claude/agents/jessica-voice.md +1 -0
- package/dist/.claude/agents/jet-maintenance.md +1 -0
- package/dist/.claude/agents/jin-disciplined-adv.md +1 -0
- package/dist/.claude/agents/kaji-intelligence.md +1 -0
- package/dist/.claude/agents/kaladin-organic-growth.md +1 -0
- package/dist/.claude/agents/kallen-hard-deploy.md +1 -0
- package/dist/.claude/agents/kanan-intuitive.md +1 -0
- package/dist/.claude/agents/kaworu-solver.md +1 -0
- package/dist/.claude/agents/kelsier-growth.md +1 -0
- package/dist/.claude/agents/kenobi-security.md +1 -0
- package/dist/.claude/agents/kim-api-design.md +1 -0
- package/dist/.claude/agents/kira-pragmatic.md +1 -0
- package/dist/.claude/agents/kishibe-hardening.md +1 -0
- package/dist/.claude/agents/kusanagi-devops.md +1 -0
- package/dist/.claude/agents/la-forge-reliability.md +1 -0
- package/dist/.claude/agents/lang-micro-changes.md +1 -0
- package/dist/.claude/agents/legolas-precision.md +1 -0
- package/dist/.claude/agents/leia-secrets.md +1 -0
- package/dist/.claude/agents/lelouch-orchestration.md +1 -0
- package/dist/.claude/agents/leto-ii-persistence.md +1 -0
- package/dist/.claude/agents/leto-protection.md +1 -0
- package/dist/.claude/agents/levi-deploy.md +1 -0
- package/dist/.claude/agents/liet-kynes-deep-system.md +1 -0
- package/dist/.claude/agents/lift-social-media.md +1 -0
- package/dist/.claude/agents/loki-chaos.md +1 -0
- package/dist/.claude/agents/lucius-config.md +1 -0
- package/dist/.claude/agents/luke-audit-journey.md +1 -0
- package/dist/.claude/agents/manhunter-shapeshifting.md +1 -0
- package/dist/.claude/agents/marsh-competitive-intel.md +1 -0
- package/dist/.claude/agents/maul-red-team.md +1 -0
- package/dist/.claude/agents/merry-pair-review.md +1 -0
- package/dist/.claude/agents/mikasa-protection.md +1 -0
- package/dist/.claude/agents/miles-teg-perf.md +1 -0
- package/dist/.claude/agents/milim-load-test.md +1 -0
- package/dist/.claude/agents/misato-operations.md +1 -0
- package/dist/.claude/agents/mob-capacity.md +1 -0
- package/dist/.claude/agents/mohiam-authentication.md +1 -0
- package/dist/.claude/agents/mon-mothma-security-mgmt.md +1 -0
- package/dist/.claude/agents/mugen-chaos.md +1 -0
- package/dist/.claude/agents/mule-adversarial-ai.md +1 -0
- package/dist/.claude/agents/mustang-cleanup.md +1 -0
- package/dist/.claude/agents/nanami-structured-ops.md +1 -0
- package/dist/.claude/agents/nausicaa-resources.md +1 -0
- package/dist/.claude/agents/navani-technical-seo.md +1 -0
- package/dist/.claude/agents/nebula-optimization.md +1 -0
- package/dist/.claude/agents/nightwing-regression.md +1 -0
- package/dist/.claude/agents/nobara-direct-fix.md +1 -0
- package/dist/.claude/agents/nog-solutions.md +1 -0
- package/dist/.claude/agents/obrien-root-cause.md +1 -0
- package/dist/.claude/agents/odo-structural-anomaly.md +1 -0
- package/dist/.claude/agents/okoye-data-integrity.md +1 -0
- package/dist/.claude/agents/olivier-hardening.md +1 -0
- package/dist/.claude/agents/padme-data-protection.md +1 -0
- package/dist/.claude/agents/paris-route-planner.md +1 -0
- package/dist/.claude/agents/parker-connections.md +1 -0
- package/dist/.claude/agents/paul-orchestration.md +1 -0
- package/dist/.claude/agents/picard-architecture.md +1 -0
- package/dist/.claude/agents/piccolo-tactics.md +1 -0
- package/dist/.claude/agents/pike-bold-decisions.md +1 -0
- package/dist/.claude/agents/pippin-discovery.md +1 -0
- package/dist/.claude/agents/power-chaotic.md +1 -0
- package/dist/.claude/agents/qui-gon-subtle-vulns.md +1 -0
- package/dist/.claude/agents/radagast-edge-cases.md +1 -0
- package/dist/.claude/agents/raoden-conversion.md +1 -0
- package/dist/.claude/agents/raven-deep-analysis.md +1 -0
- package/dist/.claude/agents/red-hood-aggressive.md +1 -0
- package/dist/.claude/agents/rei-dangerous-tasks.md +1 -0
- package/dist/.claude/agents/reigen-debugger.md +1 -0
- package/dist/.claude/agents/rengoku-intense-monitor.md +1 -0
- package/dist/.claude/agents/rex-infrastructure.md +1 -0
- package/dist/.claude/agents/rhodes-production.md +1 -0
- package/dist/.claude/agents/riker-review.md +1 -0
- package/dist/.claude/agents/rimuru-adapter.md +1 -0
- package/dist/.claude/agents/riza-backup.md +1 -0
- package/dist/.claude/agents/rocket-scrappy.md +1 -0
- package/dist/.claude/agents/rogers-api-design.md +1 -0
- package/dist/.claude/agents/romanoff-integrations.md +1 -0
- package/dist/.claude/agents/sabine-unconventional.md +1 -0
- package/dist/.claude/agents/salvor-model-selection.md +1 -0
- package/dist/.claude/agents/samwise-accessibility.md +1 -0
- package/dist/.claude/agents/sarene-outreach.md +1 -0
- package/dist/.claude/agents/scotty-infrastructure.md +1 -0
- package/dist/.claude/agents/seldon-ai.md +1 -0
- package/dist/.claude/agents/senku-provisioning.md +1 -0
- package/dist/.claude/agents/seven-optimization.md +1 -0
- package/dist/.claude/agents/shallan-creative.md +1 -0
- package/dist/.claude/agents/sheeana-transport.md +1 -0
- package/dist/.claude/agents/shuri-innovation.md +1 -0
- package/dist/.claude/agents/siona-evasion.md +1 -0
- package/dist/.claude/agents/sisko-campaign.md +1 -0
- package/dist/.claude/agents/spike-routing.md +1 -0
- package/dist/.claude/agents/spock-schema.md +1 -0
- package/dist/.claude/agents/starfire-brute-force.md +1 -0
- package/dist/.claude/agents/stark-backend.md +1 -0
- package/dist/.claude/agents/steris-budget.md +1 -0
- package/dist/.claude/agents/stilgar-channel-security.md +1 -0
- package/dist/.claude/agents/strange-service-arch.md +1 -0
- package/dist/.claude/agents/sung-workers.md +1 -0
- package/dist/.claude/agents/superman-strength-test.md +1 -0
- package/dist/.claude/agents/suzaku-execution.md +1 -0
- package/dist/.claude/agents/szeth-compliance.md +1 -0
- package/dist/.claude/agents/tanjiro-persistent.md +1 -0
- package/dist/.claude/agents/tchalla-quality.md +1 -0
- package/dist/.claude/agents/thanos-gauntlet.md +1 -0
- package/dist/.claude/agents/theoden-rally.md +1 -0
- package/dist/.claude/agents/thor-queues.md +1 -0
- package/dist/.claude/agents/thufir-protocol-parsing.md +1 -0
- package/dist/.claude/agents/todo-brute-force.md +1 -0
- package/dist/.claude/agents/torres-site-scanner.md +1 -0
- package/dist/.claude/agents/totoro-guardian.md +1 -0
- package/dist/.claude/agents/tpol-disciplined.md +1 -0
- package/dist/.claude/agents/treebeard-deliberation.md +1 -0
- package/dist/.claude/agents/troi-prd-compliance.md +1 -0
- package/dist/.claude/agents/trunks-rollback.md +1 -0
- package/dist/.claude/agents/tuvok-deep-current.md +1 -0
- package/dist/.claude/agents/uhura-integration.md +1 -0
- package/dist/.claude/agents/valkyrie-recovery.md +1 -0
- package/dist/.claude/agents/vegeta-monitoring.md +1 -0
- package/dist/.claude/agents/vin-analytics.md +1 -0
- package/dist/.claude/agents/vision-data-analysis.md +1 -0
- package/dist/.claude/agents/wanda-state.md +1 -0
- package/dist/.claude/agents/wax-paid-ads.md +1 -0
- package/dist/.claude/agents/wayne-ab-testing.md +1 -0
- package/dist/.claude/agents/whis-precision.md +1 -0
- package/dist/.claude/agents/windu-input-validation.md +1 -0
- package/dist/.claude/agents/winry-maintenance.md +1 -0
- package/dist/.claude/agents/wonder-woman-truth.md +1 -0
- package/dist/.claude/agents/worf-security-arch.md +1 -0
- package/dist/.claude/agents/yoda-auth.md +1 -0
- package/dist/.claude/agents/yueh-trust-verify.md +1 -0
- package/dist/.claude/agents/zatanna-impossible.md +1 -0
- package/dist/.claude/agents/zechs-rival.md +1 -0
- package/dist/.claude/commands/assemble.md +6 -0
- package/dist/.claude/commands/gauntlet.md +12 -0
- package/dist/.claude/workflows/assemble-review.workflow.js +117 -0
- package/dist/.claude/workflows/gauntlet.workflow.js +176 -0
- package/dist/CHANGELOG.md +45 -0
- package/dist/CLAUDE.md +1 -0
- package/dist/VERSION.md +3 -1
- package/dist/docs/methods/SUB_AGENTS.md +1 -1
- package/dist/docs/methods/WORKFLOWS.md +76 -0
- package/package.json +2 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# WORKFLOWS — Dynamic Workflow Orchestration (the authoring standard)
|
|
2
|
+
|
|
3
|
+
> When a command fans out more agents than one conversation can coordinate, the deterministic skeleton belongs in a **Workflow script**, not in the lead's context. The personas and the judgment stay prose; the *scheduling* becomes code.
|
|
4
|
+
|
|
5
|
+
VoidForge's heavy commands (`/gauntlet` 60–80 agents, `/assemble` review phases) were authored before the Workflow tool existed and hand-fan sub-agents via the Agent tool — every intermediate findings table lands in the lead's context. Dynamic Workflows move the fan-out into a JavaScript script whose intermediate results live in **script variables**; only the final synthesis reaches the lead. This is the supported escalation of the dispatch discipline in `SUB_AGENTS.md`.
|
|
6
|
+
|
|
7
|
+
Canonical scripts live in **`.claude/workflows/*.workflow.js`** and are invoked via the Workflow tool (`scriptPath`).
|
|
8
|
+
|
|
9
|
+
## When to use a workflow (vs raw Agent dispatch)
|
|
10
|
+
|
|
11
|
+
| Use a **workflow** | Use **raw Agent dispatch** |
|
|
12
|
+
|---|---|
|
|
13
|
+
| 10+ agents, or fan-out → reduce → synthesize | 2–9 agents the lead orchestrates directly |
|
|
14
|
+
| Repetitive/deterministic rounds, loop-until-dry | The lead must judge between every round |
|
|
15
|
+
| Intermediates would flood the lead's context | Findings are few and the lead acts on each |
|
|
16
|
+
| `/gauntlet`, `/assemble` review phases | a one-off targeted review |
|
|
17
|
+
|
|
18
|
+
## The canonical shape
|
|
19
|
+
|
|
20
|
+
**Fan-out → reduce/dedupe (plain JS) → schema-validated verify → synthesize.** The reduce/dedupe step is *plain JavaScript* (a `Map`, a `filter`) — do **not** spend an agent on it.
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
export const meta = { // MUST be a pure literal — no vars/calls/spreads
|
|
24
|
+
name: 'example', description: 'one line', // shown in the gate/permission dialog
|
|
25
|
+
phases: [{ title: 'Find' }, { title: 'Verify' }],
|
|
26
|
+
}
|
|
27
|
+
const roster = typeof args === 'string' ? JSON.parse(args) : args // see Gotcha 1
|
|
28
|
+
phase('Find')
|
|
29
|
+
const found = (await parallel(roster.map(a => () =>
|
|
30
|
+
agent(prompt(a), { label: `${a.name} · find:${a.key}`, phase: 'Find', schema: FINDINGS, agentType: a.id })
|
|
31
|
+
))).filter(Boolean)
|
|
32
|
+
const claims = dedupe(found.flatMap(f => f.findings)) // plain JS reduce — no agent
|
|
33
|
+
phase('Verify')
|
|
34
|
+
const verdicts = await parallel(claims.map(c => () =>
|
|
35
|
+
agent(refutePrompt(c), { label: `verify:${c.id}`, phase: 'Verify', schema: VERDICT })))
|
|
36
|
+
return { confirmed: claims.filter((c,i) => verdicts[i]?.survives) }
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## API essentials
|
|
40
|
+
|
|
41
|
+
- `phase(title)` — groups subsequent `agent()` calls in the `/workflows` progress tree.
|
|
42
|
+
- `parallel(thunks)` — **barrier**: awaits all; a failed thunk resolves to `null` (`.filter(Boolean)`). Use only when you need all results together (dedup, early-exit, cross-comparison).
|
|
43
|
+
- `pipeline(items, stage1, stage2, …)` — **no barrier**: each item flows through all stages independently. The **default** for multi-stage work (verify-as-soon-as-found).
|
|
44
|
+
- `agent(prompt, {schema, agentType, model, label, phase, isolation})` — spawn a sub-agent. With `schema` (JSON Schema) it returns the validated object and **auto-retries on malformed output** — this replaces "please return JSON and hope." Without schema, returns final text.
|
|
45
|
+
- `log(msg)` — narrator line. `budget` — token target. `workflow(name|{scriptPath}, args)` — nested run (one level).
|
|
46
|
+
|
|
47
|
+
## Gotchas (paid for in field reports)
|
|
48
|
+
|
|
49
|
+
1. **`args` arrives as a JSON string** (#363 F5). First line of every script that takes structured args: `const parsed = typeof args === 'string' ? JSON.parse(args) : args;` — `args.map(...)` on the raw value throws `is not a function`.
|
|
50
|
+
2. **Label must lead with the character name** (#348 #2): `"Picard · review:arch"`, not `"review:arch"` — a bare dimension key overrides the agent identity and breaks the Danger Room ticker correlation. Omit the label to let `agentType` surface on its own.
|
|
51
|
+
3. **No `Date.now()` / `Math.random()` / argless `new Date()`** — they throw (they'd break resume). Pass timestamps via `args`; vary by index for "randomness."
|
|
52
|
+
4. **Concurrency caps (ADR-059):** ~16 concurrent / ~1,000 total per run. `parallel([...])` accepts 100s of items but only ~16 run at once. **Batch** unbounded fan-outs (glob-then-partition, `SUB_AGENTS.md`); never one-agent-per-file on a large repo.
|
|
53
|
+
5. **Cost lever:** route cheap stages with `agent(p, {model:'haiku'})` (scout pre-scans) and reserve the default model for synthesis — the way the Surfer already runs on Haiku.
|
|
54
|
+
|
|
55
|
+
## Gate interop (ADR-064) — REQUIRED
|
|
56
|
+
|
|
57
|
+
The Silver Surfer gate's `PreToolUse` hook now matches `Agent|Workflow`, so **a Workflow launch is gated like an Agent launch**. A command that runs a *review* workflow MUST satisfy the gate at the launch boundary:
|
|
58
|
+
|
|
59
|
+
1. **Muster the Surfer** (Agent tool — self-launch is always allowed) and **`record-roster.sh`** the returned roster — *before* invoking the Workflow.
|
|
60
|
+
2. **Invoke the Workflow**, passing the roster via `args`. The gate allows it (roster recorded); the workflow's internal `agent()` calls are the contents of that authorized roster.
|
|
61
|
+
|
|
62
|
+
Build/apply/research workflows that are **not** a review roster set a `--light`/`--solo` **bypass** (`bypass.sh`) instead. Never invoke a review Workflow without a recorded roster — that was the exact bypass ADR-064 closed.
|
|
63
|
+
|
|
64
|
+
## What stays prose (workflows orchestrate; they don't replace judgment)
|
|
65
|
+
|
|
66
|
+
The 264 personas, the Agent Debate Protocol, severity re-rating from votes, the "Verify the FIX not just the finding" interrogation, and the application of fixes between rounds stay as agent prompts / lead judgment. A workflow deterministically *schedules* "spawn 2 skeptics, collect schema-validated votes"; it does not decide "is this Critical really Critical." The workflow is the skeleton; the personas and judgment are the muscle.
|
|
67
|
+
|
|
68
|
+
## Resume
|
|
69
|
+
|
|
70
|
+
Every Workflow run persists its script + a journal. To resume after an edit/kill: `Workflow({scriptPath, resumeFromRunId})` — unchanged `agent()` calls return cached results; the first edited call and everything after re-runs.
|
|
71
|
+
|
|
72
|
+
## Related
|
|
73
|
+
|
|
74
|
+
- `SUB_AGENTS.md` — dispatch discipline, model/effort tiering, the find→verify review shape, fan-out residual sweeps.
|
|
75
|
+
- `ADR-064` (gate↔workflow interop), `ADR-059` (concurrency caps).
|
|
76
|
+
- `.claude/workflows/gauntlet.workflow.js`, `.claude/workflows/assemble-review.workflow.js` — the reference re-platformed commands.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "voidforge-build",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.18.0",
|
|
4
4
|
"description": "From nothing, everything. A methodology framework for building with Claude Code.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@aws-sdk/client-rds": "^3.700.0",
|
|
46
46
|
"@aws-sdk/client-s3": "^3.700.0",
|
|
47
47
|
"@aws-sdk/client-sts": "^3.700.0",
|
|
48
|
-
"voidforge-build-methodology": "^23.
|
|
48
|
+
"voidforge-build-methodology": "^23.18.0",
|
|
49
49
|
"node-pty": "^1.2.0-beta.12",
|
|
50
50
|
"ws": "^8.19.0"
|
|
51
51
|
},
|