@skillcap/gdh 0.19.0 → 0.19.1
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/INSTALL-BUNDLE.json +1 -1
- package/RELEASE-SPAN-UPDATE-CONTRACTS.json +54 -0
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.d.ts +14 -13
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.js +27 -40
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-statusline-render.d.ts +12 -13
- package/node_modules/@gdh/adapters/dist/claude-statusline-render.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-statusline-render.js +12 -13
- package/node_modules/@gdh/adapters/dist/claude-statusline-render.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.js +14 -12
- package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.js +19 -7
- package/node_modules/@gdh/adapters/dist/skill-rendering.js.map +1 -1
- package/node_modules/@gdh/adapters/package.json +8 -8
- package/node_modules/@gdh/authoring/package.json +2 -2
- package/node_modules/@gdh/cli/package.json +10 -10
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/package.json +2 -2
- package/node_modules/@gdh/mcp/package.json +8 -8
- package/node_modules/@gdh/observability/package.json +2 -2
- package/node_modules/@gdh/runtime/package.json +2 -2
- package/node_modules/@gdh/scan/package.json +3 -3
- package/node_modules/@gdh/verify/package.json +7 -7
- package/package.json +11 -11
package/INSTALL-BUNDLE.json
CHANGED
|
@@ -1777,6 +1777,60 @@
|
|
|
1777
1777
|
}
|
|
1778
1778
|
]
|
|
1779
1779
|
}
|
|
1780
|
+
},
|
|
1781
|
+
{
|
|
1782
|
+
"version": "0.19.1",
|
|
1783
|
+
"releaseTag": "v0.19.1",
|
|
1784
|
+
"migrationStatus": "no_op",
|
|
1785
|
+
"summary": "v0.19.1 hardens supported-agent adapter behavior without changing managed schema or lifecycle surface versions. Claude adapter install no longer auto-registers GDH in Claude Code's single project `statusLine` slot, removes only the exact old GDH-managed statusLine entry during repair/update, and preserves custom statuslines. Generated gdh-update, gdh-status, and gdh-onboard skill guidance is clearer, but no release-scoped schema migration is required.",
|
|
1786
|
+
"releaseHighlights": {
|
|
1787
|
+
"summary": "v0.19.1 hardens supported-agent adapter behavior from dogfooding feedback. Claude project installs no longer auto-own Claude Code's single `statusLine` slot, so existing user or global statuslines stay visible. The release also tightens generated `/gdh-update`, `/gdh-status`, and `/gdh-onboard` skill guidance so agents have clearer operational context during update, status, and onboarding flows.",
|
|
1788
|
+
"operatorChanges": [
|
|
1789
|
+
"**Claude statusline ownership is non-destructive.** GDH still bakes `.claude/hooks/gdh-statusline.js` as an optional script, but adapter install no longer writes a project-level `statusLine` entry when one is absent. This prevents GDH from shadowing user/global Claude statuslines.",
|
|
1790
|
+
"**Old GDH-managed statusline entries are cleaned up safely.** Adapter repair/update removes only the exact prior GDH-managed `statusLine` entry. Custom, user-owned, or tool-owned statuslines are preserved.",
|
|
1791
|
+
"**Shipped skill guidance is clearer.** `/gdh-update` now emphasizes terminal-state follow-through, drift verification, explicit target handling, and stale MCP cleanup boundaries. `/gdh-status` and `/gdh-onboard` define the operational terms agents need instead of assuming project-specific vocabulary is already known."
|
|
1792
|
+
]
|
|
1793
|
+
},
|
|
1794
|
+
"updateContract": {
|
|
1795
|
+
"summary": "No release-scoped managed schema migration is required for v0.19.1. After self-update, the adapter re-bake path applies the Claude statusline cleanup automatically: exact old GDH-managed statusLine ownership is removed, custom statuslines are preserved, and the optional GDH statusline script remains available for projects that explicitly opt into it.",
|
|
1796
|
+
"steps": [
|
|
1797
|
+
{
|
|
1798
|
+
"id": "rebake_agent_adapters",
|
|
1799
|
+
"kind": "mechanical",
|
|
1800
|
+
"summary": "Re-bake supported-agent surfaces at the new GDH pin.",
|
|
1801
|
+
"detail": "`gdh self-update` re-runs the adapter install path. If an agent needs to repair surfaces manually, run `gdh adapters install <target>` for repo-local agent surfaces.",
|
|
1802
|
+
"commands": [
|
|
1803
|
+
"gdh adapters install <target>"
|
|
1804
|
+
],
|
|
1805
|
+
"validationCommands": [
|
|
1806
|
+
"gdh adapters status <target>",
|
|
1807
|
+
"gdh verify drift <target>"
|
|
1808
|
+
]
|
|
1809
|
+
},
|
|
1810
|
+
{
|
|
1811
|
+
"id": "preserve_claude_statusline",
|
|
1812
|
+
"kind": "agent_reasoning",
|
|
1813
|
+
"summary": "Do not replace project or user Claude statuslines with GDH's optional statusline script.",
|
|
1814
|
+
"detail": "Claude Code exposes one statusLine command slot. GDH no longer auto-registers its optional statusline script because a project-level entry can shadow a user's global/custom statusline. If a project deliberately wants the GDH hint, it can configure `.claude/hooks/gdh-statusline.js` itself.",
|
|
1815
|
+
"commands": [],
|
|
1816
|
+
"validationCommands": [
|
|
1817
|
+
"gdh adapters status <target>"
|
|
1818
|
+
]
|
|
1819
|
+
},
|
|
1820
|
+
{
|
|
1821
|
+
"id": "verify_custom_statusline_survived",
|
|
1822
|
+
"kind": "mechanical",
|
|
1823
|
+
"summary": "When a project had a custom Claude statusLine, confirm it remains configured.",
|
|
1824
|
+
"detail": "Inspect `.claude/settings.json` only when statusline behavior is relevant. Custom statusLine entries should remain unchanged; only the exact prior GDH-managed command is removed.",
|
|
1825
|
+
"commands": [
|
|
1826
|
+
"gdh adapters status <target>"
|
|
1827
|
+
],
|
|
1828
|
+
"validationCommands": [
|
|
1829
|
+
"gdh adapters status <target>"
|
|
1830
|
+
]
|
|
1831
|
+
}
|
|
1832
|
+
]
|
|
1833
|
+
}
|
|
1780
1834
|
}
|
|
1781
1835
|
]
|
|
1782
1836
|
}
|
|
@@ -39,21 +39,22 @@ export declare const GDH_AUTHORING_HOOK_COMMAND = "node -e \"const fs=require('f
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function patchClaudeSettingsForGdhSessionStart(existingContent: string): string;
|
|
41
41
|
/**
|
|
42
|
-
* Patch-merge .claude/settings.json so
|
|
43
|
-
*
|
|
42
|
+
* Patch-merge .claude/settings.json so GDH does not own Claude's single
|
|
43
|
+
* statusLine slot automatically.
|
|
44
44
|
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* - If `settings.statusLine` is
|
|
52
|
-
*
|
|
53
|
-
* -
|
|
45
|
+
* Claude Code exposes one project `statusLine` command. Project settings can
|
|
46
|
+
* shadow user/global statusline configuration, so GDH must not create a
|
|
47
|
+
* project-level statusLine entry just to show update hints. The SessionStart
|
|
48
|
+
* hook, MCP `_meta`, and CLI banner are the non-destructive update surfaces.
|
|
49
|
+
*
|
|
50
|
+
* Migration behavior:
|
|
51
|
+
* - If `settings.statusLine` is the exact old GDH-managed entry, remove it.
|
|
52
|
+
* This lets existing targets fall back to user/global statusline behavior.
|
|
53
|
+
* - If `settings.statusLine` is absent, null, or anything else, leave it
|
|
54
|
+
* untouched. GDH does not compose or guess at other tools' commands.
|
|
55
|
+
* - Preserve every sibling top-level key verbatim (hooks, env,
|
|
54
56
|
* permissions, etc.). Composes cleanly with
|
|
55
|
-
* `patchClaudeSettingsForGdhSessionStart`
|
|
56
|
-
* proven by the Task 1 Test J suite).
|
|
57
|
+
* `patchClaudeSettingsForGdhSessionStart` and authoring hook patches.
|
|
57
58
|
*
|
|
58
59
|
* Input handling:
|
|
59
60
|
* - Empty string / whitespace-only → fresh `{}` base (GDH-only output).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings-patch.d.ts","sourceRoot":"","sources":["../src/claude-settings-patch.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,6BAA6B,0BAA0B,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,2CAA2C,CAAC;AACvF,eAAO,MAAM,0BAA0B,uRAAgC,CAAC;AA8DxE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qCAAqC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAuCrF;AAED
|
|
1
|
+
{"version":3,"file":"claude-settings-patch.d.ts","sourceRoot":"","sources":["../src/claude-settings-patch.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,6BAA6B,0BAA0B,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,2CAA2C,CAAC;AACvF,eAAO,MAAM,0BAA0B,uRAAgC,CAAC;AA8DxE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qCAAqC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAuCrF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,mCAAmC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAQnF;AAeD,wBAAgB,uCAAuC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CA2CvF"}
|
|
@@ -105,21 +105,22 @@ export function patchClaudeSettingsForGdhSessionStart(existingContent) {
|
|
|
105
105
|
return `${JSON.stringify(settings, null, 2)}\n`;
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* Patch-merge .claude/settings.json so
|
|
109
|
-
*
|
|
108
|
+
* Patch-merge .claude/settings.json so GDH does not own Claude's single
|
|
109
|
+
* statusLine slot automatically.
|
|
110
110
|
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* - If `settings.statusLine` is
|
|
118
|
-
*
|
|
119
|
-
* -
|
|
111
|
+
* Claude Code exposes one project `statusLine` command. Project settings can
|
|
112
|
+
* shadow user/global statusline configuration, so GDH must not create a
|
|
113
|
+
* project-level statusLine entry just to show update hints. The SessionStart
|
|
114
|
+
* hook, MCP `_meta`, and CLI banner are the non-destructive update surfaces.
|
|
115
|
+
*
|
|
116
|
+
* Migration behavior:
|
|
117
|
+
* - If `settings.statusLine` is the exact old GDH-managed entry, remove it.
|
|
118
|
+
* This lets existing targets fall back to user/global statusline behavior.
|
|
119
|
+
* - If `settings.statusLine` is absent, null, or anything else, leave it
|
|
120
|
+
* untouched. GDH does not compose or guess at other tools' commands.
|
|
121
|
+
* - Preserve every sibling top-level key verbatim (hooks, env,
|
|
120
122
|
* permissions, etc.). Composes cleanly with
|
|
121
|
-
* `patchClaudeSettingsForGdhSessionStart`
|
|
122
|
-
* proven by the Task 1 Test J suite).
|
|
123
|
+
* `patchClaudeSettingsForGdhSessionStart` and authoring hook patches.
|
|
123
124
|
*
|
|
124
125
|
* Input handling:
|
|
125
126
|
* - Empty string / whitespace-only → fresh `{}` base (GDH-only output).
|
|
@@ -138,36 +139,22 @@ export function patchClaudeSettingsForGdhSessionStart(existingContent) {
|
|
|
138
139
|
* that both sides import from.
|
|
139
140
|
*/
|
|
140
141
|
export function patchClaudeSettingsForGdhStatusline(existingContent) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (trimmed.length === 0) {
|
|
145
|
-
settings = {};
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
const parsed = JSON.parse(trimmed);
|
|
149
|
-
if (parsed !== null && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
150
|
-
settings = parsed;
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
settings = {};
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
catch {
|
|
158
|
-
settings = {};
|
|
159
|
-
}
|
|
160
|
-
// Write-if-absent semantics: any existing truthy statusLine value is
|
|
161
|
-
// preserved verbatim (D-18 — another tool already owns the slot, we
|
|
162
|
-
// silently no-op for UPD-02 on this target).
|
|
163
|
-
if (settings.statusLine === undefined || settings.statusLine === null) {
|
|
164
|
-
settings.statusLine = {
|
|
165
|
-
type: "command",
|
|
166
|
-
command: GDH_STATUSLINE_COMMAND,
|
|
167
|
-
};
|
|
142
|
+
const settings = parseClaudeSettings(existingContent);
|
|
143
|
+
if (isExactGdhManagedStatusline(settings.statusLine)) {
|
|
144
|
+
delete settings.statusLine;
|
|
168
145
|
}
|
|
169
146
|
return `${JSON.stringify(settings, null, 2)}\n`;
|
|
170
147
|
}
|
|
148
|
+
function isExactGdhManagedStatusline(value) {
|
|
149
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
const record = value;
|
|
153
|
+
const keys = Object.keys(record);
|
|
154
|
+
return (keys.length === 2 &&
|
|
155
|
+
record["type"] === "command" &&
|
|
156
|
+
record["command"] === GDH_STATUSLINE_COMMAND);
|
|
157
|
+
}
|
|
171
158
|
export function patchClaudeSettingsForGdhAuthoringHooks(existingContent) {
|
|
172
159
|
const settings = parseClaudeSettings(existingContent);
|
|
173
160
|
const existingHooks = settings.hooks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings-patch.js","sourceRoot":"","sources":["../src/claude-settings-patch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"claude-settings-patch.js","sourceRoot":"","sources":["../src/claude-settings-patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Relative path of the managed Claude statusline renderer script.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Relative path of the optional managed Claude statusline renderer script.
|
|
3
|
+
* GDH bakes this file so projects can opt into it manually, but adapter
|
|
4
|
+
* install does not register it in `.claude/settings.json` because Claude
|
|
5
|
+
* exposes only one statusLine command slot and a project-level entry can
|
|
6
|
+
* shadow a user's global statusline.
|
|
6
7
|
*/
|
|
7
8
|
export declare const CLAUDE_STATUSLINE_RELATIVE_PATH = ".claude/hooks/gdh-statusline.js";
|
|
8
9
|
/**
|
|
9
|
-
* Exact command literal
|
|
10
|
-
* `.claude/settings.json`.
|
|
10
|
+
* Exact command literal for the optional GDH statusline script.
|
|
11
11
|
*
|
|
12
12
|
* `patchClaudeSettingsForGdhStatusline` (in claude-settings-patch.ts) imports
|
|
13
|
-
* this constant
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* the universal cross-adapter detection surface is MCP `_meta` (UPD-03).
|
|
13
|
+
* this constant only to remove the exact old GDH-managed statusLine entry
|
|
14
|
+
* during migration. GDH does not auto-register this command anymore; update
|
|
15
|
+
* detection still exists via SessionStart, MCP `_meta`, and CLI banner
|
|
16
|
+
* surfaces.
|
|
18
17
|
*/
|
|
19
18
|
export declare const GDH_STATUSLINE_COMMAND = "node .claude/hooks/gdh-statusline.js";
|
|
20
19
|
/**
|
|
@@ -23,8 +22,8 @@ export declare const GDH_STATUSLINE_COMMAND = "node .claude/hooks/gdh-statusline
|
|
|
23
22
|
*
|
|
24
23
|
* The returned string is written verbatim to `.claude/hooks/gdh-statusline.js`
|
|
25
24
|
* by the adapter install pipeline. At runtime, Claude Code invokes the
|
|
26
|
-
* rendered script (when `statusLine.command`
|
|
27
|
-
*
|
|
25
|
+
* rendered script (when a project deliberately points `statusLine.command` at
|
|
26
|
+
* it) on every prompt render; the script reads the shared
|
|
28
27
|
* cache at `~/.cache/gdh/update-check.json` and prints the yellow
|
|
29
28
|
* `⬆ /gdh-update │ ` indicator when `cache.updateAvailable` is truthy.
|
|
30
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-statusline-render.d.ts","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"claude-statusline-render.d.ts","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,oCACT,CAAC;AAEpC;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,yCAAyC,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CA4B5E"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { GDH_UPDATE_HOOK_VERSION } from "@gdh/core";
|
|
2
2
|
/**
|
|
3
|
-
* Relative path of the managed Claude statusline renderer script.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* Relative path of the optional managed Claude statusline renderer script.
|
|
4
|
+
* GDH bakes this file so projects can opt into it manually, but adapter
|
|
5
|
+
* install does not register it in `.claude/settings.json` because Claude
|
|
6
|
+
* exposes only one statusLine command slot and a project-level entry can
|
|
7
|
+
* shadow a user's global statusline.
|
|
7
8
|
*/
|
|
8
9
|
export const CLAUDE_STATUSLINE_RELATIVE_PATH = ".claude/hooks/gdh-statusline.js";
|
|
9
10
|
/**
|
|
10
|
-
* Exact command literal
|
|
11
|
-
* `.claude/settings.json`.
|
|
11
|
+
* Exact command literal for the optional GDH statusline script.
|
|
12
12
|
*
|
|
13
13
|
* `patchClaudeSettingsForGdhStatusline` (in claude-settings-patch.ts) imports
|
|
14
|
-
* this constant
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* the universal cross-adapter detection surface is MCP `_meta` (UPD-03).
|
|
14
|
+
* this constant only to remove the exact old GDH-managed statusLine entry
|
|
15
|
+
* during migration. GDH does not auto-register this command anymore; update
|
|
16
|
+
* detection still exists via SessionStart, MCP `_meta`, and CLI banner
|
|
17
|
+
* surfaces.
|
|
19
18
|
*/
|
|
20
19
|
export const GDH_STATUSLINE_COMMAND = "node .claude/hooks/gdh-statusline.js";
|
|
21
20
|
/**
|
|
@@ -24,8 +23,8 @@ export const GDH_STATUSLINE_COMMAND = "node .claude/hooks/gdh-statusline.js";
|
|
|
24
23
|
*
|
|
25
24
|
* The returned string is written verbatim to `.claude/hooks/gdh-statusline.js`
|
|
26
25
|
* by the adapter install pipeline. At runtime, Claude Code invokes the
|
|
27
|
-
* rendered script (when `statusLine.command`
|
|
28
|
-
*
|
|
26
|
+
* rendered script (when a project deliberately points `statusLine.command` at
|
|
27
|
+
* it) on every prompt render; the script reads the shared
|
|
29
28
|
* cache at `~/.cache/gdh/update-check.json` and prints the yellow
|
|
30
29
|
* `⬆ /gdh-update │ ` indicator when `cache.updateAvailable` is truthy.
|
|
31
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-statusline-render.js","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"claude-statusline-render.js","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,iCAAiC,CAAC;AAEpC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,4BAA4B,CAAC,cAAuB;IAClE,OAAO;QACL,qBAAqB;QACrB,wBAAwB,uBAAuB,EAAE;QACjD,gGAAgG;QAChG,wFAAwF;QACxF,qFAAqF;QACrF,EAAE;QACF,2BAA2B;QAC3B,+BAA+B;QAC/B,2BAA2B;QAC3B,EAAE;QACF,+BAA+B;QAC/B,6EAA6E;QAC7E,EAAE;QACF,qBAAqB;QACrB,iCAAiC;QACjC,SAAS;QACT,mEAAmE;QACnE,2CAA2C;QAC3C,wDAAwD;QACxD,OAAO;QACP,kBAAkB;QAClB,GAAG;QACH,EAAE;QACF,kCAAkC;QAClC,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1505,22 +1505,24 @@ function planClaudeInstallActions(targetPath, adapter, pinnedVersion) {
|
|
|
1505
1505
|
actions.push(planSkillInstallAction("claude", targetPath, adapter, CLAUDE_ONBOARD_COMMAND_RELATIVE_PATH, renderClaudeOnboardCommand, "gdh-onboard", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_STATUS_COMMAND_RELATIVE_PATH, renderClaudeStatusCommand, "gdh-status", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_MIGRATE_COMMAND_RELATIVE_PATH, renderClaudeMigrateCommand, "gdh-migrate", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_UPDATE_COMMAND_RELATIVE_PATH, renderClaudeUpdateCommand, "gdh-update", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_CHECK_COMMAND_RELATIVE_PATH, renderClaudeCheckCommand, "gdh-check", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_PREPARE_COMMAND_RELATIVE_PATH, renderClaudePrepareCommand, "gdh-prepare", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_SCAN_COMMAND_RELATIVE_PATH, renderClaudeScanCommand, "gdh-scan", pinnedVersion),
|
|
1506
1506
|
// UPD-01 managed hook surfaces baked at the pinned version.
|
|
1507
1507
|
planHookInstallAction("claude", targetPath, adapter, CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH, renderClaudeCheckUpdateHook, "gdh-check-update-hook", pinnedVersion), planHookInstallAction("claude", targetPath, adapter, CLAUDE_CHECK_UPDATE_WORKER_RELATIVE_PATH, renderClaudeCheckUpdateWorker, "gdh-check-update-worker", pinnedVersion),
|
|
1508
|
-
//
|
|
1509
|
-
//
|
|
1510
|
-
//
|
|
1511
|
-
//
|
|
1508
|
+
// Optional statusline script baked at the pinned version. The .js file is
|
|
1509
|
+
// ALWAYS baked, but GDH no longer registers Claude's single project
|
|
1510
|
+
// statusLine slot automatically because that would shadow user/global
|
|
1511
|
+
// statusline content. Users can manually point their config at
|
|
1512
|
+
// gdh-statusline.js later; the baked file is a no-op until wired.
|
|
1512
1513
|
planHookInstallAction("claude", targetPath, adapter, CLAUDE_STATUSLINE_RELATIVE_PATH, renderClaudeUpdateStatusline, "gdh-statusline", pinnedVersion), planHookInstallAction("claude", targetPath, adapter, CLAUDE_AUTHORING_HOOK_RELATIVE_PATH, (version) => renderGdhAuthoringHook({
|
|
1513
1514
|
pinnedVersion: version,
|
|
1514
1515
|
targetRelativePath: ".",
|
|
1515
1516
|
agent: "claude",
|
|
1516
1517
|
}), "authoring guard", pinnedVersion));
|
|
1517
|
-
//
|
|
1518
|
+
// .claude/settings.json composite patch action.
|
|
1518
1519
|
// - Plan 02 (Strategy A, planner-lock #1): patch-merge the SessionStart
|
|
1519
1520
|
// hook entry by exact command-literal match, preserving siblings.
|
|
1520
|
-
// -
|
|
1521
|
-
// entry
|
|
1522
|
-
//
|
|
1523
|
-
//
|
|
1521
|
+
// - Claude statusline migration: remove only the exact old GDH-managed
|
|
1522
|
+
// statusLine entry and never create a new one. Claude supports one
|
|
1523
|
+
// statusLine command; project-level GDH ownership can shadow a user's
|
|
1524
|
+
// global statusline. SessionStart, MCP _meta, and CLI banner remain the
|
|
1525
|
+
// non-destructive update surfaces.
|
|
1524
1526
|
//
|
|
1525
1527
|
// Synchronous read via fsSync is intentional: planClaudeInstallActions is
|
|
1526
1528
|
// called without `await`, and making it async would ripple to every sibling
|
|
@@ -1545,10 +1547,10 @@ function planClaudeInstallActions(targetPath, adapter, pinnedVersion) {
|
|
|
1545
1547
|
state: settingsIsUnchanged ? "unchanged" : "planned",
|
|
1546
1548
|
mode: settingsIsUnchanged ? "unchanged" : settingsExistedOnDisk ? "replace" : "create",
|
|
1547
1549
|
summary: settingsIsUnchanged
|
|
1548
|
-
? "GDH SessionStart hook
|
|
1550
|
+
? "GDH SessionStart hook and authoring guard hooks already registered in .claude/settings.json; statusline ownership preserved."
|
|
1549
1551
|
: settingsExistedOnDisk
|
|
1550
|
-
? "Register the GDH SessionStart hook
|
|
1551
|
-
: "Create .claude/settings.json with the GDH SessionStart hook
|
|
1552
|
+
? "Register the GDH SessionStart hook and authoring guard hooks in .claude/settings.json while preserving sibling content and removing any exact old GDH-managed statusline."
|
|
1553
|
+
: "Create .claude/settings.json with the GDH SessionStart hook and authoring guard hooks.",
|
|
1552
1554
|
content: patchedSettings,
|
|
1553
1555
|
}));
|
|
1554
1556
|
actions.push(...planLegacyClaudeCommandCleanupActions(targetPath));
|