@event4u/agent-config 8.1.0 → 8.3.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/.claude-plugin/marketplace.json +3 -3
- package/CHANGELOG.md +83 -292
- package/MIGRATION.md +18 -0
- package/README.md +86 -3
- package/dist/agent-src/commands/agents/init.md +3 -3
- package/dist/agent-src/commands/chat-history/import.md +5 -5
- package/dist/agent-src/commands/chat-history.md +1 -1
- package/dist/agent-src/commands/condense.md +1 -1
- package/dist/agent-src/commands/context/create.md +1 -1
- package/dist/agent-src/commands/council/analysis.md +2 -2
- package/dist/agent-src/commands/council/default.md +3 -3
- package/dist/agent-src/commands/council/design.md +2 -2
- package/dist/agent-src/commands/council/optimize.md +1 -1
- package/dist/agent-src/commands/council/pr.md +2 -2
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +1 -1
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/implement-ticket.md +2 -2
- package/dist/agent-src/commands/judge/on-diff.md +1 -1
- package/dist/agent-src/commands/judge/steps.md +3 -1
- package/dist/agent-src/commands/memory/add.md +2 -2
- package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
- package/dist/agent-src/commands/memory/load.md +1 -1
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +1 -1
- package/dist/agent-src/commands/memory/propose.md +1 -1
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +3 -3
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/optimize-project.md +1 -1
- package/dist/agent-src/commands/orchestrate.md +2 -2
- package/dist/agent-src/commands/project-analyze.md +1 -1
- package/dist/agent-src/commands/project-health.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +2 -2
- package/dist/agent-src/commands/roadmap/process-full.md +3 -1
- package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
- package/dist/agent-src/commands/roadmap/process-step.md +3 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +7 -7
- package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
- package/dist/agent-src/commands/sync-gitignore.md +4 -4
- package/dist/agent-src/commands/work.md +3 -3
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
- package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/presets/README.md +1 -1
- package/dist/agent-src/profiles/README.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/context-hygiene.md +2 -2
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
- package/dist/agent-src/rules/media-governance-routing.md +1 -1
- package/dist/agent-src/rules/no-roadmap-references.md +3 -3
- package/dist/agent-src/rules/preservation-guard.md +2 -2
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
- package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/telegraph-speak.md +1 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
- package/dist/agent-src/skills/api-design/SKILL.md +1 -1
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
- package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
- package/dist/agent-src/skills/code-review/SKILL.md +3 -4
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
- package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/context-document/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
- package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
- package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
- package/dist/agent-src/skills/database/SKILL.md +2 -1
- package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
- package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
- package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
- package/dist/agent-src/skills/flux/SKILL.md +10 -9
- package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
- package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
- package/dist/agent-src/skills/livewire/SKILL.md +10 -9
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
- package/dist/agent-src/skills/module-management/SKILL.md +2 -2
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
- package/dist/agent-src/skills/premortem/SKILL.md +1 -1
- package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
- package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
- package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
- package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
- package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
- package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
- package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
- package/dist/agent-src/templates/agent-settings.md +34 -25
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
- package/dist/agent-src/templates/agents/proposal.example.md +4 -4
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
- package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
- package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
- package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
- package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
- package/dist/agent-src/templates/roadmaps.md +9 -4
- package/dist/agent-src/templates/rule.md +3 -3
- package/dist/agent-src/templates/scripts/README.md +6 -6
- package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
- package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
- package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
- package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
- package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
- package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
- package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
- package/dist/agent-src/templates/skill.md +2 -2
- package/dist/cli/python/knowledge_ingest.js +24 -3
- package/dist/cli/python/knowledge_ingest.js.map +1 -1
- package/dist/cli/python/workspace_analytics.js +23 -3
- package/dist/cli/python/workspace_analytics.js.map +1 -1
- package/dist/cli/python/workspace_crypto.js +23 -3
- package/dist/cli/python/workspace_crypto.js.map +1 -1
- package/dist/cli/python/workspace_documents.js +23 -3
- package/dist/cli/python/workspace_documents.js.map +1 -1
- package/dist/cli/python/workspace_drive.js +24 -3
- package/dist/cli/python/workspace_drive.js.map +1 -1
- package/dist/cli/python/workspace_drive_health.js +23 -3
- package/dist/cli/python/workspace_drive_health.js.map +1 -1
- package/dist/cli/python/workspace_explain.js +23 -3
- package/dist/cli/python/workspace_explain.js.map +1 -1
- package/dist/cli/python/workspace_hosts.js +23 -3
- package/dist/cli/python/workspace_hosts.js.map +1 -1
- package/dist/cli/python/workspace_inbox.js +23 -3
- package/dist/cli/python/workspace_inbox.js.map +1 -1
- package/dist/cli/python/workspace_render.js +23 -3
- package/dist/cli/python/workspace_render.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +23 -3
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli/python/workspace_sessions.js +23 -3
- package/dist/cli/python/workspace_sessions.js.map +1 -1
- package/dist/cli/python/workspace_skills.js +23 -3
- package/dist/cli/python/workspace_skills.js.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +118 -118
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +2 -2
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +3 -3
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +3 -3
- package/dist/install/install.mjs +647 -408
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/server/routes/settings.js +4 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +1 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +2 -2
- package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
- package/docs/benchmark.md +40 -0
- package/docs/contracts/CHANGELOG-conventions.md +8 -5
- package/docs/contracts/branch-protection-policy.md +14 -5
- package/docs/contracts/mcp-phase-1-scope.md +75 -0
- package/docs/contracts/mcp-tool-inventory.md +22 -15
- package/docs/contracts/release-pr-gating.md +22 -11
- package/docs/contracts/skill-bundled-assets.md +2 -2
- package/docs/customization.md +1 -1
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
- package/docs/decisions/ADR-111-canonical-glama-listing.md +97 -0
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
- package/docs/decisions/INDEX.md +3 -0
- package/docs/distribution/registry-submissions.md +1 -1
- package/docs/getting-started.md +8 -6
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
- package/docs/guidelines/agent-infra/layered-settings.md +4 -4
- package/docs/guidelines/agent-infra/memory-access.md +19 -18
- package/docs/guidelines/agent-infra/naming.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
- package/docs/guidelines/agent-infra/role-contracts.md +1 -1
- package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
- package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/installation.md +13 -14
- package/docs/mcp-server.md +32 -20
- package/docs/proof.md +1 -1
- package/docs/setup/mcp-cloud-endpoints.md +9 -2
- package/docs/setup/per-ide/claude-code.md +10 -4
- package/package.json +4 -3
- package/src/config/agent-settings.template.yml +31 -17
- package/src/config/host-capabilities.yml +25 -16
- package/src/config/profiles/balanced.ini +5 -3
- package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
- package/src/scripts/_cli/cmd_conformance.ts +23 -4
- package/src/scripts/_cli/cmd_doctor.ts +196 -8
- package/src/scripts/_cli/cmd_explain.ts +23 -4
- package/src/scripts/_cli/cmd_export.ts +23 -4
- package/src/scripts/_cli/cmd_fleet.ts +23 -4
- package/src/scripts/_cli/cmd_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_preflight.ts +24 -4
- package/src/scripts/_cli/cmd_prune.ts +23 -4
- package/src/scripts/_cli/cmd_refresh.ts +23 -4
- package/src/scripts/_cli/cmd_settings_check.ts +23 -4
- package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_sync.ts +23 -4
- package/src/scripts/_cli/cmd_uninstall.ts +45 -4
- package/src/scripts/_cli/cmd_update.ts +23 -4
- package/src/scripts/_cli/cmd_upgrade.ts +307 -17
- package/src/scripts/_cli/cmd_validate.ts +23 -4
- package/src/scripts/_cli/cmd_versions.ts +23 -4
- package/src/scripts/_dispatch.bash +62 -19
- package/src/scripts/_lib/claude_plugin.ts +83 -0
- package/src/scripts/_lib/claude_settings_hooks.ts +251 -0
- package/src/scripts/_lib/knowledge_global.ts +24 -2
- package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
- package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
- package/src/scripts/_lib/link_crypto.ts +24 -5
- package/src/scripts/_lib/pin_resolver.ts +24 -3
- package/src/scripts/adoption_report.ts +23 -4
- package/src/scripts/adoption_snapshot.ts +23 -1
- package/src/scripts/adoption_status.ts +23 -4
- package/src/scripts/adr/regenerate_index.ts +24 -3
- package/src/scripts/ai_council/airgap.ts +25 -2
- package/src/scripts/ai_council/compile_corpus.ts +24 -2
- package/src/scripts/ai_council/pricing.ts +11 -1
- package/src/scripts/analysis_freshness.ts +23 -4
- package/src/scripts/annotate_discovery.ts +23 -1
- package/src/scripts/apply_modules_config.ts +23 -4
- package/src/scripts/audit_adr_coverage.ts +23 -4
- package/src/scripts/audit_auto_rules.ts +23 -1
- package/src/scripts/audit_cloud_compatibility.ts +23 -4
- package/src/scripts/audit_command_surface.ts +23 -4
- package/src/scripts/audit_initial_context.ts +23 -3
- package/src/scripts/audit_likelihood.ts +23 -1
- package/src/scripts/audit_mcp_tools.ts +23 -3
- package/src/scripts/audit_overlap.ts +23 -1
- package/src/scripts/audit_skill_descriptions.ts +24 -2
- package/src/scripts/audit_skill_overlap.ts +23 -1
- package/src/scripts/audit_user_type_axis.ts +23 -4
- package/src/scripts/backfill_model_tier.ts +23 -4
- package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
- package/src/scripts/bench_ab_clone.ts +23 -1
- package/src/scripts/bench_ab_diff.ts +23 -1
- package/src/scripts/bench_ab_integrity.ts +23 -1
- package/src/scripts/bench_ab_run.ts +23 -2
- package/src/scripts/bench_ab_task_runner.ts +23 -1
- package/src/scripts/bench_ab_tracka_run.ts +23 -2
- package/src/scripts/bench_ab_v2_run.ts +23 -1
- package/src/scripts/bench_ab_v2_stats.ts +23 -1
- package/src/scripts/bench_baseline_ready.ts +23 -1
- package/src/scripts/bench_condense_memory.ts +23 -1
- package/src/scripts/bench_drift_check.ts +23 -2
- package/src/scripts/bench_matrix.ts +23 -4
- package/src/scripts/bench_per_tool.ts +23 -1
- package/src/scripts/bench_quality_run.ts +23 -2
- package/src/scripts/bench_rtk_savings.ts +23 -1
- package/src/scripts/bench_rule_load_latency.ts +23 -2
- package/src/scripts/bench_run.ts +23 -2
- package/src/scripts/bench_runner.ts +23 -1
- package/src/scripts/build_cloud_bundle.ts +23 -3
- package/src/scripts/build_discovery_manifest.ts +23 -4
- package/src/scripts/build_linear_digest.ts +23 -3
- package/src/scripts/build_mcp_registry_manifest.ts +23 -4
- package/src/scripts/build_rule_trigger_matrix.ts +23 -4
- package/src/scripts/capture_showcase_session.ts +23 -1
- package/src/scripts/chat_history.ts +24 -3
- package/src/scripts/check_always_budget.ts +23 -2
- package/src/scripts/check_artefact_checksums.ts +23 -4
- package/src/scripts/check_augment_description_cap.ts +23 -4
- package/src/scripts/check_augmentignore.ts +23 -4
- package/src/scripts/check_beta_review_markers.ts +23 -4
- package/src/scripts/check_cluster_patterns.ts +23 -4
- package/src/scripts/check_command_count_messaging.ts +23 -4
- package/src/scripts/check_comparison.ts +23 -1
- package/src/scripts/check_condensation.ts +24 -3
- package/src/scripts/check_condensed_paths.ts +23 -2
- package/src/scripts/check_context_paths.ts +23 -4
- package/src/scripts/check_council_config_location.ts +23 -4
- package/src/scripts/check_council_layout.ts +23 -4
- package/src/scripts/check_council_references.ts +23 -4
- package/src/scripts/check_discovery_determinism.ts +24 -4
- package/src/scripts/check_gate_paths.ts +23 -4
- package/src/scripts/check_generated_artefact_headers.ts +23 -4
- package/src/scripts/check_generator_output_coverage.ts +23 -4
- package/src/scripts/check_gitignore_freshness.ts +23 -4
- package/src/scripts/check_iron_law_prominence.ts +23 -4
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_kernel_rule_bundle.ts +23 -4
- package/src/scripts/check_knowledge_cards.ts +23 -1
- package/src/scripts/check_md_language.ts +23 -4
- package/src/scripts/check_media_deps.ts +24 -1
- package/src/scripts/check_memory.ts +24 -2
- package/src/scripts/check_memory_proposal.ts +23 -4
- package/src/scripts/check_module_management_neutral.ts +23 -4
- package/src/scripts/check_no_conflict_markers.ts +23 -4
- package/src/scripts/check_no_external_sources.ts +23 -4
- package/src/scripts/check_no_local_settings_committed.ts +24 -4
- package/src/scripts/check_no_new_legacy_path.ts +23 -4
- package/src/scripts/check_no_roadmap_refs.ts +23 -4
- package/src/scripts/check_one_off_location.ts +23 -4
- package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
- package/src/scripts/check_portability.ts +24 -3
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_public_catalog_links.ts +23 -4
- package/src/scripts/check_public_links.ts +23 -4
- package/src/scripts/check_quality_regression.ts +23 -2
- package/src/scripts/check_references.ts +23 -4
- package/src/scripts/check_release_includes_discovery.ts +23 -4
- package/src/scripts/check_release_pr_shape.ts +23 -4
- package/src/scripts/check_release_published.ts +23 -4
- package/src/scripts/check_release_trunk_sync.ts +23 -4
- package/src/scripts/check_reply_consistency.ts +23 -4
- package/src/scripts/check_roadmap_trackable.ts +23 -4
- package/src/scripts/check_role_doc_links.ts +23 -4
- package/src/scripts/check_safety_floor_untouched.ts +24 -4
- package/src/scripts/check_site_links.ts +23 -1
- package/src/scripts/check_skill_gaps.ts +23 -1
- package/src/scripts/check_skill_requires.ts +23 -4
- package/src/scripts/check_structural_breaking.ts +24 -4
- package/src/scripts/check_surface_tiers.ts +23 -4
- package/src/scripts/check_template_pin_drift.ts +23 -4
- package/src/scripts/check_test_coverage_diff.ts +23 -4
- package/src/scripts/check_token_optimizer_freshness.ts +23 -4
- package/src/scripts/check_token_quality_golden.ts +23 -2
- package/src/scripts/check_token_regression.ts +23 -2
- package/src/scripts/check_tracked_but_ignored.ts +24 -4
- package/src/scripts/check_trigger_evals.ts +23 -4
- package/src/scripts/check_trunk_drift.ts +24 -1
- package/src/scripts/check_update_banner.ts +23 -4
- package/src/scripts/ci_summary.ts +23 -4
- package/src/scripts/ci_time_ratio.ts +23 -4
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +23 -4
- package/src/scripts/condense.ts +30 -31
- package/src/scripts/condense_memory.ts +24 -2
- package/src/scripts/config/packs.ts +24 -4
- package/src/scripts/config/session_profiles.ts +23 -4
- package/src/scripts/context_hygiene_hook.ts +24 -3
- package/src/scripts/cost_by_conversation.ts +23 -4
- package/src/scripts/cost_summary.ts +23 -4
- package/src/scripts/council_cli.ts +35 -7
- package/src/scripts/council_prune.ts +25 -2
- package/src/scripts/cross_repo_retrieve.ts +23 -4
- package/src/scripts/discovery_stats.ts +23 -4
- package/src/scripts/evidence_report.ts +23 -1
- package/src/scripts/export_replay_corpus.ts +23 -2
- package/src/scripts/extract_audit_patterns.ts +23 -1
- package/src/scripts/first_run_gate_hook.ts +24 -3
- package/src/scripts/gen_discovery_baseline.ts +23 -4
- package/src/scripts/generate_capabilities_index.ts +24 -5
- package/src/scripts/generate_capability_matrix.ts +23 -4
- package/src/scripts/generate_catalog.ts +23 -1
- package/src/scripts/generate_command_flows.ts +23 -4
- package/src/scripts/generate_cookbook.ts +23 -4
- package/src/scripts/generate_index.ts +23 -4
- package/src/scripts/generate_ownership_matrix.ts +23 -1
- package/src/scripts/generate_pack_manifests.ts +24 -5
- package/src/scripts/generate_role_experiences_catalog.ts +23 -4
- package/src/scripts/hooks/block_no_verify.ts +23 -4
- package/src/scripts/hooks/design_slop_hook.ts +24 -3
- package/src/scripts/hooks/dispatch_hook.ts +47 -14
- package/src/scripts/hooks/replay_hook.ts +23 -2
- package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
- package/src/scripts/hooks_doctor.ts +23 -2
- package/src/scripts/hooks_status.ts +23 -2
- package/src/scripts/injection_scan_hook.ts +24 -5
- package/src/scripts/install +23 -4
- package/src/scripts/install.ts +102 -44
- package/src/scripts/inventory_abstraction_budget.ts +23 -1
- package/src/scripts/inventory_frontmatter.ts +23 -1
- package/src/scripts/inventory_meta_layers.ts +23 -1
- package/src/scripts/iron_law_sha.ts +23 -4
- package/src/scripts/janitor.ts +23 -4
- package/src/scripts/knowledge_global_cli.ts +24 -2
- package/src/scripts/linked_projects_list.ts +23 -4
- package/src/scripts/lint_agent_security.ts +23 -4
- package/src/scripts/lint_agent_skill_names.ts +23 -4
- package/src/scripts/lint_agents_layout.ts +23 -4
- package/src/scripts/lint_agents_md.ts +23 -4
- package/src/scripts/lint_archived_skills.ts +23 -4
- package/src/scripts/lint_artefact_frontmatter.ts +23 -4
- package/src/scripts/lint_bench_ab.ts +23 -4
- package/src/scripts/lint_bench_corpus.ts +23 -2
- package/src/scripts/lint_command_flow_coverage.ts +23 -4
- package/src/scripts/lint_command_routing.ts +23 -4
- package/src/scripts/lint_command_tiers.ts +23 -2
- package/src/scripts/lint_command_verbs.ts +23 -4
- package/src/scripts/lint_commit_subjects.ts +24 -4
- package/src/scripts/lint_confusables.ts +25 -5
- package/src/scripts/lint_context_spine_usage.ts +23 -4
- package/src/scripts/lint_discovery_manifest.ts +23 -4
- package/src/scripts/lint_discovery_vocabulary.ts +23 -4
- package/src/scripts/lint_empty_roadmaps.ts +23 -4
- package/src/scripts/lint_eval_freshness.ts +23 -4
- package/src/scripts/lint_examples.ts +23 -4
- package/src/scripts/lint_explain_trace.ts +23 -4
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_flows.ts +23 -4
- package/src/scripts/lint_framework_leakage.ts +23 -4
- package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
- package/src/scripts/lint_ghostwriter_source.ts +23 -4
- package/src/scripts/lint_glama_drift.ts +75 -0
- package/src/scripts/lint_global_paths.ts +23 -2
- package/src/scripts/lint_handoffs.ts +23 -4
- package/src/scripts/lint_hidden_unicode.ts +24 -5
- package/src/scripts/lint_hook_concern_budget.ts +23 -4
- package/src/scripts/lint_hook_manifest.ts +23 -2
- package/src/scripts/lint_instruction_smuggling.ts +25 -5
- package/src/scripts/lint_legal_pack.ts +23 -1
- package/src/scripts/lint_load_context.ts +23 -4
- package/src/scripts/lint_marketplace.ts +24 -3
- package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
- package/src/scripts/lint_mcp_config_security.ts +25 -5
- package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
- package/src/scripts/lint_media_policy_linkage.ts +23 -4
- package/src/scripts/lint_missions.ts +23 -4
- package/src/scripts/lint_model_tier_coverage.ts +23 -4
- package/src/scripts/lint_namespace.ts +23 -4
- package/src/scripts/lint_namespace_collisions.ts +23 -4
- package/src/scripts/lint_new_skill_gate.ts +23 -4
- package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
- package/src/scripts/lint_one_off_age.ts +23 -4
- package/src/scripts/lint_orchestration_dsl.ts +23 -4
- package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
- package/src/scripts/lint_pack_boundaries.ts +23 -4
- package/src/scripts/lint_pack_dependencies.ts +23 -2
- package/src/scripts/lint_pack_first_win.ts +23 -4
- package/src/scripts/lint_pack_risk_class.ts +23 -1
- package/src/scripts/lint_persona_governance.ts +23 -4
- package/src/scripts/lint_positioning.ts +23 -4
- package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
- package/src/scripts/lint_readme_jargon.ts +23 -4
- package/src/scripts/lint_readme_size.ts +23 -4
- package/src/scripts/lint_regression.ts +23 -4
- package/src/scripts/lint_roadmap_blockers.ts +23 -4
- package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
- package/src/scripts/lint_roadmap_complexity.ts +23 -4
- package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
- package/src/scripts/lint_role_experiences.ts +23 -4
- package/src/scripts/lint_rule_interactions.ts +23 -4
- package/src/scripts/lint_rule_tiers.ts +24 -3
- package/src/scripts/lint_showcase_sessions.ts +23 -4
- package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
- package/src/scripts/lint_skill_originality.ts +23 -4
- package/src/scripts/lint_skill_tools.ts +23 -4
- package/src/scripts/lint_subagent_determinism.ts +23 -4
- package/src/scripts/lint_ticket_buildable.ts +23 -4
- package/src/scripts/lint_topics_yaml.ts +23 -4
- package/src/scripts/lint_trust_coherence.ts +23 -4
- package/src/scripts/lint_value_dashboard.ts +23 -4
- package/src/scripts/lint_workflow_security.ts +23 -4
- package/src/scripts/lint_workspace_boundary.ts +23 -4
- package/src/scripts/mcp_exec/safety_envelope.ts +105 -0
- package/src/scripts/mcp_parity_smoke.ts +23 -2
- package/src/scripts/mcp_registry_submit.sh +14 -3
- package/src/scripts/mcp_render.ts +23 -4
- package/src/scripts/mcp_server/__main__.ts +6 -8
- package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
- package/src/scripts/mcp_server/tools.ts +731 -0
- package/src/scripts/mcp_telemetry_health.ts +23 -4
- package/src/scripts/mcp_telemetry_query.ts +23 -4
- package/src/scripts/mcp_telemetry_store.ts +23 -4
- package/src/scripts/measure_augment_budget.ts +23 -1
- package/src/scripts/measure_density.ts +23 -1
- package/src/scripts/measure_frugality_savings.ts +23 -1
- package/src/scripts/measure_markitdown_lift.ts +23 -1
- package/src/scripts/measure_patterns.ts +23 -1
- package/src/scripts/measure_projection_bytes.ts +23 -1
- package/src/scripts/measure_rule_budget.ts +23 -4
- package/src/scripts/measure_skill_reduction.ts +23 -1
- package/src/scripts/memory_hash.ts +24 -2
- package/src/scripts/memory_lookup.ts +24 -2
- package/src/scripts/memory_report.ts +24 -2
- package/src/scripts/memory_signal.ts +24 -2
- package/src/scripts/memory_status.ts +26 -2
- package/src/scripts/migrate_command_suggestions.ts +23 -4
- package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
- package/src/scripts/migration_status.ts +25 -4
- package/src/scripts/mine_missing_guardrails.ts +23 -1
- package/src/scripts/mine_session.ts +23 -1
- package/src/scripts/minimal_safe_diff_hook.ts +24 -3
- package/src/scripts/new_skill.ts +23 -3
- package/src/scripts/onboarding_gate_hook.ts +24 -3
- package/src/scripts/parity/coverage_diff.ts +25 -3
- package/src/scripts/parity/phase_gate.ts +25 -4
- package/src/scripts/parity/replay.ts +25 -3
- package/src/scripts/pattern_share.ts +23 -4
- package/src/scripts/plan_physical_move.ts +23 -4
- package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
- package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
- package/src/scripts/prediction-pool/score_ev.ts +24 -3
- package/src/scripts/print_required_checks.ts +24 -4
- package/src/scripts/probe_host_compliance.ts +23 -2
- package/src/scripts/probe_projection_fidelity.ts +23 -1
- package/src/scripts/probe_skill_registration.ts +24 -2
- package/src/scripts/profile_staleness_hook.ts +24 -3
- package/src/scripts/profile_use.ts +23 -4
- package/src/scripts/project_thin_rules.ts +23 -3
- package/src/scripts/propose_modules_config.ts +23 -4
- package/src/scripts/prototype_lint_contradictions.ts +23 -1
- package/src/scripts/prove_pack_extractable.ts +23 -4
- package/src/scripts/readme_linter.ts +23 -3
- package/src/scripts/redact_hook_capture.ts +23 -4
- package/src/scripts/refine_ticket_detect.ts +23 -4
- package/src/scripts/release.ts +226 -43
- package/src/scripts/render_benchmark_composite.ts +23 -4
- package/src/scripts/render_benchmark_md.ts +23 -4
- package/src/scripts/roadmap_progress_hook.ts +46 -16
- package/src/scripts/run_skill_evals.ts +23 -4
- package/src/scripts/runtime_dispatcher.ts +23 -4
- package/src/scripts/runtime_registry.ts +23 -4
- package/src/scripts/score_skill_selection.ts +23 -1
- package/src/scripts/security_audit_config.ts +24 -5
- package/src/scripts/skill_collision_clusters.ts +23 -4
- package/src/scripts/skill_discovery.ts +23 -4
- package/src/scripts/skill_linter.ts +23 -2
- package/src/scripts/skill_preview.ts +23 -4
- package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
- package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
- package/src/scripts/skill_usage_collect.ts +23 -4
- package/src/scripts/smoke_path_resolution.ts +23 -4
- package/src/scripts/smoke_quickstart.ts +23 -4
- package/src/scripts/snapshot_agent_outputs.ts +23 -4
- package/src/scripts/spotcheck_thin_root.ts +23 -4
- package/src/scripts/sync_agent_settings.ts +23 -4
- package/src/scripts/sync_github_metadata.ts +23 -4
- package/src/scripts/sync_gitignore.ts +23 -4
- package/src/scripts/telegraph_stats.ts +23 -4
- package/src/scripts/tool_registry.ts +24 -4
- package/src/scripts/trigger_coverage.ts +23 -4
- package/src/scripts/update_counts.ts +23 -4
- package/src/scripts/update_prices.ts +23 -1
- package/src/scripts/validate_agent_settings.ts +23 -4
- package/src/scripts/validate_decision_engine.ts +23 -4
- package/src/scripts/validate_discovery_manifest.ts +23 -4
- package/src/scripts/validate_frontmatter.ts +23 -2
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/scripts/validate_safe_paths.ts +24 -4
- package/src/scripts/validate_telegraph_carveouts.ts +23 -4
- package/src/scripts/verify_before_complete_hook.ts +24 -3
- package/src/scripts/verify_physical_move.ts +23 -4
- package/src/scripts/wrapper_freshness_hook.ts +107 -8
- package/tests/fixtures/hooks/README.md +92 -0
- package/tests/fixtures/hooks/agent_error.json +7 -0
- package/tests/fixtures/hooks/post_tool_use.json +13 -0
- package/tests/fixtures/hooks/pre_compact.json +7 -0
- package/tests/fixtures/hooks/pre_tool_use.json +9 -0
- package/tests/fixtures/hooks/session_end.json +6 -0
- package/tests/fixtures/hooks/session_start.json +6 -0
- package/tests/fixtures/hooks/stop.json +6 -0
- package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
|
@@ -428,7 +428,29 @@ function pyRStrip(s: string): string {
|
|
|
428
428
|
return s.replace(/\s+$/, '');
|
|
429
429
|
}
|
|
430
430
|
|
|
431
|
-
|
|
431
|
+
function _isCliEntry(): boolean {
|
|
432
|
+
if (process.argv[1] === undefined) {
|
|
433
|
+
return false;
|
|
434
|
+
}
|
|
435
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
436
|
+
if (import.meta.url === argvUrl) {
|
|
437
|
+
return true;
|
|
438
|
+
}
|
|
439
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
440
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
441
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
442
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
443
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
444
|
+
try {
|
|
445
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
446
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
447
|
+
return here === argv;
|
|
448
|
+
} catch {
|
|
449
|
+
return false;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
const _isMain = _isCliEntry();
|
|
432
454
|
if (_isMain) {
|
|
433
455
|
process.exitCode = main();
|
|
434
456
|
}
|
|
@@ -259,8 +259,28 @@ export function main(argv: string[] | null = null): number {
|
|
|
259
259
|
return 0;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
|
|
263
|
-
process.argv[1]
|
|
264
|
-
|
|
262
|
+
function _isCliEntry(): boolean {
|
|
263
|
+
if (process.argv[1] === undefined) {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
267
|
+
if (import.meta.url === argvUrl) {
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
271
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
272
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
273
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
274
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
275
|
+
try {
|
|
276
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
277
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
278
|
+
return here === argv;
|
|
279
|
+
} catch {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
265
285
|
process.exit(main());
|
|
266
286
|
}
|
|
@@ -416,6 +416,28 @@ function _pyRStrip(s: string): string {
|
|
|
416
416
|
return s.replace(/\s+$/u, '');
|
|
417
417
|
}
|
|
418
418
|
|
|
419
|
-
|
|
419
|
+
function _isCliEntry(): boolean {
|
|
420
|
+
if (process.argv[1] === undefined) {
|
|
421
|
+
return false;
|
|
422
|
+
}
|
|
423
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
424
|
+
if (import.meta.url === argvUrl) {
|
|
425
|
+
return true;
|
|
426
|
+
}
|
|
427
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
428
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
429
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
430
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
431
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
432
|
+
try {
|
|
433
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
434
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
435
|
+
return here === argv;
|
|
436
|
+
} catch {
|
|
437
|
+
return false;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
if (_isCliEntry()) {
|
|
420
442
|
process.exitCode = main();
|
|
421
443
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import * as fs from 'node:fs';
|
|
24
24
|
import * as path from 'node:path';
|
|
25
|
-
import { pathToFileURL } from 'node:url';
|
|
25
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
26
26
|
|
|
27
27
|
import { artefact_roots } from './_lib/agent_src.js';
|
|
28
28
|
|
|
@@ -394,7 +394,29 @@ export function main(argv: string[] | null = null): number {
|
|
|
394
394
|
return 0;
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
-
|
|
397
|
+
function _isCliEntry(): boolean {
|
|
398
|
+
if (process.argv[1] === undefined) {
|
|
399
|
+
return false;
|
|
400
|
+
}
|
|
401
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
402
|
+
if (import.meta.url === argvUrl) {
|
|
403
|
+
return true;
|
|
404
|
+
}
|
|
405
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
406
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
407
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
408
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
409
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
410
|
+
try {
|
|
411
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
412
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
413
|
+
return here === argv;
|
|
414
|
+
} catch {
|
|
415
|
+
return false;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
const _isMain = _isCliEntry();
|
|
398
420
|
if (_isMain) {
|
|
399
421
|
// Set exitCode rather than process.exit() so a large (>64 KB) stdout write
|
|
400
422
|
// fully drains to the pipe before the process exits.
|
|
@@ -570,7 +570,29 @@ export function parse_args(argv: string[]): Args {
|
|
|
570
570
|
return args;
|
|
571
571
|
}
|
|
572
572
|
|
|
573
|
-
|
|
573
|
+
function _isCliEntry(): boolean {
|
|
574
|
+
if (process.argv[1] === undefined) {
|
|
575
|
+
return false;
|
|
576
|
+
}
|
|
577
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
578
|
+
if (import.meta.url === argvUrl) {
|
|
579
|
+
return true;
|
|
580
|
+
}
|
|
581
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
582
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
583
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
584
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
585
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
586
|
+
try {
|
|
587
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
588
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
589
|
+
return here === argv;
|
|
590
|
+
} catch {
|
|
591
|
+
return false;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
const _isMain = _isCliEntry();
|
|
574
596
|
if (_isMain) {
|
|
575
597
|
process.exitCode = main();
|
|
576
598
|
}
|
|
@@ -256,9 +256,28 @@ export function main(argv: string[]): number {
|
|
|
256
256
|
return orphans.size > 0 ? 1 : 0;
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
-
|
|
260
|
-
process.argv[1]
|
|
261
|
-
|
|
262
|
-
|
|
259
|
+
function _isCliEntry(): boolean {
|
|
260
|
+
if (process.argv[1] === undefined) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
264
|
+
if (import.meta.url === argvUrl) {
|
|
265
|
+
return true;
|
|
266
|
+
}
|
|
267
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
268
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
269
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
270
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
271
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
272
|
+
try {
|
|
273
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
274
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
275
|
+
return here === argv;
|
|
276
|
+
} catch {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
263
282
|
process.exit(main(process.argv.slice(2)));
|
|
264
283
|
}
|
|
@@ -341,9 +341,28 @@ export function main(argv: readonly string[] = process.argv.slice(2)): number {
|
|
|
341
341
|
return run(!args.dry_run);
|
|
342
342
|
}
|
|
343
343
|
|
|
344
|
-
|
|
345
|
-
process.argv[1]
|
|
346
|
-
|
|
347
|
-
|
|
344
|
+
function _isCliEntry(): boolean {
|
|
345
|
+
if (process.argv[1] === undefined) {
|
|
346
|
+
return false;
|
|
347
|
+
}
|
|
348
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
349
|
+
if (import.meta.url === argvUrl) {
|
|
350
|
+
return true;
|
|
351
|
+
}
|
|
352
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
353
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
354
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
355
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
356
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
357
|
+
try {
|
|
358
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
359
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
360
|
+
return here === argv;
|
|
361
|
+
} catch {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
348
367
|
process.exit(main());
|
|
349
368
|
}
|
|
@@ -113,7 +113,29 @@ export function main(argv: string[] | null = null): number {
|
|
|
113
113
|
return result.status ?? 1;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
function _isCliEntry(): boolean {
|
|
117
|
+
if (process.argv[1] === undefined) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
121
|
+
if (import.meta.url === argvUrl) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
125
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
126
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
127
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
128
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
129
|
+
try {
|
|
130
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
131
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
132
|
+
return here === argv;
|
|
133
|
+
} catch {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (_isCliEntry()) {
|
|
117
139
|
try {
|
|
118
140
|
process.exitCode = main();
|
|
119
141
|
} catch (e) {
|
|
@@ -603,8 +603,30 @@ function _escapeNonAscii(s: string): string {
|
|
|
603
603
|
return out;
|
|
604
604
|
}
|
|
605
605
|
|
|
606
|
+
function _isCliEntry(): boolean {
|
|
607
|
+
if (process.argv[1] === undefined) {
|
|
608
|
+
return false;
|
|
609
|
+
}
|
|
610
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
611
|
+
if (import.meta.url === argvUrl) {
|
|
612
|
+
return true;
|
|
613
|
+
}
|
|
614
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
615
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
616
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
617
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
618
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
619
|
+
try {
|
|
620
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
621
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
622
|
+
return here === argv;
|
|
623
|
+
} catch {
|
|
624
|
+
return false;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
|
|
606
628
|
const _isMain =
|
|
607
|
-
|
|
629
|
+
_isCliEntry();
|
|
608
630
|
if (_isMain) {
|
|
609
631
|
process.exit(main());
|
|
610
632
|
}
|
|
@@ -602,8 +602,30 @@ function _escapeNonAscii(s: string): string {
|
|
|
602
602
|
return out;
|
|
603
603
|
}
|
|
604
604
|
|
|
605
|
+
function _isCliEntry(): boolean {
|
|
606
|
+
if (process.argv[1] === undefined) {
|
|
607
|
+
return false;
|
|
608
|
+
}
|
|
609
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
610
|
+
if (import.meta.url === argvUrl) {
|
|
611
|
+
return true;
|
|
612
|
+
}
|
|
613
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
614
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
615
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
616
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
617
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
618
|
+
try {
|
|
619
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
620
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
621
|
+
return here === argv;
|
|
622
|
+
} catch {
|
|
623
|
+
return false;
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
|
|
605
627
|
const _isMain =
|
|
606
|
-
|
|
628
|
+
_isCliEntry();
|
|
607
629
|
if (_isMain) {
|
|
608
630
|
process.exit(main());
|
|
609
631
|
}
|
|
@@ -254,8 +254,30 @@ function _strCmp(x: string, y: string): number {
|
|
|
254
254
|
return x < y ? -1 : x > y ? 1 : 0;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
|
+
function _isCliEntry(): boolean {
|
|
258
|
+
if (process.argv[1] === undefined) {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
262
|
+
if (import.meta.url === argvUrl) {
|
|
263
|
+
return true;
|
|
264
|
+
}
|
|
265
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
266
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
267
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
268
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
269
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
270
|
+
try {
|
|
271
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
272
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
273
|
+
return here === argv;
|
|
274
|
+
} catch {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
257
279
|
const _isMain =
|
|
258
|
-
|
|
280
|
+
_isCliEntry();
|
|
259
281
|
if (_isMain) {
|
|
260
282
|
process.exit(main());
|
|
261
283
|
}
|
|
@@ -408,9 +408,30 @@ function _jsonDumps(obj: Json, indent: number): string {
|
|
|
408
408
|
return enc(obj, 0);
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
+
function _isCliEntry(): boolean {
|
|
412
|
+
if (process.argv[1] === undefined) {
|
|
413
|
+
return false;
|
|
414
|
+
}
|
|
415
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
416
|
+
if (import.meta.url === argvUrl) {
|
|
417
|
+
return true;
|
|
418
|
+
}
|
|
419
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
420
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
421
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
422
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
423
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
424
|
+
try {
|
|
425
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
426
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
427
|
+
return here === argv;
|
|
428
|
+
} catch {
|
|
429
|
+
return false;
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
|
|
411
433
|
const _IS_MAIN =
|
|
412
|
-
|
|
413
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
434
|
+
_isCliEntry();
|
|
414
435
|
|
|
415
436
|
if (_IS_MAIN) {
|
|
416
437
|
process.exit(main());
|
|
@@ -1369,7 +1369,29 @@ function _yamlSafeLoad(s: string): unknown {
|
|
|
1369
1369
|
return parseYaml(s, { version: '1.1' });
|
|
1370
1370
|
}
|
|
1371
1371
|
|
|
1372
|
-
|
|
1372
|
+
function _isCliEntry(): boolean {
|
|
1373
|
+
if (process.argv[1] === undefined) {
|
|
1374
|
+
return false;
|
|
1375
|
+
}
|
|
1376
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
1377
|
+
if (import.meta.url === argvUrl) {
|
|
1378
|
+
return true;
|
|
1379
|
+
}
|
|
1380
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
1381
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
1382
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
1383
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
1384
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
1385
|
+
try {
|
|
1386
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
1387
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
1388
|
+
return here === argv;
|
|
1389
|
+
} catch {
|
|
1390
|
+
return false;
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
if (_isCliEntry()) {
|
|
1373
1395
|
try {
|
|
1374
1396
|
process.exitCode = main();
|
|
1375
1397
|
} catch (e) {
|
|
@@ -427,9 +427,30 @@ function _jsonDumps(obj: Json, indent: number): string {
|
|
|
427
427
|
return enc(obj, 0);
|
|
428
428
|
}
|
|
429
429
|
|
|
430
|
+
function _isCliEntry(): boolean {
|
|
431
|
+
if (process.argv[1] === undefined) {
|
|
432
|
+
return false;
|
|
433
|
+
}
|
|
434
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
435
|
+
if (import.meta.url === argvUrl) {
|
|
436
|
+
return true;
|
|
437
|
+
}
|
|
438
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
439
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
440
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
441
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
442
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
443
|
+
try {
|
|
444
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
445
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
446
|
+
return here === argv;
|
|
447
|
+
} catch {
|
|
448
|
+
return false;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
430
452
|
const _IS_MAIN =
|
|
431
|
-
|
|
432
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
453
|
+
_isCliEntry();
|
|
433
454
|
|
|
434
455
|
if (_IS_MAIN) {
|
|
435
456
|
process.exit(main());
|
|
@@ -1224,7 +1224,29 @@ function _jsonDumps(obj: Json, indent: number): string {
|
|
|
1224
1224
|
return enc(obj, 0);
|
|
1225
1225
|
}
|
|
1226
1226
|
|
|
1227
|
-
|
|
1227
|
+
function _isCliEntry(): boolean {
|
|
1228
|
+
if (process.argv[1] === undefined) {
|
|
1229
|
+
return false;
|
|
1230
|
+
}
|
|
1231
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
1232
|
+
if (import.meta.url === argvUrl) {
|
|
1233
|
+
return true;
|
|
1234
|
+
}
|
|
1235
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
1236
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
1237
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
1238
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
1239
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
1240
|
+
try {
|
|
1241
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
1242
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
1243
|
+
return here === argv;
|
|
1244
|
+
} catch {
|
|
1245
|
+
return false;
|
|
1246
|
+
}
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
1228
1250
|
try {
|
|
1229
1251
|
process.exitCode = main();
|
|
1230
1252
|
} catch (e) {
|
|
@@ -1050,7 +1050,29 @@ function _pyThousands(n: number): string {
|
|
|
1050
1050
|
return neg ? `-${out}` : out;
|
|
1051
1051
|
}
|
|
1052
1052
|
|
|
1053
|
-
|
|
1053
|
+
function _isCliEntry(): boolean {
|
|
1054
|
+
if (process.argv[1] === undefined) {
|
|
1055
|
+
return false;
|
|
1056
|
+
}
|
|
1057
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
1058
|
+
if (import.meta.url === argvUrl) {
|
|
1059
|
+
return true;
|
|
1060
|
+
}
|
|
1061
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
1062
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
1063
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
1064
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
1065
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
1066
|
+
try {
|
|
1067
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
1068
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
1069
|
+
return here === argv;
|
|
1070
|
+
} catch {
|
|
1071
|
+
return false;
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
1054
1076
|
try {
|
|
1055
1077
|
process.exitCode = main();
|
|
1056
1078
|
} catch (e) {
|
|
@@ -313,7 +313,29 @@ function _pyInt(s: string, flag: string): number {
|
|
|
313
313
|
return parseInt(trimmed, 10);
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
|
|
316
|
+
function _isCliEntry(): boolean {
|
|
317
|
+
if (process.argv[1] === undefined) {
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
320
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
321
|
+
if (import.meta.url === argvUrl) {
|
|
322
|
+
return true;
|
|
323
|
+
}
|
|
324
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
325
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
326
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
327
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
328
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
329
|
+
try {
|
|
330
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
331
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
332
|
+
return here === argv;
|
|
333
|
+
} catch {
|
|
334
|
+
return false;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
if (_isCliEntry()) {
|
|
317
339
|
try {
|
|
318
340
|
process.exitCode = main();
|
|
319
341
|
} catch (e) {
|
|
@@ -472,8 +472,30 @@ export function main(): number {
|
|
|
472
472
|
return 0;
|
|
473
473
|
}
|
|
474
474
|
|
|
475
|
+
function _isCliEntry(): boolean {
|
|
476
|
+
if (process.argv[1] === undefined) {
|
|
477
|
+
return false;
|
|
478
|
+
}
|
|
479
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
480
|
+
if (import.meta.url === argvUrl) {
|
|
481
|
+
return true;
|
|
482
|
+
}
|
|
483
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
484
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
485
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
486
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
487
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
488
|
+
try {
|
|
489
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
490
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
491
|
+
return here === argv;
|
|
492
|
+
} catch {
|
|
493
|
+
return false;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
475
497
|
const _isMain =
|
|
476
|
-
|
|
498
|
+
_isCliEntry();
|
|
477
499
|
if (_isMain) {
|
|
478
500
|
process.exit(main());
|
|
479
501
|
}
|
|
@@ -494,9 +494,30 @@ function _encStrCompact(s: string): string {
|
|
|
494
494
|
return out + '"';
|
|
495
495
|
}
|
|
496
496
|
|
|
497
|
+
function _isCliEntry(): boolean {
|
|
498
|
+
if (process.argv[1] === undefined) {
|
|
499
|
+
return false;
|
|
500
|
+
}
|
|
501
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
502
|
+
if (import.meta.url === argvUrl) {
|
|
503
|
+
return true;
|
|
504
|
+
}
|
|
505
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
506
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
507
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
508
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
509
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
510
|
+
try {
|
|
511
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
512
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
513
|
+
return here === argv;
|
|
514
|
+
} catch {
|
|
515
|
+
return false;
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
|
|
497
519
|
const _IS_MAIN =
|
|
498
|
-
|
|
499
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
520
|
+
_isCliEntry();
|
|
500
521
|
|
|
501
522
|
if (_IS_MAIN) {
|
|
502
523
|
process.exit(main());
|
|
@@ -258,9 +258,28 @@ export function main(argv: string[] | null = null): number {
|
|
|
258
258
|
|
|
259
259
|
// --- CLI entry ---
|
|
260
260
|
|
|
261
|
-
|
|
262
|
-
process.argv[1]
|
|
263
|
-
|
|
264
|
-
|
|
261
|
+
function _isCliEntry(): boolean {
|
|
262
|
+
if (process.argv[1] === undefined) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
266
|
+
if (import.meta.url === argvUrl) {
|
|
267
|
+
return true;
|
|
268
|
+
}
|
|
269
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
270
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
271
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
272
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
273
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
274
|
+
try {
|
|
275
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
276
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
277
|
+
return here === argv;
|
|
278
|
+
} catch {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
265
284
|
process.exitCode = main(process.argv.slice(2));
|
|
266
285
|
}
|