yaaw-se 0.3.2-dev.36167912622.1 → 0.3.2

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.
Files changed (228) hide show
  1. package/README.md +82 -118
  2. package/dist/cli/commands/config.d.ts +50 -0
  3. package/dist/cli/commands/config.js +219 -0
  4. package/dist/cli/commands/config.js.map +1 -0
  5. package/dist/cli/commands/install.d.ts +11 -0
  6. package/dist/cli/commands/install.js +135 -19
  7. package/dist/cli/commands/install.js.map +1 -1
  8. package/dist/cli/commands/status.d.ts +32 -2
  9. package/dist/cli/commands/status.js +5 -0
  10. package/dist/cli/commands/status.js.map +1 -1
  11. package/dist/cli/main.js +28 -5
  12. package/dist/cli/main.js.map +1 -1
  13. package/dist/installer/configuration.d.ts +33 -0
  14. package/dist/installer/configuration.js +149 -0
  15. package/dist/installer/configuration.js.map +1 -0
  16. package/dist/installer/detect.js +8 -1
  17. package/dist/installer/detect.js.map +1 -1
  18. package/dist/installer/manifest.js +45 -12
  19. package/dist/installer/manifest.js.map +1 -1
  20. package/dist/installer/migrations/index.d.ts +6 -3
  21. package/dist/installer/migrations/index.js +3 -2
  22. package/dist/installer/migrations/index.js.map +1 -1
  23. package/dist/installer/migrations/installation/index.d.ts +9 -2
  24. package/dist/installer/migrations/installation/index.js +21 -2
  25. package/dist/installer/migrations/installation/index.js.map +1 -1
  26. package/dist/installer/migrations/installation/v2-to-v3.d.ts +2 -0
  27. package/dist/installer/migrations/installation/v2-to-v3.js +19 -0
  28. package/dist/installer/migrations/installation/v2-to-v3.js.map +1 -0
  29. package/dist/installer/plan.d.ts +43 -1
  30. package/dist/installer/plan.js +196 -11
  31. package/dist/installer/plan.js.map +1 -1
  32. package/dist/installer/project-state.js +1 -1
  33. package/dist/installer/project-state.js.map +1 -1
  34. package/dist/installer/status.d.ts +32 -2
  35. package/dist/installer/status.js +108 -34
  36. package/dist/installer/status.js.map +1 -1
  37. package/dist/installer/toml-managed.d.ts +7 -0
  38. package/dist/installer/toml-managed.js +192 -0
  39. package/dist/installer/toml-managed.js.map +1 -0
  40. package/dist/installer/transaction.js +61 -11
  41. package/dist/installer/transaction.js.map +1 -1
  42. package/dist/installer/types.d.ts +65 -9
  43. package/dist/installer/verify.js +12 -12
  44. package/dist/installer/verify.js.map +1 -1
  45. package/dist/integrations/claude-code.js +1 -0
  46. package/dist/integrations/claude-code.js.map +1 -1
  47. package/dist/integrations/codex-catalog.d.ts +25 -0
  48. package/dist/integrations/codex-catalog.js +111 -0
  49. package/dist/integrations/codex-catalog.js.map +1 -0
  50. package/dist/integrations/codex-runtime.d.ts +33 -0
  51. package/dist/integrations/codex-runtime.js +119 -0
  52. package/dist/integrations/codex-runtime.js.map +1 -0
  53. package/dist/integrations/codex.d.ts +2 -1
  54. package/dist/integrations/codex.js +192 -3
  55. package/dist/integrations/codex.js.map +1 -1
  56. package/dist/integrations/gemini-cli.js +1 -0
  57. package/dist/integrations/gemini-cli.js.map +1 -1
  58. package/dist/integrations/helpers.d.ts +1 -0
  59. package/dist/integrations/helpers.js +1 -0
  60. package/dist/integrations/helpers.js.map +1 -1
  61. package/dist/integrations/registry.d.ts +2 -0
  62. package/dist/integrations/registry.js +21 -4
  63. package/dist/integrations/registry.js.map +1 -1
  64. package/dist/integrations/types.d.ts +40 -0
  65. package/dist/payload/bootstrap/claude-code.md +3 -3
  66. package/dist/payload/bootstrap/cline.md +3 -3
  67. package/dist/payload/bootstrap/codex.md +6 -4
  68. package/dist/payload/bootstrap/gemini-cli.md +3 -3
  69. package/dist/payload/integrations/codex/yaaw-runtime.md +74 -0
  70. package/dist/payload/payload-files.json +284 -294
  71. package/dist/payload/payload.json +1 -1
  72. package/dist/payload/skills/yaaw-create-spec/SKILL.md +1 -1
  73. package/dist/payload/skills/yaaw-create-ticket/SKILL.md +1 -1
  74. package/dist/payload/skills/yaaw-create-tickets/SKILL.md +1 -1
  75. package/dist/payload/skills/yaaw-implement/SKILL.md +1 -1
  76. package/dist/payload/skills/yaaw-orchestrator/SKILL.md +1 -1
  77. package/dist/payload/skills/yaaw-planner/SKILL.md +1 -1
  78. package/dist/payload/skills/yaaw-planning-review/SKILL.md +1 -1
  79. package/dist/payload/skills/yaaw-prd/SKILL.md +1 -1
  80. package/dist/payload/skills/yaaw-refine-prd/SKILL.md +1 -1
  81. package/dist/payload/skills/yaaw-repair/SKILL.md +1 -1
  82. package/dist/payload/skills/yaaw-review/SKILL.md +1 -1
  83. package/dist/payload/skills/yaaw-revise-prd/SKILL.md +1 -1
  84. package/dist/payload/yaaw-core/{core → system/core}/artifact-model.md +6 -5
  85. package/dist/payload/yaaw-core/{core → system/core}/authority.md +1 -1
  86. package/dist/payload/yaaw-core/system/core/context-loading.md +52 -0
  87. package/dist/payload/yaaw-core/system/core/dispatch-execution.md +49 -0
  88. package/dist/payload/yaaw-core/system/core/execution-context.md +53 -0
  89. package/dist/payload/yaaw-core/system/core/framework-integrity.md +60 -0
  90. package/dist/payload/yaaw-core/system/core/invalidation.md +27 -0
  91. package/dist/payload/yaaw-core/{core → system/core}/io-contract.md +10 -5
  92. package/dist/payload/yaaw-core/system/core/lifecycle.md +33 -0
  93. package/dist/payload/yaaw-core/system/core/recovery.md +29 -0
  94. package/dist/payload/yaaw-core/system/core/routing.md +36 -0
  95. package/dist/payload/yaaw-core/{core → system/core}/state-model.md +1 -1
  96. package/dist/payload/yaaw-core/system/core/transitions.md +39 -0
  97. package/dist/payload/yaaw-core/{expertise → system/expertise}/changeability/MODULE.md +1 -1
  98. package/dist/payload/yaaw-core/system/registries/artifacts.json +99 -0
  99. package/dist/payload/yaaw-core/system/registries/execution-policy.json +169 -0
  100. package/dist/payload/yaaw-core/{registries → system/registries}/expertise.json +5 -5
  101. package/dist/payload/yaaw-core/{registries → system/registries}/paths.json +2 -1
  102. package/dist/payload/yaaw-core/{registries → system/registries}/role-io.json +12 -6
  103. package/dist/payload/yaaw-core/{registries → system/registries}/routing-policy.json +24 -24
  104. package/dist/payload/yaaw-core/{registries → system/registries}/transitions.json +8 -8
  105. package/dist/payload/yaaw-core/system/registries/workflows.json +38 -0
  106. package/dist/payload/yaaw-core/{roles → system/roles}/implementer.md +3 -4
  107. package/dist/payload/yaaw-core/system/roles/orchestrator.md +23 -0
  108. package/dist/payload/yaaw-core/{roles → system/roles}/planner.md +6 -7
  109. package/dist/payload/yaaw-core/{roles → system/roles}/prd.md +4 -1
  110. package/dist/payload/yaaw-core/{roles → system/roles}/reviewer.md +3 -6
  111. package/dist/payload/yaaw-core/{rules → system/rules}/question-format.md +1 -1
  112. package/dist/payload/yaaw-core/system/rules/repository-identity.md +28 -0
  113. package/dist/payload/yaaw-core/{rules → system/rules}/research-admission.md +1 -1
  114. package/dist/payload/yaaw-core/{rules → system/rules}/review-independence.md +2 -0
  115. package/dist/payload/yaaw-core/system/schemas/dispatch-failures.schema.json +39 -0
  116. package/dist/payload/yaaw-core/system/schemas/evidence.schema.json +36 -0
  117. package/dist/payload/yaaw-core/{schemas → system/schemas}/handoff.schema.json +97 -42
  118. package/dist/payload/yaaw-core/{schemas → system/schemas}/observed-state.schema.json +91 -88
  119. package/dist/payload/yaaw-core/system/schemas/review.schema.json +19 -0
  120. package/dist/payload/yaaw-core/system/templates/dispatch-failures.json +17 -0
  121. package/dist/payload/yaaw-core/system/templates/evidence.json +12 -0
  122. package/dist/payload/yaaw-core/{templates → system/templates}/handoff.json +5 -14
  123. package/dist/payload/yaaw-core/{templates → system/templates}/observed-state.json +4 -16
  124. package/dist/payload/yaaw-core/system/templates/review.md +28 -0
  125. package/dist/payload/yaaw-core/{tools → system/tools}/framework-integrity.mjs +7 -24
  126. package/dist/payload/yaaw-core/{workflows → system/workflows}/implementation/implement-ticket.md +1 -5
  127. package/dist/payload/yaaw-core/{workflows → system/workflows}/implementation/repair-ticket.md +1 -5
  128. package/dist/payload/yaaw-core/{workflows → system/workflows}/implementation/verify-ticket.md +1 -5
  129. package/dist/payload/yaaw-core/{workflows → system/workflows}/orchestration/determine-next-action.md +5 -9
  130. package/dist/payload/yaaw-core/system/workflows/orchestration/dispatch.md +29 -0
  131. package/dist/payload/yaaw-core/system/workflows/orchestration/inspect-state.md +22 -0
  132. package/dist/payload/yaaw-core/{workflows → system/workflows}/orchestration/reconcile-state.md +0 -4
  133. package/dist/payload/yaaw-core/{workflows → system/workflows}/orchestration/recover-interruption.md +0 -4
  134. package/dist/payload/yaaw-core/{workflows → system/workflows}/orchestration/route.md +5 -7
  135. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/create-tickets.md +1 -1
  136. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/decision-frontier.md +1 -1
  137. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/discover.md +2 -2
  138. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/question-round.md +1 -1
  139. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/readiness-review.md +1 -1
  140. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/record-decisions.md +1 -1
  141. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/replan.md +0 -4
  142. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/research.md +1 -1
  143. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/route.md +1 -5
  144. package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/write-understanding.md +1 -1
  145. package/dist/payload/yaaw-core/{workflows → system/workflows}/prd/create.md +2 -2
  146. package/dist/payload/yaaw-core/{workflows → system/workflows}/prd/question-round.md +1 -1
  147. package/dist/payload/yaaw-core/{workflows → system/workflows}/prd/readiness.md +1 -1
  148. package/dist/payload/yaaw-core/{workflows → system/workflows}/prd/record-decisions.md +2 -2
  149. package/dist/payload/yaaw-core/{workflows → system/workflows}/prd/refine.md +1 -1
  150. package/dist/payload/yaaw-core/{workflows → system/workflows}/prd/revise.md +2 -2
  151. package/dist/payload/yaaw-core/{workflows → system/workflows}/prd/route.md +1 -1
  152. package/dist/payload/yaaw-core/{workflows → system/workflows}/review/inspect-change.md +0 -4
  153. package/dist/payload/yaaw-core/{workflows → system/workflows}/review/record-review.md +0 -4
  154. package/dist/payload/yaaw-core/{workflows → system/workflows}/review/review-ticket.md +1 -5
  155. package/dist/tui/configuration-updates.d.ts +4 -0
  156. package/dist/tui/configuration-updates.js +37 -0
  157. package/dist/tui/configuration-updates.js.map +1 -0
  158. package/dist/tui/configure-codex.d.ts +4 -0
  159. package/dist/tui/configure-codex.js +454 -0
  160. package/dist/tui/configure-codex.js.map +1 -0
  161. package/dist/tui/configure-integration.d.ts +2 -0
  162. package/dist/tui/configure-integration.js +9 -0
  163. package/dist/tui/configure-integration.js.map +1 -0
  164. package/dist/tui/confirm-configuration.d.ts +10 -0
  165. package/dist/tui/confirm-configuration.js +36 -0
  166. package/dist/tui/confirm-configuration.js.map +1 -0
  167. package/dist/tui/confirm-plan.js +52 -12
  168. package/dist/tui/confirm-plan.js.map +1 -1
  169. package/dist/tui/navigation.d.ts +11 -0
  170. package/dist/tui/navigation.js +10 -0
  171. package/dist/tui/navigation.js.map +1 -0
  172. package/dist/tui/result.d.ts +10 -1
  173. package/dist/tui/result.js +81 -4
  174. package/dist/tui/result.js.map +1 -1
  175. package/package.json +2 -1
  176. package/dist/payload/yaaw-core/core/context-loading.md +0 -23
  177. package/dist/payload/yaaw-core/core/execution-context.md +0 -49
  178. package/dist/payload/yaaw-core/core/framework-integrity.md +0 -77
  179. package/dist/payload/yaaw-core/core/invalidation.md +0 -37
  180. package/dist/payload/yaaw-core/core/lifecycle.md +0 -28
  181. package/dist/payload/yaaw-core/core/recovery.md +0 -28
  182. package/dist/payload/yaaw-core/core/routing.md +0 -34
  183. package/dist/payload/yaaw-core/core/transitions.md +0 -26
  184. package/dist/payload/yaaw-core/registries/artifacts.json +0 -18
  185. package/dist/payload/yaaw-core/registries/execution-policy.json +0 -38
  186. package/dist/payload/yaaw-core/registries/workflows.json +0 -38
  187. package/dist/payload/yaaw-core/roles/orchestrator.md +0 -25
  188. package/dist/payload/yaaw-core/rules/repository-identity.md +0 -32
  189. package/dist/payload/yaaw-core/schemas/evidence-v1.schema.json +0 -98
  190. package/dist/payload/yaaw-core/schemas/evidence-v2.schema.json +0 -102
  191. package/dist/payload/yaaw-core/schemas/evidence.schema.json +0 -25
  192. package/dist/payload/yaaw-core/schemas/repository-identity.schema.json +0 -132
  193. package/dist/payload/yaaw-core/schemas/review-v1.schema.json +0 -65
  194. package/dist/payload/yaaw-core/schemas/review-v2.schema.json +0 -78
  195. package/dist/payload/yaaw-core/schemas/review.schema.json +0 -32
  196. package/dist/payload/yaaw-core/templates/evidence.json +0 -29
  197. package/dist/payload/yaaw-core/templates/review.md +0 -37
  198. package/dist/payload/yaaw-core/tools/repository-identity.mjs +0 -84
  199. package/dist/payload/yaaw-core/workflows/orchestration/dispatch.md +0 -27
  200. package/dist/payload/yaaw-core/workflows/orchestration/inspect-state.md +0 -25
  201. /package/dist/payload/yaaw-core/{expertise → system/expertise}/frontend-design/MODULE.md +0 -0
  202. /package/dist/payload/yaaw-core/{expertise → system/expertise}/python/MODULE.md +0 -0
  203. /package/dist/payload/yaaw-core/{expertise → system/expertise}/security/MODULE.md +0 -0
  204. /package/dist/payload/yaaw-core/{expertise → system/expertise}/testing/MODULE.md +0 -0
  205. /package/dist/payload/yaaw-core/{registries → system/registries}/skills.json +0 -0
  206. /package/dist/payload/yaaw-core/{rules → system/rules}/artifact-writing.md +0 -0
  207. /package/dist/payload/yaaw-core/{rules → system/rules}/assumption-challenge.md +0 -0
  208. /package/dist/payload/yaaw-core/{rules → system/rules}/changeability.md +0 -0
  209. /package/dist/payload/yaaw-core/{rules → system/rules}/durable-memory.md +0 -0
  210. /package/dist/payload/yaaw-core/{rules → system/rules}/recovery-evidence.md +0 -0
  211. /package/dist/payload/yaaw-core/{rules → system/rules}/ticket-sizing.md +0 -0
  212. /package/dist/payload/yaaw-core/{schemas → system/schemas}/engineering-research.schema.json +0 -0
  213. /package/dist/payload/yaaw-core/{schemas → system/schemas}/engineering.schema.json +0 -0
  214. /package/dist/payload/yaaw-core/{schemas → system/schemas}/intent.schema.json +0 -0
  215. /package/dist/payload/yaaw-core/{schemas → system/schemas}/product.schema.json +0 -0
  216. /package/dist/payload/yaaw-core/{schemas → system/schemas}/project-state.schema.json +0 -0
  217. /package/dist/payload/yaaw-core/{schemas → system/schemas}/spec.schema.json +0 -0
  218. /package/dist/payload/yaaw-core/{schemas → system/schemas}/ticket.schema.json +0 -0
  219. /package/dist/payload/yaaw-core/{templates → system/templates}/engineering-research.md +0 -0
  220. /package/dist/payload/yaaw-core/{templates → system/templates}/engineering.md +0 -0
  221. /package/dist/payload/yaaw-core/{templates → system/templates}/intent.json +0 -0
  222. /package/dist/payload/yaaw-core/{templates → system/templates}/product.md +0 -0
  223. /package/dist/payload/yaaw-core/{templates → system/templates}/project-state.json +0 -0
  224. /package/dist/payload/yaaw-core/{templates → system/templates}/spec.md +0 -0
  225. /package/dist/payload/yaaw-core/{templates → system/templates}/ticket.md +0 -0
  226. /package/dist/payload/yaaw-core/{workflows → system/workflows}/implementation/select-ticket.md +0 -0
  227. /package/dist/payload/yaaw-core/{workflows → system/workflows}/planning/create-spec.md +0 -0
  228. /package/dist/payload/yaaw-core/{workflows → system/workflows}/review/classify-findings.md +0 -0
