@skillcap/gdh 0.24.0 → 0.25.0
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 +58 -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 +7 -130
- package/node_modules/@gdh/adapters/dist/authoring-hook-render.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-statusline-render.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-statusline-render.js +4 -27
- package/node_modules/@gdh/adapters/dist/claude-statusline-render.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-update-hook-render.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-update-hook-render.js +5 -39
- package/node_modules/@gdh/adapters/dist/claude-update-hook-render.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-update-worker-render.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/claude-update-worker-render.js +5 -67
- package/node_modules/@gdh/adapters/dist/claude-update-worker-render.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.d.ts +1 -2
- package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.js +55 -41
- package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts +2 -5
- package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.js +17 -59
- package/node_modules/@gdh/adapters/dist/skill-rendering.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/template-assets.d.ts +2 -0
- package/node_modules/@gdh/adapters/dist/template-assets.d.ts.map +1 -0
- package/node_modules/@gdh/adapters/dist/template-assets.js +26 -0
- package/node_modules/@gdh/adapters/dist/template-assets.js.map +1 -0
- package/node_modules/@gdh/adapters/dist/templates/authoring-hook.js.tpl +128 -0
- package/node_modules/@gdh/adapters/dist/templates/claude-check-update-hook.js.tpl +37 -0
- package/node_modules/@gdh/adapters/dist/templates/claude-check-update-worker.js.tpl +65 -0
- package/node_modules/@gdh/adapters/dist/templates/claude-statusline.js.tpl +25 -0
- 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 +5 -4
- package/node_modules/@gdh/cli/dist/index.js.map +1 -1
- package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/migrate.js +65 -2
- package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
- package/node_modules/@gdh/cli/dist/setup.d.ts +4 -0
- package/node_modules/@gdh/cli/dist/setup.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/setup.js +8 -67
- package/node_modules/@gdh/cli/dist/setup.js.map +1 -1
- package/node_modules/@gdh/cli/package.json +10 -10
- package/node_modules/@gdh/core/dist/index.d.ts +6 -4
- package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/index.js +5 -4
- package/node_modules/@gdh/core/dist/index.js.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.d.ts +14 -14
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js +15 -15
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.d.ts +294 -0
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.d.ts.map +1 -0
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js +365 -0
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js.map +1 -0
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/dist/agent-contract.d.ts +2 -1
- package/node_modules/@gdh/docs/dist/agent-contract.d.ts.map +1 -1
- package/node_modules/@gdh/docs/dist/agent-contract.js +3 -2
- package/node_modules/@gdh/docs/dist/agent-contract.js.map +1 -1
- package/node_modules/@gdh/docs/dist/guidance.d.ts +2 -0
- package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
- package/node_modules/@gdh/docs/dist/guidance.js +26 -254
- package/node_modules/@gdh/docs/dist/guidance.js.map +1 -1
- package/node_modules/@gdh/docs/dist/index.d.ts +1 -1
- package/node_modules/@gdh/docs/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/docs/dist/index.js +1 -1
- package/node_modules/@gdh/docs/dist/index.js.map +1 -1
- package/node_modules/@gdh/docs/dist/query.d.ts.map +1 -1
- package/node_modules/@gdh/docs/dist/query.js +4 -5
- package/node_modules/@gdh/docs/dist/query.js.map +1 -1
- package/node_modules/@gdh/docs/dist/recovery-hints.js +1 -1
- package/node_modules/@gdh/docs/dist/recovery-hints.js.map +1 -1
- package/node_modules/@gdh/docs/dist/template-assets.d.ts +2 -0
- package/node_modules/@gdh/docs/dist/template-assets.d.ts.map +1 -0
- package/node_modules/@gdh/docs/dist/template-assets.js +26 -0
- package/node_modules/@gdh/docs/dist/template-assets.js.map +1 -0
- package/node_modules/@gdh/docs/dist/templates/guidance/authoring-and-validation.md.tpl +111 -0
- package/node_modules/@gdh/docs/dist/templates/guidance/gdh-glossary.md.tpl +34 -0
- package/node_modules/@gdh/docs/dist/templates/guidance/persistence-semantics.md.tpl +24 -0
- package/node_modules/@gdh/docs/dist/templates/guidance/project-migration.md.tpl +19 -0
- package/node_modules/@gdh/docs/dist/templates/guidance/project-surfaces.md.tpl +14 -0
- 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
|
@@ -2556,6 +2556,64 @@
|
|
|
2556
2556
|
}
|
|
2557
2557
|
]
|
|
2558
2558
|
}
|
|
2559
|
+
},
|
|
2560
|
+
{
|
|
2561
|
+
"version": "0.25.0",
|
|
2562
|
+
"releaseTag": "v0.25.0",
|
|
2563
|
+
"migrationStatus": "required",
|
|
2564
|
+
"summary": "v0.25.0 ships v1.19 Target Surface Containment. Four managed-surface version constants bump (GDH_AGENT_CONTRACT_VERSION 9 -> 10, GDH_GUIDANCE_INDEX_VERSION 5 -> 6, GDH_GUIDANCE_UNIT_VERSION 18 -> 19, GDH_UPDATE_HOOK_VERSION 6 -> 7). Existing managed targets need deterministic re-bake so generated guidance moves under .gdh/guidance, onboarding lives in generated skills, validation check skills are retired, and managed hooks/statusline outputs refresh from template assets. No new class-2 or class-3 migration registry entry is introduced.",
|
|
2565
|
+
"releaseHighlights": {
|
|
2566
|
+
"summary": "v0.25.0 ships the v1.19 Target Surface Containment milestone. GDH no longer generates target-project guidance under `docs/agent/`; managed guidance now lives under `.gdh/guidance/`, workflow instructions live inside generated `gdh-*` skills, validation check skills are retired in favor of hooks/MCP/CLI evidence, and generated renderer bodies now come from tracked template assets instead of large inline strings. The release also contains maintainer safety fixes: setup/tests no longer write developer-global MCP or npm state, test runs block host Godot discovery by default, and the default pre-push hook runs only the cheap migration-golden guard.",
|
|
2567
|
+
"operatorChanges": [
|
|
2568
|
+
"**Generated guidance is contained under `.gdh/guidance/`.** Managed target projects receive `.gdh/guidance/README.md` and the deeper guidance units there. `docs/agent/` is no longer a generated target-project surface, so target project docs do not absorb GDH-owned operating manuals as project truth.",
|
|
2569
|
+
"**Onboarding is a skill.** The generated onboarding workflow now lives in `gdh-onboard` for Claude, Codex, and Cursor instead of a loose `00-gdh-onboarding.md` guidance document.",
|
|
2570
|
+
"**Validation check skills are retired.** GDH no longer ships generated `gdh-check` skills as instruction surfaces. Authoring evidence remains available through managed hooks, MCP/CLI status, and explicit `gdh authoring check` commands.",
|
|
2571
|
+
"**Managed renderers use template assets.** Guidance and hook/statusline renderer bodies are read from tracked `.tpl` assets during build/package assembly, which makes generated output easier to review and keeps source files out of giant string-literal drift.",
|
|
2572
|
+
"**Maintainer setup and tests are contained.** GDH development tests now use repo/test-local config homes for MCP and npm package flows, and the default integration environment disables host Godot discovery/spawning unless a test opts in.",
|
|
2573
|
+
"**Release pre-push is cheaper.** The repo pre-push hook runs migration goldens only. The full migration chain remains enforced by `release:apply`, where it has the correct release-version context."
|
|
2574
|
+
]
|
|
2575
|
+
},
|
|
2576
|
+
"updateContract": {
|
|
2577
|
+
"summary": "Managed targets need deterministic re-bake for v0.25.0 because agent contract, guidance index, guidance unit, and update-hook surface versions changed. After self-update, run gdh migrate --apply, then validate adapter status, drift, and lifecycle health.",
|
|
2578
|
+
"steps": [
|
|
2579
|
+
{
|
|
2580
|
+
"id": "self_update_target_surface_containment_package",
|
|
2581
|
+
"kind": "mechanical",
|
|
2582
|
+
"summary": "Install the v0.25.0 GDH package.",
|
|
2583
|
+
"detail": "Run gdh self-update so the v0.25.0 renderers, template assets, managed-surface versions, and cleanup behavior are available to the host.",
|
|
2584
|
+
"commands": [
|
|
2585
|
+
"gdh self-update --apply"
|
|
2586
|
+
],
|
|
2587
|
+
"validationCommands": [
|
|
2588
|
+
"gdh status"
|
|
2589
|
+
]
|
|
2590
|
+
},
|
|
2591
|
+
{
|
|
2592
|
+
"id": "rebake_v119_managed_surfaces",
|
|
2593
|
+
"kind": "mechanical",
|
|
2594
|
+
"summary": "Re-bake managed AGENTS.md, skills, guidance, and hooks.",
|
|
2595
|
+
"detail": "Run gdh migrate --apply so agent contract version 10 refreshes the managed AGENTS.md block and generated skills, guidance index version 6 and unit version 19 write `.gdh/guidance/`, hook version 7 refreshes hook/statusline outputs, and render-inventory cleanup removes stale GDH-owned generated guidance outside `.gdh`.",
|
|
2596
|
+
"commands": [
|
|
2597
|
+
"gdh migrate --apply"
|
|
2598
|
+
],
|
|
2599
|
+
"validationCommands": [
|
|
2600
|
+
"gdh adapters status",
|
|
2601
|
+
"gdh verify drift",
|
|
2602
|
+
"gdh status"
|
|
2603
|
+
]
|
|
2604
|
+
},
|
|
2605
|
+
{
|
|
2606
|
+
"id": "review_project_docs_for_gdh_leakage",
|
|
2607
|
+
"kind": "manual_review",
|
|
2608
|
+
"summary": "Review any remaining project-owned docs for stale copied GDH prose.",
|
|
2609
|
+
"detail": "GDH removes managed outputs it owns. If a target project manually copied old `docs/agent/*` prose into project-owned docs, treat that as project content and review it manually instead of deleting it automatically.",
|
|
2610
|
+
"commands": [],
|
|
2611
|
+
"validationCommands": [
|
|
2612
|
+
"gdh status"
|
|
2613
|
+
]
|
|
2614
|
+
}
|
|
2615
|
+
]
|
|
2616
|
+
}
|
|
2559
2617
|
}
|
|
2560
2618
|
]
|
|
2561
2619
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-hook-render.d.ts","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authoring-hook-render.d.ts","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"AAMA,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,CAOT"}
|
|
@@ -1,139 +1,16 @@
|
|
|
1
1
|
import { GDH_UPDATE_HOOK_VERSION, assertClassRegistered } from "@gdh/core";
|
|
2
|
+
import { renderAdapterTemplate } from "./template-assets.js";
|
|
2
3
|
assertClassRegistered("authoring_hook", "deterministic");
|
|
3
4
|
export const CLAUDE_AUTHORING_HOOK_RELATIVE_PATH = ".claude/hooks/gdh-authoring-guard.js";
|
|
4
5
|
export const CODEX_AUTHORING_HOOK_RELATIVE_PATH = ".codex/hooks/gdh-authoring-guard.js";
|
|
5
6
|
export const CLAUDE_AUTHORING_HOOK_COMMAND = "node -e \"const fs=require('fs'),path=require('path');let d=process.cwd();for(;;){const f=path.join(d,'.claude/hooks/gdh-authoring-guard.js');if(fs.existsSync(f)){require(f);break}const p=path.dirname(d);if(p===d)throw new Error('GDH Claude authoring hook not found');d=p}\"";
|
|
6
7
|
export const CODEX_AUTHORING_HOOK_COMMAND = "node -e \"const fs=require('fs'),path=require('path');let d=process.cwd();for(;;){const f=path.join(d,'.codex/hooks/gdh-authoring-guard.js');if(fs.existsSync(f)){require(f);break}const p=path.dirname(d);if(p===d)throw new Error('GDH Codex authoring hook not found');d=p}\"";
|
|
7
8
|
export function renderGdhAuthoringHook(input) {
|
|
8
|
-
return
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
`const AGENT = ${JSON.stringify(input.agent)};`,
|
|
15
|
-
"",
|
|
16
|
-
"const fs = require('fs');",
|
|
17
|
-
"const path = require('path');",
|
|
18
|
-
"const { spawnSync } = require('child_process');",
|
|
19
|
-
"",
|
|
20
|
-
"const AUTHORING_EXTENSIONS = new Set(['.gd', '.tscn', '.tres']);",
|
|
21
|
-
"let CURRENT_EVENT = '';",
|
|
22
|
-
"",
|
|
23
|
-
"main();",
|
|
24
|
-
"",
|
|
25
|
-
"function main() {",
|
|
26
|
-
" const input = readHookInput();",
|
|
27
|
-
" const targetRoot = resolveTargetRoot(input);",
|
|
28
|
-
" const hookEvent = String(input.hook_event_name || '');",
|
|
29
|
-
" CURRENT_EVENT = hookEvent;",
|
|
30
|
-
" if (!targetRoot) return allow();",
|
|
31
|
-
" if (hookEvent === 'PostToolUse' || hookEvent === 'FileChanged') return handlePostEdit(input, targetRoot);",
|
|
32
|
-
" return allow();",
|
|
33
|
-
"}",
|
|
34
|
-
"",
|
|
35
|
-
"function handlePostEdit(input, targetRoot) {",
|
|
36
|
-
" const changed = collectChangedFiles(input, targetRoot);",
|
|
37
|
-
" const authoring = changed.filter(isAuthoringValidationPath);",
|
|
38
|
-
" if (authoring.length === 0) return allow();",
|
|
39
|
-
" const changedArgs = authoring.flatMap((file) => ['--changed', file]);",
|
|
40
|
-
" // Attempt to refresh the diagnostics broker for changed files.",
|
|
41
|
-
" // Broker refresh failure is non-fatal: the authoring check falls back to direct LSP.",
|
|
42
|
-
" runGdh(targetRoot, ['authoring', 'diagnostics', 'refresh', '--target', targetRoot, ...changedArgs]);",
|
|
43
|
-
" // Run compact authoring check. When broker was refreshed, this uses the fresh snapshot.",
|
|
44
|
-
" // When broker is unavailable, this falls back to direct LSP post-edit collection.",
|
|
45
|
-
" const result = runGdh(targetRoot, ['authoring', 'check', '--target', targetRoot, '--mode', 'post-edit', '--format', 'compact', ...changedArgs]);",
|
|
46
|
-
" if (!result.ok || !/Completion allowed\\./.test(result.output)) {",
|
|
47
|
-
" return block(`GDH post-edit authoring check needs attention.\\n${result.output || result.error || 'No check output.'}`);",
|
|
48
|
-
" }",
|
|
49
|
-
" return allow();",
|
|
50
|
-
"}",
|
|
51
|
-
"",
|
|
52
|
-
"function runGdh(targetRoot, args) {",
|
|
53
|
-
" const result = spawnSync('npx', ['-y', `@skillcap/gdh@${PINNED_VERSION}`, ...args], {",
|
|
54
|
-
" cwd: targetRoot,",
|
|
55
|
-
" encoding: 'utf8',",
|
|
56
|
-
" windowsHide: true,",
|
|
57
|
-
" timeout: 120000,",
|
|
58
|
-
" });",
|
|
59
|
-
" const output = `${result.stdout || ''}${result.stderr || ''}`.trim();",
|
|
60
|
-
" return { ok: result.status === 0, output, error: result.error ? String(result.error.message || result.error) : '' };",
|
|
61
|
-
"}",
|
|
62
|
-
"",
|
|
63
|
-
"function collectChangedFiles(input, targetRoot) {",
|
|
64
|
-
" const baseCwd = input && typeof input.cwd === 'string' ? input.cwd : process.cwd();",
|
|
65
|
-
" const files = [];",
|
|
66
|
-
" addFile(files, input.file_path, targetRoot, baseCwd);",
|
|
67
|
-
" addFromToolPayload(files, input.tool_input, targetRoot, baseCwd);",
|
|
68
|
-
" addFromToolPayload(files, input.tool_response, targetRoot, baseCwd);",
|
|
69
|
-
" const command = input && input.tool_input && typeof input.tool_input.command === 'string' ? input.tool_input.command : '';",
|
|
70
|
-
" for (const file of parsePatchFileNames(command)) addFile(files, file, targetRoot, baseCwd);",
|
|
71
|
-
" return unique(files);",
|
|
72
|
-
"}",
|
|
73
|
-
"",
|
|
74
|
-
"function addFromToolPayload(files, payload, targetRoot, baseCwd) {",
|
|
75
|
-
" if (!payload || typeof payload !== 'object') return;",
|
|
76
|
-
" addFile(files, payload.file_path, targetRoot, baseCwd);",
|
|
77
|
-
" addFile(files, payload.filePath, targetRoot, baseCwd);",
|
|
78
|
-
" addFile(files, payload.path, targetRoot, baseCwd);",
|
|
79
|
-
" if (Array.isArray(payload.file_paths)) for (const file of payload.file_paths) addFile(files, file, targetRoot, baseCwd);",
|
|
80
|
-
" if (Array.isArray(payload.files)) for (const file of payload.files) addFile(files, file, targetRoot, baseCwd);",
|
|
81
|
-
"}",
|
|
82
|
-
"",
|
|
83
|
-
"function parsePatchFileNames(command) {",
|
|
84
|
-
" const files = [];",
|
|
85
|
-
" const pattern = /^\\*\\*\\* (?:Add|Update|Delete) File: (.+)$/gm;",
|
|
86
|
-
" let match;",
|
|
87
|
-
" while ((match = pattern.exec(command)) !== null) files.push(match[1].trim());",
|
|
88
|
-
" return files;",
|
|
89
|
-
"}",
|
|
90
|
-
"",
|
|
91
|
-
"function addFile(files, value, targetRoot, baseCwd) {",
|
|
92
|
-
" if (typeof value !== 'string' || value.trim() === '') return;",
|
|
93
|
-
" const normalized = normalizeToTargetRelative(value.trim(), targetRoot, baseCwd);",
|
|
94
|
-
" if (normalized) files.push(normalized);",
|
|
95
|
-
"}",
|
|
96
|
-
"",
|
|
97
|
-
"function normalizeToTargetRelative(value, targetRoot, baseCwd) {",
|
|
98
|
-
" if (value.startsWith('res://')) return value.slice('res://'.length);",
|
|
99
|
-
" const canonicalTargetRoot = canonicalPath(targetRoot);",
|
|
100
|
-
" const canonicalBaseCwd = canonicalPath(baseCwd || targetRoot);",
|
|
101
|
-
" const absolute = path.isAbsolute(value) ? canonicalPath(value) : path.resolve(canonicalBaseCwd, value);",
|
|
102
|
-
" const relative = path.relative(canonicalTargetRoot, absolute);",
|
|
103
|
-
" if ((relative.startsWith('..') || path.isAbsolute(relative)) && !path.isAbsolute(value) && isInside(canonicalTargetRoot, canonicalBaseCwd)) {",
|
|
104
|
-
" const fallbackRelative = path.relative(canonicalTargetRoot, path.resolve(canonicalTargetRoot, value));",
|
|
105
|
-
" if (!fallbackRelative.startsWith('..') && !path.isAbsolute(fallbackRelative)) return fallbackRelative.split(path.sep).join('/');",
|
|
106
|
-
" }",
|
|
107
|
-
" if (relative.startsWith('..') || path.isAbsolute(relative)) return null;",
|
|
108
|
-
" return relative.split(path.sep).join('/');",
|
|
109
|
-
"}",
|
|
110
|
-
"function isInside(root, candidate) { const rel = path.relative(root, path.resolve(candidate)); return rel === '' || (!rel.startsWith('..') && !path.isAbsolute(rel)); }",
|
|
111
|
-
"function canonicalPath(value) { try { return fs.realpathSync.native ? fs.realpathSync.native(value) : fs.realpathSync(value); } catch { return path.resolve(value); } }",
|
|
112
|
-
"",
|
|
113
|
-
"function isAuthoringValidationPath(file) {",
|
|
114
|
-
" if (file === 'project.godot' || file.endsWith('/project.godot')) return true;",
|
|
115
|
-
" return AUTHORING_EXTENSIONS.has(path.extname(file).toLowerCase());",
|
|
116
|
-
"}",
|
|
117
|
-
"",
|
|
118
|
-
"function resolveTargetRoot(input) {",
|
|
119
|
-
" const base = path.resolve(__dirname, '..', '..');",
|
|
120
|
-
" const fromScript = path.resolve(base, TARGET_RELATIVE_PATH || '.');",
|
|
121
|
-
" if (fs.existsSync(fromScript)) return fromScript;",
|
|
122
|
-
" if (input && typeof input.cwd === 'string') return input.cwd;",
|
|
123
|
-
" return process.cwd();",
|
|
124
|
-
"}",
|
|
125
|
-
"",
|
|
126
|
-
"function unique(values) { return [...new Set(values.filter(Boolean))].sort(); }",
|
|
127
|
-
"function readHookInput() { try { return JSON.parse(fs.readFileSync(0, 'utf8') || '{}'); } catch { return {}; } }",
|
|
128
|
-
"",
|
|
129
|
-
"function allow() { process.exit(0); }",
|
|
130
|
-
"function block(reason) {",
|
|
131
|
-
" const payload = { decision: 'block', reason };",
|
|
132
|
-
" if (AGENT === 'codex') payload.hookSpecificOutput = { hookEventName: CURRENT_EVENT, additionalContext: reason };",
|
|
133
|
-
" process.stdout.write(`${JSON.stringify(payload)}\\n`);",
|
|
134
|
-
" process.exit(0);",
|
|
135
|
-
"}",
|
|
136
|
-
"",
|
|
137
|
-
].join("\n");
|
|
9
|
+
return renderAdapterTemplate("authoring-hook.js.tpl", {
|
|
10
|
+
hookVersion: String(GDH_UPDATE_HOOK_VERSION),
|
|
11
|
+
pinnedVersionJson: JSON.stringify(input.pinnedVersion),
|
|
12
|
+
targetRelativePathJson: JSON.stringify(input.targetRelativePath),
|
|
13
|
+
agentJson: JSON.stringify(input.agent),
|
|
14
|
+
});
|
|
138
15
|
}
|
|
139
16
|
//# sourceMappingURL=authoring-hook-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring-hook-render.js","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE3E,qBAAqB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAEzD,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
|
|
1
|
+
{"version":3,"file":"authoring-hook-render.js","sourceRoot":"","sources":["../src/authoring-hook-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAqB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAEzD,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,qBAAqB,CAAC,uBAAuB,EAAE;QACpD,WAAW,EAAE,MAAM,CAAC,uBAAuB,CAAC;QAC5C,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;QACtD,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAChE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;KACvC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-statusline-render.d.ts","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-statusline-render.d.ts","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"AAMA;;;;;;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,CAI5E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GDH_UPDATE_HOOK_VERSION, assertClassRegistered } from "@gdh/core";
|
|
2
|
+
import { renderAdapterTemplate } from "./template-assets.js";
|
|
2
3
|
assertClassRegistered("claude_statusline", "deterministic");
|
|
3
4
|
/**
|
|
4
5
|
* Relative path of the optional managed Claude statusline renderer script.
|
|
@@ -49,32 +50,8 @@ export const GDH_STATUSLINE_COMMAND = "node .claude/hooks/gdh-statusline.js";
|
|
|
49
50
|
* output is literal JavaScript.
|
|
50
51
|
*/
|
|
51
52
|
export function renderClaudeUpdateStatusline(_pinnedVersion) {
|
|
52
|
-
return
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"// Claude statusline: emits an upgrade hint when ~/.cache/gdh/update-check.json reports stale.",
|
|
56
|
-
"// Cache written by .claude/hooks/gdh-check-update-worker.js on SessionStart (UPD-01).",
|
|
57
|
-
"// Silent offline degrade per D-06 — missing/corrupt cache writes the empty string.",
|
|
58
|
-
"",
|
|
59
|
-
"const fs = require('fs');",
|
|
60
|
-
"const path = require('path');",
|
|
61
|
-
"const os = require('os');",
|
|
62
|
-
"",
|
|
63
|
-
"const homeDir = os.homedir();",
|
|
64
|
-
"const cacheFile = path.join(homeDir, '.cache', 'gdh', 'update-check.json');",
|
|
65
|
-
"",
|
|
66
|
-
"let gdhUpdate = '';",
|
|
67
|
-
"if (fs.existsSync(cacheFile)) {",
|
|
68
|
-
" try {",
|
|
69
|
-
" const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));",
|
|
70
|
-
" if (cache && cache.updateAvailable) {",
|
|
71
|
-
" gdhUpdate = '\\x1b[33m⬆ /gdh-update\\x1b[0m │ ';",
|
|
72
|
-
" }",
|
|
73
|
-
" } catch (e) {}",
|
|
74
|
-
"}",
|
|
75
|
-
"",
|
|
76
|
-
"process.stdout.write(gdhUpdate);",
|
|
77
|
-
"",
|
|
78
|
-
].join("\n");
|
|
53
|
+
return renderAdapterTemplate("claude-statusline.js.tpl", {
|
|
54
|
+
hookVersion: String(GDH_UPDATE_HOOK_VERSION),
|
|
55
|
+
});
|
|
79
56
|
}
|
|
80
57
|
//# sourceMappingURL=claude-statusline-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-statusline-render.js","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE3E,qBAAqB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAE5D;;;;;;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
|
|
1
|
+
{"version":3,"file":"claude-statusline-render.js","sourceRoot":"","sources":["../src/claude-statusline-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAqB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAE5D;;;;;;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,qBAAqB,CAAC,0BAA0B,EAAE;QACvD,WAAW,EAAE,MAAM,CAAC,uBAAuB,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-update-hook-render.d.ts","sourceRoot":"","sources":["../src/claude-update-hook-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-update-hook-render.d.ts","sourceRoot":"","sources":["../src/claude-update-hook-render.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,sCACd,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,wCAAwC,6CACT,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAKzE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GDH_UPDATE_HOOK_VERSION, assertClassRegistered } from "@gdh/core";
|
|
2
|
+
import { renderAdapterTemplate } from "./template-assets.js";
|
|
2
3
|
assertClassRegistered("claude_update_hook", "deterministic");
|
|
3
4
|
/**
|
|
4
5
|
* Relative path of the managed Claude SessionStart parent hook script.
|
|
@@ -34,44 +35,9 @@ export const CLAUDE_CHECK_UPDATE_WORKER_RELATIVE_PATH = ".claude/hooks/gdh-check
|
|
|
34
35
|
* output is literal JavaScript.
|
|
35
36
|
*/
|
|
36
37
|
export function renderClaudeCheckUpdateHook(pinnedVersion) {
|
|
37
|
-
return
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"// Called by Claude Code SessionStart hook — runs once per session.",
|
|
42
|
-
"// Baked by @gdh/adapters at the pinned gdh_version — regenerated by gdh self-update.",
|
|
43
|
-
"",
|
|
44
|
-
"const fs = require('fs');",
|
|
45
|
-
"const path = require('path');",
|
|
46
|
-
"const os = require('os');",
|
|
47
|
-
"const { spawn } = require('child_process');",
|
|
48
|
-
"",
|
|
49
|
-
"(function () {",
|
|
50
|
-
" // Dev-mode short-circuit: contributors running from source must never see an update signal.",
|
|
51
|
-
" // (Baked script cannot read .gdh-state/local-paths.json without @gdh/core; env var covers the contributor case.)",
|
|
52
|
-
" if (process.env.GDH_DEV_REPO && process.env.GDH_DEV_REPO.trim()) return;",
|
|
53
|
-
"",
|
|
54
|
-
" const homeDir = os.homedir();",
|
|
55
|
-
" const cacheDir = path.join(homeDir, '.cache', 'gdh');",
|
|
56
|
-
" const cacheFile = path.join(cacheDir, 'update-check.json');",
|
|
57
|
-
"",
|
|
58
|
-
" try { fs.mkdirSync(cacheDir, { recursive: true }); } catch (e) {}",
|
|
59
|
-
"",
|
|
60
|
-
" const workerPath = path.join(__dirname, 'gdh-check-update-worker.js');",
|
|
61
|
-
" const child = spawn(process.execPath, [workerPath], {",
|
|
62
|
-
" stdio: 'ignore',",
|
|
63
|
-
" windowsHide: true,",
|
|
64
|
-
" detached: true,",
|
|
65
|
-
" env: {",
|
|
66
|
-
" ...process.env,",
|
|
67
|
-
" GDH_CACHE_FILE: cacheFile,",
|
|
68
|
-
` GDH_PINNED_VERSION: ${JSON.stringify(pinnedVersion)},`,
|
|
69
|
-
" },",
|
|
70
|
-
" });",
|
|
71
|
-
"",
|
|
72
|
-
" child.unref();",
|
|
73
|
-
"})();",
|
|
74
|
-
"",
|
|
75
|
-
].join("\n");
|
|
38
|
+
return renderAdapterTemplate("claude-check-update-hook.js.tpl", {
|
|
39
|
+
hookVersion: String(GDH_UPDATE_HOOK_VERSION),
|
|
40
|
+
pinnedVersionJson: JSON.stringify(pinnedVersion),
|
|
41
|
+
});
|
|
76
42
|
}
|
|
77
43
|
//# sourceMappingURL=claude-update-hook-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-update-hook-render.js","sourceRoot":"","sources":["../src/claude-update-hook-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE3E,qBAAqB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,sCAAsC,GACjD,mCAAmC,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,wCAAwC,GACnD,0CAA0C,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,OAAO
|
|
1
|
+
{"version":3,"file":"claude-update-hook-render.js","sourceRoot":"","sources":["../src/claude-update-hook-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAqB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,sCAAsC,GACjD,mCAAmC,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,wCAAwC,GACnD,0CAA0C,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,OAAO,qBAAqB,CAAC,iCAAiC,EAAE;QAC9D,WAAW,EAAE,MAAM,CAAC,uBAAuB,CAAC;QAC5C,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;KACjD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-update-worker-render.d.ts","sourceRoot":"","sources":["../src/claude-update-worker-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-update-worker-render.d.ts","sourceRoot":"","sources":["../src/claude-update-worker-render.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,6BAA6B,CAC3C,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAOR"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GDH_UPDATE_HOOK_VERSION, GDH_UPDATE_REGISTRY_URL, assertClassRegistered, } from "@gdh/core";
|
|
2
|
+
import { renderAdapterTemplate } from "./template-assets.js";
|
|
2
3
|
assertClassRegistered("claude_update_worker", "deterministic");
|
|
3
4
|
/**
|
|
4
5
|
* Render the background worker source that is spawned (detached + unref) by
|
|
@@ -29,72 +30,9 @@ assertClassRegistered("claude_update_worker", "deterministic");
|
|
|
29
30
|
export function renderClaudeCheckUpdateWorker(_pinnedVersion) {
|
|
30
31
|
// _pinnedVersion is accepted for API uniformity with the hook renderer;
|
|
31
32
|
// the worker body itself reads process.env.GDH_PINNED_VERSION at runtime.
|
|
32
|
-
return
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"// Probes https://registry.npmjs.org/@skillcap/gdh/latest and writes the",
|
|
37
|
-
"// result to the per-user cache at ~/.cache/gdh/update-check.json.",
|
|
38
|
-
"// Exits silently on any failure — D-06 silent-failure contract.",
|
|
39
|
-
"",
|
|
40
|
-
"'use strict';",
|
|
41
|
-
"",
|
|
42
|
-
"const fs = require('fs');",
|
|
43
|
-
"",
|
|
44
|
-
"// Compare semver: true if a is strictly newer than b.",
|
|
45
|
-
"// Strips pre-release suffixes (e.g. '3-beta.1' → '3') to avoid NaN from Number().",
|
|
46
|
-
"function isNewer(a, b) {",
|
|
47
|
-
" const pa = (a || '').split('.').map(s => Number(s.replace(/-.*/, '')) || 0);",
|
|
48
|
-
" const pb = (b || '').split('.').map(s => Number(s.replace(/-.*/, '')) || 0);",
|
|
49
|
-
" for (let i = 0; i < 3; i++) {",
|
|
50
|
-
" if (pa[i] > pb[i]) return true;",
|
|
51
|
-
" if (pa[i] < pb[i]) return false;",
|
|
52
|
-
" }",
|
|
53
|
-
" return false;",
|
|
54
|
-
"}",
|
|
55
|
-
"",
|
|
56
|
-
"(async () => {",
|
|
57
|
-
" // Dev-mode short-circuit: contributors running from source must never see an update signal.",
|
|
58
|
-
" // (Baked worker checks ONLY the env var — cannot read local-paths.json without @gdh/core.)",
|
|
59
|
-
" if (process.env.GDH_DEV_REPO && process.env.GDH_DEV_REPO.trim()) return;",
|
|
60
|
-
"",
|
|
61
|
-
" const pinned = process.env.GDH_PINNED_VERSION;",
|
|
62
|
-
" if (!pinned) return;",
|
|
63
|
-
"",
|
|
64
|
-
" const cacheFile = process.env.GDH_CACHE_FILE;",
|
|
65
|
-
" if (!cacheFile) return;",
|
|
66
|
-
"",
|
|
67
|
-
" let res = null;",
|
|
68
|
-
" try {",
|
|
69
|
-
` res = await fetch(${JSON.stringify(GDH_UPDATE_REGISTRY_URL)}, {`,
|
|
70
|
-
" signal: AbortSignal.timeout(10000),",
|
|
71
|
-
" });",
|
|
72
|
-
" } catch (e) {}",
|
|
73
|
-
"",
|
|
74
|
-
" let latest = null;",
|
|
75
|
-
" if (res && res.ok) {",
|
|
76
|
-
" try {",
|
|
77
|
-
" const body = await res.json();",
|
|
78
|
-
" if (typeof body.version === 'string') {",
|
|
79
|
-
" latest = body.version;",
|
|
80
|
-
" }",
|
|
81
|
-
" } catch (e) {}",
|
|
82
|
-
" }",
|
|
83
|
-
"",
|
|
84
|
-
" // Offline / registry 5xx / parse error — write nothing per D-06.",
|
|
85
|
-
" if (latest === null) return;",
|
|
86
|
-
"",
|
|
87
|
-
" const result = {",
|
|
88
|
-
" pinned,",
|
|
89
|
-
" latest,",
|
|
90
|
-
" checkedAt: new Date().toISOString(),",
|
|
91
|
-
" source: 'npm-registry-latest',",
|
|
92
|
-
" updateAvailable: isNewer(latest, pinned),",
|
|
93
|
-
" };",
|
|
94
|
-
"",
|
|
95
|
-
" try { fs.writeFileSync(cacheFile, JSON.stringify(result, null, 2)); } catch (e) {}",
|
|
96
|
-
"})();",
|
|
97
|
-
"",
|
|
98
|
-
].join("\n");
|
|
33
|
+
return renderAdapterTemplate("claude-check-update-worker.js.tpl", {
|
|
34
|
+
hookVersion: String(GDH_UPDATE_HOOK_VERSION),
|
|
35
|
+
registryUrlJson: JSON.stringify(GDH_UPDATE_REGISTRY_URL),
|
|
36
|
+
});
|
|
99
37
|
}
|
|
100
38
|
//# sourceMappingURL=claude-update-worker-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-update-worker-render.js","sourceRoot":"","sources":["../src/claude-update-worker-render.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,cAAuB;IAEvB,wEAAwE;IACxE,0EAA0E;IAC1E,OAAO
|
|
1
|
+
{"version":3,"file":"claude-update-worker-render.js","sourceRoot":"","sources":["../src/claude-update-worker-render.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,cAAuB;IAEvB,wEAAwE;IACxE,0EAA0E;IAC1E,OAAO,qBAAqB,CAAC,mCAAmC,EAAE;QAChE,WAAW,EAAE,MAAM,CAAC,uBAAuB,CAAC;QAC5C,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type GdhAgentAdaptersInstallResult, type GdhAgentAdaptersStatusResult, type GdhGsdSnapshot, type GdhProjectLifecycleCompatibilityResult, type GdhProjectLifecycleSurfaceStatus, type GdhStatusResult, type GdhSupportedAgent } from "@gdh/core";
|
|
2
2
|
import { type GdhStatusBuildAdapters } from "./deferred-actions-advisory.js";
|
|
3
|
-
export { GDH_MANAGED_AGENT_SKILL_MARKER, GDH_SKILL_DEFINITIONS, GDH_SKILL_IDS, renderGdhSkill, renderManagedSkillMarker,
|
|
3
|
+
export { GDH_MANAGED_AGENT_SKILL_MARKER, GDH_SKILL_DEFINITIONS, GDH_SKILL_IDS, renderGdhSkill, renderManagedSkillMarker, renderClaudeMigrateSkill, renderClaudeOnboardSkill, renderClaudePrepareSkill, renderClaudeRunGameSkill, renderClaudeScanSkill, renderClaudeStatusSkill, renderClaudeUpdateSkill, renderCodexMigrateSkill, renderCodexOnboardSkill, renderCodexPrepareSkill, renderCodexRunGameSkill, renderCodexScanSkill, renderCodexStatusSkill, renderCodexUpdateSkill, renderCursorMigrateSkill, renderCursorOnboardSkill, renderCursorPrepareSkill, renderCursorRunGameSkill, renderCursorScanSkill, renderCursorStatusSkill, renderCursorUpdateSkill, } from "./skill-rendering.js";
|
|
4
4
|
export declare const adaptersPackage: import("@gdh/core").GdhPackageBoundary;
|
|
5
5
|
export declare const SUPPORTED_AGENTS: readonly ["codex", "claude", "cursor"];
|
|
6
6
|
export declare const CLAUDE_SHIM_RELATIVE_PATH = "CLAUDE.md";
|
|
@@ -65,7 +65,6 @@ export declare function renderClaudeStatusCommand(pinnedVersion: string): string
|
|
|
65
65
|
export declare function renderClaudeScanCommand(pinnedVersion: string): string;
|
|
66
66
|
export declare function renderClaudeMigrateCommand(pinnedVersion: string): string;
|
|
67
67
|
export declare function renderClaudeUpdateCommand(pinnedVersion: string): string;
|
|
68
|
-
export declare function renderClaudeCheckCommand(pinnedVersion: string): string;
|
|
69
68
|
export declare function renderClaudePrepareCommand(pinnedVersion: string): string;
|
|
70
69
|
export declare function renderClaudeRunGameCommand(pinnedVersion: string): string;
|
|
71
70
|
export declare function renderManagedCodexProjectSection(pinnedVersion: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAeL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EAInB,KAAK,sCAAsC,EAE3C,KAAK,gCAAgC,EAKrC,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAIvB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|