claude-code-workflow 6.2.3 → 6.2.5
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/README.md +145 -294
- package/{ccw/dist → dist}/core/routes/codexlens-routes.d.ts.map +1 -1
- package/{ccw/dist → dist}/core/routes/codexlens-routes.js +31 -6
- package/dist/core/routes/codexlens-routes.js.map +1 -0
- package/{ccw/dist → dist}/tools/codex-lens.d.ts +20 -3
- package/dist/tools/codex-lens.d.ts.map +1 -0
- package/{ccw/dist → dist}/tools/codex-lens.js +166 -37
- package/dist/tools/codex-lens.js.map +1 -0
- package/package.json +32 -37
- package/{ccw/src → src}/core/routes/codexlens-routes.ts +34 -6
- package/{ccw/src → src}/templates/dashboard-js/components/mcp-manager.js +7 -12
- package/{ccw/src → src}/templates/dashboard-js/i18n.js +157 -1
- package/{ccw/src → src}/templates/dashboard-js/views/codexlens-manager.js +790 -25
- package/{ccw/src → src}/tools/codex-lens.ts +183 -35
- package/.claude/CLAUDE.md +0 -10
- package/.claude/agents/action-planning-agent.md +0 -857
- package/.claude/agents/cli-execution-agent.md +0 -267
- package/.claude/agents/cli-explore-agent.md +0 -182
- package/.claude/agents/cli-lite-planning-agent.md +0 -446
- package/.claude/agents/cli-planning-agent.md +0 -558
- package/.claude/agents/code-developer.md +0 -311
- package/.claude/agents/conceptual-planning-agent.md +0 -308
- package/.claude/agents/context-search-agent.md +0 -581
- package/.claude/agents/doc-generator.md +0 -330
- package/.claude/agents/memory-bridge.md +0 -94
- package/.claude/agents/test-context-search-agent.md +0 -400
- package/.claude/agents/test-fix-agent.md +0 -344
- package/.claude/agents/ui-design-agent.md +0 -593
- package/.claude/agents/universal-executor.md +0 -131
- package/.claude/commands/clean.md +0 -516
- package/.claude/commands/cli/cli-init.md +0 -440
- package/.claude/commands/enhance-prompt.md +0 -93
- package/.claude/commands/memory/code-map-memory.md +0 -687
- package/.claude/commands/memory/compact.md +0 -383
- package/.claude/commands/memory/docs-full-cli.md +0 -471
- package/.claude/commands/memory/docs-related-cli.md +0 -386
- package/.claude/commands/memory/docs.md +0 -615
- package/.claude/commands/memory/load-skill-memory.md +0 -182
- package/.claude/commands/memory/load.md +0 -240
- package/.claude/commands/memory/skill-memory.md +0 -525
- package/.claude/commands/memory/style-skill-memory.md +0 -396
- package/.claude/commands/memory/tech-research-rules.md +0 -310
- package/.claude/commands/memory/update-full.md +0 -332
- package/.claude/commands/memory/update-related.md +0 -332
- package/.claude/commands/memory/workflow-skill-memory.md +0 -517
- package/.claude/commands/task/breakdown.md +0 -204
- package/.claude/commands/task/create.md +0 -152
- package/.claude/commands/task/execute.md +0 -270
- package/.claude/commands/task/replan.md +0 -437
- package/.claude/commands/version.md +0 -254
- package/.claude/commands/workflow/action-plan-verify.md +0 -447
- package/.claude/commands/workflow/brainstorm/api-designer.md +0 -587
- package/.claude/commands/workflow/brainstorm/artifacts.md +0 -453
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +0 -443
- package/.claude/commands/workflow/brainstorm/data-architect.md +0 -220
- package/.claude/commands/workflow/brainstorm/product-manager.md +0 -200
- package/.claude/commands/workflow/brainstorm/product-owner.md +0 -200
- package/.claude/commands/workflow/brainstorm/scrum-master.md +0 -200
- package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
- package/.claude/commands/workflow/brainstorm/synthesis.md +0 -398
- package/.claude/commands/workflow/brainstorm/system-architect.md +0 -389
- package/.claude/commands/workflow/brainstorm/ui-designer.md +0 -221
- package/.claude/commands/workflow/brainstorm/ux-expert.md +0 -221
- package/.claude/commands/workflow/debug.md +0 -321
- package/.claude/commands/workflow/execute.md +0 -475
- package/.claude/commands/workflow/init.md +0 -165
- package/.claude/commands/workflow/lite-execute.md +0 -792
- package/.claude/commands/workflow/lite-fix.md +0 -623
- package/.claude/commands/workflow/lite-plan.md +0 -610
- package/.claude/commands/workflow/plan.md +0 -551
- package/.claude/commands/workflow/replan.md +0 -515
- package/.claude/commands/workflow/review-fix.md +0 -606
- package/.claude/commands/workflow/review-module-cycle.md +0 -767
- package/.claude/commands/workflow/review-session-cycle.md +0 -778
- package/.claude/commands/workflow/review.md +0 -297
- package/.claude/commands/workflow/session/complete.md +0 -153
- package/.claude/commands/workflow/session/list.md +0 -96
- package/.claude/commands/workflow/session/resume.md +0 -61
- package/.claude/commands/workflow/session/start.md +0 -200
- package/.claude/commands/workflow/tdd-plan.md +0 -460
- package/.claude/commands/workflow/tdd-verify.md +0 -400
- package/.claude/commands/workflow/test-cycle-execute.md +0 -500
- package/.claude/commands/workflow/test-fix-gen.md +0 -699
- package/.claude/commands/workflow/test-gen.md +0 -529
- package/.claude/commands/workflow/tools/conflict-resolution.md +0 -766
- package/.claude/commands/workflow/tools/context-gather.md +0 -436
- package/.claude/commands/workflow/tools/task-generate-agent.md +0 -490
- package/.claude/commands/workflow/tools/task-generate-tdd.md +0 -526
- package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
- package/.claude/commands/workflow/tools/test-concept-enhanced.md +0 -164
- package/.claude/commands/workflow/tools/test-context-gather.md +0 -236
- package/.claude/commands/workflow/tools/test-task-generate.md +0 -257
- package/.claude/commands/workflow/ui-design/animation-extract.md +0 -1150
- package/.claude/commands/workflow/ui-design/codify-style.md +0 -652
- package/.claude/commands/workflow/ui-design/design-sync.md +0 -454
- package/.claude/commands/workflow/ui-design/explore-auto.md +0 -678
- package/.claude/commands/workflow/ui-design/generate.md +0 -504
- package/.claude/commands/workflow/ui-design/imitate-auto.md +0 -745
- package/.claude/commands/workflow/ui-design/import-from-code.md +0 -540
- package/.claude/commands/workflow/ui-design/layout-extract.md +0 -788
- package/.claude/commands/workflow/ui-design/reference-page-generator.md +0 -356
- package/.claude/commands/workflow/ui-design/style-extract.md +0 -773
- package/.claude/skills/command-guide/SKILL.md +0 -388
- package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +0 -592
- package/.claude/skills/command-guide/guides/cli-tools-guide.md +0 -410
- package/.claude/skills/command-guide/guides/examples.md +0 -537
- package/.claude/skills/command-guide/guides/getting-started.md +0 -242
- package/.claude/skills/command-guide/guides/implementation-details.md +0 -1010
- package/.claude/skills/command-guide/guides/index-structure.md +0 -326
- package/.claude/skills/command-guide/guides/troubleshooting.md +0 -92
- package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +0 -316
- package/.claude/skills/command-guide/guides/workflow-patterns.md +0 -662
- package/.claude/skills/command-guide/index/all-commands.json +0 -772
- package/.claude/skills/command-guide/index/by-category.json +0 -800
- package/.claude/skills/command-guide/index/by-use-case.json +0 -786
- package/.claude/skills/command-guide/index/command-relationships.json +0 -307
- package/.claude/skills/command-guide/index/essential-commands.json +0 -112
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -857
- package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +0 -267
- package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +0 -182
- package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +0 -446
- package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +0 -558
- package/.claude/skills/command-guide/reference/agents/code-developer.md +0 -311
- package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +0 -308
- package/.claude/skills/command-guide/reference/agents/context-search-agent.md +0 -581
- package/.claude/skills/command-guide/reference/agents/doc-generator.md +0 -330
- package/.claude/skills/command-guide/reference/agents/memory-bridge.md +0 -94
- package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +0 -400
- package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +0 -344
- package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +0 -593
- package/.claude/skills/command-guide/reference/agents/universal-executor.md +0 -131
- package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +0 -440
- package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +0 -93
- package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +0 -687
- package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +0 -471
- package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +0 -386
- package/.claude/skills/command-guide/reference/commands/memory/docs.md +0 -616
- package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +0 -182
- package/.claude/skills/command-guide/reference/commands/memory/load.md +0 -240
- package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +0 -525
- package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +0 -396
- package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +0 -314
- package/.claude/skills/command-guide/reference/commands/memory/update-full.md +0 -332
- package/.claude/skills/command-guide/reference/commands/memory/update-related.md +0 -332
- package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +0 -517
- package/.claude/skills/command-guide/reference/commands/task/breakdown.md +0 -204
- package/.claude/skills/command-guide/reference/commands/task/create.md +0 -152
- package/.claude/skills/command-guide/reference/commands/task/execute.md +0 -270
- package/.claude/skills/command-guide/reference/commands/task/replan.md +0 -437
- package/.claude/skills/command-guide/reference/commands/version.md +0 -254
- package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +0 -447
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +0 -585
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +0 -452
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +0 -443
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +0 -220
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +0 -398
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +0 -387
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +0 -221
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +0 -221
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +0 -465
- package/.claude/skills/command-guide/reference/commands/workflow/init.md +0 -164
- package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +0 -748
- package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +0 -664
- package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +0 -645
- package/.claude/skills/command-guide/reference/commands/workflow/plan.md +0 -551
- package/.claude/skills/command-guide/reference/commands/workflow/replan.md +0 -515
- package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +0 -606
- package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +0 -765
- package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +0 -776
- package/.claude/skills/command-guide/reference/commands/workflow/review.md +0 -298
- package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +0 -547
- package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +0 -114
- package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +0 -77
- package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +0 -257
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +0 -460
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +0 -400
- package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +0 -498
- package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +0 -699
- package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +0 -529
- package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +0 -766
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +0 -434
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +0 -487
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +0 -525
- package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +0 -163
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +0 -235
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -256
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +0 -1150
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +0 -652
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +0 -454
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +0 -678
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +0 -504
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +0 -745
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +0 -537
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +0 -788
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +0 -356
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +0 -773
- package/.claude/skills/command-guide/scripts/analyze_commands.py +0 -502
- package/.claude/skills/command-guide/scripts/update-index.sh +0 -130
- package/.claude/skills/command-guide/templates/issue-bug.md +0 -104
- package/.claude/skills/command-guide/templates/issue-diagnosis.md +0 -275
- package/.claude/skills/command-guide/templates/issue-feature.md +0 -97
- package/.claude/skills/command-guide/templates/issue-question.md +0 -141
- package/.claude/skills/prompt-enhancer/SKILL.md +0 -124
- package/.claude/workflows/_template-compare-matrix.html +0 -692
- package/.claude/workflows/chinese-response.md +0 -38
- package/.claude/workflows/cli-templates/fix-plan-template.json +0 -75
- package/.claude/workflows/cli-templates/fix-progress-template.json +0 -48
- package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +0 -299
- package/.claude/workflows/cli-templates/planning-roles/data-architect.md +0 -120
- package/.claude/workflows/cli-templates/planning-roles/product-manager.md +0 -119
- package/.claude/workflows/cli-templates/planning-roles/product-owner.md +0 -261
- package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +0 -186
- package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +0 -281
- package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +0 -414
- package/.claude/workflows/cli-templates/planning-roles/system-architect.md +0 -106
- package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +0 -124
- package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +0 -379
- package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +0 -240
- package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +0 -127
- package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +0 -115
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +0 -37
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +0 -33
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +0 -29
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +0 -28
- package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +0 -29
- package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +0 -29
- package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +0 -29
- package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +0 -70
- package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +0 -55
- package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +0 -58
- package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +0 -55
- package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +0 -55
- package/.claude/workflows/cli-templates/prompts/documentation/api.txt +0 -15
- package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +0 -27
- package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +0 -49
- package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +0 -41
- package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +0 -35
- package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +0 -35
- package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +0 -165
- package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +0 -109
- package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +0 -30
- package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +0 -28
- package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +0 -127
- package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +0 -30
- package/.claude/workflows/cli-templates/prompts/rules/rule-api.txt +0 -122
- package/.claude/workflows/cli-templates/prompts/rules/rule-components.txt +0 -122
- package/.claude/workflows/cli-templates/prompts/rules/rule-config.txt +0 -89
- package/.claude/workflows/cli-templates/prompts/rules/rule-core.txt +0 -60
- package/.claude/workflows/cli-templates/prompts/rules/rule-patterns.txt +0 -70
- package/.claude/workflows/cli-templates/prompts/rules/rule-testing.txt +0 -81
- package/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt +0 -89
- package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +0 -359
- package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +0 -185
- package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +0 -179
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +0 -95
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +0 -92
- package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +0 -28
- package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +0 -28
- package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +0 -27
- package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +0 -224
- package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +0 -176
- package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +0 -131
- package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +0 -286
- package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +0 -172
- package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +0 -94
- package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +0 -224
- package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +0 -94
- package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +0 -53
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +0 -123
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +0 -182
- package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +0 -112
- package/.claude/workflows/cli-templates/protocols/write-protocol.md +0 -201
- package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +0 -137
- package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +0 -127
- package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +0 -234
- package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +0 -124
- package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +0 -298
- package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +0 -244
- package/.claude/workflows/cli-templates/schemas/project-json-schema.json +0 -221
- package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +0 -82
- package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +0 -51
- package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +0 -91
- package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +0 -107
- package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +0 -58
- package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +0 -79
- package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +0 -103
- package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +0 -83
- package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +0 -247
- package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +0 -342
- package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +0 -145
- package/.claude/workflows/cli-tools-usage.md +0 -526
- package/.claude/workflows/coding-philosophy.md +0 -70
- package/.claude/workflows/context-tools.md +0 -84
- package/.claude/workflows/file-modification.md +0 -64
- package/.claude/workflows/review-directory-specification.md +0 -336
- package/.claude/workflows/task-core.md +0 -214
- package/.claude/workflows/tool-strategy.md +0 -216
- package/.claude/workflows/windows-platform.md +0 -16
- package/.claude/workflows/workflow-architecture.md +0 -942
- package/.codex/AGENTS.md +0 -63
- package/.codex/prompts/debug.md +0 -318
- package/.codex/prompts/execute.md +0 -273
- package/.codex/prompts/lite-execute.md +0 -164
- package/.codex/prompts/lite-plan.md +0 -469
- package/.codex/prompts.zip +0 -0
- package/.gemini/GEMINI.md +0 -25
- package/.qwen/QWEN.md +0 -25
- package/LICENSE +0 -21
- package/ccw/README.md +0 -145
- package/ccw/dist/core/routes/codexlens-routes.js.map +0 -1
- package/ccw/dist/tools/codex-lens.d.ts.map +0 -1
- package/ccw/dist/tools/codex-lens.js.map +0 -1
- package/ccw/package.json +0 -65
- package/codex-lens/pyproject.toml +0 -48
- package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
- package/codex-lens/src/codexlens/__init__.py +0 -28
- package/codex-lens/src/codexlens/__main__.py +0 -14
- package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__init__.py +0 -27
- package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/commands.py +0 -1931
- package/codex-lens/src/codexlens/cli/embedding_manager.py +0 -620
- package/codex-lens/src/codexlens/cli/model_manager.py +0 -289
- package/codex-lens/src/codexlens/cli/output.py +0 -124
- package/codex-lens/src/codexlens/config.py +0 -201
- package/codex-lens/src/codexlens/entities.py +0 -121
- package/codex-lens/src/codexlens/errors.py +0 -55
- package/codex-lens/src/codexlens/indexing/README.md +0 -77
- package/codex-lens/src/codexlens/indexing/__init__.py +0 -4
- package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/symbol_extractor.py +0 -243
- package/codex-lens/src/codexlens/parsers/__init__.py +0 -8
- package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/encoding.py +0 -202
- package/codex-lens/src/codexlens/parsers/factory.py +0 -256
- package/codex-lens/src/codexlens/parsers/tokenizer.py +0 -98
- package/codex-lens/src/codexlens/parsers/treesitter_parser.py +0 -335
- package/codex-lens/src/codexlens/search/__init__.py +0 -15
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/chain_search.py +0 -647
- package/codex-lens/src/codexlens/search/enrichment.py +0 -150
- package/codex-lens/src/codexlens/search/hybrid_search.py +0 -313
- package/codex-lens/src/codexlens/search/query_parser.py +0 -242
- package/codex-lens/src/codexlens/search/ranking.py +0 -274
- package/codex-lens/src/codexlens/semantic/__init__.py +0 -39
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/ann_index.py +0 -414
- package/codex-lens/src/codexlens/semantic/chunker.py +0 -448
- package/codex-lens/src/codexlens/semantic/code_extractor.py +0 -274
- package/codex-lens/src/codexlens/semantic/embedder.py +0 -185
- package/codex-lens/src/codexlens/semantic/vector_store.py +0 -955
- package/codex-lens/src/codexlens/storage/__init__.py +0 -29
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/dir_index.py +0 -1850
- package/codex-lens/src/codexlens/storage/file_cache.py +0 -32
- package/codex-lens/src/codexlens/storage/index_tree.py +0 -776
- package/codex-lens/src/codexlens/storage/migration_manager.py +0 -154
- package/codex-lens/src/codexlens/storage/migrations/__init__.py +0 -1
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_001_normalize_keywords.py +0 -123
- package/codex-lens/src/codexlens/storage/migrations/migration_002_add_token_metadata.py +0 -48
- package/codex-lens/src/codexlens/storage/migrations/migration_004_dual_fts.py +0 -232
- package/codex-lens/src/codexlens/storage/migrations/migration_005_cleanup_unused_fields.py +0 -196
- package/codex-lens/src/codexlens/storage/path_mapper.py +0 -274
- package/codex-lens/src/codexlens/storage/registry.py +0 -670
- package/codex-lens/src/codexlens/storage/sqlite_store.py +0 -576
- package/codex-lens/src/codexlens/storage/sqlite_utils.py +0 -64
- /package/{ccw/bin → bin}/ccw-mcp.js +0 -0
- /package/{ccw/bin → bin}/ccw.js +0 -0
- /package/{ccw/dist → dist}/cli.d.ts +0 -0
- /package/{ccw/dist → dist}/cli.d.ts.map +0 -0
- /package/{ccw/dist → dist}/cli.js +0 -0
- /package/{ccw/dist → dist}/cli.js.map +0 -0
- /package/{ccw/dist → dist}/commands/cli.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/cli.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/cli.js +0 -0
- /package/{ccw/dist → dist}/commands/cli.js.map +0 -0
- /package/{ccw/dist → dist}/commands/core-memory.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/core-memory.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/core-memory.js +0 -0
- /package/{ccw/dist → dist}/commands/core-memory.js.map +0 -0
- /package/{ccw/dist → dist}/commands/hook.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/hook.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/hook.js +0 -0
- /package/{ccw/dist → dist}/commands/hook.js.map +0 -0
- /package/{ccw/dist → dist}/commands/install.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/install.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/install.js +0 -0
- /package/{ccw/dist → dist}/commands/install.js.map +0 -0
- /package/{ccw/dist → dist}/commands/list.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/list.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/list.js +0 -0
- /package/{ccw/dist → dist}/commands/list.js.map +0 -0
- /package/{ccw/dist → dist}/commands/memory.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/memory.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/memory.js +0 -0
- /package/{ccw/dist → dist}/commands/memory.js.map +0 -0
- /package/{ccw/dist → dist}/commands/serve.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/serve.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/serve.js +0 -0
- /package/{ccw/dist → dist}/commands/serve.js.map +0 -0
- /package/{ccw/dist → dist}/commands/session-path-resolver.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/session-path-resolver.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/session-path-resolver.js +0 -0
- /package/{ccw/dist → dist}/commands/session-path-resolver.js.map +0 -0
- /package/{ccw/dist → dist}/commands/session.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/session.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/session.js +0 -0
- /package/{ccw/dist → dist}/commands/session.js.map +0 -0
- /package/{ccw/dist → dist}/commands/stop.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/stop.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/stop.js +0 -0
- /package/{ccw/dist → dist}/commands/stop.js.map +0 -0
- /package/{ccw/dist → dist}/commands/tool.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/tool.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/tool.js +0 -0
- /package/{ccw/dist → dist}/commands/tool.js.map +0 -0
- /package/{ccw/dist → dist}/commands/uninstall.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/uninstall.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/uninstall.js +0 -0
- /package/{ccw/dist → dist}/commands/uninstall.js.map +0 -0
- /package/{ccw/dist → dist}/commands/upgrade.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/upgrade.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/upgrade.js +0 -0
- /package/{ccw/dist → dist}/commands/upgrade.js.map +0 -0
- /package/{ccw/dist → dist}/commands/view.d.ts +0 -0
- /package/{ccw/dist → dist}/commands/view.d.ts.map +0 -0
- /package/{ccw/dist → dist}/commands/view.js +0 -0
- /package/{ccw/dist → dist}/commands/view.js.map +0 -0
- /package/{ccw/dist → dist}/config/storage-paths.d.ts +0 -0
- /package/{ccw/dist → dist}/config/storage-paths.d.ts.map +0 -0
- /package/{ccw/dist → dist}/config/storage-paths.js +0 -0
- /package/{ccw/dist → dist}/config/storage-paths.js.map +0 -0
- /package/{ccw/dist → dist}/core/cache-manager.d.ts +0 -0
- /package/{ccw/dist → dist}/core/cache-manager.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/cache-manager.js +0 -0
- /package/{ccw/dist → dist}/core/cache-manager.js.map +0 -0
- /package/{ccw/dist → dist}/core/claude-freshness.d.ts +0 -0
- /package/{ccw/dist → dist}/core/claude-freshness.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/claude-freshness.js +0 -0
- /package/{ccw/dist → dist}/core/claude-freshness.js.map +0 -0
- /package/{ccw/dist → dist}/core/core-memory-store.d.ts +0 -0
- /package/{ccw/dist → dist}/core/core-memory-store.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/core-memory-store.js +0 -0
- /package/{ccw/dist → dist}/core/core-memory-store.js.map +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator-patch.d.ts +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator-patch.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator-patch.js +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator-patch.js.map +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator.d.ts +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator.js +0 -0
- /package/{ccw/dist → dist}/core/dashboard-generator.js.map +0 -0
- /package/{ccw/dist → dist}/core/data-aggregator.d.ts +0 -0
- /package/{ccw/dist → dist}/core/data-aggregator.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/data-aggregator.js +0 -0
- /package/{ccw/dist → dist}/core/data-aggregator.js.map +0 -0
- /package/{ccw/dist → dist}/core/history-importer.d.ts +0 -0
- /package/{ccw/dist → dist}/core/history-importer.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/history-importer.js +0 -0
- /package/{ccw/dist → dist}/core/history-importer.js.map +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner-complete.d.ts +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner-complete.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner-complete.js +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner-complete.js.map +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner.d.ts +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner.js +0 -0
- /package/{ccw/dist → dist}/core/lite-scanner.js.map +0 -0
- /package/{ccw/dist → dist}/core/manifest.d.ts +0 -0
- /package/{ccw/dist → dist}/core/manifest.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/manifest.js +0 -0
- /package/{ccw/dist → dist}/core/manifest.js.map +0 -0
- /package/{ccw/dist → dist}/core/memory-embedder-bridge.d.ts +0 -0
- /package/{ccw/dist → dist}/core/memory-embedder-bridge.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/memory-embedder-bridge.js +0 -0
- /package/{ccw/dist → dist}/core/memory-embedder-bridge.js.map +0 -0
- /package/{ccw/dist → dist}/core/memory-store.d.ts +0 -0
- /package/{ccw/dist → dist}/core/memory-store.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/memory-store.js +0 -0
- /package/{ccw/dist → dist}/core/memory-store.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/ccw-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/ccw-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/ccw-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/ccw-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/claude-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/claude-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/claude-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/claude-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/cli-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/cli-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/cli-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/cli-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/codexlens-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/core-memory-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/core-memory-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/core-memory-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/core-memory-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/files-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/files-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/files-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/files-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/graph-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/graph-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/graph-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/graph-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/help-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/help-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/help-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/help-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/hooks-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/hooks-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/hooks-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/hooks-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-templates-db.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-templates-db.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-templates-db.js +0 -0
- /package/{ccw/dist → dist}/core/routes/mcp-templates-db.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/memory-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/memory-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/memory-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/memory-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/rules-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/rules-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/rules-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/rules-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/session-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/session-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/session-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/session-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/skills-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/skills-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/skills-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/skills-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/status-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/status-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/status-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/status-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/routes/system-routes.d.ts +0 -0
- /package/{ccw/dist → dist}/core/routes/system-routes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/routes/system-routes.js +0 -0
- /package/{ccw/dist → dist}/core/routes/system-routes.js.map +0 -0
- /package/{ccw/dist → dist}/core/server.d.ts +0 -0
- /package/{ccw/dist → dist}/core/server.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/server.js +0 -0
- /package/{ccw/dist → dist}/core/server.js.map +0 -0
- /package/{ccw/dist → dist}/core/session-clustering-service.d.ts +0 -0
- /package/{ccw/dist → dist}/core/session-clustering-service.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/session-clustering-service.js +0 -0
- /package/{ccw/dist → dist}/core/session-clustering-service.js.map +0 -0
- /package/{ccw/dist → dist}/core/session-scanner.d.ts +0 -0
- /package/{ccw/dist → dist}/core/session-scanner.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/session-scanner.js +0 -0
- /package/{ccw/dist → dist}/core/session-scanner.js.map +0 -0
- /package/{ccw/dist → dist}/core/websocket.d.ts +0 -0
- /package/{ccw/dist → dist}/core/websocket.d.ts.map +0 -0
- /package/{ccw/dist → dist}/core/websocket.js +0 -0
- /package/{ccw/dist → dist}/core/websocket.js.map +0 -0
- /package/{ccw/dist → dist}/index.d.ts +0 -0
- /package/{ccw/dist → dist}/index.d.ts.map +0 -0
- /package/{ccw/dist → dist}/index.js +0 -0
- /package/{ccw/dist → dist}/index.js.map +0 -0
- /package/{ccw/dist → dist}/mcp-server/index.d.ts +0 -0
- /package/{ccw/dist → dist}/mcp-server/index.d.ts.map +0 -0
- /package/{ccw/dist → dist}/mcp-server/index.js +0 -0
- /package/{ccw/dist → dist}/mcp-server/index.js.map +0 -0
- /package/{ccw/dist → dist}/tools/classify-folders.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/classify-folders.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/classify-folders.js +0 -0
- /package/{ccw/dist → dist}/tools/classify-folders.js.map +0 -0
- /package/{ccw/dist → dist}/tools/cli-config-manager.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/cli-config-manager.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/cli-config-manager.js +0 -0
- /package/{ccw/dist → dist}/tools/cli-config-manager.js.map +0 -0
- /package/{ccw/dist → dist}/tools/cli-executor.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/cli-executor.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/cli-executor.js +0 -0
- /package/{ccw/dist → dist}/tools/cli-executor.js.map +0 -0
- /package/{ccw/dist → dist}/tools/cli-history-store.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/cli-history-store.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/cli-history-store.js +0 -0
- /package/{ccw/dist → dist}/tools/cli-history-store.js.map +0 -0
- /package/{ccw/dist → dist}/tools/convert-tokens-to-css.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/convert-tokens-to-css.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/convert-tokens-to-css.js +0 -0
- /package/{ccw/dist → dist}/tools/convert-tokens-to-css.js.map +0 -0
- /package/{ccw/dist → dist}/tools/core-memory.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/core-memory.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/core-memory.js +0 -0
- /package/{ccw/dist → dist}/tools/core-memory.js.map +0 -0
- /package/{ccw/dist → dist}/tools/detect-changed-modules.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/detect-changed-modules.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/detect-changed-modules.js +0 -0
- /package/{ccw/dist → dist}/tools/detect-changed-modules.js.map +0 -0
- /package/{ccw/dist → dist}/tools/discover-design-files.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/discover-design-files.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/discover-design-files.js +0 -0
- /package/{ccw/dist → dist}/tools/discover-design-files.js.map +0 -0
- /package/{ccw/dist → dist}/tools/edit-file.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/edit-file.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/edit-file.js +0 -0
- /package/{ccw/dist → dist}/tools/edit-file.js.map +0 -0
- /package/{ccw/dist → dist}/tools/generate-module-docs.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/generate-module-docs.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/generate-module-docs.js +0 -0
- /package/{ccw/dist → dist}/tools/generate-module-docs.js.map +0 -0
- /package/{ccw/dist → dist}/tools/get-modules-by-depth.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/get-modules-by-depth.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/get-modules-by-depth.js +0 -0
- /package/{ccw/dist → dist}/tools/get-modules-by-depth.js.map +0 -0
- /package/{ccw/dist → dist}/tools/index.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/index.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/index.js +0 -0
- /package/{ccw/dist → dist}/tools/index.js.map +0 -0
- /package/{ccw/dist → dist}/tools/native-session-discovery.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/native-session-discovery.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/native-session-discovery.js +0 -0
- /package/{ccw/dist → dist}/tools/native-session-discovery.js.map +0 -0
- /package/{ccw/dist → dist}/tools/notifier.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/notifier.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/notifier.js +0 -0
- /package/{ccw/dist → dist}/tools/notifier.js.map +0 -0
- /package/{ccw/dist → dist}/tools/read-file.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/read-file.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/read-file.js +0 -0
- /package/{ccw/dist → dist}/tools/read-file.js.map +0 -0
- /package/{ccw/dist → dist}/tools/resume-strategy.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/resume-strategy.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/resume-strategy.js +0 -0
- /package/{ccw/dist → dist}/tools/resume-strategy.js.map +0 -0
- /package/{ccw/dist → dist}/tools/session-content-parser.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/session-content-parser.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/session-content-parser.js +0 -0
- /package/{ccw/dist → dist}/tools/session-content-parser.js.map +0 -0
- /package/{ccw/dist → dist}/tools/session-manager.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/session-manager.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/session-manager.js +0 -0
- /package/{ccw/dist → dist}/tools/session-manager.js.map +0 -0
- /package/{ccw/dist → dist}/tools/smart-context.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/smart-context.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/smart-context.js +0 -0
- /package/{ccw/dist → dist}/tools/smart-context.js.map +0 -0
- /package/{ccw/dist → dist}/tools/smart-search.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/smart-search.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/smart-search.js +0 -0
- /package/{ccw/dist → dist}/tools/smart-search.js.map +0 -0
- /package/{ccw/dist → dist}/tools/storage-manager.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/storage-manager.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/storage-manager.js +0 -0
- /package/{ccw/dist → dist}/tools/storage-manager.js.map +0 -0
- /package/{ccw/dist → dist}/tools/ui-generate-preview.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/ui-generate-preview.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/ui-generate-preview.js +0 -0
- /package/{ccw/dist → dist}/tools/ui-generate-preview.js.map +0 -0
- /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.js +0 -0
- /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.js.map +0 -0
- /package/{ccw/dist → dist}/tools/update-module-claude.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/update-module-claude.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/update-module-claude.js +0 -0
- /package/{ccw/dist → dist}/tools/update-module-claude.js.map +0 -0
- /package/{ccw/dist → dist}/tools/write-file.d.ts +0 -0
- /package/{ccw/dist → dist}/tools/write-file.d.ts.map +0 -0
- /package/{ccw/dist → dist}/tools/write-file.js +0 -0
- /package/{ccw/dist → dist}/tools/write-file.js.map +0 -0
- /package/{ccw/dist → dist}/types/config.d.ts +0 -0
- /package/{ccw/dist → dist}/types/config.d.ts.map +0 -0
- /package/{ccw/dist → dist}/types/config.js +0 -0
- /package/{ccw/dist → dist}/types/config.js.map +0 -0
- /package/{ccw/dist → dist}/types/index.d.ts +0 -0
- /package/{ccw/dist → dist}/types/index.d.ts.map +0 -0
- /package/{ccw/dist → dist}/types/index.js +0 -0
- /package/{ccw/dist → dist}/types/index.js.map +0 -0
- /package/{ccw/dist → dist}/types/session.d.ts +0 -0
- /package/{ccw/dist → dist}/types/session.d.ts.map +0 -0
- /package/{ccw/dist → dist}/types/session.js +0 -0
- /package/{ccw/dist → dist}/types/session.js.map +0 -0
- /package/{ccw/dist → dist}/types/tool.d.ts +0 -0
- /package/{ccw/dist → dist}/types/tool.d.ts.map +0 -0
- /package/{ccw/dist → dist}/types/tool.js +0 -0
- /package/{ccw/dist → dist}/types/tool.js.map +0 -0
- /package/{ccw/dist → dist}/utils/browser-launcher.d.ts +0 -0
- /package/{ccw/dist → dist}/utils/browser-launcher.d.ts.map +0 -0
- /package/{ccw/dist → dist}/utils/browser-launcher.js +0 -0
- /package/{ccw/dist → dist}/utils/browser-launcher.js.map +0 -0
- /package/{ccw/dist → dist}/utils/file-utils.d.ts +0 -0
- /package/{ccw/dist → dist}/utils/file-utils.d.ts.map +0 -0
- /package/{ccw/dist → dist}/utils/file-utils.js +0 -0
- /package/{ccw/dist → dist}/utils/file-utils.js.map +0 -0
- /package/{ccw/dist → dist}/utils/path-resolver.d.ts +0 -0
- /package/{ccw/dist → dist}/utils/path-resolver.d.ts.map +0 -0
- /package/{ccw/dist → dist}/utils/path-resolver.js +0 -0
- /package/{ccw/dist → dist}/utils/path-resolver.js.map +0 -0
- /package/{ccw/dist → dist}/utils/path-validator.d.ts +0 -0
- /package/{ccw/dist → dist}/utils/path-validator.d.ts.map +0 -0
- /package/{ccw/dist → dist}/utils/path-validator.js +0 -0
- /package/{ccw/dist → dist}/utils/path-validator.js.map +0 -0
- /package/{ccw/dist → dist}/utils/ui.d.ts +0 -0
- /package/{ccw/dist → dist}/utils/ui.d.ts.map +0 -0
- /package/{ccw/dist → dist}/utils/ui.js +0 -0
- /package/{ccw/dist → dist}/utils/ui.js.map +0 -0
- /package/{ccw/src → src}/.workflow/.cli-history/history.db +0 -0
- /package/{ccw/src → src}/.workflow/.cli-history/history.db-shm +0 -0
- /package/{ccw/src → src}/.workflow/.cli-history/history.db-wal +0 -0
- /package/{ccw/src → src}/cli.ts +0 -0
- /package/{ccw/src → src}/commands/cli.ts +0 -0
- /package/{ccw/src → src}/commands/core-memory.ts +0 -0
- /package/{ccw/src → src}/commands/hook.ts +0 -0
- /package/{ccw/src → src}/commands/install.ts +0 -0
- /package/{ccw/src → src}/commands/list.ts +0 -0
- /package/{ccw/src → src}/commands/memory.ts +0 -0
- /package/{ccw/src → src}/commands/serve.ts +0 -0
- /package/{ccw/src → src}/commands/session-path-resolver.ts +0 -0
- /package/{ccw/src → src}/commands/session.ts +0 -0
- /package/{ccw/src → src}/commands/stop.ts +0 -0
- /package/{ccw/src → src}/commands/tool.ts +0 -0
- /package/{ccw/src → src}/commands/uninstall.ts +0 -0
- /package/{ccw/src → src}/commands/upgrade.ts +0 -0
- /package/{ccw/src → src}/commands/view.ts +0 -0
- /package/{ccw/src → src}/config/storage-paths.ts +0 -0
- /package/{ccw/src → src}/core/cache-manager.ts +0 -0
- /package/{ccw/src → src}/core/claude-freshness.ts +0 -0
- /package/{ccw/src → src}/core/core-memory-store.ts +0 -0
- /package/{ccw/src → src}/core/dashboard-generator-patch.ts +0 -0
- /package/{ccw/src → src}/core/dashboard-generator.ts +0 -0
- /package/{ccw/src → src}/core/data-aggregator.ts +0 -0
- /package/{ccw/src → src}/core/history-importer.ts +0 -0
- /package/{ccw/src → src}/core/lite-scanner-complete.ts +0 -0
- /package/{ccw/src → src}/core/lite-scanner.ts +0 -0
- /package/{ccw/src → src}/core/manifest.ts +0 -0
- /package/{ccw/src → src}/core/memory-embedder-bridge.ts +0 -0
- /package/{ccw/src → src}/core/memory-store.ts +0 -0
- /package/{ccw/src → src}/core/routes/ccw-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/claude-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/cli-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/core-memory-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/files-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/graph-routes.md +0 -0
- /package/{ccw/src → src}/core/routes/graph-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/help-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/hooks-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/mcp-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/mcp-routes.ts.backup +0 -0
- /package/{ccw/src → src}/core/routes/mcp-templates-db.ts +0 -0
- /package/{ccw/src → src}/core/routes/memory-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/rules-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/session-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/skills-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/status-routes.ts +0 -0
- /package/{ccw/src → src}/core/routes/system-routes.ts +0 -0
- /package/{ccw/src → src}/core/server.ts +0 -0
- /package/{ccw/src → src}/core/session-clustering-service.ts +0 -0
- /package/{ccw/src → src}/core/session-scanner.ts +0 -0
- /package/{ccw/src → src}/core/websocket.ts +0 -0
- /package/{ccw/src → src}/index.ts +0 -0
- /package/{ccw/src → src}/mcp-server/index.ts +0 -0
- /package/{ccw/src → src}/templates/assets/css/github-dark.min.css +0 -0
- /package/{ccw/src → src}/templates/assets/css/github.min.css +0 -0
- /package/{ccw/src → src}/templates/assets/js/cytoscape.min.js +0 -0
- /package/{ccw/src → src}/templates/assets/js/d3.min.js +0 -0
- /package/{ccw/src → src}/templates/assets/js/highlight.min.js +0 -0
- /package/{ccw/src → src}/templates/assets/js/lucide.min.js +0 -0
- /package/{ccw/src → src}/templates/assets/js/marked.min.js +0 -0
- /package/{ccw/src → src}/templates/assets/js/tailwind.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/01-base.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/02-session.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/03-tasks.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/04-lite-tasks.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/05-context.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/06-cards.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/07-managers.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/08-review.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/09-explorer.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/10-cli-status.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/11-cli-history.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/12-cli-legacy.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/13-cli-ccw.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/14-cli-modals.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/15-cli-endpoints.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/16-cli-session.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/17-cli-conversation.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/18-cli-settings.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/19-cli-native-session.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/20-cli-taskqueue.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/21-cli-toolmgmt.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/22-cli-semantic.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/23-memory.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/24-prompt-history.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/25-skills-rules.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/26-claude-manager.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/27-graph-explorer.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/28-mcp-manager.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/29-help.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-css/30-core-memory.css +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/api.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/_conflict_tab.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/_exp_helpers.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/_review_tab.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/carousel.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/cli-history.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/cli-status.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/flowchart.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/global-notifications.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/hook-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/index-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/modals.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/navigation.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/notifications.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/sidebar.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/storage-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/tabs-context.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/tabs-other.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/task-drawer-core.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/task-drawer-renderers.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/task-queue-sidebar.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/theme.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/components/version-check.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/help-i18n.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/main.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/state.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/utils.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/claude-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/cli-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/core-memory-clusters.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/core-memory.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/explorer.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/fix-session.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/graph-explorer.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/help.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/history.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/home.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/hook-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/lite-tasks.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/mcp-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/mcp-manager.js.backup +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/mcp-manager.js.new +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/memory.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/project-overview.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/prompt-history.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/review-session.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/rules-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/session-detail.js +0 -0
- /package/{ccw/src → src}/templates/dashboard-js/views/skills-manager.js +0 -0
- /package/{ccw/src → src}/templates/dashboard.html +0 -0
- /package/{ccw/src → src}/templates/hooks-config-example.json +0 -0
- /package/{ccw/src → src}/templates/review-cycle-dashboard.html +0 -0
- /package/{ccw/src → src}/templates/workflow-dashboard.html +0 -0
- /package/{ccw/src → src}/tools/classify-folders.ts +0 -0
- /package/{ccw/src → src}/tools/cli-config-manager.ts +0 -0
- /package/{ccw/src → src}/tools/cli-executor.ts +0 -0
- /package/{ccw/src → src}/tools/cli-history-store.ts +0 -0
- /package/{ccw/src → src}/tools/convert-tokens-to-css.ts +0 -0
- /package/{ccw/src → src}/tools/core-memory.ts +0 -0
- /package/{ccw/src → src}/tools/detect-changed-modules.ts +0 -0
- /package/{ccw/src → src}/tools/discover-design-files.ts +0 -0
- /package/{ccw/src → src}/tools/edit-file.ts +0 -0
- /package/{ccw/src → src}/tools/generate-module-docs.ts +0 -0
- /package/{ccw/src → src}/tools/get-modules-by-depth.ts +0 -0
- /package/{ccw/src → src}/tools/index.ts +0 -0
- /package/{ccw/src → src}/tools/native-session-discovery.ts +0 -0
- /package/{ccw/src → src}/tools/notifier.ts +0 -0
- /package/{ccw/src → src}/tools/read-file.ts +0 -0
- /package/{ccw/src → src}/tools/resume-strategy.ts +0 -0
- /package/{ccw/src → src}/tools/session-content-parser.ts +0 -0
- /package/{ccw/src → src}/tools/session-manager.ts +0 -0
- /package/{ccw/src → src}/tools/smart-context.ts +0 -0
- /package/{ccw/src → src}/tools/smart-search.ts +0 -0
- /package/{ccw/src → src}/tools/smart-search.ts.backup +0 -0
- /package/{ccw/src → src}/tools/storage-manager.ts +0 -0
- /package/{ccw/src → src}/tools/ui-generate-preview.js +0 -0
- /package/{ccw/src → src}/tools/ui-instantiate-prototypes.js +0 -0
- /package/{ccw/src → src}/tools/update-module-claude.js +0 -0
- /package/{ccw/src → src}/tools/write-file.ts +0 -0
- /package/{ccw/src → src}/types/config.ts +0 -0
- /package/{ccw/src → src}/types/index.ts +0 -0
- /package/{ccw/src → src}/types/session.ts +0 -0
- /package/{ccw/src → src}/types/tool.ts +0 -0
- /package/{ccw/src → src}/utils/browser-launcher.ts +0 -0
- /package/{ccw/src → src}/utils/file-utils.ts +0 -0
- /package/{ccw/src → src}/utils/path-resolver.ts +0 -0
- /package/{ccw/src → src}/utils/path-validator.ts +0 -0
- /package/{ccw/src → src}/utils/ui.ts +0 -0
|
@@ -1,792 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: lite-execute
|
|
3
|
-
description: Execute tasks based on in-memory plan, prompt description, or file content
|
|
4
|
-
argument-hint: "[--in-memory] [\"task description\"|file-path]"
|
|
5
|
-
allowed-tools: TodoWrite(*), Task(*), Bash(*)
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Workflow Lite-Execute Command (/workflow:lite-execute)
|
|
9
|
-
|
|
10
|
-
## Overview
|
|
11
|
-
|
|
12
|
-
Flexible task execution command supporting three input modes: in-memory plan (from lite-plan), direct prompt description, or file content. Handles execution orchestration, progress tracking, and optional code review.
|
|
13
|
-
|
|
14
|
-
**Core capabilities:**
|
|
15
|
-
- Multi-mode input (in-memory plan, prompt description, or file path)
|
|
16
|
-
- Execution orchestration (Agent or Codex) with full context
|
|
17
|
-
- Live progress tracking via TodoWrite at execution call level
|
|
18
|
-
- Optional code review with selected tool (Gemini, Agent, or custom)
|
|
19
|
-
- Context continuity across multiple executions
|
|
20
|
-
- Intelligent format detection (Enhanced Task JSON vs plain text)
|
|
21
|
-
|
|
22
|
-
## Usage
|
|
23
|
-
|
|
24
|
-
### Command Syntax
|
|
25
|
-
```bash
|
|
26
|
-
/workflow:lite-execute [FLAGS] <INPUT>
|
|
27
|
-
|
|
28
|
-
# Flags
|
|
29
|
-
--in-memory Use plan from memory (called by lite-plan)
|
|
30
|
-
|
|
31
|
-
# Arguments
|
|
32
|
-
<input> Task description string, or path to file (required)
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Input Modes
|
|
36
|
-
|
|
37
|
-
### Mode 1: In-Memory Plan
|
|
38
|
-
|
|
39
|
-
**Trigger**: Called by lite-plan after Phase 4 approval with `--in-memory` flag
|
|
40
|
-
|
|
41
|
-
**Input Source**: `executionContext` global variable set by lite-plan
|
|
42
|
-
|
|
43
|
-
**Content**: Complete execution context (see Data Structures section)
|
|
44
|
-
|
|
45
|
-
**Behavior**:
|
|
46
|
-
- Skip execution method selection (already set by lite-plan)
|
|
47
|
-
- Directly proceed to execution with full context
|
|
48
|
-
- All planning artifacts available (exploration, clarifications, plan)
|
|
49
|
-
|
|
50
|
-
### Mode 2: Prompt Description
|
|
51
|
-
|
|
52
|
-
**Trigger**: User calls with task description string
|
|
53
|
-
|
|
54
|
-
**Input**: Simple task description (e.g., "Add unit tests for auth module")
|
|
55
|
-
|
|
56
|
-
**Behavior**:
|
|
57
|
-
- Store prompt as `originalUserInput`
|
|
58
|
-
- Create simple execution plan from prompt
|
|
59
|
-
- AskUserQuestion: Select execution method (Agent/Codex/Auto)
|
|
60
|
-
- AskUserQuestion: Select code review tool (Skip/Gemini/Agent/Other)
|
|
61
|
-
- Proceed to execution with `originalUserInput` included
|
|
62
|
-
|
|
63
|
-
**User Interaction**:
|
|
64
|
-
```javascript
|
|
65
|
-
AskUserQuestion({
|
|
66
|
-
questions: [
|
|
67
|
-
{
|
|
68
|
-
question: "Select execution method:",
|
|
69
|
-
header: "Execution",
|
|
70
|
-
multiSelect: false,
|
|
71
|
-
options: [
|
|
72
|
-
{ label: "Agent", description: "@code-developer agent" },
|
|
73
|
-
{ label: "Codex", description: "codex CLI tool" },
|
|
74
|
-
{ label: "Auto", description: "Auto-select based on complexity" }
|
|
75
|
-
]
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
question: "Enable code review after execution?",
|
|
79
|
-
header: "Code Review",
|
|
80
|
-
multiSelect: false,
|
|
81
|
-
options: [
|
|
82
|
-
{ label: "Skip", description: "No review" },
|
|
83
|
-
{ label: "Gemini Review", description: "Gemini CLI tool" },
|
|
84
|
-
{ label: "Agent Review", description: "Current agent review" }
|
|
85
|
-
]
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
})
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Mode 3: File Content
|
|
92
|
-
|
|
93
|
-
**Trigger**: User calls with file path
|
|
94
|
-
|
|
95
|
-
**Input**: Path to file containing task description or plan.json
|
|
96
|
-
|
|
97
|
-
**Step 1: Read and Detect Format**
|
|
98
|
-
|
|
99
|
-
```javascript
|
|
100
|
-
fileContent = Read(filePath)
|
|
101
|
-
|
|
102
|
-
// Attempt JSON parsing
|
|
103
|
-
try {
|
|
104
|
-
jsonData = JSON.parse(fileContent)
|
|
105
|
-
|
|
106
|
-
// Check if plan.json from lite-plan session
|
|
107
|
-
if (jsonData.summary && jsonData.approach && jsonData.tasks) {
|
|
108
|
-
planObject = jsonData
|
|
109
|
-
originalUserInput = jsonData.summary
|
|
110
|
-
isPlanJson = true
|
|
111
|
-
} else {
|
|
112
|
-
// Valid JSON but not plan.json - treat as plain text
|
|
113
|
-
originalUserInput = fileContent
|
|
114
|
-
isPlanJson = false
|
|
115
|
-
}
|
|
116
|
-
} catch {
|
|
117
|
-
// Not valid JSON - treat as plain text prompt
|
|
118
|
-
originalUserInput = fileContent
|
|
119
|
-
isPlanJson = false
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
**Step 2: Create Execution Plan**
|
|
124
|
-
|
|
125
|
-
If `isPlanJson === true`:
|
|
126
|
-
- Use `planObject` directly
|
|
127
|
-
- User selects execution method and code review
|
|
128
|
-
|
|
129
|
-
If `isPlanJson === false`:
|
|
130
|
-
- Treat file content as prompt (same behavior as Mode 2)
|
|
131
|
-
- Create simple execution plan from content
|
|
132
|
-
|
|
133
|
-
**Step 3: User Interaction**
|
|
134
|
-
|
|
135
|
-
- AskUserQuestion: Select execution method (Agent/Codex/Auto)
|
|
136
|
-
- AskUserQuestion: Select code review tool
|
|
137
|
-
- Proceed to execution with full context
|
|
138
|
-
|
|
139
|
-
## Execution Process
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
Input Parsing:
|
|
143
|
-
└─ Decision (mode detection):
|
|
144
|
-
├─ --in-memory flag → Mode 1: Load executionContext → Skip user selection
|
|
145
|
-
├─ Ends with .md/.json/.txt → Mode 3: Read file → Detect format
|
|
146
|
-
│ ├─ Valid plan.json → Use planObject → User selects method + review
|
|
147
|
-
│ └─ Not plan.json → Treat as prompt → User selects method + review
|
|
148
|
-
└─ Other → Mode 2: Prompt description → User selects method + review
|
|
149
|
-
|
|
150
|
-
Execution:
|
|
151
|
-
├─ Step 1: Initialize result tracking (previousExecutionResults = [])
|
|
152
|
-
├─ Step 2: Task grouping & batch creation
|
|
153
|
-
│ ├─ Extract explicit depends_on (no file/keyword inference)
|
|
154
|
-
│ ├─ Group: independent tasks → single parallel batch (maximize utilization)
|
|
155
|
-
│ ├─ Group: dependent tasks → sequential phases (respect dependencies)
|
|
156
|
-
│ └─ Create TodoWrite list for batches
|
|
157
|
-
├─ Step 3: Launch execution
|
|
158
|
-
│ ├─ Phase 1: All independent tasks (⚡ single batch, concurrent)
|
|
159
|
-
│ └─ Phase 2+: Dependent tasks by dependency order
|
|
160
|
-
├─ Step 4: Track progress (TodoWrite updates per batch)
|
|
161
|
-
└─ Step 5: Code review (if codeReviewTool ≠ "Skip")
|
|
162
|
-
|
|
163
|
-
Output:
|
|
164
|
-
└─ Execution complete with results in previousExecutionResults[]
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
## Detailed Execution Steps
|
|
168
|
-
|
|
169
|
-
### Step 1: Initialize Execution Tracking
|
|
170
|
-
|
|
171
|
-
**Operations**:
|
|
172
|
-
- Initialize result tracking for multi-execution scenarios
|
|
173
|
-
- Set up `previousExecutionResults` array for context continuity
|
|
174
|
-
|
|
175
|
-
```javascript
|
|
176
|
-
// Initialize result tracking
|
|
177
|
-
previousExecutionResults = []
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### Step 2: Task Grouping & Batch Creation
|
|
181
|
-
|
|
182
|
-
**Dependency Analysis & Grouping Algorithm**:
|
|
183
|
-
```javascript
|
|
184
|
-
// Use explicit depends_on from plan.json (no inference from file/keywords)
|
|
185
|
-
function extractDependencies(tasks) {
|
|
186
|
-
const taskIdToIndex = {}
|
|
187
|
-
tasks.forEach((t, i) => { taskIdToIndex[t.id] = i })
|
|
188
|
-
|
|
189
|
-
return tasks.map((task, i) => {
|
|
190
|
-
// Only use explicit depends_on from plan.json
|
|
191
|
-
const deps = (task.depends_on || [])
|
|
192
|
-
.map(depId => taskIdToIndex[depId])
|
|
193
|
-
.filter(idx => idx !== undefined && idx < i)
|
|
194
|
-
return { ...task, taskIndex: i, dependencies: deps }
|
|
195
|
-
})
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
// Group into batches: maximize parallel execution
|
|
199
|
-
function createExecutionCalls(tasks, executionMethod) {
|
|
200
|
-
const tasksWithDeps = extractDependencies(tasks)
|
|
201
|
-
const processed = new Set()
|
|
202
|
-
const calls = []
|
|
203
|
-
|
|
204
|
-
// Phase 1: All independent tasks → single parallel batch (maximize utilization)
|
|
205
|
-
const independentTasks = tasksWithDeps.filter(t => t.dependencies.length === 0)
|
|
206
|
-
if (independentTasks.length > 0) {
|
|
207
|
-
independentTasks.forEach(t => processed.add(t.taskIndex))
|
|
208
|
-
calls.push({
|
|
209
|
-
method: executionMethod,
|
|
210
|
-
executionType: "parallel",
|
|
211
|
-
groupId: "P1",
|
|
212
|
-
taskSummary: independentTasks.map(t => t.title).join(' | '),
|
|
213
|
-
tasks: independentTasks
|
|
214
|
-
})
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// Phase 2: Dependent tasks → sequential batches (respect dependencies)
|
|
218
|
-
let sequentialIndex = 1
|
|
219
|
-
let remaining = tasksWithDeps.filter(t => !processed.has(t.taskIndex))
|
|
220
|
-
|
|
221
|
-
while (remaining.length > 0) {
|
|
222
|
-
// Find tasks whose dependencies are all satisfied
|
|
223
|
-
const ready = remaining.filter(t =>
|
|
224
|
-
t.dependencies.every(d => processed.has(d))
|
|
225
|
-
)
|
|
226
|
-
|
|
227
|
-
if (ready.length === 0) {
|
|
228
|
-
console.warn('Circular dependency detected, forcing remaining tasks')
|
|
229
|
-
ready.push(...remaining)
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// Group ready tasks (can run in parallel within this phase)
|
|
233
|
-
ready.forEach(t => processed.add(t.taskIndex))
|
|
234
|
-
calls.push({
|
|
235
|
-
method: executionMethod,
|
|
236
|
-
executionType: ready.length > 1 ? "parallel" : "sequential",
|
|
237
|
-
groupId: ready.length > 1 ? `P${calls.length + 1}` : `S${sequentialIndex++}`,
|
|
238
|
-
taskSummary: ready.map(t => t.title).join(ready.length > 1 ? ' | ' : ' → '),
|
|
239
|
-
tasks: ready
|
|
240
|
-
})
|
|
241
|
-
|
|
242
|
-
remaining = remaining.filter(t => !processed.has(t.taskIndex))
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
return calls
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
executionCalls = createExecutionCalls(planObject.tasks, executionMethod).map(c => ({ ...c, id: `[${c.groupId}]` }))
|
|
249
|
-
|
|
250
|
-
TodoWrite({
|
|
251
|
-
todos: executionCalls.map(c => ({
|
|
252
|
-
content: `${c.executionType === "parallel" ? "⚡" : "→"} ${c.id} (${c.tasks.length} tasks)`,
|
|
253
|
-
status: "pending",
|
|
254
|
-
activeForm: `Executing ${c.id}`
|
|
255
|
-
}))
|
|
256
|
-
})
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
### Step 3: Launch Execution
|
|
260
|
-
|
|
261
|
-
**Executor Resolution** (任务级 executor 优先于全局设置):
|
|
262
|
-
```javascript
|
|
263
|
-
// 获取任务的 executor(优先使用 executorAssignments,fallback 到全局 executionMethod)
|
|
264
|
-
function getTaskExecutor(task) {
|
|
265
|
-
const assignments = executionContext?.executorAssignments || {}
|
|
266
|
-
if (assignments[task.id]) {
|
|
267
|
-
return assignments[task.id].executor // 'gemini' | 'codex' | 'agent'
|
|
268
|
-
}
|
|
269
|
-
// Fallback: 全局 executionMethod 映射
|
|
270
|
-
const method = executionContext?.executionMethod || 'Auto'
|
|
271
|
-
if (method === 'Agent') return 'agent'
|
|
272
|
-
if (method === 'Codex') return 'codex'
|
|
273
|
-
// Auto: 根据复杂度
|
|
274
|
-
return planObject.complexity === 'Low' ? 'agent' : 'codex'
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// 按 executor 分组任务
|
|
278
|
-
function groupTasksByExecutor(tasks) {
|
|
279
|
-
const groups = { gemini: [], codex: [], agent: [] }
|
|
280
|
-
tasks.forEach(task => {
|
|
281
|
-
const executor = getTaskExecutor(task)
|
|
282
|
-
groups[executor].push(task)
|
|
283
|
-
})
|
|
284
|
-
return groups
|
|
285
|
-
}
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
**Execution Flow**: Parallel batches concurrently → Sequential batches in order
|
|
289
|
-
```javascript
|
|
290
|
-
const parallel = executionCalls.filter(c => c.executionType === "parallel")
|
|
291
|
-
const sequential = executionCalls.filter(c => c.executionType === "sequential")
|
|
292
|
-
|
|
293
|
-
// Phase 1: Launch all parallel batches (single message with multiple tool calls)
|
|
294
|
-
if (parallel.length > 0) {
|
|
295
|
-
TodoWrite({ todos: executionCalls.map(c => ({ status: c.executionType === "parallel" ? "in_progress" : "pending" })) })
|
|
296
|
-
parallelResults = await Promise.all(parallel.map(c => executeBatch(c)))
|
|
297
|
-
previousExecutionResults.push(...parallelResults)
|
|
298
|
-
TodoWrite({ todos: executionCalls.map(c => ({ status: parallel.includes(c) ? "completed" : "pending" })) })
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// Phase 2: Execute sequential batches one by one
|
|
302
|
-
for (const call of sequential) {
|
|
303
|
-
TodoWrite({ todos: executionCalls.map(c => ({ status: c === call ? "in_progress" : "..." })) })
|
|
304
|
-
result = await executeBatch(call)
|
|
305
|
-
previousExecutionResults.push(result)
|
|
306
|
-
TodoWrite({ todos: executionCalls.map(c => ({ status: "completed" or "pending" })) })
|
|
307
|
-
}
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
**Option A: Agent Execution**
|
|
311
|
-
|
|
312
|
-
When to use:
|
|
313
|
-
- `getTaskExecutor(task) === "agent"`
|
|
314
|
-
- 或 `executionMethod = "Agent"` (全局 fallback)
|
|
315
|
-
- 或 `executionMethod = "Auto" AND complexity = "Low"` (全局 fallback)
|
|
316
|
-
|
|
317
|
-
**Task Formatting Principle**: Each task is a self-contained checklist. The agent only needs to know what THIS task requires, not its position or relation to other tasks.
|
|
318
|
-
|
|
319
|
-
Agent call format:
|
|
320
|
-
```javascript
|
|
321
|
-
// Format single task as self-contained checklist
|
|
322
|
-
function formatTaskChecklist(task) {
|
|
323
|
-
return `
|
|
324
|
-
## ${task.title}
|
|
325
|
-
|
|
326
|
-
**Target**: \`${task.file}\`
|
|
327
|
-
**Action**: ${task.action}
|
|
328
|
-
|
|
329
|
-
### What to do
|
|
330
|
-
${task.description}
|
|
331
|
-
|
|
332
|
-
### How to do it
|
|
333
|
-
${task.implementation.map(step => `- ${step}`).join('\n')}
|
|
334
|
-
|
|
335
|
-
### Reference
|
|
336
|
-
- Pattern: ${task.reference.pattern}
|
|
337
|
-
- Examples: ${task.reference.files.join(', ')}
|
|
338
|
-
- Notes: ${task.reference.examples}
|
|
339
|
-
|
|
340
|
-
### Done when
|
|
341
|
-
${task.acceptance.map(c => `- [ ] ${c}`).join('\n')}
|
|
342
|
-
`
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
// For batch execution: aggregate tasks without numbering
|
|
346
|
-
function formatBatchPrompt(batch) {
|
|
347
|
-
const tasksSection = batch.tasks.map(t => formatTaskChecklist(t)).join('\n---\n')
|
|
348
|
-
|
|
349
|
-
return `
|
|
350
|
-
${originalUserInput ? `## Goal\n${originalUserInput}\n` : ''}
|
|
351
|
-
|
|
352
|
-
## Tasks
|
|
353
|
-
|
|
354
|
-
${tasksSection}
|
|
355
|
-
|
|
356
|
-
${batch.context ? `## Context\n${batch.context}` : ''}
|
|
357
|
-
|
|
358
|
-
Complete each task according to its "Done when" checklist.
|
|
359
|
-
`
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
Task(
|
|
363
|
-
subagent_type="code-developer",
|
|
364
|
-
run_in_background=false,
|
|
365
|
-
description=batch.taskSummary,
|
|
366
|
-
prompt=formatBatchPrompt({
|
|
367
|
-
tasks: batch.tasks,
|
|
368
|
-
context: buildRelevantContext(batch.tasks)
|
|
369
|
-
})
|
|
370
|
-
)
|
|
371
|
-
|
|
372
|
-
// Helper: Build relevant context for batch
|
|
373
|
-
// Context serves as REFERENCE ONLY - helps agent understand existing state
|
|
374
|
-
function buildRelevantContext(tasks) {
|
|
375
|
-
const sections = []
|
|
376
|
-
|
|
377
|
-
// 1. Previous work completion - what's already done (reference for continuity)
|
|
378
|
-
if (previousExecutionResults.length > 0) {
|
|
379
|
-
sections.push(`### Previous Work (Reference)
|
|
380
|
-
Use this to understand what's already completed. Avoid duplicating work.
|
|
381
|
-
|
|
382
|
-
${previousExecutionResults.map(r => `**${r.tasksSummary}**
|
|
383
|
-
- Status: ${r.status}
|
|
384
|
-
- Outputs: ${r.keyOutputs || 'See git diff'}
|
|
385
|
-
${r.notes ? `- Notes: ${r.notes}` : ''}`
|
|
386
|
-
).join('\n\n')}`)
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
// 2. Related files - files that may need to be read/referenced
|
|
390
|
-
const relatedFiles = extractRelatedFiles(tasks)
|
|
391
|
-
if (relatedFiles.length > 0) {
|
|
392
|
-
sections.push(`### Related Files (Reference)
|
|
393
|
-
These files may contain patterns, types, or utilities relevant to your tasks:
|
|
394
|
-
|
|
395
|
-
${relatedFiles.map(f => `- \`${f}\``).join('\n')}`)
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
// 3. Clarifications from user
|
|
399
|
-
if (clarificationContext) {
|
|
400
|
-
sections.push(`### User Clarifications
|
|
401
|
-
${Object.entries(clarificationContext).map(([q, a]) => `- **${q}**: ${a}`).join('\n')}`)
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
// 4. Artifact files (for deeper context if needed)
|
|
405
|
-
if (executionContext?.session?.artifacts?.plan) {
|
|
406
|
-
sections.push(`### Artifacts
|
|
407
|
-
For detailed planning context, read: ${executionContext.session.artifacts.plan}`)
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
return sections.join('\n\n')
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
// Extract related files from task references
|
|
414
|
-
function extractRelatedFiles(tasks) {
|
|
415
|
-
const files = new Set()
|
|
416
|
-
tasks.forEach(task => {
|
|
417
|
-
// Add reference example files
|
|
418
|
-
if (task.reference?.files) {
|
|
419
|
-
task.reference.files.forEach(f => files.add(f))
|
|
420
|
-
}
|
|
421
|
-
})
|
|
422
|
-
return [...files]
|
|
423
|
-
}
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
**Result Collection**: After completion, collect result following `executionResult` structure (see Data Structures section)
|
|
427
|
-
|
|
428
|
-
**Option B: CLI Execution (Codex)**
|
|
429
|
-
|
|
430
|
-
When to use:
|
|
431
|
-
- `getTaskExecutor(task) === "codex"`
|
|
432
|
-
- 或 `executionMethod = "Codex"` (全局 fallback)
|
|
433
|
-
- 或 `executionMethod = "Auto" AND complexity = "Medium/High"` (全局 fallback)
|
|
434
|
-
|
|
435
|
-
**Task Formatting Principle**: Same as Agent - each task is a self-contained checklist. No task numbering or position awareness.
|
|
436
|
-
|
|
437
|
-
Command format:
|
|
438
|
-
```bash
|
|
439
|
-
// Format single task as compact checklist for CLI
|
|
440
|
-
function formatTaskForCLI(task) {
|
|
441
|
-
return `
|
|
442
|
-
## ${task.title}
|
|
443
|
-
File: ${task.file}
|
|
444
|
-
Action: ${task.action}
|
|
445
|
-
|
|
446
|
-
What: ${task.description}
|
|
447
|
-
|
|
448
|
-
How:
|
|
449
|
-
${task.implementation.map(step => `- ${step}`).join('\n')}
|
|
450
|
-
|
|
451
|
-
Reference: ${task.reference.pattern} (see ${task.reference.files.join(', ')})
|
|
452
|
-
Notes: ${task.reference.examples}
|
|
453
|
-
|
|
454
|
-
Done when:
|
|
455
|
-
${task.acceptance.map(c => `- [ ] ${c}`).join('\n')}
|
|
456
|
-
`
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
// Build CLI prompt for batch
|
|
460
|
-
// Context provides REFERENCE information - not requirements to fulfill
|
|
461
|
-
function buildCLIPrompt(batch) {
|
|
462
|
-
const tasksSection = batch.tasks.map(t => formatTaskForCLI(t)).join('\n---\n')
|
|
463
|
-
|
|
464
|
-
let prompt = `${originalUserInput ? `## Goal\n${originalUserInput}\n\n` : ''}`
|
|
465
|
-
prompt += `## Tasks\n\n${tasksSection}\n`
|
|
466
|
-
|
|
467
|
-
// Context section - reference information only
|
|
468
|
-
const contextSections = []
|
|
469
|
-
|
|
470
|
-
// 1. Previous work - what's already completed
|
|
471
|
-
if (previousExecutionResults.length > 0) {
|
|
472
|
-
contextSections.push(`### Previous Work (Reference)
|
|
473
|
-
Already completed - avoid duplicating:
|
|
474
|
-
${previousExecutionResults.map(r => `- ${r.tasksSummary}: ${r.status}${r.keyOutputs ? ` (${r.keyOutputs})` : ''}`).join('\n')}`)
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
// 2. Related files from task references
|
|
478
|
-
const relatedFiles = [...new Set(batch.tasks.flatMap(t => t.reference?.files || []))]
|
|
479
|
-
if (relatedFiles.length > 0) {
|
|
480
|
-
contextSections.push(`### Related Files (Reference)
|
|
481
|
-
Patterns and examples to follow:
|
|
482
|
-
${relatedFiles.map(f => `- ${f}`).join('\n')}`)
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
// 3. User clarifications
|
|
486
|
-
if (clarificationContext) {
|
|
487
|
-
contextSections.push(`### Clarifications
|
|
488
|
-
${Object.entries(clarificationContext).map(([q, a]) => `- ${q}: ${a}`).join('\n')}`)
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
// 4. Plan artifact for deeper context
|
|
492
|
-
if (executionContext?.session?.artifacts?.plan) {
|
|
493
|
-
contextSections.push(`### Artifacts
|
|
494
|
-
Detailed plan: ${executionContext.session.artifacts.plan}`)
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
if (contextSections.length > 0) {
|
|
498
|
-
prompt += `\n## Context\n${contextSections.join('\n\n')}\n`
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
prompt += `\nComplete each task according to its "Done when" checklist.`
|
|
502
|
-
|
|
503
|
-
return prompt
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
ccw cli -p "${buildCLIPrompt(batch)}" --tool codex --mode write
|
|
507
|
-
```
|
|
508
|
-
|
|
509
|
-
**Execution with fixed IDs** (predictable ID pattern):
|
|
510
|
-
```javascript
|
|
511
|
-
// Launch CLI in foreground (NOT background)
|
|
512
|
-
// Timeout based on complexity: Low=40min, Medium=60min, High=100min
|
|
513
|
-
const timeoutByComplexity = {
|
|
514
|
-
"Low": 2400000, // 40 minutes
|
|
515
|
-
"Medium": 3600000, // 60 minutes
|
|
516
|
-
"High": 6000000 // 100 minutes
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
// Generate fixed execution ID: ${sessionId}-${groupId}
|
|
520
|
-
// This enables predictable ID lookup without relying on resume context chains
|
|
521
|
-
const sessionId = executionContext?.session?.id || 'standalone'
|
|
522
|
-
const fixedExecutionId = `${sessionId}-${batch.groupId}` // e.g., "implement-auth-2025-12-13-P1"
|
|
523
|
-
|
|
524
|
-
// Check if resuming from previous failed execution
|
|
525
|
-
const previousCliId = batch.resumeFromCliId || null
|
|
526
|
-
|
|
527
|
-
// Build command with fixed ID (and optional resume for continuation)
|
|
528
|
-
const cli_command = previousCliId
|
|
529
|
-
? `ccw cli -p "${buildCLIPrompt(batch)}" --tool codex --mode write --id ${fixedExecutionId} --resume ${previousCliId}`
|
|
530
|
-
: `ccw cli -p "${buildCLIPrompt(batch)}" --tool codex --mode write --id ${fixedExecutionId}`
|
|
531
|
-
|
|
532
|
-
bash_result = Bash(
|
|
533
|
-
command=cli_command,
|
|
534
|
-
timeout=timeoutByComplexity[planObject.complexity] || 3600000
|
|
535
|
-
)
|
|
536
|
-
|
|
537
|
-
// Execution ID is now predictable: ${fixedExecutionId}
|
|
538
|
-
// Can also extract from output: "ID: implement-auth-2025-12-13-P1"
|
|
539
|
-
const cliExecutionId = fixedExecutionId
|
|
540
|
-
|
|
541
|
-
// Update TodoWrite when execution completes
|
|
542
|
-
```
|
|
543
|
-
|
|
544
|
-
**Resume on Failure** (with fixed ID):
|
|
545
|
-
```javascript
|
|
546
|
-
// If execution failed or timed out, offer resume option
|
|
547
|
-
if (bash_result.status === 'failed' || bash_result.status === 'timeout') {
|
|
548
|
-
console.log(`
|
|
549
|
-
⚠️ Execution incomplete. Resume available:
|
|
550
|
-
Fixed ID: ${fixedExecutionId}
|
|
551
|
-
Lookup: ccw cli detail ${fixedExecutionId}
|
|
552
|
-
Resume: ccw cli -p "Continue tasks" --resume ${fixedExecutionId} --tool codex --mode write --id ${fixedExecutionId}-retry
|
|
553
|
-
`)
|
|
554
|
-
|
|
555
|
-
// Store for potential retry in same session
|
|
556
|
-
batch.resumeFromCliId = fixedExecutionId
|
|
557
|
-
}
|
|
558
|
-
```
|
|
559
|
-
|
|
560
|
-
**Result Collection**: After completion, analyze output and collect result following `executionResult` structure (include `cliExecutionId` for resume capability)
|
|
561
|
-
|
|
562
|
-
**Option C: CLI Execution (Gemini)**
|
|
563
|
-
|
|
564
|
-
When to use: `getTaskExecutor(task) === "gemini"` (分析类任务)
|
|
565
|
-
|
|
566
|
-
```bash
|
|
567
|
-
# 使用与 Option B 相同的 formatBatchPrompt,切换 tool 和 mode
|
|
568
|
-
ccw cli -p "${formatBatchPrompt(batch)}" --tool gemini --mode analysis --id ${sessionId}-${batch.groupId}
|
|
569
|
-
```
|
|
570
|
-
|
|
571
|
-
### Step 4: Progress Tracking
|
|
572
|
-
|
|
573
|
-
Progress tracked at batch level (not individual task level). Icons: ⚡ (parallel, concurrent), → (sequential, one-by-one)
|
|
574
|
-
|
|
575
|
-
### Step 5: Code Review (Optional)
|
|
576
|
-
|
|
577
|
-
**Skip Condition**: Only run if `codeReviewTool ≠ "Skip"`
|
|
578
|
-
|
|
579
|
-
**Review Focus**: Verify implementation against plan acceptance criteria
|
|
580
|
-
- Read plan.json for task acceptance criteria
|
|
581
|
-
- Check each acceptance criterion is fulfilled
|
|
582
|
-
- Validate code quality and identify issues
|
|
583
|
-
- Ensure alignment with planned approach
|
|
584
|
-
|
|
585
|
-
**Operations**:
|
|
586
|
-
- Agent Review: Current agent performs direct review
|
|
587
|
-
- Gemini Review: Execute gemini CLI with review prompt
|
|
588
|
-
- Custom tool: Execute specified CLI tool (qwen, codex, etc.)
|
|
589
|
-
|
|
590
|
-
**Unified Review Template** (All tools use same standard):
|
|
591
|
-
|
|
592
|
-
**Review Criteria**:
|
|
593
|
-
- **Acceptance Criteria**: Verify each criterion from plan.tasks[].acceptance
|
|
594
|
-
- **Code Quality**: Analyze quality, identify issues, suggest improvements
|
|
595
|
-
- **Plan Alignment**: Validate implementation matches planned approach
|
|
596
|
-
|
|
597
|
-
**Shared Prompt Template** (used by all CLI tools):
|
|
598
|
-
```
|
|
599
|
-
PURPOSE: Code review for implemented changes against plan acceptance criteria
|
|
600
|
-
TASK: • Verify plan acceptance criteria fulfillment • Analyze code quality • Identify issues • Suggest improvements • Validate plan adherence
|
|
601
|
-
MODE: analysis
|
|
602
|
-
CONTEXT: @**/* @{plan.json} [@{exploration.json}] | Memory: Review lite-execute changes against plan requirements
|
|
603
|
-
EXPECTED: Quality assessment with acceptance criteria verification, issue identification, and recommendations. Explicitly check each acceptance criterion from plan.json tasks.
|
|
604
|
-
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt) | Focus on plan acceptance criteria and plan adherence | analysis=READ-ONLY
|
|
605
|
-
```
|
|
606
|
-
|
|
607
|
-
**Tool-Specific Execution** (Apply shared prompt template above):
|
|
608
|
-
|
|
609
|
-
```bash
|
|
610
|
-
# Method 1: Agent Review (current agent)
|
|
611
|
-
# - Read plan.json: ${executionContext.session.artifacts.plan}
|
|
612
|
-
# - Apply unified review criteria (see Shared Prompt Template)
|
|
613
|
-
# - Report findings directly
|
|
614
|
-
|
|
615
|
-
# Method 2: Gemini Review (recommended)
|
|
616
|
-
ccw cli -p "[Shared Prompt Template with artifacts]" --tool gemini --mode analysis
|
|
617
|
-
# CONTEXT includes: @**/* @${plan.json} [@${exploration.json}]
|
|
618
|
-
|
|
619
|
-
# Method 3: Qwen Review (alternative)
|
|
620
|
-
ccw cli -p "[Shared Prompt Template with artifacts]" --tool qwen --mode analysis
|
|
621
|
-
# Same prompt as Gemini, different execution engine
|
|
622
|
-
|
|
623
|
-
# Method 4: Codex Review (autonomous)
|
|
624
|
-
ccw cli -p "[Verify plan acceptance criteria at ${plan.json}]" --tool codex --mode write
|
|
625
|
-
```
|
|
626
|
-
|
|
627
|
-
**Multi-Round Review with Fixed IDs**:
|
|
628
|
-
```javascript
|
|
629
|
-
// Generate fixed review ID
|
|
630
|
-
const reviewId = `${sessionId}-review`
|
|
631
|
-
|
|
632
|
-
// First review pass with fixed ID
|
|
633
|
-
const reviewResult = Bash(`ccw cli -p "[Review prompt]" --tool gemini --mode analysis --id ${reviewId}`)
|
|
634
|
-
|
|
635
|
-
// If issues found, continue review dialog with fixed ID chain
|
|
636
|
-
if (hasUnresolvedIssues(reviewResult)) {
|
|
637
|
-
// Resume with follow-up questions
|
|
638
|
-
Bash(`ccw cli -p "Clarify the security concerns you mentioned" --resume ${reviewId} --tool gemini --mode analysis --id ${reviewId}-followup`)
|
|
639
|
-
}
|
|
640
|
-
```
|
|
641
|
-
|
|
642
|
-
**Implementation Note**: Replace `[Shared Prompt Template with artifacts]` placeholder with actual template content, substituting:
|
|
643
|
-
- `@{plan.json}` → `@${executionContext.session.artifacts.plan}`
|
|
644
|
-
- `[@{exploration.json}]` → exploration files from artifacts (if exists)
|
|
645
|
-
|
|
646
|
-
### Step 6: Update Development Index
|
|
647
|
-
|
|
648
|
-
**Trigger**: After all executions complete (regardless of code review)
|
|
649
|
-
|
|
650
|
-
**Skip Condition**: Skip if `.workflow/project.json` does not exist
|
|
651
|
-
|
|
652
|
-
**Operations**:
|
|
653
|
-
```javascript
|
|
654
|
-
const projectJsonPath = '.workflow/project.json'
|
|
655
|
-
if (!fileExists(projectJsonPath)) return // Silent skip
|
|
656
|
-
|
|
657
|
-
const projectJson = JSON.parse(Read(projectJsonPath))
|
|
658
|
-
|
|
659
|
-
// Initialize if needed
|
|
660
|
-
if (!projectJson.development_index) {
|
|
661
|
-
projectJson.development_index = { feature: [], enhancement: [], bugfix: [], refactor: [], docs: [] }
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
// Detect category from keywords
|
|
665
|
-
function detectCategory(text) {
|
|
666
|
-
text = text.toLowerCase()
|
|
667
|
-
if (/\b(fix|bug|error|issue|crash)\b/.test(text)) return 'bugfix'
|
|
668
|
-
if (/\b(refactor|cleanup|reorganize)\b/.test(text)) return 'refactor'
|
|
669
|
-
if (/\b(doc|readme|comment)\b/.test(text)) return 'docs'
|
|
670
|
-
if (/\b(add|new|create|implement)\b/.test(text)) return 'feature'
|
|
671
|
-
return 'enhancement'
|
|
672
|
-
}
|
|
673
|
-
|
|
674
|
-
// Detect sub_feature from task file paths
|
|
675
|
-
function detectSubFeature(tasks) {
|
|
676
|
-
const dirs = tasks.map(t => t.file?.split('/').slice(-2, -1)[0]).filter(Boolean)
|
|
677
|
-
const counts = dirs.reduce((a, d) => { a[d] = (a[d] || 0) + 1; return a }, {})
|
|
678
|
-
return Object.entries(counts).sort((a, b) => b[1] - a[1])[0]?.[0] || 'general'
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
const category = detectCategory(`${planObject.summary} ${planObject.approach}`)
|
|
682
|
-
const entry = {
|
|
683
|
-
title: planObject.summary.slice(0, 60),
|
|
684
|
-
sub_feature: detectSubFeature(planObject.tasks),
|
|
685
|
-
date: new Date().toISOString().split('T')[0],
|
|
686
|
-
description: planObject.approach.slice(0, 100),
|
|
687
|
-
status: previousExecutionResults.every(r => r.status === 'completed') ? 'completed' : 'partial',
|
|
688
|
-
session_id: executionContext?.session?.id || null
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
projectJson.development_index[category].push(entry)
|
|
692
|
-
projectJson.statistics.last_updated = new Date().toISOString()
|
|
693
|
-
Write(projectJsonPath, JSON.stringify(projectJson, null, 2))
|
|
694
|
-
|
|
695
|
-
console.log(`✓ Development index: [${category}] ${entry.title}`)
|
|
696
|
-
```
|
|
697
|
-
|
|
698
|
-
## Best Practices
|
|
699
|
-
|
|
700
|
-
**Input Modes**: In-memory (lite-plan), prompt (standalone), file (JSON/text)
|
|
701
|
-
**Task Grouping**: Based on explicit depends_on only; independent tasks run in single parallel batch
|
|
702
|
-
**Execution**: All independent tasks launch concurrently via single Claude message with multiple tool calls
|
|
703
|
-
|
|
704
|
-
## Error Handling
|
|
705
|
-
|
|
706
|
-
| Error | Cause | Resolution |
|
|
707
|
-
|-------|-------|------------|
|
|
708
|
-
| Missing executionContext | --in-memory without context | Error: "No execution context found. Only available when called by lite-plan." |
|
|
709
|
-
| File not found | File path doesn't exist | Error: "File not found: {path}. Check file path." |
|
|
710
|
-
| Empty file | File exists but no content | Error: "File is empty: {path}. Provide task description." |
|
|
711
|
-
| Invalid Enhanced Task JSON | JSON missing required fields | Warning: "Missing required fields. Treating as plain text." |
|
|
712
|
-
| Malformed JSON | JSON parsing fails | Treat as plain text (expected for non-JSON files) |
|
|
713
|
-
| Execution failure | Agent/Codex crashes | Display error, use fixed ID `${sessionId}-${groupId}` for resume: `ccw cli -p "Continue" --resume <fixed-id> --id <fixed-id>-retry` |
|
|
714
|
-
| Execution timeout | CLI exceeded timeout | Use fixed ID for resume with extended timeout |
|
|
715
|
-
| Codex unavailable | Codex not installed | Show installation instructions, offer Agent execution |
|
|
716
|
-
| Fixed ID not found | Custom ID lookup failed | Check `ccw cli history`, verify date directories |
|
|
717
|
-
|
|
718
|
-
## Data Structures
|
|
719
|
-
|
|
720
|
-
### executionContext (Input - Mode 1)
|
|
721
|
-
|
|
722
|
-
Passed from lite-plan via global variable:
|
|
723
|
-
|
|
724
|
-
```javascript
|
|
725
|
-
{
|
|
726
|
-
planObject: {
|
|
727
|
-
summary: string,
|
|
728
|
-
approach: string,
|
|
729
|
-
tasks: [...],
|
|
730
|
-
estimated_time: string,
|
|
731
|
-
recommended_execution: string,
|
|
732
|
-
complexity: string
|
|
733
|
-
},
|
|
734
|
-
explorationsContext: {...} | null, // Multi-angle explorations
|
|
735
|
-
explorationAngles: string[], // List of exploration angles
|
|
736
|
-
explorationManifest: {...} | null, // Exploration manifest
|
|
737
|
-
clarificationContext: {...} | null,
|
|
738
|
-
executionMethod: "Agent" | "Codex" | "Auto", // 全局默认
|
|
739
|
-
codeReviewTool: "Skip" | "Gemini Review" | "Agent Review" | string,
|
|
740
|
-
originalUserInput: string,
|
|
741
|
-
|
|
742
|
-
// 任务级 executor 分配(优先于 executionMethod)
|
|
743
|
-
executorAssignments: {
|
|
744
|
-
[taskId]: { executor: "gemini" | "codex" | "agent", reason: string }
|
|
745
|
-
},
|
|
746
|
-
|
|
747
|
-
// Session artifacts location (saved by lite-plan)
|
|
748
|
-
session: {
|
|
749
|
-
id: string, // Session identifier: {taskSlug}-{shortTimestamp}
|
|
750
|
-
folder: string, // Session folder path: .workflow/.lite-plan/{session-id}
|
|
751
|
-
artifacts: {
|
|
752
|
-
explorations: [{angle, path}], // exploration-{angle}.json paths
|
|
753
|
-
explorations_manifest: string, // explorations-manifest.json path
|
|
754
|
-
plan: string // plan.json path (always present)
|
|
755
|
-
}
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
```
|
|
759
|
-
|
|
760
|
-
**Artifact Usage**:
|
|
761
|
-
- Artifact files contain detailed planning context
|
|
762
|
-
- Pass artifact paths to CLI tools and agents for enhanced context
|
|
763
|
-
- See execution options below for usage examples
|
|
764
|
-
|
|
765
|
-
### executionResult (Output)
|
|
766
|
-
|
|
767
|
-
Collected after each execution call completes:
|
|
768
|
-
|
|
769
|
-
```javascript
|
|
770
|
-
{
|
|
771
|
-
executionId: string, // e.g., "[Agent-1]", "[Codex-1]"
|
|
772
|
-
status: "completed" | "partial" | "failed",
|
|
773
|
-
tasksSummary: string, // Brief description of tasks handled
|
|
774
|
-
completionSummary: string, // What was completed
|
|
775
|
-
keyOutputs: string, // Files created/modified, key changes
|
|
776
|
-
notes: string, // Important context for next execution
|
|
777
|
-
fixedCliId: string | null // Fixed CLI execution ID (e.g., "implement-auth-2025-12-13-P1")
|
|
778
|
-
}
|
|
779
|
-
```
|
|
780
|
-
|
|
781
|
-
Appended to `previousExecutionResults` array for context continuity in multi-execution scenarios.
|
|
782
|
-
|
|
783
|
-
**Fixed ID Pattern**: `${sessionId}-${groupId}` enables predictable lookup without auto-generated timestamps.
|
|
784
|
-
|
|
785
|
-
**Resume Usage**: If `status` is "partial" or "failed", use `fixedCliId` to resume:
|
|
786
|
-
```bash
|
|
787
|
-
# Lookup previous execution
|
|
788
|
-
ccw cli detail ${fixedCliId}
|
|
789
|
-
|
|
790
|
-
# Resume with new fixed ID for retry
|
|
791
|
-
ccw cli -p "Continue from where we left off" --resume ${fixedCliId} --tool codex --mode write --id ${fixedCliId}-retry
|
|
792
|
-
```
|