@skillcap/gdh 0.19.6 → 0.21.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 +147 -0
- package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.js +53 -10
- 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 +7 -4
- 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/dist/index.d.ts +1 -1
- package/node_modules/@gdh/authoring/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/authoring/dist/index.js +1 -1
- package/node_modules/@gdh/authoring/dist/index.js.map +1 -1
- package/node_modules/@gdh/authoring/dist/project.d.ts +1 -0
- package/node_modules/@gdh/authoring/dist/project.d.ts.map +1 -1
- package/node_modules/@gdh/authoring/dist/project.js +4 -0
- package/node_modules/@gdh/authoring/dist/project.js.map +1 -1
- package/node_modules/@gdh/authoring/package.json +2 -2
- package/node_modules/@gdh/cli/dist/bridge-session.d.ts +21 -0
- package/node_modules/@gdh/cli/dist/bridge-session.d.ts.map +1 -0
- package/node_modules/@gdh/cli/dist/bridge-session.js +442 -0
- package/node_modules/@gdh/cli/dist/bridge-session.js.map +1 -0
- package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/index.js +70 -30
- package/node_modules/@gdh/cli/dist/index.js.map +1 -1
- package/node_modules/@gdh/cli/dist/migrate.d.ts +13 -0
- package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/migrate.js +20 -0
- package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
- package/node_modules/@gdh/cli/package.json +10 -10
- package/node_modules/@gdh/core/dist/index.d.ts +22 -2
- package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/index.js +2 -2
- package/node_modules/@gdh/core/dist/index.js.map +1 -1
- package/node_modules/@gdh/core/dist/local-path-hints.d.ts +22 -1
- package/node_modules/@gdh/core/dist/local-path-hints.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/local-path-hints.js +139 -4
- package/node_modules/@gdh/core/dist/local-path-hints.js.map +1 -1
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
- package/node_modules/@gdh/docs/dist/guidance.js +12 -2
- 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/dist/bridge-tools.d.ts +15 -0
- package/node_modules/@gdh/mcp/dist/bridge-tools.d.ts.map +1 -0
- package/node_modules/@gdh/mcp/dist/bridge-tools.js +111 -0
- package/node_modules/@gdh/mcp/dist/bridge-tools.js.map +1 -0
- package/node_modules/@gdh/mcp/dist/index.d.ts +3 -2
- package/node_modules/@gdh/mcp/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/mcp/dist/index.js +13 -44
- package/node_modules/@gdh/mcp/dist/index.js.map +1 -1
- package/node_modules/@gdh/mcp/package.json +8 -8
- package/node_modules/@gdh/observability/package.json +2 -2
- package/node_modules/@gdh/runtime/dist/bridge-broker-client.d.ts +32 -0
- package/node_modules/@gdh/runtime/dist/bridge-broker-client.d.ts.map +1 -0
- package/node_modules/@gdh/runtime/dist/bridge-broker-client.js +118 -0
- package/node_modules/@gdh/runtime/dist/bridge-broker-client.js.map +1 -0
- package/node_modules/@gdh/runtime/dist/bridge-broker.d.ts +78 -0
- package/node_modules/@gdh/runtime/dist/bridge-broker.d.ts.map +1 -0
- package/node_modules/@gdh/runtime/dist/bridge-broker.js +587 -0
- package/node_modules/@gdh/runtime/dist/bridge-broker.js.map +1 -0
- package/node_modules/@gdh/runtime/dist/index.d.ts +3 -0
- package/node_modules/@gdh/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/runtime/dist/index.js +3 -0
- package/node_modules/@gdh/runtime/dist/index.js.map +1 -1
- package/node_modules/@gdh/runtime/package.json +2 -2
- package/node_modules/@gdh/scan/dist/onboard.js +1 -1
- package/node_modules/@gdh/scan/dist/onboard.js.map +1 -1
- 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
|
@@ -2146,6 +2146,153 @@
|
|
|
2146
2146
|
}
|
|
2147
2147
|
]
|
|
2148
2148
|
}
|
|
2149
|
+
},
|
|
2150
|
+
{
|
|
2151
|
+
"version": "0.20.0",
|
|
2152
|
+
"releaseTag": "v0.20.0",
|
|
2153
|
+
"migrationStatus": "required",
|
|
2154
|
+
"summary": "v0.20.0 moves bridge-session ownership to host-side broker infrastructure and refreshes generated agent guidance for broker recovery. Existing managed targets need `gdh migrate --apply` because GDH_AGENT_CONTRACT_VERSION moves 5 -> 6 and GDH_GUIDANCE_UNIT_VERSION moves 13 -> 14.",
|
|
2155
|
+
"releaseHighlights": {
|
|
2156
|
+
"summary": "v0.20.0 moves runtime bridge-session ownership into target-local host-side broker infrastructure. CLI and MCP clients can reconnect to the same GDH-owned bridge session after the original client process exits, while stale broker state is reported through status, doctor, and prune guidance.",
|
|
2157
|
+
"operatorChanges": [
|
|
2158
|
+
"**Bridge sessions are broker-owned.** GDH bridge-session commands and MCP bridge tools now route through the local broker so a fresh CLI or MCP client can recover a healthy broker-owned session.",
|
|
2159
|
+
"**Broker cleanup is explicit.** `gdh status`, `gdh bridge session doctor`, and `gdh bridge session prune --stale` distinguish healthy, stale, and pre-broker session state without asking agents to manually kill editor or Godot processes.",
|
|
2160
|
+
"**Generated guidance explains the transition.** Agent skills and authoring guidance now describe pre-broker active session limits, stale old-version broker metadata, and when project-side bridge repair is or is not needed.",
|
|
2161
|
+
"**Release gates prove broker portability.** Public-release checks run broker platform and MCP/CLI recovery tests when the release migration manifest includes `broker_transition`."
|
|
2162
|
+
]
|
|
2163
|
+
},
|
|
2164
|
+
"updateContract": {
|
|
2165
|
+
"summary": "Managed targets need release-specific migration for v0.20.0 because generated agent skill and guidance surfaces changed for broker recovery. After self-update, run `gdh migrate --apply`, then use status and bridge-session doctor output to classify broker state.",
|
|
2166
|
+
"steps": [
|
|
2167
|
+
{
|
|
2168
|
+
"id": "self_update_broker_package",
|
|
2169
|
+
"kind": "mechanical",
|
|
2170
|
+
"summary": "Install the broker-capable GDH package.",
|
|
2171
|
+
"detail": "Run the normal GDH self-update or package update path. The broker starts on demand from GDH bridge-session clients; users do not start a separate MCP or broker service by hand.",
|
|
2172
|
+
"commands": [
|
|
2173
|
+
"gdh self-update --apply"
|
|
2174
|
+
],
|
|
2175
|
+
"validationCommands": [
|
|
2176
|
+
"gdh status"
|
|
2177
|
+
]
|
|
2178
|
+
},
|
|
2179
|
+
{
|
|
2180
|
+
"id": "refresh_generated_guidance",
|
|
2181
|
+
"kind": "mechanical",
|
|
2182
|
+
"summary": "Re-bake generated agent skills and authoring guidance.",
|
|
2183
|
+
"detail": "Run `gdh migrate --apply` so managed agent contract version 6 and guidance unit version 14 are written to the target. This refreshes broker recovery, stale-MCP recovery, prune, and no-unnecessary-bridge-repair wording.",
|
|
2184
|
+
"commands": [
|
|
2185
|
+
"gdh migrate --apply"
|
|
2186
|
+
],
|
|
2187
|
+
"validationCommands": [
|
|
2188
|
+
"gdh status",
|
|
2189
|
+
"gdh adapters status",
|
|
2190
|
+
"gdh verify drift"
|
|
2191
|
+
]
|
|
2192
|
+
},
|
|
2193
|
+
{
|
|
2194
|
+
"id": "classify_bridge_session_state",
|
|
2195
|
+
"kind": "agent_reasoning",
|
|
2196
|
+
"summary": "Distinguish healthy broker state from stale or pre-broker state.",
|
|
2197
|
+
"detail": "Use `gdh bridge session doctor` and `gdh bridge session list` to identify healthy broker-owned sessions, stale old-version broker metadata, and pre-broker active bridge sessions. Pre-broker active bridge sessions are not recoverable through broker clients after update.",
|
|
2198
|
+
"commands": [
|
|
2199
|
+
"gdh bridge session doctor",
|
|
2200
|
+
"gdh bridge session list"
|
|
2201
|
+
],
|
|
2202
|
+
"validationCommands": [
|
|
2203
|
+
"gdh status",
|
|
2204
|
+
"gdh bridge session doctor"
|
|
2205
|
+
]
|
|
2206
|
+
},
|
|
2207
|
+
{
|
|
2208
|
+
"id": "prune_stale_broker_metadata",
|
|
2209
|
+
"kind": "mechanical",
|
|
2210
|
+
"summary": "Clean only stale GDH-owned broker metadata.",
|
|
2211
|
+
"detail": "Run prune only when doctor reports stale GDH broker metadata. Do not manually kill editor, Godot, or unrelated user processes. Host-side broker recovery does not require `gdh bridge repair`; repair is only for managed Godot addon drift.",
|
|
2212
|
+
"commands": [
|
|
2213
|
+
"gdh bridge session prune --stale"
|
|
2214
|
+
],
|
|
2215
|
+
"validationCommands": [
|
|
2216
|
+
"gdh bridge session doctor",
|
|
2217
|
+
"gdh status"
|
|
2218
|
+
]
|
|
2219
|
+
}
|
|
2220
|
+
]
|
|
2221
|
+
}
|
|
2222
|
+
},
|
|
2223
|
+
{
|
|
2224
|
+
"version": "0.21.0",
|
|
2225
|
+
"releaseTag": "v0.21.0",
|
|
2226
|
+
"migrationStatus": "required",
|
|
2227
|
+
"summary": "v0.21.0 adds global machine-local Godot editor discovery guidance and hardens nested monorepo authoring target canonicalization. Existing managed targets need `gdh migrate --apply` because GDH_AGENT_CONTRACT_VERSION moves 6 -> 7 and GDH_GUIDANCE_UNIT_VERSION moves 14 -> 15.",
|
|
2228
|
+
"releaseHighlights": {
|
|
2229
|
+
"summary": "v0.21.0 improves authoring readiness in real monorepos. GDH can now reuse a machine-wide Godot editor path from `~/.gdh/config.json`, check safe common editor locations before asking for manual setup, and consistently canonicalize nested Godot project inputs back to the onboarded GDH integration root before running authoring validators.",
|
|
2230
|
+
"operatorChanges": [
|
|
2231
|
+
"**Global Godot editor discovery.** Authoring checks, target preparation, and onboarding can resolve the editor path from `GDH_GODOT_EDITOR_BIN`, target-local hints, global `~/.gdh/config.json`, and safe common install locations.",
|
|
2232
|
+
"**Better setup guidance for machine-local paths.** Generated guidance and agent skills now tell agents what GDH already checked before asking for a Godot binary path, and prefer a reusable global config when the path should apply across projects.",
|
|
2233
|
+
"**Nested monorepo authoring checks use the integration root.** Passing a nested primary Godot project path such as `apps/game` no longer causes validators to append `primary_godot_project_path` twice.",
|
|
2234
|
+
"**Release proof covers the nested target regression.** The regression suite now checks `gdh authoring check --target <nested-primary-project>` against a brownfield monorepo fixture."
|
|
2235
|
+
]
|
|
2236
|
+
},
|
|
2237
|
+
"updateContract": {
|
|
2238
|
+
"summary": "Managed targets need release-specific migration for v0.21.0 because generated agent skill and guidance surfaces changed for Godot editor discovery and nested target handling. After self-update, run `gdh migrate --apply`, then validate status and drift.",
|
|
2239
|
+
"steps": [
|
|
2240
|
+
{
|
|
2241
|
+
"id": "self_update_authoring_package",
|
|
2242
|
+
"kind": "mechanical",
|
|
2243
|
+
"summary": "Install the v0.21.0 GDH package.",
|
|
2244
|
+
"detail": "Run the normal GDH self-update or package update path. This updates CLI behavior for global Godot editor discovery and nested target canonicalization.",
|
|
2245
|
+
"commands": [
|
|
2246
|
+
"gdh self-update --apply"
|
|
2247
|
+
],
|
|
2248
|
+
"validationCommands": [
|
|
2249
|
+
"gdh status"
|
|
2250
|
+
]
|
|
2251
|
+
},
|
|
2252
|
+
{
|
|
2253
|
+
"id": "refresh_generated_authoring_guidance",
|
|
2254
|
+
"kind": "mechanical",
|
|
2255
|
+
"summary": "Re-bake generated agent skills and authoring guidance.",
|
|
2256
|
+
"detail": "Run `gdh migrate --apply` so managed agent contract version 7 and guidance unit version 15 are written to the target. This refreshes Godot editor discovery wording and nested-target-safe authoring guidance.",
|
|
2257
|
+
"commands": [
|
|
2258
|
+
"gdh migrate --apply"
|
|
2259
|
+
],
|
|
2260
|
+
"validationCommands": [
|
|
2261
|
+
"gdh status",
|
|
2262
|
+
"gdh adapters status",
|
|
2263
|
+
"gdh verify drift"
|
|
2264
|
+
]
|
|
2265
|
+
},
|
|
2266
|
+
{
|
|
2267
|
+
"id": "classify_godot_editor_path_state",
|
|
2268
|
+
"kind": "agent_reasoning",
|
|
2269
|
+
"summary": "Classify machine-local Godot editor path state from structured GDH output.",
|
|
2270
|
+
"detail": "If GDH still reports `godot_editor_not_configured`, explain that environment, target-local hints, global config, and safe common locations were checked. Ask for a local path only after those fail, and prefer global `~/.gdh/config.json` when the path should apply across projects.",
|
|
2271
|
+
"commands": [
|
|
2272
|
+
"gdh status",
|
|
2273
|
+
"gdh target prepare --dry-run"
|
|
2274
|
+
],
|
|
2275
|
+
"validationCommands": [
|
|
2276
|
+
"gdh authoring check --mode final",
|
|
2277
|
+
"gdh target prepare --dry-run"
|
|
2278
|
+
]
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"id": "validate_nested_monorepo_target",
|
|
2282
|
+
"kind": "agent_reasoning",
|
|
2283
|
+
"summary": "Confirm nested monorepo targets are invoked from the onboarded integration root.",
|
|
2284
|
+
"detail": "For monorepos whose `.gdh/project.yaml` lives at the repository root and `primary_godot_project_path` points at a nested project, use the repository root as the canonical GDH target. GDH now also canonicalizes nested inputs defensively before authoring validators run.",
|
|
2285
|
+
"commands": [
|
|
2286
|
+
"gdh status",
|
|
2287
|
+
"gdh authoring check --mode final"
|
|
2288
|
+
],
|
|
2289
|
+
"validationCommands": [
|
|
2290
|
+
"gdh status",
|
|
2291
|
+
"gdh authoring check --mode final"
|
|
2292
|
+
]
|
|
2293
|
+
}
|
|
2294
|
+
]
|
|
2295
|
+
}
|
|
2149
2296
|
}
|
|
2150
2297
|
]
|
|
2151
2298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAcL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EAInB,KAAK,sCAAsC,EAE3C,KAAK,gCAAgC,EAKrC,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAIvB,MAAM,WAAW,CAAC;AA+DnB,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,eAAe,wCAa1B,CAAC;AAEH,eAAO,MAAM,gBAAgB,wCAIoB,CAAC;AAClD,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,yBAAyB,gCAAgC,CAAC;AACvE,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,iCAAiC,wCAAwC,CAAC;AACvF,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,gCAAgC,sCAAsC,CAAC;AACpF,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,gCAAgC,uCAAuC,CAAC;AACrF,eAAO,MAAM,iCAAiC,wCAAwC,CAAC;AACvF,eAAO,MAAM,+BAA+B,sCAAsC,CAAC;AACnF,eAAO,MAAM,iCAAiC,wCAAwC,CAAC;AACvF,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,gCAAgC,sCAAsC,CAAC;AACpF,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AAOxF,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,gCAAgC,uCAAuC,CAAC;AACrF,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,+BAA+B,qCAAqC,CAAC;AAClF,eAAO,MAAM,8BAA8B,qCAAqC,CAAC;AACjF,eAAO,MAAM,oCAAoC,wCAAqC,CAAC;AACvF,eAAO,MAAM,mCAAmC,uCAAoC,CAAC;AACrF,eAAO,MAAM,oCAAoC,wCAAqC,CAAC;AACvF,eAAO,MAAM,kCAAkC,sCAAmC,CAAC;AACnF,eAAO,MAAM,oCAAoC,wCAAqC,CAAC;AACvF,eAAO,MAAM,mCAAmC,uCAAoC,CAAC;AACrF,eAAO,MAAM,iCAAiC,qCAAkC,CAAC;AAoBjF,eAAO,MAAM,+BAA+B,qCAAqC,CAAC;AAClF,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,uBAAuB,CAAC;AACvE,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AASzC,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,GACL,OAAO,CAAC,4BAA4B,CAAC,CAuBvC;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC9B,GACL,OAAO,CAAC,6BAA6B,CAAC,CA8ExC;AAED,wBAAsB,oCAAoC,CACxD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sCAAsC,CAAC,CAkEjD;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA8BvF;AAgDD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,GACL,OAAO,CAAC,cAAc,CAAC,CAsCzB;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AA83ED,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAQ9E;AAED,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,CAOR;AAyvCD,iBAAS,sCAAsC,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,SAAS,gCAAgC,EAAE,GACpD,sCAAsC,CAmCxC;AAiPD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,sBAAsB,EAC3B,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,sCAAsC,EAAE,CAAC"}
|
|
@@ -4,11 +4,11 @@ import fs from "node:fs/promises";
|
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
|
-
import { readProjectConfig, readWorktreeState, resolveAuthoringStatus, resolvePinnedVersion, resolvePinnedVersionOrNull, resolveProjectRoot, } from "@gdh/authoring";
|
|
7
|
+
import { readProjectConfig, readWorktreeState, resolveAuthoringStatus, resolveEffectiveTargetPath, resolvePinnedVersion, resolvePinnedVersionOrNull, resolveProjectRoot, } from "@gdh/authoring";
|
|
8
8
|
import { assertProjectLifecycleCompatibilityInvariant, definePackageBoundary, GDH_AGENT_CONTRACT_VERSION, GDH_CURSOR_RULE_VERSION, GDH_GUIDANCE_INDEX_VERSION, GDH_GUIDANCE_UNIT_VERSION, GDH_PROJECT_CONFIG_VERSION, GDH_RECIPE_SCHEMA_VERSION, GDH_RULES_SCHEMA_VERSION, GDH_SCENARIO_SCHEMA_VERSION, resolveConfiguredGodotEditorBin, resolveCurrentGdhInstall, resolveGdhProductMetadata, } from "@gdh/core";
|
|
9
9
|
import { createDefaultGuidanceUnits, createDefaultRulesDocument, getGuidanceStatus, readRulesDocument, renderRulesYaml, resolveGuidanceQuery, resolveRecoveryHints, } from "@gdh/docs";
|
|
10
10
|
import { inspectGuidanceAudit } from "@gdh/observability";
|
|
11
|
-
import { inspectRuntimeBridgeSurface, inspectRuntimeKnowledgeSurface } from "@gdh/runtime";
|
|
11
|
+
import { inspectRuntimeBridgeBroker, inspectRuntimeBridgeSurface, inspectRuntimeKnowledgeSurface, } from "@gdh/runtime";
|
|
12
12
|
import { readInventoryCacheOrScan } from "@gdh/scan";
|
|
13
13
|
import { CLAUDE_SETTINGS_RELATIVE_PATH, patchClaudeSettingsForGdhAuthoringHooks, patchClaudeSettingsForGdhSessionStart, patchClaudeSettingsForGdhStatusline, } from "./claude-settings-patch.js";
|
|
14
14
|
import { CLAUDE_AUTHORING_HOOK_RELATIVE_PATH, CODEX_AUTHORING_HOOK_COMMAND, CODEX_AUTHORING_HOOK_RELATIVE_PATH, renderGdhAuthoringHook, } from "./authoring-hook-render.js";
|
|
@@ -254,7 +254,10 @@ export async function inspectProjectLifecycleCompatibility(targetPath) {
|
|
|
254
254
|
}
|
|
255
255
|
export async function buildGdhStatusResult(targetPath) {
|
|
256
256
|
const context = await buildAuthoringContext(targetPath);
|
|
257
|
-
const projectLifecycle = await inspectProjectLifecycleCompatibility(targetPath);
|
|
257
|
+
const projectLifecycle = await inspectProjectLifecycleCompatibility(context.targetPath);
|
|
258
|
+
const brokerInspection = await inspectRuntimeBridgeBroker({
|
|
259
|
+
targetPath: context.status.targetPath,
|
|
260
|
+
});
|
|
258
261
|
const runtimeKnowledge = await inspectRuntimeKnowledgeSurface({
|
|
259
262
|
targetPath: context.status.targetPath,
|
|
260
263
|
runtimeKnowledgePath: context.projectConfig?.runtimeKnowledge.path ?? null,
|
|
@@ -268,18 +271,58 @@ export async function buildGdhStatusResult(targetPath) {
|
|
|
268
271
|
detectedProjects,
|
|
269
272
|
product: resolveGdhProductMetadata(),
|
|
270
273
|
projectLifecycle,
|
|
274
|
+
runtimeBridgeBroker: summarizeRuntimeBridgeBrokerTransition(brokerInspection.broker),
|
|
271
275
|
runtimeKnowledge,
|
|
272
276
|
recoveryHints,
|
|
273
277
|
};
|
|
274
278
|
}
|
|
279
|
+
function summarizeRuntimeBridgeBrokerTransition(broker) {
|
|
280
|
+
const state = broker.lifecycle === "ready"
|
|
281
|
+
? "supported"
|
|
282
|
+
: broker.lifecycle === "missing"
|
|
283
|
+
? "missing"
|
|
284
|
+
: broker.lifecycle === "stale"
|
|
285
|
+
? "stale"
|
|
286
|
+
: broker.lifecycle === "incompatible"
|
|
287
|
+
? "incompatible"
|
|
288
|
+
: "unavailable";
|
|
289
|
+
return {
|
|
290
|
+
state,
|
|
291
|
+
summary: summarizeRuntimeBridgeBrokerLifecycleForStatus(broker.lifecycle),
|
|
292
|
+
broker,
|
|
293
|
+
recoveryCommand: ["gdh", "bridge", "session", "doctor"],
|
|
294
|
+
cleanupCommand: ["gdh", "bridge", "session", "prune"],
|
|
295
|
+
notes: [
|
|
296
|
+
"Post-broker bridge sessions are broker-owned and reconnectable through CLI or MCP clients.",
|
|
297
|
+
"Pre-broker active bridge sessions lived in MCP process memory and cannot be recovered after update or MCP restart.",
|
|
298
|
+
"Host-side broker support does not require `gdh bridge repair` unless GDH reports runtime bridge surface drift separately.",
|
|
299
|
+
"Broker metadata and token files live under `.gdh-state/` and must stay untracked.",
|
|
300
|
+
],
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
function summarizeRuntimeBridgeBrokerLifecycleForStatus(lifecycle) {
|
|
304
|
+
if (lifecycle === "ready") {
|
|
305
|
+
return "Runtime bridge broker is ready for reconnectable CLI/MCP bridge sessions.";
|
|
306
|
+
}
|
|
307
|
+
if (lifecycle === "missing") {
|
|
308
|
+
return "Runtime bridge broker support is available; no broker is running for this target yet.";
|
|
309
|
+
}
|
|
310
|
+
if (lifecycle === "stale") {
|
|
311
|
+
return "Runtime bridge broker metadata is stale; run `gdh bridge session prune` for safe GDH-owned cleanup.";
|
|
312
|
+
}
|
|
313
|
+
if (lifecycle === "incompatible") {
|
|
314
|
+
return "Runtime bridge broker metadata belongs to an incompatible target, protocol, or GDH version.";
|
|
315
|
+
}
|
|
316
|
+
return "Runtime bridge broker state is unavailable; inspect with `gdh bridge session doctor`.";
|
|
317
|
+
}
|
|
275
318
|
export async function createGsdSnapshot(targetPath, options = {}) {
|
|
276
319
|
const context = await buildAuthoringContext(targetPath);
|
|
277
320
|
const effectiveRepoState = deriveRepoState(context);
|
|
278
321
|
const files = normalizeChangedFiles(options.files ?? []);
|
|
279
|
-
const guidance = await getGuidanceStatus(targetPath);
|
|
322
|
+
const guidance = await getGuidanceStatus(context.targetPath);
|
|
280
323
|
const [audit, guidanceResolve] = await Promise.all([
|
|
281
|
-
inspectGuidanceAudit(targetPath),
|
|
282
|
-
resolveGuidanceQuery(targetPath, {
|
|
324
|
+
inspectGuidanceAudit(context.targetPath),
|
|
325
|
+
resolveGuidanceQuery(context.targetPath, {
|
|
283
326
|
taskTypes: ["authoring"],
|
|
284
327
|
capabilities: context.status.effectiveCapabilities,
|
|
285
328
|
repoState: effectiveRepoState,
|
|
@@ -287,7 +330,7 @@ export async function createGsdSnapshot(targetPath, options = {}) {
|
|
|
287
330
|
}),
|
|
288
331
|
]);
|
|
289
332
|
const guidanceStatus = {
|
|
290
|
-
targetPath,
|
|
333
|
+
targetPath: context.targetPath,
|
|
291
334
|
projectConfigPresent: context.projectConfig !== null,
|
|
292
335
|
authoringReadiness: context.status.readiness,
|
|
293
336
|
effectiveRepoState,
|
|
@@ -295,7 +338,7 @@ export async function createGsdSnapshot(targetPath, options = {}) {
|
|
|
295
338
|
audit,
|
|
296
339
|
};
|
|
297
340
|
return {
|
|
298
|
-
targetPath,
|
|
341
|
+
targetPath: context.targetPath,
|
|
299
342
|
adapter: {
|
|
300
343
|
adapter: "gsd",
|
|
301
344
|
enabledByDefault: false,
|
|
@@ -3036,8 +3079,7 @@ function dedupe(values) {
|
|
|
3036
3079
|
return [...new Set(values)];
|
|
3037
3080
|
}
|
|
3038
3081
|
async function buildAuthoringContext(targetPath) {
|
|
3039
|
-
const
|
|
3040
|
-
const effectiveTargetPath = resolvedRoot ?? targetPath;
|
|
3082
|
+
const effectiveTargetPath = await resolveEffectiveTargetPath(targetPath);
|
|
3041
3083
|
const inventoryResult = await readInventoryCacheOrScan(effectiveTargetPath);
|
|
3042
3084
|
const inventory = inventoryResult.inventory;
|
|
3043
3085
|
const projectConfig = await readProjectConfig(effectiveTargetPath);
|
|
@@ -3049,6 +3091,7 @@ async function buildAuthoringContext(targetPath) {
|
|
|
3049
3091
|
worktreeState,
|
|
3050
3092
|
});
|
|
3051
3093
|
return {
|
|
3094
|
+
targetPath: effectiveTargetPath,
|
|
3052
3095
|
inventory,
|
|
3053
3096
|
projectConfig,
|
|
3054
3097
|
worktreeState,
|