@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
|
@@ -578,7 +578,29 @@ function _yamlSafeLoad(s: string): unknown {
|
|
|
578
578
|
return parseYaml(s, { version: '1.1' });
|
|
579
579
|
}
|
|
580
580
|
|
|
581
|
-
|
|
581
|
+
function _isCliEntry(): boolean {
|
|
582
|
+
if (process.argv[1] === undefined) {
|
|
583
|
+
return false;
|
|
584
|
+
}
|
|
585
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
586
|
+
if (import.meta.url === argvUrl) {
|
|
587
|
+
return true;
|
|
588
|
+
}
|
|
589
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
590
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
591
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
592
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
593
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
594
|
+
try {
|
|
595
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
596
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
597
|
+
return here === argv;
|
|
598
|
+
} catch {
|
|
599
|
+
return false;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
if (_isCliEntry()) {
|
|
582
604
|
try {
|
|
583
605
|
process.exitCode = main();
|
|
584
606
|
} catch (e) {
|
|
@@ -243,9 +243,30 @@ function main(argv: string[]): number {
|
|
|
243
243
|
return 0;
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
+
function _isCliEntry(): boolean {
|
|
247
|
+
if (process.argv[1] === undefined) {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
251
|
+
if (import.meta.url === argvUrl) {
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
255
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
256
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
257
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
258
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
259
|
+
try {
|
|
260
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
261
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
262
|
+
return here === argv;
|
|
263
|
+
} catch {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
246
268
|
const _IS_MAIN =
|
|
247
|
-
|
|
248
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
269
|
+
_isCliEntry();
|
|
249
270
|
if (_IS_MAIN) {
|
|
250
271
|
process.exit(main(process.argv.slice(2)));
|
|
251
272
|
}
|
|
@@ -703,8 +703,30 @@ function _jsonStrUnicode(s: string): string {
|
|
|
703
703
|
return `${out}"`;
|
|
704
704
|
}
|
|
705
705
|
|
|
706
|
+
function _isCliEntry(): boolean {
|
|
707
|
+
if (process.argv[1] === undefined) {
|
|
708
|
+
return false;
|
|
709
|
+
}
|
|
710
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
711
|
+
if (import.meta.url === argvUrl) {
|
|
712
|
+
return true;
|
|
713
|
+
}
|
|
714
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
715
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
716
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
717
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
718
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
719
|
+
try {
|
|
720
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
721
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
722
|
+
return here === argv;
|
|
723
|
+
} catch {
|
|
724
|
+
return false;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
|
|
706
728
|
const _isMain =
|
|
707
|
-
|
|
729
|
+
_isCliEntry();
|
|
708
730
|
if (_isMain) {
|
|
709
731
|
process.exit(main());
|
|
710
732
|
}
|
|
@@ -167,9 +167,30 @@ function main(argv: string[]): number {
|
|
|
167
167
|
return 0;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
+
function _isCliEntry(): boolean {
|
|
171
|
+
if (process.argv[1] === undefined) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
175
|
+
if (import.meta.url === argvUrl) {
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
179
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
180
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
181
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
182
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
183
|
+
try {
|
|
184
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
185
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
186
|
+
return here === argv;
|
|
187
|
+
} catch {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
170
192
|
const _IS_MAIN =
|
|
171
|
-
|
|
172
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
193
|
+
_isCliEntry();
|
|
173
194
|
|
|
174
195
|
if (_IS_MAIN) {
|
|
175
196
|
process.exit(main(process.argv.slice(2)));
|
package/src/scripts/bench_run.ts
CHANGED
|
@@ -500,9 +500,30 @@ function _pyFixed(x: number, ndigits: number): string {
|
|
|
500
500
|
return neg ? `-${result}` : result;
|
|
501
501
|
}
|
|
502
502
|
|
|
503
|
+
function _isCliEntry(): boolean {
|
|
504
|
+
if (process.argv[1] === undefined) {
|
|
505
|
+
return false;
|
|
506
|
+
}
|
|
507
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
508
|
+
if (import.meta.url === argvUrl) {
|
|
509
|
+
return true;
|
|
510
|
+
}
|
|
511
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
512
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
513
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
514
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
515
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
516
|
+
try {
|
|
517
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
518
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
519
|
+
return here === argv;
|
|
520
|
+
} catch {
|
|
521
|
+
return false;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
|
|
503
525
|
const _IS_MAIN =
|
|
504
|
-
|
|
505
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
526
|
+
_isCliEntry();
|
|
506
527
|
|
|
507
528
|
if (_IS_MAIN) {
|
|
508
529
|
process.exit(main());
|
|
@@ -506,7 +506,29 @@ function _yamlSafeLoad(s: string): unknown {
|
|
|
506
506
|
return parseYaml(s, { version: '1.1' });
|
|
507
507
|
}
|
|
508
508
|
|
|
509
|
-
|
|
509
|
+
function _isCliEntry(): boolean {
|
|
510
|
+
if (process.argv[1] === undefined) {
|
|
511
|
+
return false;
|
|
512
|
+
}
|
|
513
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
514
|
+
if (import.meta.url === argvUrl) {
|
|
515
|
+
return true;
|
|
516
|
+
}
|
|
517
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
518
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
519
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
520
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
521
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
522
|
+
try {
|
|
523
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
524
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
525
|
+
return here === argv;
|
|
526
|
+
} catch {
|
|
527
|
+
return false;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
if (_isCliEntry()) {
|
|
510
532
|
try {
|
|
511
533
|
process.exitCode = main();
|
|
512
534
|
} catch (e) {
|
|
@@ -685,8 +685,28 @@ function _cliMain(): number {
|
|
|
685
685
|
}
|
|
686
686
|
}
|
|
687
687
|
|
|
688
|
-
|
|
689
|
-
process.argv[1]
|
|
690
|
-
|
|
688
|
+
function _isCliEntry(): boolean {
|
|
689
|
+
if (process.argv[1] === undefined) {
|
|
690
|
+
return false;
|
|
691
|
+
}
|
|
692
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
693
|
+
if (import.meta.url === argvUrl) {
|
|
694
|
+
return true;
|
|
695
|
+
}
|
|
696
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
697
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
698
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
699
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
700
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
701
|
+
try {
|
|
702
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
703
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
704
|
+
return here === argv;
|
|
705
|
+
} catch {
|
|
706
|
+
return false;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
691
711
|
process.exit(_cliMain());
|
|
692
712
|
}
|
|
@@ -1367,10 +1367,29 @@ function _writeAllSync(fd: number, buf: Buffer): void {
|
|
|
1367
1367
|
}
|
|
1368
1368
|
}
|
|
1369
1369
|
|
|
1370
|
-
|
|
1371
|
-
process.argv[1]
|
|
1372
|
-
|
|
1373
|
-
|
|
1370
|
+
function _isCliEntry(): boolean {
|
|
1371
|
+
if (process.argv[1] === undefined) {
|
|
1372
|
+
return false;
|
|
1373
|
+
}
|
|
1374
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
1375
|
+
if (import.meta.url === argvUrl) {
|
|
1376
|
+
return true;
|
|
1377
|
+
}
|
|
1378
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
1379
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
1380
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
1381
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
1382
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
1383
|
+
try {
|
|
1384
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
1385
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
1386
|
+
return here === argv;
|
|
1387
|
+
} catch {
|
|
1388
|
+
return false;
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
1374
1393
|
try {
|
|
1375
1394
|
process.exit(main(process.argv.slice(2)));
|
|
1376
1395
|
} catch (exc) {
|
|
@@ -361,8 +361,28 @@ function _pyListRepr(items: string[]): string {
|
|
|
361
361
|
return '[' + items.map((s) => "'" + s.replace(/\\/g, '\\\\').replace(/'/g, "\\'") + "'").join(', ') + ']';
|
|
362
362
|
}
|
|
363
363
|
|
|
364
|
-
|
|
365
|
-
process.argv[1]
|
|
366
|
-
|
|
364
|
+
function _isCliEntry(): boolean {
|
|
365
|
+
if (process.argv[1] === undefined) {
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
369
|
+
if (import.meta.url === argvUrl) {
|
|
370
|
+
return true;
|
|
371
|
+
}
|
|
372
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
373
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
374
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
375
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
376
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
377
|
+
try {
|
|
378
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
379
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
380
|
+
return here === argv;
|
|
381
|
+
} catch {
|
|
382
|
+
return false;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
367
387
|
process.exit(main());
|
|
368
388
|
}
|
|
@@ -335,10 +335,29 @@ export function pyJsonDumps(obj: Json, opts: { indent: number; sortKeys: boolean
|
|
|
335
335
|
return enc(obj, 0);
|
|
336
336
|
}
|
|
337
337
|
|
|
338
|
-
|
|
339
|
-
process.argv[1]
|
|
340
|
-
|
|
341
|
-
|
|
338
|
+
function _isCliEntry(): boolean {
|
|
339
|
+
if (process.argv[1] === undefined) {
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
343
|
+
if (import.meta.url === argvUrl) {
|
|
344
|
+
return true;
|
|
345
|
+
}
|
|
346
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
347
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
348
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
349
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
350
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
351
|
+
try {
|
|
352
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
353
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
354
|
+
return here === argv;
|
|
355
|
+
} catch {
|
|
356
|
+
return false;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
342
361
|
try {
|
|
343
362
|
process.exit(main(process.argv.slice(2)));
|
|
344
363
|
} catch (exc) {
|
|
@@ -459,10 +459,29 @@ function _pyReprList(items: string[]): string {
|
|
|
459
459
|
return '[' + items.map((s) => `'${s}'`).join(', ') + ']';
|
|
460
460
|
}
|
|
461
461
|
|
|
462
|
-
|
|
463
|
-
process.argv[1]
|
|
464
|
-
|
|
465
|
-
|
|
462
|
+
function _isCliEntry(): boolean {
|
|
463
|
+
if (process.argv[1] === undefined) {
|
|
464
|
+
return false;
|
|
465
|
+
}
|
|
466
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
467
|
+
if (import.meta.url === argvUrl) {
|
|
468
|
+
return true;
|
|
469
|
+
}
|
|
470
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
471
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
472
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
473
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
474
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
475
|
+
try {
|
|
476
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
477
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
478
|
+
return here === argv;
|
|
479
|
+
} catch {
|
|
480
|
+
return false;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
466
485
|
process.exitCode = emit();
|
|
467
486
|
}
|
|
468
487
|
|
|
@@ -718,7 +718,29 @@ function _checkChoice(v: string, choices: string[], name: string): string {
|
|
|
718
718
|
return v;
|
|
719
719
|
}
|
|
720
720
|
|
|
721
|
-
|
|
721
|
+
function _isCliEntry(): boolean {
|
|
722
|
+
if (process.argv[1] === undefined) {
|
|
723
|
+
return false;
|
|
724
|
+
}
|
|
725
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
726
|
+
if (import.meta.url === argvUrl) {
|
|
727
|
+
return true;
|
|
728
|
+
}
|
|
729
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
730
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
731
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
732
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
733
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
734
|
+
try {
|
|
735
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
736
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
737
|
+
return here === argv;
|
|
738
|
+
} catch {
|
|
739
|
+
return false;
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
const _isMain = _isCliEntry();
|
|
722
744
|
if (_isMain) {
|
|
723
745
|
process.exitCode = main();
|
|
724
746
|
}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
import { createHash } from 'node:crypto';
|
|
42
42
|
import * as fs from 'node:fs';
|
|
43
43
|
import * as path from 'node:path';
|
|
44
|
-
import { pathToFileURL } from 'node:url';
|
|
44
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
45
45
|
|
|
46
46
|
import { load_agent_settings } from './_lib/agent_settings.js';
|
|
47
47
|
|
|
@@ -2282,9 +2282,30 @@ export function main(argv: string[] = process.argv.slice(2)): number {
|
|
|
2282
2282
|
}
|
|
2283
2283
|
}
|
|
2284
2284
|
|
|
2285
|
+
function _isCliEntry(): boolean {
|
|
2286
|
+
if (process.argv[1] === undefined) {
|
|
2287
|
+
return false;
|
|
2288
|
+
}
|
|
2289
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
2290
|
+
if (import.meta.url === argvUrl) {
|
|
2291
|
+
return true;
|
|
2292
|
+
}
|
|
2293
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
2294
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
2295
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
2296
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
2297
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
2298
|
+
try {
|
|
2299
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
2300
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
2301
|
+
return here === argv;
|
|
2302
|
+
} catch {
|
|
2303
|
+
return false;
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2285
2307
|
const _invokedDirectly =
|
|
2286
|
-
|
|
2287
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
2308
|
+
_isCliEntry();
|
|
2288
2309
|
if (_invokedDirectly) {
|
|
2289
2310
|
try {
|
|
2290
2311
|
process.exitCode = main();
|
|
@@ -680,9 +680,30 @@ function isDir(p: string): boolean {
|
|
|
680
680
|
}
|
|
681
681
|
}
|
|
682
682
|
|
|
683
|
+
function _isCliEntry(): boolean {
|
|
684
|
+
if (process.argv[1] === undefined) {
|
|
685
|
+
return false;
|
|
686
|
+
}
|
|
687
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
688
|
+
if (import.meta.url === argvUrl) {
|
|
689
|
+
return true;
|
|
690
|
+
}
|
|
691
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
692
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
693
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
694
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
695
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
696
|
+
try {
|
|
697
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
698
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
699
|
+
return here === argv;
|
|
700
|
+
} catch {
|
|
701
|
+
return false;
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
|
|
683
705
|
const isMain =
|
|
684
|
-
|
|
685
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
706
|
+
_isCliEntry();
|
|
686
707
|
|
|
687
708
|
if (isMain) {
|
|
688
709
|
process.exit(main());
|
|
@@ -263,10 +263,29 @@ function main(argv: readonly string[]): number {
|
|
|
263
263
|
return 0;
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
|
|
267
|
-
process.argv[1]
|
|
268
|
-
|
|
269
|
-
|
|
266
|
+
function _isCliEntry(): boolean {
|
|
267
|
+
if (process.argv[1] === undefined) {
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
270
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
271
|
+
if (import.meta.url === argvUrl) {
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
275
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
276
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
277
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
278
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
279
|
+
try {
|
|
280
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
281
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
282
|
+
return here === argv;
|
|
283
|
+
} catch {
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
270
289
|
process.exit(main(process.argv.slice(2)));
|
|
271
290
|
}
|
|
272
291
|
|
|
@@ -123,10 +123,29 @@ export function main(): number {
|
|
|
123
123
|
return 0;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
process.argv[1]
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
function _isCliEntry(): boolean {
|
|
127
|
+
if (process.argv[1] === undefined) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
131
|
+
if (import.meta.url === argvUrl) {
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
135
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
136
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
137
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
138
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
139
|
+
try {
|
|
140
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
141
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
142
|
+
return here === argv;
|
|
143
|
+
} catch {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
130
149
|
process.exit(main());
|
|
131
150
|
}
|
|
132
151
|
|
|
@@ -98,10 +98,29 @@ function check(): number {
|
|
|
98
98
|
return 0;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
process.argv[1]
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
function _isCliEntry(): boolean {
|
|
102
|
+
if (process.argv[1] === undefined) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
106
|
+
if (import.meta.url === argvUrl) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
110
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
111
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
112
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
113
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
114
|
+
try {
|
|
115
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
116
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
117
|
+
return here === argv;
|
|
118
|
+
} catch {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
105
124
|
process.exit(check());
|
|
106
125
|
}
|
|
107
126
|
|
|
@@ -210,10 +210,29 @@ function main(): number {
|
|
|
210
210
|
return violations.some((v) => v.severity === 'error') ? 1 : 0;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
|
|
214
|
-
process.argv[1]
|
|
215
|
-
|
|
216
|
-
|
|
213
|
+
function _isCliEntry(): boolean {
|
|
214
|
+
if (process.argv[1] === undefined) {
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
218
|
+
if (import.meta.url === argvUrl) {
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
222
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
223
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
224
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
225
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
226
|
+
try {
|
|
227
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
228
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
229
|
+
return here === argv;
|
|
230
|
+
} catch {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
217
236
|
try {
|
|
218
237
|
process.exit(main());
|
|
219
238
|
} catch (exc) {
|
|
@@ -275,10 +275,29 @@ function _pyList(items: readonly string[]): string {
|
|
|
275
275
|
return '[' + items.map((s) => `'${s}'`).join(', ') + ']';
|
|
276
276
|
}
|
|
277
277
|
|
|
278
|
-
|
|
279
|
-
process.argv[1]
|
|
280
|
-
|
|
281
|
-
|
|
278
|
+
function _isCliEntry(): boolean {
|
|
279
|
+
if (process.argv[1] === undefined) {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
283
|
+
if (import.meta.url === argvUrl) {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
287
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
288
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
289
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
290
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
291
|
+
try {
|
|
292
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
293
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
294
|
+
return here === argv;
|
|
295
|
+
} catch {
|
|
296
|
+
return false;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
282
301
|
process.exit(main());
|
|
283
302
|
}
|
|
284
303
|
|