package/README.md CHANGED
@@ -1,171 +1,135 @@
1
1
  # YAAW-SE
2
2
 
3
- YAAW-SE is an artifact-first autonomous software-engineering workflow with durable project memory and thin coding-tool entrypoints.
3
+ **Autonomous software engineering with durable context.**
4
4
 
5
- > **Agents are disposable. Artifacts are durable.**
6
-
7
- ## Install into any project
5
+ YAAW-SE turns an idea or change request into planned, implemented, independently reviewed work without making every new AI session start from zero.
8
6
 
9
- ```bash
10
- cd my-project
11
- npx yaaw-se install
12
- ```
7
+ > **Agents are disposable. Artifacts are durable.**
13
8
 
14
- The installer defaults to the current directory, lets you select coding tools and public skill entrypoints, previews filesystem changes, and keeps every permanent write inside the selected project.
9
+ YAAW keeps product decisions, engineering decisions, specs, tickets, reviews, and evidence in the project so the workflow can reconstruct what is true and continue from there.
15
10
 
16
- Tier-1 integrations:
11
+ ## Start Building
17
12
 
18
- - Codex
19
- - Claude Code
20
- - Gemini CLI
21
- - Cline
13
+ **Prerequisite:** Node.js 20.12+
22
14
 
23
- Headless example:
15
+ Run YAAW-SE inside your project:
24
16
 
