@liangjie559567/ultrapower 5.5.13 → 5.5.14
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 +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/LICENSE +21 -21
- package/bridge/gyoshu_bridge.py +846 -846
- package/dist/hooks/bridge-normalize.d.ts.map +1 -1
- package/dist/hooks/bridge-normalize.js +2 -0
- package/dist/hooks/bridge-normalize.js.map +1 -1
- package/dist/lib/path-validator.d.ts.map +1 -1
- package/dist/lib/path-validator.js +7 -0
- package/dist/lib/path-validator.js.map +1 -1
- package/docs/CLAUDE.md +1 -1
- package/docs/guides/v5.5.13-new-features.md +234 -0
- package/hooks/run-hook.cmd +0 -0
- package/hooks/session-start +0 -0
- package/package.json +1 -1
- package/scripts/persistent-mode.cjs +605 -605
- package/skills/systematic-debugging/find-polluter.sh +0 -0
- package/skills/writing-skills/graphviz-conventions.dot +171 -171
- package/skills/writing-skills/render-graphs.js +0 -0
- package/templates/axiom/scripts/Check-Memory.ps1 +68 -68
- package/templates/axiom/scripts/Poll-Memory.ps1 +36 -36
- package/templates/axiom/scripts/Watch-Memory.ps1 +149 -149
- package/templates/axiom/scripts/agent-runner.ps1 +101 -101
- package/templates/axiom/scripts/start-reviews.ps1 +19 -19
- package/dist/__tests__/agent-registry.test.d.ts +0 -2
- package/dist/__tests__/agent-registry.test.d.ts.map +0 -1
- package/dist/__tests__/agent-registry.test.js +0 -45
- package/dist/__tests__/agent-registry.test.js.map +0 -1
- package/dist/__tests__/analytics/backfill-dedup.test.d.ts +0 -2
- package/dist/__tests__/analytics/backfill-dedup.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/backfill-dedup.test.js +0 -179
- package/dist/__tests__/analytics/backfill-dedup.test.js.map +0 -1
- package/dist/__tests__/analytics/backfill-engine.test.d.ts +0 -2
- package/dist/__tests__/analytics/backfill-engine.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/backfill-engine.test.js +0 -362
- package/dist/__tests__/analytics/backfill-engine.test.js.map +0 -1
- package/dist/__tests__/analytics/output-estimator.test.d.ts +0 -2
- package/dist/__tests__/analytics/output-estimator.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/output-estimator.test.js +0 -124
- package/dist/__tests__/analytics/output-estimator.test.js.map +0 -1
- package/dist/__tests__/analytics/token-extractor.test.d.ts +0 -2
- package/dist/__tests__/analytics/token-extractor.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/token-extractor.test.js +0 -165
- package/dist/__tests__/analytics/token-extractor.test.js.map +0 -1
- package/dist/__tests__/analytics/token-tracker.test.d.ts +0 -2
- package/dist/__tests__/analytics/token-tracker.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/token-tracker.test.js +0 -189
- package/dist/__tests__/analytics/token-tracker.test.js.map +0 -1
- package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +0 -2
- package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/tokscale-adapter.test.js +0 -79
- package/dist/__tests__/analytics/tokscale-adapter.test.js.map +0 -1
- package/dist/__tests__/analytics/transcript-parser.test.d.ts +0 -2
- package/dist/__tests__/analytics/transcript-parser.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/transcript-parser.test.js +0 -289
- package/dist/__tests__/analytics/transcript-parser.test.js.map +0 -1
- package/dist/__tests__/analytics/transcript-scanner.test.d.ts +0 -2
- package/dist/__tests__/analytics/transcript-scanner.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/transcript-scanner.test.js +0 -443
- package/dist/__tests__/analytics/transcript-scanner.test.js.map +0 -1
- package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts +0 -2
- package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts.map +0 -1
- package/dist/__tests__/analytics/transcript-token-extractor.test.js +0 -177
- package/dist/__tests__/analytics/transcript-token-extractor.test.js.map +0 -1
- package/dist/__tests__/auto-update.test.d.ts +0 -2
- package/dist/__tests__/auto-update.test.d.ts.map +0 -1
- package/dist/__tests__/auto-update.test.js +0 -451
- package/dist/__tests__/auto-update.test.js.map +0 -1
- package/dist/__tests__/auto-upgrade-prompt.test.d.ts +0 -2
- package/dist/__tests__/auto-upgrade-prompt.test.d.ts.map +0 -1
- package/dist/__tests__/auto-upgrade-prompt.test.js +0 -81
- package/dist/__tests__/auto-upgrade-prompt.test.js.map +0 -1
- package/dist/__tests__/bash-history.test.d.ts +0 -5
- package/dist/__tests__/bash-history.test.d.ts.map +0 -1
- package/dist/__tests__/bash-history.test.js +0 -78
- package/dist/__tests__/bash-history.test.js.map +0 -1
- package/dist/__tests__/cli-config-stop-callback.test.d.ts +0 -2
- package/dist/__tests__/cli-config-stop-callback.test.d.ts.map +0 -1
- package/dist/__tests__/cli-config-stop-callback.test.js +0 -102
- package/dist/__tests__/cli-config-stop-callback.test.js.map +0 -1
- package/dist/__tests__/cli-notify-profile.test.d.ts +0 -2
- package/dist/__tests__/cli-notify-profile.test.d.ts.map +0 -1
- package/dist/__tests__/cli-notify-profile.test.js +0 -213
- package/dist/__tests__/cli-notify-profile.test.js.map +0 -1
- package/dist/__tests__/codex-backoff.test.d.ts +0 -2
- package/dist/__tests__/codex-backoff.test.d.ts.map +0 -1
- package/dist/__tests__/codex-backoff.test.js +0 -143
- package/dist/__tests__/codex-backoff.test.js.map +0 -1
- package/dist/__tests__/compatibility-security.test.d.ts +0 -13
- package/dist/__tests__/compatibility-security.test.d.ts.map +0 -1
- package/dist/__tests__/compatibility-security.test.js +0 -403
- package/dist/__tests__/compatibility-security.test.js.map +0 -1
- package/dist/__tests__/compatibility.test.d.ts +0 -7
- package/dist/__tests__/compatibility.test.d.ts.map +0 -1
- package/dist/__tests__/compatibility.test.js +0 -484
- package/dist/__tests__/compatibility.test.js.map +0 -1
- package/dist/__tests__/consensus-execution-handoff.test.d.ts +0 -14
- package/dist/__tests__/consensus-execution-handoff.test.d.ts.map +0 -1
- package/dist/__tests__/consensus-execution-handoff.test.js +0 -178
- package/dist/__tests__/consensus-execution-handoff.test.js.map +0 -1
- package/dist/__tests__/delegation-enforcement-levels.test.d.ts +0 -9
- package/dist/__tests__/delegation-enforcement-levels.test.d.ts.map +0 -1
- package/dist/__tests__/delegation-enforcement-levels.test.js +0 -583
- package/dist/__tests__/delegation-enforcement-levels.test.js.map +0 -1
- package/dist/__tests__/delegation-enforcer-integration.test.d.ts +0 -6
- package/dist/__tests__/delegation-enforcer-integration.test.d.ts.map +0 -1
- package/dist/__tests__/delegation-enforcer-integration.test.js +0 -136
- package/dist/__tests__/delegation-enforcer-integration.test.js.map +0 -1
- package/dist/__tests__/delegation-enforcer.test.d.ts +0 -5
- package/dist/__tests__/delegation-enforcer.test.d.ts.map +0 -1
- package/dist/__tests__/delegation-enforcer.test.js +0 -209
- package/dist/__tests__/delegation-enforcer.test.js.map +0 -1
- package/dist/__tests__/directory-context-injector.test.d.ts +0 -2
- package/dist/__tests__/directory-context-injector.test.d.ts.map +0 -1
- package/dist/__tests__/directory-context-injector.test.js +0 -186
- package/dist/__tests__/directory-context-injector.test.js.map +0 -1
- package/dist/__tests__/disable-tools.test.d.ts +0 -8
- package/dist/__tests__/disable-tools.test.d.ts.map +0 -1
- package/dist/__tests__/disable-tools.test.js +0 -182
- package/dist/__tests__/disable-tools.test.js.map +0 -1
- package/dist/__tests__/doctor-conflicts.test.d.ts +0 -8
- package/dist/__tests__/doctor-conflicts.test.d.ts.map +0 -1
- package/dist/__tests__/doctor-conflicts.test.js +0 -230
- package/dist/__tests__/doctor-conflicts.test.js.map +0 -1
- package/dist/__tests__/example.test.d.ts +0 -2
- package/dist/__tests__/example.test.d.ts.map +0 -1
- package/dist/__tests__/example.test.js +0 -20
- package/dist/__tests__/example.test.js.map +0 -1
- package/dist/__tests__/helpers/prompt-test-helpers.d.ts +0 -4
- package/dist/__tests__/helpers/prompt-test-helpers.d.ts.map +0 -1
- package/dist/__tests__/helpers/prompt-test-helpers.js +0 -9
- package/dist/__tests__/helpers/prompt-test-helpers.js.map +0 -1
- package/dist/__tests__/hooks/learner/bridge.test.d.ts +0 -11
- package/dist/__tests__/hooks/learner/bridge.test.d.ts.map +0 -1
- package/dist/__tests__/hooks/learner/bridge.test.js +0 -217
- package/dist/__tests__/hooks/learner/bridge.test.js.map +0 -1
- package/dist/__tests__/hooks/learner/parser.test.d.ts +0 -5
- package/dist/__tests__/hooks/learner/parser.test.d.ts.map +0 -1
- package/dist/__tests__/hooks/learner/parser.test.js +0 -219
- package/dist/__tests__/hooks/learner/parser.test.js.map +0 -1
- package/dist/__tests__/hooks-json-paths.test.d.ts +0 -9
- package/dist/__tests__/hooks-json-paths.test.d.ts.map +0 -1
- package/dist/__tests__/hooks-json-paths.test.js +0 -91
- package/dist/__tests__/hooks-json-paths.test.js.map +0 -1
- package/dist/__tests__/hooks.test.d.ts +0 -2
- package/dist/__tests__/hooks.test.d.ts.map +0 -1
- package/dist/__tests__/hooks.test.js +0 -1273
- package/dist/__tests__/hooks.test.js.map +0 -1
- package/dist/__tests__/hud/analytics-display.test.d.ts +0 -2
- package/dist/__tests__/hud/analytics-display.test.d.ts.map +0 -1
- package/dist/__tests__/hud/analytics-display.test.js +0 -236
- package/dist/__tests__/hud/analytics-display.test.js.map +0 -1
- package/dist/__tests__/hud/call-counts.test.d.ts +0 -2
- package/dist/__tests__/hud/call-counts.test.d.ts.map +0 -1
- package/dist/__tests__/hud/call-counts.test.js +0 -90
- package/dist/__tests__/hud/call-counts.test.js.map +0 -1
- package/dist/__tests__/hud/context-warning.test.d.ts +0 -2
- package/dist/__tests__/hud/context-warning.test.d.ts.map +0 -1
- package/dist/__tests__/hud/context-warning.test.js +0 -84
- package/dist/__tests__/hud/context-warning.test.js.map +0 -1
- package/dist/__tests__/hud/cwd.test.d.ts +0 -2
- package/dist/__tests__/hud/cwd.test.d.ts.map +0 -1
- package/dist/__tests__/hud/cwd.test.js +0 -62
- package/dist/__tests__/hud/cwd.test.js.map +0 -1
- package/dist/__tests__/hud/defaults.test.d.ts +0 -2
- package/dist/__tests__/hud/defaults.test.d.ts.map +0 -1
- package/dist/__tests__/hud/defaults.test.js +0 -55
- package/dist/__tests__/hud/defaults.test.js.map +0 -1
- package/dist/__tests__/hud/git.test.d.ts +0 -2
- package/dist/__tests__/hud/git.test.d.ts.map +0 -1
- package/dist/__tests__/hud/git.test.js +0 -110
- package/dist/__tests__/hud/git.test.js.map +0 -1
- package/dist/__tests__/hud/model.test.d.ts +0 -2
- package/dist/__tests__/hud/model.test.d.ts.map +0 -1
- package/dist/__tests__/hud/model.test.js +0 -63
- package/dist/__tests__/hud/model.test.js.map +0 -1
- package/dist/__tests__/hud/render.test.d.ts +0 -2
- package/dist/__tests__/hud/render.test.d.ts.map +0 -1
- package/dist/__tests__/hud/render.test.js +0 -141
- package/dist/__tests__/hud/render.test.js.map +0 -1
- package/dist/__tests__/hud/sanitize.test.d.ts +0 -10
- package/dist/__tests__/hud/sanitize.test.d.ts.map +0 -1
- package/dist/__tests__/hud/sanitize.test.js +0 -138
- package/dist/__tests__/hud/sanitize.test.js.map +0 -1
- package/dist/__tests__/hud/skills.test.d.ts +0 -2
- package/dist/__tests__/hud/skills.test.d.ts.map +0 -1
- package/dist/__tests__/hud/skills.test.js +0 -143
- package/dist/__tests__/hud/skills.test.js.map +0 -1
- package/dist/__tests__/hud/state.test.d.ts +0 -2
- package/dist/__tests__/hud/state.test.d.ts.map +0 -1
- package/dist/__tests__/hud/state.test.js +0 -162
- package/dist/__tests__/hud/state.test.js.map +0 -1
- package/dist/__tests__/hud/thinking.test.d.ts +0 -2
- package/dist/__tests__/hud/thinking.test.d.ts.map +0 -1
- package/dist/__tests__/hud/thinking.test.js +0 -32
- package/dist/__tests__/hud/thinking.test.js.map +0 -1
- package/dist/__tests__/hud/top-agents.test.d.ts +0 -8
- package/dist/__tests__/hud/top-agents.test.d.ts.map +0 -1
- package/dist/__tests__/hud/top-agents.test.js +0 -158
- package/dist/__tests__/hud/top-agents.test.js.map +0 -1
- package/dist/__tests__/hud/usage-api.test.d.ts +0 -5
- package/dist/__tests__/hud/usage-api.test.d.ts.map +0 -1
- package/dist/__tests__/hud/usage-api.test.js +0 -201
- package/dist/__tests__/hud/usage-api.test.js.map +0 -1
- package/dist/__tests__/hud/version-display.test.d.ts +0 -2
- package/dist/__tests__/hud/version-display.test.d.ts.map +0 -1
- package/dist/__tests__/hud/version-display.test.js +0 -107
- package/dist/__tests__/hud/version-display.test.js.map +0 -1
- package/dist/__tests__/hud/windows-platform.test.d.ts +0 -2
- package/dist/__tests__/hud/windows-platform.test.d.ts.map +0 -1
- package/dist/__tests__/hud/windows-platform.test.js +0 -193
- package/dist/__tests__/hud/windows-platform.test.js.map +0 -1
- package/dist/__tests__/hud-agents.test.d.ts +0 -7
- package/dist/__tests__/hud-agents.test.d.ts.map +0 -1
- package/dist/__tests__/hud-agents.test.js +0 -392
- package/dist/__tests__/hud-agents.test.js.map +0 -1
- package/dist/__tests__/hud-axiom.test.d.ts +0 -5
- package/dist/__tests__/hud-axiom.test.d.ts.map +0 -1
- package/dist/__tests__/hud-axiom.test.js +0 -287
- package/dist/__tests__/hud-axiom.test.js.map +0 -1
- package/dist/__tests__/hud-suggestions.test.d.ts +0 -5
- package/dist/__tests__/hud-suggestions.test.d.ts.map +0 -1
- package/dist/__tests__/hud-suggestions.test.js +0 -244
- package/dist/__tests__/hud-suggestions.test.js.map +0 -1
- package/dist/__tests__/hud-windows.test.d.ts +0 -2
- package/dist/__tests__/hud-windows.test.d.ts.map +0 -1
- package/dist/__tests__/hud-windows.test.js +0 -154
- package/dist/__tests__/hud-windows.test.js.map +0 -1
- package/dist/__tests__/inline-prompt-integration.test.d.ts +0 -2
- package/dist/__tests__/inline-prompt-integration.test.d.ts.map +0 -1
- package/dist/__tests__/inline-prompt-integration.test.js +0 -411
- package/dist/__tests__/inline-prompt-integration.test.js.map +0 -1
- package/dist/__tests__/inline-success-shape.test.d.ts +0 -2
- package/dist/__tests__/inline-success-shape.test.d.ts.map +0 -1
- package/dist/__tests__/inline-success-shape.test.js +0 -130
- package/dist/__tests__/inline-success-shape.test.js.map +0 -1
- package/dist/__tests__/installer-hooks-merge.test.d.ts +0 -13
- package/dist/__tests__/installer-hooks-merge.test.d.ts.map +0 -1
- package/dist/__tests__/installer-hooks-merge.test.js +0 -250
- package/dist/__tests__/installer-hooks-merge.test.js.map +0 -1
- package/dist/__tests__/installer-hud-skip.test.d.ts +0 -2
- package/dist/__tests__/installer-hud-skip.test.d.ts.map +0 -1
- package/dist/__tests__/installer-hud-skip.test.js +0 -102
- package/dist/__tests__/installer-hud-skip.test.js.map +0 -1
- package/dist/__tests__/installer.test.d.ts +0 -2
- package/dist/__tests__/installer.test.d.ts.map +0 -1
- package/dist/__tests__/installer.test.js +0 -474
- package/dist/__tests__/installer.test.js.map +0 -1
- package/dist/__tests__/job-management-sqlite.test.d.ts +0 -2
- package/dist/__tests__/job-management-sqlite.test.d.ts.map +0 -1
- package/dist/__tests__/job-management-sqlite.test.js +0 -284
- package/dist/__tests__/job-management-sqlite.test.js.map +0 -1
- package/dist/__tests__/job-management.test.d.ts +0 -2
- package/dist/__tests__/job-management.test.d.ts.map +0 -1
- package/dist/__tests__/job-management.test.js +0 -411
- package/dist/__tests__/job-management.test.js.map +0 -1
- package/dist/__tests__/job-state-db.test.d.ts +0 -2
- package/dist/__tests__/job-state-db.test.d.ts.map +0 -1
- package/dist/__tests__/job-state-db.test.js +0 -611
- package/dist/__tests__/job-state-db.test.js.map +0 -1
- package/dist/__tests__/learner/auto-learner.test.d.ts +0 -7
- package/dist/__tests__/learner/auto-learner.test.d.ts.map +0 -1
- package/dist/__tests__/learner/auto-learner.test.js +0 -507
- package/dist/__tests__/learner/auto-learner.test.js.map +0 -1
- package/dist/__tests__/learner/matcher.test.d.ts +0 -2
- package/dist/__tests__/learner/matcher.test.d.ts.map +0 -1
- package/dist/__tests__/learner/matcher.test.js +0 -330
- package/dist/__tests__/learner/matcher.test.js.map +0 -1
- package/dist/__tests__/live-data.test.d.ts +0 -2
- package/dist/__tests__/live-data.test.d.ts.map +0 -1
- package/dist/__tests__/live-data.test.js +0 -331
- package/dist/__tests__/live-data.test.js.map +0 -1
- package/dist/__tests__/load-agent-prompt.test.d.ts +0 -2
- package/dist/__tests__/load-agent-prompt.test.d.ts.map +0 -1
- package/dist/__tests__/load-agent-prompt.test.js +0 -91
- package/dist/__tests__/load-agent-prompt.test.js.map +0 -1
- package/dist/__tests__/lsp-servers.test.d.ts +0 -2
- package/dist/__tests__/lsp-servers.test.d.ts.map +0 -1
- package/dist/__tests__/lsp-servers.test.js +0 -121
- package/dist/__tests__/lsp-servers.test.js.map +0 -1
- package/dist/__tests__/mcp-fallback-429.test.d.ts +0 -2
- package/dist/__tests__/mcp-fallback-429.test.d.ts.map +0 -1
- package/dist/__tests__/mcp-fallback-429.test.js +0 -164
- package/dist/__tests__/mcp-fallback-429.test.js.map +0 -1
- package/dist/__tests__/mcp-server-workflows.test.d.ts +0 -2
- package/dist/__tests__/mcp-server-workflows.test.d.ts.map +0 -1
- package/dist/__tests__/mcp-server-workflows.test.js +0 -301
- package/dist/__tests__/mcp-server-workflows.test.js.map +0 -1
- package/dist/__tests__/mnemosyne/config.test.d.ts +0 -2
- package/dist/__tests__/mnemosyne/config.test.d.ts.map +0 -1
- package/dist/__tests__/mnemosyne/config.test.js +0 -37
- package/dist/__tests__/mnemosyne/config.test.js.map +0 -1
- package/dist/__tests__/mnemosyne/detector.test.d.ts +0 -2
- package/dist/__tests__/mnemosyne/detector.test.d.ts.map +0 -1
- package/dist/__tests__/mnemosyne/detector.test.js +0 -99
- package/dist/__tests__/mnemosyne/detector.test.js.map +0 -1
- package/dist/__tests__/mnemosyne/finder.test.d.ts +0 -2
- package/dist/__tests__/mnemosyne/finder.test.d.ts.map +0 -1
- package/dist/__tests__/mnemosyne/finder.test.js +0 -105
- package/dist/__tests__/mnemosyne/finder.test.js.map +0 -1
- package/dist/__tests__/mnemosyne/loader.test.d.ts +0 -2
- package/dist/__tests__/mnemosyne/loader.test.d.ts.map +0 -1
- package/dist/__tests__/mnemosyne/loader.test.js +0 -73
- package/dist/__tests__/mnemosyne/loader.test.js.map +0 -1
- package/dist/__tests__/mnemosyne/parser.test.d.ts +0 -2
- package/dist/__tests__/mnemosyne/parser.test.d.ts.map +0 -1
- package/dist/__tests__/mnemosyne/parser.test.js +0 -81
- package/dist/__tests__/mnemosyne/parser.test.js.map +0 -1
- package/dist/__tests__/mnemosyne/validator.test.d.ts +0 -2
- package/dist/__tests__/mnemosyne/validator.test.d.ts.map +0 -1
- package/dist/__tests__/mnemosyne/validator.test.js +0 -85
- package/dist/__tests__/mnemosyne/validator.test.js.map +0 -1
- package/dist/__tests__/model-routing.test.d.ts +0 -2
- package/dist/__tests__/model-routing.test.d.ts.map +0 -1
- package/dist/__tests__/model-routing.test.js +0 -794
- package/dist/__tests__/model-routing.test.js.map +0 -1
- package/dist/__tests__/multi-model-mcp-integration.test.d.ts +0 -2
- package/dist/__tests__/multi-model-mcp-integration.test.d.ts.map +0 -1
- package/dist/__tests__/multi-model-mcp-integration.test.js +0 -69
- package/dist/__tests__/multi-model-mcp-integration.test.js.map +0 -1
- package/dist/__tests__/multi-model-mcp.test.d.ts +0 -2
- package/dist/__tests__/multi-model-mcp.test.d.ts.map +0 -1
- package/dist/__tests__/multi-model-mcp.test.js +0 -145
- package/dist/__tests__/multi-model-mcp.test.js.map +0 -1
- package/dist/__tests__/notepad.test.d.ts +0 -2
- package/dist/__tests__/notepad.test.d.ts.map +0 -1
- package/dist/__tests__/notepad.test.js +0 -374
- package/dist/__tests__/notepad.test.js.map +0 -1
- package/dist/__tests__/omc-tools-contract.test.d.ts +0 -11
- package/dist/__tests__/omc-tools-contract.test.d.ts.map +0 -1
- package/dist/__tests__/omc-tools-contract.test.js +0 -172
- package/dist/__tests__/omc-tools-contract.test.js.map +0 -1
- package/dist/__tests__/omc-tools-server.test.d.ts +0 -2
- package/dist/__tests__/omc-tools-server.test.d.ts.map +0 -1
- package/dist/__tests__/omc-tools-server.test.js +0 -61
- package/dist/__tests__/omc-tools-server.test.js.map +0 -1
- package/dist/__tests__/permission-enforcement.test.d.ts +0 -2
- package/dist/__tests__/permission-enforcement.test.d.ts.map +0 -1
- package/dist/__tests__/permission-enforcement.test.js +0 -194
- package/dist/__tests__/permission-enforcement.test.js.map +0 -1
- package/dist/__tests__/plugin-registry.test.d.ts +0 -2
- package/dist/__tests__/plugin-registry.test.d.ts.map +0 -1
- package/dist/__tests__/plugin-registry.test.js +0 -233
- package/dist/__tests__/plugin-registry.test.js.map +0 -1
- package/dist/__tests__/prompt-file-only.test.d.ts +0 -2
- package/dist/__tests__/prompt-file-only.test.d.ts.map +0 -1
- package/dist/__tests__/prompt-file-only.test.js +0 -263
- package/dist/__tests__/prompt-file-only.test.js.map +0 -1
- package/dist/__tests__/prompt-injection.test.d.ts +0 -2
- package/dist/__tests__/prompt-injection.test.d.ts.map +0 -1
- package/dist/__tests__/prompt-injection.test.js +0 -242
- package/dist/__tests__/prompt-injection.test.js.map +0 -1
- package/dist/__tests__/providers/azure-devops.test.d.ts +0 -2
- package/dist/__tests__/providers/azure-devops.test.d.ts.map +0 -1
- package/dist/__tests__/providers/azure-devops.test.js +0 -158
- package/dist/__tests__/providers/azure-devops.test.js.map +0 -1
- package/dist/__tests__/providers/bitbucket.test.d.ts +0 -2
- package/dist/__tests__/providers/bitbucket.test.d.ts.map +0 -1
- package/dist/__tests__/providers/bitbucket.test.js +0 -170
- package/dist/__tests__/providers/bitbucket.test.js.map +0 -1
- package/dist/__tests__/providers/detection.test.d.ts +0 -2
- package/dist/__tests__/providers/detection.test.d.ts.map +0 -1
- package/dist/__tests__/providers/detection.test.js +0 -181
- package/dist/__tests__/providers/detection.test.js.map +0 -1
- package/dist/__tests__/providers/gitea.test.d.ts +0 -2
- package/dist/__tests__/providers/gitea.test.d.ts.map +0 -1
- package/dist/__tests__/providers/gitea.test.js +0 -212
- package/dist/__tests__/providers/gitea.test.js.map +0 -1
- package/dist/__tests__/providers/github.test.d.ts +0 -2
- package/dist/__tests__/providers/github.test.d.ts.map +0 -1
- package/dist/__tests__/providers/github.test.js +0 -146
- package/dist/__tests__/providers/github.test.js.map +0 -1
- package/dist/__tests__/providers/gitlab.test.d.ts +0 -2
- package/dist/__tests__/providers/gitlab.test.d.ts.map +0 -1
- package/dist/__tests__/providers/gitlab.test.js +0 -149
- package/dist/__tests__/providers/gitlab.test.js.map +0 -1
- package/dist/__tests__/ralph-prd.test.d.ts +0 -2
- package/dist/__tests__/ralph-prd.test.d.ts.map +0 -1
- package/dist/__tests__/ralph-prd.test.js +0 -308
- package/dist/__tests__/ralph-prd.test.js.map +0 -1
- package/dist/__tests__/ralph-progress.test.d.ts +0 -2
- package/dist/__tests__/ralph-progress.test.d.ts.map +0 -1
- package/dist/__tests__/ralph-progress.test.js +0 -312
- package/dist/__tests__/ralph-progress.test.js.map +0 -1
- package/dist/__tests__/rate-limit-wait/daemon.test.d.ts +0 -5
- package/dist/__tests__/rate-limit-wait/daemon.test.d.ts.map +0 -1
- package/dist/__tests__/rate-limit-wait/daemon.test.js +0 -321
- package/dist/__tests__/rate-limit-wait/daemon.test.js.map +0 -1
- package/dist/__tests__/rate-limit-wait/integration.test.d.ts +0 -8
- package/dist/__tests__/rate-limit-wait/integration.test.d.ts.map +0 -1
- package/dist/__tests__/rate-limit-wait/integration.test.js +0 -341
- package/dist/__tests__/rate-limit-wait/integration.test.js.map +0 -1
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.d.ts +0 -5
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.d.ts.map +0 -1
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js +0 -183
- package/dist/__tests__/rate-limit-wait/rate-limit-monitor.test.js.map +0 -1
- package/dist/__tests__/rate-limit-wait/tmux-detector.test.d.ts +0 -5
- package/dist/__tests__/rate-limit-wait/tmux-detector.test.d.ts.map +0 -1
- package/dist/__tests__/rate-limit-wait/tmux-detector.test.js +0 -312
- package/dist/__tests__/rate-limit-wait/tmux-detector.test.js.map +0 -1
- package/dist/__tests__/release-local.test.d.ts +0 -2
- package/dist/__tests__/release-local.test.d.ts.map +0 -1
- package/dist/__tests__/release-local.test.js +0 -19
- package/dist/__tests__/release-local.test.js.map +0 -1
- package/dist/__tests__/release-steps.test.d.ts +0 -2
- package/dist/__tests__/release-steps.test.d.ts.map +0 -1
- package/dist/__tests__/release-steps.test.js +0 -82
- package/dist/__tests__/release-steps.test.js.map +0 -1
- package/dist/__tests__/session-catalog.test.d.ts +0 -2
- package/dist/__tests__/session-catalog.test.d.ts.map +0 -1
- package/dist/__tests__/session-catalog.test.js +0 -195
- package/dist/__tests__/session-catalog.test.js.map +0 -1
- package/dist/__tests__/session-migration.test.d.ts +0 -2
- package/dist/__tests__/session-migration.test.d.ts.map +0 -1
- package/dist/__tests__/session-migration.test.js +0 -155
- package/dist/__tests__/session-migration.test.js.map +0 -1
- package/dist/__tests__/skills.test.d.ts +0 -2
- package/dist/__tests__/skills.test.d.ts.map +0 -1
- package/dist/__tests__/skills.test.js +0 -207
- package/dist/__tests__/skills.test.js.map +0 -1
- package/dist/__tests__/standalone-server.test.d.ts +0 -2
- package/dist/__tests__/standalone-server.test.d.ts.map +0 -1
- package/dist/__tests__/standalone-server.test.js +0 -53
- package/dist/__tests__/standalone-server.test.js.map +0 -1
- package/dist/__tests__/task-continuation.test.d.ts +0 -2
- package/dist/__tests__/task-continuation.test.d.ts.map +0 -1
- package/dist/__tests__/task-continuation.test.js +0 -743
- package/dist/__tests__/task-continuation.test.js.map +0 -1
- package/dist/__tests__/tools/skills-tools.test.d.ts +0 -2
- package/dist/__tests__/tools/skills-tools.test.d.ts.map +0 -1
- package/dist/__tests__/tools/skills-tools.test.js +0 -63
- package/dist/__tests__/tools/skills-tools.test.js.map +0 -1
- package/dist/__tests__/tools/trace-tools.test.d.ts +0 -2
- package/dist/__tests__/tools/trace-tools.test.d.ts.map +0 -1
- package/dist/__tests__/tools/trace-tools.test.js +0 -237
- package/dist/__tests__/tools/trace-tools.test.js.map +0 -1
- package/dist/__tests__/types.test.d.ts +0 -2
- package/dist/__tests__/types.test.d.ts.map +0 -1
- package/dist/__tests__/types.test.js +0 -78
- package/dist/__tests__/types.test.js.map +0 -1
- package/dist/__tests__/validate-and-read-file.test.d.ts +0 -2
- package/dist/__tests__/validate-and-read-file.test.d.ts.map +0 -1
- package/dist/__tests__/validate-and-read-file.test.js +0 -84
- package/dist/__tests__/validate-and-read-file.test.js.map +0 -1
- package/dist/__tests__/validateMode.test.d.ts +0 -2
- package/dist/__tests__/validateMode.test.d.ts.map +0 -1
- package/dist/__tests__/validateMode.test.js +0 -100
- package/dist/__tests__/validateMode.test.js.map +0 -1
- package/dist/__tests__/version-helper.test.d.ts +0 -2
- package/dist/__tests__/version-helper.test.d.ts.map +0 -1
- package/dist/__tests__/version-helper.test.js +0 -37
- package/dist/__tests__/version-helper.test.js.map +0 -1
- package/dist/agents/__tests__/agent-wrapper.test.d.ts +0 -2
- package/dist/agents/__tests__/agent-wrapper.test.d.ts.map +0 -1
- package/dist/agents/__tests__/agent-wrapper.test.js +0 -37
- package/dist/agents/__tests__/agent-wrapper.test.js.map +0 -1
- package/dist/agents/__tests__/timeout-config.test.d.ts +0 -2
- package/dist/agents/__tests__/timeout-config.test.d.ts.map +0 -1
- package/dist/agents/__tests__/timeout-config.test.js +0 -35
- package/dist/agents/__tests__/timeout-config.test.js.map +0 -1
- package/dist/agents/__tests__/timeout-manager.test.d.ts +0 -2
- package/dist/agents/__tests__/timeout-manager.test.d.ts.map +0 -1
- package/dist/agents/__tests__/timeout-manager.test.js +0 -37
- package/dist/agents/__tests__/timeout-manager.test.js.map +0 -1
- package/dist/agents/coordinator-deprecated.d.ts +0 -18
- package/dist/agents/coordinator-deprecated.d.ts.map +0 -1
- package/dist/agents/coordinator-deprecated.js +0 -38
- package/dist/agents/coordinator-deprecated.js.map +0 -1
- package/dist/cli/commands/__tests__/cleanup.test.d.ts +0 -2
- package/dist/cli/commands/__tests__/cleanup.test.d.ts.map +0 -1
- package/dist/cli/commands/__tests__/cleanup.test.js +0 -37
- package/dist/cli/commands/__tests__/cleanup.test.js.map +0 -1
- package/dist/features/delegation-routing/__tests__/resolver.test.d.ts +0 -2
- package/dist/features/delegation-routing/__tests__/resolver.test.d.ts.map +0 -1
- package/dist/features/delegation-routing/__tests__/resolver.test.js +0 -419
- package/dist/features/delegation-routing/__tests__/resolver.test.js.map +0 -1
- package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts +0 -2
- package/dist/features/model-routing/__tests__/external-model-policy.test.d.ts.map +0 -1
- package/dist/features/model-routing/__tests__/external-model-policy.test.js +0 -475
- package/dist/features/model-routing/__tests__/external-model-policy.test.js.map +0 -1
- package/dist/features/state-manager/__tests__/cache.test.d.ts +0 -2
- package/dist/features/state-manager/__tests__/cache.test.d.ts.map +0 -1
- package/dist/features/state-manager/__tests__/cache.test.js +0 -204
- package/dist/features/state-manager/__tests__/cache.test.js.map +0 -1
- package/dist/features/state-manager/__tests__/encryption-performance.test.d.ts +0 -2
- package/dist/features/state-manager/__tests__/encryption-performance.test.d.ts.map +0 -1
- package/dist/features/state-manager/__tests__/encryption-performance.test.js +0 -42
- package/dist/features/state-manager/__tests__/encryption-performance.test.js.map +0 -1
- package/dist/features/state-manager/__tests__/encryption.test.d.ts +0 -2
- package/dist/features/state-manager/__tests__/encryption.test.d.ts.map +0 -1
- package/dist/features/state-manager/__tests__/encryption.test.js +0 -68
- package/dist/features/state-manager/__tests__/encryption.test.js.map +0 -1
- package/dist/features/wizard/__tests__/engine.test.d.ts +0 -2
- package/dist/features/wizard/__tests__/engine.test.d.ts.map +0 -1
- package/dist/features/wizard/__tests__/engine.test.js +0 -78
- package/dist/features/wizard/__tests__/engine.test.js.map +0 -1
- package/dist/features/wizard/__tests__/recommendation-engine.test.d.ts +0 -2
- package/dist/features/wizard/__tests__/recommendation-engine.test.d.ts.map +0 -1
- package/dist/features/wizard/__tests__/recommendation-engine.test.js +0 -43
- package/dist/features/wizard/__tests__/recommendation-engine.test.js.map +0 -1
- package/dist/hooks/__tests__/askuserquestion-lifecycle.test.d.ts +0 -9
- package/dist/hooks/__tests__/askuserquestion-lifecycle.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/askuserquestion-lifecycle.test.js +0 -110
- package/dist/hooks/__tests__/askuserquestion-lifecycle.test.js.map +0 -1
- package/dist/hooks/__tests__/background-process-guard.test.d.ts +0 -2
- package/dist/hooks/__tests__/background-process-guard.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/background-process-guard.test.js +0 -233
- package/dist/hooks/__tests__/background-process-guard.test.js.map +0 -1
- package/dist/hooks/__tests__/bridge-normalize.test.d.ts +0 -2
- package/dist/hooks/__tests__/bridge-normalize.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/bridge-normalize.test.js +0 -90
- package/dist/hooks/__tests__/bridge-normalize.test.js.map +0 -1
- package/dist/hooks/__tests__/bridge-pkill.test.d.ts +0 -8
- package/dist/hooks/__tests__/bridge-pkill.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/bridge-pkill.test.js +0 -188
- package/dist/hooks/__tests__/bridge-pkill.test.js.map +0 -1
- package/dist/hooks/__tests__/bridge-routing.test.d.ts +0 -9
- package/dist/hooks/__tests__/bridge-routing.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/bridge-routing.test.js +0 -516
- package/dist/hooks/__tests__/bridge-routing.test.js.map +0 -1
- package/dist/hooks/__tests__/bridge-security.test.d.ts +0 -11
- package/dist/hooks/__tests__/bridge-security.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/bridge-security.test.js +0 -498
- package/dist/hooks/__tests__/bridge-security.test.js.map +0 -1
- package/dist/hooks/__tests__/bridge.test.d.ts +0 -2
- package/dist/hooks/__tests__/bridge.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/bridge.test.js +0 -199
- package/dist/hooks/__tests__/bridge.test.js.map +0 -1
- package/dist/hooks/__tests__/compaction-concurrency.test.d.ts +0 -10
- package/dist/hooks/__tests__/compaction-concurrency.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/compaction-concurrency.test.js +0 -313
- package/dist/hooks/__tests__/compaction-concurrency.test.js.map +0 -1
- package/dist/hooks/auto-slash-command/__tests__/detector.test.d.ts +0 -2
- package/dist/hooks/auto-slash-command/__tests__/detector.test.d.ts.map +0 -1
- package/dist/hooks/auto-slash-command/__tests__/detector.test.js +0 -70
- package/dist/hooks/auto-slash-command/__tests__/detector.test.js.map +0 -1
- package/dist/hooks/auto-slash-command/__tests__/executor.test.d.ts +0 -2
- package/dist/hooks/auto-slash-command/__tests__/executor.test.d.ts.map +0 -1
- package/dist/hooks/auto-slash-command/__tests__/executor.test.js +0 -55
- package/dist/hooks/auto-slash-command/__tests__/executor.test.js.map +0 -1
- package/dist/hooks/auto-slash-command/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/auto-slash-command/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/auto-slash-command/__tests__/index.test.js +0 -50
- package/dist/hooks/auto-slash-command/__tests__/index.test.js.map +0 -1
- package/dist/hooks/autopilot/__tests__/cancel.test.d.ts +0 -2
- package/dist/hooks/autopilot/__tests__/cancel.test.d.ts.map +0 -1
- package/dist/hooks/autopilot/__tests__/cancel.test.js +0 -606
- package/dist/hooks/autopilot/__tests__/cancel.test.js.map +0 -1
- package/dist/hooks/autopilot/__tests__/prompts.test.d.ts +0 -2
- package/dist/hooks/autopilot/__tests__/prompts.test.d.ts.map +0 -1
- package/dist/hooks/autopilot/__tests__/prompts.test.js +0 -92
- package/dist/hooks/autopilot/__tests__/prompts.test.js.map +0 -1
- package/dist/hooks/autopilot/__tests__/state.test.d.ts +0 -2
- package/dist/hooks/autopilot/__tests__/state.test.d.ts.map +0 -1
- package/dist/hooks/autopilot/__tests__/state.test.js +0 -76
- package/dist/hooks/autopilot/__tests__/state.test.js.map +0 -1
- package/dist/hooks/autopilot/__tests__/summary.test.d.ts +0 -2
- package/dist/hooks/autopilot/__tests__/summary.test.d.ts.map +0 -1
- package/dist/hooks/autopilot/__tests__/summary.test.js +0 -324
- package/dist/hooks/autopilot/__tests__/summary.test.js.map +0 -1
- package/dist/hooks/autopilot/__tests__/transition.test.d.ts +0 -2
- package/dist/hooks/autopilot/__tests__/transition.test.d.ts.map +0 -1
- package/dist/hooks/autopilot/__tests__/transition.test.js +0 -58
- package/dist/hooks/autopilot/__tests__/transition.test.js.map +0 -1
- package/dist/hooks/autopilot/__tests__/transitions.test.d.ts +0 -12
- package/dist/hooks/autopilot/__tests__/transitions.test.d.ts.map +0 -1
- package/dist/hooks/autopilot/__tests__/transitions.test.js +0 -303
- package/dist/hooks/autopilot/__tests__/transitions.test.js.map +0 -1
- package/dist/hooks/autopilot/__tests__/validation.test.d.ts +0 -2
- package/dist/hooks/autopilot/__tests__/validation.test.d.ts.map +0 -1
- package/dist/hooks/autopilot/__tests__/validation.test.js +0 -450
- package/dist/hooks/autopilot/__tests__/validation.test.js.map +0 -1
- package/dist/hooks/beads-context/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/beads-context/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/beads-context/__tests__/index.test.js +0 -150
- package/dist/hooks/beads-context/__tests__/index.test.js.map +0 -1
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js +0 -416
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js.map +0 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/keyword-detector/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/keyword-detector/__tests__/index.test.js +0 -868
- package/dist/hooks/keyword-detector/__tests__/index.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/confidence.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/confidence.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/confidence.test.js +0 -42
- package/dist/hooks/learner/__tests__/confidence.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/detector.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/detector.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/detector.test.js +0 -170
- package/dist/hooks/learner/__tests__/detector.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/index-manager-filter.test.d.ts +0 -14
- package/dist/hooks/learner/__tests__/index-manager-filter.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/index-manager-filter.test.js +0 -147
- package/dist/hooks/learner/__tests__/index-manager-filter.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/index-manager-import.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/index-manager-import.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/index-manager-import.test.js +0 -43
- package/dist/hooks/learner/__tests__/index-manager-import.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/index.test.js +0 -48
- package/dist/hooks/learner/__tests__/index.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/learning-queue-parser.test.d.ts +0 -10
- package/dist/hooks/learner/__tests__/learning-queue-parser.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/learning-queue-parser.test.js +0 -131
- package/dist/hooks/learner/__tests__/learning-queue-parser.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/matcher.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/matcher.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/matcher.test.js +0 -114
- package/dist/hooks/learner/__tests__/matcher.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/promotion.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/promotion.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/promotion.test.js +0 -146
- package/dist/hooks/learner/__tests__/promotion.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/queue-archiver.test.d.ts +0 -13
- package/dist/hooks/learner/__tests__/queue-archiver.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/queue-archiver.test.js +0 -162
- package/dist/hooks/learner/__tests__/queue-archiver.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/reflection-archiver.test.d.ts +0 -14
- package/dist/hooks/learner/__tests__/reflection-archiver.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/reflection-archiver.test.js +0 -159
- package/dist/hooks/learner/__tests__/reflection-archiver.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/reflection-parser.test.d.ts +0 -14
- package/dist/hooks/learner/__tests__/reflection-parser.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/reflection-parser.test.js +0 -201
- package/dist/hooks/learner/__tests__/reflection-parser.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/validator.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/validator.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/validator.test.js +0 -123
- package/dist/hooks/learner/__tests__/validator.test.js.map +0 -1
- package/dist/hooks/learner/__tests__/writer.test.d.ts +0 -2
- package/dist/hooks/learner/__tests__/writer.test.d.ts.map +0 -1
- package/dist/hooks/learner/__tests__/writer.test.js +0 -141
- package/dist/hooks/learner/__tests__/writer.test.js.map +0 -1
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.d.ts +0 -2
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.d.ts.map +0 -1
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +0 -236
- package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +0 -1
- package/dist/hooks/nexus/__tests__/config.test.d.ts +0 -2
- package/dist/hooks/nexus/__tests__/config.test.d.ts.map +0 -1
- package/dist/hooks/nexus/__tests__/config.test.js +0 -38
- package/dist/hooks/nexus/__tests__/config.test.js.map +0 -1
- package/dist/hooks/nexus/__tests__/consciousness-sync.test.d.ts +0 -2
- package/dist/hooks/nexus/__tests__/consciousness-sync.test.d.ts.map +0 -1
- package/dist/hooks/nexus/__tests__/consciousness-sync.test.js +0 -28
- package/dist/hooks/nexus/__tests__/consciousness-sync.test.js.map +0 -1
- package/dist/hooks/nexus/__tests__/data-collector.test.d.ts +0 -2
- package/dist/hooks/nexus/__tests__/data-collector.test.d.ts.map +0 -1
- package/dist/hooks/nexus/__tests__/data-collector.test.js +0 -61
- package/dist/hooks/nexus/__tests__/data-collector.test.js.map +0 -1
- package/dist/hooks/nexus/__tests__/improvement-puller.test.d.ts +0 -2
- package/dist/hooks/nexus/__tests__/improvement-puller.test.d.ts.map +0 -1
- package/dist/hooks/nexus/__tests__/improvement-puller.test.js +0 -49
- package/dist/hooks/nexus/__tests__/improvement-puller.test.js.map +0 -1
- package/dist/hooks/nexus/__tests__/session-end-hook.test.d.ts +0 -2
- package/dist/hooks/nexus/__tests__/session-end-hook.test.d.ts.map +0 -1
- package/dist/hooks/nexus/__tests__/session-end-hook.test.js +0 -39
- package/dist/hooks/nexus/__tests__/session-end-hook.test.js.map +0 -1
- package/dist/hooks/observability/__tests__/observability.test.d.ts +0 -2
- package/dist/hooks/observability/__tests__/observability.test.d.ts.map +0 -1
- package/dist/hooks/observability/__tests__/observability.test.js +0 -176
- package/dist/hooks/observability/__tests__/observability.test.js.map +0 -1
- package/dist/hooks/permission-handler/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/permission-handler/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/permission-handler/__tests__/index.test.js +0 -417
- package/dist/hooks/permission-handler/__tests__/index.test.js.map +0 -1
- package/dist/hooks/persistent-mode/__tests__/error-handling.test.d.ts +0 -6
- package/dist/hooks/persistent-mode/__tests__/error-handling.test.d.ts.map +0 -1
- package/dist/hooks/persistent-mode/__tests__/error-handling.test.js +0 -71
- package/dist/hooks/persistent-mode/__tests__/error-handling.test.js.map +0 -1
- package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.d.ts +0 -2
- package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.d.ts.map +0 -1
- package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.js +0 -38
- package/dist/hooks/persistent-mode/__tests__/ralph-max-iteration.test.js.map +0 -1
- package/dist/hooks/persistent-mode/__tests__/tool-error.test.d.ts +0 -6
- package/dist/hooks/persistent-mode/__tests__/tool-error.test.d.ts.map +0 -1
- package/dist/hooks/persistent-mode/__tests__/tool-error.test.js +0 -335
- package/dist/hooks/persistent-mode/__tests__/tool-error.test.js.map +0 -1
- package/dist/hooks/persistent-mode/session-isolation.test.d.ts +0 -2
- package/dist/hooks/persistent-mode/session-isolation.test.d.ts.map +0 -1
- package/dist/hooks/persistent-mode/session-isolation.test.js +0 -491
- package/dist/hooks/persistent-mode/session-isolation.test.js.map +0 -1
- package/dist/hooks/project-memory/__tests__/detector.test.d.ts +0 -5
- package/dist/hooks/project-memory/__tests__/detector.test.d.ts.map +0 -1
- package/dist/hooks/project-memory/__tests__/detector.test.js +0 -165
- package/dist/hooks/project-memory/__tests__/detector.test.js.map +0 -1
- package/dist/hooks/project-memory/__tests__/formatter.test.d.ts +0 -5
- package/dist/hooks/project-memory/__tests__/formatter.test.d.ts.map +0 -1
- package/dist/hooks/project-memory/__tests__/formatter.test.js +0 -262
- package/dist/hooks/project-memory/__tests__/formatter.test.js.map +0 -1
- package/dist/hooks/project-memory/__tests__/integration.test.d.ts +0 -5
- package/dist/hooks/project-memory/__tests__/integration.test.d.ts.map +0 -1
- package/dist/hooks/project-memory/__tests__/integration.test.js +0 -154
- package/dist/hooks/project-memory/__tests__/integration.test.js.map +0 -1
- package/dist/hooks/project-memory/__tests__/learner.test.d.ts +0 -5
- package/dist/hooks/project-memory/__tests__/learner.test.d.ts.map +0 -1
- package/dist/hooks/project-memory/__tests__/learner.test.js +0 -159
- package/dist/hooks/project-memory/__tests__/learner.test.js.map +0 -1
- package/dist/hooks/project-memory/__tests__/storage.test.d.ts +0 -5
- package/dist/hooks/project-memory/__tests__/storage.test.d.ts.map +0 -1
- package/dist/hooks/project-memory/__tests__/storage.test.js +0 -207
- package/dist/hooks/project-memory/__tests__/storage.test.js.map +0 -1
- package/dist/hooks/ralph/__tests__/loop.test.d.ts +0 -2
- package/dist/hooks/ralph/__tests__/loop.test.d.ts.map +0 -1
- package/dist/hooks/ralph/__tests__/loop.test.js +0 -268
- package/dist/hooks/ralph/__tests__/loop.test.js.map +0 -1
- package/dist/hooks/ralph/__tests__/prd.test.d.ts +0 -2
- package/dist/hooks/ralph/__tests__/prd.test.d.ts.map +0 -1
- package/dist/hooks/ralph/__tests__/prd.test.js +0 -197
- package/dist/hooks/ralph/__tests__/prd.test.js.map +0 -1
- package/dist/hooks/ralph/__tests__/progress.test.d.ts +0 -2
- package/dist/hooks/ralph/__tests__/progress.test.d.ts.map +0 -1
- package/dist/hooks/ralph/__tests__/progress.test.js +0 -120
- package/dist/hooks/ralph/__tests__/progress.test.js.map +0 -1
- package/dist/hooks/ralph/__tests__/verifier.test.d.ts +0 -2
- package/dist/hooks/ralph/__tests__/verifier.test.d.ts.map +0 -1
- package/dist/hooks/ralph/__tests__/verifier.test.js +0 -75
- package/dist/hooks/ralph/__tests__/verifier.test.js.map +0 -1
- package/dist/hooks/recovery/__tests__/context-window.test.d.ts +0 -2
- package/dist/hooks/recovery/__tests__/context-window.test.d.ts.map +0 -1
- package/dist/hooks/recovery/__tests__/context-window.test.js +0 -131
- package/dist/hooks/recovery/__tests__/context-window.test.js.map +0 -1
- package/dist/hooks/recovery/__tests__/edit-error.test.d.ts +0 -2
- package/dist/hooks/recovery/__tests__/edit-error.test.d.ts.map +0 -1
- package/dist/hooks/recovery/__tests__/edit-error.test.js +0 -88
- package/dist/hooks/recovery/__tests__/edit-error.test.js.map +0 -1
- package/dist/hooks/recovery/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/recovery/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/recovery/__tests__/index.test.js +0 -270
- package/dist/hooks/recovery/__tests__/index.test.js.map +0 -1
- package/dist/hooks/recovery/__tests__/session-recovery.test.d.ts +0 -2
- package/dist/hooks/recovery/__tests__/session-recovery.test.d.ts.map +0 -1
- package/dist/hooks/recovery/__tests__/session-recovery.test.js +0 -129
- package/dist/hooks/recovery/__tests__/session-recovery.test.js.map +0 -1
- package/dist/hooks/recovery/__tests__/storage.test.d.ts +0 -2
- package/dist/hooks/recovery/__tests__/storage.test.d.ts.map +0 -1
- package/dist/hooks/recovery/__tests__/storage.test.js +0 -549
- package/dist/hooks/recovery/__tests__/storage.test.js.map +0 -1
- package/dist/hooks/rules-injector/__tests__/finder.test.d.ts +0 -2
- package/dist/hooks/rules-injector/__tests__/finder.test.d.ts.map +0 -1
- package/dist/hooks/rules-injector/__tests__/finder.test.js +0 -68
- package/dist/hooks/rules-injector/__tests__/finder.test.js.map +0 -1
- package/dist/hooks/rules-injector/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/rules-injector/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/rules-injector/__tests__/index.test.js +0 -58
- package/dist/hooks/rules-injector/__tests__/index.test.js.map +0 -1
- package/dist/hooks/rules-injector/__tests__/matcher.test.d.ts +0 -2
- package/dist/hooks/rules-injector/__tests__/matcher.test.d.ts.map +0 -1
- package/dist/hooks/rules-injector/__tests__/matcher.test.js +0 -86
- package/dist/hooks/rules-injector/__tests__/matcher.test.js.map +0 -1
- package/dist/hooks/rules-injector/__tests__/parser.test.d.ts +0 -2
- package/dist/hooks/rules-injector/__tests__/parser.test.d.ts.map +0 -1
- package/dist/hooks/rules-injector/__tests__/parser.test.js +0 -86
- package/dist/hooks/rules-injector/__tests__/parser.test.js.map +0 -1
- package/dist/hooks/session-end/__tests__/callbacks.test.d.ts +0 -2
- package/dist/hooks/session-end/__tests__/callbacks.test.d.ts.map +0 -1
- package/dist/hooks/session-end/__tests__/callbacks.test.js +0 -382
- package/dist/hooks/session-end/__tests__/callbacks.test.js.map +0 -1
- package/dist/hooks/session-end/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/session-end/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/session-end/__tests__/index.test.js +0 -77
- package/dist/hooks/session-end/__tests__/index.test.js.map +0 -1
- package/dist/hooks/session-end/__tests__/nexus-integration.test.d.ts +0 -2
- package/dist/hooks/session-end/__tests__/nexus-integration.test.d.ts.map +0 -1
- package/dist/hooks/session-end/__tests__/nexus-integration.test.js +0 -30
- package/dist/hooks/session-end/__tests__/nexus-integration.test.js.map +0 -1
- package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.d.ts +0 -2
- package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.d.ts.map +0 -1
- package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.js +0 -46
- package/dist/hooks/session-end/__tests__/python-repl-cleanup.test.js.map +0 -1
- package/dist/hooks/session-end/__tests__/session-duration.test.d.ts +0 -2
- package/dist/hooks/session-end/__tests__/session-duration.test.d.ts.map +0 -1
- package/dist/hooks/session-end/__tests__/session-duration.test.js +0 -236
- package/dist/hooks/session-end/__tests__/session-duration.test.js.map +0 -1
- package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.d.ts +0 -2
- package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.d.ts.map +0 -1
- package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.js +0 -58
- package/dist/hooks/session-end/__tests__/session-end-bridge-cleanup.test.js.map +0 -1
- package/dist/hooks/setup/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/setup/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/setup/__tests__/index.test.js +0 -68
- package/dist/hooks/setup/__tests__/index.test.js.map +0 -1
- package/dist/hooks/setup/__tests__/prune.test.d.ts +0 -2
- package/dist/hooks/setup/__tests__/prune.test.d.ts.map +0 -1
- package/dist/hooks/setup/__tests__/prune.test.js +0 -94
- package/dist/hooks/setup/__tests__/prune.test.js.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.d.ts +0 -2
- package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.d.ts.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.js +0 -107
- package/dist/hooks/subagent-tracker/__tests__/flow-tracer.test.js.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/flush-race.test.d.ts +0 -2
- package/dist/hooks/subagent-tracker/__tests__/flush-race.test.d.ts.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/flush-race.test.js +0 -376
- package/dist/hooks/subagent-tracker/__tests__/flush-race.test.js.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/subagent-tracker/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/index.test.js +0 -818
- package/dist/hooks/subagent-tracker/__tests__/index.test.js.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/session-replay.test.d.ts +0 -2
- package/dist/hooks/subagent-tracker/__tests__/session-replay.test.d.ts.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js +0 -139
- package/dist/hooks/subagent-tracker/__tests__/session-replay.test.js.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.d.ts +0 -10
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.d.ts.map +0 -1
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.js +0 -112
- package/dist/hooks/subagent-tracker/__tests__/syncSleep.test.js.map +0 -1
- package/dist/hooks/team-pipeline/__tests__/state.test.d.ts +0 -2
- package/dist/hooks/team-pipeline/__tests__/state.test.d.ts.map +0 -1
- package/dist/hooks/team-pipeline/__tests__/state.test.js +0 -94
- package/dist/hooks/team-pipeline/__tests__/state.test.js.map +0 -1
- package/dist/hooks/team-pipeline/__tests__/transitions.test.d.ts +0 -2
- package/dist/hooks/team-pipeline/__tests__/transitions.test.d.ts.map +0 -1
- package/dist/hooks/team-pipeline/__tests__/transitions.test.js +0 -156
- package/dist/hooks/team-pipeline/__tests__/transitions.test.js.map +0 -1
- package/dist/hooks/think-mode/__tests__/index.test.d.ts +0 -2
- package/dist/hooks/think-mode/__tests__/index.test.d.ts.map +0 -1
- package/dist/hooks/think-mode/__tests__/index.test.js +0 -556
- package/dist/hooks/think-mode/__tests__/index.test.js.map +0 -1
- package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.d.ts +0 -2
- package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.d.ts.map +0 -1
- package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.js +0 -119
- package/dist/hooks/todo-continuation/__tests__/isUserAbort.test.js.map +0 -1
- package/dist/hooks/ultrawork/session-isolation.test.d.ts +0 -2
- package/dist/hooks/ultrawork/session-isolation.test.d.ts.map +0 -1
- package/dist/hooks/ultrawork/session-isolation.test.js +0 -333
- package/dist/hooks/ultrawork/session-isolation.test.js.map +0 -1
- package/dist/installer/__tests__/claude-md-merge.test.d.ts +0 -6
- package/dist/installer/__tests__/claude-md-merge.test.d.ts.map +0 -1
- package/dist/installer/__tests__/claude-md-merge.test.js +0 -220
- package/dist/installer/__tests__/claude-md-merge.test.js.map +0 -1
- package/dist/installer/__tests__/hooks.test.d.ts +0 -6
- package/dist/installer/__tests__/hooks.test.d.ts.map +0 -1
- package/dist/installer/__tests__/hooks.test.js +0 -121
- package/dist/installer/__tests__/hooks.test.js.map +0 -1
- package/dist/installer/__tests__/safe-installer.test.d.ts +0 -6
- package/dist/installer/__tests__/safe-installer.test.d.ts.map +0 -1
- package/dist/installer/__tests__/safe-installer.test.js +0 -185
- package/dist/installer/__tests__/safe-installer.test.js.map +0 -1
- package/dist/lib/__tests__/atomic-write.test.d.ts +0 -2
- package/dist/lib/__tests__/atomic-write.test.d.ts.map +0 -1
- package/dist/lib/__tests__/atomic-write.test.js +0 -196
- package/dist/lib/__tests__/atomic-write.test.js.map +0 -1
- package/dist/lib/__tests__/file-lock.test.d.ts +0 -13
- package/dist/lib/__tests__/file-lock.test.d.ts.map +0 -1
- package/dist/lib/__tests__/file-lock.test.js +0 -122
- package/dist/lib/__tests__/file-lock.test.js.map +0 -1
- package/dist/lib/__tests__/plugin-deps.test.d.ts +0 -2
- package/dist/lib/__tests__/plugin-deps.test.d.ts.map +0 -1
- package/dist/lib/__tests__/plugin-deps.test.js +0 -58
- package/dist/lib/__tests__/plugin-deps.test.js.map +0 -1
- package/dist/lib/__tests__/plugin-marketplace.test.d.ts +0 -2
- package/dist/lib/__tests__/plugin-marketplace.test.d.ts.map +0 -1
- package/dist/lib/__tests__/plugin-marketplace.test.js +0 -52
- package/dist/lib/__tests__/plugin-marketplace.test.js.map +0 -1
- package/dist/lib/__tests__/plugin-registry.test.d.ts +0 -2
- package/dist/lib/__tests__/plugin-registry.test.d.ts.map +0 -1
- package/dist/lib/__tests__/plugin-registry.test.js +0 -241
- package/dist/lib/__tests__/plugin-registry.test.js.map +0 -1
- package/dist/lib/__tests__/plugin-rollback.test.d.ts +0 -2
- package/dist/lib/__tests__/plugin-rollback.test.d.ts.map +0 -1
- package/dist/lib/__tests__/plugin-rollback.test.js +0 -60
- package/dist/lib/__tests__/plugin-rollback.test.js.map +0 -1
- package/dist/lib/__tests__/plugin-security.test.d.ts +0 -2
- package/dist/lib/__tests__/plugin-security.test.d.ts.map +0 -1
- package/dist/lib/__tests__/plugin-security.test.js +0 -70
- package/dist/lib/__tests__/plugin-security.test.js.map +0 -1
- package/dist/lib/__tests__/validateMode.test.d.ts +0 -2
- package/dist/lib/__tests__/validateMode.test.d.ts.map +0 -1
- package/dist/lib/__tests__/validateMode.test.js +0 -61
- package/dist/lib/__tests__/validateMode.test.js.map +0 -1
- package/dist/lib/__tests__/version.test.d.ts +0 -6
- package/dist/lib/__tests__/version.test.d.ts.map +0 -1
- package/dist/lib/__tests__/version.test.js +0 -37
- package/dist/lib/__tests__/version.test.js.map +0 -1
- package/dist/lib/__tests__/worktree-paths.test.d.ts +0 -2
- package/dist/lib/__tests__/worktree-paths.test.d.ts.map +0 -1
- package/dist/lib/__tests__/worktree-paths.test.js +0 -225
- package/dist/lib/__tests__/worktree-paths.test.js.map +0 -1
- package/dist/mcp/__tests__/cli-detection.test.d.ts +0 -2
- package/dist/mcp/__tests__/cli-detection.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/cli-detection.test.js +0 -50
- package/dist/mcp/__tests__/cli-detection.test.js.map +0 -1
- package/dist/mcp/__tests__/codex-core.test.d.ts +0 -2
- package/dist/mcp/__tests__/codex-core.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/codex-core.test.js +0 -143
- package/dist/mcp/__tests__/codex-core.test.js.map +0 -1
- package/dist/mcp/__tests__/codex-integration.test.d.ts +0 -2
- package/dist/mcp/__tests__/codex-integration.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/codex-integration.test.js +0 -59
- package/dist/mcp/__tests__/codex-integration.test.js.map +0 -1
- package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts +0 -2
- package/dist/mcp/__tests__/codex-reasoning-effort.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/codex-reasoning-effort.test.js +0 -141
- package/dist/mcp/__tests__/codex-reasoning-effort.test.js.map +0 -1
- package/dist/mcp/__tests__/gemini-core.test.d.ts +0 -2
- package/dist/mcp/__tests__/gemini-core.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/gemini-core.test.js +0 -53
- package/dist/mcp/__tests__/gemini-core.test.js.map +0 -1
- package/dist/mcp/__tests__/gemini-integration.test.d.ts +0 -2
- package/dist/mcp/__tests__/gemini-integration.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/gemini-integration.test.js +0 -50
- package/dist/mcp/__tests__/gemini-integration.test.js.map +0 -1
- package/dist/mcp/__tests__/gemini-yolo-env.test.d.ts +0 -2
- package/dist/mcp/__tests__/gemini-yolo-env.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/gemini-yolo-env.test.js +0 -274
- package/dist/mcp/__tests__/gemini-yolo-env.test.js.map +0 -1
- package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts +0 -2
- package/dist/mcp/__tests__/job-state-db-deprecation.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/job-state-db-deprecation.test.js +0 -166
- package/dist/mcp/__tests__/job-state-db-deprecation.test.js.map +0 -1
- package/dist/mcp/__tests__/omc-tools-server.test.d.ts +0 -2
- package/dist/mcp/__tests__/omc-tools-server.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/omc-tools-server.test.js +0 -108
- package/dist/mcp/__tests__/omc-tools-server.test.js.map +0 -1
- package/dist/mcp/__tests__/prompt-injection.test.d.ts +0 -2
- package/dist/mcp/__tests__/prompt-injection.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/prompt-injection.test.js +0 -86
- package/dist/mcp/__tests__/prompt-injection.test.js.map +0 -1
- package/dist/mcp/__tests__/shared-exec.test.d.ts +0 -2
- package/dist/mcp/__tests__/shared-exec.test.d.ts.map +0 -1
- package/dist/mcp/__tests__/shared-exec.test.js +0 -151
- package/dist/mcp/__tests__/shared-exec.test.js.map +0 -1
- package/dist/notifications/__tests__/config-merge.test.d.ts +0 -2
- package/dist/notifications/__tests__/config-merge.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/config-merge.test.js +0 -242
- package/dist/notifications/__tests__/config-merge.test.js.map +0 -1
- package/dist/notifications/__tests__/config.test.d.ts +0 -2
- package/dist/notifications/__tests__/config.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/config.test.js +0 -227
- package/dist/notifications/__tests__/config.test.js.map +0 -1
- package/dist/notifications/__tests__/dispatcher.test.d.ts +0 -2
- package/dist/notifications/__tests__/dispatcher.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/dispatcher.test.js +0 -898
- package/dist/notifications/__tests__/dispatcher.test.js.map +0 -1
- package/dist/notifications/__tests__/formatter.test.d.ts +0 -2
- package/dist/notifications/__tests__/formatter.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/formatter.test.js +0 -72
- package/dist/notifications/__tests__/formatter.test.js.map +0 -1
- package/dist/notifications/__tests__/notify-registry-integration.test.d.ts +0 -2
- package/dist/notifications/__tests__/notify-registry-integration.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/notify-registry-integration.test.js +0 -349
- package/dist/notifications/__tests__/notify-registry-integration.test.js.map +0 -1
- package/dist/notifications/__tests__/profiles.test.d.ts +0 -2
- package/dist/notifications/__tests__/profiles.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/profiles.test.js +0 -253
- package/dist/notifications/__tests__/profiles.test.js.map +0 -1
- package/dist/notifications/__tests__/reply-config.test.d.ts +0 -2
- package/dist/notifications/__tests__/reply-config.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/reply-config.test.js +0 -213
- package/dist/notifications/__tests__/reply-config.test.js.map +0 -1
- package/dist/notifications/__tests__/reply-listener.test.d.ts +0 -2
- package/dist/notifications/__tests__/reply-listener.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/reply-listener.test.js +0 -431
- package/dist/notifications/__tests__/reply-listener.test.js.map +0 -1
- package/dist/notifications/__tests__/session-registry.test.d.ts +0 -2
- package/dist/notifications/__tests__/session-registry.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/session-registry.test.js +0 -465
- package/dist/notifications/__tests__/session-registry.test.js.map +0 -1
- package/dist/notifications/__tests__/sleepMs.test.d.ts +0 -10
- package/dist/notifications/__tests__/sleepMs.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/sleepMs.test.js +0 -117
- package/dist/notifications/__tests__/sleepMs.test.js.map +0 -1
- package/dist/notifications/__tests__/tmux.test.d.ts +0 -2
- package/dist/notifications/__tests__/tmux.test.d.ts.map +0 -1
- package/dist/notifications/__tests__/tmux.test.js +0 -137
- package/dist/notifications/__tests__/tmux.test.js.map +0 -1
- package/dist/skills/__tests__/ax-context-init.test.d.ts +0 -2
- package/dist/skills/__tests__/ax-context-init.test.d.ts.map +0 -1
- package/dist/skills/__tests__/ax-context-init.test.js +0 -36
- package/dist/skills/__tests__/ax-context-init.test.js.map +0 -1
- package/dist/skills/__tests__/mingw-escape.test.d.ts +0 -9
- package/dist/skills/__tests__/mingw-escape.test.d.ts.map +0 -1
- package/dist/skills/__tests__/mingw-escape.test.js +0 -105
- package/dist/skills/__tests__/mingw-escape.test.js.map +0 -1
- package/dist/team/__tests__/activity-log.test.d.ts +0 -2
- package/dist/team/__tests__/activity-log.test.d.ts.map +0 -1
- package/dist/team/__tests__/activity-log.test.js +0 -141
- package/dist/team/__tests__/activity-log.test.js.map +0 -1
- package/dist/team/__tests__/audit-log.test.d.ts +0 -2
- package/dist/team/__tests__/audit-log.test.d.ts.map +0 -1
- package/dist/team/__tests__/audit-log.test.js +0 -305
- package/dist/team/__tests__/audit-log.test.js.map +0 -1
- package/dist/team/__tests__/bridge-entry.test.d.ts +0 -2
- package/dist/team/__tests__/bridge-entry.test.d.ts.map +0 -1
- package/dist/team/__tests__/bridge-entry.test.js +0 -152
- package/dist/team/__tests__/bridge-entry.test.js.map +0 -1
- package/dist/team/__tests__/bridge-integration.test.d.ts +0 -2
- package/dist/team/__tests__/bridge-integration.test.d.ts.map +0 -1
- package/dist/team/__tests__/bridge-integration.test.js +0 -328
- package/dist/team/__tests__/bridge-integration.test.js.map +0 -1
- package/dist/team/__tests__/capabilities.test.d.ts +0 -2
- package/dist/team/__tests__/capabilities.test.d.ts.map +0 -1
- package/dist/team/__tests__/capabilities.test.js +0 -97
- package/dist/team/__tests__/capabilities.test.js.map +0 -1
- package/dist/team/__tests__/deadlock-detector.test.d.ts +0 -2
- package/dist/team/__tests__/deadlock-detector.test.d.ts.map +0 -1
- package/dist/team/__tests__/deadlock-detector.test.js +0 -50
- package/dist/team/__tests__/deadlock-detector.test.js.map +0 -1
- package/dist/team/__tests__/dependency-graph.test.d.ts +0 -2
- package/dist/team/__tests__/dependency-graph.test.d.ts.map +0 -1
- package/dist/team/__tests__/dependency-graph.test.js +0 -29
- package/dist/team/__tests__/dependency-graph.test.js.map +0 -1
- package/dist/team/__tests__/edge-cases.test.d.ts +0 -16
- package/dist/team/__tests__/edge-cases.test.d.ts.map +0 -1
- package/dist/team/__tests__/edge-cases.test.js +0 -737
- package/dist/team/__tests__/edge-cases.test.js.map +0 -1
- package/dist/team/__tests__/fs-utils.test.d.ts +0 -2
- package/dist/team/__tests__/fs-utils.test.d.ts.map +0 -1
- package/dist/team/__tests__/fs-utils.test.js +0 -74
- package/dist/team/__tests__/fs-utils.test.js.map +0 -1
- package/dist/team/__tests__/git-worktree.test.d.ts +0 -2
- package/dist/team/__tests__/git-worktree.test.d.ts.map +0 -1
- package/dist/team/__tests__/git-worktree.test.js +0 -90
- package/dist/team/__tests__/git-worktree.test.js.map +0 -1
- package/dist/team/__tests__/heartbeat.test.d.ts +0 -2
- package/dist/team/__tests__/heartbeat.test.d.ts.map +0 -1
- package/dist/team/__tests__/heartbeat.test.js +0 -93
- package/dist/team/__tests__/heartbeat.test.js.map +0 -1
- package/dist/team/__tests__/inbox-outbox.test.d.ts +0 -2
- package/dist/team/__tests__/inbox-outbox.test.d.ts.map +0 -1
- package/dist/team/__tests__/inbox-outbox.test.js +0 -220
- package/dist/team/__tests__/inbox-outbox.test.js.map +0 -1
- package/dist/team/__tests__/mcp-team-bridge.test.d.ts +0 -2
- package/dist/team/__tests__/mcp-team-bridge.test.d.ts.map +0 -1
- package/dist/team/__tests__/mcp-team-bridge.test.js +0 -458
- package/dist/team/__tests__/mcp-team-bridge.test.js.map +0 -1
- package/dist/team/__tests__/merge-coordinator.test.d.ts +0 -2
- package/dist/team/__tests__/merge-coordinator.test.d.ts.map +0 -1
- package/dist/team/__tests__/merge-coordinator.test.js +0 -128
- package/dist/team/__tests__/merge-coordinator.test.js.map +0 -1
- package/dist/team/__tests__/message-router.test.d.ts +0 -2
- package/dist/team/__tests__/message-router.test.d.ts.map +0 -1
- package/dist/team/__tests__/message-router.test.js +0 -78
- package/dist/team/__tests__/message-router.test.js.map +0 -1
- package/dist/team/__tests__/outbox-reader.test.d.ts +0 -2
- package/dist/team/__tests__/outbox-reader.test.d.ts.map +0 -1
- package/dist/team/__tests__/outbox-reader.test.js +0 -134
- package/dist/team/__tests__/outbox-reader.test.js.map +0 -1
- package/dist/team/__tests__/permissions.test.d.ts +0 -2
- package/dist/team/__tests__/permissions.test.d.ts.map +0 -1
- package/dist/team/__tests__/permissions.test.js +0 -255
- package/dist/team/__tests__/permissions.test.js.map +0 -1
- package/dist/team/__tests__/prompt-sanitization.test.d.ts +0 -2
- package/dist/team/__tests__/prompt-sanitization.test.d.ts.map +0 -1
- package/dist/team/__tests__/prompt-sanitization.test.js +0 -150
- package/dist/team/__tests__/prompt-sanitization.test.js.map +0 -1
- package/dist/team/__tests__/summary-report.test.d.ts +0 -2
- package/dist/team/__tests__/summary-report.test.d.ts.map +0 -1
- package/dist/team/__tests__/summary-report.test.js +0 -196
- package/dist/team/__tests__/summary-report.test.js.map +0 -1
- package/dist/team/__tests__/task-file-ops.test.d.ts +0 -2
- package/dist/team/__tests__/task-file-ops.test.d.ts.map +0 -1
- package/dist/team/__tests__/task-file-ops.test.js +0 -392
- package/dist/team/__tests__/task-file-ops.test.js.map +0 -1
- package/dist/team/__tests__/task-router.test.d.ts +0 -2
- package/dist/team/__tests__/task-router.test.d.ts.map +0 -1
- package/dist/team/__tests__/task-router.test.js +0 -118
- package/dist/team/__tests__/task-router.test.js.map +0 -1
- package/dist/team/__tests__/team-registration.test.d.ts +0 -2
- package/dist/team/__tests__/team-registration.test.d.ts.map +0 -1
- package/dist/team/__tests__/team-registration.test.js +0 -90
- package/dist/team/__tests__/team-registration.test.js.map +0 -1
- package/dist/team/__tests__/team-status.test.d.ts +0 -2
- package/dist/team/__tests__/team-status.test.d.ts.map +0 -1
- package/dist/team/__tests__/team-status.test.js +0 -146
- package/dist/team/__tests__/team-status.test.js.map +0 -1
- package/dist/team/__tests__/tmux-session.test.d.ts +0 -2
- package/dist/team/__tests__/tmux-session.test.d.ts.map +0 -1
- package/dist/team/__tests__/tmux-session.test.js +0 -60
- package/dist/team/__tests__/tmux-session.test.js.map +0 -1
- package/dist/team/__tests__/unified-team.test.d.ts +0 -2
- package/dist/team/__tests__/unified-team.test.d.ts.map +0 -1
- package/dist/team/__tests__/unified-team.test.js +0 -77
- package/dist/team/__tests__/unified-team.test.js.map +0 -1
- package/dist/team/__tests__/usage-tracker.test.d.ts +0 -2
- package/dist/team/__tests__/usage-tracker.test.d.ts.map +0 -1
- package/dist/team/__tests__/usage-tracker.test.js +0 -106
- package/dist/team/__tests__/usage-tracker.test.js.map +0 -1
- package/dist/team/__tests__/worker-health.test.d.ts +0 -2
- package/dist/team/__tests__/worker-health.test.d.ts.map +0 -1
- package/dist/team/__tests__/worker-health.test.js +0 -129
- package/dist/team/__tests__/worker-health.test.js.map +0 -1
- package/dist/team/__tests__/worker-restart.test.d.ts +0 -2
- package/dist/team/__tests__/worker-restart.test.d.ts.map +0 -1
- package/dist/team/__tests__/worker-restart.test.js +0 -122
- package/dist/team/__tests__/worker-restart.test.js.map +0 -1
- package/dist/tools/__tests__/ast-tools.test.d.ts +0 -2
- package/dist/tools/__tests__/ast-tools.test.d.ts.map +0 -1
- package/dist/tools/__tests__/ast-tools.test.js +0 -178
- package/dist/tools/__tests__/ast-tools.test.js.map +0 -1
- package/dist/tools/__tests__/lsp-tools.test.d.ts +0 -2
- package/dist/tools/__tests__/lsp-tools.test.d.ts.map +0 -1
- package/dist/tools/__tests__/lsp-tools.test.js +0 -252
- package/dist/tools/__tests__/lsp-tools.test.js.map +0 -1
- package/dist/tools/__tests__/schema-conversion.test.d.ts +0 -11
- package/dist/tools/__tests__/schema-conversion.test.d.ts.map +0 -1
- package/dist/tools/__tests__/schema-conversion.test.js +0 -270
- package/dist/tools/__tests__/schema-conversion.test.js.map +0 -1
- package/dist/tools/__tests__/state-tools.test.d.ts +0 -2
- package/dist/tools/__tests__/state-tools.test.d.ts.map +0 -1
- package/dist/tools/__tests__/state-tools.test.js +0 -444
- package/dist/tools/__tests__/state-tools.test.js.map +0 -1
- package/dist/tools/diagnostics/__tests__/index.test.d.ts +0 -2
- package/dist/tools/diagnostics/__tests__/index.test.d.ts.map +0 -1
- package/dist/tools/diagnostics/__tests__/index.test.js +0 -111
- package/dist/tools/diagnostics/__tests__/index.test.js.map +0 -1
- package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.d.ts +0 -2
- package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.d.ts.map +0 -1
- package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.js +0 -120
- package/dist/tools/diagnostics/__tests__/lsp-aggregator.test.js.map +0 -1
- package/dist/tools/diagnostics/__tests__/tsc-runner.test.d.ts +0 -2
- package/dist/tools/diagnostics/__tests__/tsc-runner.test.d.ts.map +0 -1
- package/dist/tools/diagnostics/__tests__/tsc-runner.test.js +0 -86
- package/dist/tools/diagnostics/__tests__/tsc-runner.test.js.map +0 -1
- package/dist/tools/lsp/__tests__/client-eviction.test.d.ts +0 -2
- package/dist/tools/lsp/__tests__/client-eviction.test.d.ts.map +0 -1
- package/dist/tools/lsp/__tests__/client-eviction.test.js +0 -343
- package/dist/tools/lsp/__tests__/client-eviction.test.js.map +0 -1
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.d.ts +0 -11
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.d.ts.map +0 -1
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.js +0 -222
- package/dist/tools/lsp/__tests__/client-timer-buffer.test.js.map +0 -1
- package/dist/tools/lsp/__tests__/client-win32-spawn.test.d.ts +0 -2
- package/dist/tools/lsp/__tests__/client-win32-spawn.test.d.ts.map +0 -1
- package/dist/tools/lsp/__tests__/client-win32-spawn.test.js +0 -84
- package/dist/tools/lsp/__tests__/client-win32-spawn.test.js.map +0 -1
- package/dist/tools/lsp/__tests__/command-exists.test.d.ts +0 -2
- package/dist/tools/lsp/__tests__/command-exists.test.d.ts.map +0 -1
- package/dist/tools/lsp/__tests__/command-exists.test.js +0 -104
- package/dist/tools/lsp/__tests__/command-exists.test.js.map +0 -1
- package/dist/tools/lsp/__tests__/utils.test.d.ts +0 -2
- package/dist/tools/lsp/__tests__/utils.test.d.ts.map +0 -1
- package/dist/tools/lsp/__tests__/utils.test.js +0 -338
- package/dist/tools/lsp/__tests__/utils.test.js.map +0 -1
- package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.d.ts +0 -2
- package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.d.ts.map +0 -1
- package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js +0 -76
- package/dist/tools/python-repl/__tests__/bridge-manager-cleanup.test.js.map +0 -1
- package/dist/tools/python-repl/__tests__/bridge-manager.test.d.ts +0 -2
- package/dist/tools/python-repl/__tests__/bridge-manager.test.d.ts.map +0 -1
- package/dist/tools/python-repl/__tests__/bridge-manager.test.js +0 -338
- package/dist/tools/python-repl/__tests__/bridge-manager.test.js.map +0 -1
- package/dist/tools/python-repl/__tests__/socket-client.test.d.ts +0 -2
- package/dist/tools/python-repl/__tests__/socket-client.test.d.ts.map +0 -1
- package/dist/tools/python-repl/__tests__/socket-client.test.js +0 -155
- package/dist/tools/python-repl/__tests__/socket-client.test.js.map +0 -1
- package/dist/utils/__tests__/paths.test.d.ts +0 -2
- package/dist/utils/__tests__/paths.test.d.ts.map +0 -1
- package/dist/utils/__tests__/paths.test.js +0 -88
- package/dist/utils/__tests__/paths.test.js.map +0 -1
- package/dist/utils/__tests__/string-width.test.d.ts +0 -6
- package/dist/utils/__tests__/string-width.test.d.ts.map +0 -1
- package/dist/utils/__tests__/string-width.test.js +0 -173
- package/dist/utils/__tests__/string-width.test.js.map +0 -1
- package/dist/verification/tier-selector.test.d.ts +0 -2
- package/dist/verification/tier-selector.test.d.ts.map +0 -1
- package/dist/verification/tier-selector.test.js +0 -282
- package/dist/verification/tier-selector.test.js.map +0 -1
|
@@ -1,868 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { removeCodeBlocks, sanitizeForKeywordDetection, extractPromptText, detectKeywordsWithType, hasKeyword, getPrimaryKeyword, getAllKeywords, } from '../index.js';
|
|
3
|
-
// Mock isTeamEnabled
|
|
4
|
-
vi.mock('../../../features/auto-update.js', () => ({
|
|
5
|
-
isTeamEnabled: vi.fn(() => true),
|
|
6
|
-
}));
|
|
7
|
-
import { isTeamEnabled } from '../../../features/auto-update.js';
|
|
8
|
-
const mockedIsTeamEnabled = vi.mocked(isTeamEnabled);
|
|
9
|
-
describe('keyword-detector', () => {
|
|
10
|
-
describe('removeCodeBlocks', () => {
|
|
11
|
-
it('should remove fenced code blocks with triple backticks', () => {
|
|
12
|
-
const text = 'Before ```code here``` after';
|
|
13
|
-
expect(removeCodeBlocks(text)).toBe('Before after');
|
|
14
|
-
});
|
|
15
|
-
it('should remove fenced code blocks with tildes', () => {
|
|
16
|
-
const text = 'Before ~~~code here~~~ after';
|
|
17
|
-
expect(removeCodeBlocks(text)).toBe('Before after');
|
|
18
|
-
});
|
|
19
|
-
it('should remove multiline fenced code blocks', () => {
|
|
20
|
-
const text = `Hello
|
|
21
|
-
\`\`\`javascript
|
|
22
|
-
const x = 1;
|
|
23
|
-
const y = 2;
|
|
24
|
-
\`\`\`
|
|
25
|
-
World`;
|
|
26
|
-
expect(removeCodeBlocks(text)).toBe(`Hello
|
|
27
|
-
|
|
28
|
-
World`);
|
|
29
|
-
});
|
|
30
|
-
it('should remove inline code with single backticks', () => {
|
|
31
|
-
const text = 'Use `autopilot` command here';
|
|
32
|
-
expect(removeCodeBlocks(text)).toBe('Use command here');
|
|
33
|
-
});
|
|
34
|
-
it('should handle nested backticks in fenced blocks', () => {
|
|
35
|
-
// The regex matches ```...``` greedily, so ```const x = `test````
|
|
36
|
-
// matches from first ``` to the triple backtick at the end
|
|
37
|
-
const text = 'Before ```const x = `test` ``` after';
|
|
38
|
-
expect(removeCodeBlocks(text)).toBe('Before after');
|
|
39
|
-
});
|
|
40
|
-
it('should handle multiple code blocks', () => {
|
|
41
|
-
const text = '`a` middle `b` end';
|
|
42
|
-
expect(removeCodeBlocks(text)).toBe(' middle end');
|
|
43
|
-
});
|
|
44
|
-
it('should handle empty input', () => {
|
|
45
|
-
expect(removeCodeBlocks('')).toBe('');
|
|
46
|
-
});
|
|
47
|
-
it('should return text unchanged when no code blocks', () => {
|
|
48
|
-
const text = 'Regular text without code';
|
|
49
|
-
expect(removeCodeBlocks(text)).toBe('Regular text without code');
|
|
50
|
-
});
|
|
51
|
-
it('should handle code blocks with language specifier', () => {
|
|
52
|
-
const text = '```typescript\nconst x = 1;\n``` done';
|
|
53
|
-
expect(removeCodeBlocks(text)).toBe(' done');
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('sanitizeForKeywordDetection', () => {
|
|
57
|
-
it('should strip XML tag blocks', () => {
|
|
58
|
-
const result = sanitizeForKeywordDetection('<system-reminder>ralph</system-reminder>');
|
|
59
|
-
expect(result).not.toContain('ralph');
|
|
60
|
-
});
|
|
61
|
-
it('should strip self-closing XML tags', () => {
|
|
62
|
-
const result = sanitizeForKeywordDetection('text <br /> more');
|
|
63
|
-
expect(result).not.toContain('<br');
|
|
64
|
-
});
|
|
65
|
-
it('should strip URLs', () => {
|
|
66
|
-
const result = sanitizeForKeywordDetection('see https://example.com/codex/path');
|
|
67
|
-
expect(result).not.toContain('codex');
|
|
68
|
-
});
|
|
69
|
-
it('should strip file paths', () => {
|
|
70
|
-
const result = sanitizeForKeywordDetection('open src/mcp/codex-core.ts');
|
|
71
|
-
expect(result).not.toContain('codex');
|
|
72
|
-
});
|
|
73
|
-
it('should strip markdown code blocks', () => {
|
|
74
|
-
const result = sanitizeForKeywordDetection('```\nask codex\n```');
|
|
75
|
-
expect(result).not.toContain('codex');
|
|
76
|
-
});
|
|
77
|
-
it('should strip inline code', () => {
|
|
78
|
-
const result = sanitizeForKeywordDetection('use `ask codex` command');
|
|
79
|
-
expect(result).not.toContain('codex');
|
|
80
|
-
});
|
|
81
|
-
it('should preserve normal text', () => {
|
|
82
|
-
const result = sanitizeForKeywordDetection('ask codex to review');
|
|
83
|
-
expect(result).toContain('ask codex');
|
|
84
|
-
});
|
|
85
|
-
it('should not over-strip when XML tag names differ', () => {
|
|
86
|
-
// Mismatched tags should not strip content between them
|
|
87
|
-
const result = sanitizeForKeywordDetection('<open>ralph</close> hello');
|
|
88
|
-
expect(result).toContain('ralph');
|
|
89
|
-
});
|
|
90
|
-
it('should strip matching XML tags correctly', () => {
|
|
91
|
-
const result = sanitizeForKeywordDetection('<div>ralph</div> hello');
|
|
92
|
-
expect(result).not.toContain('ralph');
|
|
93
|
-
expect(result).toContain('hello');
|
|
94
|
-
});
|
|
95
|
-
it('should strip nested matching XML tags', () => {
|
|
96
|
-
const result = sanitizeForKeywordDetection('<outer>some <inner>text</inner> ralph</outer> visible');
|
|
97
|
-
expect(result).not.toContain('ralph');
|
|
98
|
-
expect(result).toContain('visible');
|
|
99
|
-
});
|
|
100
|
-
it('should strip absolute file paths starting with /', () => {
|
|
101
|
-
const result = sanitizeForKeywordDetection('open /usr/local/bin/codex');
|
|
102
|
-
expect(result).not.toContain('codex');
|
|
103
|
-
});
|
|
104
|
-
it('should strip relative file paths starting with ./', () => {
|
|
105
|
-
const result = sanitizeForKeywordDetection('edit ./src/codex.ts');
|
|
106
|
-
expect(result).not.toContain('codex');
|
|
107
|
-
});
|
|
108
|
-
it('should strip multi-segment file paths', () => {
|
|
109
|
-
const result = sanitizeForKeywordDetection('open src/mcp/codex-core.ts');
|
|
110
|
-
expect(result).not.toContain('codex');
|
|
111
|
-
});
|
|
112
|
-
it('should NOT strip standalone words that look like single segments', () => {
|
|
113
|
-
// "ask codex" should not be stripped since "codex" is not a path
|
|
114
|
-
const result = sanitizeForKeywordDetection('ask codex to review');
|
|
115
|
-
expect(result).toContain('ask codex');
|
|
116
|
-
});
|
|
117
|
-
it('should NOT strip slash-less words with dots', () => {
|
|
118
|
-
// "file.txt" alone (no path separator) should be kept
|
|
119
|
-
const result = sanitizeForKeywordDetection('rename codex.config');
|
|
120
|
-
expect(result).toContain('codex');
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
describe('extractPromptText', () => {
|
|
124
|
-
it('should extract text from text parts', () => {
|
|
125
|
-
const parts = [
|
|
126
|
-
{ type: 'text', text: 'Hello' },
|
|
127
|
-
{ type: 'text', text: 'World' },
|
|
128
|
-
];
|
|
129
|
-
expect(extractPromptText(parts)).toBe('Hello World');
|
|
130
|
-
});
|
|
131
|
-
it('should ignore non-text parts', () => {
|
|
132
|
-
const parts = [
|
|
133
|
-
{ type: 'text', text: 'Hello' },
|
|
134
|
-
{ type: 'image', url: 'http://example.com' },
|
|
135
|
-
{ type: 'text', text: 'World' },
|
|
136
|
-
];
|
|
137
|
-
expect(extractPromptText(parts)).toBe('Hello World');
|
|
138
|
-
});
|
|
139
|
-
it('should handle empty parts array', () => {
|
|
140
|
-
expect(extractPromptText([])).toBe('');
|
|
141
|
-
});
|
|
142
|
-
it('should handle parts with no text', () => {
|
|
143
|
-
const parts = [
|
|
144
|
-
{ type: 'text' },
|
|
145
|
-
{ type: 'text', text: 'Valid' },
|
|
146
|
-
];
|
|
147
|
-
expect(extractPromptText(parts)).toBe('Valid');
|
|
148
|
-
});
|
|
149
|
-
it('should handle undefined text gracefully', () => {
|
|
150
|
-
const parts = [
|
|
151
|
-
{ type: 'text', text: undefined },
|
|
152
|
-
{ type: 'text', text: 'Hello' },
|
|
153
|
-
];
|
|
154
|
-
expect(extractPromptText(parts)).toBe('Hello');
|
|
155
|
-
});
|
|
156
|
-
it('should handle all non-text parts', () => {
|
|
157
|
-
const parts = [
|
|
158
|
-
{ type: 'image' },
|
|
159
|
-
{ type: 'tool_use' },
|
|
160
|
-
];
|
|
161
|
-
expect(extractPromptText(parts)).toBe('');
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
describe('detectKeywordsWithType', () => {
|
|
165
|
-
describe('ralph keyword', () => {
|
|
166
|
-
it('should detect ralph keyword', () => {
|
|
167
|
-
const result = detectKeywordsWithType('Please ralph this task');
|
|
168
|
-
const ralphMatch = result.find((r) => r.type === 'ralph');
|
|
169
|
-
expect(ralphMatch).toBeDefined();
|
|
170
|
-
expect(ralphMatch?.keyword).toBe('ralph');
|
|
171
|
-
});
|
|
172
|
-
it('should NOT detect "don\'t stop" phrase', () => {
|
|
173
|
-
const result = detectKeywordsWithType("Don't stop until done");
|
|
174
|
-
const ralphMatch = result.find((r) => r.type === 'ralph');
|
|
175
|
-
expect(ralphMatch).toBeUndefined();
|
|
176
|
-
});
|
|
177
|
-
it('should NOT detect "must complete" phrase', () => {
|
|
178
|
-
const result = detectKeywordsWithType('You must complete this task');
|
|
179
|
-
const ralphMatch = result.find((r) => r.type === 'ralph');
|
|
180
|
-
expect(ralphMatch).toBeUndefined();
|
|
181
|
-
});
|
|
182
|
-
it('should NOT detect "until done" phrase', () => {
|
|
183
|
-
const result = detectKeywordsWithType('Keep going until done');
|
|
184
|
-
const ralphMatch = result.find((r) => r.type === 'ralph');
|
|
185
|
-
expect(ralphMatch).toBeUndefined();
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
describe('autopilot keyword', () => {
|
|
189
|
-
it('should detect autopilot keyword', () => {
|
|
190
|
-
const result = detectKeywordsWithType('Run in autopilot mode');
|
|
191
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
192
|
-
expect(autopilotMatch).toBeDefined();
|
|
193
|
-
});
|
|
194
|
-
it('should detect "auto pilot" with space', () => {
|
|
195
|
-
const result = detectKeywordsWithType('Enable auto pilot');
|
|
196
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
197
|
-
expect(autopilotMatch).toBeDefined();
|
|
198
|
-
});
|
|
199
|
-
it('should detect "auto-pilot" with hyphen', () => {
|
|
200
|
-
const result = detectKeywordsWithType('Enable auto-pilot mode');
|
|
201
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
202
|
-
expect(autopilotMatch).toBeDefined();
|
|
203
|
-
});
|
|
204
|
-
it('should detect "full auto" keyword', () => {
|
|
205
|
-
const result = detectKeywordsWithType('Go full auto on this');
|
|
206
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
207
|
-
expect(autopilotMatch).toBeDefined();
|
|
208
|
-
});
|
|
209
|
-
it('should detect "fullsend" keyword', () => {
|
|
210
|
-
const result = detectKeywordsWithType('fullsend this implementation');
|
|
211
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
212
|
-
expect(autopilotMatch).toBeDefined();
|
|
213
|
-
});
|
|
214
|
-
it('should NOT detect "build me" phrase', () => {
|
|
215
|
-
const result = detectKeywordsWithType('build me a web app');
|
|
216
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
217
|
-
expect(autopilotMatch).toBeUndefined();
|
|
218
|
-
});
|
|
219
|
-
it('should NOT detect "autonomous" keyword', () => {
|
|
220
|
-
const result = detectKeywordsWithType('Run in autonomous mode');
|
|
221
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
222
|
-
expect(autopilotMatch).toBeUndefined();
|
|
223
|
-
});
|
|
224
|
-
});
|
|
225
|
-
describe('ultrawork keyword', () => {
|
|
226
|
-
it('should detect ultrawork keyword', () => {
|
|
227
|
-
const result = detectKeywordsWithType('Do ultrawork on this');
|
|
228
|
-
const ultraworkMatch = result.find((r) => r.type === 'ultrawork');
|
|
229
|
-
expect(ultraworkMatch).toBeDefined();
|
|
230
|
-
});
|
|
231
|
-
it('should detect ulw abbreviation', () => {
|
|
232
|
-
const result = detectKeywordsWithType('ulw this code');
|
|
233
|
-
const ultraworkMatch = result.find((r) => r.type === 'ultrawork');
|
|
234
|
-
expect(ultraworkMatch).toBeDefined();
|
|
235
|
-
});
|
|
236
|
-
it('should NOT detect uw abbreviation', () => {
|
|
237
|
-
const result = detectKeywordsWithType('uw this code');
|
|
238
|
-
const ultraworkMatch = result.find((r) => r.type === 'ultrawork');
|
|
239
|
-
expect(ultraworkMatch).toBeUndefined();
|
|
240
|
-
});
|
|
241
|
-
});
|
|
242
|
-
describe('pipeline keyword', () => {
|
|
243
|
-
it('should detect agent pipeline phrase', () => {
|
|
244
|
-
const result = detectKeywordsWithType('agent pipeline build the API');
|
|
245
|
-
const pipelineMatch = result.find((r) => r.type === 'pipeline');
|
|
246
|
-
expect(pipelineMatch).toBeDefined();
|
|
247
|
-
});
|
|
248
|
-
it('should detect chain agents phrase', () => {
|
|
249
|
-
const result = detectKeywordsWithType('chain agents to build');
|
|
250
|
-
const pipelineMatch = result.find((r) => r.type === 'pipeline');
|
|
251
|
-
expect(pipelineMatch).toBeDefined();
|
|
252
|
-
});
|
|
253
|
-
it('should NOT detect bare pipeline keyword', () => {
|
|
254
|
-
const result = detectKeywordsWithType('pipeline fix this');
|
|
255
|
-
const pipelineMatch = result.find((r) => r.type === 'pipeline');
|
|
256
|
-
expect(pipelineMatch).toBeUndefined();
|
|
257
|
-
});
|
|
258
|
-
it('should NOT detect CI/CD pipeline', () => {
|
|
259
|
-
const result = detectKeywordsWithType('the CI pipeline is broken');
|
|
260
|
-
const pipelineMatch = result.find((r) => r.type === 'pipeline');
|
|
261
|
-
expect(pipelineMatch).toBeUndefined();
|
|
262
|
-
});
|
|
263
|
-
});
|
|
264
|
-
describe('tdd keyword', () => {
|
|
265
|
-
it('should detect tdd keyword', () => {
|
|
266
|
-
const result = detectKeywordsWithType('tdd this feature');
|
|
267
|
-
const tddMatch = result.find((r) => r.type === 'tdd');
|
|
268
|
-
expect(tddMatch).toBeDefined();
|
|
269
|
-
});
|
|
270
|
-
it('should detect test first phrase', () => {
|
|
271
|
-
const result = detectKeywordsWithType('test first approach');
|
|
272
|
-
const tddMatch = result.find((r) => r.type === 'tdd');
|
|
273
|
-
expect(tddMatch).toBeDefined();
|
|
274
|
-
});
|
|
275
|
-
it('should NOT detect red green phrase', () => {
|
|
276
|
-
const result = detectKeywordsWithType('red green refactor cycle');
|
|
277
|
-
const tddMatch = result.find((r) => r.type === 'tdd');
|
|
278
|
-
expect(tddMatch).toBeUndefined();
|
|
279
|
-
});
|
|
280
|
-
});
|
|
281
|
-
describe('ultrathink keyword', () => {
|
|
282
|
-
it('should detect ultrathink keyword', () => {
|
|
283
|
-
const result = detectKeywordsWithType('ultrathink about this problem');
|
|
284
|
-
const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
|
|
285
|
-
expect(ultrathinkMatch).toBeDefined();
|
|
286
|
-
});
|
|
287
|
-
it('should NOT detect "think hard" phrase', () => {
|
|
288
|
-
const result = detectKeywordsWithType('think hard about this problem');
|
|
289
|
-
const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
|
|
290
|
-
expect(ultrathinkMatch).toBeUndefined();
|
|
291
|
-
});
|
|
292
|
-
it('should NOT detect "think deeply" phrase', () => {
|
|
293
|
-
const result = detectKeywordsWithType('think deeply about this problem');
|
|
294
|
-
const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
|
|
295
|
-
expect(ultrathinkMatch).toBeUndefined();
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
describe('deepsearch keyword', () => {
|
|
299
|
-
it('should detect deepsearch keyword', () => {
|
|
300
|
-
const result = detectKeywordsWithType('deepsearch for files');
|
|
301
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
302
|
-
expect(searchMatch).toBeDefined();
|
|
303
|
-
});
|
|
304
|
-
it('should detect search the codebase', () => {
|
|
305
|
-
const result = detectKeywordsWithType('search the codebase');
|
|
306
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
307
|
-
expect(searchMatch).toBeDefined();
|
|
308
|
-
});
|
|
309
|
-
it('should detect find in codebase', () => {
|
|
310
|
-
const result = detectKeywordsWithType('find in codebase');
|
|
311
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
312
|
-
expect(searchMatch).toBeDefined();
|
|
313
|
-
});
|
|
314
|
-
it('should detect find in the codebase', () => {
|
|
315
|
-
const result = detectKeywordsWithType('find in the codebase');
|
|
316
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
317
|
-
expect(searchMatch).toBeDefined();
|
|
318
|
-
});
|
|
319
|
-
it('should NOT detect generic find', () => {
|
|
320
|
-
const result = detectKeywordsWithType('find the bug');
|
|
321
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
322
|
-
expect(searchMatch).toBeUndefined();
|
|
323
|
-
});
|
|
324
|
-
it('should NOT detect search code pattern', () => {
|
|
325
|
-
const result = detectKeywordsWithType('search code for errors');
|
|
326
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
327
|
-
expect(searchMatch).toBeUndefined();
|
|
328
|
-
});
|
|
329
|
-
it('should NOT detect find in all files', () => {
|
|
330
|
-
const result = detectKeywordsWithType('find in all files');
|
|
331
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
332
|
-
expect(searchMatch).toBeUndefined();
|
|
333
|
-
});
|
|
334
|
-
it('should NOT detect search project', () => {
|
|
335
|
-
const result = detectKeywordsWithType('search the project');
|
|
336
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
337
|
-
expect(searchMatch).toBeUndefined();
|
|
338
|
-
});
|
|
339
|
-
it('should NOT detect search files', () => {
|
|
340
|
-
const result = detectKeywordsWithType('search files for errors');
|
|
341
|
-
const searchMatch = result.find((r) => r.type === 'deepsearch');
|
|
342
|
-
expect(searchMatch).toBeUndefined();
|
|
343
|
-
});
|
|
344
|
-
});
|
|
345
|
-
describe('analyze keyword', () => {
|
|
346
|
-
it('should detect deep analyze keyword', () => {
|
|
347
|
-
const result = detectKeywordsWithType('deep analyze this code');
|
|
348
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
349
|
-
expect(analyzeMatch).toBeDefined();
|
|
350
|
-
});
|
|
351
|
-
it('should detect deep-analyze with hyphen', () => {
|
|
352
|
-
const result = detectKeywordsWithType('deep-analyze this code');
|
|
353
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
354
|
-
expect(analyzeMatch).toBeDefined();
|
|
355
|
-
});
|
|
356
|
-
it('should detect deepanalyze without space', () => {
|
|
357
|
-
const result = detectKeywordsWithType('deepanalyze this code');
|
|
358
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
359
|
-
expect(analyzeMatch).toBeDefined();
|
|
360
|
-
});
|
|
361
|
-
it('should NOT detect investigate with context', () => {
|
|
362
|
-
const result = detectKeywordsWithType('investigate the issue');
|
|
363
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
364
|
-
expect(analyzeMatch).toBeUndefined();
|
|
365
|
-
});
|
|
366
|
-
it('should NOT detect investigate this', () => {
|
|
367
|
-
const result = detectKeywordsWithType('investigate this bug');
|
|
368
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
369
|
-
expect(analyzeMatch).toBeUndefined();
|
|
370
|
-
});
|
|
371
|
-
it('should NOT detect investigate why', () => {
|
|
372
|
-
const result = detectKeywordsWithType('investigate why this fails');
|
|
373
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
374
|
-
expect(analyzeMatch).toBeUndefined();
|
|
375
|
-
});
|
|
376
|
-
it('should NOT detect debug the', () => {
|
|
377
|
-
const result = detectKeywordsWithType('debug the function');
|
|
378
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
379
|
-
expect(analyzeMatch).toBeUndefined();
|
|
380
|
-
});
|
|
381
|
-
it('should NOT detect debug this', () => {
|
|
382
|
-
const result = detectKeywordsWithType('debug this issue');
|
|
383
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
384
|
-
expect(analyzeMatch).toBeUndefined();
|
|
385
|
-
});
|
|
386
|
-
it('should NOT detect debug why', () => {
|
|
387
|
-
const result = detectKeywordsWithType('debug why this breaks');
|
|
388
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
389
|
-
expect(analyzeMatch).toBeUndefined();
|
|
390
|
-
});
|
|
391
|
-
it('should NOT detect generic analyze', () => {
|
|
392
|
-
const result = detectKeywordsWithType('analyze without context');
|
|
393
|
-
const analyzeMatch = result.find((r) => r.type === 'analyze');
|
|
394
|
-
expect(analyzeMatch).toBeUndefined();
|
|
395
|
-
});
|
|
396
|
-
});
|
|
397
|
-
describe('case insensitivity', () => {
|
|
398
|
-
it('should detect RALPH in uppercase', () => {
|
|
399
|
-
const result = detectKeywordsWithType('RALPH this task');
|
|
400
|
-
const ralphMatch = result.find((r) => r.type === 'ralph');
|
|
401
|
-
expect(ralphMatch).toBeDefined();
|
|
402
|
-
});
|
|
403
|
-
it('should detect AUTOPILOT in uppercase', () => {
|
|
404
|
-
const result = detectKeywordsWithType('AUTOPILOT mode');
|
|
405
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
406
|
-
expect(autopilotMatch).toBeDefined();
|
|
407
|
-
});
|
|
408
|
-
it('should detect mixed case keywords', () => {
|
|
409
|
-
const result = detectKeywordsWithType('UltraThink about this');
|
|
410
|
-
const ultrathinkMatch = result.find((r) => r.type === 'ultrathink');
|
|
411
|
-
expect(ultrathinkMatch).toBeDefined();
|
|
412
|
-
});
|
|
413
|
-
});
|
|
414
|
-
describe('code block exclusion', () => {
|
|
415
|
-
it('should not detect keyword inside fenced code block', () => {
|
|
416
|
-
const text = '```\nautopilot\n```';
|
|
417
|
-
const result = detectKeywordsWithType(text);
|
|
418
|
-
expect(result.length).toBe(0);
|
|
419
|
-
});
|
|
420
|
-
it('should not detect keyword inside inline code', () => {
|
|
421
|
-
const text = 'Use `autopilot` command';
|
|
422
|
-
const result = detectKeywordsWithType(text);
|
|
423
|
-
expect(result.length).toBe(0);
|
|
424
|
-
});
|
|
425
|
-
it('should detect keyword outside code block but not inside', () => {
|
|
426
|
-
const text = 'autopilot ```autopilot``` end';
|
|
427
|
-
const result = detectKeywordsWithType(text);
|
|
428
|
-
const autopilotMatches = result.filter((r) => r.type === 'autopilot');
|
|
429
|
-
expect(autopilotMatches.length).toBeGreaterThan(0);
|
|
430
|
-
});
|
|
431
|
-
it('should not detect keyword inside XML tags', () => {
|
|
432
|
-
const text = '<system-reminder>ralph</system-reminder> hello';
|
|
433
|
-
const result = detectKeywordsWithType(text);
|
|
434
|
-
const ralphMatch = result.find((r) => r.type === 'ralph');
|
|
435
|
-
expect(ralphMatch).toBeUndefined();
|
|
436
|
-
});
|
|
437
|
-
});
|
|
438
|
-
describe('codex keyword', () => {
|
|
439
|
-
it('should detect "ask codex"', () => {
|
|
440
|
-
const result = detectKeywordsWithType('ask codex to review');
|
|
441
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
442
|
-
expect(codexMatch).toBeDefined();
|
|
443
|
-
});
|
|
444
|
-
it('should detect "use gpt"', () => {
|
|
445
|
-
const result = detectKeywordsWithType('use gpt for review');
|
|
446
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
447
|
-
expect(codexMatch).toBeDefined();
|
|
448
|
-
});
|
|
449
|
-
it('should detect "delegate to codex"', () => {
|
|
450
|
-
const result = detectKeywordsWithType('delegate to codex');
|
|
451
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
452
|
-
expect(codexMatch).toBeDefined();
|
|
453
|
-
});
|
|
454
|
-
it('should detect "delegate to gpt"', () => {
|
|
455
|
-
const result = detectKeywordsWithType('delegate to gpt');
|
|
456
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
457
|
-
expect(codexMatch).toBeDefined();
|
|
458
|
-
});
|
|
459
|
-
it('should NOT detect bare codex keyword', () => {
|
|
460
|
-
const result = detectKeywordsWithType('codex review this');
|
|
461
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
462
|
-
expect(codexMatch).toBeUndefined();
|
|
463
|
-
});
|
|
464
|
-
it('should NOT detect bare gpt keyword', () => {
|
|
465
|
-
const result = detectKeywordsWithType('gpt is great');
|
|
466
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
467
|
-
expect(codexMatch).toBeUndefined();
|
|
468
|
-
});
|
|
469
|
-
it('should NOT detect gpt model names', () => {
|
|
470
|
-
const result = detectKeywordsWithType('gpt-5.3 model');
|
|
471
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
472
|
-
expect(codexMatch).toBeUndefined();
|
|
473
|
-
});
|
|
474
|
-
it('should NOT detect chatgpt', () => {
|
|
475
|
-
const result = detectKeywordsWithType('chatgpt helped');
|
|
476
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
477
|
-
expect(codexMatch).toBeUndefined();
|
|
478
|
-
});
|
|
479
|
-
});
|
|
480
|
-
describe('ccg keyword', () => {
|
|
481
|
-
it('should detect "ccg" keyword', () => {
|
|
482
|
-
const result = detectKeywordsWithType('ccg this feature');
|
|
483
|
-
const ccgMatch = result.find((r) => r.type === 'ccg');
|
|
484
|
-
expect(ccgMatch).toBeDefined();
|
|
485
|
-
expect(ccgMatch?.keyword).toMatch(/ccg/i);
|
|
486
|
-
});
|
|
487
|
-
it('should detect "claude-codex-gemini" keyword', () => {
|
|
488
|
-
const result = detectKeywordsWithType('use claude-codex-gemini to build this');
|
|
489
|
-
const ccgMatch = result.find((r) => r.type === 'ccg');
|
|
490
|
-
expect(ccgMatch).toBeDefined();
|
|
491
|
-
});
|
|
492
|
-
it('should detect CCG in uppercase', () => {
|
|
493
|
-
const result = detectKeywordsWithType('CCG add user profile page');
|
|
494
|
-
const ccgMatch = result.find((r) => r.type === 'ccg');
|
|
495
|
-
expect(ccgMatch).toBeDefined();
|
|
496
|
-
});
|
|
497
|
-
it('should NOT detect ccg inside code block', () => {
|
|
498
|
-
const result = detectKeywordsWithType('```\nccg mode\n```');
|
|
499
|
-
const ccgMatch = result.find((r) => r.type === 'ccg');
|
|
500
|
-
expect(ccgMatch).toBeUndefined();
|
|
501
|
-
});
|
|
502
|
-
it('should NOT detect ccg inside inline code', () => {
|
|
503
|
-
const result = detectKeywordsWithType('use `ccg` command');
|
|
504
|
-
const ccgMatch = result.find((r) => r.type === 'ccg');
|
|
505
|
-
expect(ccgMatch).toBeUndefined();
|
|
506
|
-
});
|
|
507
|
-
it('should detect ccg with other text around it', () => {
|
|
508
|
-
const result = detectKeywordsWithType('please ccg this full-stack feature');
|
|
509
|
-
const ccgMatch = result.find((r) => r.type === 'ccg');
|
|
510
|
-
expect(ccgMatch).toBeDefined();
|
|
511
|
-
});
|
|
512
|
-
});
|
|
513
|
-
describe('gemini keyword', () => {
|
|
514
|
-
it('should detect "ask gemini"', () => {
|
|
515
|
-
const result = detectKeywordsWithType('ask gemini to design');
|
|
516
|
-
const geminiMatch = result.find((r) => r.type === 'gemini');
|
|
517
|
-
expect(geminiMatch).toBeDefined();
|
|
518
|
-
});
|
|
519
|
-
it('should detect "use gemini"', () => {
|
|
520
|
-
const result = detectKeywordsWithType('use gemini for UI');
|
|
521
|
-
const geminiMatch = result.find((r) => r.type === 'gemini');
|
|
522
|
-
expect(geminiMatch).toBeDefined();
|
|
523
|
-
});
|
|
524
|
-
it('should detect "delegate to gemini"', () => {
|
|
525
|
-
const result = detectKeywordsWithType('delegate to gemini');
|
|
526
|
-
const geminiMatch = result.find((r) => r.type === 'gemini');
|
|
527
|
-
expect(geminiMatch).toBeDefined();
|
|
528
|
-
});
|
|
529
|
-
it('should NOT detect bare gemini keyword', () => {
|
|
530
|
-
const result = detectKeywordsWithType('gemini constellation');
|
|
531
|
-
const geminiMatch = result.find((r) => r.type === 'gemini');
|
|
532
|
-
expect(geminiMatch).toBeUndefined();
|
|
533
|
-
});
|
|
534
|
-
it('should NOT detect gemini in non-intent context', () => {
|
|
535
|
-
const result = detectKeywordsWithType('the Gemini project');
|
|
536
|
-
const geminiMatch = result.find((r) => r.type === 'gemini');
|
|
537
|
-
expect(geminiMatch).toBeUndefined();
|
|
538
|
-
});
|
|
539
|
-
});
|
|
540
|
-
describe('sanitization false-positive prevention', () => {
|
|
541
|
-
it('should NOT detect codex in URL', () => {
|
|
542
|
-
const result = detectKeywordsWithType('see https://example.com/gpt');
|
|
543
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
544
|
-
expect(codexMatch).toBeUndefined();
|
|
545
|
-
});
|
|
546
|
-
it('should NOT detect codex in file path', () => {
|
|
547
|
-
const result = detectKeywordsWithType('open docs/gpt/README.md');
|
|
548
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
549
|
-
expect(codexMatch).toBeUndefined();
|
|
550
|
-
});
|
|
551
|
-
it('should NOT detect codex in inline code', () => {
|
|
552
|
-
const result = detectKeywordsWithType('`ask codex`');
|
|
553
|
-
const codexMatch = result.find((r) => r.type === 'codex');
|
|
554
|
-
expect(codexMatch).toBeUndefined();
|
|
555
|
-
});
|
|
556
|
-
});
|
|
557
|
-
describe('edge cases', () => {
|
|
558
|
-
it('should handle empty input', () => {
|
|
559
|
-
const result = detectKeywordsWithType('');
|
|
560
|
-
expect(result.length).toBe(0);
|
|
561
|
-
});
|
|
562
|
-
it('should handle whitespace only input', () => {
|
|
563
|
-
const result = detectKeywordsWithType(' \n\t ');
|
|
564
|
-
expect(result.length).toBe(0);
|
|
565
|
-
});
|
|
566
|
-
it('should handle special characters', () => {
|
|
567
|
-
const result = detectKeywordsWithType('!@#$%^&*()');
|
|
568
|
-
expect(result.length).toBe(0);
|
|
569
|
-
});
|
|
570
|
-
it('should return position of detected keywords', () => {
|
|
571
|
-
const text = 'Please autopilot this';
|
|
572
|
-
const result = detectKeywordsWithType(text);
|
|
573
|
-
const autopilotMatch = result.find((r) => r.type === 'autopilot');
|
|
574
|
-
expect(autopilotMatch?.position).toBeGreaterThanOrEqual(0);
|
|
575
|
-
});
|
|
576
|
-
it('should detect multiple different keyword types', () => {
|
|
577
|
-
const text = 'autopilot and deep analyze the bug';
|
|
578
|
-
const result = detectKeywordsWithType(text);
|
|
579
|
-
const types = result.map((r) => r.type);
|
|
580
|
-
expect(types).toContain('autopilot');
|
|
581
|
-
expect(types).toContain('analyze');
|
|
582
|
-
});
|
|
583
|
-
});
|
|
584
|
-
});
|
|
585
|
-
describe('hasKeyword', () => {
|
|
586
|
-
it('should return true when keyword exists', () => {
|
|
587
|
-
expect(hasKeyword('autopilot this')).toBe(true);
|
|
588
|
-
});
|
|
589
|
-
it('should return true for ralph keyword', () => {
|
|
590
|
-
expect(hasKeyword('ralph the task')).toBe(true);
|
|
591
|
-
});
|
|
592
|
-
it('should return false when no keyword exists', () => {
|
|
593
|
-
expect(hasKeyword('regular text here')).toBe(false);
|
|
594
|
-
});
|
|
595
|
-
it('should return false for empty input', () => {
|
|
596
|
-
expect(hasKeyword('')).toBe(false);
|
|
597
|
-
});
|
|
598
|
-
it('should return false when keyword is inside code block', () => {
|
|
599
|
-
expect(hasKeyword('```autopilot```')).toBe(false);
|
|
600
|
-
});
|
|
601
|
-
it('should return true when keyword is outside code block', () => {
|
|
602
|
-
expect(hasKeyword('autopilot ```other code```')).toBe(true);
|
|
603
|
-
});
|
|
604
|
-
});
|
|
605
|
-
describe('getPrimaryKeyword', () => {
|
|
606
|
-
describe('priority order', () => {
|
|
607
|
-
it('should return ralph over autopilot', () => {
|
|
608
|
-
const result = getPrimaryKeyword('ralph and autopilot');
|
|
609
|
-
expect(result?.type).toBe('ralph');
|
|
610
|
-
});
|
|
611
|
-
it('should return autopilot over ultrawork', () => {
|
|
612
|
-
const result = getPrimaryKeyword('autopilot and ultrawork');
|
|
613
|
-
expect(result?.type).toBe('autopilot');
|
|
614
|
-
});
|
|
615
|
-
it('should return ultrawork over ultrathink', () => {
|
|
616
|
-
const result = getPrimaryKeyword('ultrawork and ultrathink');
|
|
617
|
-
expect(result?.type).toBe('ultrawork');
|
|
618
|
-
});
|
|
619
|
-
it('should return ultrathink over deepsearch', () => {
|
|
620
|
-
const result = getPrimaryKeyword('ultrathink and search the codebase');
|
|
621
|
-
expect(result?.type).toBe('ultrathink');
|
|
622
|
-
});
|
|
623
|
-
it('should return deepsearch over analyze', () => {
|
|
624
|
-
const result = getPrimaryKeyword('find in codebase and debug the issue');
|
|
625
|
-
expect(result?.type).toBe('deepsearch');
|
|
626
|
-
});
|
|
627
|
-
it('should return analyze when it is the only keyword', () => {
|
|
628
|
-
const result = getPrimaryKeyword('deep analyze the issue');
|
|
629
|
-
expect(result?.type).toBe('analyze');
|
|
630
|
-
});
|
|
631
|
-
});
|
|
632
|
-
describe('multiple keyword conflict resolution', () => {
|
|
633
|
-
it('should return cancel over everything', () => {
|
|
634
|
-
const result = getPrimaryKeyword('cancelomc ralph ultrawork');
|
|
635
|
-
expect(result?.type).toBe('cancel');
|
|
636
|
-
});
|
|
637
|
-
it('should return ralph over ultrawork', () => {
|
|
638
|
-
const result = getPrimaryKeyword('ralph ulw fix errors');
|
|
639
|
-
expect(result?.type).toBe('ralph');
|
|
640
|
-
});
|
|
641
|
-
it('should detect all keywords even when multiple present', () => {
|
|
642
|
-
const result = detectKeywordsWithType('ulw ralph fix errors');
|
|
643
|
-
const types = result.map(r => r.type);
|
|
644
|
-
expect(types).toContain('ultrawork');
|
|
645
|
-
expect(types).toContain('ralph');
|
|
646
|
-
});
|
|
647
|
-
});
|
|
648
|
-
it('should return null when no keyword found', () => {
|
|
649
|
-
const result = getPrimaryKeyword('regular text');
|
|
650
|
-
expect(result).toBeNull();
|
|
651
|
-
});
|
|
652
|
-
it('should return null for empty input', () => {
|
|
653
|
-
const result = getPrimaryKeyword('');
|
|
654
|
-
expect(result).toBeNull();
|
|
655
|
-
});
|
|
656
|
-
it('should return null when keyword is in code block', () => {
|
|
657
|
-
const result = getPrimaryKeyword('```autopilot```');
|
|
658
|
-
expect(result).toBeNull();
|
|
659
|
-
});
|
|
660
|
-
it('should return keyword with correct type and position', () => {
|
|
661
|
-
const result = getPrimaryKeyword('autopilot this task');
|
|
662
|
-
expect(result).not.toBeNull();
|
|
663
|
-
expect(result?.type).toBe('autopilot');
|
|
664
|
-
expect(result?.keyword).toBeDefined();
|
|
665
|
-
expect(result?.position).toBeGreaterThanOrEqual(0);
|
|
666
|
-
});
|
|
667
|
-
it('should handle complex text with multiple keywords', () => {
|
|
668
|
-
const text = 'Please ralph this and then autopilot the rest, think about it and analyze';
|
|
669
|
-
const result = getPrimaryKeyword(text);
|
|
670
|
-
// ralph has highest priority
|
|
671
|
-
expect(result?.type).toBe('ralph');
|
|
672
|
-
});
|
|
673
|
-
});
|
|
674
|
-
describe('getAllKeywords', () => {
|
|
675
|
-
it('should return single keyword in array', () => {
|
|
676
|
-
expect(getAllKeywords('autopilot this')).toEqual(['autopilot']);
|
|
677
|
-
});
|
|
678
|
-
it('should return multiple non-conflicting keywords in priority order', () => {
|
|
679
|
-
expect(getAllKeywords('ulw ralph fix errors')).toEqual(['ralph', 'ultrawork']);
|
|
680
|
-
});
|
|
681
|
-
it('should return cancel exclusively when present', () => {
|
|
682
|
-
expect(getAllKeywords('cancelomc ralph ultrawork')).toEqual(['cancel']);
|
|
683
|
-
});
|
|
684
|
-
it('should return team and ultrapilot when legacy ultrapilot trigger is present', () => {
|
|
685
|
-
const result = getAllKeywords('autopilot ultrapilot build');
|
|
686
|
-
expect(result).toContain('ultrapilot');
|
|
687
|
-
expect(result).toContain('team');
|
|
688
|
-
// team beats autopilot, but original ultrapilot is preserved
|
|
689
|
-
expect(result).not.toContain('autopilot');
|
|
690
|
-
});
|
|
691
|
-
it('should return team and swarm for legacy swarm trigger', () => {
|
|
692
|
-
const result = getAllKeywords('swarm 5 agents build this');
|
|
693
|
-
expect(result).toContain('swarm');
|
|
694
|
-
expect(result).toContain('team');
|
|
695
|
-
});
|
|
696
|
-
it('should return ralph with ultrawork (not mutually exclusive)', () => {
|
|
697
|
-
const result = getAllKeywords('ralph ultrawork fix');
|
|
698
|
-
expect(result).toContain('ralph');
|
|
699
|
-
expect(result).toContain('ultrawork');
|
|
700
|
-
});
|
|
701
|
-
it('should return ralph with codex', () => {
|
|
702
|
-
const result = getAllKeywords('ralph ask gpt to review');
|
|
703
|
-
expect(result).toContain('ralph');
|
|
704
|
-
expect(result).toContain('codex');
|
|
705
|
-
});
|
|
706
|
-
it('should return both codex and gemini when both present', () => {
|
|
707
|
-
const result = getAllKeywords('ask codex and ask gemini');
|
|
708
|
-
expect(result).toContain('codex');
|
|
709
|
-
expect(result).toContain('gemini');
|
|
710
|
-
});
|
|
711
|
-
it('should return ccg when ccg keyword present', () => {
|
|
712
|
-
const result = getAllKeywords('ccg add a user profile feature');
|
|
713
|
-
expect(result).toContain('ccg');
|
|
714
|
-
});
|
|
715
|
-
it('should return ccg with higher priority than codex/gemini', () => {
|
|
716
|
-
const result = getAllKeywords('ccg ask codex to review');
|
|
717
|
-
const ccgIdx = result.indexOf('ccg');
|
|
718
|
-
const codexIdx = result.indexOf('codex');
|
|
719
|
-
expect(ccgIdx).toBeGreaterThanOrEqual(0);
|
|
720
|
-
expect(codexIdx).toBeGreaterThanOrEqual(0);
|
|
721
|
-
expect(ccgIdx).toBeLessThan(codexIdx);
|
|
722
|
-
});
|
|
723
|
-
it('should return ralph before ccg in priority order', () => {
|
|
724
|
-
const result = getAllKeywords('ralph ccg build the app');
|
|
725
|
-
const ralphIdx = result.indexOf('ralph');
|
|
726
|
-
const ccgIdx = result.indexOf('ccg');
|
|
727
|
-
expect(ralphIdx).toBeGreaterThanOrEqual(0);
|
|
728
|
-
expect(ccgIdx).toBeGreaterThanOrEqual(0);
|
|
729
|
-
expect(ralphIdx).toBeLessThan(ccgIdx);
|
|
730
|
-
});
|
|
731
|
-
it('should not return ccg when cancel is present', () => {
|
|
732
|
-
const result = getAllKeywords('cancelomc ccg build');
|
|
733
|
-
expect(result).toEqual(['cancel']);
|
|
734
|
-
expect(result).not.toContain('ccg');
|
|
735
|
-
});
|
|
736
|
-
it('should return ralph over codex in priority', () => {
|
|
737
|
-
const primary = getPrimaryKeyword('ralph ask codex');
|
|
738
|
-
expect(primary?.type).toBe('ralph');
|
|
739
|
-
});
|
|
740
|
-
it('should return cancel over codex/gemini', () => {
|
|
741
|
-
expect(getAllKeywords('cancelomc ask codex')).toEqual(['cancel']);
|
|
742
|
-
});
|
|
743
|
-
it('should return empty array for no keywords', () => {
|
|
744
|
-
expect(getAllKeywords('regular text')).toEqual([]);
|
|
745
|
-
});
|
|
746
|
-
it('should handle code block exclusion', () => {
|
|
747
|
-
expect(getAllKeywords('```autopilot```')).toEqual([]);
|
|
748
|
-
});
|
|
749
|
-
it('should handle multiple combinable keywords', () => {
|
|
750
|
-
const result = getAllKeywords('ralph tdd fix');
|
|
751
|
-
expect(result).toContain('ralph');
|
|
752
|
-
expect(result).toContain('tdd');
|
|
753
|
-
});
|
|
754
|
-
// Team + Ralph composition tests
|
|
755
|
-
it('should return both ralph and team when both present (linked mode)', () => {
|
|
756
|
-
const result = getAllKeywords('team ralph build the API');
|
|
757
|
-
expect(result).toContain('ralph');
|
|
758
|
-
expect(result).toContain('team');
|
|
759
|
-
});
|
|
760
|
-
it('should return ralph before team in priority order', () => {
|
|
761
|
-
const result = getAllKeywords('team ralph build the API');
|
|
762
|
-
const ralphIdx = result.indexOf('ralph');
|
|
763
|
-
const teamIdx = result.indexOf('team');
|
|
764
|
-
expect(ralphIdx).toBeLessThan(teamIdx);
|
|
765
|
-
});
|
|
766
|
-
it('should return ralph as primary when team ralph is used', () => {
|
|
767
|
-
const primary = getPrimaryKeyword('team ralph build the API');
|
|
768
|
-
expect(primary?.type).toBe('ralph');
|
|
769
|
-
});
|
|
770
|
-
it('should return team and ralph with other keywords', () => {
|
|
771
|
-
const result = getAllKeywords('team ralph ask codex to review');
|
|
772
|
-
expect(result).toContain('ralph');
|
|
773
|
-
expect(result).toContain('team');
|
|
774
|
-
expect(result).toContain('codex');
|
|
775
|
-
});
|
|
776
|
-
it('should return team over autopilot even with ralph', () => {
|
|
777
|
-
const result = getAllKeywords('ralph team autopilot build');
|
|
778
|
-
expect(result).toContain('ralph');
|
|
779
|
-
expect(result).toContain('team');
|
|
780
|
-
expect(result).not.toContain('autopilot');
|
|
781
|
-
});
|
|
782
|
-
// Team keyword false positive prevention (intent-gated regex)
|
|
783
|
-
it('should not detect team in "my team uses X"', () => {
|
|
784
|
-
const result = getAllKeywords('my team uses React for frontend');
|
|
785
|
-
expect(result).not.toContain('team');
|
|
786
|
-
});
|
|
787
|
-
it('should not detect team in "the team needs help"', () => {
|
|
788
|
-
const result = getAllKeywords('the team needs help with deployment');
|
|
789
|
-
expect(result).not.toContain('team');
|
|
790
|
-
});
|
|
791
|
-
it('should not detect team in "our team decided"', () => {
|
|
792
|
-
const result = getAllKeywords('our team decided to use TypeScript');
|
|
793
|
-
expect(result).not.toContain('team');
|
|
794
|
-
});
|
|
795
|
-
it('should not detect team in "a team of engineers"', () => {
|
|
796
|
-
const result = getAllKeywords('a team of engineers built this');
|
|
797
|
-
expect(result).not.toContain('team');
|
|
798
|
-
});
|
|
799
|
-
it('should detect team via coordinated team phrase', () => {
|
|
800
|
-
const result = getAllKeywords('coordinated team build the API');
|
|
801
|
-
expect(result).toContain('team');
|
|
802
|
-
});
|
|
803
|
-
it('should detect team via ultrapilot legacy keyword and preserve ultrapilot', () => {
|
|
804
|
-
const result = getAllKeywords('ultrapilot build all components');
|
|
805
|
-
expect(result).toContain('team');
|
|
806
|
-
expect(result).toContain('ultrapilot');
|
|
807
|
-
});
|
|
808
|
-
it('should detect team via swarm N agents pattern and preserve swarm', () => {
|
|
809
|
-
const result = getAllKeywords('swarm 5 agents fix all errors');
|
|
810
|
-
expect(result).toContain('team');
|
|
811
|
-
expect(result).toContain('swarm');
|
|
812
|
-
});
|
|
813
|
-
// Mixed keyword precedence tests
|
|
814
|
-
it('should handle team + ralph combination', () => {
|
|
815
|
-
const result = getAllKeywords('team ralph build the app');
|
|
816
|
-
expect(result).toContain('ralph');
|
|
817
|
-
expect(result).toContain('team');
|
|
818
|
-
});
|
|
819
|
-
it('should not detect cancel alongside team', () => {
|
|
820
|
-
const result = getAllKeywords('cancelomc team');
|
|
821
|
-
expect(result).toEqual(['cancel']);
|
|
822
|
-
expect(result).not.toContain('team');
|
|
823
|
-
});
|
|
824
|
-
// Dedup regression test
|
|
825
|
-
it('should deduplicate repeated keyword triggers', () => {
|
|
826
|
-
const result = getAllKeywords('autopilot autopilot fix errors');
|
|
827
|
-
const autopilotCount = result.filter(k => k === 'autopilot').length;
|
|
828
|
-
expect(autopilotCount).toBe(1);
|
|
829
|
-
});
|
|
830
|
-
describe('when team is disabled via config', () => {
|
|
831
|
-
beforeEach(() => {
|
|
832
|
-
mockedIsTeamEnabled.mockReturnValue(false);
|
|
833
|
-
});
|
|
834
|
-
afterEach(() => {
|
|
835
|
-
mockedIsTeamEnabled.mockReturnValue(true);
|
|
836
|
-
});
|
|
837
|
-
it('should NOT detect team keyword when disabled', () => {
|
|
838
|
-
const result = getAllKeywords('team build the API');
|
|
839
|
-
expect(result).not.toContain('team');
|
|
840
|
-
});
|
|
841
|
-
it('should NOT detect coordinated team when disabled', () => {
|
|
842
|
-
const result = getAllKeywords('coordinated team build');
|
|
843
|
-
expect(result).not.toContain('team');
|
|
844
|
-
});
|
|
845
|
-
it('should NOT detect ultrapilot or team when disabled', () => {
|
|
846
|
-
const result = getAllKeywords('ultrapilot build all');
|
|
847
|
-
expect(result).not.toContain('team');
|
|
848
|
-
expect(result).not.toContain('ultrapilot');
|
|
849
|
-
});
|
|
850
|
-
it('should NOT detect swarm or team when disabled', () => {
|
|
851
|
-
const result = getAllKeywords('swarm 5 agents fix errors');
|
|
852
|
-
expect(result).not.toContain('team');
|
|
853
|
-
expect(result).not.toContain('swarm');
|
|
854
|
-
});
|
|
855
|
-
it('should still detect other keywords when team disabled', () => {
|
|
856
|
-
const result = getAllKeywords('team ralph build the API');
|
|
857
|
-
expect(result).toContain('ralph');
|
|
858
|
-
expect(result).not.toContain('team');
|
|
859
|
-
});
|
|
860
|
-
it('should not suppress autopilot when team is disabled', () => {
|
|
861
|
-
const result = getAllKeywords('team autopilot build');
|
|
862
|
-
expect(result).toContain('autopilot');
|
|
863
|
-
expect(result).not.toContain('team');
|
|
864
|
-
});
|
|
865
|
-
});
|
|
866
|
-
});
|
|
867
|
-
});
|
|
868
|
-
//# sourceMappingURL=index.test.js.map
|