@sentry/warden 0.1.0 → 0.2.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/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/setup-app/manifest.d.ts.map +1 -1
- package/dist/cli/commands/setup-app/manifest.js +3 -1
- package/dist/cli/commands/setup-app/manifest.js.map +1 -1
- package/dist/cli/commands/setup-app.js +1 -1
- package/dist/cli/commands/setup-app.js.map +1 -1
- package/dist/cli/files.d.ts +11 -1
- package/dist/cli/files.d.ts.map +1 -1
- package/dist/cli/files.js +145 -4
- package/dist/cli/files.js.map +1 -1
- package/dist/cli/git.d.ts.map +1 -1
- package/dist/cli/git.js +5 -9
- package/dist/cli/git.js.map +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/cli/output/icons.d.ts +4 -0
- package/dist/cli/output/icons.d.ts.map +1 -1
- package/dist/cli/output/icons.js +4 -0
- package/dist/cli/output/icons.js.map +1 -1
- package/dist/cli/output/ink-runner.d.ts +20 -0
- package/dist/cli/output/ink-runner.d.ts.map +1 -1
- package/dist/cli/output/ink-runner.js +53 -19
- package/dist/cli/output/ink-runner.js.map +1 -1
- package/dist/cli/output/tasks.d.ts.map +1 -1
- package/dist/cli/output/tasks.js +5 -1
- package/dist/cli/output/tasks.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +15 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/diff/coalesce.d.ts +32 -2
- package/dist/diff/coalesce.d.ts.map +1 -1
- package/dist/diff/coalesce.js +174 -2
- package/dist/diff/coalesce.js.map +1 -1
- package/dist/output/dedup.d.ts.map +1 -1
- package/dist/output/dedup.js +8 -3
- package/dist/output/dedup.js.map +1 -1
- package/dist/output/renderer.d.ts.map +1 -1
- package/dist/output/renderer.js +49 -5
- package/dist/output/renderer.js.map +1 -1
- package/dist/output/stale.d.ts.map +1 -1
- package/dist/output/stale.js +7 -0
- package/dist/output/stale.js.map +1 -1
- package/dist/output/types.d.ts +15 -1
- package/dist/output/types.d.ts.map +1 -1
- package/dist/sdk/analyze.d.ts +18 -0
- package/dist/sdk/analyze.d.ts.map +1 -0
- package/dist/sdk/analyze.js +425 -0
- package/dist/sdk/analyze.js.map +1 -0
- package/dist/sdk/errors.d.ts +23 -0
- package/dist/sdk/errors.d.ts.map +1 -0
- package/dist/sdk/errors.js +72 -0
- package/dist/sdk/errors.js.map +1 -0
- package/dist/sdk/extract.d.ts +44 -0
- package/dist/sdk/extract.d.ts.map +1 -0
- package/dist/sdk/extract.js +224 -0
- package/dist/sdk/extract.js.map +1 -0
- package/dist/sdk/prepare.d.ts +13 -0
- package/dist/sdk/prepare.d.ts.map +1 -0
- package/dist/sdk/prepare.js +73 -0
- package/dist/sdk/prepare.js.map +1 -0
- package/dist/sdk/prompt.d.ts +30 -0
- package/dist/sdk/prompt.d.ts.map +1 -0
- package/dist/sdk/prompt.js +109 -0
- package/dist/sdk/prompt.js.map +1 -0
- package/dist/sdk/retry.d.ts +12 -0
- package/dist/sdk/retry.d.ts.map +1 -0
- package/dist/sdk/retry.js +31 -0
- package/dist/sdk/retry.js.map +1 -0
- package/dist/sdk/runner.d.ts +22 -199
- package/dist/sdk/runner.d.ts.map +1 -1
- package/dist/sdk/runner.js +26 -884
- package/dist/sdk/runner.js.map +1 -1
- package/dist/sdk/types.d.ts +127 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +5 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/sdk/usage.d.ts +20 -0
- package/dist/sdk/usage.d.ts.map +1 -0
- package/dist/sdk/usage.js +44 -0
- package/dist/sdk/usage.js.map +1 -0
- package/dist/skills/remote.d.ts.map +1 -1
- package/dist/skills/remote.js +3 -7
- package/dist/skills/remote.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/exec.d.ts +61 -0
- package/dist/utils/exec.d.ts.map +1 -0
- package/dist/utils/exec.js +111 -0
- package/dist/utils/exec.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +15 -16
- package/.agents/skills/find-bugs/SKILL.md +0 -75
- package/.agents/skills/vercel-react-best-practices/AGENTS.md +0 -2934
- package/.agents/skills/vercel-react-best-practices/SKILL.md +0 -136
- package/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
- package/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
- package/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
- package/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
- package/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -80
- package/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
- package/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
- package/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
- package/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -59
- package/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
- package/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
- package/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
- package/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
- package/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
- package/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
- package/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
- package/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
- package/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
- package/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
- package/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
- package/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
- package/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
- package/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
- package/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
- package/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
- package/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
- package/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
- package/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
- package/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
- package/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
- package/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
- package/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
- package/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
- package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
- package/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
- package/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
- package/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
- package/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
- package/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
- package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
- package/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
- package/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
- package/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
- package/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
- package/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
- package/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
- package/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
- package/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
- package/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
- package/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
- package/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
- package/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
- package/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
- package/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
- package/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
- package/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
- package/.claude/settings.json +0 -57
- package/.claude/skills/agent-prompt/SKILL.md +0 -54
- package/.claude/skills/agent-prompt/references/agentic-patterns.md +0 -94
- package/.claude/skills/agent-prompt/references/anti-patterns.md +0 -140
- package/.claude/skills/agent-prompt/references/context-design.md +0 -124
- package/.claude/skills/agent-prompt/references/core-principles.md +0 -75
- package/.claude/skills/agent-prompt/references/model-guidance.md +0 -118
- package/.claude/skills/agent-prompt/references/output-formats.md +0 -98
- package/.claude/skills/agent-prompt/references/skill-structure.md +0 -115
- package/.claude/skills/agent-prompt/references/system-prompts.md +0 -115
- package/.claude/skills/notseer/SKILL.md +0 -131
- package/.claude/skills/skill-writer/SKILL.md +0 -140
- package/.claude/skills/testing-guidelines/SKILL.md +0 -132
- package/.claude/skills/warden-skill/SKILL.md +0 -250
- package/.claude/skills/warden-skill/references/config-schema.md +0 -133
- package/.dex/config.toml +0 -2
- package/.github/workflows/ci.yml +0 -33
- package/.github/workflows/release.yml +0 -59
- package/.github/workflows/warden.yml +0 -40
- package/AGENTS.md +0 -89
- package/CONTRIBUTING.md +0 -60
- package/SPEC.md +0 -263
- package/action.yml +0 -87
- package/assets/favicon.png +0 -0
- package/assets/warden-icon-bw.svg +0 -5
- package/assets/warden-icon-purple.png +0 -0
- package/assets/warden-icon-purple.svg +0 -5
- package/dist/action/159.index.js +0 -523
- package/dist/action/159.index.js.map +0 -1
- package/dist/action/action/index.d.ts +0 -2
- package/dist/action/action/index.d.ts.map +0 -1
- package/dist/action/action/main.d.ts +0 -2
- package/dist/action/action/main.d.ts.map +0 -1
- package/dist/action/cli/args.d.ts +0 -74
- package/dist/action/cli/args.d.ts.map +0 -1
- package/dist/action/cli/args.test.d.ts +0 -2
- package/dist/action/cli/args.test.d.ts.map +0 -1
- package/dist/action/cli/commands/add.d.ts +0 -7
- package/dist/action/cli/commands/add.d.ts.map +0 -1
- package/dist/action/cli/commands/init.d.ts +0 -10
- package/dist/action/cli/commands/init.d.ts.map +0 -1
- package/dist/action/cli/commands/init.test.d.ts +0 -2
- package/dist/action/cli/commands/init.test.d.ts.map +0 -1
- package/dist/action/cli/commands/setup-app/browser.d.ts +0 -9
- package/dist/action/cli/commands/setup-app/browser.d.ts.map +0 -1
- package/dist/action/cli/commands/setup-app/credentials.d.ts +0 -15
- package/dist/action/cli/commands/setup-app/credentials.d.ts.map +0 -1
- package/dist/action/cli/commands/setup-app/manifest.d.ts +0 -24
- package/dist/action/cli/commands/setup-app/manifest.d.ts.map +0 -1
- package/dist/action/cli/commands/setup-app/server.d.ts +0 -28
- package/dist/action/cli/commands/setup-app/server.d.ts.map +0 -1
- package/dist/action/cli/commands/setup-app.d.ts +0 -11
- package/dist/action/cli/commands/setup-app.d.ts.map +0 -1
- package/dist/action/cli/commands/sync.d.ts +0 -9
- package/dist/action/cli/commands/sync.d.ts.map +0 -1
- package/dist/action/cli/context.d.ts +0 -27
- package/dist/action/cli/context.d.ts.map +0 -1
- package/dist/action/cli/files.d.ts +0 -22
- package/dist/action/cli/files.d.ts.map +0 -1
- package/dist/action/cli/files.test.d.ts +0 -2
- package/dist/action/cli/files.test.d.ts.map +0 -1
- package/dist/action/cli/fix.d.ts +0 -41
- package/dist/action/cli/fix.d.ts.map +0 -1
- package/dist/action/cli/fix.test.d.ts +0 -2
- package/dist/action/cli/fix.test.d.ts.map +0 -1
- package/dist/action/cli/git.d.ts +0 -73
- package/dist/action/cli/git.d.ts.map +0 -1
- package/dist/action/cli/git.test.d.ts +0 -2
- package/dist/action/cli/git.test.d.ts.map +0 -1
- package/dist/action/cli/index.d.ts +0 -3
- package/dist/action/cli/index.d.ts.map +0 -1
- package/dist/action/cli/main.d.ts +0 -7
- package/dist/action/cli/main.d.ts.map +0 -1
- package/dist/action/cli/output/box.d.ts +0 -75
- package/dist/action/cli/output/box.d.ts.map +0 -1
- package/dist/action/cli/output/formatters.d.ts +0 -90
- package/dist/action/cli/output/formatters.d.ts.map +0 -1
- package/dist/action/cli/output/formatters.test.d.ts +0 -2
- package/dist/action/cli/output/formatters.test.d.ts.map +0 -1
- package/dist/action/cli/output/icons.d.ts +0 -11
- package/dist/action/cli/output/icons.d.ts.map +0 -1
- package/dist/action/cli/output/index.d.ts +0 -10
- package/dist/action/cli/output/index.d.ts.map +0 -1
- package/dist/action/cli/output/ink-runner.d.ts +0 -9
- package/dist/action/cli/output/ink-runner.d.ts.map +0 -1
- package/dist/action/cli/output/jsonl.d.ts +0 -43
- package/dist/action/cli/output/jsonl.d.ts.map +0 -1
- package/dist/action/cli/output/jsonl.test.d.ts +0 -2
- package/dist/action/cli/output/jsonl.test.d.ts.map +0 -1
- package/dist/action/cli/output/reporter.d.ts +0 -108
- package/dist/action/cli/output/reporter.d.ts.map +0 -1
- package/dist/action/cli/output/tasks.d.ts +0 -89
- package/dist/action/cli/output/tasks.d.ts.map +0 -1
- package/dist/action/cli/output/tty.d.ts +0 -21
- package/dist/action/cli/output/tty.d.ts.map +0 -1
- package/dist/action/cli/output/tty.test.d.ts +0 -2
- package/dist/action/cli/output/tty.test.d.ts.map +0 -1
- package/dist/action/cli/output/verbosity.d.ts +0 -20
- package/dist/action/cli/output/verbosity.d.ts.map +0 -1
- package/dist/action/cli/output/verbosity.test.d.ts +0 -2
- package/dist/action/cli/output/verbosity.test.d.ts.map +0 -1
- package/dist/action/cli/terminal.d.ts +0 -19
- package/dist/action/cli/terminal.d.ts.map +0 -1
- package/dist/action/cli/terminal.test.d.ts +0 -2
- package/dist/action/cli/terminal.test.d.ts.map +0 -1
- package/dist/action/config/index.d.ts +0 -4
- package/dist/action/config/index.d.ts.map +0 -1
- package/dist/action/config/loader.d.ts +0 -27
- package/dist/action/config/loader.d.ts.map +0 -1
- package/dist/action/config/loader.test.d.ts +0 -2
- package/dist/action/config/loader.test.d.ts.map +0 -1
- package/dist/action/config/schema.d.ts +0 -318
- package/dist/action/config/schema.d.ts.map +0 -1
- package/dist/action/config/writer.d.ts +0 -11
- package/dist/action/config/writer.d.ts.map +0 -1
- package/dist/action/config/writer.test.d.ts +0 -2
- package/dist/action/config/writer.test.d.ts.map +0 -1
- package/dist/action/diff/classify.d.ts +0 -29
- package/dist/action/diff/classify.d.ts.map +0 -1
- package/dist/action/diff/classify.test.d.ts +0 -2
- package/dist/action/diff/classify.test.d.ts.map +0 -1
- package/dist/action/diff/coalesce.d.ts +0 -42
- package/dist/action/diff/coalesce.d.ts.map +0 -1
- package/dist/action/diff/coalesce.test.d.ts +0 -2
- package/dist/action/diff/coalesce.test.d.ts.map +0 -1
- package/dist/action/diff/context.d.ts +0 -30
- package/dist/action/diff/context.d.ts.map +0 -1
- package/dist/action/diff/context.test.d.ts +0 -2
- package/dist/action/diff/context.test.d.ts.map +0 -1
- package/dist/action/diff/index.d.ts +0 -5
- package/dist/action/diff/index.d.ts.map +0 -1
- package/dist/action/diff/parser.d.ts +0 -52
- package/dist/action/diff/parser.d.ts.map +0 -1
- package/dist/action/diff/parser.test.d.ts +0 -2
- package/dist/action/diff/parser.test.d.ts.map +0 -1
- package/dist/action/event/context.d.ts +0 -9
- package/dist/action/event/context.d.ts.map +0 -1
- package/dist/action/event/index.d.ts +0 -3
- package/dist/action/event/index.d.ts.map +0 -1
- package/dist/action/event/schedule-context.d.ts +0 -30
- package/dist/action/event/schedule-context.d.ts.map +0 -1
- package/dist/action/examples/examples.integration.test.d.ts +0 -2
- package/dist/action/examples/examples.integration.test.d.ts.map +0 -1
- package/dist/action/examples/index.d.ts +0 -50
- package/dist/action/examples/index.d.ts.map +0 -1
- package/dist/action/examples/index.test.d.ts +0 -2
- package/dist/action/examples/index.test.d.ts.map +0 -1
- package/dist/action/examples/setup.d.ts +0 -2
- package/dist/action/examples/setup.d.ts.map +0 -1
- package/dist/action/index.d.ts +0 -11
- package/dist/action/index.d.ts.map +0 -1
- package/dist/action/index.js +0 -38231
- package/dist/action/index.js.map +0 -1
- package/dist/action/licenses.txt +0 -992
- package/dist/action/main.d.ts +0 -2
- package/dist/action/main.d.ts.map +0 -1
- package/dist/action/main.js +0 -707
- package/dist/action/main.js.map +0 -1
- package/dist/action/output/dedup.d.ts +0 -153
- package/dist/action/output/dedup.d.ts.map +0 -1
- package/dist/action/output/dedup.test.d.ts +0 -2
- package/dist/action/output/dedup.test.d.ts.map +0 -1
- package/dist/action/output/github-checks.d.ts +0 -106
- package/dist/action/output/github-checks.d.ts.map +0 -1
- package/dist/action/output/github-checks.test.d.ts +0 -2
- package/dist/action/output/github-checks.test.d.ts.map +0 -1
- package/dist/action/output/github-issues.d.ts +0 -35
- package/dist/action/output/github-issues.d.ts.map +0 -1
- package/dist/action/output/index.d.ts +0 -6
- package/dist/action/output/index.d.ts.map +0 -1
- package/dist/action/output/issue-renderer.d.ts +0 -20
- package/dist/action/output/issue-renderer.d.ts.map +0 -1
- package/dist/action/output/renderer.d.ts +0 -4
- package/dist/action/output/renderer.d.ts.map +0 -1
- package/dist/action/output/renderer.test.d.ts +0 -2
- package/dist/action/output/renderer.test.d.ts.map +0 -1
- package/dist/action/output/stale.d.ts +0 -31
- package/dist/action/output/stale.d.ts.map +0 -1
- package/dist/action/output/stale.test.d.ts +0 -2
- package/dist/action/output/stale.test.d.ts.map +0 -1
- package/dist/action/output/types.d.ts +0 -31
- package/dist/action/output/types.d.ts.map +0 -1
- package/dist/action/package.json +0 -3
- package/dist/action/sdk/index.d.ts +0 -2
- package/dist/action/sdk/index.d.ts.map +0 -1
- package/dist/action/sdk/runner.d.ts +0 -202
- package/dist/action/sdk/runner.d.ts.map +0 -1
- package/dist/action/sdk/runner.test.d.ts +0 -2
- package/dist/action/sdk/runner.test.d.ts.map +0 -1
- package/dist/action/skills/index.d.ts +0 -5
- package/dist/action/skills/index.d.ts.map +0 -1
- package/dist/action/skills/loader.d.ts +0 -111
- package/dist/action/skills/loader.d.ts.map +0 -1
- package/dist/action/skills/loader.test.d.ts +0 -2
- package/dist/action/skills/loader.test.d.ts.map +0 -1
- package/dist/action/skills/remote.d.ts +0 -117
- package/dist/action/skills/remote.d.ts.map +0 -1
- package/dist/action/skills/remote.test.d.ts +0 -2
- package/dist/action/skills/remote.test.d.ts.map +0 -1
- package/dist/action/sourcemap-register.cjs +0 -1
- package/dist/action/triggers/matcher.d.ts +0 -30
- package/dist/action/triggers/matcher.d.ts.map +0 -1
- package/dist/action/triggers/matcher.test.d.ts +0 -2
- package/dist/action/triggers/matcher.test.d.ts.map +0 -1
- package/dist/action/types/index.d.ts +0 -269
- package/dist/action/types/index.d.ts.map +0 -1
- package/dist/action/utils/async.d.ts +0 -5
- package/dist/action/utils/async.d.ts.map +0 -1
- package/dist/action/utils/index.d.ts +0 -16
- package/dist/action/utils/index.d.ts.map +0 -1
- package/dist/action/utils/index.test.d.ts +0 -2
- package/dist/action/utils/index.test.d.ts.map +0 -1
- package/dist/action/utils/version.d.ts +0 -3
- package/dist/action/utils/version.d.ts.map +0 -1
- package/dist/cli/args.test.d.ts +0 -2
- package/dist/cli/args.test.d.ts.map +0 -1
- package/dist/cli/args.test.js +0 -392
- package/dist/cli/args.test.js.map +0 -1
- package/dist/cli/commands/init.test.d.ts +0 -2
- package/dist/cli/commands/init.test.d.ts.map +0 -1
- package/dist/cli/commands/init.test.js +0 -117
- package/dist/cli/commands/init.test.js.map +0 -1
- package/dist/cli/files.test.d.ts +0 -2
- package/dist/cli/files.test.d.ts.map +0 -1
- package/dist/cli/files.test.js +0 -117
- package/dist/cli/files.test.js.map +0 -1
- package/dist/cli/fix.test.d.ts +0 -2
- package/dist/cli/fix.test.d.ts.map +0 -1
- package/dist/cli/fix.test.js +0 -251
- package/dist/cli/fix.test.js.map +0 -1
- package/dist/cli/git.test.d.ts +0 -2
- package/dist/cli/git.test.d.ts.map +0 -1
- package/dist/cli/git.test.js +0 -96
- package/dist/cli/git.test.js.map +0 -1
- package/dist/cli/output/formatters.test.d.ts +0 -2
- package/dist/cli/output/formatters.test.d.ts.map +0 -1
- package/dist/cli/output/formatters.test.js +0 -152
- package/dist/cli/output/formatters.test.js.map +0 -1
- package/dist/cli/output/jsonl.test.d.ts +0 -2
- package/dist/cli/output/jsonl.test.d.ts.map +0 -1
- package/dist/cli/output/jsonl.test.js +0 -284
- package/dist/cli/output/jsonl.test.js.map +0 -1
- package/dist/cli/output/tty.test.d.ts +0 -2
- package/dist/cli/output/tty.test.d.ts.map +0 -1
- package/dist/cli/output/tty.test.js +0 -105
- package/dist/cli/output/tty.test.js.map +0 -1
- package/dist/cli/output/verbosity.test.d.ts +0 -2
- package/dist/cli/output/verbosity.test.d.ts.map +0 -1
- package/dist/cli/output/verbosity.test.js +0 -35
- package/dist/cli/output/verbosity.test.js.map +0 -1
- package/dist/cli/terminal.test.d.ts +0 -2
- package/dist/cli/terminal.test.d.ts.map +0 -1
- package/dist/cli/terminal.test.js +0 -123
- package/dist/cli/terminal.test.js.map +0 -1
- package/dist/config/loader.test.d.ts +0 -2
- package/dist/config/loader.test.d.ts.map +0 -1
- package/dist/config/loader.test.js +0 -263
- package/dist/config/loader.test.js.map +0 -1
- package/dist/config/writer.test.d.ts +0 -2
- package/dist/config/writer.test.d.ts.map +0 -1
- package/dist/config/writer.test.js +0 -98
- package/dist/config/writer.test.js.map +0 -1
- package/dist/diff/classify.test.d.ts +0 -2
- package/dist/diff/classify.test.d.ts.map +0 -1
- package/dist/diff/classify.test.js +0 -140
- package/dist/diff/classify.test.js.map +0 -1
- package/dist/diff/coalesce.test.d.ts +0 -2
- package/dist/diff/coalesce.test.d.ts.map +0 -1
- package/dist/diff/coalesce.test.js +0 -159
- package/dist/diff/coalesce.test.js.map +0 -1
- package/dist/diff/context.test.d.ts +0 -2
- package/dist/diff/context.test.d.ts.map +0 -1
- package/dist/diff/context.test.js +0 -190
- package/dist/diff/context.test.js.map +0 -1
- package/dist/diff/parser.test.d.ts +0 -2
- package/dist/diff/parser.test.d.ts.map +0 -1
- package/dist/diff/parser.test.js +0 -178
- package/dist/diff/parser.test.js.map +0 -1
- package/dist/examples/examples.integration.test.d.ts +0 -2
- package/dist/examples/examples.integration.test.d.ts.map +0 -1
- package/dist/examples/examples.integration.test.js +0 -55
- package/dist/examples/examples.integration.test.js.map +0 -1
- package/dist/examples/index.test.d.ts +0 -2
- package/dist/examples/index.test.d.ts.map +0 -1
- package/dist/examples/index.test.js +0 -88
- package/dist/examples/index.test.js.map +0 -1
- package/dist/output/dedup.test.d.ts +0 -2
- package/dist/output/dedup.test.d.ts.map +0 -1
- package/dist/output/dedup.test.js +0 -357
- package/dist/output/dedup.test.js.map +0 -1
- package/dist/output/github-checks.test.d.ts +0 -2
- package/dist/output/github-checks.test.d.ts.map +0 -1
- package/dist/output/github-checks.test.js +0 -255
- package/dist/output/github-checks.test.js.map +0 -1
- package/dist/output/renderer.test.d.ts +0 -2
- package/dist/output/renderer.test.d.ts.map +0 -1
- package/dist/output/renderer.test.js +0 -645
- package/dist/output/renderer.test.js.map +0 -1
- package/dist/output/stale.test.d.ts +0 -2
- package/dist/output/stale.test.d.ts.map +0 -1
- package/dist/output/stale.test.js +0 -330
- package/dist/output/stale.test.js.map +0 -1
- package/dist/sdk/runner.test.d.ts +0 -2
- package/dist/sdk/runner.test.d.ts.map +0 -1
- package/dist/sdk/runner.test.js +0 -677
- package/dist/sdk/runner.test.js.map +0 -1
- package/dist/skills/loader.test.d.ts +0 -2
- package/dist/skills/loader.test.d.ts.map +0 -1
- package/dist/skills/loader.test.js +0 -241
- package/dist/skills/loader.test.js.map +0 -1
- package/dist/skills/remote.test.d.ts +0 -2
- package/dist/skills/remote.test.d.ts.map +0 -1
- package/dist/skills/remote.test.js +0 -582
- package/dist/skills/remote.test.js.map +0 -1
- package/dist/triggers/matcher.test.d.ts +0 -2
- package/dist/triggers/matcher.test.d.ts.map +0 -1
- package/dist/triggers/matcher.test.js +0 -234
- package/dist/triggers/matcher.test.js.map +0 -1
- package/dist/utils/index.test.d.ts +0 -2
- package/dist/utils/index.test.d.ts.map +0 -1
- package/dist/utils/index.test.js +0 -68
- package/dist/utils/index.test.js.map +0 -1
- package/docs/astro.config.mjs +0 -43
- package/docs/package.json +0 -19
- package/docs/pnpm-lock.yaml +0 -4000
- package/docs/public/favicon.svg +0 -5
- package/docs/src/components/Code.astro +0 -141
- package/docs/src/components/PackageManagerTabs.astro +0 -183
- package/docs/src/components/Terminal.astro +0 -212
- package/docs/src/layouts/Base.astro +0 -380
- package/docs/src/pages/cli.astro +0 -167
- package/docs/src/pages/config.astro +0 -395
- package/docs/src/pages/guide.astro +0 -450
- package/docs/src/pages/index.astro +0 -490
- package/docs/src/styles/global.css +0 -551
- package/docs/src/utils/version.ts +0 -6
- package/docs/tsconfig.json +0 -3
- package/docs/vercel.json +0 -5
- package/eslint.config.js +0 -33
- package/src/action/index.ts +0 -1
- package/src/action/main.ts +0 -868
- package/src/cli/args.test.ts +0 -477
- package/src/cli/args.ts +0 -414
- package/src/cli/commands/add.ts +0 -447
- package/src/cli/commands/init.test.ts +0 -137
- package/src/cli/commands/init.ts +0 -134
- package/src/cli/commands/setup-app/browser.ts +0 -38
- package/src/cli/commands/setup-app/credentials.ts +0 -45
- package/src/cli/commands/setup-app/manifest.ts +0 -48
- package/src/cli/commands/setup-app/server.ts +0 -172
- package/src/cli/commands/setup-app.ts +0 -156
- package/src/cli/commands/sync.ts +0 -114
- package/src/cli/context.ts +0 -131
- package/src/cli/files.test.ts +0 -155
- package/src/cli/files.ts +0 -89
- package/src/cli/fix.test.ts +0 -310
- package/src/cli/fix.ts +0 -387
- package/src/cli/git.test.ts +0 -119
- package/src/cli/git.ts +0 -318
- package/src/cli/index.ts +0 -14
- package/src/cli/main.ts +0 -672
- package/src/cli/output/box.ts +0 -235
- package/src/cli/output/formatters.test.ts +0 -187
- package/src/cli/output/formatters.ts +0 -269
- package/src/cli/output/icons.ts +0 -13
- package/src/cli/output/index.ts +0 -44
- package/src/cli/output/ink-runner.tsx +0 -337
- package/src/cli/output/jsonl.test.ts +0 -347
- package/src/cli/output/jsonl.ts +0 -126
- package/src/cli/output/reporter.ts +0 -434
- package/src/cli/output/tasks.ts +0 -374
- package/src/cli/output/tty.test.ts +0 -117
- package/src/cli/output/tty.ts +0 -60
- package/src/cli/output/verbosity.test.ts +0 -40
- package/src/cli/output/verbosity.ts +0 -31
- package/src/cli/terminal.test.ts +0 -148
- package/src/cli/terminal.ts +0 -301
- package/src/config/index.ts +0 -3
- package/src/config/loader.test.ts +0 -313
- package/src/config/loader.ts +0 -103
- package/src/config/schema.ts +0 -168
- package/src/config/writer.test.ts +0 -119
- package/src/config/writer.ts +0 -84
- package/src/diff/classify.test.ts +0 -162
- package/src/diff/classify.ts +0 -92
- package/src/diff/coalesce.test.ts +0 -208
- package/src/diff/coalesce.ts +0 -133
- package/src/diff/context.test.ts +0 -226
- package/src/diff/context.ts +0 -201
- package/src/diff/index.ts +0 -4
- package/src/diff/parser.test.ts +0 -212
- package/src/diff/parser.ts +0 -149
- package/src/event/context.ts +0 -132
- package/src/event/index.ts +0 -2
- package/src/event/schedule-context.ts +0 -101
- package/src/examples/examples.integration.test.ts +0 -66
- package/src/examples/index.test.ts +0 -101
- package/src/examples/index.ts +0 -122
- package/src/examples/setup.ts +0 -25
- package/src/index.ts +0 -115
- package/src/output/dedup.test.ts +0 -419
- package/src/output/dedup.ts +0 -607
- package/src/output/github-checks.test.ts +0 -300
- package/src/output/github-checks.ts +0 -476
- package/src/output/github-issues.ts +0 -329
- package/src/output/index.ts +0 -5
- package/src/output/issue-renderer.ts +0 -197
- package/src/output/renderer.test.ts +0 -727
- package/src/output/renderer.ts +0 -217
- package/src/output/stale.test.ts +0 -375
- package/src/output/stale.ts +0 -155
- package/src/output/types.ts +0 -34
- package/src/sdk/index.ts +0 -1
- package/src/sdk/runner.test.ts +0 -806
- package/src/sdk/runner.ts +0 -1232
- package/src/skills/index.ts +0 -36
- package/src/skills/loader.test.ts +0 -300
- package/src/skills/loader.ts +0 -423
- package/src/skills/remote.test.ts +0 -704
- package/src/skills/remote.ts +0 -604
- package/src/triggers/matcher.test.ts +0 -277
- package/src/triggers/matcher.ts +0 -152
- package/src/types/index.ts +0 -194
- package/src/utils/async.ts +0 -18
- package/src/utils/index.test.ts +0 -84
- package/src/utils/index.ts +0 -51
- package/src/utils/version.ts +0 -17
- package/tsconfig.json +0 -25
- package/vitest.config.ts +0 -8
- package/vitest.integration.config.ts +0 -11
- package/warden.toml +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAwD7C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAmEtF"}
|
|
@@ -21,8 +21,10 @@ on:
|
|
|
21
21
|
pull_request:
|
|
22
22
|
types: [opened, synchronize, reopened]
|
|
23
23
|
|
|
24
|
+
# contents: write required for resolving review threads via GraphQL
|
|
25
|
+
# See: https://github.com/orgs/community/discussions/44650
|
|
24
26
|
permissions:
|
|
25
|
-
contents:
|
|
27
|
+
contents: write
|
|
26
28
|
pull-requests: write
|
|
27
29
|
checks: write
|
|
28
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,SAAS,kBAAkB;IACzB,OAAO;CACR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/setup-app/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/setup-app/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAwBzE"}
|
|
@@ -16,8 +16,10 @@ export function buildManifest(options) {
|
|
|
16
16
|
},
|
|
17
17
|
redirect_url: `http://localhost:${options.port}/callback`,
|
|
18
18
|
public: false,
|
|
19
|
+
// contents: write required for resolving review threads via GraphQL
|
|
20
|
+
// See: https://github.com/orgs/community/discussions/44650
|
|
19
21
|
default_permissions: {
|
|
20
|
-
contents: '
|
|
22
|
+
contents: 'write',
|
|
21
23
|
pull_requests: 'write',
|
|
22
24
|
issues: 'write',
|
|
23
25
|
checks: 'write',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../src/cli/commands/setup-app/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IAEtC,OAAO;QACL,IAAI;QACJ,GAAG,EAAE,qCAAqC;QAC1C,eAAe,EAAE;YACf,4DAA4D;YAC5D,GAAG,EAAE,6BAA6B;YAClC,MAAM,EAAE,KAAK;SACd;QACD,YAAY,EAAE,oBAAoB,OAAO,CAAC,IAAI,WAAW;QACzD,MAAM,EAAE,KAAK;QACb,mBAAmB,EAAE;YACnB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../src/cli/commands/setup-app/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IAEtC,OAAO;QACL,IAAI;QACJ,GAAG,EAAE,qCAAqC;QAC1C,eAAe,EAAE;YACf,4DAA4D;YAC5D,GAAG,EAAE,6BAA6B;YAClC,MAAM,EAAE,KAAK;SACd;QACD,YAAY,EAAE,oBAAoB,OAAO,CAAC,IAAI,WAAW;QACzD,MAAM,EAAE,KAAK;QACb,oEAAoE;QACpE,2DAA2D;QAC3D,mBAAmB,EAAE;YACnB,QAAQ,EAAE,OAAO;YACjB,aAAa,EAAE,OAAO;YACtB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,MAAM;SACjB;QACD,cAAc,EAAE,CAAC,cAAc,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -22,7 +22,7 @@ export async function runSetupApp(options, reporter) {
|
|
|
22
22
|
const manifest = buildManifest({ name, port });
|
|
23
23
|
// Show what permissions will be requested
|
|
24
24
|
reporter.text('This will create a GitHub App with the following permissions:');
|
|
25
|
-
reporter.text(` ${chalk.dim('•')} contents:
|
|
25
|
+
reporter.text(` ${chalk.dim('•')} contents: write ${chalk.dim('- Read files, resolve review threads')}`);
|
|
26
26
|
reporter.text(` ${chalk.dim('•')} pull_requests: write ${chalk.dim('- Post review comments')}`);
|
|
27
27
|
reporter.text(` ${chalk.dim('•')} issues: write ${chalk.dim('- Create/update issues')}`);
|
|
28
28
|
reporter.text(` ${chalk.dim('•')} checks: write ${chalk.dim('- Create check runs')}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-app.js","sourceRoot":"","sources":["../../../src/cli/commands/setup-app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAwB,EAAE,QAAkB;IAC5E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEjB,2CAA2C;IAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,iBAAiB;IACjB,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"setup-app.js","sourceRoot":"","sources":["../../../src/cli/commands/setup-app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAwB,EAAE,QAAkB;IAC5E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEjB,2CAA2C;IAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,iBAAiB;IACjB,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC/E,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC;IAChH,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAClG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAClG,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC/F,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;IACtG,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEjB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,6CAA6C,IAAI,KAAK,CAAC,CAAC;IAEtE,MAAM,YAAY,GAAG,mBAAmB,CAAC;QACvC,IAAI;QACJ,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,OAAO,GAAG,IAAI;QACzB,QAAQ;QACR,GAAG;KACJ,CAAC,CAAC;IAEH,mDAAmD;IACnD,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,+DAA+D,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,+DAA+D;QAC/D,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;gBAC1D,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAC7F,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAE9E,oBAAoB;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;QAEpD,gCAAgC;QAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAE3D,WAAW;QACX,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACxC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,iCAAiC;QACjC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,+CAA+C;QAC/C,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC3E,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAChF,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,sBAAsB;QACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC7E,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACpG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,sCAAsC;QACtC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,EAAE,CAAC,CAAC;QAC/G,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,yCAAyC;QACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,+DAA+D;QAC/D,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnH,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC,CAAC;QAC7F,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACrF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACjE,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,aAAa,2BAA2B,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;QAE5F,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/dist/cli/files.d.ts
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import type { FileChange } from '../types/index.js';
|
|
2
|
+
export interface ExpandGlobOptions {
|
|
3
|
+
/** Working directory for glob expansion (default: process.cwd()) */
|
|
4
|
+
cwd?: string;
|
|
5
|
+
/** Respect .gitignore files (default: true) */
|
|
6
|
+
gitignore?: boolean;
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* Expand glob patterns to a list of file paths.
|
|
10
|
+
*
|
|
11
|
+
* By default, respects .gitignore files to automatically exclude ignored
|
|
12
|
+
* directories like node_modules/. This can be disabled by setting
|
|
13
|
+
* gitignore: false.
|
|
4
14
|
*/
|
|
5
|
-
export declare function expandFileGlobs(patterns: string[],
|
|
15
|
+
export declare function expandFileGlobs(patterns: string[], cwdOrOptions?: string | ExpandGlobOptions): Promise<string[]>;
|
|
6
16
|
/**
|
|
7
17
|
* Create a unified diff patch for a file, treating entire content as added.
|
|
8
18
|
*/
|
package/dist/cli/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/cli/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/cli/files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkID;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,GAAE,MAAM,GAAG,iBAAiC,GACvD,OAAO,CAAC,MAAM,EAAE,CAAC,CAuCnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiB9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,UAAU,CAeZ;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,EAAE,MAAM,GACf,UAAU,EAAE,CAEd;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC,CAIvB"}
|
package/dist/cli/files.js
CHANGED
|
@@ -1,18 +1,159 @@
|
|
|
1
|
-
import { readFileSync } from 'node:fs';
|
|
2
|
-
import { resolve, relative } from 'node:path';
|
|
1
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { resolve, relative, dirname, join } from 'node:path';
|
|
3
3
|
import fg from 'fast-glob';
|
|
4
|
+
import ignore from 'ignore';
|
|
4
5
|
import { countPatchChunks } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Normalize path separators to forward slashes for cross-platform consistency.
|
|
8
|
+
* fast-glob always returns forward slashes, but Node.js path functions use
|
|
9
|
+
* backslashes on Windows.
|
|
10
|
+
*/
|
|
11
|
+
function normalizePath(path) {
|
|
12
|
+
return path.replace(/\\/g, '/');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Find the git root directory by walking up from the given path.
|
|
16
|
+
* Returns the git root path, or null if not in a git repository.
|
|
17
|
+
*/
|
|
18
|
+
function findGitRoot(startPath) {
|
|
19
|
+
// Resolve to absolute path to handle relative paths like '.' or 'src'
|
|
20
|
+
let current = resolve(startPath);
|
|
21
|
+
while (current !== dirname(current)) {
|
|
22
|
+
const gitDir = join(current, '.git');
|
|
23
|
+
if (existsSync(gitDir)) {
|
|
24
|
+
return current;
|
|
25
|
+
}
|
|
26
|
+
current = dirname(current);
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Prefix gitignore patterns with a directory path.
|
|
32
|
+
* Handles negation patterns, leading slashes, and preserves comments/empty lines.
|
|
33
|
+
*
|
|
34
|
+
* Note: Patterns without slashes (like *.log) are intentionally NOT prefixed
|
|
35
|
+
* with **\/ because the ignore package handles them correctly - they match
|
|
36
|
+
* at any depth relative to the .gitignore location when the path being tested
|
|
37
|
+
* is relative to the git root with the subdir prefix included.
|
|
38
|
+
*/
|
|
39
|
+
function prefixGitignorePatterns(content, prefix) {
|
|
40
|
+
return content
|
|
41
|
+
.split('\n')
|
|
42
|
+
.map((line) => {
|
|
43
|
+
const trimmed = line.trim();
|
|
44
|
+
if (!trimmed || trimmed.startsWith('#')) {
|
|
45
|
+
return line;
|
|
46
|
+
}
|
|
47
|
+
// Handle negation patterns
|
|
48
|
+
const isNegation = trimmed.startsWith('!');
|
|
49
|
+
const pattern = isNegation ? trimmed.slice(1) : trimmed;
|
|
50
|
+
// Handle patterns with leading slash (anchored to .gitignore location)
|
|
51
|
+
// Remove leading slash to avoid double slashes: /build -> subdir/build
|
|
52
|
+
const cleanPattern = pattern.startsWith('/') ? pattern.slice(1) : pattern;
|
|
53
|
+
const prefixedPattern = `${prefix}/${cleanPattern}`;
|
|
54
|
+
return isNegation ? `!${prefixedPattern}` : prefixedPattern;
|
|
55
|
+
})
|
|
56
|
+
.join('\n');
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Load all .gitignore files in the repository.
|
|
60
|
+
* Returns an ignore instance that can check if a file path should be ignored.
|
|
61
|
+
*
|
|
62
|
+
* The ignore package handles the complexity of gitignore semantics:
|
|
63
|
+
* - Patterns are applied relative to their .gitignore location
|
|
64
|
+
* - Negation patterns (!) work correctly
|
|
65
|
+
* - Directory patterns with trailing / work correctly
|
|
66
|
+
*/
|
|
67
|
+
async function loadGitignoreRules(gitRoot, cwd) {
|
|
68
|
+
const ig = ignore();
|
|
69
|
+
// Always ignore .git directory
|
|
70
|
+
ig.add('.git');
|
|
71
|
+
// Normalize git root for consistent comparisons
|
|
72
|
+
const normalizedGitRoot = normalizePath(gitRoot);
|
|
73
|
+
// Find all .gitignore files in the repository
|
|
74
|
+
// fast-glob always returns forward slashes
|
|
75
|
+
const gitignoreFiles = await fg('**/.gitignore', {
|
|
76
|
+
cwd: gitRoot,
|
|
77
|
+
absolute: true,
|
|
78
|
+
dot: true,
|
|
79
|
+
ignore: ['**/.git/**'],
|
|
80
|
+
});
|
|
81
|
+
// Also check from cwd up to git root for any .gitignore files
|
|
82
|
+
// that might be outside the search scope
|
|
83
|
+
let current = resolve(cwd);
|
|
84
|
+
while (current !== dirname(current)) {
|
|
85
|
+
const gitignorePath = join(current, '.gitignore');
|
|
86
|
+
// Normalize for comparison with fast-glob results
|
|
87
|
+
const normalizedPath = normalizePath(gitignorePath);
|
|
88
|
+
if (existsSync(gitignorePath) && !gitignoreFiles.includes(normalizedPath)) {
|
|
89
|
+
gitignoreFiles.push(normalizedPath);
|
|
90
|
+
}
|
|
91
|
+
if (normalizePath(current) === normalizedGitRoot) {
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
current = dirname(current);
|
|
95
|
+
}
|
|
96
|
+
// Sort by path depth (root first, then nested)
|
|
97
|
+
// Use forward slashes for consistent depth counting
|
|
98
|
+
gitignoreFiles.sort((a, b) => a.split('/').length - b.split('/').length);
|
|
99
|
+
// Process gitignore files from root down (parent rules apply first)
|
|
100
|
+
for (const gitignorePath of gitignoreFiles) {
|
|
101
|
+
try {
|
|
102
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
103
|
+
// Use normalized paths for relative calculation
|
|
104
|
+
const relativeDir = normalizePath(relative(gitRoot, dirname(gitignorePath)));
|
|
105
|
+
if (relativeDir) {
|
|
106
|
+
ig.add(prefixGitignorePatterns(content, relativeDir));
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
ig.add(content);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Ignore read errors (e.g., permission issues)
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return ig;
|
|
117
|
+
}
|
|
5
118
|
/**
|
|
6
119
|
* Expand glob patterns to a list of file paths.
|
|
120
|
+
*
|
|
121
|
+
* By default, respects .gitignore files to automatically exclude ignored
|
|
122
|
+
* directories like node_modules/. This can be disabled by setting
|
|
123
|
+
* gitignore: false.
|
|
7
124
|
*/
|
|
8
|
-
export async function expandFileGlobs(patterns,
|
|
125
|
+
export async function expandFileGlobs(patterns, cwdOrOptions = process.cwd()) {
|
|
126
|
+
const options = typeof cwdOrOptions === 'string' ? { cwd: cwdOrOptions } : cwdOrOptions;
|
|
127
|
+
// Resolve to absolute path to handle relative paths like '.' or 'src'
|
|
128
|
+
const cwd = resolve(options.cwd ?? process.cwd());
|
|
129
|
+
const useGitignore = options.gitignore ?? true;
|
|
130
|
+
// Get all matching files first
|
|
9
131
|
const files = await fg(patterns, {
|
|
10
132
|
cwd,
|
|
11
133
|
onlyFiles: true,
|
|
12
134
|
absolute: true,
|
|
13
135
|
dot: false,
|
|
136
|
+
// Always exclude .git directory
|
|
137
|
+
ignore: ['**/.git/**'],
|
|
138
|
+
});
|
|
139
|
+
// If gitignore is disabled, return files as-is
|
|
140
|
+
if (!useGitignore) {
|
|
141
|
+
return files.sort();
|
|
142
|
+
}
|
|
143
|
+
// Find git root - if not in a git repo, don't apply gitignore rules
|
|
144
|
+
const gitRoot = findGitRoot(cwd);
|
|
145
|
+
if (!gitRoot) {
|
|
146
|
+
return files.sort();
|
|
147
|
+
}
|
|
148
|
+
// Load and apply gitignore rules
|
|
149
|
+
const ig = await loadGitignoreRules(gitRoot, cwd);
|
|
150
|
+
// Filter files using gitignore rules
|
|
151
|
+
// Normalize paths to forward slashes for consistent matching
|
|
152
|
+
const filteredFiles = files.filter((file) => {
|
|
153
|
+
const relativePath = normalizePath(relative(gitRoot, file));
|
|
154
|
+
return !ig.ignores(relativePath);
|
|
14
155
|
});
|
|
15
|
-
return
|
|
156
|
+
return filteredFiles.sort();
|
|
16
157
|
}
|
|
17
158
|
/**
|
|
18
159
|
* Create a unified diff patch for a file, treating entire content as added.
|
package/dist/cli/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/cli/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/cli/files.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/cli/git.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/cli/git.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAeD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAE9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAsBpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAiBxF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAiB3E;AAsBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,GAAE,MAAsB,GAC1B,aAAa,EAAE,CA8CjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAsB,GAC1B,MAAM,GAAG,SAAS,CAOpB;AA6BD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,GAAG,GAAE,MAAsB,GAC1B,aAAa,EAAE,CA0BjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAG1E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAO3E;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,aAAa,CAKxF"}
|
package/dist/cli/git.js
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import { execSync } from 'node:child_process';
|
|
2
1
|
import { countPatchChunks } from '../types/index.js';
|
|
2
|
+
import { execNonInteractive } from '../utils/exec.js';
|
|
3
3
|
/**
|
|
4
4
|
* Execute a git command and return stdout.
|
|
5
|
+
* Uses non-interactive mode to prevent SSH passphrase prompts.
|
|
5
6
|
*/
|
|
6
7
|
function git(args, cwd = process.cwd()) {
|
|
7
8
|
try {
|
|
8
|
-
return
|
|
9
|
-
cwd,
|
|
10
|
-
encoding: 'utf-8',
|
|
11
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
12
|
-
}).trim();
|
|
9
|
+
return execNonInteractive(`git ${args}`, { cwd });
|
|
13
10
|
}
|
|
14
11
|
catch (error) {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
throw new Error(`Git command failed: git ${args}\n${stderr || execError.message}`);
|
|
12
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
13
|
+
throw new Error(`Git command failed: git ${args}\n${message}`);
|
|
18
14
|
}
|
|
19
15
|
}
|
|
20
16
|
/**
|
package/dist/cli/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/cli/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/cli/git.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
File without changes
|
|
@@ -8,4 +8,8 @@ export declare const ICON_CHECK = "\u2713";
|
|
|
8
8
|
export declare const ICON_SKIPPED = "\u2193";
|
|
9
9
|
/** Braille spinner frames for loading animation */
|
|
10
10
|
export declare const SPINNER_FRAMES: string[];
|
|
11
|
+
/** Circle for pending states */
|
|
12
|
+
export declare const ICON_PENDING = "\u25CB";
|
|
13
|
+
/** X mark for error states */
|
|
14
|
+
export declare const ICON_ERROR = "\u2717";
|
|
11
15
|
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/cli/output/icons.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAC9C,eAAO,MAAM,UAAU,WAAM,CAAC;AAE9B,oCAAoC;AACpC,eAAO,MAAM,YAAY,WAAM,CAAC;AAEhC,mDAAmD;AACnD,eAAO,MAAM,cAAc,UAAuG,CAAC"}
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/cli/output/icons.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAC9C,eAAO,MAAM,UAAU,WAAM,CAAC;AAE9B,oCAAoC;AACpC,eAAO,MAAM,YAAY,WAAM,CAAC;AAEhC,mDAAmD;AACnD,eAAO,MAAM,cAAc,UAAuG,CAAC;AAEnI,gCAAgC;AAChC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,8BAA8B;AAC9B,eAAO,MAAM,UAAU,WAAW,CAAC"}
|
package/dist/cli/output/icons.js
CHANGED
|
@@ -8,4 +8,8 @@ export const ICON_CHECK = '✓'; // U+2713 CHECK MARK
|
|
|
8
8
|
export const ICON_SKIPPED = '↓'; // U+2193 DOWNWARDS ARROW
|
|
9
9
|
/** Braille spinner frames for loading animation */
|
|
10
10
|
export const SPINNER_FRAMES = ['\u280B', '\u2819', '\u2839', '\u2838', '\u283C', '\u2834', '\u2826', '\u2827', '\u2807', '\u280F'];
|
|
11
|
+
/** Circle for pending states */
|
|
12
|
+
export const ICON_PENDING = '\u25CB'; // ○ WHITE CIRCLE
|
|
13
|
+
/** X mark for error states */
|
|
14
|
+
export const ICON_ERROR = '\u2717'; // ✗ BALLOT X
|
|
11
15
|
//# sourceMappingURL=icons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/cli/output/icons.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,oBAAoB;AAEnD,oCAAoC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,yBAAyB;AAE1D,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/cli/output/icons.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,oBAAoB;AAEnD,oCAAoC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,yBAAyB;AAE1D,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEnI,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,iBAAiB;AAEvD,8BAA8B;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,aAAa"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ink-based skill runner with real-time progress display.
|
|
3
|
+
*
|
|
4
|
+
* ## Ink Rendering Constraints
|
|
5
|
+
*
|
|
6
|
+
* This file uses Ink (React for CLIs) which has specific constraints that,
|
|
7
|
+
* if violated, cause duplicate output lines or corrupted display:
|
|
8
|
+
*
|
|
9
|
+
* 1. **Single Static component**: Ink's Static uses `position: 'absolute'`.
|
|
10
|
+
* Multiple Static components cause layout conflicts. We print the header
|
|
11
|
+
* before Ink starts to avoid needing a second Static.
|
|
12
|
+
*
|
|
13
|
+
* 2. **Stable item references**: Static tracks items by reference equality.
|
|
14
|
+
* Never wrap items in new objects (e.g., `{ type: 'skill', skill }`) on
|
|
15
|
+
* each render. Pass the original objects directly.
|
|
16
|
+
*
|
|
17
|
+
* 3. **Batched updates**: Rapid consecutive rerender() calls cause duplicate
|
|
18
|
+
* output. The updateUI() function batches updates using setImmediate().
|
|
19
|
+
*
|
|
20
|
+
* 4. **No direct writes to stderr**: Writing to process.stderr while Ink is
|
|
21
|
+
* running corrupts cursor tracking. The onLargePrompt/onPromptSize callbacks
|
|
22
|
+
* are exceptions that may cause minor display glitches in edge cases.
|
|
3
23
|
*/
|
|
4
24
|
import { type SkillTaskOptions, type SkillTaskResult, type RunTasksOptions } from './tasks.js';
|
|
5
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink-runner.d.ts","sourceRoot":"","sources":["../../../src/cli/output/ink-runner.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ink-runner.d.ts","sourceRoot":"","sources":["../../../src/cli/output/ink-runner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EAIrB,MAAM,YAAY,CAAC;AAoKpB;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,gBAAgB,EAAE,EACzB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiK5B"}
|
|
@@ -1,13 +1,33 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Ink-based skill runner with real-time progress display.
|
|
4
|
+
*
|
|
5
|
+
* ## Ink Rendering Constraints
|
|
6
|
+
*
|
|
7
|
+
* This file uses Ink (React for CLIs) which has specific constraints that,
|
|
8
|
+
* if violated, cause duplicate output lines or corrupted display:
|
|
9
|
+
*
|
|
10
|
+
* 1. **Single Static component**: Ink's Static uses `position: 'absolute'`.
|
|
11
|
+
* Multiple Static components cause layout conflicts. We print the header
|
|
12
|
+
* before Ink starts to avoid needing a second Static.
|
|
13
|
+
*
|
|
14
|
+
* 2. **Stable item references**: Static tracks items by reference equality.
|
|
15
|
+
* Never wrap items in new objects (e.g., `{ type: 'skill', skill }`) on
|
|
16
|
+
* each render. Pass the original objects directly.
|
|
17
|
+
*
|
|
18
|
+
* 3. **Batched updates**: Rapid consecutive rerender() calls cause duplicate
|
|
19
|
+
* output. The updateUI() function batches updates using setImmediate().
|
|
20
|
+
*
|
|
21
|
+
* 4. **No direct writes to stderr**: Writing to process.stderr while Ink is
|
|
22
|
+
* running corrupts cursor tracking. The onLargePrompt/onPromptSize callbacks
|
|
23
|
+
* are exceptions that may cause minor display glitches in edge cases.
|
|
4
24
|
*/
|
|
5
25
|
import { useState, useEffect } from 'react';
|
|
6
26
|
import { render, Box, Text, Static } from 'ink';
|
|
7
27
|
import { runSkillTask, } from './tasks.js';
|
|
8
28
|
import { formatDuration, truncate, countBySeverity, formatSeverityDot } from './formatters.js';
|
|
9
29
|
import { Verbosity } from './verbosity.js';
|
|
10
|
-
import { ICON_CHECK, ICON_SKIPPED, SPINNER_FRAMES } from './icons.js';
|
|
30
|
+
import { ICON_CHECK, ICON_SKIPPED, ICON_PENDING, ICON_ERROR, SPINNER_FRAMES } from './icons.js';
|
|
11
31
|
import figures from 'figures';
|
|
12
32
|
function Spinner() {
|
|
13
33
|
const [frame, setFrame] = useState(0);
|
|
@@ -37,7 +57,7 @@ function CompletedSkill({ skill }) {
|
|
|
37
57
|
return (_jsxs(Box, { children: [_jsx(Text, { color: "yellow", children: ICON_SKIPPED }), _jsxs(Text, { children: [" ", skill.displayName] }), _jsx(Text, { dimColor: true, children: " [skipped]" })] }));
|
|
38
58
|
}
|
|
39
59
|
if (skill.status === 'error') {
|
|
40
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: "red", children:
|
|
60
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: "red", children: ICON_ERROR }), _jsxs(Text, { children: [" ", skill.displayName] }), duration && _jsxs(Text, { dimColor: true, children: [" [", duration, "]"] })] }), skill.error && _jsxs(Text, { color: "red", children: [" Error: ", skill.error] })] }));
|
|
41
61
|
}
|
|
42
62
|
return (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: ICON_CHECK }), _jsxs(Text, { children: [" ", skill.displayName] }), duration && _jsxs(Text, { dimColor: true, children: [" [", duration, "]"] })] }));
|
|
43
63
|
}
|
|
@@ -45,22 +65,21 @@ function RunningSkill({ skill }) {
|
|
|
45
65
|
const visibleFiles = skill.files.filter((f) => f.status !== 'pending');
|
|
46
66
|
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Spinner, {}), _jsxs(Text, { children: [" ", skill.displayName] })] }), visibleFiles.map((file) => (_jsx(Box, { marginLeft: 2, children: _jsx(FileProgress, { file: file }) }, file.filename)))] }));
|
|
47
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Renders the skill execution UI.
|
|
70
|
+
*
|
|
71
|
+
* IMPORTANT: Ink's Static component tracks items by reference equality.
|
|
72
|
+
* Items passed to Static must have stable references across renders.
|
|
73
|
+
* Creating new wrapper objects causes Static to mishandle its internal
|
|
74
|
+
* state, resulting in duplicate output lines.
|
|
75
|
+
*
|
|
76
|
+
* We use a SINGLE Static component to avoid layout conflicts from multiple
|
|
77
|
+
* absolutely-positioned Static containers.
|
|
78
|
+
*/
|
|
48
79
|
function SkillRunner({ skills, completedItems }) {
|
|
49
80
|
const running = skills.filter((s) => s.status === 'running');
|
|
50
81
|
const pending = skills.filter((s) => s.status === 'pending');
|
|
51
|
-
|
|
52
|
-
const staticItems = [
|
|
53
|
-
{ type: 'header' },
|
|
54
|
-
...completedItems.map((skill) => ({ type: 'skill', skill })),
|
|
55
|
-
];
|
|
56
|
-
return (_jsxs(_Fragment, { children: [_jsx(Static, { items: staticItems, children: (item) => {
|
|
57
|
-
switch (item.type) {
|
|
58
|
-
case 'header':
|
|
59
|
-
return (_jsx(Text, { bold: true, children: "SKILLS" }, "header"));
|
|
60
|
-
case 'skill':
|
|
61
|
-
return _jsx(CompletedSkill, { skill: item.skill }, item.skill.name);
|
|
62
|
-
}
|
|
63
|
-
} }), _jsxs(Box, { flexDirection: "column", children: [running.map((skill) => (_jsx(RunningSkill, { skill: skill }, skill.name))), pending.map((skill) => (_jsxs(Text, { dimColor: true, children: ['\u25CB', " ", skill.displayName] }, skill.name)))] })] }));
|
|
82
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: completedItems, children: (skill) => _jsx(CompletedSkill, { skill: skill }, skill.name) }), running.map((skill) => (_jsx(RunningSkill, { skill: skill }, skill.name))), pending.map((skill) => (_jsxs(Text, { dimColor: true, children: [ICON_PENDING, " ", skill.displayName] }, skill.name)))] }));
|
|
64
83
|
}
|
|
65
84
|
/** No-op callbacks for quiet mode. */
|
|
66
85
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
@@ -91,10 +110,24 @@ export async function runSkillTasksWithInk(tasks, options) {
|
|
|
91
110
|
const skillStates = [];
|
|
92
111
|
const completedItems = [];
|
|
93
112
|
const completedNames = new Set();
|
|
113
|
+
// Print header before Ink starts - this avoids multiple Static components
|
|
114
|
+
// which can cause layout conflicts due to absolute positioning
|
|
115
|
+
process.stderr.write('\x1b[1mSKILLS\x1b[0m\n');
|
|
94
116
|
// Create Ink instance
|
|
95
117
|
const { rerender, unmount } = render(_jsx(SkillRunner, { skills: skillStates, completedItems: completedItems }), { stdout: process.stderr });
|
|
118
|
+
// Batch UI updates to prevent rapid consecutive rerenders that cause duplicate lines.
|
|
119
|
+
// Without batching, multiple callbacks firing in quick succession (e.g., 5 files
|
|
120
|
+
// starting simultaneously) trigger 5 immediate rerenders, which Ink cannot
|
|
121
|
+
// process correctly, resulting in the same line appearing multiple times.
|
|
122
|
+
let updatePending = false;
|
|
96
123
|
const updateUI = () => {
|
|
97
|
-
|
|
124
|
+
if (updatePending)
|
|
125
|
+
return;
|
|
126
|
+
updatePending = true;
|
|
127
|
+
setImmediate(() => {
|
|
128
|
+
updatePending = false;
|
|
129
|
+
rerender(_jsx(SkillRunner, { skills: [...skillStates], completedItems: [...completedItems] }));
|
|
130
|
+
});
|
|
98
131
|
};
|
|
99
132
|
// Callbacks to update state
|
|
100
133
|
const callbacks = {
|
|
@@ -171,13 +204,14 @@ export async function runSkillTasksWithInk(tasks, options) {
|
|
|
171
204
|
}
|
|
172
205
|
updateUI();
|
|
173
206
|
},
|
|
174
|
-
//
|
|
207
|
+
// CAUTION: Direct stderr writes while Ink is running can cause display glitches.
|
|
208
|
+
// These callbacks are rare (large prompts, debug mode) so the tradeoff is acceptable.
|
|
209
|
+
// If these cause issues, consider queueing messages and printing after unmount().
|
|
175
210
|
onLargePrompt: (_skillName, filename, lineRange, chars, estimatedTokens) => {
|
|
176
211
|
const location = `${filename}:${lineRange}`;
|
|
177
212
|
const size = `${Math.round(chars / 1000)}k chars (~${Math.round(estimatedTokens / 1000)}k tokens)`;
|
|
178
213
|
process.stderr.write(`\x1b[33m${figures.warning}\x1b[0m Large prompt for ${location}: ${size}\n`);
|
|
179
214
|
},
|
|
180
|
-
// Debug mode: show prompt sizes
|
|
181
215
|
onPromptSize: verbosity >= Verbosity.Debug
|
|
182
216
|
? (_skillName, filename, lineRange, systemChars, userChars, totalChars, estimatedTokens) => {
|
|
183
217
|
const location = `${filename}:${lineRange}`;
|