@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
|
@@ -177,10 +177,29 @@ function main(): number {
|
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
const _HERE = fileURLToPath(import.meta.url);
|
|
180
|
-
|
|
181
|
-
process.argv[1]
|
|
182
|
-
|
|
183
|
-
|
|
180
|
+
function _isCliEntry(): boolean {
|
|
181
|
+
if (process.argv[1] === undefined) {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
185
|
+
if (import.meta.url === argvUrl) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
189
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
190
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
191
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
192
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
193
|
+
try {
|
|
194
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
195
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
196
|
+
return here === argv;
|
|
197
|
+
} catch {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
184
203
|
try {
|
|
185
204
|
process.exit(main());
|
|
186
205
|
} catch (exc) {
|
|
@@ -338,10 +338,29 @@ function main(argv: readonly string[] = process.argv.slice(2)): number {
|
|
|
338
338
|
return code;
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
|
|
342
|
-
process.argv[1]
|
|
343
|
-
|
|
344
|
-
|
|
341
|
+
function _isCliEntry(): boolean {
|
|
342
|
+
if (process.argv[1] === undefined) {
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
346
|
+
if (import.meta.url === argvUrl) {
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
349
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
350
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
351
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
352
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
353
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
354
|
+
try {
|
|
355
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
356
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
357
|
+
return here === argv;
|
|
358
|
+
} catch {
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
345
364
|
process.exit(main());
|
|
346
365
|
}
|
|
347
366
|
|
|
@@ -248,10 +248,29 @@ function main(): number {
|
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
const _HERE = fileURLToPath(import.meta.url);
|
|
251
|
-
|
|
252
|
-
process.argv[1]
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
function _isCliEntry(): boolean {
|
|
252
|
+
if (process.argv[1] === undefined) {
|
|
253
|
+
return false;
|
|
254
|
+
}
|
|
255
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
256
|
+
if (import.meta.url === argvUrl) {
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
260
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
261
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
262
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
263
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
264
|
+
try {
|
|
265
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
266
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
267
|
+
return here === argv;
|
|
268
|
+
} catch {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
255
274
|
process.exit(main());
|
|
256
275
|
}
|
|
257
276
|
|
|
@@ -177,10 +177,29 @@ function main(argv?: readonly string[]): number {
|
|
|
177
177
|
return 0;
|
|
178
178
|
}
|
|
179
179
|
|
|
180
|
-
|
|
181
|
-
process.argv[1]
|
|
182
|
-
|
|
183
|
-
|
|
180
|
+
function _isCliEntry(): boolean {
|
|
181
|
+
if (process.argv[1] === undefined) {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
185
|
+
if (import.meta.url === argvUrl) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
189
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
190
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
191
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
192
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
193
|
+
try {
|
|
194
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
195
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
196
|
+
return here === argv;
|
|
197
|
+
} catch {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
184
203
|
process.exit(main());
|
|
185
204
|
}
|
|
186
205
|
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { spawnSync } from 'node:child_process';
|
|
23
23
|
import * as path from 'node:path';
|
|
24
|
+
import * as fs from 'node:fs';
|
|
24
25
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
25
26
|
|
|
26
27
|
const _HERE = fileURLToPath(import.meta.url);
|
|
@@ -150,10 +151,29 @@ function main(): number {
|
|
|
150
151
|
return 0;
|
|
151
152
|
}
|
|
152
153
|
|
|
153
|
-
|
|
154
|
-
process.argv[1]
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
function _isCliEntry(): boolean {
|
|
155
|
+
if (process.argv[1] === undefined) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
159
|
+
if (import.meta.url === argvUrl) {
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
163
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
164
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
165
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
166
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
167
|
+
try {
|
|
168
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
169
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
170
|
+
return here === argv;
|
|
171
|
+
} catch {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
157
177
|
process.exit(main());
|
|
158
178
|
}
|
|
159
179
|
|
|
@@ -130,6 +130,28 @@ export function main(argv: string[] = process.argv.slice(2)): number {
|
|
|
130
130
|
return 0;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
+
function _isCliEntry(): boolean {
|
|
134
|
+
if (process.argv[1] === undefined) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
138
|
+
if (import.meta.url === argvUrl) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
142
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
143
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
144
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
145
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
146
|
+
try {
|
|
147
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
148
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
149
|
+
return here === argv;
|
|
150
|
+
} catch {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
133
155
|
const _isCli =
|
|
134
|
-
|
|
156
|
+
_isCliEntry();
|
|
135
157
|
if (_isCli) process.exit(main());
|
|
@@ -94,6 +94,28 @@ export function main(argv: string[] = process.argv.slice(2)): number {
|
|
|
94
94
|
return 0;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
function _isCliEntry(): boolean {
|
|
98
|
+
if (process.argv[1] === undefined) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
102
|
+
if (import.meta.url === argvUrl) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
106
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
107
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
108
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
109
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
110
|
+
try {
|
|
111
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
112
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
113
|
+
return here === argv;
|
|
114
|
+
} catch {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
97
119
|
const _isCli =
|
|
98
|
-
|
|
120
|
+
_isCliEntry();
|
|
99
121
|
if (_isCli) process.exit(main());
|
|
@@ -188,10 +188,29 @@ function _intersects(a: Set<string>, b: Set<string>): boolean {
|
|
|
188
188
|
return false;
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
|
|
192
|
-
process.argv[1]
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
function _isCliEntry(): boolean {
|
|
192
|
+
if (process.argv[1] === undefined) {
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
196
|
+
if (import.meta.url === argvUrl) {
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
200
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
201
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
202
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
203
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
204
|
+
try {
|
|
205
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
206
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
207
|
+
return here === argv;
|
|
208
|
+
} catch {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
195
214
|
process.exit(main());
|
|
196
215
|
}
|
|
197
216
|
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { spawnSync } from 'node:child_process';
|
|
29
29
|
import * as path from 'node:path';
|
|
30
|
+
import * as fs from 'node:fs';
|
|
30
31
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
31
32
|
|
|
32
33
|
const QUIET = process.argv.includes('--quiet');
|
|
@@ -152,10 +153,29 @@ function main(): number {
|
|
|
152
153
|
}
|
|
153
154
|
|
|
154
155
|
const _HERE = fileURLToPath(import.meta.url);
|
|
155
|
-
|
|
156
|
-
process.argv[1]
|
|
157
|
-
|
|
158
|
-
|
|
156
|
+
function _isCliEntry(): boolean {
|
|
157
|
+
if (process.argv[1] === undefined) {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
161
|
+
if (import.meta.url === argvUrl) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
165
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
166
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
167
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
168
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
169
|
+
try {
|
|
170
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
171
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
172
|
+
return here === argv;
|
|
173
|
+
} catch {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
159
179
|
process.exit(main());
|
|
160
180
|
}
|
|
161
181
|
|
|
@@ -549,10 +549,29 @@ function main(argv?: readonly string[]): number {
|
|
|
549
549
|
}
|
|
550
550
|
|
|
551
551
|
const _HERE = fileURLToPath(import.meta.url);
|
|
552
|
-
|
|
553
|
-
process.argv[1]
|
|
554
|
-
|
|
555
|
-
|
|
552
|
+
function _isCliEntry(): boolean {
|
|
553
|
+
if (process.argv[1] === undefined) {
|
|
554
|
+
return false;
|
|
555
|
+
}
|
|
556
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
557
|
+
if (import.meta.url === argvUrl) {
|
|
558
|
+
return true;
|
|
559
|
+
}
|
|
560
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
561
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
562
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
563
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
564
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
565
|
+
try {
|
|
566
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
567
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
568
|
+
return here === argv;
|
|
569
|
+
} catch {
|
|
570
|
+
return false;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
556
575
|
process.exit(main());
|
|
557
576
|
}
|
|
558
577
|
|
|
@@ -203,10 +203,29 @@ function main(argv: readonly string[] = []): number {
|
|
|
203
203
|
return 0;
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
|
|
207
|
-
process.argv[1]
|
|
208
|
-
|
|
209
|
-
|
|
206
|
+
function _isCliEntry(): boolean {
|
|
207
|
+
if (process.argv[1] === undefined) {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
211
|
+
if (import.meta.url === argvUrl) {
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
215
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
216
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
217
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
218
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
219
|
+
try {
|
|
220
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
221
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
222
|
+
return here === argv;
|
|
223
|
+
} catch {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
210
229
|
process.exit(main(process.argv.slice(2)));
|
|
211
230
|
}
|
|
212
231
|
|
|
@@ -214,10 +214,29 @@ function _set_hooks_for_test(overrides: Partial<typeof _hooks>): void {
|
|
|
214
214
|
Object.assign(_hooks, overrides);
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
|
|
218
|
-
process.argv[1]
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
function _isCliEntry(): boolean {
|
|
218
|
+
if (process.argv[1] === undefined) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
222
|
+
if (import.meta.url === argvUrl) {
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
226
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
227
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
228
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
229
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
230
|
+
try {
|
|
231
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
232
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
233
|
+
return here === argv;
|
|
234
|
+
} catch {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
221
240
|
process.exit(main());
|
|
222
241
|
}
|
|
223
242
|
|
|
@@ -173,10 +173,29 @@ function main(): number {
|
|
|
173
173
|
return allErrs.length ? 1 : 0;
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
|
|
177
|
-
process.argv[1]
|
|
178
|
-
|
|
179
|
-
|
|
176
|
+
function _isCliEntry(): boolean {
|
|
177
|
+
if (process.argv[1] === undefined) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
181
|
+
if (import.meta.url === argvUrl) {
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
185
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
186
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
187
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
188
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
189
|
+
try {
|
|
190
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
191
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
192
|
+
return here === argv;
|
|
193
|
+
} catch {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
180
199
|
process.exit(main());
|
|
181
200
|
}
|
|
182
201
|
|
|
@@ -428,9 +428,30 @@ function main(argv: string[]): number {
|
|
|
428
428
|
return 0;
|
|
429
429
|
}
|
|
430
430
|
|
|
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
|
+
|
|
431
453
|
const _IS_MAIN =
|
|
432
|
-
|
|
433
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
454
|
+
_isCliEntry();
|
|
434
455
|
|
|
435
456
|
if (_IS_MAIN) {
|
|
436
457
|
process.exit(main(process.argv.slice(2)));
|
|
@@ -255,9 +255,30 @@ function main(argv: string[]): number {
|
|
|
255
255
|
return result.status === 'regression' ? 2 : 0;
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
+
function _isCliEntry(): boolean {
|
|
259
|
+
if (process.argv[1] === undefined) {
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
262
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
263
|
+
if (import.meta.url === argvUrl) {
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
267
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
268
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
269
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
270
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
271
|
+
try {
|
|
272
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
273
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
274
|
+
return here === argv;
|
|
275
|
+
} catch {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
258
280
|
const _IS_MAIN =
|
|
259
|
-
|
|
260
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
281
|
+
_isCliEntry();
|
|
261
282
|
|
|
262
283
|
if (_IS_MAIN) {
|
|
263
284
|
process.exit(main(process.argv.slice(2)));
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* 2 — git command failed or not in a git repo
|
|
16
16
|
*/
|
|
17
17
|
import { execSync } from 'node:child_process';
|
|
18
|
+
import * as fs from 'node:fs';
|
|
18
19
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
19
20
|
import * as path from 'node:path';
|
|
20
21
|
|
|
@@ -57,10 +58,29 @@ function main(argv?: readonly string[]): number {
|
|
|
57
58
|
return 1;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
|
-
|
|
61
|
-
process.argv[1]
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
function _isCliEntry(): boolean {
|
|
62
|
+
if (process.argv[1] === undefined) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
66
|
+
if (import.meta.url === argvUrl) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
70
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
71
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
72
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
73
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
74
|
+
try {
|
|
75
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
76
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
77
|
+
return here === argv;
|
|
78
|
+
} catch {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
64
84
|
process.exit(main());
|
|
65
85
|
}
|
|
66
86
|
|
|
@@ -365,10 +365,29 @@ function main(): number {
|
|
|
365
365
|
}
|
|
366
366
|
|
|
367
367
|
const _HERE = fileURLToPath(import.meta.url);
|
|
368
|
-
|
|
369
|
-
process.argv[1]
|
|
370
|
-
|
|
371
|
-
|
|
368
|
+
function _isCliEntry(): boolean {
|
|
369
|
+
if (process.argv[1] === undefined) {
|
|
370
|
+
return false;
|
|
371
|
+
}
|
|
372
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
373
|
+
if (import.meta.url === argvUrl) {
|
|
374
|
+
return true;
|
|
375
|
+
}
|
|
376
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
377
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
378
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
379
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
380
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
381
|
+
try {
|
|
382
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
383
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
384
|
+
return here === argv;
|
|
385
|
+
} catch {
|
|
386
|
+
return false;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
372
391
|
process.exit(main());
|
|
373
392
|
}
|
|
374
393
|
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { execFileSync } from 'node:child_process';
|
|
15
|
+
import * as fs from 'node:fs';
|
|
15
16
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
16
17
|
import * as path from 'node:path';
|
|
17
18
|
|
|
@@ -61,7 +62,29 @@ export function main(): number {
|
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
const _HERE = fileURLToPath(import.meta.url);
|
|
64
|
-
|
|
65
|
+
function _isCliEntry(): boolean {
|
|
66
|
+
if (process.argv[1] === undefined) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
70
|
+
if (import.meta.url === argvUrl) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
74
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
75
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
76
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
77
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
78
|
+
try {
|
|
79
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
80
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
81
|
+
return here === argv;
|
|
82
|
+
} catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (_isCliEntry()) {
|
|
65
88
|
process.exit(main());
|
|
66
89
|
}
|
|
67
90
|
void _HERE;
|