@pugi/cli 0.1.0-beta.98 → 1.0.0-alpha.1
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/LICENSE +1 -1
- package/README.md +11 -191
- package/bin/pugi +8 -0
- package/package.json +15 -71
- package/postinstall.mjs +31 -0
- package/CHANGELOG.md +0 -132
- package/THIRD_PARTY_NOTICES.md +0 -40
- package/assets/pugi-mascot.ansi +0 -16
- package/assets/pugi-prozr2-mascot.ansi +0 -9
- package/bin/run.js +0 -34
- package/dist/commands/deploy.js +0 -439
- package/dist/commands/flatten.js +0 -191
- package/dist/commands/jobs-watch.js +0 -201
- package/dist/commands/jobs.js +0 -260
- package/dist/commands/retro.js +0 -210
- package/dist/commands/smoke.js +0 -133
- package/dist/core/agent-progress/cleanup.js +0 -134
- package/dist/core/agent-progress/schema.js +0 -144
- package/dist/core/agent-progress/writer.js +0 -101
- package/dist/core/agents/adaptive-router.js +0 -330
- package/dist/core/agents/loader.js +0 -104
- package/dist/core/agents/query-decomposer.js +0 -297
- package/dist/core/agents/registry.js +0 -69
- package/dist/core/approvals/shortcut-resolver.js +0 -98
- package/dist/core/artifact-chain/dispatcher.js +0 -148
- package/dist/core/artifact-chain/exporter.js +0 -164
- package/dist/core/artifact-chain/state.js +0 -243
- package/dist/core/artifact-chain/steps.js +0 -169
- package/dist/core/ask-user/question.js +0 -92
- package/dist/core/audit/audit-trail.js +0 -275
- package/dist/core/auth/ensure-authenticated.js +0 -129
- package/dist/core/auth/env-provider.js +0 -238
- package/dist/core/auto-open-browser.js +0 -128
- package/dist/core/auto-update/channels.js +0 -122
- package/dist/core/auto-update/checker.js +0 -241
- package/dist/core/auto-update/state.js +0 -235
- package/dist/core/bare-mode/index.js +0 -107
- package/dist/core/bash/redirect.js +0 -281
- package/dist/core/bash-classifier.js +0 -1397
- package/dist/core/checkpoint/resumer.js +0 -149
- package/dist/core/checkpoint/rewinder.js +0 -291
- package/dist/core/checkpoints/shadow-git.js +0 -670
- package/dist/core/citations/parser.js +0 -109
- package/dist/core/classifier/yolo-classifier.js +0 -88
- package/dist/core/clipboard.js +0 -70
- package/dist/core/codegraph/decision-store.js +0 -248
- package/dist/core/codegraph/detect-repo.js +0 -459
- package/dist/core/codegraph/install.js +0 -134
- package/dist/core/codegraph/offer-hook.js +0 -220
- package/dist/core/compact/auto-trigger.js +0 -96
- package/dist/core/compact/buffer-rewriter.js +0 -115
- package/dist/core/compact/summarizer.js +0 -208
- package/dist/core/compact/token-counter.js +0 -108
- package/dist/core/consensus/anvil-fanout.js +0 -276
- package/dist/core/consensus/diff-capture.js +0 -491
- package/dist/core/consensus/rubric.js +0 -233
- package/dist/core/context/builder.js +0 -114
- package/dist/core/context/compaction-events.js +0 -99
- package/dist/core/context/compaction.js +0 -602
- package/dist/core/context/index.js +0 -28
- package/dist/core/context/invariants.js +0 -250
- package/dist/core/context/markdown-loader.js +0 -288
- package/dist/core/context/markdown-traverse.js +0 -255
- package/dist/core/context/pugiignore.js +0 -316
- package/dist/core/context/repo-skeleton.js +0 -533
- package/dist/core/context/tool-eviction.js +0 -55
- package/dist/core/context/watcher.js +0 -342
- package/dist/core/context/working-set.js +0 -165
- package/dist/core/coordinator/agent-tools.js +0 -77
- package/dist/core/coordinator/agent-toolset.js +0 -65
- package/dist/core/coordinator/fsm.js +0 -73
- package/dist/core/coordinator/mode-fsm.js +0 -70
- package/dist/core/cost/rate-card.js +0 -129
- package/dist/core/cost/tracker.js +0 -221
- package/dist/core/credentials.js +0 -355
- package/dist/core/cron/scheduler.js +0 -138
- package/dist/core/denial-tracking/index.js +0 -8
- package/dist/core/denial-tracking/state.js +0 -264
- package/dist/core/diagnostics/probe-runner.js +0 -93
- package/dist/core/diagnostics/probes/api.js +0 -46
- package/dist/core/diagnostics/probes/auth.js +0 -93
- package/dist/core/diagnostics/probes/bare-mode.js +0 -42
- package/dist/core/diagnostics/probes/cli-version.js +0 -127
- package/dist/core/diagnostics/probes/config.js +0 -72
- package/dist/core/diagnostics/probes/denial-tracking.js +0 -57
- package/dist/core/diagnostics/probes/disk.js +0 -81
- package/dist/core/diagnostics/probes/engine-live.js +0 -46
- package/dist/core/diagnostics/probes/git.js +0 -65
- package/dist/core/diagnostics/probes/hooks.js +0 -118
- package/dist/core/diagnostics/probes/mcp.js +0 -75
- package/dist/core/diagnostics/probes/node.js +0 -59
- package/dist/core/diagnostics/probes/pnpm.js +0 -36
- package/dist/core/diagnostics/probes/pugi-md.js +0 -89
- package/dist/core/diagnostics/probes/sandbox.js +0 -72
- package/dist/core/diagnostics/probes/session.js +0 -74
- package/dist/core/diagnostics/probes/status-snapshot.js +0 -488
- package/dist/core/diagnostics/probes/workspace.js +0 -63
- package/dist/core/diagnostics/types.js +0 -70
- package/dist/core/dispatch/cache-cleanup.js +0 -197
- package/dist/core/dispatch/cache-handoff.js +0 -295
- package/dist/core/edits/apply-patch-layer-e.js +0 -189
- package/dist/core/edits/dispatch.js +0 -511
- package/dist/core/edits/format-detector.js +0 -260
- package/dist/core/edits/format-matrix.js +0 -26
- package/dist/core/edits/fuzzy-ladder.js +0 -650
- package/dist/core/edits/index.js +0 -19
- package/dist/core/edits/journal.js +0 -199
- package/dist/core/edits/layer-a-apply.js +0 -217
- package/dist/core/edits/layer-a-fuzzy-apply.js +0 -198
- package/dist/core/edits/layer-b-apply.js +0 -211
- package/dist/core/edits/layer-c-apply.js +0 -160
- package/dist/core/edits/layer-d-ast.js +0 -572
- package/dist/core/edits/marker-parser.js +0 -401
- package/dist/core/edits/security-gate.js +0 -223
- package/dist/core/edits/verify-hook.js +0 -273
- package/dist/core/edits/worktree.js +0 -322
- package/dist/core/engine/adapter-runner.js +0 -8
- package/dist/core/engine/anvil-client.js +0 -344
- package/dist/core/engine/auto-compact.js +0 -179
- package/dist/core/engine/budgets.js +0 -192
- package/dist/core/engine/context-prefix.js +0 -155
- package/dist/core/engine/index.js +0 -12
- package/dist/core/engine/intensity.js +0 -163
- package/dist/core/engine/intent.js +0 -260
- package/dist/core/engine/native-pugi.js +0 -1616
- package/dist/core/engine/noop.js +0 -27
- package/dist/core/engine/prompts.js +0 -236
- package/dist/core/engine/strip-internal-fields.js +0 -124
- package/dist/core/engine/tool-bridge.js +0 -2173
- package/dist/core/engine/verification-patterns.js +0 -195
- package/dist/core/evaluation/golden-dataset.js +0 -293
- package/dist/core/feedback/queue.js +0 -177
- package/dist/core/feedback/submitter.js +0 -145
- package/dist/core/file-cache.js +0 -141
- package/dist/core/flatten/flatten-repo.js +0 -439
- package/dist/core/format/osc8-link.js +0 -28
- package/dist/core/hook-chains.js +0 -392
- package/dist/core/hooks/citation-verify-hook.js +0 -138
- package/dist/core/hooks/citation-verify.js +0 -112
- package/dist/core/hooks/events.js +0 -46
- package/dist/core/hooks/index.js +0 -15
- package/dist/core/hooks/registry.js +0 -216
- package/dist/core/hooks/runner.js +0 -236
- package/dist/core/hooks/v2/event-emitter.js +0 -115
- package/dist/core/hooks/v2/executor.js +0 -282
- package/dist/core/hooks/v2/index.js +0 -25
- package/dist/core/hooks/v2/lifecycle.js +0 -104
- package/dist/core/hooks/v2/loader.js +0 -216
- package/dist/core/hooks/v2/matcher.js +0 -125
- package/dist/core/hooks/v2/trust.js +0 -143
- package/dist/core/hooks/v2/types.js +0 -86
- package/dist/core/hooks/worktree-events.js +0 -158
- package/dist/core/hooks.js +0 -415
- package/dist/core/image/renderer.js +0 -71
- package/dist/core/index-store.js +0 -260
- package/dist/core/init/detector.js +0 -582
- package/dist/core/init/template-renderer.js +0 -242
- package/dist/core/jobs/registry.js +0 -462
- package/dist/core/ledger/results-tsv.js +0 -142
- package/dist/core/log-discipline/stdout-redirect.js +0 -51
- package/dist/core/lsp/cache.js +0 -105
- package/dist/core/lsp/client.js +0 -1229
- package/dist/core/lsp/language-detect.js +0 -66
- package/dist/core/lsp/post-edit-diagnostics.js +0 -171
- package/dist/core/lsp/server-detect.js +0 -173
- package/dist/core/lsp/symbol-cache.js +0 -162
- package/dist/core/lsp/symbol-tools.js +0 -664
- package/dist/core/mcp/client.js +0 -385
- package/dist/core/mcp/http-server.js +0 -553
- package/dist/core/mcp/orchestrator-config.js +0 -192
- package/dist/core/mcp/orchestrator-tools.js +0 -806
- package/dist/core/mcp/permission.js +0 -190
- package/dist/core/mcp/registry.js +0 -193
- package/dist/core/mcp/server-tools.js +0 -219
- package/dist/core/mcp/server.js +0 -397
- package/dist/core/mcp/trust.js +0 -91
- package/dist/core/memory/dual-write.js +0 -416
- package/dist/core/memory/passive-extract.js +0 -130
- package/dist/core/memory/phase1-kinds.js +0 -20
- package/dist/core/memory/secret-scanner.js +0 -304
- package/dist/core/memory-sync/queue.js +0 -170
- package/dist/core/metrics/extract.js +0 -113
- package/dist/core/modes/roo-modes.js +0 -68
- package/dist/core/onboarding/ensure-initialized.js +0 -133
- package/dist/core/onboarding/marker.js +0 -111
- package/dist/core/onboarding/telemetry-state.js +0 -108
- package/dist/core/output-style/presets.js +0 -176
- package/dist/core/output-style/state.js +0 -185
- package/dist/core/path-security.js +0 -345
- package/dist/core/permission.js +0 -369
- package/dist/core/permissions/auto-classifier.js +0 -124
- package/dist/core/permissions/bash-parser.js +0 -371
- package/dist/core/permissions/circuit-breaker.js +0 -83
- package/dist/core/permissions/constrained-edit.js +0 -91
- package/dist/core/permissions/gate.js +0 -278
- package/dist/core/permissions/index.js +0 -20
- package/dist/core/permissions/mode.js +0 -174
- package/dist/core/permissions/network-egress.js +0 -137
- package/dist/core/permissions/state.js +0 -241
- package/dist/core/permissions/tool-class.js +0 -107
- package/dist/core/plan-mode/ui-state.js +0 -51
- package/dist/core/plans/plan-artifact.js +0 -721
- package/dist/core/policy-limits/etag-store.js +0 -122
- package/dist/core/prd-check/parser.js +0 -215
- package/dist/core/prd-check/reporter.js +0 -127
- package/dist/core/prd-check/session-review.js +0 -557
- package/dist/core/prd-check/verifiers.js +0 -223
- package/dist/core/prompt-cache/client-cache.js +0 -99
- package/dist/core/prompts/assembly.js +0 -29
- package/dist/core/prompts/registry.js +0 -364
- package/dist/core/pugi-gitignore.js +0 -52
- package/dist/core/pugi-md/cc-compat-rules.js +0 -735
- package/dist/core/pugi-md/context-injector.js +0 -76
- package/dist/core/pugi-md/walk-up.js +0 -207
- package/dist/core/python/uv-installer.js +0 -270
- package/dist/core/python/uv-resolver.js +0 -83
- package/dist/core/rate-limit/narrator.js +0 -146
- package/dist/core/recipes/cli-types.js +0 -20
- package/dist/core/recipes/loader.js +0 -103
- package/dist/core/recipes/runner.js +0 -345
- package/dist/core/recipes/schema.js +0 -587
- package/dist/core/release-notes/parser.js +0 -241
- package/dist/core/release-notes/state.js +0 -116
- package/dist/core/repl/ask.js +0 -512
- package/dist/core/repl/cancellation.js +0 -98
- package/dist/core/repl/cap-warning.js +0 -91
- package/dist/core/repl/clipboard-read.js +0 -174
- package/dist/core/repl/dispatch-fsm.js +0 -220
- package/dist/core/repl/engine-bridge.js +0 -303
- package/dist/core/repl/history-search.js +0 -175
- package/dist/core/repl/history.js +0 -182
- package/dist/core/repl/kill-ring.js +0 -138
- package/dist/core/repl/model-pricing.js +0 -135
- package/dist/core/repl/privacy-banner.js +0 -71
- package/dist/core/repl/session.js +0 -4962
- package/dist/core/repl/slash-commands.js +0 -747
- package/dist/core/repl/store/index.js +0 -12
- package/dist/core/repl/store/jsonl-log.js +0 -321
- package/dist/core/repl/store/lockfile.js +0 -155
- package/dist/core/repl/store/session-store.js +0 -821
- package/dist/core/repl/store/types.js +0 -44
- package/dist/core/repl/store/uuid-v7.js +0 -68
- package/dist/core/repl/tool-route.js +0 -382
- package/dist/core/repl/workspace-context.js +0 -206
- package/dist/core/repo-map/build.js +0 -125
- package/dist/core/repo-map/cache.js +0 -185
- package/dist/core/repo-map/extractor.js +0 -254
- package/dist/core/repo-map/formatter.js +0 -145
- package/dist/core/repo-map/page-rank.js +0 -105
- package/dist/core/repo-map/scanner.js +0 -211
- package/dist/core/retro/git-collector.js +0 -251
- package/dist/core/retro/health-card.js +0 -25
- package/dist/core/retro/metrics.js +0 -342
- package/dist/core/retro/narrative.js +0 -249
- package/dist/core/retro/plane-collector.js +0 -274
- package/dist/core/retro/pr-issue-link.js +0 -65
- package/dist/core/retro/types.js +0 -16
- package/dist/core/retry-budget/budget.js +0 -284
- package/dist/core/retry-budget/index.js +0 -5
- package/dist/core/retry-budget/retry-cap.js +0 -74
- package/dist/core/routing/lead-worker.js +0 -43
- package/dist/core/routing/pre-flight-estimator.js +0 -108
- package/dist/core/runs/run-tree.js +0 -103
- package/dist/core/sandboxing/adapter.js +0 -29
- package/dist/core/sandboxing/index.js +0 -49
- package/dist/core/sandboxing/none.js +0 -19
- package/dist/core/sandboxing/seatbelt.js +0 -183
- package/dist/core/security/injection-scanner.js +0 -367
- package/dist/core/security/output-filter.js +0 -418
- package/dist/core/session/env-file.js +0 -105
- package/dist/core/session/section-budgets.js +0 -140
- package/dist/core/session.js +0 -377
- package/dist/core/settings.js +0 -400
- package/dist/core/share/formatter.js +0 -271
- package/dist/core/share/redactor.js +0 -221
- package/dist/core/share/uploader.js +0 -267
- package/dist/core/skills/defaults.js +0 -457
- package/dist/core/skills/loader.js +0 -454
- package/dist/core/skills/sources.js +0 -480
- package/dist/core/skills/trust.js +0 -172
- package/dist/core/smoke/headless-driver.js +0 -174
- package/dist/core/smoke/orchestrator.js +0 -194
- package/dist/core/smoke/runner.js +0 -238
- package/dist/core/smoke/scenario-parser.js +0 -316
- package/dist/core/statusline.js +0 -99
- package/dist/core/subagents/dispatcher-real.js +0 -600
- package/dist/core/subagents/dispatcher.js +0 -352
- package/dist/core/subagents/index.js +0 -39
- package/dist/core/subagents/isolation-matrix.js +0 -213
- package/dist/core/subagents/spawn.js +0 -101
- package/dist/core/telemetry/emitter.js +0 -229
- package/dist/core/telemetry/queue.js +0 -251
- package/dist/core/theme/context.js +0 -91
- package/dist/core/theme/presets.js +0 -228
- package/dist/core/theme/state.js +0 -181
- package/dist/core/todos/invariant.js +0 -10
- package/dist/core/todos/state.js +0 -177
- package/dist/core/tool-schema/compressor.js +0 -89
- package/dist/core/transport/version-interceptor.js +0 -166
- package/dist/core/trust.js +0 -109
- package/dist/core/tui/thinking-block.js +0 -64
- package/dist/core/vim/keymap.js +0 -288
- package/dist/core/vim/state.js +0 -92
- package/dist/core/watch-markers/marker-watcher.js +0 -133
- package/dist/core/worktree/include-parser.js +0 -249
- package/dist/core/worktree-manager/cleanup.js +0 -123
- package/dist/core/worktree-manager/manager.js +0 -303
- package/dist/index.js +0 -44
- package/dist/runtime/bootstrap.js +0 -190
- package/dist/runtime/cli.js +0 -8121
- package/dist/runtime/commands/agents.js +0 -385
- package/dist/runtime/commands/budget.js +0 -192
- package/dist/runtime/commands/cancel.js +0 -231
- package/dist/runtime/commands/chain.js +0 -489
- package/dist/runtime/commands/codegraph-status.js +0 -227
- package/dist/runtime/commands/compact.js +0 -297
- package/dist/runtime/commands/config.js +0 -595
- package/dist/runtime/commands/cost.js +0 -199
- package/dist/runtime/commands/delegate.js +0 -312
- package/dist/runtime/commands/dispatch.js +0 -126
- package/dist/runtime/commands/doctor.js +0 -579
- package/dist/runtime/commands/feedback.js +0 -184
- package/dist/runtime/commands/hooks.js +0 -187
- package/dist/runtime/commands/init.js +0 -254
- package/dist/runtime/commands/lsp.js +0 -368
- package/dist/runtime/commands/mcp.js +0 -935
- package/dist/runtime/commands/memory.js +0 -582
- package/dist/runtime/commands/model.js +0 -237
- package/dist/runtime/commands/onboarding.js +0 -275
- package/dist/runtime/commands/patch.js +0 -128
- package/dist/runtime/commands/permissions.js +0 -112
- package/dist/runtime/commands/plan.js +0 -143
- package/dist/runtime/commands/prd-check.js +0 -285
- package/dist/runtime/commands/privacy.js +0 -107
- package/dist/runtime/commands/recipe.js +0 -325
- package/dist/runtime/commands/redo-blob-store.js +0 -92
- package/dist/runtime/commands/redo.js +0 -361
- package/dist/runtime/commands/release-notes.js +0 -229
- package/dist/runtime/commands/repo-map.js +0 -95
- package/dist/runtime/commands/report.js +0 -299
- package/dist/runtime/commands/resume.js +0 -118
- package/dist/runtime/commands/review-consensus.js +0 -414
- package/dist/runtime/commands/rewind.js +0 -333
- package/dist/runtime/commands/roster.js +0 -117
- package/dist/runtime/commands/sessions.js +0 -163
- package/dist/runtime/commands/share.js +0 -316
- package/dist/runtime/commands/skills.js +0 -401
- package/dist/runtime/commands/status.js +0 -186
- package/dist/runtime/commands/stickers.js +0 -82
- package/dist/runtime/commands/style.js +0 -194
- package/dist/runtime/commands/theme.js +0 -196
- package/dist/runtime/commands/undo.js +0 -361
- package/dist/runtime/commands/update.js +0 -289
- package/dist/runtime/commands/vim.js +0 -140
- package/dist/runtime/commands/worktree.js +0 -177
- package/dist/runtime/commands/worktrees.js +0 -155
- package/dist/runtime/deprecation-warning.js +0 -69
- package/dist/runtime/engine-exit-code.js +0 -50
- package/dist/runtime/headless-repl.js +0 -195
- package/dist/runtime/headless.js +0 -548
- package/dist/runtime/load-hooks-or-exit.js +0 -71
- package/dist/runtime/plan-decompose.js +0 -531
- package/dist/runtime/sigint-guard.js +0 -272
- package/dist/runtime/stream-renderer.js +0 -195
- package/dist/runtime/update-check.js +0 -294
- package/dist/runtime/version.js +0 -65
- package/dist/runtime/worktree-bootstrap.js +0 -579
- package/dist/skills/bundled/batch.js +0 -617
- package/dist/skills/bundled/index.js +0 -45
- package/dist/skills/bundled/loop.js +0 -358
- package/dist/skills/bundled/remember.js +0 -383
- package/dist/skills/bundled/simplify.js +0 -289
- package/dist/skills/bundled/skillify.js +0 -373
- package/dist/skills/bundled/stuck.js +0 -558
- package/dist/skills/bundled/verify.js +0 -439
- package/dist/testing/vcr.js +0 -486
- package/dist/tools/agent-tool.js +0 -229
- package/dist/tools/apply-patch.js +0 -556
- package/dist/tools/ask-user-question.js +0 -337
- package/dist/tools/ask-user.js +0 -115
- package/dist/tools/bash.js +0 -1238
- package/dist/tools/brief.js +0 -224
- package/dist/tools/cron.js +0 -433
- package/dist/tools/enter-worktree.js +0 -250
- package/dist/tools/exit-worktree.js +0 -147
- package/dist/tools/file-tools.js +0 -553
- package/dist/tools/http-request.js +0 -336
- package/dist/tools/lsp-tools.js +0 -565
- package/dist/tools/mcp-tool.js +0 -260
- package/dist/tools/multi-edit.js +0 -361
- package/dist/tools/powershell.js +0 -268
- package/dist/tools/registry.js +0 -166
- package/dist/tools/server-tools.js +0 -892
- package/dist/tools/skill-tool.js +0 -96
- package/dist/tools/sleep.js +0 -99
- package/dist/tools/synthetic-output.js +0 -133
- package/dist/tools/tasks.js +0 -208
- package/dist/tools/todo-write.js +0 -184
- package/dist/tools/verify-plan-execution.js +0 -295
- package/dist/tools/web-fetch-injection-scanner.js +0 -207
- package/dist/tools/web-fetch.js +0 -720
- package/dist/tools/web-search.js +0 -458
- package/dist/tui/agent-progress-card.js +0 -111
- package/dist/tui/agent-tree-pane.js +0 -9
- package/dist/tui/agent-tree.js +0 -87
- package/dist/tui/ask-cli.js +0 -52
- package/dist/tui/ask-modal.js +0 -211
- package/dist/tui/ask-user-question-chips.js +0 -315
- package/dist/tui/ask-user-question-prompt.js +0 -203
- package/dist/tui/compact-banner.js +0 -81
- package/dist/tui/conversation-pane.js +0 -164
- package/dist/tui/cost-table.js +0 -111
- package/dist/tui/device-flow.js +0 -142
- package/dist/tui/doctor-table.js +0 -46
- package/dist/tui/feedback-prompt.js +0 -156
- package/dist/tui/input-box.js +0 -732
- package/dist/tui/login-picker.js +0 -69
- package/dist/tui/markdown-render.js +0 -266
- package/dist/tui/multi-file-diff-approval.js +0 -375
- package/dist/tui/onboarding-wizard.js +0 -240
- package/dist/tui/permissions-picker.js +0 -86
- package/dist/tui/render.js +0 -160
- package/dist/tui/repl-render.js +0 -770
- package/dist/tui/repl-splash-art.js +0 -64
- package/dist/tui/repl-splash-mascot.js +0 -154
- package/dist/tui/repl-splash.js +0 -117
- package/dist/tui/repl.js +0 -378
- package/dist/tui/slash-palette.js +0 -106
- package/dist/tui/splash-data.js +0 -61
- package/dist/tui/splash.js +0 -31
- package/dist/tui/status-bar.js +0 -209
- package/dist/tui/status-table.js +0 -7
- package/dist/tui/stickers-art.js +0 -136
- package/dist/tui/style-table.js +0 -28
- package/dist/tui/theme-table.js +0 -29
- package/dist/tui/thinking-spinner.js +0 -123
- package/dist/tui/tool-stream-pane.js +0 -140
- package/dist/tui/update-banner.js +0 -33
- package/dist/tui/vim-input.js +0 -267
- package/dist/tui/welcome-banner.js +0 -107
- package/dist/tui/welcome-data.js +0 -293
- package/dist/tui/workspace-context.js +0 -105
- package/docs/examples/codegraph.mcp.json +0 -10
- package/test/scenarios/codegen-create-file.scenario.txt +0 -13
- package/test/scenarios/compact-force.scenario.txt +0 -12
- package/test/scenarios/identity.scenario.txt +0 -11
- package/test/scenarios/persona-handoff.scenario.txt +0 -12
- package/test/scenarios/walkback.scenario.txt +0 -12
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pugi MCP orchestrator config (Trust Sprint item 7).
|
|
3
|
-
*
|
|
4
|
-
* BEFORE this module the customer had to wire three independent gates
|
|
5
|
-
* to actually run the orchestrator surface successfully:
|
|
6
|
-
*
|
|
7
|
-
* PUGI_MCP_EXEC_ENABLED=1 (env) — gates pugi.run + pugi.dispatch
|
|
8
|
-
* --allow-bash (flag) — surfaces the bash permission class
|
|
9
|
-
* PUGI_MCP_PUGI_BIN=... (env) — points the dispatcher at a binary
|
|
10
|
-
*
|
|
11
|
-
* Missing any one of the three produced an opaque "tool refused" or
|
|
12
|
-
* "binary not found" error that nobody could correlate back to the
|
|
13
|
-
* three-knob configuration. Codex deep-research 2026-06-04 logged this
|
|
14
|
-
* as a discipline gap.
|
|
15
|
-
*
|
|
16
|
-
* AFTER this module the customer flips ONE switch:
|
|
17
|
-
*
|
|
18
|
-
* PUGI_MCP_ORCHESTRATOR=1
|
|
19
|
-
*
|
|
20
|
-
* Or one flag:
|
|
21
|
-
*
|
|
22
|
-
* pugi mcp serve --orchestrator-bundle
|
|
23
|
-
*
|
|
24
|
-
* Either form:
|
|
25
|
-
* - enables exec gating on pugi.run + pugi.dispatch,
|
|
26
|
-
* - turns on the bash permission class (equivalent to --allow-bash),
|
|
27
|
-
* - auto-resolves `pugi` from PATH (or the local dev binary when
|
|
28
|
-
* invoked from a monorepo checkout).
|
|
29
|
-
*
|
|
30
|
-
* The legacy multi-knob configuration continues to work as deprecated
|
|
31
|
-
* aliases. When the legacy combo is observed at boot we emit a stderr
|
|
32
|
-
* warning so operators know they should migrate.
|
|
33
|
-
*
|
|
34
|
-
* Scope rule: this module is ADDITIVE. It does not modify
|
|
35
|
-
* orchestrator-tools.ts or the dispatch handler (other agent owns
|
|
36
|
-
* those files in PUGI-VERIFY-GATE).
|
|
37
|
-
*/
|
|
38
|
-
import { existsSync } from 'node:fs';
|
|
39
|
-
import { dirname, isAbsolute, resolve } from 'node:path';
|
|
40
|
-
import { fileURLToPath } from 'node:url';
|
|
41
|
-
import { execFileSync } from 'node:child_process';
|
|
42
|
-
import { warnDeprecation } from '../../runtime/deprecation-warning.js';
|
|
43
|
-
/**
|
|
44
|
-
* Resolve the effective orchestrator configuration from inputs.
|
|
45
|
-
*
|
|
46
|
-
* Single source of truth for the gate-collapse logic. `runtime/commands/
|
|
47
|
-
* mcp.ts` consumes the result; tests call this function directly.
|
|
48
|
-
*/
|
|
49
|
-
export function resolveOrchestratorConfig(input) {
|
|
50
|
-
const env = input.env;
|
|
51
|
-
const bundleViaEnv = env.PUGI_MCP_ORCHESTRATOR === '1';
|
|
52
|
-
const bundleViaFlag = input.bundleFlag;
|
|
53
|
-
const bundleEnabled = bundleViaEnv || bundleViaFlag;
|
|
54
|
-
const execViaLegacyEnv = env.PUGI_MCP_EXEC_ENABLED === '1';
|
|
55
|
-
const publishViaLegacyEnv = env.PUGI_MCP_PUBLISH_ENABLED === '1';
|
|
56
|
-
const deployViaLegacyEnv = env.PUGI_MCP_DEPLOY_ENABLED === '1';
|
|
57
|
-
const bashViaFlag = input.bashFlag;
|
|
58
|
-
// Bundle implies exec + bash. Publish + deploy stay opt-in even under
|
|
59
|
-
// bundle because they cross network boundaries (npm publish, ssh
|
|
60
|
-
// deploy) — operator should still flip them deliberately.
|
|
61
|
-
const execEnabled = bundleEnabled || execViaLegacyEnv;
|
|
62
|
-
const publishEnabled = publishViaLegacyEnv;
|
|
63
|
-
const deployEnabled = deployViaLegacyEnv;
|
|
64
|
-
const bashAllowed = bundleEnabled || bashViaFlag;
|
|
65
|
-
// Emit deprecation warning the first time we see the OLD multi-flag
|
|
66
|
-
// combo without the bundle flag. We only warn if the operator clearly
|
|
67
|
-
// intended the orchestrator surface (at least one legacy env set) so
|
|
68
|
-
// bare engine-surface runs stay silent.
|
|
69
|
-
if (!bundleEnabled && execViaLegacyEnv) {
|
|
70
|
-
warnDeprecation('PUGI_MCP_EXEC_ENABLED', 'PUGI_MCP_ORCHESTRATOR=1', 'Single flag enables exec + bash + auto-resolves the pugi binary in one step.');
|
|
71
|
-
}
|
|
72
|
-
const { pugiBin, pugiBinSource } = resolvePugiBin({
|
|
73
|
-
envOverride: env.PUGI_MCP_PUGI_BIN ?? null,
|
|
74
|
-
workspaceRoot: input.workspaceRoot,
|
|
75
|
-
resolveBinary: input.resolveBinary ?? defaultBinaryResolver,
|
|
76
|
-
});
|
|
77
|
-
return {
|
|
78
|
-
bundleEnabled,
|
|
79
|
-
execEnabled,
|
|
80
|
-
publishEnabled,
|
|
81
|
-
deployEnabled,
|
|
82
|
-
bashAllowed,
|
|
83
|
-
pugiBin,
|
|
84
|
-
source: {
|
|
85
|
-
bundleViaEnv,
|
|
86
|
-
bundleViaFlag,
|
|
87
|
-
execViaLegacyEnv,
|
|
88
|
-
publishViaLegacyEnv,
|
|
89
|
-
deployViaLegacyEnv,
|
|
90
|
-
bashViaFlag,
|
|
91
|
-
pugiBinSource,
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolve the `pugi` binary path. Layered fallback so operators get a
|
|
97
|
-
* working dispatcher whether they `npm i -g @pugi/cli`-ed it (PATH),
|
|
98
|
-
* baked it into env (CI), or are running from a monorepo checkout
|
|
99
|
-
* (where `pugi` is not on PATH but `dist/index.js` exists).
|
|
100
|
-
*/
|
|
101
|
-
function resolvePugiBin(input) {
|
|
102
|
-
if (input.envOverride && input.envOverride.length > 0) {
|
|
103
|
-
return { pugiBin: input.envOverride, pugiBinSource: 'env' };
|
|
104
|
-
}
|
|
105
|
-
const fromPath = input.resolveBinary('pugi');
|
|
106
|
-
if (fromPath && fromPath.length > 0) {
|
|
107
|
-
return { pugiBin: fromPath, pugiBinSource: 'path-lookup' };
|
|
108
|
-
}
|
|
109
|
-
const devBinary = findMonorepoDevBinary(input.workspaceRoot);
|
|
110
|
-
if (devBinary) {
|
|
111
|
-
return { pugiBin: devBinary, pugiBinSource: 'monorepo-dev-binary' };
|
|
112
|
-
}
|
|
113
|
-
// Last-resort fallback. The downstream `execFile` will throw ENOENT
|
|
114
|
-
// with a path readable error; better that than us swallowing the
|
|
115
|
-
// intent of "operator wanted orchestrator mode" silently.
|
|
116
|
-
return { pugiBin: 'pugi', pugiBinSource: 'fallback' };
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Walk up from the workspace root looking for the monorepo pugi-cli
|
|
120
|
-
* checkout. Used when an operator runs `pugi mcp serve --orchestrator-
|
|
121
|
-
* bundle` from inside a freshly-cloned `pugi-io/pugi` repo without a
|
|
122
|
-
* global install. Skipped for non-monorepo workspaces (returns null
|
|
123
|
-
* quickly when the expected marker files are absent).
|
|
124
|
-
*/
|
|
125
|
-
function findMonorepoDevBinary(workspaceRoot) {
|
|
126
|
-
const candidates = [];
|
|
127
|
-
// Common shapes: workspaceRoot IS the monorepo, or workspaceRoot is
|
|
128
|
-
// a sibling sub-app of pugi-cli. Limit the walk to two levels up.
|
|
129
|
-
let current = workspaceRoot;
|
|
130
|
-
for (let i = 0; i < 4; i += 1) {
|
|
131
|
-
candidates.push(resolve(current, 'apps/pugi-cli/dist/index.js'));
|
|
132
|
-
candidates.push(resolve(current, 'apps/pugi-cli/bin/run.js'));
|
|
133
|
-
const parent = dirname(current);
|
|
134
|
-
if (parent === current)
|
|
135
|
-
break;
|
|
136
|
-
current = parent;
|
|
137
|
-
}
|
|
138
|
-
for (const candidate of candidates) {
|
|
139
|
-
if (existsSync(candidate))
|
|
140
|
-
return candidate;
|
|
141
|
-
}
|
|
142
|
-
return null;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Default `which`-backed binary resolver. Mirrors the pattern used by
|
|
146
|
-
* `resolveExecutablePath` in `runtime/commands/mcp.ts`. Returns null
|
|
147
|
-
* on any failure — the caller falls back to the next layer.
|
|
148
|
-
*/
|
|
149
|
-
function defaultBinaryResolver(command) {
|
|
150
|
-
if (isAbsolute(command)) {
|
|
151
|
-
return existsSync(command) ? command : null;
|
|
152
|
-
}
|
|
153
|
-
if (command.includes('/') || command.includes('\\'))
|
|
154
|
-
return null;
|
|
155
|
-
try {
|
|
156
|
-
const out = execFileSync('/usr/bin/which', [command], {
|
|
157
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
158
|
-
encoding: 'utf8',
|
|
159
|
-
timeout: 5000,
|
|
160
|
-
}).trim();
|
|
161
|
-
return out.length > 0 ? out : null;
|
|
162
|
-
}
|
|
163
|
-
catch {
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Compose a human-readable diagnostic line per resolved config. Used
|
|
169
|
-
* by `pugi mcp serve --orchestrator*` startup output and `pugi doctor`
|
|
170
|
-
* so operators can verify which gates ended up live.
|
|
171
|
-
*/
|
|
172
|
-
export function describeOrchestratorConfig(config) {
|
|
173
|
-
const lines = [];
|
|
174
|
-
lines.push(`bundle: ${config.bundleEnabled ? 'on' : 'off'}`);
|
|
175
|
-
lines.push(`exec: ${config.execEnabled ? 'on' : 'off'}`);
|
|
176
|
-
lines.push(`publish: ${config.publishEnabled ? 'on' : 'off'}`);
|
|
177
|
-
lines.push(`deploy: ${config.deployEnabled ? 'on' : 'off'}`);
|
|
178
|
-
lines.push(`bash surfaced: ${config.bashAllowed ? 'on' : 'off'}`);
|
|
179
|
-
lines.push(`pugi binary: ${config.pugiBin} (source: ${config.source.pugiBinSource})`);
|
|
180
|
-
return lines;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Exported for tests so the dev-binary fallback can be exercised
|
|
184
|
-
* without invoking the full resolver. Kept internal to the module
|
|
185
|
-
* otherwise.
|
|
186
|
-
*/
|
|
187
|
-
export const _internalForTests = {
|
|
188
|
-
findMonorepoDevBinary,
|
|
189
|
-
resolvePugiBin,
|
|
190
|
-
currentModuleDir: () => dirname(fileURLToPath(import.meta.url)),
|
|
191
|
-
};
|
|
192
|
-
//# sourceMappingURL=orchestrator-config.js.map
|