@liangjie559567/ultrapower 5.5.2 → 5.5.6
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 +1 -1
- package/bridge/codex-server.cjs +15 -7
- package/bridge/gemini-server.cjs +25 -7
- package/bridge/mcp-server.cjs +9 -4
- package/bridge/team-bridge.cjs +5 -1
- package/commands/brainstorm.md +1 -1
- package/commands/execute-plan.md +1 -1
- package/commands/write-plan.md +1 -1
- package/dist/__tests__/job-management.test.js +43 -43
- package/dist/__tests__/job-management.test.js.map +1 -1
- package/dist/agents/definitions.d.ts +1 -1
- package/dist/agents/definitions.js +1 -1
- package/dist/hooks/guards/pre-tool.d.ts.map +1 -1
- package/dist/hooks/guards/pre-tool.js +8 -2
- package/dist/hooks/guards/pre-tool.js.map +1 -1
- package/dist/hooks/recovery/session-recovery.js +1 -1
- package/dist/hooks/recovery/session-recovery.js.map +1 -1
- package/dist/hooks/rules-injector/constants.d.ts +2 -0
- package/dist/hooks/rules-injector/constants.d.ts.map +1 -1
- package/dist/hooks/rules-injector/constants.js +2 -0
- package/dist/hooks/rules-injector/constants.js.map +1 -1
- package/dist/hooks/rules-injector/finder.d.ts.map +1 -1
- package/dist/hooks/rules-injector/finder.js +12 -4
- package/dist/hooks/rules-injector/finder.js.map +1 -1
- package/dist/installer/__tests__/hooks.test.d.ts +6 -0
- package/dist/installer/__tests__/hooks.test.d.ts.map +1 -0
- package/dist/installer/__tests__/hooks.test.js +121 -0
- package/dist/installer/__tests__/hooks.test.js.map +1 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +11 -10
- package/dist/installer/index.js.map +1 -1
- package/dist/lib/__tests__/atomic-write.test.js +3 -4
- package/dist/lib/__tests__/atomic-write.test.js.map +1 -1
- package/dist/lib/__tests__/version.test.d.ts +6 -0
- package/dist/lib/__tests__/version.test.d.ts.map +1 -0
- package/dist/lib/__tests__/version.test.js +37 -0
- package/dist/lib/__tests__/version.test.js.map +1 -0
- package/dist/lib/atomic-write.d.ts.map +1 -1
- package/dist/lib/atomic-write.js +6 -8
- package/dist/lib/atomic-write.js.map +1 -1
- package/dist/mcp/codex-core.d.ts.map +1 -1
- package/dist/mcp/codex-core.js +9 -4
- package/dist/mcp/codex-core.js.map +1 -1
- package/dist/mcp/gemini-core.d.ts.map +1 -1
- package/dist/mcp/gemini-core.js +16 -1
- package/dist/mcp/gemini-core.js.map +1 -1
- package/dist/mcp/job-management.js +2 -2
- package/dist/mcp/job-management.js.map +1 -1
- package/dist/mcp/prompt-persistence.d.ts +1 -1
- package/dist/mcp/prompt-persistence.js +3 -3
- package/dist/mcp/prompt-persistence.js.map +1 -1
- package/dist/tools/notepad-tools.d.ts.map +1 -1
- package/dist/tools/notepad-tools.js +6 -0
- package/dist/tools/notepad-tools.js.map +1 -1
- package/dist/tools/python-repl/bridge-manager.js +4 -4
- package/dist/tools/python-repl/bridge-manager.js.map +1 -1
- package/dist/tools/skills-tools.d.ts.map +1 -1
- package/dist/tools/skills-tools.js +5 -3
- package/dist/tools/skills-tools.js.map +1 -1
- package/docs/ARCHITECTURE.md +541 -162
- package/docs/CLAUDE.md +1 -1
- package/docs/FEATURES.md +1038 -420
- package/docs/REFERENCE.md +860 -787
- package/docs/plans/2026-03-02-docs-comprehensive-update-design.md +187 -0
- package/docs/plans/2026-03-02-docs-comprehensive-update.md +1395 -0
- package/docs/standards/AGENTS.md +1 -1
- package/docs/standards/README.md +3 -3
- package/docs/standards/agent-lifecycle.md +1 -1
- package/docs/standards/anti-patterns.md +1 -1
- package/docs/standards/audit-report.md +2 -2
- package/docs/standards/contribution-guide.md +1 -1
- package/docs/standards/hook-execution-order.md +1 -1
- package/docs/standards/runtime-protection.md +1 -1
- package/docs/standards/state-machine.md +1 -1
- package/docs/standards/user-guide.md +1 -1
- package/package.json +1 -1
- package/scripts/bump-version.mjs +1 -1
- package/scripts/release-steps.mjs +8 -2
- package/skills/ax-export/SKILL.md +7 -8
- package/skills/ax-status/SKILL.md +1 -1
- package/skills/executing-plans/SKILL.md +4 -4
- package/skills/requesting-code-review/SKILL.md +3 -3
- package/skills/subagent-driven-development/SKILL.md +8 -8
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +1 -1
- package/skills/systematic-debugging/SKILL.md +3 -3
- package/skills/writing-plans/SKILL.md +3 -3
- package/skills/writing-skills/SKILL.md +4 -4
- package/skills/writing-skills/testing-skills-with-subagents.md +1 -1
- package/docs/prd/ultrapower-standards-draft.md +0 -191
- package/docs/prd/ultrapower-standards-rough.md +0 -560
- package/docs/reviews/draft-prd-ultrapower-pain-fix/review_tech.md +0 -219
- package/docs/reviews/draft_prd_pain_points/review_domain.md +0 -215
- package/docs/reviews/ultrapower-full-bugfix-plan/review_product.md +0 -135
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-management.test.js","sourceRoot":"","sources":["../../src/__tests__/job-management.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-management.test.js","sourceRoot":"","sources":["../../src/__tests__/job-management.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,5 +166,5 @@ export declare function getAgentDefinitions(overrides?: Partial<Record<string, P
|
|
|
166
166
|
/**
|
|
167
167
|
* OMC System Prompt - The main orchestrator
|
|
168
168
|
*/
|
|
169
|
-
export declare const omcSystemPrompt = "You are the relentless orchestrator of a multi-agent development system.\n\n## RELENTLESS EXECUTION\n\nYou are BOUND to your task list. You do not stop. You do not quit. You do not take breaks. Work continues until EVERY task is COMPLETE.\n\n## Your Core Duty\nYou coordinate specialized subagents to accomplish complex software engineering tasks. Abandoning work mid-task is not an option. If you stop without completing ALL tasks, you have failed.\n\n## Available Subagents (
|
|
169
|
+
export declare const omcSystemPrompt = "You are the relentless orchestrator of a multi-agent development system.\n\n## RELENTLESS EXECUTION\n\nYou are BOUND to your task list. You do not stop. You do not quit. You do not take breaks. Work continues until EVERY task is COMPLETE.\n\n## Your Core Duty\nYou coordinate specialized subagents to accomplish complex software engineering tasks. Abandoning work mid-task is not an option. If you stop without completing ALL tasks, you have failed.\n\n## Available Subagents (49 Agents)\n\n### Build/Analysis Lane\n- **explore**: Internal codebase discovery (haiku) \u2014 fast pattern matching\n- **analyst**: Requirements clarity (opus) \u2014 hidden constraint analysis\n- **planner**: Task sequencing (opus) \u2014 execution plans and risk flags\n- **architect**: System design (opus) \u2014 boundaries, interfaces, tradeoffs\n- **debugger**: Root-cause analysis (sonnet) \u2014 regression isolation, diagnosis\n- **executor**: Code implementation (sonnet) \u2014 features and refactoring\n- **deep-executor**: Complex execution (opus) \u2014 autonomous goal-oriented work\n- **verifier**: Completion validation (sonnet) \u2014 evidence, claims, test adequacy\n\n### Review Lane\n- **style-reviewer**: Code style (haiku) \u2014 formatting, naming, idioms\n- **quality-reviewer**: Logic defects (sonnet) \u2014 maintainability, anti-patterns\n- **api-reviewer**: API contracts (sonnet) \u2014 versioning, backward compatibility\n- **security-reviewer**: Security audits (sonnet) \u2014 vulns, trust boundaries, authn/authz\n- **performance-reviewer**: Performance (sonnet) \u2014 hotspots, complexity, optimization\n- **code-reviewer**: Comprehensive review (opus) \u2014 orchestrates all review aspects\n\n### Domain Specialists\n- **dependency-expert**: SDK/API evaluation (sonnet) \u2014 external package research\n- **test-engineer**: Test strategy (sonnet) \u2014 coverage, flaky test hardening\n- **quality-strategist**: Quality strategy (sonnet) \u2014 release readiness, risk assessment, quality gates\n- **build-fixer**: Build errors (sonnet) \u2014 toolchain/type failures\n- **designer**: UI/UX architecture (sonnet) \u2014 interaction design\n- **writer**: Documentation (haiku) \u2014 docs, migration notes\n- **qa-tester**: CLI testing (sonnet) \u2014 interactive runtime validation via tmux\n- **scientist**: Data analysis (sonnet) \u2014 statistics and research\n- **document-specialist**: External docs (sonnet) \u2014 documentation and reference lookup\n- **git-master**: Git operations (sonnet) \u2014 commits, rebasing, history\n- **database-expert**: Database design (sonnet) \u2014 query optimization and migrations\n- **devops-engineer**: CI/CD (sonnet) \u2014 containerization, infrastructure as code\n- **i18n-specialist**: Internationalization (sonnet) \u2014 localization and multilingual support\n- **accessibility-auditor**: Web accessibility (sonnet) \u2014 WCAG compliance audits\n- **api-designer**: API design (sonnet) \u2014 REST/GraphQL contracts and definitions\n\n### Product Lane\n- **product-manager**: Problem framing (sonnet) \u2014 personas, JTBD, PRDs, KPI trees\n- **ux-researcher**: UX research (sonnet) \u2014 heuristic audits, usability, accessibility\n- **information-architect**: Info architecture (sonnet) \u2014 taxonomy, navigation, findability\n- **product-analyst**: Product analytics (sonnet) \u2014 metrics, funnels, experiment design\n\n### Coordination\n- **critic**: Plan review (opus) \u2014 critical challenge and evaluation\n- **vision**: Visual analysis (sonnet) \u2014 images, screenshots, diagrams\n\n### Axiom Lane\n- **axiom-requirement-analyst**: Requirements gate (sonnet) \u2014 PASS/CLARIFY/REJECT triage\n- **axiom-product-designer**: Draft PRD (sonnet) \u2014 Mermaid flow generation\n- **axiom-review-aggregator**: Expert review (sonnet) \u2014 5-expert parallel review aggregation\n- **axiom-prd-crafter**: Engineering PRD (sonnet) \u2014 gated validation\n- **axiom-system-architect**: Task DAG (sonnet) \u2014 atomic task manifest generation\n- **axiom-evolution-engine**: Knowledge harvest (sonnet) \u2014 pattern detection, workflow optimization\n- **axiom-context-manager**: Memory system (sonnet) \u2014 7-operation read/write/checkpoint\n- **axiom-worker**: PM\u2192Worker protocol (sonnet) \u2014 QUESTION/COMPLETE/BLOCKED output\n- **axiom-ux-director**: UX review (sonnet) \u2014 experience expert, outputs review_ux.md\n- **axiom-product-director**: Product strategy (sonnet) \u2014 outputs review_product.md\n- **axiom-domain-expert**: Domain knowledge (sonnet) \u2014 outputs review_domain.md\n- **axiom-tech-lead**: Technical feasibility (sonnet) \u2014 outputs review_tech.md\n- **axiom-critic**: Security/quality review (sonnet) \u2014 outputs review_critic.md\n- **axiom-sub-prd-writer**: Sub-PRD writer (sonnet) \u2014 decomposes manifest tasks\n\n## Orchestration Principles\n1. **Delegate Aggressively**: Fire off subagents for specialized tasks - don't do everything yourself\n2. **Parallelize Ruthlessly**: Launch multiple subagents concurrently whenever tasks are independent\n3. **PERSIST RELENTLESSLY**: Continue until ALL tasks are VERIFIED complete - check your todo list BEFORE stopping\n4. **Communicate Progress**: Keep the user informed but DON'T STOP to explain when you should be working\n5. **Verify Thoroughly**: Test, check, verify - then verify again\n\n## Agent Combinations\n\n### Architect + QA-Tester (Diagnosis -> Verification Loop)\nFor debugging CLI apps and services:\n1. **architect** diagnoses the issue, provides root cause analysis\n2. **architect** outputs a test plan with specific commands and expected outputs\n3. **qa-tester** executes the test plan in tmux, captures real outputs\n4. If verification fails, feed results back to architect for re-diagnosis\n5. Repeat until verified\n\nThis is the recommended workflow for any bug that requires running actual services to verify.\n\n### Verification Guidance (Gated for Token Efficiency)\n\n**Verification priority order:**\n1. **Existing tests** (run the project's test command) - PREFERRED, cheapest\n2. **Direct commands** (curl, simple CLI) - cheap\n3. **QA-Tester** (tmux sessions) - expensive, use sparingly\n\n**When to use qa-tester:**\n- No test suite covers the behavior\n- Interactive CLI input/output simulation needed\n- Service startup/shutdown testing required\n- Streaming/real-time behavior verification\n\n**When NOT to use qa-tester:**\n- Project has tests that cover the functionality -> run tests\n- Simple command verification -> run directly\n- Static code analysis -> use architect\n\n## Workflow\n1. Analyze the user's request and break it into tasks using TodoWrite\n2. Mark the first task in_progress and BEGIN WORKING\n3. Delegate to appropriate subagents based on task type\n4. Coordinate results and handle any issues WITHOUT STOPPING\n5. Mark tasks complete ONLY when verified\n6. LOOP back to step 2 until ALL tasks show 'completed'\n7. Final verification: Re-read todo list, confirm 100% completion\n8. Only THEN may you rest\n\n## CRITICAL RULES - VIOLATION IS FAILURE\n\n1. **NEVER STOP WITH INCOMPLETE WORK** - If your todo list has pending/in_progress items, YOU ARE NOT DONE\n2. **ALWAYS VERIFY** - Check your todo list before ANY attempt to conclude\n3. **NO PREMATURE CONCLUSIONS** - Saying \"I've completed the task\" without verification is a LIE\n4. **PARALLEL EXECUTION** - Use it whenever possible for speed\n5. **CONTINUOUS PROGRESS** - Report progress but keep working\n6. **WHEN BLOCKED, UNBLOCK** - Don't stop because something is hard; find another way\n7. **ASK ONLY WHEN NECESSARY** - Clarifying questions are for ambiguity, not for avoiding work\n\n## Completion Checklist\nBefore concluding, you MUST verify:\n- [ ] Every todo item is marked 'completed'\n- [ ] All requested functionality is implemented\n- [ ] Tests pass (if applicable)\n- [ ] No errors remain unaddressed\n- [ ] The user's original request is FULLY satisfied\n\nIf ANY checkbox is unchecked, YOU ARE NOT DONE. Continue working.";
|
|
170
170
|
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -516,7 +516,7 @@ You are BOUND to your task list. You do not stop. You do not quit. You do not ta
|
|
|
516
516
|
## Your Core Duty
|
|
517
517
|
You coordinate specialized subagents to accomplish complex software engineering tasks. Abandoning work mid-task is not an option. If you stop without completing ALL tasks, you have failed.
|
|
518
518
|
|
|
519
|
-
## Available Subagents (
|
|
519
|
+
## Available Subagents (49 Agents)
|
|
520
520
|
|
|
521
521
|
### Build/Analysis Lane
|
|
522
522
|
- **explore**: Internal codebase discovery (haiku) — fast pattern matching
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool.d.ts","sourceRoot":"","sources":["../../../src/hooks/guards/pre-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"pre-tool.d.ts","sourceRoot":"","sources":["../../../src/hooks/guards/pre-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CAkC/D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 注册 PreToolUse 事件,执行权限检查和范围验证。
|
|
5
5
|
*/
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import os from 'os';
|
|
6
8
|
/** 受限工具列表(需要额外确认) */
|
|
7
9
|
const RESTRICTED_TOOLS = new Set([
|
|
8
10
|
'Bash',
|
|
@@ -32,9 +34,13 @@ export function checkPreTool(ctx) {
|
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
// Write 路径范围检查
|
|
37
|
+
// 使用 path.resolve() 规范化路径,防止路径遍历攻击(T-2b)
|
|
35
38
|
if (toolName === 'Write') {
|
|
36
|
-
const
|
|
37
|
-
|
|
39
|
+
const rawPath = String(toolInput['file_path'] ?? '');
|
|
40
|
+
const filePath = path.resolve(rawPath);
|
|
41
|
+
const homeClaudeDir = path.join(os.homedir(), '.claude');
|
|
42
|
+
if (filePath.startsWith(homeClaudeDir) ||
|
|
43
|
+
filePath.includes('node_modules')) {
|
|
38
44
|
return {
|
|
39
45
|
allowed: false,
|
|
40
46
|
reason: `Write to restricted path: ${filePath}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool.js","sourceRoot":"","sources":["../../../src/hooks/guards/pre-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"pre-tool.js","sourceRoot":"","sources":["../../../src/hooks/guards/pre-tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAapB,qBAAqB;AACrB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEH,cAAc;AACd,MAAM,kBAAkB,GAAG;IACzB,UAAU;IACV,sBAAsB;IACtB,sBAAsB;IACtB,eAAe;IACf,gBAAgB;CACjB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC9C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IAEpC,cAAc;IACd,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,uCAAuC,OAAO,CAAC,MAAM,EAAE;iBAChE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,eAAe;IACf,yCAAyC;IACzC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QACzD,IACE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;YAClC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EACjC,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,6BAA6B,QAAQ,EAAE;aAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -67,7 +67,7 @@ export function detectErrorType(error) {
|
|
|
67
67
|
if (message.includes('thinking') &&
|
|
68
68
|
(message.includes('first block') ||
|
|
69
69
|
message.includes('must start with') ||
|
|
70
|
-
message.includes('
|
|
70
|
+
message.includes('preceding') ||
|
|
71
71
|
message.includes('final block') ||
|
|
72
72
|
message.includes('cannot be thinking') ||
|
|
73
73
|
(message.includes('expected') && message.includes('found')))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-recovery.js","sourceRoot":"","sources":["../../../src/hooks/recovery/session-recovery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-recovery.js","sourceRoot":"","sources":["../../../src/hooks/recovery/session-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,4 +22,6 @@ export declare const USER_RULE_DIR = ".claude/rules";
|
|
|
22
22
|
export declare const RULE_EXTENSIONS: string[];
|
|
23
23
|
/** Tools that trigger rule injection */
|
|
24
24
|
export declare const TRACKED_TOOLS: string[];
|
|
25
|
+
/** Maximum number of directory levels to traverse upward when searching for rules or project root */
|
|
26
|
+
export declare const MAX_TRAVERSAL_DEPTH = 30;
|
|
25
27
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/rules-injector/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,iDAAiD;AACjD,eAAO,MAAM,eAAe,QAA0B,CAAC;AACvD,eAAO,MAAM,sBAAsB,QAA0C,CAAC;AAE9E,wDAAwD;AACxD,eAAO,MAAM,eAAe,UAO3B,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAIlD,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAEtC,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,2BAA2B,QAAwB,CAAC;AAEjE,gCAAgC;AAChC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,iCAAiC;AACjC,eAAO,MAAM,eAAe,UAAkB,CAAC;AAE/C,wCAAwC;AACxC,eAAO,MAAM,aAAa,UAAyC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/rules-injector/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,iDAAiD;AACjD,eAAO,MAAM,eAAe,QAA0B,CAAC;AACvD,eAAO,MAAM,sBAAsB,QAA0C,CAAC;AAE9E,wDAAwD;AACxD,eAAO,MAAM,eAAe,UAO3B,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAIlD,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAEtC,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,2BAA2B,QAAwB,CAAC;AAEjE,gCAAgC;AAChC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,iCAAiC;AACjC,eAAO,MAAM,eAAe,UAAkB,CAAC;AAE/C,wCAAwC;AACxC,eAAO,MAAM,aAAa,UAAyC,CAAC;AAEpE,qGAAqG;AACrG,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
|
|
@@ -37,4 +37,6 @@ export const USER_RULE_DIR = '.claude/rules';
|
|
|
37
37
|
export const RULE_EXTENSIONS = ['.md', '.mdc'];
|
|
38
38
|
/** Tools that trigger rule injection */
|
|
39
39
|
export const TRACKED_TOOLS = ['read', 'write', 'edit', 'multiedit'];
|
|
40
|
+
/** Maximum number of directory levels to traverse upward when searching for rules or project root */
|
|
41
|
+
export const MAX_TRAVERSAL_DEPTH = 30;
|
|
40
42
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/rules-injector/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAE9E,wDAAwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACtD,CAAC,SAAS,EAAE,cAAc,CAAC;IAC3B,CAAC,SAAS,EAAE,OAAO,CAAC;IACpB,CAAC,SAAS,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,iCAAiC;CAClC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AAEjE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE/C,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/rules-injector/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAE9E,wDAAwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACtD,CAAC,SAAS,EAAE,cAAc,CAAC;IAC3B,CAAC,SAAS,EAAE,OAAO,CAAC;IACpB,CAAC,SAAS,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,iCAAiC;CAClC,CAAC;AAEF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AAEjE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE/C,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAEpE,qGAAqG;AACrG,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../../src/hooks/rules-injector/finder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../../src/hooks/rules-injector/finder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAmBpD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BhE;AAuCD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM,CAoCR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,iBAAiB,EAAE,CA6FrB"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { existsSync, readdirSync, realpathSync, statSync, } from 'fs';
|
|
9
9
|
import { dirname, join, relative } from 'path';
|
|
10
|
-
import { GITHUB_INSTRUCTIONS_PATTERN, PROJECT_MARKERS, PROJECT_RULE_FILES, PROJECT_RULE_SUBDIRS, RULE_EXTENSIONS, USER_RULE_DIR, } from './constants.js';
|
|
10
|
+
import { GITHUB_INSTRUCTIONS_PATTERN, MAX_TRAVERSAL_DEPTH, PROJECT_MARKERS, PROJECT_RULE_FILES, PROJECT_RULE_SUBDIRS, RULE_EXTENSIONS, USER_RULE_DIR, } from './constants.js';
|
|
11
11
|
/**
|
|
12
12
|
* Check if a directory is a GitHub instructions directory.
|
|
13
13
|
*/
|
|
@@ -29,6 +29,7 @@ function isValidRuleFile(fileName, dir) {
|
|
|
29
29
|
*/
|
|
30
30
|
export function findProjectRoot(startPath) {
|
|
31
31
|
let current;
|
|
32
|
+
let depth = 0;
|
|
32
33
|
try {
|
|
33
34
|
const stat = statSync(startPath);
|
|
34
35
|
current = stat.isDirectory() ? startPath : dirname(startPath);
|
|
@@ -36,7 +37,7 @@ export function findProjectRoot(startPath) {
|
|
|
36
37
|
catch {
|
|
37
38
|
current = dirname(startPath);
|
|
38
39
|
}
|
|
39
|
-
while (
|
|
40
|
+
while (depth < MAX_TRAVERSAL_DEPTH) {
|
|
40
41
|
for (const marker of PROJECT_MARKERS) {
|
|
41
42
|
const markerPath = join(current, marker);
|
|
42
43
|
if (existsSync(markerPath)) {
|
|
@@ -48,20 +49,25 @@ export function findProjectRoot(startPath) {
|
|
|
48
49
|
return null;
|
|
49
50
|
}
|
|
50
51
|
current = parent;
|
|
52
|
+
depth++;
|
|
51
53
|
}
|
|
54
|
+
return null;
|
|
52
55
|
}
|
|
53
56
|
/**
|
|
54
57
|
* Recursively find all rule files in a directory.
|
|
58
|
+
* Limits recursion depth to MAX_TRAVERSAL_DEPTH to prevent excessive traversal.
|
|
55
59
|
*/
|
|
56
|
-
function findRuleFilesRecursive(dir, results) {
|
|
60
|
+
function findRuleFilesRecursive(dir, results, depth = 0) {
|
|
57
61
|
if (!existsSync(dir))
|
|
58
62
|
return;
|
|
63
|
+
if (depth >= MAX_TRAVERSAL_DEPTH)
|
|
64
|
+
return;
|
|
59
65
|
try {
|
|
60
66
|
const entries = readdirSync(dir, { withFileTypes: true });
|
|
61
67
|
for (const entry of entries) {
|
|
62
68
|
const fullPath = join(dir, entry.name);
|
|
63
69
|
if (entry.isDirectory()) {
|
|
64
|
-
findRuleFilesRecursive(fullPath, results);
|
|
70
|
+
findRuleFilesRecursive(fullPath, results, depth + 1);
|
|
65
71
|
}
|
|
66
72
|
else if (entry.isFile()) {
|
|
67
73
|
if (isValidRuleFile(entry.name, dir)) {
|
|
@@ -133,6 +139,8 @@ export function findRuleFiles(projectRoot, homeDir, currentFile) {
|
|
|
133
139
|
let currentDir = dirname(currentFile);
|
|
134
140
|
let distance = 0;
|
|
135
141
|
while (true) {
|
|
142
|
+
if (distance >= MAX_TRAVERSAL_DEPTH)
|
|
143
|
+
break;
|
|
136
144
|
// Search rule directories in current directory
|
|
137
145
|
for (const [parent, subdir] of PROJECT_RULE_SUBDIRS) {
|
|
138
146
|
const ruleDir = join(currentDir, parent, subdir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finder.js","sourceRoot":"","sources":["../../../src/hooks/rules-injector/finder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,SAAS,uBAAuB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,GAAW;IACpD,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,IAAI,OAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"finder.js","sourceRoot":"","sources":["../../../src/hooks/rules-injector/finder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.test.d.ts","sourceRoot":"","sources":["../../../src/installer/__tests__/hooks.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for installer hook-related utilities
|
|
3
|
+
* Covers: isOmcStatusLine, isRunningAsPlugin, isProjectScopedPlugin, mergeClaudeMd
|
|
4
|
+
*/
|
|
5
|
+
import { describe, it, expect, afterEach } from 'vitest';
|
|
6
|
+
import { isOmcStatusLine, isRunningAsPlugin, isProjectScopedPlugin, mergeClaudeMd, CLAUDE_CONFIG_DIR, } from '../index.js';
|
|
7
|
+
import { join } from 'path';
|
|
8
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
9
|
+
// isOmcStatusLine
|
|
10
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
11
|
+
describe('isOmcStatusLine', () => {
|
|
12
|
+
it('returns true when command contains "omc-hud"', () => {
|
|
13
|
+
expect(isOmcStatusLine({ type: 'command', command: 'node ~/.claude/hud/omc-hud.mjs' })).toBe(true);
|
|
14
|
+
});
|
|
15
|
+
it('returns false when command does not contain "omc-hud"', () => {
|
|
16
|
+
expect(isOmcStatusLine({ type: 'command', command: 'node ~/.claude/hud/custom-hud.mjs' })).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
it('returns false for null', () => {
|
|
19
|
+
expect(isOmcStatusLine(null)).toBe(false);
|
|
20
|
+
});
|
|
21
|
+
it('returns false for non-object primitives', () => {
|
|
22
|
+
expect(isOmcStatusLine('string-value')).toBe(false);
|
|
23
|
+
expect(isOmcStatusLine(42)).toBe(false);
|
|
24
|
+
expect(isOmcStatusLine(undefined)).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
it('returns false when command property is missing', () => {
|
|
27
|
+
expect(isOmcStatusLine({ type: 'command' })).toBe(false);
|
|
28
|
+
expect(isOmcStatusLine({})).toBe(false);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
32
|
+
// isRunningAsPlugin
|
|
33
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
34
|
+
describe('isRunningAsPlugin', () => {
|
|
35
|
+
const originalPluginRoot = process.env.CLAUDE_PLUGIN_ROOT;
|
|
36
|
+
afterEach(() => {
|
|
37
|
+
if (originalPluginRoot === undefined) {
|
|
38
|
+
delete process.env.CLAUDE_PLUGIN_ROOT;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
process.env.CLAUDE_PLUGIN_ROOT = originalPluginRoot;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
it('returns true when CLAUDE_PLUGIN_ROOT is set', () => {
|
|
45
|
+
process.env.CLAUDE_PLUGIN_ROOT = '/some/plugin/root';
|
|
46
|
+
expect(isRunningAsPlugin()).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
it('returns false when CLAUDE_PLUGIN_ROOT is not set', () => {
|
|
49
|
+
delete process.env.CLAUDE_PLUGIN_ROOT;
|
|
50
|
+
expect(isRunningAsPlugin()).toBe(false);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
54
|
+
// isProjectScopedPlugin
|
|
55
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
56
|
+
describe('isProjectScopedPlugin', () => {
|
|
57
|
+
const originalPluginRoot = process.env.CLAUDE_PLUGIN_ROOT;
|
|
58
|
+
afterEach(() => {
|
|
59
|
+
if (originalPluginRoot === undefined) {
|
|
60
|
+
delete process.env.CLAUDE_PLUGIN_ROOT;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
process.env.CLAUDE_PLUGIN_ROOT = originalPluginRoot;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
it('returns false when CLAUDE_PLUGIN_ROOT is not set', () => {
|
|
67
|
+
delete process.env.CLAUDE_PLUGIN_ROOT;
|
|
68
|
+
expect(isProjectScopedPlugin()).toBe(false);
|
|
69
|
+
});
|
|
70
|
+
it('returns false when plugin root is under the global plugins directory', () => {
|
|
71
|
+
const globalPluginDir = join(CLAUDE_CONFIG_DIR, 'plugins', 'ultrapower', '5.5.2');
|
|
72
|
+
process.env.CLAUDE_PLUGIN_ROOT = globalPluginDir;
|
|
73
|
+
expect(isProjectScopedPlugin()).toBe(false);
|
|
74
|
+
});
|
|
75
|
+
it('returns true when plugin root is outside the global plugins directory', () => {
|
|
76
|
+
process.env.CLAUDE_PLUGIN_ROOT = '/some/project/.claude/plugins/ultrapower';
|
|
77
|
+
expect(isProjectScopedPlugin()).toBe(true);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
81
|
+
// mergeClaudeMd
|
|
82
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
83
|
+
const START_MARKER = '<!-- OMC:START -->';
|
|
84
|
+
const END_MARKER = '<!-- OMC:END -->';
|
|
85
|
+
const OMC_CONTENT = '# OMC Instructions\n\nSome orchestration content.';
|
|
86
|
+
describe('mergeClaudeMd', () => {
|
|
87
|
+
it('wraps content in markers when existingContent is null', () => {
|
|
88
|
+
const result = mergeClaudeMd(null, OMC_CONTENT);
|
|
89
|
+
expect(result).toContain(START_MARKER);
|
|
90
|
+
expect(result).toContain(END_MARKER);
|
|
91
|
+
expect(result).toContain(OMC_CONTENT);
|
|
92
|
+
});
|
|
93
|
+
it('replaces existing OMC content between markers while preserving trailing content', () => {
|
|
94
|
+
const existing = `${START_MARKER}\nOld OMC instructions\n${END_MARKER}\n\nUser content here`;
|
|
95
|
+
const result = mergeClaudeMd(existing, OMC_CONTENT);
|
|
96
|
+
expect(result).toContain(OMC_CONTENT);
|
|
97
|
+
expect(result).not.toContain('Old OMC instructions');
|
|
98
|
+
expect(result).toContain('User content here');
|
|
99
|
+
});
|
|
100
|
+
it('preserves existing non-OMC content when no markers present', () => {
|
|
101
|
+
const existing = '# My Project\n\nCustom project notes.';
|
|
102
|
+
const result = mergeClaudeMd(existing, OMC_CONTENT);
|
|
103
|
+
expect(result).toContain(OMC_CONTENT);
|
|
104
|
+
expect(result).toContain('# My Project');
|
|
105
|
+
expect(result).toContain('Custom project notes.');
|
|
106
|
+
});
|
|
107
|
+
it('includes version marker when version string is provided', () => {
|
|
108
|
+
const result = mergeClaudeMd(null, OMC_CONTENT, '5.5.3');
|
|
109
|
+
expect(result).toContain('<!-- OMC:VERSION:5.5.3 -->');
|
|
110
|
+
});
|
|
111
|
+
it('strips existing markers from omcContent to avoid double-wrapping', () => {
|
|
112
|
+
const wrapped = `${START_MARKER}\n${OMC_CONTENT}\n${END_MARKER}`;
|
|
113
|
+
const result = mergeClaudeMd(null, wrapped);
|
|
114
|
+
const startCount = (result.match(/<!-- OMC:START -->/g) || []).length;
|
|
115
|
+
const endCount = (result.match(/<!-- OMC:END -->/g) || []).length;
|
|
116
|
+
expect(startCount).toBe(1);
|
|
117
|
+
expect(endCount).toBe(1);
|
|
118
|
+
expect(result).toContain(OMC_CONTENT);
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=hooks.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../../../src/installer/__tests__/hooks.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,mBAAmB,CAAC;QACrD,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACtC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACtC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,eAAe,CAAC;QACjD,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,0CAA0C,CAAC;QAC5E,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,WAAW,GAAG,mDAAmD,CAAC;AAExE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,QAAQ,GAAG,GAAG,YAAY,2BAA2B,UAAU,uBAAuB,CAAC;QAC7F,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,QAAQ,GAAG,uCAAuC,CAAC;QACzD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,WAAW,KAAK,UAAU,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,QAAiB,CAAC;AAChD,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAsC,CAAC;AAChE,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,eAAO,MAAM,SAAS,QAAmC,CAAC;AAC1D,eAAO,MAAM,OAAO,QAAiC,CAAC;AACtD,eAAO,MAAM,aAAa,QAA2C,CAAC;AACtE,eAAO,MAAM,YAAY,QAA+C,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,EAAO,CAAC;AAE1C,sBAAsB;AACtB,eAAO,MAAM,OAAO,QAA6B,CAAC;AA8BlD,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAa9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAK5D;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAgBlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAOxF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAQ3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAI3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAe/C;AAsFD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA+C1G;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAyenE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAehG"}
|
package/dist/installer/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Cross-platform support via Node.js-based hook scripts (.mjs).
|
|
8
8
|
* Bash hook scripts were removed in v3.9.0.
|
|
9
9
|
*/
|
|
10
|
-
import { existsSync, mkdirSync,
|
|
10
|
+
import { existsSync, mkdirSync, readFileSync, chmodSync, readdirSync } from 'fs';
|
|
11
11
|
import { join, dirname } from 'path';
|
|
12
12
|
import { fileURLToPath } from 'url';
|
|
13
13
|
import { homedir } from 'os';
|
|
@@ -15,6 +15,7 @@ import { execSync } from 'child_process';
|
|
|
15
15
|
import { getHookScripts, getHooksSettingsConfig, isWindows, MIN_NODE_VERSION } from './hooks.js';
|
|
16
16
|
import { getRuntimePackageVersion } from '../lib/version.js';
|
|
17
17
|
import { getConfigDir } from '../utils/config-dir.js';
|
|
18
|
+
import { atomicWriteFileSync, atomicWriteJsonSync } from '../lib/atomic-write.js';
|
|
18
19
|
/** Claude Code configuration directory */
|
|
19
20
|
export const CLAUDE_CONFIG_DIR = getConfigDir();
|
|
20
21
|
export const AGENTS_DIR = join(CLAUDE_CONFIG_DIR, 'agents');
|
|
@@ -409,7 +410,7 @@ export function install(options = {}) {
|
|
|
409
410
|
log(` Skipping ${filename} (already exists)`);
|
|
410
411
|
}
|
|
411
412
|
else {
|
|
412
|
-
|
|
413
|
+
atomicWriteFileSync(filepath, content);
|
|
413
414
|
result.installedAgents.push(filename);
|
|
414
415
|
log(` Installed ${filename}`);
|
|
415
416
|
}
|
|
@@ -432,7 +433,7 @@ export function install(options = {}) {
|
|
|
432
433
|
log(` Skipping ${filename} (already exists)`);
|
|
433
434
|
}
|
|
434
435
|
else {
|
|
435
|
-
|
|
436
|
+
atomicWriteFileSync(filepath, content);
|
|
436
437
|
result.installedCommands.push(filename);
|
|
437
438
|
log(` Installed ${filename}`);
|
|
438
439
|
}
|
|
@@ -453,12 +454,12 @@ export function install(options = {}) {
|
|
|
453
454
|
if (existingContent !== null) {
|
|
454
455
|
const timestamp = new Date().toISOString().replace(/:/g, '-').split('.')[0]; // YYYY-MM-DDTHH-MM-SS
|
|
455
456
|
const backupPath = join(CLAUDE_CONFIG_DIR, `CLAUDE.md.backup.${timestamp}`);
|
|
456
|
-
|
|
457
|
+
atomicWriteFileSync(backupPath, existingContent);
|
|
457
458
|
log(`Backed up existing CLAUDE.md to ${backupPath}`);
|
|
458
459
|
}
|
|
459
460
|
// Merge OMC content with existing content
|
|
460
461
|
const mergedContent = mergeClaudeMd(existingContent, omcContent, options.version ?? VERSION);
|
|
461
|
-
|
|
462
|
+
atomicWriteFileSync(claudeMdPath, mergedContent);
|
|
462
463
|
if (existingContent) {
|
|
463
464
|
log('Updated CLAUDE.md (merged with existing content)');
|
|
464
465
|
}
|
|
@@ -483,7 +484,7 @@ export function install(options = {}) {
|
|
|
483
484
|
log(` Skipping ${filename} (already exists)`);
|
|
484
485
|
}
|
|
485
486
|
else {
|
|
486
|
-
|
|
487
|
+
atomicWriteFileSync(filepath, content);
|
|
487
488
|
// Make script executable (skip on Windows - not needed)
|
|
488
489
|
if (!isWindows()) {
|
|
489
490
|
chmodSync(filepath, 0o755);
|
|
@@ -507,7 +508,7 @@ export function install(options = {}) {
|
|
|
507
508
|
if (!existsSync(dir)) {
|
|
508
509
|
mkdirSync(dir, { recursive: true });
|
|
509
510
|
}
|
|
510
|
-
|
|
511
|
+
atomicWriteFileSync(filepath, content);
|
|
511
512
|
if (!isWindows()) {
|
|
512
513
|
chmodSync(filepath, 0o755);
|
|
513
514
|
}
|
|
@@ -653,7 +654,7 @@ export function install(options = {}) {
|
|
|
653
654
|
'main();',
|
|
654
655
|
];
|
|
655
656
|
const hudScript = hudScriptLines.join('\n');
|
|
656
|
-
|
|
657
|
+
atomicWriteFileSync(hudScriptPath, hudScript);
|
|
657
658
|
if (!isWindows()) {
|
|
658
659
|
chmodSync(hudScriptPath, 0o755);
|
|
659
660
|
}
|
|
@@ -762,7 +763,7 @@ export function install(options = {}) {
|
|
|
762
763
|
}
|
|
763
764
|
}
|
|
764
765
|
// 3. Single atomic write
|
|
765
|
-
|
|
766
|
+
atomicWriteJsonSync(SETTINGS_FILE, existingSettings);
|
|
766
767
|
log(' settings.json updated');
|
|
767
768
|
}
|
|
768
769
|
catch (_e) {
|
|
@@ -777,7 +778,7 @@ export function install(options = {}) {
|
|
|
777
778
|
installMethod: 'npm',
|
|
778
779
|
lastCheckAt: new Date().toISOString()
|
|
779
780
|
};
|
|
780
|
-
|
|
781
|
+
atomicWriteJsonSync(VERSION_FILE, versionMetadata);
|
|
781
782
|
log('Saved version metadata');
|
|
782
783
|
}
|
|
783
784
|
else {
|