25
17
  ```bash
26
- npx yaaw-se install --directory . --tools codex,claude-code --skills standard --yes
27
- ```
28
-
29
- Preview without writing:
30
-
31
- ```bash
32
- npx yaaw-se install --tools codex --dry-run
18
+ npx yaaw-se install
33
19
  ```
34
20
 
35
- ## What gets installed
36
-
37
- A consuming project has exactly one canonical YAAW root:
21
+ Choose the AI coding tools you want to use, finish the installer, then open your project in one of them and invoke:
38
22
 
39
23
  ```text
40
- .yaaw-core/
41
- ├── core/ package-managed workflow contracts
42
- ├── roles/
43
- ├── workflows/
44
- ├── expertise/
45
- ├── rules/
46
- ├── registries/
47
- ├── schemas/
48
- ├── templates/
49
- ├── tools/ package-managed integrity/repository utilities
50
- ├── project/ durable project-owned YAAW memory
51
- │ ├── product.md
52
- │ ├── engineering.md
53
- │ ├── state.json
54
- │ ├── research/ admitted Planner research (RSH-*)
55
- │ ├── specs/
56
- │ ├── tickets/
57
- │ ├── reviews/
58
- │ ├── evidence/
59
- │ └── rules/
60
- ├── runtime/ replaceable coordination state
61
- └── install/ installer metadata
24
+ yaaw-orchestrator
62
25
  ```
