@skillcap/gdh 0.19.3 → 0.19.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INSTALL-BUNDLE.json +1 -1
- package/RELEASE-SPAN-UPDATE-CONTRACTS.json +103 -0
- package/node_modules/@gdh/adapters/dist/authoring-hook-render.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/authoring-hook-render.js +34 -13
- package/node_modules/@gdh/adapters/dist/authoring-hook-render.js.map +1 -1
- 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 -5
- package/node_modules/@gdh/adapters/dist/claude-settings-patch.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.js +1 -3
- package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/self-update-mechanics.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/self-update-mechanics.js +11 -8
- package/node_modules/@gdh/adapters/dist/self-update-mechanics.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.js +1 -1
- 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/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/index.js +46 -0
- package/node_modules/@gdh/cli/dist/index.js.map +1 -1
- package/node_modules/@gdh/cli/dist/mcp-cleanup.d.ts +51 -0
- package/node_modules/@gdh/cli/dist/mcp-cleanup.d.ts.map +1 -0
- package/node_modules/@gdh/cli/dist/mcp-cleanup.js +214 -0
- package/node_modules/@gdh/cli/dist/mcp-cleanup.js.map +1 -0
- package/node_modules/@gdh/cli/dist/self-update.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/self-update.js +27 -0
- package/node_modules/@gdh/cli/dist/self-update.js.map +1 -1
- package/node_modules/@gdh/cli/package.json +10 -10
- package/node_modules/@gdh/core/dist/index.d.ts +2 -2
- package/node_modules/@gdh/core/dist/index.js +2 -2
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/dist/guidance.js +1 -1
- package/node_modules/@gdh/docs/dist/guidance.js.map +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
|
@@ -1985,6 +1985,109 @@
|
|
|
1985
1985
|
}
|
|
1986
1986
|
]
|
|
1987
1987
|
}
|
|
1988
|
+
},
|
|
1989
|
+
{
|
|
1990
|
+
"version": "0.19.4",
|
|
1991
|
+
"releaseTag": "v0.19.4",
|
|
1992
|
+
"migrationStatus": "required",
|
|
1993
|
+
"summary": "v0.19.4 tightens generated authoring hooks so they only validate current-session Godot authoring files inside the configured target. Existing managed targets need `gdh migrate --apply` because GDH_GUIDANCE_UNIT_VERSION moves 12 -> 13 and GDH_UPDATE_HOOK_VERSION moves 2 -> 3.",
|
|
1994
|
+
"releaseHighlights": {
|
|
1995
|
+
"summary": "v0.19.4 tightens generated authoring hooks so GDH only validates current-session Godot authoring files inside the configured target. This fixes noisy hook runs from unrelated monorepo files while preserving validation for `.gd`, `.tscn`, `.tres`, and `project.godot`. The release also refreshes hook registration behavior for Claude and Codex so stale managed hook config is repaired during migration instead of being treated as current.",
|
|
1996
|
+
"operatorChanges": [
|
|
1997
|
+
"**Hooks ignore unrelated files.** GDH authoring hooks no longer track or validate edits outside the configured Godot target, nor target-local files outside the authoring validation set.",
|
|
1998
|
+
"**Stop validation is session-scoped.** Stop hooks still fire because agent providers trigger them, but GDH only runs final validation when the current agent session has dirty target-local authoring files.",
|
|
1999
|
+
"**`project.godot` is included.** Project config edits inside the target are tracked with `.gd`, `.tscn`, and `.tres` authoring files.",
|
|
2000
|
+
"**Legacy hook config repairs cleanly.** Migration normalizes old Claude hook settings and replaces old Codex managed hook blocks, removing misleading no-op status messages."
|
|
2001
|
+
]
|
|
2002
|
+
},
|
|
2003
|
+
"updateContract": {
|
|
2004
|
+
"summary": "Managed targets need release-specific migration for v0.19.4 because generated authoring hooks, hook registration config, and authoring guidance changed. After self-update, run `gdh migrate --apply` so GDH re-bakes hooks and guidance for the configured Godot target.",
|
|
2005
|
+
"steps": [
|
|
2006
|
+
{
|
|
2007
|
+
"id": "apply_hook_scope_migration",
|
|
2008
|
+
"kind": "mechanical",
|
|
2009
|
+
"summary": "Refresh generated hooks, hook config, and authoring guidance.",
|
|
2010
|
+
"detail": "Run `gdh migrate --apply` from the monorepo root or configured Godot target so GDH re-bakes Claude/Codex hook surfaces and guidance at the current managed surface versions.",
|
|
2011
|
+
"commands": [
|
|
2012
|
+
"gdh migrate --apply"
|
|
2013
|
+
],
|
|
2014
|
+
"validationCommands": [
|
|
2015
|
+
"gdh guidance status",
|
|
2016
|
+
"gdh adapters status",
|
|
2017
|
+
"gdh verify drift"
|
|
2018
|
+
]
|
|
2019
|
+
},
|
|
2020
|
+
{
|
|
2021
|
+
"id": "confirm_authoring_hook_scope",
|
|
2022
|
+
"kind": "mechanical",
|
|
2023
|
+
"summary": "Confirm hooks only react to target-local Godot authoring files.",
|
|
2024
|
+
"detail": "Inspect adapter status and, when dogfooding, verify edits outside the configured Godot target do not produce GDH authoring validation. Edits to `.gd`, `.tscn`, `.tres`, and `project.godot` inside the target should still be tracked.",
|
|
2025
|
+
"commands": [
|
|
2026
|
+
"gdh adapters status"
|
|
2027
|
+
],
|
|
2028
|
+
"validationCommands": [
|
|
2029
|
+
"gdh adapters status",
|
|
2030
|
+
"gdh verify drift"
|
|
2031
|
+
]
|
|
2032
|
+
},
|
|
2033
|
+
{
|
|
2034
|
+
"id": "check_stale_claude_settings",
|
|
2035
|
+
"kind": "mechanical",
|
|
2036
|
+
"summary": "Repair legacy Claude hook settings if present.",
|
|
2037
|
+
"detail": "Targets with existing `.claude/settings.json` GDH authoring hooks should be normalized by migration: PostToolUse matcher anchored, status messages removed, and sibling non-GDH hooks preserved.",
|
|
2038
|
+
"commands": [
|
|
2039
|
+
"gdh migrate --apply"
|
|
2040
|
+
],
|
|
2041
|
+
"validationCommands": [
|
|
2042
|
+
"gdh adapters status"
|
|
2043
|
+
]
|
|
2044
|
+
}
|
|
2045
|
+
]
|
|
2046
|
+
}
|
|
2047
|
+
},
|
|
2048
|
+
{
|
|
2049
|
+
"version": "0.19.5",
|
|
2050
|
+
"releaseTag": "v0.19.5",
|
|
2051
|
+
"migrationStatus": "no_op",
|
|
2052
|
+
"summary": "v0.19.5 hardens self-update for nested Godot targets and stale MCP cleanup. It does not change managed surface versions, so existing managed targets do not need a release-specific migration.",
|
|
2053
|
+
"releaseHighlights": {
|
|
2054
|
+
"summary": "v0.19.5 hardens self-update behavior for nested Godot targets and stale MCP configuration. It fixes release-to-release updates in monorepos where the GDH target lives below the repository root, and it cleans up old managed MCP entries without touching unrelated project MCP configuration.",
|
|
2055
|
+
"operatorChanges": [
|
|
2056
|
+
"**Nested self-update targets stay targeted.** `gdh self-update` preserves the configured Godot project path when re-baking managed surfaces from a monorepo root.",
|
|
2057
|
+
"**Stale MCP entries are cleaned up.** GDH removes old managed MCP definitions from supported provider config when they are provably GDH-owned and no longer current.",
|
|
2058
|
+
"**Cleanup is target-aware.** MCP cleanup respects the target being updated and avoids deleting unrelated provider entries.",
|
|
2059
|
+
"**Edge cases are covered.** The cleanup path now has dedicated coverage for malformed, missing, and mixed-owner MCP configuration cases."
|
|
2060
|
+
]
|
|
2061
|
+
},
|
|
2062
|
+
"updateContract": {
|
|
2063
|
+
"summary": "No managed project migration is required for v0.19.5. Operators should update the GDH package normally; the new self-update and MCP cleanup behavior applies on future GDH commands.",
|
|
2064
|
+
"steps": [
|
|
2065
|
+
{
|
|
2066
|
+
"id": "update_gdh_package",
|
|
2067
|
+
"kind": "mechanical",
|
|
2068
|
+
"summary": "Use the updated GDH package.",
|
|
2069
|
+
"detail": "Run the normal GDH update flow or use the new package version through `npx`. No `gdh migrate --apply` step is required solely for v0.19.5 because managed surface versions did not change.",
|
|
2070
|
+
"commands": [
|
|
2071
|
+
"gdh self-update"
|
|
2072
|
+
],
|
|
2073
|
+
"validationCommands": [
|
|
2074
|
+
"gdh status"
|
|
2075
|
+
]
|
|
2076
|
+
},
|
|
2077
|
+
{
|
|
2078
|
+
"id": "confirm_no_release_migration_required",
|
|
2079
|
+
"kind": "agent_reasoning",
|
|
2080
|
+
"summary": "Confirm the target does not need release-specific migration work.",
|
|
2081
|
+
"detail": "Check `gdh status` or `gdh migrate` output if the project already has unrelated drift, but do not describe v0.19.5 itself as requiring managed surface migration.",
|
|
2082
|
+
"commands": [
|
|
2083
|
+
"gdh status"
|
|
2084
|
+
],
|
|
2085
|
+
"validationCommands": [
|
|
2086
|
+
"gdh status"
|
|
2087
|
+
]
|
|
2088
|
+
}
|
|
2089
|
+
]
|
|
2090
|
+
}
|
|
1988
2091
|
}
|
|
1989
2092
|
]
|
|
1990
2093
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-hook-render.d.ts","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mCAAmC,yCAAyC,CAAC;AAC1F,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,6BAA6B,uRAC4O,CAAC;AACvR,eAAO,MAAM,4BAA4B,qRAC2O,CAAC;AAErR,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;CACpC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"authoring-hook-render.d.ts","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mCAAmC,yCAAyC,CAAC;AAC1F,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,6BAA6B,uRAC4O,CAAC;AACvR,eAAO,MAAM,4BAA4B,qRAC2O,CAAC;AAErR,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;CACpC,GAAG,MAAM,CA8KT"}
|
|
@@ -35,14 +35,13 @@ export function renderGdhAuthoringHook(input) {
|
|
|
35
35
|
"",
|
|
36
36
|
"function handlePostEdit(input, targetRoot) {",
|
|
37
37
|
" const changed = collectChangedFiles(input, targetRoot);",
|
|
38
|
-
" const authoring = changed.filter(
|
|
38
|
+
" const authoring = changed.filter(isAuthoringValidationPath);",
|
|
39
39
|
" if (authoring.length === 0) return allow();",
|
|
40
40
|
" const state = readDirtyState(targetRoot);",
|
|
41
|
-
" const
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
" const result = runGdh(targetRoot, ['authoring', 'check', '--target', targetRoot, '--mode', 'post-edit', '--format', 'compact', ...scoped.flatMap((file) => ['--changed', file])]);",
|
|
41
|
+
" const sessionState = readCurrentSessionDirtyState(state, input);",
|
|
42
|
+
" const dirtyFiles = unique([...(sessionState.dirtyFiles || []), ...authoring]);",
|
|
43
|
+
" writeCurrentSessionDirtyState(targetRoot, state, input, { dirtyFiles, updatedAt: new Date().toISOString(), lastBlockedHash: sessionState.lastBlockedHash || null });",
|
|
44
|
+
" const result = runGdh(targetRoot, ['authoring', 'check', '--target', targetRoot, '--mode', 'post-edit', '--format', 'compact', ...authoring.flatMap((file) => ['--changed', file])]);",
|
|
46
45
|
" if (!result.ok || !/Completion allowed\\./.test(result.output)) {",
|
|
47
46
|
" return block(`GDH post-edit authoring check needs attention.\\n${result.output || result.error || 'No check output.'}`);",
|
|
48
47
|
" }",
|
|
@@ -51,16 +50,17 @@ export function renderGdhAuthoringHook(input) {
|
|
|
51
50
|
"",
|
|
52
51
|
"function handleStop(input, targetRoot) {",
|
|
53
52
|
" const state = readDirtyState(targetRoot);",
|
|
54
|
-
" const
|
|
53
|
+
" const sessionState = readCurrentSessionDirtyState(state, input);",
|
|
54
|
+
" const dirtyFiles = sanitizeDirtyFiles(sessionState.dirtyFiles || []);",
|
|
55
55
|
" if (dirtyFiles.length === 0) return allow();",
|
|
56
56
|
" const result = runGdh(targetRoot, ['authoring', 'check', '--target', targetRoot, '--mode', 'final', '--format', 'compact']);",
|
|
57
57
|
" if (result.ok && /Completion allowed\\./.test(result.output)) {",
|
|
58
|
-
"
|
|
58
|
+
" clearCurrentSessionDirtyState(targetRoot, state, input);",
|
|
59
59
|
" return allow();",
|
|
60
60
|
" }",
|
|
61
61
|
" const dirtyHash = hash(JSON.stringify(dirtyFiles));",
|
|
62
|
-
" if (input.stop_hook_active === true &&
|
|
63
|
-
"
|
|
62
|
+
" if (input.stop_hook_active === true && sessionState.lastBlockedHash === dirtyHash) return allow();",
|
|
63
|
+
" writeCurrentSessionDirtyState(targetRoot, state, input, { dirtyFiles, updatedAt: new Date().toISOString(), lastBlockedHash: dirtyHash });",
|
|
64
64
|
" return block(`GDH final authoring check is not clean for changed authoring files. Continue fixing before stopping.\\n${result.output || result.error || 'No check output.'}`);",
|
|
65
65
|
"}",
|
|
66
66
|
"",
|
|
@@ -125,7 +125,7 @@ export function renderGdhAuthoringHook(input) {
|
|
|
125
125
|
"function isInside(root, candidate) { const rel = path.relative(root, path.resolve(candidate)); return rel === '' || (!rel.startsWith('..') && !path.isAbsolute(rel)); }",
|
|
126
126
|
"function canonicalPath(value) { try { return fs.realpathSync.native ? fs.realpathSync.native(value) : fs.realpathSync(value); } catch { return path.resolve(value); } }",
|
|
127
127
|
"",
|
|
128
|
-
"function
|
|
128
|
+
"function isAuthoringValidationPath(file) {",
|
|
129
129
|
" if (file === 'project.godot' || file.endsWith('/project.godot')) return true;",
|
|
130
130
|
" return AUTHORING_EXTENSIONS.has(path.extname(file).toLowerCase());",
|
|
131
131
|
"}",
|
|
@@ -139,10 +139,31 @@ export function renderGdhAuthoringHook(input) {
|
|
|
139
139
|
"}",
|
|
140
140
|
"",
|
|
141
141
|
"function dirtyStatePath(targetRoot) { return path.join(targetRoot, '.gdh-state', 'agent-hooks', 'authoring-dirty.json'); }",
|
|
142
|
-
"function readDirtyState(targetRoot) { try { return JSON.parse(fs.readFileSync(dirtyStatePath(targetRoot), 'utf8')); } catch { return {
|
|
142
|
+
"function readDirtyState(targetRoot) { try { return JSON.parse(fs.readFileSync(dirtyStatePath(targetRoot), 'utf8')); } catch { return { sessions: {} }; } }",
|
|
143
143
|
"function writeDirtyState(targetRoot, state) { const file = dirtyStatePath(targetRoot); fs.mkdirSync(path.dirname(file), { recursive: true }); fs.writeFileSync(file, `${JSON.stringify(state, null, 2)}\\n`, 'utf8'); }",
|
|
144
144
|
"function clearDirtyState(targetRoot) { try { fs.rmSync(dirtyStatePath(targetRoot), { force: true }); } catch {} }",
|
|
145
|
-
"function
|
|
145
|
+
"function readCurrentSessionDirtyState(state, input) {",
|
|
146
|
+
" const sessions = state && typeof state === 'object' && state.sessions && typeof state.sessions === 'object' ? state.sessions : {};",
|
|
147
|
+
" const current = sessions[currentSessionKey(input)];",
|
|
148
|
+
" return current && typeof current === 'object' ? current : { dirtyFiles: [], lastBlockedHash: null };",
|
|
149
|
+
"}",
|
|
150
|
+
"function writeCurrentSessionDirtyState(targetRoot, state, input, sessionState) {",
|
|
151
|
+
" const sessions = state && typeof state === 'object' && state.sessions && typeof state.sessions === 'object' ? { ...state.sessions } : {};",
|
|
152
|
+
" sessions[currentSessionKey(input)] = sessionState;",
|
|
153
|
+
" writeDirtyState(targetRoot, { sessions });",
|
|
154
|
+
"}",
|
|
155
|
+
"function clearCurrentSessionDirtyState(targetRoot, state, input) {",
|
|
156
|
+
" const sessions = state && typeof state === 'object' && state.sessions && typeof state.sessions === 'object' ? { ...state.sessions } : {};",
|
|
157
|
+
" delete sessions[currentSessionKey(input)];",
|
|
158
|
+
" if (Object.keys(sessions).length === 0) return clearDirtyState(targetRoot);",
|
|
159
|
+
" writeDirtyState(targetRoot, { sessions });",
|
|
160
|
+
"}",
|
|
161
|
+
"function currentSessionKey(input) { const id = hookSessionId(input); return `${AGENT}:${id || 'no-session'}`; }",
|
|
162
|
+
"function hookSessionId(input) {",
|
|
163
|
+
" const raw = input && (input.session_id || input.sessionId || input.conversation_id || input.conversationId);",
|
|
164
|
+
" return typeof raw === 'string' && raw.trim() ? raw.trim() : '';",
|
|
165
|
+
"}",
|
|
166
|
+
"function sanitizeDirtyFiles(values) { return unique(values).filter((file) => typeof file === 'string' && file !== '' && !file.startsWith('../') && !path.isAbsolute(file) && isAuthoringValidationPath(file)); }",
|
|
146
167
|
"function unique(values) { return [...new Set(values.filter(Boolean))].sort(); }",
|
|
147
168
|
"function hash(value) { return crypto.createHash('sha256').update(value).digest('hex'); }",
|
|
148
169
|
"function readHookInput() { try { return JSON.parse(fs.readFileSync(0, 'utf8') || '{}'); } catch { return {}; } }",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-hook-render.js","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,MAAM,mCAAmC,GAAG,sCAAsC,CAAC;AAC1F,MAAM,CAAC,MAAM,kCAAkC,GAAG,qCAAqC,CAAC;AACxF,MAAM,CAAC,MAAM,6BAA6B,GACxC,oRAAoR,CAAC;AACvR,MAAM,CAAC,MAAM,4BAA4B,GACvC,kRAAkR,CAAC;AAErR,MAAM,UAAU,sBAAsB,CAAC,KAItC;IACC,OAAO;QACL,qBAAqB;QACrB,wBAAwB,uBAAuB,EAAE;QACjD,8DAA8D;QAC9D,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAChE,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG;QAC3E,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;QAC/C,EAAE;QACF,2BAA2B;QAC3B,+BAA+B;QAC/B,mCAAmC;QACnC,iDAAiD;QACjD,EAAE;QACF,kEAAkE;QAClE,yBAAyB;QACzB,EAAE;QACF,SAAS;QACT,EAAE;QACF,mBAAmB;QACnB,kCAAkC;QAClC,gDAAgD;QAChD,0DAA0D;QAC1D,8BAA8B;QAC9B,oCAAoC;QACpC,6GAA6G;QAC7G,mEAAmE;QACnE,mBAAmB;QACnB,GAAG;QACH,EAAE;QACF,8CAA8C;QAC9C,2DAA2D;QAC3D,
|
|
1
|
+
{"version":3,"file":"authoring-hook-render.js","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AA+DxE;;;;;;;;;;;;;;;;;;;;;;;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,CAiDvF"}
|
|
@@ -15,6 +15,7 @@ export const CLAUDE_SETTINGS_RELATIVE_PATH = ".claude/settings.json";
|
|
|
15
15
|
*/
|
|
16
16
|
export const GDH_SESSION_START_HOOK_COMMAND = "node .claude/hooks/gdh-check-update.js";
|
|
17
17
|
export const GDH_AUTHORING_HOOK_COMMAND = CLAUDE_AUTHORING_HOOK_COMMAND;
|
|
18
|
+
const GDH_AUTHORING_POST_TOOL_USE_MATCHER = "^(Edit|Write|MultiEdit)$";
|
|
18
19
|
function hasHookCommand(groups, command) {
|
|
19
20
|
for (const group of groups) {
|
|
20
21
|
if (!group || !Array.isArray(group.hooks))
|
|
@@ -159,21 +160,25 @@ export function patchClaudeSettingsForGdhAuthoringHooks(existingContent) {
|
|
|
159
160
|
const settings = parseClaudeSettings(existingContent);
|
|
160
161
|
const existingHooks = settings.hooks;
|
|
161
162
|
const hooks = existingHooks !== null && typeof existingHooks === "object" ? { ...existingHooks } : {};
|
|
162
|
-
const postToolUse = Array.isArray(hooks.PostToolUse) ?
|
|
163
|
+
const postToolUse = normalizeGdhAuthoringHookGroups(Array.isArray(hooks.PostToolUse) ? hooks.PostToolUse : [], {
|
|
164
|
+
matcher: GDH_AUTHORING_POST_TOOL_USE_MATCHER,
|
|
165
|
+
timeout: 30,
|
|
166
|
+
});
|
|
163
167
|
if (!hasHookCommand(postToolUse, GDH_AUTHORING_HOOK_COMMAND)) {
|
|
164
168
|
postToolUse.push({
|
|
165
|
-
matcher:
|
|
169
|
+
matcher: GDH_AUTHORING_POST_TOOL_USE_MATCHER,
|
|
166
170
|
hooks: [
|
|
167
171
|
{
|
|
168
172
|
type: "command",
|
|
169
173
|
command: GDH_AUTHORING_HOOK_COMMAND,
|
|
170
174
|
timeout: 30,
|
|
171
|
-
statusMessage: "Checking GDH authoring edit",
|
|
172
175
|
},
|
|
173
176
|
],
|
|
174
177
|
});
|
|
175
178
|
}
|
|
176
|
-
const stop = Array.isArray(hooks.Stop) ?
|
|
179
|
+
const stop = normalizeGdhAuthoringHookGroups(Array.isArray(hooks.Stop) ? hooks.Stop : [], {
|
|
180
|
+
timeout: 120,
|
|
181
|
+
});
|
|
177
182
|
if (!hasHookCommand(stop, GDH_AUTHORING_HOOK_COMMAND)) {
|
|
178
183
|
stop.push({
|
|
179
184
|
hooks: [
|
|
@@ -181,7 +186,6 @@ export function patchClaudeSettingsForGdhAuthoringHooks(existingContent) {
|
|
|
181
186
|
type: "command",
|
|
182
187
|
command: GDH_AUTHORING_HOOK_COMMAND,
|
|
183
188
|
timeout: 120,
|
|
184
|
-
statusMessage: "Checking GDH final authoring validation",
|
|
185
189
|
},
|
|
186
190
|
],
|
|
187
191
|
});
|
|
@@ -191,6 +195,24 @@ export function patchClaudeSettingsForGdhAuthoringHooks(existingContent) {
|
|
|
191
195
|
settings.hooks = hooks;
|
|
192
196
|
return `${JSON.stringify(settings, null, 2)}\n`;
|
|
193
197
|
}
|
|
198
|
+
function normalizeGdhAuthoringHookGroups(groups, options) {
|
|
199
|
+
return groups.map((group) => {
|
|
200
|
+
if (!group || !Array.isArray(group.hooks))
|
|
201
|
+
return group;
|
|
202
|
+
if (!hasHookCommand([group], GDH_AUTHORING_HOOK_COMMAND))
|
|
203
|
+
return group;
|
|
204
|
+
const normalizedHooks = group.hooks.map((hook) => hook.type === "command" && hook.command === GDH_AUTHORING_HOOK_COMMAND
|
|
205
|
+
? {
|
|
206
|
+
type: "command",
|
|
207
|
+
command: GDH_AUTHORING_HOOK_COMMAND,
|
|
208
|
+
timeout: options.timeout,
|
|
209
|
+
}
|
|
210
|
+
: hook);
|
|
211
|
+
return options.matcher === undefined
|
|
212
|
+
? { ...group, hooks: normalizedHooks }
|
|
213
|
+
: { ...group, matcher: options.matcher, hooks: normalizedHooks };
|
|
214
|
+
});
|
|
215
|
+
}
|
|
194
216
|
function parseClaudeSettings(existingContent) {
|
|
195
217
|
try {
|
|
196
218
|
const trimmed = existingContent.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings-patch.js","sourceRoot":"","sources":["../src/claude-settings-patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,wCAAwC,CAAC;AACvF,MAAM,CAAC,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-settings-patch.js","sourceRoot":"","sources":["../src/claude-settings-patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -1924,19 +1924,17 @@ function renderManagedCodexAuthoringHookBlock() {
|
|
|
1924
1924
|
return [
|
|
1925
1925
|
"# BEGIN GDH managed authoring hooks",
|
|
1926
1926
|
"[[hooks.PostToolUse]]",
|
|
1927
|
-
'matcher = "apply_patch|Edit|Write"',
|
|
1927
|
+
'matcher = "^(apply_patch|Edit|Write)$"',
|
|
1928
1928
|
"[[hooks.PostToolUse.hooks]]",
|
|
1929
1929
|
'type = "command"',
|
|
1930
1930
|
`command = ${JSON.stringify(CODEX_AUTHORING_HOOK_COMMAND)}`,
|
|
1931
1931
|
"timeout = 30",
|
|
1932
|
-
'statusMessage = "Checking GDH authoring edit"',
|
|
1933
1932
|
"",
|
|
1934
1933
|
"[[hooks.Stop]]",
|
|
1935
1934
|
"[[hooks.Stop.hooks]]",
|
|
1936
1935
|
'type = "command"',
|
|
1937
1936
|
`command = ${JSON.stringify(CODEX_AUTHORING_HOOK_COMMAND)}`,
|
|
1938
1937
|
"timeout = 120",
|
|
1939
|
-
'statusMessage = "Checking GDH final authoring validation"',
|
|
1940
1938
|
"# END GDH managed authoring hooks",
|
|
1941
1939
|
"",
|
|
1942
1940
|
].join("\n");
|