openspec-playwright 0.3.79 → 0.3.81
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 +25 -0
- package/README.zh-CN.md +6 -0
- package/dist/commands/editors/project-rules.d.ts +7 -0
- package/dist/commands/editors/project-rules.js +7 -2
- package/dist/commands/editors/project-rules.js.map +1 -1
- package/dist/commands/editors/removal.d.ts +52 -0
- package/dist/commands/editors/removal.js +156 -0
- package/dist/commands/editors/removal.js.map +1 -0
- package/dist/commands/editors.d.ts +2 -1
- package/dist/commands/editors.js +3 -1
- package/dist/commands/editors.js.map +1 -1
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.js +104 -5
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.js +10 -26
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +16 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/shared/ignore-check.d.ts +19 -0
- package/dist/shared/ignore-check.js +46 -0
- package/dist/shared/ignore-check.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/package.json +2 -1
- package/templates/credentials.yaml +2 -0
package/README.md
CHANGED
|
@@ -107,6 +107,29 @@ config dirs are a pre-select suggestion, never a write authorization).
|
|
|
107
107
|
*which* editors, the latter *whether* to install the Playwright MCP server
|
|
108
108
|
for them.
|
|
109
109
|
|
|
110
|
+
Init prints two output signals: the `Detected (pre-select):` line (only
|
|
111
|
+
when `--tools` is not given) is a TTY multi-select pre-select hint —
|
|
112
|
+
any-scope detection, **not** the install set; the `Selected editors:` line
|
|
113
|
+
(always printed, before any editor is configured) is the actual install
|
|
114
|
+
set. When in doubt, read `Selected editors`.
|
|
115
|
+
|
|
116
|
+
**Deselect = remove.** In the interactive multi-select, a *detected editor
|
|
117
|
+
you deselect* has its openspec-pw products removed — command/skill files,
|
|
118
|
+
the editor's openspec-pw MCP entries (claude's wrapper block and legacy
|
|
119
|
+
skill directory included), after one confirmation listing everything about
|
|
120
|
+
to be removed. Declining keeps the old behavior (deselect merely skips
|
|
121
|
+
writes this run). Only openspec-pw-owned territory is touched — your own
|
|
122
|
+
config entries in the same files stay. Shared rules: the AGENTS.md
|
|
123
|
+
openspec-pw block is removed only when **no** editor remains selected; a
|
|
124
|
+
symlinked CLAUDE.md is never written through. `--tools` and non-TTY runs
|
|
125
|
+
never remove anything (`--tools` is an explicit allow list). Known
|
|
126
|
+
limitation: deselection does not always stop future init prompts from
|
|
127
|
+
pre-selecting that editor — detection is directory-presence, so a marker
|
|
128
|
+
directory still holding your own files (or a rewritten-but-kept
|
|
129
|
+
`mcp.json`, or Pi/Oh My Pi's global `~/.pi/agent/` / `~/.omp/agent/`)
|
|
130
|
+
still counts as "detected". What it *does* stop immediately: `update` no
|
|
131
|
+
longer refreshes the removed editor's artifacts.
|
|
132
|
+
|
|
110
133
|
**Editor territory**: `update` only maintains editors that already have
|
|
111
134
|
openspec-pw command artifacts in the project — it never adds new editors
|
|
112
135
|
(a global config dir or a hand-created `.cursor/` does not authorize
|
|
@@ -254,6 +277,8 @@ If your project already has `playwright.config.ts`, `openspec-pw init` will not
|
|
|
254
277
|
|
|
255
278
|
If your app requires login, set up credentials once, then all tests run authenticated automatically.
|
|
256
279
|
|
|
280
|
+
> **Keep credentials out of git**: add `tests/playwright/credentials.yaml` (and the `credentials.yaml.bak` that `openspec-pw update` writes) to your `.gitignore`, or keep credentials in the `E2E_USERNAME` / `E2E_PASSWORD` env vars instead. init and update print a warning when these files are not ignored.
|
|
281
|
+
|
|
257
282
|
```bash
|
|
258
283
|
# 1. Edit credentials
|
|
259
284
|
vim tests/playwright/credentials.yaml
|
package/README.zh-CN.md
CHANGED
|
@@ -118,6 +118,10 @@ openspec-pw init --tools none # 不配置编辑器,只生成脚手
|
|
|
118
118
|
|
|
119
119
|
未提供 `--tools` 时:TTY 终端弹出交互式多选(预选已检测的编辑器——含 Pi / Oh My Pi 的全局配置目录信号);非交互终端回退到**仅项目内检测**(全局配置目录只是预选建议,不构成写入授权)。`--tools` 与 `--no-mcp` 正交:前者选择*哪些*编辑器,后者决定*是否*为它们安装 Playwright MCP。
|
|
120
120
|
|
|
121
|
+
init 打印两种输出信号:`Detected (pre-select):` 行(仅未传 `--tools` 时出现)是 TTY 多选的预选提示——any-scope 检测,**不是**实际安装集;`Selected editors:` 行(总是打印,位于任何编辑器配置之前)才是实际安装集。判断装了什么,看 `Selected editors`。
|
|
122
|
+
|
|
123
|
+
**取消勾选 = 移除**。交互式多选里,*已被探测但你取消勾选的*编辑器的 openspec-pw 产物会被移除——命令/技能文件、该编辑器的 openspec-pw MCP 条目(含 claude 的 wrapper 块与 legacy 技能目录),前置一次列出全部待移除项的确认(拒绝则保持旧行为:本次仅跳过写入)。只动 openspec-pw 自有领土——同一文件中你自有的配置条目不受影响。共享规则:AGENTS.md 的 openspec-pw 块仅在**没有任何编辑器保留**时移除;symlink 的 CLAUDE.md 永不穿透写入。`--tools` 与非 TTY 运行不做任何移除(`--tools` 是显式授权清单)。已知限制:取消勾选不一定让下次 init 不再预选该编辑器——探测是目录存在性,marker 目录里仍有你自己的文件(或改写后保留的 `mcp.json`,或 Pi/Oh My Pi 的全局 `~/.pi/agent/`、`~/.omp/agent/`)仍会算"已探测"。它**立即生效**的是:`update` 不再刷新被移除编辑器的产物。
|
|
124
|
+
|
|
121
125
|
**编辑器领土**:`update` 只维护项目内已有 openspec-pw 命令工件的编辑器——不会新增编辑器(全局配置目录或手建的 `.cursor/` 不构成写入授权)。给已初始化项目新增编辑器请重跑 `openspec-pw init --tools <id>`(幂等)。
|
|
122
126
|
|
|
123
127
|
### CLI 命令
|
|
@@ -217,6 +221,8 @@ openspec-pw uninstall # 移除项目中的集成
|
|
|
217
221
|
|
|
218
222
|
如果你的应用需要登录,配置一次凭证后,所有测试自动以已登录状态运行。
|
|
219
223
|
|
|
224
|
+
> **别把凭证提交进 git**:把 `tests/playwright/credentials.yaml`(以及 `openspec-pw update` 会写的 `credentials.yaml.bak`)加入 `.gitignore`,或改用 `E2E_USERNAME` / `E2E_PASSWORD` 环境变量。未忽略时 init 和 update 会打印黄色警告行。
|
|
225
|
+
|
|
220
226
|
```bash
|
|
221
227
|
# 1. 编辑凭证
|
|
222
228
|
vim tests/playwright/credentials.yaml
|
|
@@ -65,6 +65,13 @@ export declare function installClaudeWrapper(projectRoot: string): void;
|
|
|
65
65
|
export declare function installProjectRules(projectRoot: string, standardsContent: string, detected: EditorAdapter[]): void;
|
|
66
66
|
/** Remove all OpenSpec marker blocks from AGENTS.md (always) and CLAUDE.md (for claude adapter). */
|
|
67
67
|
export declare function cleanProjectRules(adapter: EditorAdapter, projectRoot: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Remove openspec-pw marker blocks (both namespaces) from a single file,
|
|
70
|
+
* deleting the file entirely when it empties out. Exported for the init
|
|
71
|
+
* deselect-removal flow (CLAUDE.md wrapper cleanup); cleanProjectRules
|
|
72
|
+
* wraps it for the uninstall context.
|
|
73
|
+
*/
|
|
74
|
+
export declare function removeMarkersFromFile(dest: string, fileLabel: string): void;
|
|
68
75
|
/** Read the employee-grade standards source file (empty string if missing). */
|
|
69
76
|
export declare function readEmployeeStandards(srcPath: string): string;
|
|
70
77
|
/**
|
|
@@ -219,8 +219,13 @@ export function cleanProjectRules(adapter, projectRoot) {
|
|
|
219
219
|
removeMarkersFromFile(adapter.projectRulesPath(projectRoot), basename(adapter.projectRulesPath(projectRoot)));
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
/**
|
|
223
|
-
|
|
222
|
+
/**
|
|
223
|
+
* Remove openspec-pw marker blocks (both namespaces) from a single file,
|
|
224
|
+
* deleting the file entirely when it empties out. Exported for the init
|
|
225
|
+
* deselect-removal flow (CLAUDE.md wrapper cleanup); cleanProjectRules
|
|
226
|
+
* wraps it for the uninstall context.
|
|
227
|
+
*/
|
|
228
|
+
export function removeMarkersFromFile(dest, fileLabel) {
|
|
224
229
|
if (!existsSync(dest)) {
|
|
225
230
|
console.log(chalk.gray(` - ${fileLabel} not found, skipping`));
|
|
226
231
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-rules.js","sourceRoot":"","sources":["../../../src/commands/editors/project-rules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"project-rules.js","sourceRoot":"","sources":["../../../src/commands/editors/project-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type EditorAdapter } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The Playwright MCP servers openspec-pw manages. `playwright-test` is the
|
|
4
|
+
* official test-runner server installed today; `playwright` is the legacy
|
|
5
|
+
* @playwright/mcp entry older versions wrote (uninstall removes both).
|
|
6
|
+
* Literals here rather than importing shared/mcp.ts, which imports the
|
|
7
|
+
* editors facade that re-exports this module (import cycle).
|
|
8
|
+
*/
|
|
9
|
+
export declare const OPENSPEC_PW_MCP_SERVERS: readonly ["playwright-test", "playwright"];
|
|
10
|
+
/** The claude-only skill directory retired installs left behind. */
|
|
11
|
+
export declare const CLAUDE_LEGACY_SKILL_REL: string;
|
|
12
|
+
export interface AdapterArtifactInventory {
|
|
13
|
+
/** Existing openspec-pw command/skill artifact paths (project-relative). */
|
|
14
|
+
commandPaths: string[];
|
|
15
|
+
/** Claude-only legacy skill dir, when present (project-relative). */
|
|
16
|
+
legacySkillPath: string | null;
|
|
17
|
+
/** openspec-pw MCP server entries present in this editor's config. */
|
|
18
|
+
mcpServers: string[];
|
|
19
|
+
/** True when CLAUDE.md holds an openspec-pw wrapper block (claude only). */
|
|
20
|
+
hasClaudeWrapper: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Enumerate the openspec-pw artifacts one editor owns in this project —
|
|
24
|
+
* command/skill files (incl. extraArtifacts), MCP server entries, the
|
|
25
|
+
* claude-only legacy skill dir and wrapper. Read-only and silent: this is
|
|
26
|
+
* the source for init's confirmation list, so it must not write, delete,
|
|
27
|
+
* or print.
|
|
28
|
+
*/
|
|
29
|
+
export declare function enumerateAdapterArtifacts(adapter: EditorAdapter, projectRoot: string): AdapterArtifactInventory;
|
|
30
|
+
/** True when this editor has nothing for init to remove. */
|
|
31
|
+
export declare function isInventoryEmpty(inv: AdapterArtifactInventory): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Remove the openspec-pw MCP entries for one editor. Only entries passed in
|
|
34
|
+
* `servers` (the enumeration result) are touched — user-owned server entries
|
|
35
|
+
* in the same config file are never written to.
|
|
36
|
+
*/
|
|
37
|
+
export declare function removeAdapterMcp(adapter: EditorAdapter, projectRoot: string, servers: readonly string[]): void;
|
|
38
|
+
/** Delete one editor's openspec-pw command/skill files. Returns the removed project-relative paths. */
|
|
39
|
+
export declare function removeAdapterCommandArtifacts(adapter: EditorAdapter, projectRoot: string): string[];
|
|
40
|
+
/** Delete claude's retired-install skill directory. Returns the path or null. */
|
|
41
|
+
export declare function removeClaudeLegacySkill(projectRoot: string): string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Remove the openspec-pw wrapper block from CLAUDE.md (claude-owned
|
|
44
|
+
* territory). Skips symlinked CLAUDE.md entirely — writing through the
|
|
45
|
+
* symlink would strip the shared block out of AGENTS.md.
|
|
46
|
+
*/
|
|
47
|
+
export declare function removeClaudeWrapper(projectRoot: string): string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Delete empty directories up to (not including) `stopAt`. Moved here from
|
|
50
|
+
* uninstall.ts so both the section loop and the per-editor removals share it.
|
|
51
|
+
*/
|
|
52
|
+
export declare function cleanupEmptyDirs(dir: string, stopAt: string): void;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-editor artifact removal primitives.
|
|
3
|
+
*
|
|
4
|
+
* Shared by two callers with different output styles:
|
|
5
|
+
* - `init` (deselect = remove): enumerates the openspec-pw products of
|
|
6
|
+
* deselected editors, prints one confirmation list, then removes.
|
|
7
|
+
* - `uninstall` (full cleanup): calls the same small delete functions
|
|
8
|
+
* inside its existing section-major loop (all MCP → all commands →
|
|
9
|
+
* legacy → rules), so its log order stays unchanged.
|
|
10
|
+
*
|
|
11
|
+
* The enumerate side is strictly read-only — it never prints and never
|
|
12
|
+
* writes — so it doubles as the dry-run source for init's confirm list.
|
|
13
|
+
* The delete side is composed of small single-purpose functions instead of
|
|
14
|
+
* one monolithic `removeAdapterArtifacts` because a monolith would reorder
|
|
15
|
+
* uninstall's section-major output and the MCP removal helpers in
|
|
16
|
+
* shared/mcp.ts print their own status lines (unusable for dry enumeration).
|
|
17
|
+
*/
|
|
18
|
+
import { existsSync, lstatSync, readFileSync, readdirSync, rmSync, rmdirSync } from "fs";
|
|
19
|
+
import { dirname, join } from "path";
|
|
20
|
+
import chalk from "chalk";
|
|
21
|
+
import { buildCommandMeta } from "./types.js";
|
|
22
|
+
import { listCommandArtifactPaths } from "./registry.js";
|
|
23
|
+
import { removeMarkersFromFile } from "./project-rules.js";
|
|
24
|
+
import { LEGACY_OPENSPEC_START, OPENSPEC_START } from "../../shared/drift.js";
|
|
25
|
+
// ─── MCP server names owned by openspec-pw ───────────────────────────────
|
|
26
|
+
/**
|
|
27
|
+
* The Playwright MCP servers openspec-pw manages. `playwright-test` is the
|
|
28
|
+
* official test-runner server installed today; `playwright` is the legacy
|
|
29
|
+
* @playwright/mcp entry older versions wrote (uninstall removes both).
|
|
30
|
+
* Literals here rather than importing shared/mcp.ts, which imports the
|
|
31
|
+
* editors facade that re-exports this module (import cycle).
|
|
32
|
+
*/
|
|
33
|
+
export const OPENSPEC_PW_MCP_SERVERS = ["playwright-test", "playwright"];
|
|
34
|
+
/** The claude-only skill directory retired installs left behind. */
|
|
35
|
+
export const CLAUDE_LEGACY_SKILL_REL = join(".claude", "skills", "openspec-e2e");
|
|
36
|
+
/** Does CLAUDE.md carry an openspec-pw marker block we could remove? */
|
|
37
|
+
function claudeWrapperHasMarkers(projectRoot) {
|
|
38
|
+
const dest = join(projectRoot, "CLAUDE.md");
|
|
39
|
+
if (!existsSync(dest))
|
|
40
|
+
return false;
|
|
41
|
+
// A symlinked CLAUDE.md (typically → AGENTS.md) is never cleaned through —
|
|
42
|
+
// enumeration follows the same guard the removal does.
|
|
43
|
+
if (lstatSync(dest).isSymbolicLink())
|
|
44
|
+
return false;
|
|
45
|
+
const content = readFileSync(dest, "utf-8");
|
|
46
|
+
return content.includes(OPENSPEC_START) || content.includes(LEGACY_OPENSPEC_START);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Enumerate the openspec-pw artifacts one editor owns in this project —
|
|
50
|
+
* command/skill files (incl. extraArtifacts), MCP server entries, the
|
|
51
|
+
* claude-only legacy skill dir and wrapper. Read-only and silent: this is
|
|
52
|
+
* the source for init's confirmation list, so it must not write, delete,
|
|
53
|
+
* or print.
|
|
54
|
+
*/
|
|
55
|
+
export function enumerateAdapterArtifacts(adapter, projectRoot) {
|
|
56
|
+
const meta = buildCommandMeta("");
|
|
57
|
+
const commandPaths = listCommandArtifactPaths(adapter, meta).filter((rel) => existsSync(join(projectRoot, rel)));
|
|
58
|
+
const legacySkillPath = adapter.id === "claude" && existsSync(join(projectRoot, CLAUDE_LEGACY_SKILL_REL))
|
|
59
|
+
? CLAUDE_LEGACY_SKILL_REL
|
|
60
|
+
: null;
|
|
61
|
+
const mcpServers = adapter.supportsMcp === false
|
|
62
|
+
? []
|
|
63
|
+
: OPENSPEC_PW_MCP_SERVERS.filter((server) => adapter.isMcpInstalled(projectRoot, server));
|
|
64
|
+
const hasClaudeWrapper = adapter.id === "claude" && claudeWrapperHasMarkers(projectRoot);
|
|
65
|
+
return { commandPaths, legacySkillPath, mcpServers, hasClaudeWrapper };
|
|
66
|
+
}
|
|
67
|
+
/** True when this editor has nothing for init to remove. */
|
|
68
|
+
export function isInventoryEmpty(inv) {
|
|
69
|
+
return (inv.commandPaths.length === 0 &&
|
|
70
|
+
inv.legacySkillPath === null &&
|
|
71
|
+
inv.mcpServers.length === 0 &&
|
|
72
|
+
!inv.hasClaudeWrapper);
|
|
73
|
+
}
|
|
74
|
+
// ─── Delete functions (small, single-purpose) ────────────────────────────
|
|
75
|
+
/**
|
|
76
|
+
* Remove the openspec-pw MCP entries for one editor. Only entries passed in
|
|
77
|
+
* `servers` (the enumeration result) are touched — user-owned server entries
|
|
78
|
+
* in the same config file are never written to.
|
|
79
|
+
*/
|
|
80
|
+
export function removeAdapterMcp(adapter, projectRoot, servers) {
|
|
81
|
+
if (adapter.supportsMcp === false)
|
|
82
|
+
return;
|
|
83
|
+
for (const serverName of servers) {
|
|
84
|
+
try {
|
|
85
|
+
adapter.removeMcp(projectRoot, serverName);
|
|
86
|
+
console.log(chalk.green(` ✓ ${adapter.label}: ${serverName} MCP removed`));
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Same posture as uninstall: claude CLI missing/degraded warns, never throws.
|
|
90
|
+
console.warn(chalk.yellow(` ⚠ ${adapter.label}: failed to remove ${serverName} MCP`));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Delete one editor's openspec-pw command/skill files. Returns the removed project-relative paths. */
|
|
95
|
+
export function removeAdapterCommandArtifacts(adapter, projectRoot) {
|
|
96
|
+
const meta = buildCommandMeta("");
|
|
97
|
+
const removed = [];
|
|
98
|
+
for (const relPath of listCommandArtifactPaths(adapter, meta)) {
|
|
99
|
+
const absPath = join(projectRoot, relPath);
|
|
100
|
+
if (existsSync(absPath)) {
|
|
101
|
+
rmSync(absPath);
|
|
102
|
+
cleanupEmptyDirs(dirname(absPath), projectRoot);
|
|
103
|
+
console.log(chalk.green(` ✓ ${adapter.label}: ${relPath}`));
|
|
104
|
+
removed.push(relPath);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return removed;
|
|
108
|
+
}
|
|
109
|
+
/** Delete claude's retired-install skill directory. Returns the path or null. */
|
|
110
|
+
export function removeClaudeLegacySkill(projectRoot) {
|
|
111
|
+
const absPath = join(projectRoot, CLAUDE_LEGACY_SKILL_REL);
|
|
112
|
+
if (!existsSync(absPath))
|
|
113
|
+
return null;
|
|
114
|
+
rmSync(absPath, { recursive: true, force: true });
|
|
115
|
+
cleanupEmptyDirs(dirname(absPath), projectRoot);
|
|
116
|
+
console.log(chalk.green(` ✓ claude: ${CLAUDE_LEGACY_SKILL_REL}/`));
|
|
117
|
+
return CLAUDE_LEGACY_SKILL_REL;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Remove the openspec-pw wrapper block from CLAUDE.md (claude-owned
|
|
121
|
+
* territory). Skips symlinked CLAUDE.md entirely — writing through the
|
|
122
|
+
* symlink would strip the shared block out of AGENTS.md.
|
|
123
|
+
*/
|
|
124
|
+
export function removeClaudeWrapper(projectRoot) {
|
|
125
|
+
const dest = join(projectRoot, "CLAUDE.md");
|
|
126
|
+
if (!existsSync(dest))
|
|
127
|
+
return null;
|
|
128
|
+
if (lstatSync(dest).isSymbolicLink()) {
|
|
129
|
+
console.log(chalk.gray(" - CLAUDE.md is a symlink — skipping wrapper cleanup (would write through to AGENTS.md)"));
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
removeMarkersFromFile(dest, "CLAUDE.md");
|
|
133
|
+
return "CLAUDE.md";
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Delete empty directories up to (not including) `stopAt`. Moved here from
|
|
137
|
+
* uninstall.ts so both the section loop and the per-editor removals share it.
|
|
138
|
+
*/
|
|
139
|
+
export function cleanupEmptyDirs(dir, stopAt) {
|
|
140
|
+
while (dir !== stopAt && dir.length > stopAt.length) {
|
|
141
|
+
try {
|
|
142
|
+
const entries = readdirSync(dir);
|
|
143
|
+
if (entries.length === 0) {
|
|
144
|
+
rmdirSync(dir);
|
|
145
|
+
dir = dirname(dir);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=removal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removal.js","sourceRoot":"","sources":["../../../src/commands/editors/removal.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,4 +29,5 @@ export { formatCursorCommand, getCursorCommandPath, getCursorSkillPath, formatCu
|
|
|
29
29
|
export { formatPiCommand, getPiCommandPath, hasPi, piAdapter, } from "./editors/adapters/pi.js";
|
|
30
30
|
export { formatOmpCommand, getOmpCommandPath, hasOmp, ompAdapter, } from "./editors/adapters/omp.js";
|
|
31
31
|
export { resolveToolsArg } from "./editors/tool-selection.js";
|
|
32
|
-
export {
|
|
32
|
+
export { OPENSPEC_PW_MCP_SERVERS, CLAUDE_LEGACY_SKILL_REL, type AdapterArtifactInventory, enumerateAdapterArtifacts, isInventoryEmpty, removeAdapterMcp, removeAdapterCommandArtifacts, removeClaudeLegacySkill, removeClaudeWrapper, cleanupEmptyDirs, } from "./editors/removal.js";
|
|
33
|
+
export { readOpenSpecBlock, blockMatchesExpected, installOpenSpecBlock, claudeWrapperStandardsContent, installClaudeWrapper, installProjectRules, migrateLegacyMarkers, cleanProjectRules, removeMarkersFromFile, readEmployeeStandards, } from "./editors/project-rules.js";
|
package/dist/commands/editors.js
CHANGED
|
@@ -34,6 +34,8 @@ export { formatPiCommand, getPiCommandPath, hasPi, piAdapter, } from "./editors/
|
|
|
34
34
|
export { formatOmpCommand, getOmpCommandPath, hasOmp, ompAdapter, } from "./editors/adapters/omp.js";
|
|
35
35
|
// Tool selection (--tools flag parsing)
|
|
36
36
|
export { resolveToolsArg } from "./editors/tool-selection.js";
|
|
37
|
+
// Per-editor artifact removal (init deselect + uninstall cleanup)
|
|
38
|
+
export { OPENSPEC_PW_MCP_SERVERS, CLAUDE_LEGACY_SKILL_REL, enumerateAdapterArtifacts, isInventoryEmpty, removeAdapterMcp, removeAdapterCommandArtifacts, removeClaudeLegacySkill, removeClaudeWrapper, cleanupEmptyDirs, } from "./editors/removal.js";
|
|
37
39
|
// Project rules file management (AGENTS.md SSOT + CLAUDE.md wrapper)
|
|
38
|
-
export { readOpenSpecBlock, blockMatchesExpected, installOpenSpecBlock, claudeWrapperStandardsContent, installClaudeWrapper, installProjectRules, migrateLegacyMarkers, cleanProjectRules, readEmployeeStandards, } from "./editors/project-rules.js";
|
|
40
|
+
export { readOpenSpecBlock, blockMatchesExpected, installOpenSpecBlock, claudeWrapperStandardsContent, installClaudeWrapper, installProjectRules, migrateLegacyMarkers, cleanProjectRules, removeMarkersFromFile, readEmployeeStandards, } from "./editors/project-rules.js";
|
|
39
41
|
//# sourceMappingURL=editors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../src/commands/editors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,uCAAuC;AACvC,OAAO,EAEL,gBAAgB,EAKhB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,8BAA8B;AAC9B,OAAO,EACL,eAAe,EACf,eAAe,EACf,yBAAyB,EAGzB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAC5E,OAAO,EACL,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,gEAAgE;AAChE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,SAAS,GACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,EACN,UAAU,GACX,MAAM,2BAA2B,CAAC;AAEnC,wCAAwC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,qEAAqE;AACrE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../src/commands/editors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,uCAAuC;AACvC,OAAO,EAEL,gBAAgB,EAKhB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,8BAA8B;AAC9B,OAAO,EACL,eAAe,EACf,eAAe,EACf,yBAAyB,EAGzB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAC5E,OAAO,EACL,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,gEAAgE;AAChE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,wBAAwB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,SAAS,GACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,EACN,UAAU,GACX,MAAM,2BAA2B,CAAC;AAEnC,wCAAwC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,kEAAkE;AAClE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EAEvB,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,qEAAqE;AACrE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -8,6 +8,13 @@ export interface InitOptions {
|
|
|
8
8
|
export interface InitDeps {
|
|
9
9
|
/** Interactive selection prompt; defaults to @inquirer/prompts checkbox. */
|
|
10
10
|
prompt?: (allEditors: EditorAdapter[], detectedIds: ReadonlySet<EditorId>) => Promise<EditorId[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Confirmation prompt for the deselect-removal list; defaults to
|
|
13
|
+
* @inquirer/prompts confirm. Separate from `prompt` — a checkbox stub
|
|
14
|
+
* cannot answer a boolean question, and without an injection point tests
|
|
15
|
+
* would block on stdin.
|
|
16
|
+
*/
|
|
17
|
+
confirm?: (message: string) => Promise<boolean>;
|
|
11
18
|
/** Override TTY detection (tests inject false here). */
|
|
12
19
|
isTTY?: boolean;
|
|
13
20
|
/** Override home dir for Pi/Oh My Pi global detection (tests inject an empty dir). */
|
package/dist/commands/init.js
CHANGED
|
@@ -4,8 +4,9 @@ import { join } from "path";
|
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
5
|
import chalk from "chalk";
|
|
6
6
|
import { readFile } from "fs/promises";
|
|
7
|
-
import { buildCommandMeta, detectAdapters, detectProjectAdapters, getAdapter, getAllAdapters, installCommand, installProjectRules, migrateLegacyMarkers, readEmployeeStandards, resolveToolsArg, slashCommandForAdapter, } from "./editors.js";
|
|
8
|
-
import {
|
|
7
|
+
import { buildCommandMeta, detectAdapters, detectProjectAdapters, getAdapter, getAllAdapters, installCommand, installProjectRules, migrateLegacyMarkers, readEmployeeStandards, resolveToolsArg, slashCommandForAdapter, enumerateAdapterArtifacts, isInventoryEmpty, removeAdapterMcp, removeAdapterCommandArtifacts, removeClaudeLegacySkill, removeClaudeWrapper, removeMarkersFromFile, } from "./editors.js";
|
|
8
|
+
import { LEGACY_OPENSPEC_START, OPENSPEC_START } from "../shared/drift.js";
|
|
9
|
+
import { ensureTestRunnerMcp, isTestRunnerMcpInstalled, TEST_RUNNER_MCP_SERVER, needsShell, hasFrontendSignal, detectCodeGraphStatus, codegraphHintLines, CREDENTIALS_RELPATHS, credentialsIgnoreHint, findUnignoredFiles, } from "../shared/index.js";
|
|
9
10
|
const TEMPLATE_DIR = fileURLToPath(new URL("../../templates", import.meta.url));
|
|
10
11
|
const E2E_COMMAND_SRC = fileURLToPath(new URL("../../templates/e2e-command.md", import.meta.url));
|
|
11
12
|
const EMPLOYEE_STANDARDS_SRC = fileURLToPath(new URL("../../employee-standards.md", import.meta.url));
|
|
@@ -67,12 +68,21 @@ export async function init(options, deps = {}) {
|
|
|
67
68
|
// global config dirs never authorize editor configuration.
|
|
68
69
|
const detected = detectAdapters(projectRoot, deps.homeDir);
|
|
69
70
|
const projectDetected = detectProjectAdapters(projectRoot);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
// Detected is any-scope detection — its only role is the TTY multi-select
|
|
72
|
+
// pre-select hint. With --tools the user has already expressed intent, so
|
|
73
|
+
// stay silent: the line would be misread as the install set.
|
|
74
|
+
if (options.tools === undefined) {
|
|
75
|
+
console.log(detected.length > 0
|
|
76
|
+
? chalk.gray(` Detected (pre-select): ${detected.map((a) => a.label).join(", ")}`)
|
|
77
|
+
: chalk.gray(" Detected: none"));
|
|
78
|
+
}
|
|
73
79
|
const isTTY = deps.isTTY ?? process.stdout.isTTY === true;
|
|
74
80
|
const prompt = deps.prompt ?? promptSelectEditors;
|
|
75
81
|
let selectedIds;
|
|
82
|
+
// True only when the selection came from the interactive prompt — the
|
|
83
|
+
// deselected-removal phase runs exclusively on that path (--tools is an
|
|
84
|
+
// explicit authorization list; non-TTY never removes).
|
|
85
|
+
let interactiveSelection = false;
|
|
76
86
|
try {
|
|
77
87
|
selectedIds = resolveToolsArg(options.tools);
|
|
78
88
|
}
|
|
@@ -80,6 +90,7 @@ export async function init(options, deps = {}) {
|
|
|
80
90
|
throw new Error(`Invalid --tools value: ${err.message}`);
|
|
81
91
|
}
|
|
82
92
|
if (selectedIds === null && isTTY) {
|
|
93
|
+
interactiveSelection = true;
|
|
83
94
|
selectedIds = await prompt(getAllAdapters(), new Set(detected.map((a) => a.id)));
|
|
84
95
|
}
|
|
85
96
|
const editors = selectedIds === null
|
|
@@ -87,12 +98,91 @@ export async function init(options, deps = {}) {
|
|
|
87
98
|
: selectedIds
|
|
88
99
|
.map(getAdapter)
|
|
89
100
|
.filter((a) => a !== undefined);
|
|
101
|
+
// The actual install set — what this run will configure. The Selected
|
|
102
|
+
// editors line is the authoritative signal (mirrors the Summary's
|
|
103
|
+
// Restart list); it prints before any installCommand runs, and before
|
|
104
|
+
// the empty-detection failure below so `none` accompanies the error.
|
|
105
|
+
console.log(chalk.gray(` Selected editors: ${editors.map((a) => a.label).join(", ") || "none"}`));
|
|
90
106
|
// No flag, non-TTY, and nothing detected → fail with --tools guidance.
|
|
91
107
|
if (selectedIds === null && editors.length === 0) {
|
|
92
108
|
console.log(chalk.yellow("\n ⚠ No supported editor detected in the project (need .claude/, .opencode/, .cline/, .cursor/, .pi/, or .omp/)."));
|
|
93
109
|
console.log(chalk.gray(" For Cursor without an existing .cursor/ dir: mkdir -p .cursor\n"));
|
|
94
110
|
throw new Error('No supported editor detected and no --tools flag provided. Use --tools all, --tools none, or a comma-separated list: claude, opencode, cline, cursor, pi, omp (oh-my-pi aliases omp).');
|
|
95
111
|
}
|
|
112
|
+
// 3a. Deselect = remove. Interactive deselections are real removals of
|
|
113
|
+
// openspec-pw products (commands, MCP entries, claude wrapper/legacy
|
|
114
|
+
// skill, and the shared AGENTS.md block when no editor remains), gated on
|
|
115
|
+
// one confirm. Refusal falls back to the old "skip, don't touch" semantics.
|
|
116
|
+
if (interactiveSelection && selectedIds !== null) {
|
|
117
|
+
const deselected = detected.filter((a) => !selectedIds.includes(a.id));
|
|
118
|
+
const inventories = deselected
|
|
119
|
+
.map((adapter) => ({
|
|
120
|
+
adapter,
|
|
121
|
+
inv: enumerateAdapterArtifacts(adapter, projectRoot),
|
|
122
|
+
}))
|
|
123
|
+
// Editors with nothing to remove are silent — no confirm-list noise
|
|
124
|
+
// for a merely-detected-but-never-configured editor.
|
|
125
|
+
.filter(({ inv }) => !isInventoryEmpty(inv));
|
|
126
|
+
// Run-level shared block: the AGENTS.md openspec-pw block serves every
|
|
127
|
+
// configured editor, so it only goes when none remain. It joins the
|
|
128
|
+
// same confirmation list as a per-editor item (otherwise a project
|
|
129
|
+
// whose per-editor artifacts were hand-deleted would remove the shared
|
|
130
|
+
// block without ever asking).
|
|
131
|
+
const agentsPath = join(projectRoot, "AGENTS.md");
|
|
132
|
+
const agentsHasBlock = selectedIds.length === 0 &&
|
|
133
|
+
existsSync(agentsPath) &&
|
|
134
|
+
(() => {
|
|
135
|
+
const content = readFileSync(agentsPath, "utf-8");
|
|
136
|
+
return (content.includes(OPENSPEC_START) ||
|
|
137
|
+
content.includes(LEGACY_OPENSPEC_START));
|
|
138
|
+
})();
|
|
139
|
+
if (inventories.length > 0 || agentsHasBlock) {
|
|
140
|
+
console.log(chalk.blue("\n─── Removing Deselected Editors ───"));
|
|
141
|
+
console.log(chalk.yellow(" The following openspec-pw artifacts will be removed:"));
|
|
142
|
+
for (const { adapter, inv } of inventories) {
|
|
143
|
+
for (const relPath of inv.commandPaths) {
|
|
144
|
+
console.log(chalk.gray(` - ${adapter.label}: ${relPath}`));
|
|
145
|
+
}
|
|
146
|
+
if (inv.legacySkillPath) {
|
|
147
|
+
console.log(chalk.gray(` - ${adapter.label}: ${inv.legacySkillPath}/`));
|
|
148
|
+
}
|
|
149
|
+
for (const server of inv.mcpServers) {
|
|
150
|
+
console.log(chalk.gray(` - ${adapter.label}: ${server} MCP entry`));
|
|
151
|
+
}
|
|
152
|
+
if (inv.hasClaudeWrapper) {
|
|
153
|
+
console.log(chalk.gray(` - ${adapter.label}: CLAUDE.md wrapper block`));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (agentsHasBlock) {
|
|
157
|
+
console.log(chalk.gray(" - AGENTS.md: shared openspec-pw block"));
|
|
158
|
+
}
|
|
159
|
+
const confirm = deps.confirm ??
|
|
160
|
+
(async (message) => {
|
|
161
|
+
const { confirm: promptConfirm } = await import("@inquirer/prompts");
|
|
162
|
+
return promptConfirm({ message });
|
|
163
|
+
});
|
|
164
|
+
const agreed = await confirm("Proceed with removal?");
|
|
165
|
+
if (!agreed) {
|
|
166
|
+
console.log(chalk.gray(" - Removal declined — keeping existing artifacts (deselect only skips writes this run)"));
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
for (const { adapter, inv } of inventories) {
|
|
170
|
+
removeAdapterMcp(adapter, projectRoot, inv.mcpServers);
|
|
171
|
+
removeAdapterCommandArtifacts(adapter, projectRoot);
|
|
172
|
+
if (inv.legacySkillPath) {
|
|
173
|
+
removeClaudeLegacySkill(projectRoot);
|
|
174
|
+
}
|
|
175
|
+
if (inv.hasClaudeWrapper) {
|
|
176
|
+
removeClaudeWrapper(projectRoot);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (agentsHasBlock) {
|
|
180
|
+
removeMarkersFromFile(agentsPath, "AGENTS.md");
|
|
181
|
+
console.log(chalk.green(" ✓ AGENTS.md: shared openspec-pw block removed"));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
96
186
|
// 3b. Detect a frontend signal — computed once, reused for the MCP
|
|
97
187
|
// install gate (step 4) and the Summary guidance hint.
|
|
98
188
|
const frontendSignal = hasFrontendSignal(projectRoot);
|
|
@@ -159,6 +249,15 @@ export async function init(options, deps = {}) {
|
|
|
159
249
|
// 7. Generate app-knowledge.md
|
|
160
250
|
console.log(chalk.blue("\n─── Generating App Knowledge ───"));
|
|
161
251
|
await generateAppKnowledge(projectRoot);
|
|
252
|
+
// 7a. Advisory: real test credentials must not reach git history.
|
|
253
|
+
// Detection only — the user's .gitignore is shared territory and is
|
|
254
|
+
// never auto-edited. Runs whenever the scaffold completes with the
|
|
255
|
+
// file present (freshly generated or pre-existing); .bak is named
|
|
256
|
+
// too when one exists.
|
|
257
|
+
const unignoredCredentials = findUnignoredFiles(projectRoot, CREDENTIALS_RELPATHS);
|
|
258
|
+
if (unignoredCredentials.length > 0) {
|
|
259
|
+
console.log(chalk.yellow(`\n ⚠ ${credentialsIgnoreHint(unignoredCredentials)}`));
|
|
260
|
+
}
|
|
162
261
|
// 7b. Generate GitHub Actions workflow (if --ci)
|
|
163
262
|
if (options.ci) {
|
|
164
263
|
console.log(chalk.blue("\n─── Generating CI Workflow ───"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { existsSync, rmSync
|
|
1
|
+
import { existsSync, rmSync } from "fs";
|
|
2
2
|
import { join, dirname } from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
-
import { buildCommandMeta, cleanProjectRules, claudeAdapter, detectAdapters, listCommandArtifactPaths, } from "./editors.js";
|
|
4
|
+
import { buildCommandMeta, cleanProjectRules, claudeAdapter, detectAdapters, listCommandArtifactPaths, removeAdapterCommandArtifacts, cleanupEmptyDirs, } from "./editors.js";
|
|
5
5
|
import { removePlaywrightMcp, removeTestRunnerMcp, detectCodeGraphStatus, } from "../shared/index.js";
|
|
6
6
|
export async function uninstall() {
|
|
7
7
|
console.log(chalk.blue("\n🗑️ Uninstalling OpenSpec + Playwright E2E\n"));
|
|
@@ -16,21 +16,22 @@ export async function uninstall() {
|
|
|
16
16
|
removePlaywrightMcp(adapter);
|
|
17
17
|
removeTestRunnerMcp(adapter);
|
|
18
18
|
}
|
|
19
|
-
// 2. Remove E2E command (+ extraArtifacts) for each detected editor
|
|
19
|
+
// 2. Remove E2E command (+ extraArtifacts) for each detected editor —
|
|
20
|
+
// delegates to the removal.ts primitive (same rm + empty-dir cascade +
|
|
21
|
+
// per-path success line as the original inline loop).
|
|
20
22
|
console.log(chalk.blue("\n─── Removing E2E Commands ───"));
|
|
21
23
|
for (const adapter of detected) {
|
|
22
24
|
const relPaths = listCommandArtifactPaths(adapter, meta);
|
|
23
25
|
let removedAny = false;
|
|
24
26
|
for (const relPath of relPaths) {
|
|
25
|
-
|
|
26
|
-
if (existsSync(absPath)) {
|
|
27
|
-
rmSync(absPath);
|
|
28
|
-
cleanupEmptyDirs(dirname(absPath), projectRoot);
|
|
29
|
-
console.log(chalk.green(` ✓ ${adapter.label}: ${relPath}`));
|
|
27
|
+
if (existsSync(join(projectRoot, relPath))) {
|
|
30
28
|
removedAny = true;
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
|
-
if (
|
|
31
|
+
if (removedAny) {
|
|
32
|
+
removeAdapterCommandArtifacts(adapter, projectRoot);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
34
35
|
console.log(chalk.gray(` - ${adapter.label}: E2E command not found, skipping`));
|
|
35
36
|
}
|
|
36
37
|
}
|
|
@@ -93,21 +94,4 @@ export async function uninstall() {
|
|
|
93
94
|
console.log(chalk.gray(" Note: codegraph MCP remains in your agents — remove with: codegraph uninstall"));
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
|
-
function cleanupEmptyDirs(dir, stopAt) {
|
|
97
|
-
while (dir !== stopAt && dir.length > stopAt.length) {
|
|
98
|
-
try {
|
|
99
|
-
const entries = readdirSync(dir);
|
|
100
|
-
if (entries.length === 0) {
|
|
101
|
-
rmdirSync(dir);
|
|
102
|
-
dir = dirname(dir);
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
catch {
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
97
|
//# sourceMappingURL=uninstall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/update.js
CHANGED
|
@@ -7,7 +7,7 @@ import { promisify } from "util";
|
|
|
7
7
|
import chalk from "chalk";
|
|
8
8
|
import * as tar from "tar";
|
|
9
9
|
import { buildCommandMeta, getAllAdapters, hasCommandArtifacts, installCommand, installOpenSpecBlock, installClaudeWrapper, migrateLegacyMarkers, claudeAdapter, claudeWrapperStandardsContent, opencodeAdapter, } from "./editors.js";
|
|
10
|
-
import { ensureTestRunnerMcp, isTestRunnerMcpInstalled, hasFrontendSignal, needsShell, detectCodeGraphStatus, codegraphHintLines, } from "../shared/index.js";
|
|
10
|
+
import { ensureTestRunnerMcp, isTestRunnerMcpInstalled, hasFrontendSignal, needsShell, detectCodeGraphStatus, codegraphHintLines, CREDENTIALS_RELPATHS, credentialsIgnoreHint, findUnignoredFiles, } from "../shared/index.js";
|
|
11
11
|
import { compareBlock, OPENSPEC_START, hasLegacyTerritoryStart } from "../shared/drift.js";
|
|
12
12
|
const execFileAsync = promisify(execFile);
|
|
13
13
|
export async function update(options) {
|
|
@@ -264,7 +264,7 @@ export async function update(options) {
|
|
|
264
264
|
console.log(chalk.bold(`\n Restart ${labels} to use the updated commands.`));
|
|
265
265
|
}
|
|
266
266
|
else {
|
|
267
|
-
console.log(chalk.bold("\n No
|
|
267
|
+
console.log(chalk.bold("\n No configured editors — nothing to restart."));
|
|
268
268
|
}
|
|
269
269
|
// CodeGraph hints — suggest `codegraph init` when the CLI is installed but
|
|
270
270
|
// the project is not indexed, or `codegraph sync` (+ install hooks when the
|
|
@@ -496,6 +496,7 @@ export function syncCredentials(tmpDir, projectRoot) {
|
|
|
496
496
|
mkdirSync(join(projectRoot, "tests", "playwright"), { recursive: true });
|
|
497
497
|
writeFileSync(credsDest, latest);
|
|
498
498
|
console.log(chalk.green(" ✓ Generated: tests/playwright/credentials.yaml"));
|
|
499
|
+
printCredentialsIgnoreHint(projectRoot);
|
|
499
500
|
return;
|
|
500
501
|
}
|
|
501
502
|
const existing = readFileSync(credsDest, "utf-8");
|
|
@@ -534,5 +535,18 @@ export function syncCredentials(tmpDir, projectRoot) {
|
|
|
534
535
|
}
|
|
535
536
|
writeFileSync(credsDest, updated);
|
|
536
537
|
console.log(chalk.green(" ✓ Updated: tests/playwright/credentials.yaml (preserved user data)"));
|
|
538
|
+
printCredentialsIgnoreHint(projectRoot);
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Advisory after credentials.yaml was created or rewritten (both write
|
|
542
|
+
* paths call this): warn when the file — or the .bak backup just written —
|
|
543
|
+
* is not covered by the project's ignore rules. Detection only; the user's
|
|
544
|
+
* .gitignore is never modified.
|
|
545
|
+
*/
|
|
546
|
+
function printCredentialsIgnoreHint(projectRoot) {
|
|
547
|
+
const unignored = findUnignoredFiles(projectRoot, CREDENTIALS_RELPATHS);
|
|
548
|
+
if (unignored.length > 0) {
|
|
549
|
+
console.log(chalk.yellow(`\n ⚠ ${credentialsIgnoreHint(unignored)}`));
|
|
550
|
+
}
|
|
537
551
|
}
|
|
538
552
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,GACV,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,6BAA6B,EAC7B,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAe3F,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAIQ,CAAC;AAQjD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAsB;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAErE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,6BAA6B;IAC7B,MAAM,UAAU,GACd,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACrE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACnE,UAAU,CACR,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAC/D;QACD,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC9D,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAC1E,CAAC;QACF,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,4BAA4B,CAAC,EAC/C;gBACE,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE,WAAW;gBAChB,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,UAAU;aAClB,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACpD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CACxE,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,6EAA6E;QAC7E,wCAAwC;QACxC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CACpE,CAAC;YACF,IAAI,CAAC;gBACH,oEAAoE;gBACpE,sEAAsE;gBACtE,0DAA0D;gBAC1D,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK;oBAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;oBAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3D,YAAY,CAAC,aAAa,EAAE,UAAU,EAAE;oBACtC,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,WAAW;oBAChB,KAAK,EAAE,UAAU;iBAClB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAClE,CAAC;gBACF,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,4DAA4D,CAC7D,CACF,CAAC;gBACF,4DAA4D;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,aAAiC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,aAAa,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CACnE,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,oEAAoE,CACrE,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC;gBACH,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,4BAA4B,CAAC,EAC/C;oBACE,OAAO,EAAE,MAAM;oBACf,GAAG,EAAE,WAAW;oBAChB,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,UAAU;iBAClB,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,+DAA+D,CAChE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAEzC,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;YAC/D,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;YAED,wEAAwE;YACxE,gEAAgE;YAChE,kEAAkE;YAClE,4CAA4C;YAC5C,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CACpC,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,qGAAqG,CACtG,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACpC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,EAAE,CAAC;oBACvC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC/C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,OAAO,OAAO,CAAC,KAAK,mEAAmE,OAAO,CAAC,EAAE,WAAW,CAC7G,CACF,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,oEAAoE;oBACpE,iEAAiE;oBACjE,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;oBAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACtC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC;oBAC3D,CAAC;oBAED,iEAAiE;oBACjE,qEAAqE;oBACrE,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;4BACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;4BACvD,IACE,CAAC,UAAU,CAAC,QAAQ,CAAC;gCACrB,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,KAAK,CAAC,QAAQ,EAClD,CAAC;gCACD,UAAU,GAAG,IAAI,CAAC;gCAClB,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,UAAU,EAAE,CAAC;wBACf,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,kBAAkB,CAAC,CAC/D,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE1C,uEAAuE;YACvE,oEAAoE;YACpE,iEAAiE;YACjE,kDAAkD;YAClD,qBAAqB,CACnB,MAAM,EACN,WAAW,EACX,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,EAC/C,UAAU,CAAC,MAAM,GAAG,CAAC,CACtB,CAAC;YAEF,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,4BAA4B,CAAC,EAC/C;oBACE,OAAO,EAAE,MAAM;oBACf,GAAG,EAAE,WAAW;oBAChB,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,UAAU;iBAClB,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,6DAA6D,CAC9D,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sEAAsE;QACtE,+DAA+D;QAC/D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CACpE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;YACzC,qBAAqB,CACnB,MAAM,EACN,WAAW,EACX,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,EAC/C,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAClE,CAAC;YACF,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,qEAAqE;IACrE,2EAA2E;IAC3E,qEAAqE;IACrE,uEAAuE;IACvE,yEAAyE;IACzE,uEAAuE;IACvE,2BAA2B;IAC3B,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC1B,IAAI,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,+FAA+F,CAChG,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CACpC,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,oGAAoG,CACrG,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAC/D,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,EAAE,CAAC;oBACvC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC/C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,OAAO,OAAO,CAAC,KAAK,mEAAmE,OAAO,CAAC,EAAE,WAAW,CAC7G,CACF,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CACT,OAAO,OAAO,CAAC,KAAK,qCAAqC,CAC1D,CACF,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC;wBACH,mBAAmB,CAAC,OAAO,CAAC,CAAC;wBAC7B,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;4BAClC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,KAAK,eAAe,CAAC,CACvD,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,OAAO,OAAO,CAAC,KAAK,qCAAqC,CAC1D,CACF,CAAC;wBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,KAAK,SAAS,CAAC,CAChE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEjD,gEAAgE;IAChE,gEAAgE;IAChE,2DAA2D;IAC3D,gEAAgE;IAChE,gDAAgD;IAChD,MAAM,kBAAkB,EAAE,CAAC;IAE3B,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CACpC,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,+BAA+B,CAAC,CACjE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAC9D,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB;IAC/B,IAAI,eAAmC,CAAC;IACxC,IAAI,YAAgC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACpE,YAAY,GAAG,OAAO,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAEpD,CAAC;QACF,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;QAC5D,OAAO;IACT,CAAC;IACD,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,IAAI,gBAAoC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,MAAM,EAAE,qBAAqB,EAAE,SAAS,CAAC,EAC1C,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CACtC,CAAC;QACF,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;QACrD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,gBAAgB,IAAI,eAAe,KAAK,gBAAgB;QAAE,OAAO;IAEtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,kCAAkC,eAAe,YAAY,gBAAgB,EAAE,CAChF,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,yCAAyC,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAC3F,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,wFAAwF,CACzF,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,uEAAuE,CACxE,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,0FAA0F,CAC3F,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvC,kEAAkE;IAClE,iEAAiE;IACjE,oCAAoC;IACpC,MAAM,aAAa,CACjB,KAAK,EACL,CAAC,MAAM,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAC7D,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CACtC,CAAC;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE/D,MAAM,GAAG,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,GAAG,EAAE,MAAM;QACX,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,WAAmB,EACnB,gBAAyB,EACzB,cAAuB;IAEvB,kFAAkF;IAClF,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,yEAAyE;IACzE,2DAA2D;IAC3D,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO;IACtC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEtD,yEAAyE;IACzE,qEAAqE;IACrE,kEAAkE;IAClE,gDAAgD;IAChD,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,gFAAgF,CACjF,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,IAAI,cAAc,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5D,kEAAkE;gBAClE,8DAA8D;gBAC9D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,2FAA2F,CAC5F,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,gFAAgF,CACjF,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,4EAA4E,CAC7E,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CACrD,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,yFAAyF,CAC1F,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,4FAA4F,CAC7F,CACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,IAAI,CAAC;YACzB,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,iEAAiE;IACjE,iEAAiE;IACjE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAClD,kEAAkE;QAClE,+DAA+D;QAC/D,oEAAoE;QACpE,gDAAgD;QAChD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YACrE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,uEAAuE,CACxE,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1C,WAAW,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,kGAAkG,CACnG,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,YAAY,CACxB,WAAW,EACX,6BAA6B,EAAE,CAChC,CAAC,KAAK,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,8DAA8D,CAC/D,CACF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;SAAM,IAAI,iBAAiB,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAmB;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAElC,yDAAyD;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CACjE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjE,aAAa,CAAC,gBAAgB,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEhD,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,gEAAgE,CACjE,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,+DAA+D,CAChE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAAmB;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CACpB,WAAW,EACX,OAAO,EACP,YAAY,EACZ,kBAAkB,CACnB,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAElC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAChE,CAAC;QACF,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO;IAEhC,8BAA8B;IAC9B,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACtC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,yEAAyE,CAC1E,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,KAAK,GAAgE,EAAE,CAAC;IAC9E,mEAAmE;IACnE,MAAM,KAAK,GACT,4EAA4E,CAAC;IAC/E,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACzB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpD,kDAAkD;IAClD,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,KAAK;aACpB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,aAAa,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,QAAQ,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAClF;aACA,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,wCAAwC;QACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,6DAA6D,EAC7D,WAAW,SAAS,MAAM,CAC3B,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CACT,sEAAsE,CACvE,CACF,CAAC;IACF,0BAA0B,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,WAAmB;IACrD,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACxE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Credential file paths whose git-ignored status matters (relative). */
|
|
2
|
+
export declare const CREDENTIALS_RELPATHS: string[];
|
|
3
|
+
/**
|
|
4
|
+
* Advisory text for paths not covered by the project's ignore rules.
|
|
5
|
+
* Callers color it (chalk.yellow) — shared modules return plain text,
|
|
6
|
+
* matching the codegraphHintLines pattern.
|
|
7
|
+
*/
|
|
8
|
+
export declare function credentialsIgnoreHint(unignored: string[]): string;
|
|
9
|
+
/**
|
|
10
|
+
* Return the subset of `relPaths` that exist on disk but are NOT covered
|
|
11
|
+
* by the project's ignore rules. Empty result = fully covered.
|
|
12
|
+
*
|
|
13
|
+
* Precedence: git gives `.gitignore` priority over `.git/info/exclude`;
|
|
14
|
+
* an `ignore()` instance resolves last-match-wins, so the lower-priority
|
|
15
|
+
* source is added first and `.gitignore` last. Missing rule files simply
|
|
16
|
+
* contribute nothing (a directory with no rules leaves every existing
|
|
17
|
+
* path uncovered).
|
|
18
|
+
*/
|
|
19
|
+
export declare function findUnignoredFiles(projectRoot: string, relPaths: string[]): string[];
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git ignore coverage check for credential files — advisory only.
|
|
3
|
+
*
|
|
4
|
+
* Reads the run directory's ignore rules directly (`.gitignore` +
|
|
5
|
+
* `.git/info/exclude`) so it works without a git binary and never writes.
|
|
6
|
+
* Shared single source for init and update: both print the hint text from
|
|
7
|
+
* here so the wording cannot drift between commands.
|
|
8
|
+
*/
|
|
9
|
+
import { existsSync, readFileSync } from "fs";
|
|
10
|
+
import { join } from "path";
|
|
11
|
+
import ignore from "ignore";
|
|
12
|
+
/** Credential file paths whose git-ignored status matters (relative). */
|
|
13
|
+
export const CREDENTIALS_RELPATHS = [
|
|
14
|
+
"tests/playwright/credentials.yaml",
|
|
15
|
+
"tests/playwright/credentials.yaml.bak",
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* Advisory text for paths not covered by the project's ignore rules.
|
|
19
|
+
* Callers color it (chalk.yellow) — shared modules return plain text,
|
|
20
|
+
* matching the codegraphHintLines pattern.
|
|
21
|
+
*/
|
|
22
|
+
export function credentialsIgnoreHint(unignored) {
|
|
23
|
+
return (`Test credentials are not git-ignored: ${unignored.join(", ")}` +
|
|
24
|
+
" — add them to .gitignore (or keep credentials in the" +
|
|
25
|
+
" E2E_USERNAME / E2E_PASSWORD env vars instead)");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Return the subset of `relPaths` that exist on disk but are NOT covered
|
|
29
|
+
* by the project's ignore rules. Empty result = fully covered.
|
|
30
|
+
*
|
|
31
|
+
* Precedence: git gives `.gitignore` priority over `.git/info/exclude`;
|
|
32
|
+
* an `ignore()` instance resolves last-match-wins, so the lower-priority
|
|
33
|
+
* source is added first and `.gitignore` last. Missing rule files simply
|
|
34
|
+
* contribute nothing (a directory with no rules leaves every existing
|
|
35
|
+
* path uncovered).
|
|
36
|
+
*/
|
|
37
|
+
export function findUnignoredFiles(projectRoot, relPaths) {
|
|
38
|
+
const ig = ignore();
|
|
39
|
+
for (const ruleFile of [join(".git", "info", "exclude"), ".gitignore"]) {
|
|
40
|
+
const abs = join(projectRoot, ruleFile);
|
|
41
|
+
if (existsSync(abs))
|
|
42
|
+
ig.add(readFileSync(abs, "utf-8"));
|
|
43
|
+
}
|
|
44
|
+
return relPaths.filter((rel) => existsSync(join(projectRoot, rel)) && !ig.ignores(rel));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ignore-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ignore-check.js","sourceRoot":"","sources":["../../src/shared/ignore-check.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,mCAAmC;IACnC,uCAAuC;CACxC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAmB;IACvD,OAAO,CACL,yCAAyC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/D,uDAAuD;QACvD,gDAAgD,CACjD,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,QAAkB;IAElB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,KAAK,MAAM,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAChE,CAAC;AACJ,CAAC"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -5,3 +5,4 @@ export { detectCodeGraphStatus, codegraphHintLines } from "./codegraph.js";
|
|
|
5
5
|
export type { CodeGraphStatus } from "./codegraph.js";
|
|
6
6
|
export { detectAppServer, findNpmRoot, chooseDevScript, parsePort, hasFrontendSignal, } from "./app-detect.js";
|
|
7
7
|
export type { AppServerDetection } from "./app-detect.js";
|
|
8
|
+
export { CREDENTIALS_RELPATHS, credentialsIgnoreHint, findUnignoredFiles, } from "./ignore-check.js";
|
package/dist/shared/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { removePlaywrightMcp, TEST_RUNNER_MCP_SERVER, isTestRunnerMcpInstalled,
|
|
|
3
3
|
export { needsShell } from "./platform.js";
|
|
4
4
|
export { detectCodeGraphStatus, codegraphHintLines } from "./codegraph.js";
|
|
5
5
|
export { detectAppServer, findNpmRoot, chooseDevScript, parsePort, hasFrontendSignal, } from "./app-detect.js";
|
|
6
|
+
export { CREDENTIALS_RELPATHS, credentialsIgnoreHint, findUnignoredFiles, } from "./ignore-check.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/shared/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,SAAS,EACT,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,SAAS,EACT,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openspec-playwright",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.81",
|
|
4
4
|
"description": "OpenSpec + Playwright E2E verification setup tool for Claude Code, OpenCode, Cline, and Cursor",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"chalk": "^5.3.0",
|
|
25
25
|
"commander": "^15.0.0",
|
|
26
26
|
"glob": "^13.0.6",
|
|
27
|
+
"ignore": "^7.0.7",
|
|
27
28
|
"jsonc-parser": "^3.3.1",
|
|
28
29
|
"playwright": "^1.50.0",
|
|
29
30
|
"tar": "^7.5.16"
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
# export E2E_PASSWORD=your-password
|
|
9
9
|
# 3. For multi-user tests, add more users with unique names
|
|
10
10
|
# 4. Run: npx playwright test --project=setup
|
|
11
|
+
# 5. Add this file to .gitignore (it holds real credentials) — or keep
|
|
12
|
+
# credentials in the E2E_USERNAME / E2E_PASSWORD env vars instead
|
|
11
13
|
#
|
|
12
14
|
# API login (preferred): Set `api` to your login endpoint
|
|
13
15
|
# The auth.setup.ts will call POST {api} with username + password
|