63
26
 
64
- Selected coding tools receive only adapters:
27
+ The Orchestrator inspects the project, determines what is missing or ready, and routes the next valid workflow. Under Codex, orchestrated PRD/Planner/Implementer/Reviewer work runs in fresh authority-worker contexts when the host supports it; durable artifacts remain the source of truth.
65
28
 
66
- ```text
67
- .agents/skills/yaaw-*/ Codex
68
- .claude/skills/yaaw-*/ Claude Code
69
- .gemini/skills/yaaw-*/ Gemini CLI
70
- .cline/skills/yaaw-*/ Cline
71
- ```
29
+ You can start with only an idea, an existing codebase, a partially planned feature, or work already in progress.
72
30
 
73
- Codex, Claude Code, and Gemini receive a small managed block in their project instruction file. Cline receives the namespaced `.cline/rules/yaaw-se.md`. Provider folders never contain a second YAAW workflow engine.
31
+ ## Why YAAW?
74
32
 
75
- ## Public YAAW entrypoints
33
+ AI coding tools are good at producing code, but long-running software work needs more than a conversation history.
76
34
 
77
- Smart entrypoints:
35
+ - **Autonomous continuity** — YAAW reconstructs project state and decides what workflow should happen next.
36
+ - **Durable context** — Product and engineering decisions survive new chats, new agents, and interrupted sessions.
37
+ - **Artifact-first development** — PRDs, specs, tickets, reviews, and evidence become the source of truth.
38
+ - **Independent review** — Implementation does not approve itself; review is a separate authority.
39
+ - **Repository-aware planning** — Engineering work is grounded in the actual codebase instead of invented assumptions.
40
+ - **One workflow from idea to reviewed code** — Plan, implement, review, repair, and continue without manually rebuilding context.
78
41
 
79
- - `@yaaw-orchestrator` — reconstruct project reality and choose the next valid workflow.
80
- - `@yaaw-prd` — create/continue product definition.
81
- - `@yaaw-planner` — continue repository-backed engineering planning.
82
- - `@yaaw-implement` — implement one admitted ticket.
83
- - `@yaaw-review` — independently review current work.
42
+ ## How It Flows
43
+
44
+ ```text
45
+ Idea / Change
46
+ ↓
47
+ PRD
48
+ ↓
49
+ Engineering Plan
50
+ ↓
51
+ Spec + Tickets
52
+ ↓
53
+ Implementation
54
+ ↓
55
+ Independent Review
56
+ ↙ ↓ ↘
57
+ Repair Replan Pass
58
+ \ | /
59
+ Continue
60
+ ```
84
61
 
85
- Direct shortcuts:
62
+ You do not need to manually run every stage. In normal use, `yaaw-orchestrator` is the main entrypoint and routes work based on the artifacts already present.
86
63
 
87
- - `@yaaw-revise-prd`
88
- - `@yaaw-refine-prd`
89
- - `@yaaw-planning-review`
90
- - `@yaaw-create-spec`
91
- - `@yaaw-create-ticket`
92
- - `@yaaw-create-tickets`
93
- - `@yaaw-repair`
64
+ ## Supported AI Coding Tools
94
65
 
95
- The Standard profile exposes all public entrypoints. Core exposes the five smart entrypoints. Custom changes only which shortcuts a coding tool discovers; it never removes canonical workflows from `.yaaw-core`.
66
+ | Tool | Support |
67
+ | --- | --- |
68
+ | OpenAI Codex | Supported |
69
+ | Claude Code | Supported |
70
+ | Gemini CLI | Supported |
71
+ | Cline | Supported |
96
72
 
