@entelligentsia/forgecli 0.15.0 → 0.19.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/CHANGELOG.md +66 -0
- package/dist/CHANGELOG-pi.md +55 -0
- package/dist/bin/argv.d.ts +2 -0
- package/dist/bin/argv.js +3 -1
- package/dist/bin/argv.js.map +1 -1
- package/dist/bin/config.d.ts +5 -0
- package/dist/bin/config.js +25 -4
- package/dist/bin/config.js.map +1 -1
- package/dist/bin/forge.js +12 -56
- package/dist/bin/forge.js.map +1 -1
- package/dist/bin/shared-parser.d.ts +23 -0
- package/dist/bin/shared-parser.js +12 -0
- package/dist/bin/shared-parser.js.map +1 -0
- package/dist/bin/update-cli.js +5 -0
- package/dist/bin/update-cli.js.map +1 -1
- package/dist/extensions/forgecli/approve.d.ts +4 -6
- package/dist/extensions/forgecli/approve.js +8 -73
- package/dist/extensions/forgecli/approve.js.map +1 -1
- package/dist/extensions/forgecli/audience-gate.d.ts +1 -1
- package/dist/extensions/forgecli/calibrate.d.ts +4 -1
- package/dist/extensions/forgecli/calibrate.js +4 -12
- package/dist/extensions/forgecli/calibrate.js.map +1 -1
- package/dist/extensions/forgecli/collate.d.ts +4 -6
- package/dist/extensions/forgecli/collate.js +8 -73
- package/dist/extensions/forgecli/collate.js.map +1 -1
- package/dist/extensions/forgecli/commit.d.ts +4 -6
- package/dist/extensions/forgecli/commit.js +8 -73
- package/dist/extensions/forgecli/commit.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/handler.js +1 -0
- package/dist/extensions/forgecli/config-tui/handler.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/screens/tier-menu.js +8 -1
- package/dist/extensions/forgecli/config-tui/screens/tier-menu.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/init.js +1 -0
- package/dist/extensions/forgecli/config-tui/state/init.js.map +1 -1
- package/dist/extensions/forgecli/config-tui/state/model.d.ts +4 -0
- package/dist/extensions/forgecli/enhance.d.ts +4 -6
- package/dist/extensions/forgecli/enhance.js +8 -73
- package/dist/extensions/forgecli/enhance.js.map +1 -1
- package/dist/extensions/forgecli/fix-bug.d.ts +3 -0
- package/dist/extensions/forgecli/fix-bug.js +58 -46
- package/dist/extensions/forgecli/fix-bug.js.map +1 -1
- package/dist/extensions/forgecli/forge-artifact-tool.d.ts +2 -0
- package/dist/extensions/forgecli/forge-artifact-tool.js +185 -0
- package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/phase-descriptors.d.ts +72 -0
- package/dist/extensions/forgecli/forge-init/phase-descriptors.js +350 -0
- package/dist/extensions/forgecli/forge-init/phase-descriptors.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/phase4-register.d.ts +20 -0
- package/dist/extensions/forgecli/forge-init/phase4-register.js +353 -0
- package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/prompts.d.ts +10 -0
- package/dist/extensions/forgecli/forge-init/prompts.js +91 -0
- package/dist/extensions/forgecli/forge-init/prompts.js.map +1 -0
- package/dist/extensions/forgecli/forge-init/verifiers.d.ts +20 -0
- package/dist/extensions/forgecli/forge-init/verifiers.js +81 -0
- package/dist/extensions/forgecli/forge-init/verifiers.js.map +1 -0
- package/dist/extensions/forgecli/forge-init.js +106 -748
- package/dist/extensions/forgecli/forge-init.js.map +1 -1
- package/dist/extensions/forgecli/forge-root.d.ts +0 -1
- package/dist/extensions/forgecli/forge-root.js +1 -11
- package/dist/extensions/forgecli/forge-root.js.map +1 -1
- package/dist/extensions/forgecli/forge-subagent.d.ts +11 -1
- package/dist/extensions/forgecli/forge-subagent.js +6 -1
- package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
- package/dist/extensions/forgecli/forge-tools.d.ts +27 -7
- package/dist/extensions/forgecli/forge-tools.js +109 -70
- package/dist/extensions/forgecli/forge-tools.js.map +1 -1
- package/dist/extensions/forgecli/forge-update-command.js +5 -0
- package/dist/extensions/forgecli/forge-update-command.js.map +1 -1
- package/dist/extensions/forgecli/friction-emit.d.ts +4 -2
- package/dist/extensions/forgecli/friction-emit.js +13 -12
- package/dist/extensions/forgecli/friction-emit.js.map +1 -1
- package/dist/extensions/forgecli/health-check.js +1 -1
- package/dist/extensions/forgecli/health-check.js.map +1 -1
- package/dist/extensions/forgecli/hook-dispatcher.d.ts +1 -0
- package/dist/extensions/forgecli/hook-dispatcher.js +5 -0
- package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
- package/dist/extensions/forgecli/hooks/post-init-hook.js +1 -1
- package/dist/extensions/forgecli/hooks/post-sprint-hook.js +1 -1
- package/dist/extensions/forgecli/hooks/write-guard.js +1 -1
- package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
- package/dist/extensions/forgecli/implement.d.ts +4 -6
- package/dist/extensions/forgecli/implement.js +8 -73
- package/dist/extensions/forgecli/implement.js.map +1 -1
- package/dist/extensions/forgecli/index.js +15 -38
- package/dist/extensions/forgecli/index.js.map +1 -1
- package/dist/extensions/forgecli/lib/catalog-helpers.d.ts +13 -0
- package/dist/extensions/forgecli/lib/catalog-helpers.js +51 -0
- package/dist/extensions/forgecli/lib/catalog-helpers.js.map +1 -0
- package/dist/extensions/forgecli/lib/catalog-loader.d.ts +46 -0
- package/dist/extensions/forgecli/lib/catalog-loader.js +176 -0
- package/dist/extensions/forgecli/lib/catalog-loader.js.map +1 -0
- package/dist/extensions/forgecli/lib/catalog-types.d.ts +16 -0
- package/dist/extensions/forgecli/lib/catalog-types.js +161 -0
- package/dist/extensions/forgecli/lib/catalog-types.js.map +1 -0
- package/dist/extensions/forgecli/lib/exec-helpers.d.ts +25 -0
- package/dist/extensions/forgecli/lib/exec-helpers.js +52 -0
- package/dist/extensions/forgecli/lib/exec-helpers.js.map +1 -0
- package/dist/extensions/forgecli/lib/forge-config.d.ts +20 -0
- package/dist/extensions/forgecli/lib/forge-config.js +43 -0
- package/dist/extensions/forgecli/lib/forge-config.js.map +1 -0
- package/dist/extensions/forgecli/lib/frontmatter-parser.d.ts +13 -0
- package/dist/extensions/forgecli/lib/frontmatter-parser.js +56 -0
- package/dist/extensions/forgecli/lib/frontmatter-parser.js.map +1 -0
- package/dist/extensions/forgecli/lib/manifest-checker.d.ts +22 -0
- package/dist/extensions/forgecli/lib/manifest-checker.js +64 -0
- package/dist/extensions/forgecli/lib/manifest-checker.js.map +1 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.d.ts +46 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.js +64 -0
- package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +1 -0
- package/dist/extensions/forgecli/lib/orchestrator-types.d.ts +20 -0
- package/dist/extensions/forgecli/lib/orchestrator-types.js +14 -0
- package/dist/extensions/forgecli/lib/orchestrator-types.js.map +1 -0
- package/dist/extensions/forgecli/lib/parsers.d.ts +25 -0
- package/dist/extensions/forgecli/lib/parsers.js +164 -0
- package/dist/extensions/forgecli/lib/parsers.js.map +1 -0
- package/dist/extensions/forgecli/lib/shared-fs-utils.d.ts +12 -0
- package/dist/extensions/forgecli/lib/shared-fs-utils.js +37 -0
- package/dist/extensions/forgecli/lib/shared-fs-utils.js.map +1 -0
- package/dist/extensions/forgecli/lib/spawn-store-cli.d.ts +44 -0
- package/dist/extensions/forgecli/lib/spawn-store-cli.js +93 -0
- package/dist/extensions/forgecli/lib/spawn-store-cli.js.map +1 -0
- package/dist/extensions/forgecli/lib/state-helpers.d.ts +33 -0
- package/dist/extensions/forgecli/lib/state-helpers.js +69 -0
- package/dist/extensions/forgecli/lib/state-helpers.js.map +1 -0
- package/dist/extensions/forgecli/lib/store-cli-timeouts.d.ts +4 -0
- package/dist/extensions/forgecli/lib/store-cli-timeouts.js +10 -0
- package/dist/extensions/forgecli/lib/store-cli-timeouts.js.map +1 -0
- package/dist/extensions/forgecli/lib/versions.d.ts +56 -0
- package/dist/extensions/forgecli/lib/versions.js +116 -0
- package/dist/extensions/forgecli/lib/versions.js.map +1 -0
- package/dist/extensions/forgecli/loaders/persona-skill-loader.js +2 -2
- package/dist/extensions/forgecli/loaders/persona-skill-loader.js.map +1 -1
- package/dist/extensions/forgecli/migration-engine.d.ts +6 -0
- package/dist/extensions/forgecli/migration-engine.js +59 -39
- package/dist/extensions/forgecli/migration-engine.js.map +1 -1
- package/dist/extensions/forgecli/parsers/persona-skill-loader.d.ts +45 -0
- package/dist/extensions/forgecli/parsers/persona-skill-loader.js +201 -0
- package/dist/extensions/forgecli/parsers/persona-skill-loader.js.map +1 -0
- package/dist/extensions/forgecli/parsers/workflow-loader.d.ts +41 -0
- package/dist/extensions/forgecli/parsers/workflow-loader.js +87 -0
- package/dist/extensions/forgecli/parsers/workflow-loader.js.map +1 -0
- package/dist/extensions/forgecli/plan.d.ts +4 -6
- package/dist/extensions/forgecli/plan.js +9 -73
- package/dist/extensions/forgecli/plan.js.map +1 -1
- package/dist/extensions/forgecli/retrospective.d.ts +2 -1
- package/dist/extensions/forgecli/retrospective.js +6 -36
- package/dist/extensions/forgecli/retrospective.js.map +1 -1
- package/dist/extensions/forgecli/review-code.d.ts +4 -6
- package/dist/extensions/forgecli/review-code.js +8 -73
- package/dist/extensions/forgecli/review-code.js.map +1 -1
- package/dist/extensions/forgecli/review-plan.d.ts +4 -6
- package/dist/extensions/forgecli/review-plan.js +8 -73
- package/dist/extensions/forgecli/review-plan.js.map +1 -1
- package/dist/extensions/forgecli/run-sprint.d.ts +2 -0
- package/dist/extensions/forgecli/run-sprint.js +53 -52
- package/dist/extensions/forgecli/run-sprint.js.map +1 -1
- package/dist/extensions/forgecli/run-task.d.ts +3 -0
- package/dist/extensions/forgecli/run-task.js +39 -68
- package/dist/extensions/forgecli/run-task.js.map +1 -1
- package/dist/extensions/forgecli/skill-curation-flag.js +5 -5
- package/dist/extensions/forgecli/skill-curation-flag.js.map +1 -1
- package/dist/extensions/forgecli/skill-retriever.js +5 -5
- package/dist/extensions/forgecli/skill-retriever.js.map +1 -1
- package/dist/extensions/forgecli/skill-usage-tracker.js +5 -5
- package/dist/extensions/forgecli/skill-usage-tracker.js.map +1 -1
- package/dist/extensions/forgecli/store-error-remediation.d.ts +65 -0
- package/dist/extensions/forgecli/store-error-remediation.js +299 -0
- package/dist/extensions/forgecli/store-error-remediation.js.map +1 -0
- package/dist/extensions/forgecli/store-resolver.js +3 -12
- package/dist/extensions/forgecli/store-resolver.js.map +1 -1
- package/dist/extensions/forgecli/store-validator.js +6 -11
- package/dist/extensions/forgecli/store-validator.js.map +1 -1
- package/dist/extensions/forgecli/subagent/agents.d.ts +4 -0
- package/dist/extensions/forgecli/subagent/agents.js +5 -8
- package/dist/extensions/forgecli/subagent/agents.js.map +1 -1
- package/dist/extensions/forgecli/transition-guard.js +20 -61
- package/dist/extensions/forgecli/transition-guard.js.map +1 -1
- package/dist/extensions/forgecli/validate.d.ts +4 -6
- package/dist/extensions/forgecli/validate.js +8 -73
- package/dist/extensions/forgecli/validate.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/engine.js +2 -2
- package/dist/extensions/forgecli/wf-engine/engine.js.map +1 -1
- package/dist/extensions/forgecli/wf-engine/loader.d.ts +1 -1
- package/dist/extensions/forgecli/wf-engine/loader.js +1 -1
- package/dist/extensions/forgecli/wf-engine/loader.js.map +1 -1
- package/dist/forge-payload/.base-pack/skills/architect-skills.md +1 -0
- package/dist/forge-payload/.base-pack/skills/bug-fixer-skills.md +1 -0
- package/dist/forge-payload/.base-pack/skills/collator-skills.md +1 -0
- package/dist/forge-payload/.base-pack/skills/engineer-skills.md +1 -0
- package/dist/forge-payload/.base-pack/skills/generic-skills.md +1 -0
- package/dist/forge-payload/.base-pack/skills/qa-engineer-skills.md +1 -0
- package/dist/forge-payload/.base-pack/skills/supervisor-skills.md +1 -0
- package/dist/forge-payload/.base-pack/workflows/_fragments/generation-instructions.md +81 -0
- package/dist/forge-payload/.base-pack/workflows/_fragments/iron-laws.md +72 -0
- package/dist/forge-payload/.base-pack/workflows/_fragments/store-cli-verbs.md +11 -1
- package/dist/forge-payload/.base-pack/workflows/_fragments/store-write-verification.md +11 -0
- package/dist/forge-payload/.base-pack/workflows/architect_approve.md +11 -12
- package/dist/forge-payload/.base-pack/workflows/architect_review_sprint_completion.md +4 -1
- package/dist/forge-payload/.base-pack/workflows/architect_sprint_intake.md +10 -1
- package/dist/forge-payload/.base-pack/workflows/architect_sprint_plan.md +8 -1
- package/dist/forge-payload/.base-pack/workflows/collator_agent.md +18 -1
- package/dist/forge-payload/.base-pack/workflows/commit_task.md +5 -10
- package/dist/forge-payload/.base-pack/workflows/enhance.md +7 -0
- package/dist/forge-payload/.base-pack/workflows/fix_bug.md +9 -2
- package/dist/forge-payload/.base-pack/workflows/implement_plan.md +22 -35
- package/dist/forge-payload/.base-pack/workflows/migrate_structural.md +9 -0
- package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +4 -0
- package/dist/forge-payload/.base-pack/workflows/plan_task.md +17 -21
- package/dist/forge-payload/.base-pack/workflows/review_code.md +13 -20
- package/dist/forge-payload/.base-pack/workflows/review_plan.md +10 -21
- package/dist/forge-payload/.base-pack/workflows/sprint_retrospective.md +10 -1
- package/dist/forge-payload/.base-pack/workflows/update_implementation.md +5 -10
- package/dist/forge-payload/.base-pack/workflows/update_plan.md +5 -10
- package/dist/forge-payload/.base-pack/workflows/validate_task.md +11 -12
- package/dist/forge-payload/.claude-plugin/plugin.json +5 -5
- package/dist/forge-payload/.schemas/_defs/phaseSummary.schema.json +18 -0
- package/dist/forge-payload/.schemas/bug.schema.json +8 -24
- package/dist/forge-payload/.schemas/config.schema.json +165 -33
- package/dist/forge-payload/.schemas/enum-catalog.json +71 -0
- package/dist/forge-payload/.schemas/migrations.json +371 -149
- package/dist/forge-payload/.schemas/task.schema.json +6 -21
- package/dist/forge-payload/.schemas/transitions/bug.json +31 -0
- package/dist/forge-payload/.schemas/transitions/sprint.json +46 -0
- package/dist/forge-payload/.schemas/transitions/task.json +109 -0
- package/dist/forge-payload/commands/health.md +3 -3
- package/dist/forge-payload/hooks/check-update.cjs +255 -0
- package/dist/forge-payload/hooks/forge-permissions.cjs +171 -0
- package/dist/forge-payload/hooks/forge-permissions.js +6 -0
- package/dist/forge-payload/hooks/post-init.cjs +120 -0
- package/dist/forge-payload/hooks/post-sprint.cjs +108 -0
- package/dist/forge-payload/hooks/triage-error.cjs +104 -0
- package/dist/forge-payload/hooks/triage-error.js +6 -0
- package/dist/forge-payload/hooks/validate-write.cjs +250 -0
- package/dist/forge-payload/hooks/validate-write.js +25 -11
- package/dist/forge-payload/integrity.json +13 -7
- package/dist/forge-payload/meta/workflows/_fragments/generation-instructions.md +81 -0
- package/dist/forge-payload/meta/workflows/_fragments/iron-laws.md +72 -0
- package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +11 -1
- package/dist/forge-payload/meta/workflows/_fragments/store-write-verification.md +11 -0
- package/dist/forge-payload/meta/workflows/meta-approve.md +9 -11
- package/dist/forge-payload/meta/workflows/meta-collate.md +16 -0
- package/dist/forge-payload/meta/workflows/meta-commit.md +3 -9
- package/dist/forge-payload/meta/workflows/meta-enhance.md +16 -1
- package/dist/forge-payload/meta/workflows/meta-fix-bug.md +8 -2
- package/dist/forge-payload/meta/workflows/meta-implement.md +20 -35
- package/dist/forge-payload/meta/workflows/meta-migrate.md +18 -0
- package/dist/forge-payload/meta/workflows/meta-orchestrate.md +2 -0
- package/dist/forge-payload/meta/workflows/meta-plan-task.md +15 -21
- package/dist/forge-payload/meta/workflows/meta-quiz-agent.md +4 -1
- package/dist/forge-payload/meta/workflows/meta-retrospective.md +8 -0
- package/dist/forge-payload/meta/workflows/meta-review-implementation.md +11 -19
- package/dist/forge-payload/meta/workflows/meta-review-plan.md +10 -16
- package/dist/forge-payload/meta/workflows/meta-review-sprint-completion.md +3 -0
- package/dist/forge-payload/meta/workflows/meta-sprint-intake.md +8 -0
- package/dist/forge-payload/meta/workflows/meta-sprint-plan.md +5 -0
- package/dist/forge-payload/meta/workflows/meta-update-implementation.md +3 -9
- package/dist/forge-payload/meta/workflows/meta-update-plan.md +3 -9
- package/dist/forge-payload/meta/workflows/meta-validate.md +9 -11
- package/dist/forge-payload/schemas/structure-manifest.json +8 -6
- package/dist/forge-payload/tools/build-context-pack.cjs +3 -2
- package/dist/forge-payload/tools/friction-emit.cjs +2 -1
- package/dist/forge-payload/tools/lib/frontmatter.cjs +62 -0
- package/dist/forge-payload/tools/lib/fsutil.cjs +61 -0
- package/dist/forge-payload/tools/lib/json-io.cjs +43 -0
- package/dist/forge-payload/tools/lib/schema-loader.cjs +139 -0
- package/dist/forge-payload/tools/lib/slug.cjs +39 -0
- package/dist/forge-payload/tools/lib/store-facade.cjs +6 -5
- package/dist/forge-payload/tools/preflight-gate.cjs +55 -7
- package/dist/forge-payload/tools/seed-store.cjs +1 -13
- package/dist/forge-payload/tools/store-cli.cjs +55 -108
- package/dist/forge-payload/tools/store.cjs +26 -37
- package/dist/forge-payload/tools/substitute-placeholders.cjs +74 -35
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +23 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +5 -5
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +4 -4
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +4 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +3 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +20 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +92 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +18 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +42 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +10 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +31 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +30 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +170 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +26 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +90 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +10 -22
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js +17 -23
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +19 -19
- package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/node.d.ts +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/node.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/node.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +9 -10
- package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/cli.js +14 -0
- package/node_modules/@earendil-works/pi-ai/dist/cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +10 -2
- package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/image-models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/image-models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/images.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/images.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +29 -29
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +317 -509
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +400 -620
- package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/oauth.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/oauth.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/oauth.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +5 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +23 -6
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +11 -23
- package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +12 -3
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js +10 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts +10 -10
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js +13 -2
- package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +6 -11
- package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +13 -3
- package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +19 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +55 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +45 -69
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +6 -5
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts +9 -2
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +15 -16
- package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +55 -0
- package/node_modules/@earendil-works/pi-coding-agent/README.md +6 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/bun/cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/bun/cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/initial-message.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/initial-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/initial-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/session-picker.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/session-picker.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli/session-picker.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js +4 -10
- package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +13 -14
- package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts +9 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js +6 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +7 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +23 -21
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +99 -137
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-guidance.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-guidance.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/bash-executor.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/bash-executor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/bash-executor.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/index.d.ts +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/exec.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/exec.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.js +8 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/template.js +6 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/tool-renderer.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/tool-renderer.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +8 -8
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +12 -29
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +6 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +19 -19
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/wrapper.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/wrapper.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.d.ts +21 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js +48 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js.map +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts +8 -8
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts +4 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +7 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +48 -32
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js +6 -20
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts +9 -9
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +38 -31
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts +13 -13
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +9 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +32 -24
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +3 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +26 -13
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js +8 -22
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/source-info.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/source-info.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/source-info.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +1 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/telemetry.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/telemetry.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/telemetry.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +9 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.js +8 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts +5 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +3 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.d.ts +17 -17
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.js +9 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js +3 -22
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/truncate.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/truncate.js +12 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/truncate.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +30 -29
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +7 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts +5 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/armin.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/branch-summary-message.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/compaction-summary-message.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.js +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-message.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/diff.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.d.ts +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js +16 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts +31 -31
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +10 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +31 -6
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector-search.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.d.ts +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +15 -0
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tree-selector.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +4 -3
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +37 -14
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +37 -28
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +5 -5
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +4 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +40 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-image.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-image.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/exif-orientation.d.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/exif-orientation.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/exif-orientation.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-convert.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-convert.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.d.ts +16 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js +49 -7
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.d.ts +2 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.js +9 -4
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/windows-self-update.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/dist/utils/windows-self-update.js.map +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +44 -12
- package/node_modules/@earendil-works/pi-coding-agent/docs/index.md +6 -4
- package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +8 -2
- package/node_modules/@earendil-works/pi-coding-agent/docs/packages.md +5 -4
- package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +3 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +2 -0
- package/node_modules/@earendil-works/pi-coding-agent/docs/termux.md +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/doom-overlay/doom-component.ts +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/doom-overlay/index.ts +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/overlay-qa-tests.ts +97 -66
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/overlay-test.ts +7 -4
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/plan-mode/index.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +2 -2
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/subagent/index.ts +1 -1
- package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +3 -3
- package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +1425 -0
- package/node_modules/@earendil-works/pi-coding-agent/package.json +32 -31
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/box.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +3 -3
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts +2 -2
- package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts +5 -5
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +4 -4
- package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts +2 -2
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/editor-component.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +22 -22
- package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js +25 -15
- package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +2 -2
- package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
- package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
- package/node_modules/@earendil-works/pi-tui/package.json +8 -11
- package/package.json +13 -8
- package/dist/bin/forgecli.d.ts +0 -2
- package/dist/bin/forgecli.js +0 -6
- package/dist/bin/forgecli.js.map +0 -1
- package/node_modules/koffi/CHANGELOG.md +0 -1093
- package/node_modules/koffi/LICENSE.txt +0 -22
- package/node_modules/koffi/README.md +0 -43
- package/node_modules/koffi/build/koffi/darwin_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/darwin_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/freebsd_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/freebsd_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/freebsd_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_armhf/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_loong64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/linux_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/musl_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/musl_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/openbsd_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/openbsd_x64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/win32_arm64/koffi.exp +0 -0
- package/node_modules/koffi/build/koffi/win32_arm64/koffi.lib +0 -0
- package/node_modules/koffi/build/koffi/win32_arm64/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/win32_ia32/koffi.exp +0 -0
- package/node_modules/koffi/build/koffi/win32_ia32/koffi.lib +0 -0
- package/node_modules/koffi/build/koffi/win32_ia32/koffi.node +0 -0
- package/node_modules/koffi/build/koffi/win32_x64/koffi.exp +0 -0
- package/node_modules/koffi/build/koffi/win32_x64/koffi.lib +0 -0
- package/node_modules/koffi/build/koffi/win32_x64/koffi.node +0 -0
- package/node_modules/koffi/doc/benchmarks.md +0 -126
- package/node_modules/koffi/doc/callbacks.md +0 -210
- package/node_modules/koffi/doc/contribute.md +0 -148
- package/node_modules/koffi/doc/functions.md +0 -250
- package/node_modules/koffi/doc/index.md +0 -61
- package/node_modules/koffi/doc/input.md +0 -471
- package/node_modules/koffi/doc/migration.md +0 -159
- package/node_modules/koffi/doc/misc.md +0 -180
- package/node_modules/koffi/doc/output.md +0 -305
- package/node_modules/koffi/doc/packaging.md +0 -88
- package/node_modules/koffi/doc/platforms.md +0 -36
- package/node_modules/koffi/doc/pointers.md +0 -328
- package/node_modules/koffi/doc/start.md +0 -118
- package/node_modules/koffi/doc/unions.md +0 -186
- package/node_modules/koffi/doc/variables.md +0 -102
- package/node_modules/koffi/index.d.ts +0 -288
- package/node_modules/koffi/index.js +0 -634
- package/node_modules/koffi/indirect.js +0 -533
- package/node_modules/koffi/lib/native/base/base.cc +0 -11015
- package/node_modules/koffi/lib/native/base/base.hh +0 -6003
- package/node_modules/koffi/lib/native/base/crc.inc +0 -2214
- package/node_modules/koffi/lib/native/base/crc_gen.py +0 -72
- package/node_modules/koffi/lib/native/base/mimetypes.inc +0 -1248
- package/node_modules/koffi/lib/native/base/mimetypes_gen.py +0 -58
- package/node_modules/koffi/lib/native/base/tower.cc +0 -821
- package/node_modules/koffi/lib/native/base/tower.hh +0 -81
- package/node_modules/koffi/lib/native/base/unicode.inc +0 -408
- package/node_modules/koffi/lib/native/base/unicode_gen.py +0 -152
- package/node_modules/koffi/package.json +0 -38
- package/node_modules/koffi/src/cnoke/LICENSE.txt +0 -22
- package/node_modules/koffi/src/cnoke/README.md +0 -99
- package/node_modules/koffi/src/cnoke/assets/FindCNoke.cmake +0 -127
- package/node_modules/koffi/src/cnoke/assets/toolchains.json +0 -126
- package/node_modules/koffi/src/cnoke/assets/win_delay_hook.c +0 -36
- package/node_modules/koffi/src/cnoke/cnoke.js +0 -170
- package/node_modules/koffi/src/cnoke/package.json +0 -24
- package/node_modules/koffi/src/cnoke/src/builder.js +0 -511
- package/node_modules/koffi/src/cnoke/src/index.js +0 -10
- package/node_modules/koffi/src/cnoke/src/tools.js +0 -407
- package/node_modules/koffi/src/koffi/CMakeLists.txt +0 -182
- package/node_modules/koffi/src/koffi/src/abi_arm32.cc +0 -1018
- package/node_modules/koffi/src/koffi/src/abi_arm32_asm.S +0 -169
- package/node_modules/koffi/src/koffi/src/abi_arm64.cc +0 -1295
- package/node_modules/koffi/src/koffi/src/abi_arm64_asm.S +0 -195
- package/node_modules/koffi/src/koffi/src/abi_arm64_asm.asm +0 -174
- package/node_modules/koffi/src/koffi/src/abi_loong64.cc +0 -5
- package/node_modules/koffi/src/koffi/src/abi_loong64_asm.S +0 -204
- package/node_modules/koffi/src/koffi/src/abi_riscv64.cc +0 -915
- package/node_modules/koffi/src/koffi/src/abi_riscv64_asm.S +0 -203
- package/node_modules/koffi/src/koffi/src/abi_x64_sysv.cc +0 -939
- package/node_modules/koffi/src/koffi/src/abi_x64_sysv_asm.S +0 -231
- package/node_modules/koffi/src/koffi/src/abi_x64_win.cc +0 -715
- package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.S +0 -166
- package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.asm +0 -192
- package/node_modules/koffi/src/koffi/src/abi_x86.cc +0 -860
- package/node_modules/koffi/src/koffi/src/abi_x86_asm.S +0 -193
- package/node_modules/koffi/src/koffi/src/abi_x86_asm.asm +0 -177
- package/node_modules/koffi/src/koffi/src/call.cc +0 -1326
- package/node_modules/koffi/src/koffi/src/call.hh +0 -179
- package/node_modules/koffi/src/koffi/src/errno.inc +0 -462
- package/node_modules/koffi/src/koffi/src/ffi.cc +0 -2702
- package/node_modules/koffi/src/koffi/src/ffi.hh +0 -354
- package/node_modules/koffi/src/koffi/src/init.js +0 -105
- package/node_modules/koffi/src/koffi/src/parser.cc +0 -220
- package/node_modules/koffi/src/koffi/src/parser.hh +0 -54
- package/node_modules/koffi/src/koffi/src/util.cc +0 -1807
- package/node_modules/koffi/src/koffi/src/util.hh +0 -221
- package/node_modules/koffi/src/koffi/src/uv.cc +0 -193
- package/node_modules/koffi/src/koffi/src/uv.def +0 -10
- package/node_modules/koffi/src/koffi/src/uv.hh +0 -40
- package/node_modules/koffi/src/koffi/src/win32.cc +0 -198
- package/node_modules/koffi/src/koffi/src/win32.hh +0 -119
- package/node_modules/koffi/src/koffi/tools/write_trampolines.js +0 -77
- package/node_modules/koffi/vendor/node-addon-api/LICENSE.md +0 -9
- package/node_modules/koffi/vendor/node-addon-api/README.md +0 -95
- package/node_modules/koffi/vendor/node-addon-api/napi-inl.deprecated.h +0 -186
- package/node_modules/koffi/vendor/node-addon-api/napi-inl.h +0 -7033
- package/node_modules/koffi/vendor/node-addon-api/napi.h +0 -3309
- package/node_modules/koffi/vendor/node-api-headers/LICENSE +0 -21
- package/node_modules/koffi/vendor/node-api-headers/README.md +0 -95
- package/node_modules/koffi/vendor/node-api-headers/def/js_native_api.def +0 -125
- package/node_modules/koffi/vendor/node-api-headers/def/node_api.def +0 -157
- package/node_modules/koffi/vendor/node-api-headers/include/js_native_api.h +0 -591
- package/node_modules/koffi/vendor/node-api-headers/include/js_native_api_types.h +0 -210
- package/node_modules/koffi/vendor/node-api-headers/include/node_api.h +0 -265
- package/node_modules/koffi/vendor/node-api-headers/include/node_api_types.h +0 -58
- package/node_modules/koffi/vendor/node-api-headers/include/uv/aix.h +0 -32
- package/node_modules/koffi/vendor/node-api-headers/include/uv/bsd.h +0 -34
- package/node_modules/koffi/vendor/node-api-headers/include/uv/darwin.h +0 -61
- package/node_modules/koffi/vendor/node-api-headers/include/uv/errno.h +0 -483
- package/node_modules/koffi/vendor/node-api-headers/include/uv/linux.h +0 -34
- package/node_modules/koffi/vendor/node-api-headers/include/uv/os390.h +0 -33
- package/node_modules/koffi/vendor/node-api-headers/include/uv/posix.h +0 -31
- package/node_modules/koffi/vendor/node-api-headers/include/uv/sunos.h +0 -44
- package/node_modules/koffi/vendor/node-api-headers/include/uv/threadpool.h +0 -37
- package/node_modules/koffi/vendor/node-api-headers/include/uv/tree.h +0 -521
- package/node_modules/koffi/vendor/node-api-headers/include/uv/unix.h +0 -512
- package/node_modules/koffi/vendor/node-api-headers/include/uv/version.h +0 -43
- package/node_modules/koffi/vendor/node-api-headers/include/uv/win.h +0 -698
- package/node_modules/koffi/vendor/node-api-headers/include/uv.h +0 -1990
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
// Central persona/skill loader — FORGE-S20-T02.
|
|
2
|
+
//
|
|
3
|
+
// Single canonical surface for reading persona and skill markdown files from
|
|
4
|
+
// the user's `.forge/personas/` and `.forge/skills/` directories. Future
|
|
5
|
+
// kickoff handlers (T04 /forge:enhance, T05 /forge:plan, T06 /forge:implement)
|
|
6
|
+
// load typed Persona/Skill records through this module instead of issuing
|
|
7
|
+
// ad-hoc fs.readFile calls. The smoke gate locks the invariant in place.
|
|
8
|
+
//
|
|
9
|
+
// Path resolution anchors at the **project root** containing `.forge/`, not
|
|
10
|
+
// at `forgeRoot` (which points at the bundled plugin source — `.forge/personas/`
|
|
11
|
+
// is a project-local generated directory).
|
|
12
|
+
//
|
|
13
|
+
// Iron Law 6 (no shell-string interpolation): all I/O is via fs synchronous
|
|
14
|
+
// APIs with absolute paths constructed by `path.join`/`path.resolve`. No
|
|
15
|
+
// external process invocation.
|
|
16
|
+
// Iron Law 7 (no silent continuation): every failure mode raises a typed
|
|
17
|
+
// `PersonaSkillLoaderError` with an explicit `code`.
|
|
18
|
+
import * as fs from "node:fs";
|
|
19
|
+
import * as path from "node:path";
|
|
20
|
+
import { Type } from "typebox";
|
|
21
|
+
import { Value } from "typebox/value";
|
|
22
|
+
import { discoverForgeConfigCached } from "../lib/forge-config.js";
|
|
23
|
+
import { parseFrontmatterBlock, FrontmatterParseError } from "../lib/parsers.js";
|
|
24
|
+
// ── TypeBox schemas ──────────────────────────────────────────────────────
|
|
25
|
+
export const PersonaSchema = Type.Object({
|
|
26
|
+
name: Type.String(),
|
|
27
|
+
filePath: Type.String(),
|
|
28
|
+
identity: Type.String(),
|
|
29
|
+
body: Type.String(),
|
|
30
|
+
capabilities: Type.Array(Type.String()),
|
|
31
|
+
frontmatter: Type.Record(Type.String(), Type.Unknown()),
|
|
32
|
+
});
|
|
33
|
+
export const SkillSchema = Type.Object({
|
|
34
|
+
name: Type.String(),
|
|
35
|
+
filePath: Type.String(),
|
|
36
|
+
body: Type.String(),
|
|
37
|
+
capabilities: Type.Array(Type.String()),
|
|
38
|
+
frontmatter: Type.Record(Type.String(), Type.Unknown()),
|
|
39
|
+
});
|
|
40
|
+
export class PersonaSkillLoaderError extends Error {
|
|
41
|
+
code;
|
|
42
|
+
constructor(code, message) {
|
|
43
|
+
super(message);
|
|
44
|
+
this.name = "PersonaSkillLoaderError";
|
|
45
|
+
this.code = code;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// ── Project-root discovery ───────────────────────────────────────────────
|
|
49
|
+
function resolveProjectRoot(opts) {
|
|
50
|
+
if (opts?.projectRoot)
|
|
51
|
+
return opts.projectRoot;
|
|
52
|
+
const cwd = opts?.cwd ?? process.cwd();
|
|
53
|
+
const cfg = discoverForgeConfigCached(cwd);
|
|
54
|
+
if (!cfg) {
|
|
55
|
+
throw new PersonaSkillLoaderError("no_project_root", `No .forge/config.json found walking up from ${cwd}. ` +
|
|
56
|
+
"Run /forge:init to scaffold the project, or pass `projectRoot` explicitly.");
|
|
57
|
+
}
|
|
58
|
+
// configPath = <projectDir>/.forge/config.json → projectDir = parent of .forge/
|
|
59
|
+
return path.dirname(path.dirname(cfg.configPath));
|
|
60
|
+
}
|
|
61
|
+
// ── Name validation (defence in depth) ───────────────────────────────────
|
|
62
|
+
function validateName(name, kind) {
|
|
63
|
+
if (typeof name !== "string" || name.length === 0) {
|
|
64
|
+
throw new PersonaSkillLoaderError("path_traversal", `${kind} name must be a non-empty string`);
|
|
65
|
+
}
|
|
66
|
+
if (name.includes("/") || name.includes("\\") || name.includes("\0")) {
|
|
67
|
+
throw new PersonaSkillLoaderError("path_traversal", `${kind} name contains path separators: ${JSON.stringify(name)}`);
|
|
68
|
+
}
|
|
69
|
+
const parts = name.split(/[/\\]/);
|
|
70
|
+
for (const p of parts) {
|
|
71
|
+
if (p === ".." || p === "." || p === "") {
|
|
72
|
+
throw new PersonaSkillLoaderError("path_traversal", `${kind} name contains traversal segment: ${JSON.stringify(name)}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// ── Realpath confinement check ───────────────────────────────────────────
|
|
77
|
+
function assertWithinDir(realFile, realDir, kind) {
|
|
78
|
+
const prefix = realDir.endsWith(path.sep) ? realDir : realDir + path.sep;
|
|
79
|
+
if (!realFile.startsWith(prefix)) {
|
|
80
|
+
throw new PersonaSkillLoaderError("path_traversal", `${kind} path escapes ${realDir}: resolved to ${realFile}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function parseFrontmatter(content) {
|
|
84
|
+
try {
|
|
85
|
+
return parseFrontmatterBlock(content, { allowNesting: false });
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if (err instanceof FrontmatterParseError) {
|
|
89
|
+
throw new PersonaSkillLoaderError("invalid_frontmatter", err.message);
|
|
90
|
+
}
|
|
91
|
+
throw err;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// ── Capability + identity extraction ─────────────────────────────────────
|
|
95
|
+
function extractCapabilities(body) {
|
|
96
|
+
const lines = body.split(/\r?\n/);
|
|
97
|
+
const heading = /^##\s+Capabilities\s*$/;
|
|
98
|
+
const nextSection = /^##\s+\S/;
|
|
99
|
+
const bullet = /^[-*]\s+(.+)$/;
|
|
100
|
+
const out = [];
|
|
101
|
+
let inSection = false;
|
|
102
|
+
for (const line of lines) {
|
|
103
|
+
if (!inSection) {
|
|
104
|
+
if (heading.test(line))
|
|
105
|
+
inSection = true;
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (nextSection.test(line))
|
|
109
|
+
break;
|
|
110
|
+
const m = bullet.exec(line);
|
|
111
|
+
if (m)
|
|
112
|
+
out.push(m[1].trim());
|
|
113
|
+
}
|
|
114
|
+
return out;
|
|
115
|
+
}
|
|
116
|
+
function extractIdentity(body) {
|
|
117
|
+
for (const line of body.split(/\r?\n/)) {
|
|
118
|
+
if (line.trim().length > 0)
|
|
119
|
+
return line.trim();
|
|
120
|
+
}
|
|
121
|
+
return "";
|
|
122
|
+
}
|
|
123
|
+
// ── Internal generic load ────────────────────────────────────────────────
|
|
124
|
+
function loadFile(kind, subdir, name, opts) {
|
|
125
|
+
validateName(name, kind);
|
|
126
|
+
const projectRoot = resolveProjectRoot(opts);
|
|
127
|
+
const baseDir = path.join(projectRoot, ".forge", subdir);
|
|
128
|
+
const candidate = path.join(baseDir, `${name}.md`);
|
|
129
|
+
// Realpath the *directory* first — it must exist for confinement check.
|
|
130
|
+
let realDir;
|
|
131
|
+
try {
|
|
132
|
+
realDir = fs.realpathSync(baseDir);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
throw new PersonaSkillLoaderError("missing_file", `${kind} directory does not exist: ${baseDir}`);
|
|
136
|
+
}
|
|
137
|
+
let realFile;
|
|
138
|
+
try {
|
|
139
|
+
realFile = fs.realpathSync(candidate);
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
throw new PersonaSkillLoaderError("missing_file", `${kind} file not found: ${candidate}`);
|
|
143
|
+
}
|
|
144
|
+
assertWithinDir(realFile, realDir, kind);
|
|
145
|
+
let raw;
|
|
146
|
+
try {
|
|
147
|
+
raw = fs.readFileSync(realFile, "utf8");
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
const e = err;
|
|
151
|
+
throw new PersonaSkillLoaderError("missing_file", `Failed to read ${kind} file ${realFile}: ${e.message ?? "unknown"}`);
|
|
152
|
+
}
|
|
153
|
+
return { filePath: realFile, doc: parseFrontmatter(raw) };
|
|
154
|
+
}
|
|
155
|
+
// ── Public API ───────────────────────────────────────────────────────────
|
|
156
|
+
/**
|
|
157
|
+
* Load a Persona record from `<projectRoot>/.forge/personas/<name>.md`.
|
|
158
|
+
*
|
|
159
|
+
* `name` is the filename stem (e.g. `"engineer"` for `engineer.md`). It must
|
|
160
|
+
* not contain path separators or traversal segments — invalid names raise
|
|
161
|
+
* `PersonaSkillLoaderError` with `code: "path_traversal"`.
|
|
162
|
+
*/
|
|
163
|
+
export function loadPersona(name, opts) {
|
|
164
|
+
const { filePath, doc } = loadFile("persona", "personas", name, opts);
|
|
165
|
+
const persona = {
|
|
166
|
+
name,
|
|
167
|
+
filePath,
|
|
168
|
+
identity: extractIdentity(doc.body),
|
|
169
|
+
body: doc.body,
|
|
170
|
+
capabilities: extractCapabilities(doc.body),
|
|
171
|
+
frontmatter: doc.frontmatter,
|
|
172
|
+
};
|
|
173
|
+
if (!Value.Check(PersonaSchema, persona)) {
|
|
174
|
+
const errs = [...Value.Errors(PersonaSchema, persona)].map((e) => e.message);
|
|
175
|
+
throw new PersonaSkillLoaderError("validation_failed", `Persona ${name} failed schema validation: ${errs.join("; ")}`);
|
|
176
|
+
}
|
|
177
|
+
return persona;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Load a Skill record from `<projectRoot>/.forge/skills/<name>.md`.
|
|
181
|
+
*
|
|
182
|
+
* `name` is the filename stem. The Forge convention names skill files
|
|
183
|
+
* `<noun>-skills.md` (e.g. `engineer-skills.md`); callers pass the full stem
|
|
184
|
+
* including the `-skills` suffix. The loader does not auto-append it.
|
|
185
|
+
*/
|
|
186
|
+
export function loadSkill(name, opts) {
|
|
187
|
+
const { filePath, doc } = loadFile("skill", "skills", name, opts);
|
|
188
|
+
const skill = {
|
|
189
|
+
name,
|
|
190
|
+
filePath,
|
|
191
|
+
body: doc.body,
|
|
192
|
+
capabilities: extractCapabilities(doc.body),
|
|
193
|
+
frontmatter: doc.frontmatter,
|
|
194
|
+
};
|
|
195
|
+
if (!Value.Check(SkillSchema, skill)) {
|
|
196
|
+
const errs = [...Value.Errors(SkillSchema, skill)].map((e) => e.message);
|
|
197
|
+
throw new PersonaSkillLoaderError("validation_failed", `Skill ${name} failed schema validation: ${errs.join("; ")}`);
|
|
198
|
+
}
|
|
199
|
+
return skill;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=persona-skill-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona-skill-loader.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/parsers/persona-skill-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type Static, Type } from "typebox";
|
|
2
|
+
export declare const AUDIENCE_VALUES: readonly ["orchestrator-only", "subagent", "any"];
|
|
3
|
+
export type AudienceValue = (typeof AUDIENCE_VALUES)[number];
|
|
4
|
+
export declare const WorkflowFrontmatterSchema: Type.TObject<{
|
|
5
|
+
audience: Type.TOptional<Type.TUnion<[Type.TLiteral<"orchestrator-only">, Type.TLiteral<"subagent">, Type.TLiteral<"any">]>>;
|
|
6
|
+
deps: Type.TOptional<Type.TObject<{
|
|
7
|
+
personas: Type.TOptional<Type.TArray<Type.TString>>;
|
|
8
|
+
}>>;
|
|
9
|
+
}>;
|
|
10
|
+
export type WorkflowFrontmatter = Static<typeof WorkflowFrontmatterSchema>;
|
|
11
|
+
export interface LoadedWorkflow {
|
|
12
|
+
filePath: string;
|
|
13
|
+
rawMarkdown: string;
|
|
14
|
+
frontmatter: WorkflowFrontmatter;
|
|
15
|
+
/** Resolved audience; defaults to "any" when the key is absent. */
|
|
16
|
+
audience: AudienceValue;
|
|
17
|
+
}
|
|
18
|
+
export type WorkflowLoaderErrorCode = "missing_file" | "invalid_frontmatter" | "validation_failed";
|
|
19
|
+
export declare class WorkflowLoaderError extends Error {
|
|
20
|
+
readonly code: WorkflowLoaderErrorCode;
|
|
21
|
+
constructor(code: WorkflowLoaderErrorCode, message: string);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parse the YAML-like frontmatter of a workflow markdown file.
|
|
25
|
+
*
|
|
26
|
+
* Returns `{}` if the file does not start with `---`.
|
|
27
|
+
* Throws `WorkflowLoaderError("invalid_frontmatter", ...)` on malformed YAML.
|
|
28
|
+
*/
|
|
29
|
+
export declare function parseWorkflowFrontmatter(rawMarkdown: string): WorkflowFrontmatter;
|
|
30
|
+
/**
|
|
31
|
+
* Extract the audience value from a parsed WorkflowFrontmatter.
|
|
32
|
+
* Returns "any" when the key is absent or has an unrecognised value.
|
|
33
|
+
*/
|
|
34
|
+
export declare function extractAudience(frontmatter: WorkflowFrontmatter): AudienceValue;
|
|
35
|
+
/**
|
|
36
|
+
* Load and parse a materialized workflow markdown file.
|
|
37
|
+
*
|
|
38
|
+
* Throws `WorkflowLoaderError("missing_file", ...)` if the file is absent or unreadable.
|
|
39
|
+
* Throws `WorkflowLoaderError("invalid_frontmatter", ...)` if frontmatter is malformed.
|
|
40
|
+
*/
|
|
41
|
+
export declare function loadWorkflow(workflowPath: string): LoadedWorkflow;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// workflow-loader.ts — Parses a materialized workflow markdown file.
|
|
2
|
+
// Exports WorkflowFrontmatter (TypeBox), loadWorkflow(), extractAudience(),
|
|
3
|
+
// and parseWorkflowFrontmatter() (FORGE-S21-T01).
|
|
4
|
+
//
|
|
5
|
+
// Iron Laws:
|
|
6
|
+
// IL1 — code only under forge-cli/src/extensions/forgecli/.
|
|
7
|
+
// IL6 — no shell-string interpolation; all I/O via fs synchronous APIs.
|
|
8
|
+
// IL7 — no silent continuation; malformed state throws typed errors.
|
|
9
|
+
import * as fs from "node:fs";
|
|
10
|
+
import { Type } from "typebox";
|
|
11
|
+
import { parseFrontmatterBlock, FrontmatterParseError } from "../lib/parsers.js";
|
|
12
|
+
// ── Types ─────────────────────────────────────────────────────────────────
|
|
13
|
+
export const AUDIENCE_VALUES = ["orchestrator-only", "subagent", "any"];
|
|
14
|
+
export const WorkflowFrontmatterSchema = Type.Object({
|
|
15
|
+
audience: Type.Optional(Type.Union([
|
|
16
|
+
Type.Literal("orchestrator-only"),
|
|
17
|
+
Type.Literal("subagent"),
|
|
18
|
+
Type.Literal("any"),
|
|
19
|
+
])),
|
|
20
|
+
deps: Type.Optional(Type.Object({
|
|
21
|
+
personas: Type.Optional(Type.Array(Type.String())),
|
|
22
|
+
}, { additionalProperties: true })),
|
|
23
|
+
}, { additionalProperties: true });
|
|
24
|
+
export class WorkflowLoaderError extends Error {
|
|
25
|
+
code;
|
|
26
|
+
constructor(code, message) {
|
|
27
|
+
super(message);
|
|
28
|
+
this.name = "WorkflowLoaderError";
|
|
29
|
+
this.code = code;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// ── Frontmatter parser (delegates to lib/parsers.ts) ─────────────────────
|
|
33
|
+
/**
|
|
34
|
+
* Parse the YAML-like frontmatter of a workflow markdown file.
|
|
35
|
+
*
|
|
36
|
+
* Returns `{}` if the file does not start with `---`.
|
|
37
|
+
* Throws `WorkflowLoaderError("invalid_frontmatter", ...)` on malformed YAML.
|
|
38
|
+
*/
|
|
39
|
+
export function parseWorkflowFrontmatter(rawMarkdown) {
|
|
40
|
+
try {
|
|
41
|
+
const { frontmatter } = parseFrontmatterBlock(rawMarkdown, { allowNesting: true });
|
|
42
|
+
return frontmatter;
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
if (err instanceof FrontmatterParseError) {
|
|
46
|
+
throw new WorkflowLoaderError("invalid_frontmatter", err.message);
|
|
47
|
+
}
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// ── Audience extraction ───────────────────────────────────────────────────
|
|
52
|
+
/**
|
|
53
|
+
* Extract the audience value from a parsed WorkflowFrontmatter.
|
|
54
|
+
* Returns "any" when the key is absent or has an unrecognised value.
|
|
55
|
+
*/
|
|
56
|
+
export function extractAudience(frontmatter) {
|
|
57
|
+
const raw = frontmatter.audience;
|
|
58
|
+
if (!raw)
|
|
59
|
+
return "any";
|
|
60
|
+
if (AUDIENCE_VALUES.includes(raw))
|
|
61
|
+
return raw;
|
|
62
|
+
return "any";
|
|
63
|
+
}
|
|
64
|
+
// ── loadWorkflow ──────────────────────────────────────────────────────────
|
|
65
|
+
/**
|
|
66
|
+
* Load and parse a materialized workflow markdown file.
|
|
67
|
+
*
|
|
68
|
+
* Throws `WorkflowLoaderError("missing_file", ...)` if the file is absent or unreadable.
|
|
69
|
+
* Throws `WorkflowLoaderError("invalid_frontmatter", ...)` if frontmatter is malformed.
|
|
70
|
+
*/
|
|
71
|
+
export function loadWorkflow(workflowPath) {
|
|
72
|
+
if (!fs.existsSync(workflowPath)) {
|
|
73
|
+
throw new WorkflowLoaderError("missing_file", `Workflow not found: ${workflowPath}`);
|
|
74
|
+
}
|
|
75
|
+
let rawMarkdown;
|
|
76
|
+
try {
|
|
77
|
+
rawMarkdown = fs.readFileSync(workflowPath, "utf8");
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
const e = err;
|
|
81
|
+
throw new WorkflowLoaderError("missing_file", `Failed to read workflow ${workflowPath}: ${e.message ?? "unknown"}`);
|
|
82
|
+
}
|
|
83
|
+
const frontmatter = parseWorkflowFrontmatter(rawMarkdown);
|
|
84
|
+
const audience = extractAudience(frontmatter);
|
|
85
|
+
return { filePath: workflowPath, rawMarkdown, frontmatter, audience };
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=workflow-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-loader.js","sourceRoot":"","sources":["../../../../src/extensions/forgecli/parsers/workflow-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { extractPersonaNames } from "./lib/frontmatter-parser.js";
|
|
3
|
+
export { extractPersonaNames };
|
|
4
|
+
import { type MaterializationCheck, checkMaterialization } from "./lib/manifest-checker.js";
|
|
5
|
+
export { type MaterializationCheck, checkMaterialization };
|
|
2
6
|
export type ArgMode = "empty" | "file" | "text";
|
|
3
7
|
export interface ParsedArgs {
|
|
4
8
|
mode: ArgMode;
|
|
@@ -6,12 +10,6 @@ export interface ParsedArgs {
|
|
|
6
10
|
sourceLabel: string;
|
|
7
11
|
}
|
|
8
12
|
export declare function parsePlanArgs(rawArgs: string, cwd: string): ParsedArgs;
|
|
9
|
-
export declare function extractPersonaNames(workflowMd: string): string[];
|
|
10
|
-
export interface MaterializationCheck {
|
|
11
|
-
ok: boolean;
|
|
12
|
-
missing: string[];
|
|
13
|
-
}
|
|
14
|
-
export declare function checkMaterialization(workflowPath: string, workflowMd: string): MaterializationCheck;
|
|
15
13
|
export interface ComposeKickoffOpts {
|
|
16
14
|
workflowMd: string;
|
|
17
15
|
personaIdentity: string;
|
|
@@ -31,8 +31,15 @@ import * as fs from "node:fs";
|
|
|
31
31
|
import * as path from "node:path";
|
|
32
32
|
import { assertAudience } from "./audience-gate.js";
|
|
33
33
|
import { sendKickoff } from "./kickoff.js";
|
|
34
|
-
import { loadPersona, PersonaSkillLoaderError } from "./
|
|
35
|
-
import { loadWorkflow, WorkflowLoaderError } from "./
|
|
34
|
+
import { loadPersona, PersonaSkillLoaderError } from "./parsers/persona-skill-loader.js";
|
|
35
|
+
import { loadWorkflow, WorkflowLoaderError } from "./parsers/workflow-loader.js";
|
|
36
|
+
// FORGE-S25-T16: extracted to lib modules. Re-exported here for backward compat
|
|
37
|
+
// (plan.test.ts, bundled-base-pack-markers.test.ts, run-task.ts, run-sprint.ts,
|
|
38
|
+
// fix-bug.ts all import checkMaterialization / extractPersonaNames from plan.js).
|
|
39
|
+
import { extractPersonaNames } from "./lib/frontmatter-parser.js";
|
|
40
|
+
export { extractPersonaNames };
|
|
41
|
+
import { checkMaterialization } from "./lib/manifest-checker.js";
|
|
42
|
+
export { checkMaterialization };
|
|
36
43
|
export function parsePlanArgs(rawArgs, cwd) {
|
|
37
44
|
const trimmed = (rawArgs ?? "").trim();
|
|
38
45
|
if (trimmed === "") {
|
|
@@ -46,77 +53,6 @@ export function parsePlanArgs(rawArgs, cwd) {
|
|
|
46
53
|
}
|
|
47
54
|
return { mode: "text", taskRef: trimmed, sourceLabel: "(seed from inline text)" };
|
|
48
55
|
}
|
|
49
|
-
// Frontmatter persona extraction (permissive) ------------------------------
|
|
50
|
-
export function extractPersonaNames(workflowMd) {
|
|
51
|
-
const lines = workflowMd.split(/\r?\n/);
|
|
52
|
-
if (lines.length === 0 || lines[0] !== "---")
|
|
53
|
-
return [];
|
|
54
|
-
let inside = false;
|
|
55
|
-
let depsBlock = false;
|
|
56
|
-
for (let i = 0; i < lines.length; i++) {
|
|
57
|
-
const line = lines[i];
|
|
58
|
-
if (i === 0 && line === "---") {
|
|
59
|
-
inside = true;
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (!inside)
|
|
63
|
-
break;
|
|
64
|
-
if (line === "---")
|
|
65
|
-
break;
|
|
66
|
-
if (/^deps\s*:\s*$/.test(line)) {
|
|
67
|
-
depsBlock = true;
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
const m = /^\s*personas\s*:\s*\[([^\]]*)\]\s*$/.exec(line);
|
|
71
|
-
if (m && (depsBlock || /^\s/.test(line))) {
|
|
72
|
-
return m[1]
|
|
73
|
-
.split(",")
|
|
74
|
-
.map((s) => s.trim().replace(/^["']|["']$/g, ""))
|
|
75
|
-
.filter((s) => s.length > 0);
|
|
76
|
-
}
|
|
77
|
-
if (depsBlock && /^[A-Za-z0-9_-]+\s*:/.test(line) && !/^\s/.test(line)) {
|
|
78
|
-
depsBlock = false;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return [];
|
|
82
|
-
}
|
|
83
|
-
export function checkMaterialization(workflowPath, workflowMd) {
|
|
84
|
-
const missing = [];
|
|
85
|
-
if (!workflowMd.includes("Store-Write Verification")) {
|
|
86
|
-
missing.push("Store-Write Verification");
|
|
87
|
-
}
|
|
88
|
-
if (!workflowMd.includes("Iron Laws")) {
|
|
89
|
-
missing.push("Iron Laws");
|
|
90
|
-
}
|
|
91
|
-
if (!workflowMd.includes("forge_store")) {
|
|
92
|
-
missing.push("forge_store");
|
|
93
|
-
}
|
|
94
|
-
const personas = extractPersonaNames(workflowMd);
|
|
95
|
-
if (personas.length === 0) {
|
|
96
|
-
missing.push("deps.personas: declaration");
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
const bodyStart = (() => {
|
|
100
|
-
if (!workflowMd.startsWith("---\n") && !workflowMd.startsWith("---\r\n"))
|
|
101
|
-
return 0;
|
|
102
|
-
const re = /\r?\n---\r?\n/;
|
|
103
|
-
const m = re.exec(workflowMd);
|
|
104
|
-
return m ? m.index + m[0].length : 0;
|
|
105
|
-
})();
|
|
106
|
-
const body = workflowMd.slice(bodyStart);
|
|
107
|
-
const anyHit = personas.some((name) => {
|
|
108
|
-
if (!name)
|
|
109
|
-
return false;
|
|
110
|
-
const tokenRegex = new RegExp(`\\b${name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\b`);
|
|
111
|
-
return body.includes(`${name}.md`) || tokenRegex.test(body);
|
|
112
|
-
});
|
|
113
|
-
if (!anyHit) {
|
|
114
|
-
missing.push(`persona file path (${personas.join(", ")})`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
void workflowPath;
|
|
118
|
-
return { ok: missing.length === 0, missing };
|
|
119
|
-
}
|
|
120
56
|
export function composeKickoff(opts) {
|
|
121
57
|
const { workflowMd, personaIdentity, parsed } = opts;
|
|
122
58
|
const sections = ["# /forge:plan", ""];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/plan.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,2DAA2D;AAC3D,2EAA2E;AAC3E,qEAAqE;AACrE,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,cAAc;AACd,qEAAqE;AACrE,0EAA0E;AAC1E,4BAA4B;AAC5B,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,mDAAmD;AACnD,8DAA8D;AAC9D,6DAA6D;AAC7D,EAAE;AACF,kEAAkE;AAClE,0EAA0E;AAC1E,kCAAkC;AAClC,EAAE;AACF,aAAa;AACb,8DAA8D;AAC9D,oDAAoD;AACpD,8DAA8D;AAC9D,wEAAwE;AACxE,wBAAwB;AAExB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { extractPersonaNames } from "./lib/frontmatter-parser.js";
|
|
3
|
+
export { extractPersonaNames };
|
|
2
4
|
export type ArgMode = "empty" | "file" | "text";
|
|
3
5
|
export interface ParsedArgs {
|
|
4
6
|
mode: ArgMode;
|
|
@@ -6,7 +8,6 @@ export interface ParsedArgs {
|
|
|
6
8
|
sourceLabel: string;
|
|
7
9
|
}
|
|
8
10
|
export declare function parseRetroArgs(rawArgs: string, cwd: string): ParsedArgs;
|
|
9
|
-
export declare function extractPersonaNames(workflowMd: string): string[];
|
|
10
11
|
export interface ComposeKickoffOpts {
|
|
11
12
|
workflowMd: string;
|
|
12
13
|
personaIdentity: string;
|
|
@@ -19,8 +19,12 @@ import * as fs from "node:fs";
|
|
|
19
19
|
import * as path from "node:path";
|
|
20
20
|
import { assertAudience } from "./audience-gate.js";
|
|
21
21
|
import { sendKickoff } from "./kickoff.js";
|
|
22
|
-
import { loadPersona, PersonaSkillLoaderError } from "./
|
|
23
|
-
import { loadWorkflow, WorkflowLoaderError } from "./
|
|
22
|
+
import { loadPersona, PersonaSkillLoaderError } from "./parsers/persona-skill-loader.js";
|
|
23
|
+
import { loadWorkflow, WorkflowLoaderError } from "./parsers/workflow-loader.js";
|
|
24
|
+
// FORGE-S25-T16: extracted to lib module (H-1). Re-exported here for
|
|
25
|
+
// backward compatibility with existing test and consumer imports.
|
|
26
|
+
import { extractPersonaNames } from "./lib/frontmatter-parser.js";
|
|
27
|
+
export { extractPersonaNames };
|
|
24
28
|
export function parseRetroArgs(rawArgs, cwd) {
|
|
25
29
|
const trimmed = (rawArgs ?? "").trim();
|
|
26
30
|
if (trimmed === "") {
|
|
@@ -34,40 +38,6 @@ export function parseRetroArgs(rawArgs, cwd) {
|
|
|
34
38
|
}
|
|
35
39
|
return { mode: "text", sprintRef: trimmed, sourceLabel: "(seed from inline text)" };
|
|
36
40
|
}
|
|
37
|
-
// Frontmatter persona extraction (permissive) ------------------------------
|
|
38
|
-
export function extractPersonaNames(workflowMd) {
|
|
39
|
-
const lines = workflowMd.split(/\r?\n/);
|
|
40
|
-
if (lines.length === 0 || lines[0] !== "---")
|
|
41
|
-
return [];
|
|
42
|
-
let inside = false;
|
|
43
|
-
let depsBlock = false;
|
|
44
|
-
for (let i = 0; i < lines.length; i++) {
|
|
45
|
-
const line = lines[i];
|
|
46
|
-
if (i === 0 && line === "---") {
|
|
47
|
-
inside = true;
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
if (!inside)
|
|
51
|
-
break;
|
|
52
|
-
if (line === "---")
|
|
53
|
-
break;
|
|
54
|
-
if (/^deps\s*:\s*$/.test(line)) {
|
|
55
|
-
depsBlock = true;
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
const m = /^\s*personas\s*:\s*\[([^\]]*)\]\s*$/.exec(line);
|
|
59
|
-
if (m && (depsBlock || /^\s/.test(line))) {
|
|
60
|
-
return m[1]
|
|
61
|
-
.split(",")
|
|
62
|
-
.map((s) => s.trim().replace(/^["']|["']$/g, ""))
|
|
63
|
-
.filter((s) => s.length > 0);
|
|
64
|
-
}
|
|
65
|
-
if (depsBlock && /^[A-Za-z0-9_-]+\s*:/.test(line) && !/^\s/.test(line)) {
|
|
66
|
-
depsBlock = false;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return [];
|
|
70
|
-
}
|
|
71
41
|
export function composeKickoff(opts) {
|
|
72
42
|
const { workflowMd, personaIdentity, parsed } = opts;
|
|
73
43
|
const sections = ["# /forge:retrospective", ""];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrospective.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/retrospective.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,2DAA2D;AAC3D,uEAAuE;AACvE,uEAAuE;AACvE,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAC1E,iEAAiE;AACjE,kDAAkD;AAClD,EAAE;AACF,aAAa;AACb,8DAA8D;AAC9D,oDAAoD;AACpD,8DAA8D;AAC9D,wEAAwE;AACxE,wBAAwB;AAExB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"retrospective.js","sourceRoot":"","sources":["../../../src/extensions/forgecli/retrospective.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { extractPersonaNames } from "./lib/frontmatter-parser.js";
|
|
3
|
+
export { extractPersonaNames };
|
|
4
|
+
import { type MaterializationCheck, checkMaterialization } from "./lib/manifest-checker.js";
|
|
5
|
+
export { type MaterializationCheck, checkMaterialization };
|
|
2
6
|
export type ArgMode = "empty" | "file" | "text";
|
|
3
7
|
export interface ParsedArgs {
|
|
4
8
|
mode: ArgMode;
|
|
@@ -6,12 +10,6 @@ export interface ParsedArgs {
|
|
|
6
10
|
sourceLabel: string;
|
|
7
11
|
}
|
|
8
12
|
export declare function parseReviewCodeArgs(rawArgs: string, cwd: string): ParsedArgs;
|
|
9
|
-
export declare function extractPersonaNames(workflowMd: string): string[];
|
|
10
|
-
export interface MaterializationCheck {
|
|
11
|
-
ok: boolean;
|
|
12
|
-
missing: string[];
|
|
13
|
-
}
|
|
14
|
-
export declare function checkMaterialization(workflowPath: string, workflowMd: string): MaterializationCheck;
|
|
15
13
|
export interface ComposeKickoffOpts {
|
|
16
14
|
workflowMd: string;
|
|
17
15
|
personaIdentity: string;
|