@open-agent-toolkit/cli 0.2.14 → 0.2.16
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/assets/docs/cli-utilities/config-and-local-state.md +14 -1
- package/assets/docs/cli-utilities/configuration.md +23 -2
- package/assets/docs/cli-utilities/tool-packs.md +43 -17
- package/assets/docs/provider-sync/providers.md +26 -0
- package/assets/docs/reference/troubleshooting.md +42 -0
- package/assets/docs/workflows/projects/lifecycle.md +2 -2
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-agent-instructions-analyze/SKILL.md +2 -2
- package/assets/skills/oat-brainstorm/SKILL.md +8 -8
- package/assets/skills/oat-brainstorm/references/destinations.md +3 -3
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +2 -2
- package/assets/skills/oat-project-document/SKILL.md +4 -4
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +2 -2
- package/assets/skills/oat-project-summary/SKILL.md +9 -9
- package/dist/app/global-cli-installer.d.ts +2 -1
- package/dist/app/global-cli-installer.d.ts.map +1 -1
- package/dist/app/global-cli-installer.js +68 -8
- package/dist/app/tool-bundle-update-guard.d.ts.map +1 -1
- package/dist/app/tool-bundle-update-guard.js +2 -2
- package/dist/commands/init/tools/brainstorm/index.d.ts +0 -3
- package/dist/commands/init/tools/brainstorm/index.d.ts.map +1 -1
- package/dist/commands/init/tools/brainstorm/index.js +0 -12
- package/dist/commands/init/tools/index.d.ts.map +1 -1
- package/dist/commands/init/tools/index.js +46 -25
- package/dist/commands/tools/has/has-pack.d.ts +18 -0
- package/dist/commands/tools/has/has-pack.d.ts.map +1 -0
- package/dist/commands/tools/has/has-pack.js +33 -0
- package/dist/commands/tools/has/index.d.ts +4 -0
- package/dist/commands/tools/has/index.d.ts.map +1 -0
- package/dist/commands/tools/has/index.js +57 -0
- package/dist/commands/tools/index.d.ts.map +1 -1
- package/dist/commands/tools/index.js +2 -0
- package/dist/commands/tools/remove/index.d.ts.map +1 -1
- package/dist/commands/tools/remove/index.js +10 -20
- package/dist/commands/tools/shared/project-tools-config.d.ts +16 -0
- package/dist/commands/tools/shared/project-tools-config.d.ts.map +1 -0
- package/dist/commands/tools/shared/project-tools-config.js +59 -0
- package/dist/commands/tools/update/index.d.ts.map +1 -1
- package/dist/commands/tools/update/index.js +11 -22
- package/dist/engine/compute-plan.d.ts.map +1 -1
- package/dist/engine/compute-plan.js +8 -2
- package/dist/engine/execute-plan.d.ts +5 -1
- package/dist/engine/execute-plan.d.ts.map +1 -1
- package/dist/engine/execute-plan.js +23 -1
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -0
- package/dist/engine/provider-path-safety.d.ts +2 -0
- package/dist/engine/provider-path-safety.d.ts.map +1 -0
- package/dist/engine/provider-path-safety.js +54 -0
- package/package.json +2 -2
|
@@ -239,9 +239,9 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
239
239
|
| `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
240
240
|
| `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
|
|
241
241
|
| `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `a80a948df658 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07` |
|
|
242
|
-
| `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `
|
|
242
|
+
| `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `3f9b0273ba77 -> NG`; `40f8be47affa -> NG`; `3a3c390528f3 -> DOCUMENT-03`; `2a7ba093b315 -> DOCUMENT-02`; `252aabe44db2 -> DOCUMENT-02`; `3751172de299 -> DOCUMENT-02`; `b987a0697ba9 -> DOCUMENT-01`; `a06ff3ca7926 -> NG`; `0d04714ca9fc -> NG`; `f79af01d94c6 -> DOCUMENT-02`; `71634113c348 -> DOCUMENT-02`; `cdb707f5081e -> NG` |
|
|
243
243
|
| `oat-project-document/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
244
|
-
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `
|
|
244
|
+
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `8ff515033147 -> NG`; `ac36f854dd6b -> NG`; `f3e49b727752 -> NG`; `5f315ab87cb1 -> NG`; `e73bd88837ea -> NG`; `83257ff6cb68 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
|
|
245
245
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
246
246
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
247
247
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
|
|
@@ -239,9 +239,9 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
239
239
|
| `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
240
240
|
| `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
|
|
241
241
|
| `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `a80a948df658 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07` |
|
|
242
|
-
| `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `
|
|
242
|
+
| `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `3f9b0273ba77 -> NG`; `40f8be47affa -> NG`; `3a3c390528f3 -> DOCUMENT-03`; `2a7ba093b315 -> DOCUMENT-02`; `252aabe44db2 -> DOCUMENT-02`; `3751172de299 -> DOCUMENT-02`; `b987a0697ba9 -> DOCUMENT-01`; `a06ff3ca7926 -> NG`; `0d04714ca9fc -> NG`; `f79af01d94c6 -> DOCUMENT-02`; `71634113c348 -> DOCUMENT-02`; `cdb707f5081e -> NG` |
|
|
243
243
|
| `oat-project-document/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
244
|
-
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `
|
|
244
|
+
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `8ff515033147 -> NG`; `ac36f854dd6b -> NG`; `f3e49b727752 -> NG`; `5f315ab87cb1 -> NG`; `e73bd88837ea -> NG`; `83257ff6cb68 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
|
|
245
245
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
246
246
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
247
247
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
|
|
@@ -239,9 +239,9 @@ remains immutable baseline evidence for the original p01-t01 verification.
|
|
|
239
239
|
| `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
240
240
|
| `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
|
|
241
241
|
| `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `a80a948df658 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07` |
|
|
242
|
-
| `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `
|
|
242
|
+
| `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `3f9b0273ba77 -> NG`; `40f8be47affa -> NG`; `3a3c390528f3 -> DOCUMENT-03`; `2a7ba093b315 -> DOCUMENT-02`; `252aabe44db2 -> DOCUMENT-02`; `3751172de299 -> DOCUMENT-02`; `b987a0697ba9 -> DOCUMENT-01`; `a06ff3ca7926 -> NG`; `0d04714ca9fc -> NG`; `f79af01d94c6 -> DOCUMENT-02`; `71634113c348 -> DOCUMENT-02`; `cdb707f5081e -> NG` |
|
|
243
243
|
| `oat-project-document/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
244
|
-
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `
|
|
244
|
+
| `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `8ff515033147 -> NG`; `ac36f854dd6b -> NG`; `f3e49b727752 -> NG`; `5f315ab87cb1 -> NG`; `e73bd88837ea -> NG`; `83257ff6cb68 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
|
|
245
245
|
| `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
|
|
246
246
|
| `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
|
|
247
247
|
| `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-summary
|
|
3
|
-
version: 1.3.
|
|
3
|
+
version: 1.3.5
|
|
4
4
|
description: Use when the user requests or confirms summarizing an active OAT project — e.g. "summarize the project", "generate the summary", "run oat-project-summary", or confirms a previously offered summary run. Do NOT auto-invoke when implementation completes. Generates summary.md from project artifacts as institutional memory.
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
user-invocable: true
|
|
7
|
-
allowed-tools: Read, Write, Bash(git:*), Bash(oat config:*), Bash(oat decision:*), Bash(oat project log:*), Glob, Grep, AskUserQuestion
|
|
7
|
+
allowed-tools: Read, Write, Bash(git:*), Bash(oat config:*), Bash(oat decision:*), Bash(oat project log:*), Bash(oat tools:*), Glob, Grep, AskUserQuestion
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Project Summary
|
|
@@ -40,7 +40,7 @@ When executing this skill, provide lightweight progress feedback so the user can
|
|
|
40
40
|
- `[2/6] Checking project log + existing summary…`
|
|
41
41
|
- `[3/6] Generating / updating summary sections…`
|
|
42
42
|
- `[4/6] Rolling up project observations…`
|
|
43
|
-
- `[5/6] Promoting key decisions to reference/decisions/ (if PJM
|
|
43
|
+
- `[5/6] Promoting key decisions to reference/decisions/ (if PJM is available)…`
|
|
44
44
|
- `[6/6] Committing…`
|
|
45
45
|
|
|
46
46
|
**BLOCKED Activities:**
|
|
@@ -59,7 +59,7 @@ When executing this skill, provide lightweight progress feedback so the user can
|
|
|
59
59
|
- ✅ Offering follow-up-marked project-log entries to
|
|
60
60
|
`oat-pjm-add-backlog-item`
|
|
61
61
|
- ✅ Committing summary.md changes
|
|
62
|
-
- ✅ Promoting the summary's Key Decisions into canonical `reference/decisions/` records via `oat decision new` (Step 7), gated on the PJM tool pack being
|
|
62
|
+
- ✅ Promoting the summary's Key Decisions into canonical `reference/decisions/` records via `oat decision new` (Step 7), gated on the PJM tool pack being available
|
|
63
63
|
|
|
64
64
|
**Self-Correction Protocol:**
|
|
65
65
|
If you catch yourself:
|
|
@@ -360,10 +360,10 @@ append-based `project` → `general` promotion in Step 2.5.
|
|
|
360
360
|
|
|
361
361
|
Run this step **after** `summary.md` (including its `## Key Decisions` section) has been written/refreshed and its frontmatter updated. It promotes the project's Key Decisions out of per-project prose and into the canonical, repo-wide `reference/decisions/` log so they stop being siloed in `summary.md`. This step is **additive and non-interactive** — it never prompts.
|
|
362
362
|
|
|
363
|
-
**7.1 — PJM gate (auto, no prompt).** Check whether the PJM tool pack is
|
|
363
|
+
**7.1 — PJM gate (auto, no prompt).** Check whether the PJM tool pack is effectively available:
|
|
364
364
|
|
|
365
365
|
```bash
|
|
366
|
-
PJM_ENABLED=$(oat
|
|
366
|
+
PJM_ENABLED=$(oat tools has project-management 2>/dev/null || echo "")
|
|
367
367
|
```
|
|
368
368
|
|
|
369
369
|
- If `PJM_ENABLED` is `true` → perform the promotion automatically. Do NOT ask the user.
|
|
@@ -455,7 +455,7 @@ Summary generated for {project-name}.
|
|
|
455
455
|
Sections: {list of non-empty sections included}
|
|
456
456
|
Lines: {line count}
|
|
457
457
|
Mode: {fresh | incremental update}
|
|
458
|
-
Decisions promoted: {N created, M skipped as already promoted | skipped (PJM
|
|
458
|
+
Decisions promoted: {N created, M skipped as already promoted | skipped (PJM unavailable)}
|
|
459
459
|
|
|
460
460
|
Summary tracks: last task {task_id}, {N} revision phases
|
|
461
461
|
```
|
|
@@ -481,7 +481,7 @@ Summary tracks: last task {task_id}, {N} revision phases
|
|
|
481
481
|
`skipped_permitted` proceeds with a note
|
|
482
482
|
- Follow-up-marked project-log entries use backlog graduation separately from
|
|
483
483
|
ledger graduation
|
|
484
|
-
- When the PJM tool pack is
|
|
485
|
-
- When the PJM tool pack is
|
|
484
|
+
- When the PJM tool pack is available, each Key Decision is promoted to a canonical `reference/decisions/DR-YYMMDD-slug` record via `oat decision new` (status `accepted`), deduped on the date-independent slug so re-runs never create duplicate records
|
|
485
|
+
- When the PJM tool pack is unavailable, decision promotion is skipped silently with no prompt
|
|
486
486
|
- A project-recap attempt appears once in a concise Explainer Outcome section
|
|
487
487
|
sourced from its manifest and build record
|
|
@@ -5,12 +5,13 @@ export interface GlobalCliInstallerOptions {
|
|
|
5
5
|
platform: NodeJS.Platform;
|
|
6
6
|
nodeExecutable: string;
|
|
7
7
|
fileExists: (path: string) => boolean;
|
|
8
|
+
readFile?: (path: string) => string;
|
|
8
9
|
}
|
|
9
10
|
export interface GlobalCliInstallerInvocation {
|
|
10
11
|
file: string;
|
|
11
12
|
args: string[];
|
|
12
13
|
}
|
|
13
14
|
export declare function detectGlobalCliPackageManager(argv: string[], env: NodeJS.ProcessEnv): GlobalCliPackageManager;
|
|
14
|
-
export declare function formatGlobalCliInstallCommand(packageSpec: string, argv: string[], env: NodeJS.ProcessEnv): string;
|
|
15
|
+
export declare function formatGlobalCliInstallCommand(packageSpec: string, argv: string[], env: NodeJS.ProcessEnv, fileExists?: (path: string) => boolean, readFile?: (path: string) => string): string;
|
|
15
16
|
export declare function resolveGlobalCliInstallerInvocation(packageSpec: string, options: GlobalCliInstallerOptions): GlobalCliInstallerInvocation | null;
|
|
16
17
|
//# sourceMappingURL=global-cli-installer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-cli-installer.d.ts","sourceRoot":"","sources":["../../src/app/global-cli-installer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"global-cli-installer.d.ts","sourceRoot":"","sources":["../../src/app/global-cli-installer.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAqCD,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,uBAAuB,CAyBzB;AA6JD,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,UAAU,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAqB,EACnD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAClC,MAAM,CAmBR;AAQD,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,GACjC,4BAA4B,GAAG,IAAI,CAmBrC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { join, win32 } from 'node:path';
|
|
2
3
|
function normalizePathForDetection(path) {
|
|
3
4
|
return path.replaceAll('\\', '/').toLowerCase().replace(/\/+$/, '');
|
|
4
5
|
}
|
|
@@ -39,12 +40,56 @@ export function detectGlobalCliPackageManager(argv, env) {
|
|
|
39
40
|
}
|
|
40
41
|
return 'npm';
|
|
41
42
|
}
|
|
42
|
-
function
|
|
43
|
+
function readPnpmStoreDir(argv, env, fileExists, readFile) {
|
|
44
|
+
const modulesYamlPath = resolvePnpmGlobalModulesYamlPath(argv, env, fileExists);
|
|
45
|
+
if (!modulesYamlPath) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
const match = readFile(modulesYamlPath).match(/^storeDir:\s*(.+)$/m);
|
|
50
|
+
return match?.[1]?.trim() ?? null;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function resolvePnpmGlobalModulesYamlPath(argv, env, fileExists) {
|
|
57
|
+
for (const arg of argv.slice(0, 3)) {
|
|
58
|
+
const normalized = arg.replaceAll('\\', '/');
|
|
59
|
+
const match = normalized.match(/^(.*\/global\/\d+)\//);
|
|
60
|
+
if (match?.[1]) {
|
|
61
|
+
const candidate = `${match[1]}/node_modules/.modules.yaml`;
|
|
62
|
+
if (fileExists(candidate)) {
|
|
63
|
+
return candidate;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const pnpmHome = env.PNPM_HOME?.trim();
|
|
68
|
+
if (pnpmHome) {
|
|
69
|
+
const candidate = join(pnpmHome, 'global', '5', 'node_modules', '.modules.yaml');
|
|
70
|
+
if (fileExists(candidate)) {
|
|
71
|
+
return candidate;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
function resolvePnpmInstallContext(argv, env, fileExists, readFile) {
|
|
77
|
+
const read = readFile ?? ((path) => readFileSync(path, 'utf8'));
|
|
78
|
+
return {
|
|
79
|
+
storeDir: readPnpmStoreDir(argv, env, fileExists, read),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function installArgsForManager(manager, packageSpec, pnpmStoreDir) {
|
|
43
83
|
switch (manager) {
|
|
44
84
|
case 'npm':
|
|
45
85
|
return ['install', '--global', packageSpec];
|
|
46
|
-
case 'pnpm':
|
|
47
|
-
|
|
86
|
+
case 'pnpm': {
|
|
87
|
+
const args = ['add', '-g', packageSpec];
|
|
88
|
+
if (pnpmStoreDir) {
|
|
89
|
+
args.push('--store-dir', pnpmStoreDir);
|
|
90
|
+
}
|
|
91
|
+
return args;
|
|
92
|
+
}
|
|
48
93
|
case 'yarn':
|
|
49
94
|
return ['global', 'add', packageSpec];
|
|
50
95
|
case 'bun':
|
|
@@ -58,6 +103,9 @@ function resolveWindowsManagerInvocation(manager, packageSpec, options) {
|
|
|
58
103
|
if (manager === 'npm') {
|
|
59
104
|
return resolveNpmWindowsInvocation(packageSpec, options);
|
|
60
105
|
}
|
|
106
|
+
const pnpmStoreDir = manager === 'pnpm'
|
|
107
|
+
? resolvePnpmInstallContext(options.argv, options.env, options.fileExists, options.readFile).storeDir
|
|
108
|
+
: null;
|
|
61
109
|
const comspec = options.env.ComSpec?.trim() || 'cmd.exe';
|
|
62
110
|
return {
|
|
63
111
|
file: comspec,
|
|
@@ -66,7 +114,7 @@ function resolveWindowsManagerInvocation(manager, packageSpec, options) {
|
|
|
66
114
|
'/s',
|
|
67
115
|
'/c',
|
|
68
116
|
manager,
|
|
69
|
-
...installArgsForManager(manager, packageSpec),
|
|
117
|
+
...installArgsForManager(manager, packageSpec, pnpmStoreDir),
|
|
70
118
|
],
|
|
71
119
|
};
|
|
72
120
|
}
|
|
@@ -86,26 +134,38 @@ function resolveNpmWindowsInvocation(packageSpec, options) {
|
|
|
86
134
|
args: [npmCliPath, ...npmArgs],
|
|
87
135
|
};
|
|
88
136
|
}
|
|
89
|
-
export function formatGlobalCliInstallCommand(packageSpec, argv, env) {
|
|
137
|
+
export function formatGlobalCliInstallCommand(packageSpec, argv, env, fileExists = () => false, readFile) {
|
|
90
138
|
const manager = detectGlobalCliPackageManager(argv, env);
|
|
139
|
+
const pnpmStoreDir = manager === 'pnpm'
|
|
140
|
+
? resolvePnpmInstallContext(argv, env, fileExists, readFile).storeDir
|
|
141
|
+
: null;
|
|
142
|
+
const pnpmStoreFlag = pnpmStoreDir === null ? '' : ` --store-dir ${quoteShellWord(pnpmStoreDir)}`;
|
|
91
143
|
switch (manager) {
|
|
92
144
|
case 'npm':
|
|
93
145
|
return `npm install --global ${packageSpec}`;
|
|
94
146
|
case 'pnpm':
|
|
95
|
-
return `pnpm add -g ${packageSpec}`;
|
|
147
|
+
return `pnpm add -g ${packageSpec}${pnpmStoreFlag}`;
|
|
96
148
|
case 'yarn':
|
|
97
149
|
return `yarn global add ${packageSpec}`;
|
|
98
150
|
case 'bun':
|
|
99
151
|
return `bun install -g ${packageSpec}`;
|
|
100
152
|
}
|
|
101
153
|
}
|
|
154
|
+
function quoteShellWord(value) {
|
|
155
|
+
return /[\s"'`$\\]/.test(value)
|
|
156
|
+
? `'${value.replaceAll("'", `'"'"'`)}'`
|
|
157
|
+
: value;
|
|
158
|
+
}
|
|
102
159
|
export function resolveGlobalCliInstallerInvocation(packageSpec, options) {
|
|
103
160
|
const manager = detectGlobalCliPackageManager(options.argv, options.env);
|
|
161
|
+
const pnpmStoreDir = manager === 'pnpm'
|
|
162
|
+
? resolvePnpmInstallContext(options.argv, options.env, options.fileExists, options.readFile).storeDir
|
|
163
|
+
: null;
|
|
104
164
|
if (options.platform === 'win32') {
|
|
105
165
|
return resolveWindowsManagerInvocation(manager, packageSpec, options);
|
|
106
166
|
}
|
|
107
167
|
return {
|
|
108
168
|
file: executableForManager(manager),
|
|
109
|
-
args: installArgsForManager(manager, packageSpec),
|
|
169
|
+
args: installArgsForManager(manager, packageSpec, pnpmStoreDir),
|
|
110
170
|
};
|
|
111
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-bundle-update-guard.d.ts","sourceRoot":"","sources":["../../src/app/tool-bundle-update-guard.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,iCAAiC;IAChD,yBAAyB,EAAE,CACzB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,aAAa,EAAE,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,KAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AA6CD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1D;AAgBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,mBAAmB,CAOrB;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAMtE;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,4BAA4B,EACrC,SAAS,GAAE,OAAO,CAAC,iCAAiC,CAAM,GACzD,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"tool-bundle-update-guard.d.ts","sourceRoot":"","sources":["../../src/app/tool-bundle-update-guard.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,iCAAiC;IAChD,yBAAyB,EAAE,CACzB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,aAAa,EAAE,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,KAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AA6CD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1D;AAgBD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,mBAAmB,CAOrB;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAMtE;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,4BAA4B,EACrC,SAAS,GAAE,OAAO,CAAC,iCAAiC,CAAM,GACzD,OAAO,CAAC,OAAO,CAAC,CA8ElB"}
|
|
@@ -81,7 +81,7 @@ export async function guardBundledToolMutation(options, overrides = {}) {
|
|
|
81
81
|
'can only install its own bundled tool versions. The available CLI may ' +
|
|
82
82
|
'bundle newer tool versions.');
|
|
83
83
|
const packageSpec = `${CLI_PACKAGE}@${availableVersion}`;
|
|
84
|
-
const installCommand = formatGlobalCliInstallCommand(packageSpec, options.argv, options.env);
|
|
84
|
+
const installCommand = formatGlobalCliInstallCommand(packageSpec, options.argv, options.env, dependencies.fileExists);
|
|
85
85
|
let accepted = false;
|
|
86
86
|
try {
|
|
87
87
|
accepted = await dependencies.confirmAction(`Update the OAT CLI to ${availableVersion} before running ${options.commandPath}?`, { interactive: options.interactive });
|
|
@@ -114,7 +114,7 @@ export async function guardBundledToolMutation(options, overrides = {}) {
|
|
|
114
114
|
}
|
|
115
115
|
catch {
|
|
116
116
|
throw new CliError(`Failed to update the OAT CLI to ${availableVersion}. ` +
|
|
117
|
-
`No tools were changed. Fix the
|
|
117
|
+
`No tools were changed. Fix the package manager installation issue and run: ${installCommand}`, 2);
|
|
118
118
|
}
|
|
119
119
|
options.logger.info(`Updated the OAT CLI to ${availableVersion}. To let the new CLI install ` +
|
|
120
120
|
`its bundled tools, rerun in ${options.rerunCommand.shell}:\n${options.rerunCommand.command}`);
|
|
@@ -2,7 +2,6 @@ import { type CommandContext, type GlobalOptions } from '../../../../app/command
|
|
|
2
2
|
import { type PromptContext } from '../../../shared/shared.prompts.js';
|
|
3
3
|
import { type ScanToolsOptions } from '../../../tools/shared/scan-tools.js';
|
|
4
4
|
import type { ToolInfo } from '../../../tools/shared/types.js';
|
|
5
|
-
import { type OatConfig } from '../../../../config/oat-config.js';
|
|
6
5
|
import { Command } from 'commander';
|
|
7
6
|
import { type InstallBrainstormOptions, type InstallBrainstormResult } from './install-brainstorm.js';
|
|
8
7
|
type InstallScope = 'project' | 'user';
|
|
@@ -14,8 +13,6 @@ interface InitToolsBrainstormDependencies {
|
|
|
14
13
|
installBrainstorm: (options: InstallBrainstormOptions) => Promise<InstallBrainstormResult>;
|
|
15
14
|
confirmAction: (message: string, ctx: PromptContext) => Promise<boolean>;
|
|
16
15
|
scanTools: (options: ScanToolsOptions) => Promise<ToolInfo[]>;
|
|
17
|
-
readOatConfig: (repoRoot: string) => Promise<OatConfig>;
|
|
18
|
-
writeOatConfig: (repoRoot: string, config: OatConfig) => Promise<void>;
|
|
19
16
|
}
|
|
20
17
|
export declare function createInitToolsBrainstormCommand(overrides?: Partial<InitToolsBrainstormDependencies>): Command;
|
|
21
18
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/brainstorm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/brainstorm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAM9B,KAAK,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvC,UAAU,+BAA+B;IACvC,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7E,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,iBAAiB,EAAE,CACjB,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAC/D;AA+JD,wBAAgB,gCAAgC,CAC9C,SAAS,GAAE,OAAO,CAAC,+BAA+B,CAAM,GACvD,OAAO,CA2BT"}
|
|
@@ -5,7 +5,6 @@ import { confirmAction, } from '../../../shared/shared.prompts.js';
|
|
|
5
5
|
import { readGlobalOptions } from '../../../shared/shared.utils.js';
|
|
6
6
|
import { canonicalPathsForPack, setInstalledCanonicalPaths, } from '../../../tools/shared/install-sync-context.js';
|
|
7
7
|
import { scanTools as defaultScanTools, } from '../../../tools/shared/scan-tools.js';
|
|
8
|
-
import { readOatConfig as defaultReadOatConfig, writeOatConfig as defaultWriteOatConfig, } from '../../../../config/oat-config.js';
|
|
9
8
|
import { resolveAssetsRoot } from '../../../../fs/assets.js';
|
|
10
9
|
import { resolveProjectRoot, resolveScopeRoot } from '../../../../fs/paths.js';
|
|
11
10
|
import { Command } from 'commander';
|
|
@@ -18,8 +17,6 @@ const DEFAULT_DEPENDENCIES = {
|
|
|
18
17
|
installBrainstorm: defaultInstallBrainstorm,
|
|
19
18
|
confirmAction,
|
|
20
19
|
scanTools: defaultScanTools,
|
|
21
|
-
readOatConfig: defaultReadOatConfig,
|
|
22
|
-
writeOatConfig: defaultWriteOatConfig,
|
|
23
20
|
};
|
|
24
21
|
async function resolveInstallScope(context, projectRoot, userRoot, assetsRoot, dependencies) {
|
|
25
22
|
// Honor explicit --scope before any existing-install or default
|
|
@@ -81,11 +78,6 @@ function reportSuccess(context, scope, targetRoot, assetsRoot, result) {
|
|
|
81
78
|
context.logger.info(`Skills: ${counts.skills}`);
|
|
82
79
|
context.logger.info(`Run: oat sync --scope ${scope}`);
|
|
83
80
|
}
|
|
84
|
-
async function persistConfigAfterInstall(projectRoot, dependencies) {
|
|
85
|
-
const config = await dependencies.readOatConfig(projectRoot);
|
|
86
|
-
const tools = { ...(config.tools ?? {}), brainstorm: true };
|
|
87
|
-
await dependencies.writeOatConfig(projectRoot, { ...config, tools });
|
|
88
|
-
}
|
|
89
81
|
async function runInitToolsBrainstorm(context, options, dependencies) {
|
|
90
82
|
try {
|
|
91
83
|
const projectRoot = await dependencies.resolveProjectRoot(context.cwd);
|
|
@@ -108,10 +100,6 @@ async function runInitToolsBrainstorm(context, options, dependencies) {
|
|
|
108
100
|
targetRoot,
|
|
109
101
|
force: options.force,
|
|
110
102
|
});
|
|
111
|
-
// Persist tools.brainstorm: true to .oat/config.json after a
|
|
112
|
-
// successful install so config-write semantics match the main
|
|
113
|
-
// installer flow used by `oat init tools`.
|
|
114
|
-
await persistConfigAfterInstall(projectRoot, dependencies);
|
|
115
103
|
reportSuccess(context, scope, targetRoot, assetsRoot, result);
|
|
116
104
|
process.exitCode = 0;
|
|
117
105
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/tools/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,YAAY,EAGlB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/tools/index.ts"],"names":[],"mappings":"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"}
|