97
- ## Update, modify, repair
73
+ Multiple tools can be installed into the same project. They share the same YAAW project memory instead of maintaining separate workflow state.
98
74
 
99
- Rerun the installer:
75
+ ## Useful Entry Points
100
76
 
101
- ```bash
102
- npx yaaw-se install
103
- ```
77
+ Most users can stay with `yaaw-orchestrator`.
104
78
 
105
- Existing installations offer Quick Update, Modify Installation, Repair Installation, or safe Uninstall.
79
+ | Skill | Use it when |
80
+ | --- | --- |
81
+ | `yaaw-orchestrator` | You want YAAW to inspect the project and continue the workflow |
82
+ | `yaaw-prd` | You want to work directly on product definition |
83
+ | `yaaw-planner` | You want to work directly on engineering planning |
84
+ | `yaaw-implement` | You want to implement an admitted ticket |
85
+ | `yaaw-review` | You want to independently review current work |
106
86
 
107
- Headless examples:
87
+ The installer can also expose direct shortcuts for revising PRDs, creating specs or tickets, repair work, and planning review.
108
88
 
109
- ```bash
110
- npx yaaw-se install --action quick-update --yes
111
- npx yaaw-se install --action modify --tools codex,gemini-cli --skills core --yes
112
- npx yaaw-se doctor --repair
113
- ```
89
+ ## Project Memory
114
90
 
115
- Managed files are hashed. Normal headless updates fail closed when package-managed files were modified locally. `--force-managed` remains a legacy shorthand for replacement, but incident recovery should prefer:
91
+ YAAW stores its project-local state under:
116
92
 
117
- ```bash
118
- npx yaaw-se install --action repair --conflict-policy backup-replace --yes
93
+ ```text
94
+ .yaaw-core/
119
95
  ```
120
96
 
121
- `backup-replace` copies modified package-managed bytes under `.yaaw-core/install/backups/<timestamp>/...` before restoring the package version. Update/modify/repair also invalidate replaceable `.yaaw-core/runtime/` handoff/observation/intent caches. None of these options authorize overwriting `.yaaw-core/project/**`.
97
+ That includes both the YAAW system and the durable project artifacts it creates. Package updates are designed to refresh the system without replacing your project memory.
122
98
 
123
- Safe uninstall removes package-managed framework files and adapters but preserves durable `.yaaw-core/project` data.
99
+ ## Manage an Installation
124
100
 
125
- ## Diagnostics
101
+ Check an installation or configure a provider:
126
102
 
127
103
  ```bash
128
104
  npx yaaw-se status
129
105
  npx yaaw-se doctor
106
+ npx yaaw-se config
107
+ npx yaaw-se config codex
130
108
  ```
131
109
 
132
- `status` reports installation health, managed-file drift, and a dedicated framework-integrity status. `doctor` performs read-only checks for manifest integrity, package framework drift/local overrides, legacy parallel `.yaaw-core/system` layout, path ownership, missing/modified managed files, and the one-root path registry.
133
-
134
- During consumer execution, package-managed framework files are immutable. Orchestrator checks framework integrity before semantic reconciliation or dispatch. If framework bytes/layout are untrusted it stops and requests installer repair; it never edits YAAW's governing contracts to unblock itself.
110
+ When installed globally, both `yaaw` and the backward-compatible `yaaw-se` binary are available. Provider configuration is project-local. YAAW may learn about newer provider/model capabilities during a framework update, but it preserves the project's current model/runtime policy until you explicitly reconfigure it.
135
111
 
136
- ## Architecture
112
+ Run the installer again to update, change integrations, repair, or safely uninstall YAAW-SE.
137
113
 
138
- Each execution composes **Role** (authority) + **Workflow** (process) + applicable **Shared Rules** + relevant **Expertise**. Shared rules and expertise never grant authority.
114
+ Package-managed `.yaaw-core/system/**` is immutable during normal YAAW execution. If Orchestrator detects framework drift, it stops before routing semantic work instead of editing its own governing contracts.
139
115
 
140
- The npm installer owns distribution mechanics. The YAAW Orchestrator owns semantic lifecycle continuity. Neither is a second implementation of the other.
116
+ For an installation whose managed framework files were modified, use backup-and-replace repair:
141
117
 
142
- See:
143
-
144
- - `docs/distribution.md`
145
- - `docs/integrations.md`
146
- - `docs/releasing.md`
118
+ ```bash
119
+ npx yaaw-se install --action repair --conflict-policy backup-replace --yes
120
+ ```
147
121
 
148
- ## Development
122
+ Modified package bytes are preserved under `.yaaw-core/install/backups/<timestamp>/...` before the package version is restored. Durable `.yaaw-core/project/**` remains untouched, while replaceable runtime handoff/observation/intent caches are regenerated after the framework basis changes.
149
123
 
150
- Python still validates the canonical semantic engine during the migration period. The published npm package does not require Python.
124
+ To explicitly use the latest published version:
151
125
 
152
126
  ```bash
153
- python scripts/validate_core.py
154
- python scripts/validate_behavior.py
155
- python scripts/behavior_oracle.py
156
- python scripts/validate_distribution.py
157
- python -m unittest discover -s tests -v
158
-
159
- npm ci
160
- npm test
161
- npm run build
162
- npm pack --dry-run
127
+ npx yaaw-se@latest install
163
128
  ```
164
129
 
165
- The dependency graph is committed in `package-lock.json`; CI and release verification use `npm ci`. The first npm release is intentionally published manually.
166
-
167
- ## Deterministic runtime context
168
-
169
- YAAW distinguishes the consumer **workspace root** from `.yaaw-core/project/`, the durable **project memory root**. Repository commands are rooted explicitly at the workspace rather than inheriting a provider shell CWD. Product work can continue in an unversioned greenfield directory; workflows that create/review executable code require exact repository identity.
130
+ ## More
170
131
 
171
- Planning uses progressive disclosure: routers select one canonical workflow before loading its body/templates/expertise. Vendor-specific research or host skills require an explicit repository/product/engineering/current-candidate basis and material blocking research is stored under `.yaaw-core/project/research/`.
132
+ - [Distribution and update behavior](docs/distribution.md)
133
+ - [Coding-tool integrations](docs/integrations.md)
134
+ - [Codex isolated-worker runtime](docs/codex-runtime.md)
135
+ - [Report a bug or request a feature](https://github.com/QuackyPROG/yaaw-SE/issues)
@@ -0,0 +1,50 @@
1
+ import type { IntegrationConfigurationProfile, IntegrationId } from "../../integrations/types.js";
2
+ import type { ConflictPolicy } from "../../installer/types.js";
3
+ export interface ConfigCommandOptions {
4
+ directory?: string;
5
+ yes?: boolean;
6
+ json?: boolean;
7
+ config?: string;
8
+ conflictPolicy?: ConflictPolicy;
9
+ }
10
+ export declare function configureProjectIntegration(input: {
11
+ projectRoot: string;
12
+ integrationId: IntegrationId;
13
+ reason: "manual" | "update";
14
+ interactive: boolean;
15
+ configPath?: string;
16
+ conflictPolicy?: ConflictPolicy;
17
+ showIntro?: boolean;
18
+ }): Promise<{
19
+ cancelled: boolean;
20
+ ok?: undefined;
21
+ integrationId?: undefined;
22
+ changed?: undefined;
23
+ revision?: undefined;
24
+ profile?: undefined;
25
+ } | {
26
+ cancelled?: undefined;
27
+ ok: boolean;
28
+ integrationId: IntegrationId;
29
+ changed: string[];
30
+ revision: number;
31
+ profile: IntegrationConfigurationProfile | null;
32
+ }>;
33
+ export declare function runConfig(integration: string | undefined, options?: ConfigCommandOptions): Promise<{
34
+ cancelled: boolean;
35
+ ok?: undefined;
36
+ integrationId?: undefined;
37
+ changed?: undefined;
38
+ revision?: undefined;
39
+ profile?: undefined;
40
+ } | {
41
+ cancelled?: undefined;
42
+ ok: boolean;
43
+ integrationId: IntegrationId;
44
+ changed: string[];
45
+ revision: number;
46
+ profile: IntegrationConfigurationProfile | null;
47
+ } | {
48
+ ok: boolean;
49
+ message: string;
50
+ } | undefined>;
@@ -0,0 +1,219 @@
1
+ import * as p from "@clack/prompts";
2
+ import { readFile } from "node:fs/promises";
3
+ import { join, resolve } from "node:path";
4
+ import { detectExistingInstallation } from "../../installer/detect.js";
5
+ import { resolveProjectRoot } from "../../installer/boundary.js";
6
+ import { payloadRoot as getPayloadRoot } from "../../installer/context.js";
7
+ import { MANIFEST_RELATIVE_PATH, serializeManifest } from "../../installer/manifest.js";
8
+ import { buildConfigurationPlan, configurationStateFor } from "../../installer/configuration.js";
9
+ import { ManagedConflictError } from "../../installer/plan.js";
10
+ import { migrateInstallationManifest } from "../../installer/migrations/installation/index.js";
11
+ import { executePlan, preflightPlan } from "../../installer/transaction.js";
12
+ import { configurableIntegrations, getIntegration, resolveIntegrationId } from "../../integrations/registry.js";
13
+ import { configureIntegration } from "../../tui/configure-integration.js";
14
+ import { confirmConfiguration } from "../../tui/confirm-configuration.js";
15
+ export async function configureProjectIntegration(input) {
16
+ const existing = await detectExistingInstallation(input.projectRoot);
17
+ if (existing.kind !== "valid" || !existing.manifest)
18
+ throw new Error("YAAW-SE is not installed in this project.");
19
+ const manifest = migrateInstallationManifest(existing.manifest);
20
+ const record = manifest.integrations[input.integrationId];
21
+ if (!record)
22
+ throw new Error(`${getIntegration(input.integrationId).displayName} is not installed in this project.`);
23
+ const adapter = getIntegration(input.integrationId);
24
+ const capability = adapter.configuration;
25
+ if (!capability)
26
+ throw new Error(`${adapter.displayName} is installed but does not expose YAAW configuration yet.`);
27
+ const currentSettings = record.configuration?.settings ?? record.runtime ?? capability.defaultSettings();
28
+ const currentProfile = record.configuration?.profile ?? null;
29
+ const state = configurationStateFor(manifest, input.integrationId);
30
+ const pendingChanges = capability.changes.filter(change => change.revision > (record.configuration?.appliedRevision ?? 0));
31
+ if (input.interactive && input.showIntro !== false) {
32
+ p.intro(`YAAW-SE — ${adapter.displayName} configuration`);
33
+ }
34
+ if (input.interactive && state?.updateAvailable) {
35
+ p.note([
36
+ `Project: ${input.projectRoot}`,
37
+ `Current configuration revision: ${state.appliedRevision}`,
38
+ `Latest supported revision: ${state.availableRevision}`,
39
+ "",
40
+ "New since your current configuration:",
41
+ ...pendingChanges.map(change => ` ${change.title}`)
42
+ ].join("\n"), `${adapter.displayName} configuration`);
43
+ }
44
+ let draftSettings = currentSettings;
45
+ let draftProfile = currentProfile;
46
+ let sessionConflictPolicy = input.conflictPolicy ?? "fail";
47
+ let headlessLoaded = false;
48
+ while (true) {
49
+ if (input.interactive) {
50
+ const selection = await configureIntegration(input.integrationId, draftSettings, {
51
+ reason: input.reason,
52
+ availableRevision: capability.revision,
53
+ pendingChanges,
54
+ currentProfile: draftProfile
55
+ });
56
+ if (selection.cancelled)
57
+ return { cancelled: true };
58
+ draftSettings = selection.settings;
59
+ draftProfile = selection.profile;
60
+ }
61
+ else if (!headlessLoaded) {
62
+ if (!input.configPath)
63
+ throw new Error("Headless configuration requires --config <path>.");
64
+ const parsed = JSON.parse(await readFile(resolve(input.configPath), "utf8"));
65
+ draftSettings = capability.parseHeadless ? capability.parseHeadless(parsed) : capability.normalize(parsed);
66
+ draftProfile = { id: "custom", revision: capability.revision };
67
+ headlessLoaded = true;
68
+ }
69
+ let conflictPolicy = input.conflictPolicy ?? sessionConflictPolicy;
70
+ let built;
71
+ try {
72
+ built = await buildConfigurationPlan({
73
+ projectRoot: input.projectRoot,
74
+ payloadRoot: getPayloadRoot(),
75
+ integrationId: input.integrationId,
76
+ settings: draftSettings,
77
+ profile: draftProfile,
78
+ conflictPolicy,
79
+ manifest
80
+ });
81
+ }
82
+ catch (error) {
83
+ if (!(error instanceof ManagedConflictError) || !input.interactive || input.conflictPolicy)
84
+ throw error;
85
+ p.note(error.conflicts.join("\n"), `Modified YAAW-managed ${adapter.displayName} configuration found`);
86
+ const selected = await p.select({
87
+ message: "How should this change be handled?",
88
+ initialValue: sessionConflictPolicy === "fail" ? "keep" : sessionConflictPolicy,
89
+ options: [
90
+ { value: "keep", label: "Keep local value" },
91
+ { value: "replace", label: "Replace with selected YAAW configuration" },
92
+ { value: "backup-replace", label: "Backup local configuration and replace" },
93
+ { value: "fail", label: "Cancel" }
94
+ ]
95
+ });
96
+ if (p.isCancel(selected) || selected === "fail")
97
+ return { cancelled: true };
98
+ conflictPolicy = selected;
99
+ sessionConflictPolicy = conflictPolicy;
100
+ built = await buildConfigurationPlan({
101
+ projectRoot: input.projectRoot,
102
+ payloadRoot: getPayloadRoot(),
103
+ integrationId: input.integrationId,
104
+ settings: draftSettings,
105
+ profile: draftProfile,
106
+ conflictPolicy,
107
+ manifest
108
+ });
109
+ }
110
+ await preflightPlan(built.plan);
111
+ if (input.interactive) {
112
+ const confirmation = await confirmConfiguration({
113
+ projectRoot: input.projectRoot,
114
+ integrationId: input.integrationId,
115
+ currentSettings,
116
+ newSettings: draftSettings,
117
+ currentProfile,
118
+ newProfile: draftProfile
119
+ });
120
+ if (confirmation === "cancel")
121
+ return { cancelled: true };
122
+ if (confirmation === "back")
123
+ continue;
124
+ }
125
+ const manifestPath = join(input.projectRoot, MANIFEST_RELATIVE_PATH);
126
+ const changed = await executePlan(built.plan, {
127
+ manifestPath,
128
+ manifestContent: serializeManifest(built.manifest),
129
+ beforeManifest: async () => {
130
+ const verification = await capability.verify?.({
131
+ projectRoot: input.projectRoot,
132
+ payloadRoot: getPayloadRoot(),
133
+ settings: draftSettings
134
+ });
135
+ if (verification && !verification.healthy) {
136
+ throw new Error(`${adapter.displayName} configuration verification failed: ${verification.issues.join("; ")}`);
137
+ }
138
+ }
139
+ });
140
+ if (input.interactive) {
141
+ p.note([
142
+ `Project: ${input.projectRoot}`,
143
+ `Profile: ${draftProfile?.id ?? "custom"}`,
144
+ `Configuration revision: ${capability.revision}`,
145
+ "",
146
+ "Preserved:",
147
+ " user-owned provider settings",
148
+ " unrelated integrations",
149
+ " durable project memory",
150
+ ...(input.integrationId === "codex" ? ["", "Start a new Codex session/task for project settings to reload."] : [])
151
+ ].join("\n"), `${adapter.displayName} configuration updated`);
152
+ }
153
+ return {
154
+ ok: true,
155
+ integrationId: input.integrationId,
156
+ changed,
157
+ revision: capability.revision,
158
+ profile: draftProfile
159
+ };
160
+ }
161
+ }
162
+ export async function runConfig(integration, options = {}) {
163
+ const allowedConflictPolicies = new Set(["fail", "keep", "replace", "backup-replace"]);
164
+ if (options.conflictPolicy && !allowedConflictPolicies.has(options.conflictPolicy)) {
165
+ throw new Error(`Unknown conflict policy: ${options.conflictPolicy}`);
166
+ }
167
+ const interactive = !options.yes;
168
+ const projectRoot = await resolveProjectRoot(options.directory ?? process.cwd());
169
+ const existing = await detectExistingInstallation(projectRoot);
170
+ if (existing.kind !== "valid" || !existing.manifest)
171
+ throw new Error("YAAW-SE is not installed in this project.");
172
+ const manifest = migrateInstallationManifest(existing.manifest);
173
+ let integrationId;
174
+ if (integration)
175
+ integrationId = resolveIntegrationId(integration);
176
+ else {
177
+ const configurable = configurableIntegrations(Object.keys(manifest.integrations));
178
+ if (!configurable.length) {
179
+ const message = "No configurable YAAW integrations are installed in this project. Use: yaaw install";
180
+ if (options.json)
181
+ console.log(JSON.stringify({ ok: false, message }));
182
+ else
183
+ console.log(message);
184
+ return { ok: false, message };
185
+ }
186
+ if (configurable.length === 1)
187
+ integrationId = configurable[0].id;
188
+ else {
189
+ if (!interactive)
190
+ throw new Error("Headless yaaw config requires an integration argument.");
191
+ p.intro("YAAW-SE — Project configuration");
192
+ const selected = await p.select({
193
+ message: "Which integration would you like to configure?",
194
+ options: configurable.map(adapter => ({ value: adapter.id, label: adapter.displayName }))
195
+ });
196
+ if (p.isCancel(selected))
197
+ return;
198
+ integrationId = selected;
199
+ }
200
+ }
201
+ if (!manifest.integrations[integrationId]) {
202
+ throw new Error(`${getIntegration(integrationId).displayName} is not installed in this project. Use yaaw install to modify integrations.`);
203
+ }
204
+ const result = await configureProjectIntegration({
205
+ projectRoot,
206
+ integrationId,
207
+ reason: "manual",
208
+ interactive,
209
+ configPath: options.config,
210
+ conflictPolicy: options.conflictPolicy,
211
+ showIntro: true
212
+ });
213
+ if (options.json)
214
+ console.log(JSON.stringify(result, null, 2));
215
+ else if (interactive && result && !("cancelled" in result))
216
+ p.outro("Configuration updated and verified.");
217
+ return result;
218
+ }
219
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGhH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI1E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAQjD;IACC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAClH,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,oCAAoC,CAAC,CAAC;IACrH,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,2DAA2D,CAAC,CAAC;IAEpH,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;IACzG,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,OAAO,IAAI,IAAI,CAAC;IAC7D,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3H,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,WAAW,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,EAAE,eAAe,EAAE,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC;YACL,YAAY,KAAK,CAAC,WAAW,EAAE;YAC/B,mCAAmC,KAAK,CAAC,eAAe,EAAE;YAC1D,8BAA8B,KAAK,CAAC,iBAAiB,EAAE;YACvD,EAAE;YACF,uCAAuC;YACvC,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;SACrD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,aAAa,GAAY,eAAe,CAAC;IAC7C,IAAI,YAAY,GAA2C,cAAc,CAAC;IAC1E,IAAI,qBAAqB,GAAmB,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC;IAC3E,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,EAAE;gBAC/E,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,iBAAiB,EAAE,UAAU,CAAC,QAAQ;gBACtC,cAAc;gBACd,cAAc,EAAE,YAAY;aAC7B,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,SAAS;gBAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACpD,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7E,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3G,YAAY,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/D,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,qBAAqB,CAAC;QACnE,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,sBAAsB,CAAC;gBACnC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,cAAc,EAAE;gBAC7B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,YAAY;gBACrB,cAAc;gBACd,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,cAAc;gBAAE,MAAM,KAAK,CAAC;YACxG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,yBAAyB,OAAO,CAAC,WAAW,sBAAsB,CAAC,CAAC;YACvG,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;gBAC9B,OAAO,EAAE,oCAAoC;gBAC7C,YAAY,EAAE,qBAAqB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB;gBAC/E,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE;oBAC5C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,0CAA0C,EAAE;oBACvE,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,wCAAwC,EAAE;oBAC5E,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACnC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,MAAM;gBAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC5E,cAAc,GAAG,QAA0B,CAAC;YAC5C,qBAAqB,GAAG,cAAc,CAAC;YACvC,KAAK,GAAG,MAAM,sBAAsB,CAAC;gBACnC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,cAAc,EAAE;gBAC7B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,YAAY;gBACrB,cAAc;gBACd,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC;gBAC9C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,eAAe;gBACf,WAAW,EAAE,aAAa;gBAC1B,cAAc;gBACd,UAAU,EAAE,YAAY;aACzB,CAAC,CAAC;YACH,IAAI,YAAY,KAAK,QAAQ;gBAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC1D,IAAI,YAAY,KAAK,MAAM;gBAAE,SAAS;QACxC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;YAC5C,YAAY;YACZ,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAClD,cAAc,EAAE,KAAK,IAAI,EAAE;gBACzB,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC7C,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,WAAW,EAAE,cAAc,EAAE;oBAC7B,QAAQ,EAAE,aAAa;iBACxB,CAAC,CAAC;gBACH,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,uCAAuC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;SACK,CAAC,CAAC;QAEV,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC;gBACL,YAAY,KAAK,CAAC,WAAW,EAAE;gBAC/B,YAAY,YAAY,EAAE,EAAE,IAAI,QAAQ,EAAE;gBAC1C,2BAA2B,UAAU,CAAC,QAAQ,EAAE;gBAChD,EAAE;gBACF,YAAY;gBACZ,gCAAgC;gBAChC,0BAA0B;gBAC1B,0BAA0B;gBAC1B,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,gEAAgE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnH,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,wBAAwB,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI;YACR,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,OAAO;YACP,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,WAA+B,EAAE,OAAO,GAAyB,EAAE;IACjG,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvG,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAClH,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhE,IAAI,aAA4B,CAAC;IACjC,IAAI,WAAW;QAAE,aAAa,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;SAC9D,CAAC;QACJ,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,oFAAoF,CAAC;YACrG,IAAI,OAAO,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;;gBAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,CAAC;YACJ,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5F,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;gBAC9B,OAAO,EAAE,gDAAgD;gBACzD,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;aAC1F,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACjC,aAAa,GAAG,QAAyB,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,6EAA6E,CAAC,CAAC;IAC7I,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC;QAC/C,WAAW;QACX,aAAa;QACb,MAAM,EAAE,QAAQ;QAChB,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAC1D,IAAI,WAAW,IAAI,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC;QAAE,CAAC,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3G,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -11,6 +11,14 @@ export interface InstallCommandOptions {
11
11
  listSkills?: boolean;
12
12
  forceManaged?: boolean;
13
13
  conflictPolicy?: ConflictPolicy;
14
+ codexRuntime?: string;
15
+ codexRootModel?: string;
16
+ codexRootReasoning?: string;
17
+ codexWorkerModel?: string;
18
+ codexWorkerReasoning?: string;
19
+ codexMaxAgents?: string;
20
+ codexServiceTier?: string;
21
+ codexConfig?: string;
14
22
  json?: boolean;
15
23
  }
16
24
  export declare function runInstall(options?: InstallCommandOptions): Promise<string[] | {
@@ -19,6 +27,8 @@ export declare function runInstall(options?: InstallCommandOptions): Promise<str
19
27
  selectedIntegrations: IntegrationId[];
20
28
  selectedSkills: string[];
21
29
  warnings: string[];
30
+ configurationSummaries?: import("../../installer/types.js").ConfigurationSummary[];
31
+ configurationUpdates?: import("../../installer/types.js").ConfigurationUpdate[];
22
32
  operations: any[];
23
33
  } | {
24
34
  action: "fresh" | "modify" | "quick-update" | "repair";
@@ -37,4 +47,5 @@ export declare function runInstall(options?: InstallCommandOptions): Promise<str
37
47
  tools: IntegrationId[];
38
48
  skills: string[];
39
49
  changed: string[];
50
+ configurationUpdates: import("../../installer/types.js").ConfigurationUpdate[];
40
51
  } | undefined>;