@vibgrate/cli 2026.825.2 → 2026.826.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.
Files changed (95) hide show
  1. package/dist/{agent-DHQYEHVW.js → agent-4RHH2FR2.js} +13 -13
  2. package/dist/{agent-DHQYEHVW.js.map → agent-4RHH2FR2.js.map} +1 -1
  3. package/dist/{approvals-KBM72NU2.js → approvals-XDFM346D.js} +5 -5
  4. package/dist/{approvals-KBM72NU2.js.map → approvals-XDFM346D.js.map} +1 -1
  5. package/dist/{attach-O74NL4M5.js → attach-LGTCYNKC.js} +3 -3
  6. package/dist/{attach-O74NL4M5.js.map → attach-LGTCYNKC.js.map} +1 -1
  7. package/dist/{baseline-4X6MQBDA.js → baseline-PRY5HKL5.js} +3 -3
  8. package/dist/{baseline-4X6MQBDA.js.map → baseline-PRY5HKL5.js.map} +1 -1
  9. package/dist/{chunk-DIZ5KI5Q.js → chunk-7KOEEEIZ.js} +6 -6
  10. package/dist/{chunk-DIZ5KI5Q.js.map → chunk-7KOEEEIZ.js.map} +1 -1
  11. package/dist/{chunk-7M4E7UGX.js → chunk-7S4ELKK6.js} +3 -3
  12. package/dist/{chunk-7M4E7UGX.js.map → chunk-7S4ELKK6.js.map} +1 -1
  13. package/dist/{chunk-NS4DL3QR.js → chunk-BHDP7EVJ.js} +8 -8
  14. package/dist/{chunk-NS4DL3QR.js.map → chunk-BHDP7EVJ.js.map} +1 -1
  15. package/dist/{chunk-IJVWKZRS.js → chunk-E44I7635.js} +3 -3
  16. package/dist/{chunk-IJVWKZRS.js.map → chunk-E44I7635.js.map} +1 -1
  17. package/dist/{chunk-2NUS5BOR.js → chunk-IEZCFMNL.js} +3 -3
  18. package/dist/{chunk-2NUS5BOR.js.map → chunk-IEZCFMNL.js.map} +1 -1
  19. package/dist/{chunk-3E7QT4NE.js → chunk-IM7HME2T.js} +9 -9
  20. package/dist/{chunk-3E7QT4NE.js.map → chunk-IM7HME2T.js.map} +1 -1
  21. package/dist/chunk-JQ7OL4XG.js +6 -0
  22. package/dist/{chunk-G3ACLBMG.js.map → chunk-JQ7OL4XG.js.map} +1 -1
  23. package/dist/{chunk-OIUVWCKM.js → chunk-K2IWOZEQ.js} +3 -3
  24. package/dist/{chunk-OIUVWCKM.js.map → chunk-K2IWOZEQ.js.map} +1 -1
  25. package/dist/{chunk-SYMJSRYF.js → chunk-LAYDXJEQ.js} +3 -3
  26. package/dist/{chunk-SYMJSRYF.js.map → chunk-LAYDXJEQ.js.map} +1 -1
  27. package/dist/{chunk-K3SXWOTT.js → chunk-NQU6E6OG.js} +3 -3
  28. package/dist/{chunk-K3SXWOTT.js.map → chunk-NQU6E6OG.js.map} +1 -1
  29. package/dist/{chunk-E3XVIFSH.js → chunk-PEHMRPYM.js} +3 -3
  30. package/dist/{chunk-E3XVIFSH.js.map → chunk-PEHMRPYM.js.map} +1 -1
  31. package/dist/{chunk-BICZR6UJ.js → chunk-PIB3YNJU.js} +3 -3
  32. package/dist/{chunk-BICZR6UJ.js.map → chunk-PIB3YNJU.js.map} +1 -1
  33. package/dist/{chunk-NZES47ST.js → chunk-QONHVC4H.js} +3 -3
  34. package/dist/{chunk-NZES47ST.js.map → chunk-QONHVC4H.js.map} +1 -1
  35. package/dist/{chunk-L7GCJNDT.js → chunk-R5BGRJ6X.js} +3 -3
  36. package/dist/{chunk-L7GCJNDT.js.map → chunk-R5BGRJ6X.js.map} +1 -1
  37. package/dist/{chunk-VMPKOMHG.js → chunk-TKUWEJZJ.js} +5 -5
  38. package/dist/{chunk-VMPKOMHG.js.map → chunk-TKUWEJZJ.js.map} +1 -1
  39. package/dist/{chunk-6MIJLO5B.js → chunk-TOHNVUDD.js} +3 -3
  40. package/dist/{chunk-6MIJLO5B.js.map → chunk-TOHNVUDD.js.map} +1 -1
  41. package/dist/{chunk-HFQIYM6E.js → chunk-TQ75FB52.js} +4 -4
  42. package/dist/{chunk-HFQIYM6E.js.map → chunk-TQ75FB52.js.map} +1 -1
  43. package/dist/{chunk-TT2J2TB6.js → chunk-TUVB6Q6F.js} +6 -6
  44. package/dist/{chunk-TT2J2TB6.js.map → chunk-TUVB6Q6F.js.map} +1 -1
  45. package/dist/{chunk-27TS2AUJ.js → chunk-WGA4KUGS.js} +8 -8
  46. package/dist/{chunk-27TS2AUJ.js.map → chunk-WGA4KUGS.js.map} +1 -1
  47. package/dist/{chunk-GWSJYDK7.js → chunk-WGSLN73L.js} +5 -5
  48. package/dist/{chunk-GWSJYDK7.js.map → chunk-WGSLN73L.js.map} +1 -1
  49. package/dist/{chunk-SIXWWQ6S.js → chunk-WHNB3443.js} +3 -3
  50. package/dist/{chunk-SIXWWQ6S.js.map → chunk-WHNB3443.js.map} +1 -1
  51. package/dist/{chunk-GR7SFCQJ.js → chunk-WPQCJADP.js} +27 -17
  52. package/dist/chunk-WPQCJADP.js.map +1 -0
  53. package/dist/{chunk-FQHWPOTS.js → chunk-WU2DVESP.js} +3 -3
  54. package/dist/{chunk-FQHWPOTS.js.map → chunk-WU2DVESP.js.map} +1 -1
  55. package/dist/{chunk-KYM55VZX.js → chunk-XW4FCBL4.js} +6 -6
  56. package/dist/{chunk-KYM55VZX.js.map → chunk-XW4FCBL4.js.map} +1 -1
  57. package/dist/{chunk-JAEHLTVX.js → chunk-ZRDTI67N.js} +3 -3
  58. package/dist/{chunk-JAEHLTVX.js.map → chunk-ZRDTI67N.js.map} +1 -1
  59. package/dist/cli.js +52 -51
  60. package/dist/cli.js.map +1 -1
  61. package/dist/{daemon-RZS5FPIW.js → daemon-2YMCH7R2.js} +9 -9
  62. package/dist/{daemon-RZS5FPIW.js.map → daemon-2YMCH7R2.js.map} +1 -1
  63. package/dist/embed-worker-main.js +3 -3
  64. package/dist/{ensure-map-DL2S774J.js → ensure-map-S2GBW2UC.js} +14 -14
  65. package/dist/{ensure-map-DL2S774J.js.map → ensure-map-S2GBW2UC.js.map} +1 -1
  66. package/dist/{graph-backend-JXARVT3R.js → graph-backend-QDEU5RIR.js} +7 -7
  67. package/dist/{graph-backend-JXARVT3R.js.map → graph-backend-QDEU5RIR.js.map} +1 -1
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.js +15 -15
  70. package/dist/{interactive-2XRBRFRB.js → interactive-GMGWUEQO.js} +30 -26
  71. package/dist/interactive-GMGWUEQO.js.map +1 -0
  72. package/dist/load-JXCTAAEI.js +11 -0
  73. package/dist/{load-7C5VETRD.js.map → load-JXCTAAEI.js.map} +1 -1
  74. package/dist/parse-worker.js +2 -2
  75. package/dist/{run-outcome-TMB5TJNA.js → run-outcome-5NA7PI52.js} +5 -5
  76. package/dist/{run-outcome-TMB5TJNA.js.map → run-outcome-5NA7PI52.js.map} +1 -1
  77. package/dist/{runtime-session-Y23NVY7R.js → runtime-session-IEM6DZDP.js} +9 -9
  78. package/dist/{runtime-session-Y23NVY7R.js.map → runtime-session-IEM6DZDP.js.map} +1 -1
  79. package/dist/{session-KXT2ZTPE.js → session-VYFLJ7KL.js} +8 -8
  80. package/dist/{session-KXT2ZTPE.js.map → session-VYFLJ7KL.js.map} +1 -1
  81. package/dist/{stream-json-NW6AOE47.js → stream-json-2ISQLKPD.js} +13 -13
  82. package/dist/{stream-json-NW6AOE47.js.map → stream-json-2ISQLKPD.js.map} +1 -1
  83. package/dist/version-B62ELJRY.js +4 -0
  84. package/dist/{version-7ABYXWOZ.js.map → version-B62ELJRY.js.map} +1 -1
  85. package/dist/{vg-mcp-bridge-LXBHKEFR.js → vg-mcp-bridge-CJIK5U56.js} +8 -8
  86. package/dist/{vg-mcp-bridge-LXBHKEFR.js.map → vg-mcp-bridge-CJIK5U56.js.map} +1 -1
  87. package/dist/{vgd-RW7HCEIP.js → vgd-4EB6SKFB.js} +8 -8
  88. package/dist/vgd-4EB6SKFB.js.map +1 -0
  89. package/package.json +1 -1
  90. package/dist/chunk-G3ACLBMG.js +0 -6
  91. package/dist/chunk-GR7SFCQJ.js.map +0 -1
  92. package/dist/interactive-2XRBRFRB.js.map +0 -1
  93. package/dist/load-7C5VETRD.js +0 -11
  94. package/dist/version-7ABYXWOZ.js +0 -4
  95. package/dist/vgd-RW7HCEIP.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { resolveOne } from './chunk-J7LKEB2R.js';
2
- import { impactOf, queryGraph } from './chunk-K3SXWOTT.js';
2
+ import { impactOf, queryGraph } from './chunk-NQU6E6OG.js';
3
3
  import { vgdRequest } from './chunk-VHRSG6CF.js';
4
4
 
5
5
  // src/code/graph-backend.ts
@@ -132,5 +132,5 @@ function resolveSymbolId(graph, symbol) {
132
132
  }
133
133
 
134
134
  export { localGraphBackend, resolveGraphBackend, vgdGraphBackend };
135
- //# sourceMappingURL=chunk-JAEHLTVX.js.map
136
- //# sourceMappingURL=chunk-JAEHLTVX.js.map
135
+ //# sourceMappingURL=chunk-ZRDTI67N.js.map
136
+ //# sourceMappingURL=chunk-ZRDTI67N.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/code/graph-backend.ts"],"names":[],"mappings":"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","file":"chunk-JAEHLTVX.js","sourcesContent":["/**\n * Graph query backend for the agent tool layer (Fusion Runtime).\n *\n * Tools prefer a warm ActiveGraph in vgd when a daemon session is attached;\n * otherwise they fall back to the in-process {@link VgGraph}. Failures never\n * surface to the model as transport errors — they degrade to local query.\n */\n\nimport { queryGraph } from '../engine/query.js';\nimport { impactOf } from '../engine/impact.js';\nimport { resolveOne } from '../engine/lookup.js';\nimport { vgdRequest, type VgdClientOptions } from '../runtime/vgd/client.js';\nimport type { VgdRequest } from '../runtime/vgd/protocol.js';\nimport type { VgGraph } from '../schema.js';\n\nexport type GraphBackendSource = 'local' | 'vgd';\n\nexport interface GraphSearchHit {\n id: string;\n qualifiedName: string;\n kind: string;\n file: string;\n line: number;\n score: number;\n why: string;\n signature?: string | null;\n}\n\nexport interface GraphImpactHit {\n id: string;\n name: string;\n kind: string;\n file: string;\n line: number;\n depth: number;\n confidence: number;\n}\n\nexport interface GraphImpactResult {\n root: { id: string; name: string };\n depth: number;\n affected: GraphImpactHit[];\n direct: number;\n transitive: number;\n source: GraphBackendSource;\n}\n\nexport interface GraphSearchResult {\n matches: GraphSearchHit[];\n source: GraphBackendSource;\n}\n\nexport interface GraphBackend {\n readonly source: GraphBackendSource;\n search(query: string, opts?: { limit?: number }): Promise<GraphSearchResult>;\n impact(symbol: string, opts?: { depth?: number }): Promise<GraphImpactResult | null>;\n}\n\n/** Pure in-process backend over a loaded graph. */\nexport function localGraphBackend(graph: VgGraph): GraphBackend {\n return {\n source: 'local',\n async search(query, opts) {\n const res = queryGraph(graph, query, { budget: 1500, limit: opts?.limit ?? 10 });\n return {\n source: 'local',\n matches: res.matches.map((m) => ({\n id: m.node.id,\n qualifiedName: m.node.qualifiedName,\n kind: m.node.kind,\n file: m.node.file,\n line: m.node.span?.start ?? 0,\n score: m.score,\n why: m.why,\n signature: m.node.signature ?? null,\n })),\n };\n },\n async impact(symbol, opts) {\n const node = resolveSymbolId(graph, symbol);\n if (!node) return null;\n const imp = impactOf(graph, node, { depth: opts?.depth ?? 4 });\n return {\n source: 'local',\n root: imp.root,\n depth: imp.depth,\n affected: imp.affected.map((a) => ({\n id: a.id,\n name: a.name,\n kind: a.kind,\n file: a.file,\n line: a.line,\n depth: a.depth,\n confidence: a.confidence,\n })),\n direct: imp.direct,\n transitive: imp.transitive,\n };\n },\n };\n}\n\nexport interface VgdGraphBackendOptions {\n repositoryId: string;\n gitRef?: string;\n socketPath?: string;\n /** Always required for fall back when vgd has no slot or is down. */\n fallback: VgGraph;\n request?: (req: VgdRequest, opts?: VgdClientOptions) => Promise<unknown>;\n}\n\n/**\n * Prefer vgd query/impact; on any failure or empty daemon state, use local.\n * The returned `source` reflects which path answered.\n */\nexport function vgdGraphBackend(options: VgdGraphBackendOptions): GraphBackend {\n const local = localGraphBackend(options.fallback);\n const request = options.request ?? ((req, opts) => vgdRequest(req, opts));\n const clientOpts: VgdClientOptions = { socketPath: options.socketPath };\n\n return {\n source: 'vgd',\n async search(query, opts) {\n try {\n const res = (await request(\n {\n op: 'query-graph',\n repositoryId: options.repositoryId,\n query,\n limit: opts?.limit ?? 10,\n gitRef: options.gitRef,\n },\n clientOpts,\n )) as {\n ok?: boolean;\n matches?: Array<{\n id: string;\n qualifiedName: string;\n kind: string;\n file: string;\n line: number;\n score: number;\n why: string;\n }>;\n };\n if (res?.ok && Array.isArray(res.matches)) {\n return {\n source: 'vgd',\n matches: res.matches.map((m) => ({\n id: m.id,\n qualifiedName: m.qualifiedName,\n kind: m.kind,\n file: m.file,\n line: m.line,\n score: m.score,\n why: m.why,\n signature: null,\n })),\n };\n }\n } catch {\n /* fall through */\n }\n return local.search(query, opts);\n },\n async impact(symbol, opts) {\n try {\n const res = (await request(\n {\n op: 'impact-of',\n repositoryId: options.repositoryId,\n symbol,\n depth: opts?.depth ?? 4,\n gitRef: options.gitRef,\n },\n clientOpts,\n )) as {\n ok?: boolean;\n root?: { id: string; name: string };\n depth?: number;\n affected?: GraphImpactHit[];\n direct?: number;\n transitive?: number;\n };\n if (res?.ok && res.root && Array.isArray(res.affected)) {\n return {\n source: 'vgd',\n root: res.root,\n depth: res.depth ?? opts?.depth ?? 4,\n affected: res.affected,\n direct: res.direct ?? 0,\n transitive: res.transitive ?? 0,\n };\n }\n } catch {\n /* fall through */\n }\n return local.impact(symbol, opts);\n },\n };\n}\n\n/**\n * Pick a backend: vgd when repositoryId + socket are known, else local.\n */\nexport function resolveGraphBackend(input: {\n graph: VgGraph;\n repositoryId?: string | null;\n gitRef?: string | null;\n socketPath?: string | null;\n}): GraphBackend {\n if (input.repositoryId && input.socketPath) {\n return vgdGraphBackend({\n repositoryId: input.repositoryId,\n gitRef: input.gitRef ?? undefined,\n socketPath: input.socketPath,\n fallback: input.graph,\n });\n }\n return localGraphBackend(input.graph);\n}\n\nfunction resolveSymbolId(graph: VgGraph, symbol: string): string | null {\n if (graph.nodes.some((n) => n.id === symbol)) return symbol;\n const hit = resolveOne(graph, symbol);\n if (hit.node?.id) return hit.node.id;\n if (hit.candidates.length === 1 && hit.candidates[0]?.id) return hit.candidates[0].id;\n const q = symbol.toLowerCase();\n const byQn = graph.nodes.find((n) => n.qualifiedName?.toLowerCase() === q || n.name?.toLowerCase() === q);\n return byQn?.id ?? null;\n}\n"]}
1
+ {"version":3,"sources":["../src/code/graph-backend.ts"],"names":[],"mappings":"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","file":"chunk-ZRDTI67N.js","sourcesContent":["/**\n * Graph query backend for the agent tool layer (Fusion Runtime).\n *\n * Tools prefer a warm ActiveGraph in vgd when a daemon session is attached;\n * otherwise they fall back to the in-process {@link VgGraph}. Failures never\n * surface to the model as transport errors — they degrade to local query.\n */\n\nimport { queryGraph } from '../engine/query.js';\nimport { impactOf } from '../engine/impact.js';\nimport { resolveOne } from '../engine/lookup.js';\nimport { vgdRequest, type VgdClientOptions } from '../runtime/vgd/client.js';\nimport type { VgdRequest } from '../runtime/vgd/protocol.js';\nimport type { VgGraph } from '../schema.js';\n\nexport type GraphBackendSource = 'local' | 'vgd';\n\nexport interface GraphSearchHit {\n id: string;\n qualifiedName: string;\n kind: string;\n file: string;\n line: number;\n score: number;\n why: string;\n signature?: string | null;\n}\n\nexport interface GraphImpactHit {\n id: string;\n name: string;\n kind: string;\n file: string;\n line: number;\n depth: number;\n confidence: number;\n}\n\nexport interface GraphImpactResult {\n root: { id: string; name: string };\n depth: number;\n affected: GraphImpactHit[];\n direct: number;\n transitive: number;\n source: GraphBackendSource;\n}\n\nexport interface GraphSearchResult {\n matches: GraphSearchHit[];\n source: GraphBackendSource;\n}\n\nexport interface GraphBackend {\n readonly source: GraphBackendSource;\n search(query: string, opts?: { limit?: number }): Promise<GraphSearchResult>;\n impact(symbol: string, opts?: { depth?: number }): Promise<GraphImpactResult | null>;\n}\n\n/** Pure in-process backend over a loaded graph. */\nexport function localGraphBackend(graph: VgGraph): GraphBackend {\n return {\n source: 'local',\n async search(query, opts) {\n const res = queryGraph(graph, query, { budget: 1500, limit: opts?.limit ?? 10 });\n return {\n source: 'local',\n matches: res.matches.map((m) => ({\n id: m.node.id,\n qualifiedName: m.node.qualifiedName,\n kind: m.node.kind,\n file: m.node.file,\n line: m.node.span?.start ?? 0,\n score: m.score,\n why: m.why,\n signature: m.node.signature ?? null,\n })),\n };\n },\n async impact(symbol, opts) {\n const node = resolveSymbolId(graph, symbol);\n if (!node) return null;\n const imp = impactOf(graph, node, { depth: opts?.depth ?? 4 });\n return {\n source: 'local',\n root: imp.root,\n depth: imp.depth,\n affected: imp.affected.map((a) => ({\n id: a.id,\n name: a.name,\n kind: a.kind,\n file: a.file,\n line: a.line,\n depth: a.depth,\n confidence: a.confidence,\n })),\n direct: imp.direct,\n transitive: imp.transitive,\n };\n },\n };\n}\n\nexport interface VgdGraphBackendOptions {\n repositoryId: string;\n gitRef?: string;\n socketPath?: string;\n /** Always required for fall back when vgd has no slot or is down. */\n fallback: VgGraph;\n request?: (req: VgdRequest, opts?: VgdClientOptions) => Promise<unknown>;\n}\n\n/**\n * Prefer vgd query/impact; on any failure or empty daemon state, use local.\n * The returned `source` reflects which path answered.\n */\nexport function vgdGraphBackend(options: VgdGraphBackendOptions): GraphBackend {\n const local = localGraphBackend(options.fallback);\n const request = options.request ?? ((req, opts) => vgdRequest(req, opts));\n const clientOpts: VgdClientOptions = { socketPath: options.socketPath };\n\n return {\n source: 'vgd',\n async search(query, opts) {\n try {\n const res = (await request(\n {\n op: 'query-graph',\n repositoryId: options.repositoryId,\n query,\n limit: opts?.limit ?? 10,\n gitRef: options.gitRef,\n },\n clientOpts,\n )) as {\n ok?: boolean;\n matches?: Array<{\n id: string;\n qualifiedName: string;\n kind: string;\n file: string;\n line: number;\n score: number;\n why: string;\n }>;\n };\n if (res?.ok && Array.isArray(res.matches)) {\n return {\n source: 'vgd',\n matches: res.matches.map((m) => ({\n id: m.id,\n qualifiedName: m.qualifiedName,\n kind: m.kind,\n file: m.file,\n line: m.line,\n score: m.score,\n why: m.why,\n signature: null,\n })),\n };\n }\n } catch {\n /* fall through */\n }\n return local.search(query, opts);\n },\n async impact(symbol, opts) {\n try {\n const res = (await request(\n {\n op: 'impact-of',\n repositoryId: options.repositoryId,\n symbol,\n depth: opts?.depth ?? 4,\n gitRef: options.gitRef,\n },\n clientOpts,\n )) as {\n ok?: boolean;\n root?: { id: string; name: string };\n depth?: number;\n affected?: GraphImpactHit[];\n direct?: number;\n transitive?: number;\n };\n if (res?.ok && res.root && Array.isArray(res.affected)) {\n return {\n source: 'vgd',\n root: res.root,\n depth: res.depth ?? opts?.depth ?? 4,\n affected: res.affected,\n direct: res.direct ?? 0,\n transitive: res.transitive ?? 0,\n };\n }\n } catch {\n /* fall through */\n }\n return local.impact(symbol, opts);\n },\n };\n}\n\n/**\n * Pick a backend: vgd when repositoryId + socket are known, else local.\n */\nexport function resolveGraphBackend(input: {\n graph: VgGraph;\n repositoryId?: string | null;\n gitRef?: string | null;\n socketPath?: string | null;\n}): GraphBackend {\n if (input.repositoryId && input.socketPath) {\n return vgdGraphBackend({\n repositoryId: input.repositoryId,\n gitRef: input.gitRef ?? undefined,\n socketPath: input.socketPath,\n fallback: input.graph,\n });\n }\n return localGraphBackend(input.graph);\n}\n\nfunction resolveSymbolId(graph: VgGraph, symbol: string): string | null {\n if (graph.nodes.some((n) => n.id === symbol)) return symbol;\n const hit = resolveOne(graph, symbol);\n if (hit.node?.id) return hit.node.id;\n if (hit.candidates.length === 1 && hit.candidates[0]?.id) return hit.candidates[0].id;\n const q = symbol.toLowerCase();\n const byQn = graph.nodes.find((n) => n.qualifiedName?.toLowerCase() === q || n.name?.toLowerCase() === q);\n return byQn?.id ?? null;\n}\n"]}
package/dist/cli.js CHANGED
@@ -1,45 +1,45 @@
1
1
  #!/usr/bin/env node
2
- import { fetchCatalog, resolveProviders } from './chunk-SIXWWQ6S.js';
3
- import { telemetryOptOut, StatsSharer, statsEndpoint, isCI } from './chunk-BICZR6UJ.js';
2
+ import { fetchCatalog, resolveProviders } from './chunk-WHNB3443.js';
3
+ import { telemetryOptOut, StatsSharer, statsEndpoint, isCI } from './chunk-PIB3YNJU.js';
4
4
  import { loadAdvancedScanHook, baselineCommand } from './chunk-QLNJ3VWO.js';
5
- import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, LiveStatus, ProgressBar, printLogo, runBuild } from './chunk-27TS2AUJ.js';
6
- export { runBuild } from './chunk-27TS2AUJ.js';
5
+ import { sha256Hex, generateKeypair, dssePae, DSSE_PAYLOAD_TYPE, keyId, registerBuild, LiveStatus, ProgressBar, printLogo, runBuild } from './chunk-WGA4KUGS.js';
6
+ export { runBuild } from './chunk-WGA4KUGS.js';
7
7
  import { readOrchestratorState, writeOrchestratorState, parseMode, setDefaultMode, recommendMode, activePin, resolveMode, providerForBackend, QUALIFIED_PACKS, pinPack, unpinPack, buildOrchestratorStatus } from './chunk-OLIMW4PQ.js';
8
8
  import { defaultProcessEndpoint, startProcessHostServer, resolveInferenceIsolation } from './chunk-IASO2HCI.js';
9
- import { runCodeSession } from './chunk-GWSJYDK7.js';
10
- import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-GR7SFCQJ.js';
9
+ import { runCodeSession } from './chunk-WGSLN73L.js';
10
+ import { CONTEXT_POLICY_VERSION, computeFcsReport, renderFcsReportMarkdown, createTrajectoryCollector, runAgent } from './chunk-WPQCJADP.js';
11
11
  import './chunk-543E6WDJ.js';
12
- import './chunk-E3XVIFSH.js';
13
- import './chunk-JAEHLTVX.js';
12
+ import './chunk-PEHMRPYM.js';
13
+ import './chunk-ZRDTI67N.js';
14
14
  import { parseReasoningEffort, summarizeDiffs, ScriptedProvider } from './chunk-SHD5TCZ5.js';
15
15
  import './chunk-NV7XNBX4.js';
16
16
  import { buildModelInstallPlan } from './chunk-W44THEXF.js';
17
17
  import { ensurePackage, ensureUnavailableMessage } from './chunk-3HNPVXUK.js';
18
- import { vgdVersionSkew, restartVgdIfRunning, stopVgd, registerDaemon, rootOf, requireGraph } from './chunk-DIZ5KI5Q.js';
18
+ import { vgdVersionSkew, restartVgdIfRunning, stopVgd, registerDaemon, rootOf, requireGraph } from './chunk-7KOEEEIZ.js';
19
19
  import { readGlobal, applyGlobalOptions } from './chunk-YENM3HT7.js';
20
20
  import { ActivityLog } from './chunk-H5Q4JUY4.js';
21
21
  import { disableColor, info, c, json, out } from './chunk-CT5BS56U.js';
22
22
  import { init_resolve_ollama, gatherSystemMemory, resolveOllamaBinary, hasOllamaBinary, resolve_ollama_exports } from './chunk-WUFIXAEJ.js';
23
23
  import { fmt, estimateModelBytes } from './chunk-YJYEPYB2.js';
24
- import { isManifest, isDependencyFile, manifestHash, loadScanCache, writeScanCache, manifestKind, findPackageLine, endOfLine, findRuntimeLine } from './chunk-KYM55VZX.js';
24
+ import { isManifest, isDependencyFile, manifestHash, loadScanCache, writeScanCache, manifestKind, findPackageLine, endOfLine, findRuntimeLine } from './chunk-XW4FCBL4.js';
25
25
  import { clearHostSessionPool, acquireHostSession, generateOnSession, listHostSessions, hostSessionPoolSize } from './chunk-3LOWJSAF.js';
26
26
  import { buildIdentifierTrieFromGraph } from './chunk-5HYCB55P.js';
27
27
  import './chunk-IS7VTH2Q.js';
28
28
  import './chunk-IZDH67DX.js';
29
- import { moduleInstalled, removeRelevanceModule, installRelevanceModule, DISCLOSURE, RELEVANCE_MODULE_NAME, moduleInstalledAt, removeModule, installModule, kickRelevanceReadiness, modulesBaseDir, ensureRelevanceModule, DaemonSemanticSession, serveStdio, kernelDisabled, writeConsent, readConsent, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-3E7QT4NE.js';
30
- import { refreshIfStale } from './chunk-VMPKOMHG.js';
31
- import { driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, buildGraph, writeSnapshot, probeFreshness, assistantById, SMALL_REPO_FILES } from './chunk-NS4DL3QR.js';
32
- import { resolveDsn, createWorkspaceDsn, writeStoredCredentials, credentialsPath, findGitRoot, ensureGitignored, gitignoreEntryForCredentials, clearStoredCredentials, parseDsn as parseDsn$1, uploadScanArtifact, dsnCommand, pushCommand, countTokens, shortestPath, pathDisconnect, testsToRun, detectRunner, coveringTests, FREE_PACK, readScanArtifact, publishPrivateLibrary, assessDocQuality, symbolsFromApi, fetchHostedDocsCached, selectForBudget, hostedBase, readStoredCredentials, projectCredentialsPath, homeCredentialsPath } from './chunk-TT2J2TB6.js';
29
+ import { moduleInstalled, removeRelevanceModule, installRelevanceModule, DISCLOSURE, RELEVANCE_MODULE_NAME, moduleInstalledAt, removeModule, installModule, kickRelevanceReadiness, modulesBaseDir, ensureRelevanceModule, DaemonSemanticSession, serveStdio, kernelDisabled, writeConsent, readConsent, exportGraph, GraphSource, createServer, formatForExt, RefreshScheduler } from './chunk-IM7HME2T.js';
30
+ import { refreshIfStale } from './chunk-TKUWEJZJ.js';
31
+ import { driftCount, ASSISTANTS, detectAssistants, isAssistantInstalled, detectServeLaunch, installAssistant, writeNavigationConfig, uninstallAssistant, buildGraph, writeSnapshot, probeFreshness, assistantById, SMALL_REPO_FILES } from './chunk-BHDP7EVJ.js';
32
+ import { resolveDsn, createWorkspaceDsn, writeStoredCredentials, credentialsPath, findGitRoot, ensureGitignored, gitignoreEntryForCredentials, clearStoredCredentials, parseDsn as parseDsn$1, uploadScanArtifact, dsnCommand, pushCommand, countTokens, shortestPath, pathDisconnect, testsToRun, detectRunner, coveringTests, FREE_PACK, readScanArtifact, publishPrivateLibrary, assessDocQuality, symbolsFromApi, fetchHostedDocsCached, selectForBudget, hostedBase, readStoredCredentials, projectCredentialsPath, homeCredentialsPath } from './chunk-TUVB6Q6F.js';
33
33
  import { resolveIngestHost, dashHostForIngestHost, availableRegionIds, ingestHostForRegionId } from './chunk-HTLDXEHW.js';
34
34
  import { writeDefaultConfig, parseDsn, detectVcs, computeRepoFingerprint, resolveRepositoryName, fetchScanPreflight, runCoreScan, loadConfig, prepareCompressedUpload, computeDriftScore, titleBox, projectTypeToVulnEcosystem, driftBar, gitHistoryAvailable, buildVersionTimelines, findPackageAnyEcosystem, normalizeConstraint, findVersionCrossings, versionSatisfies, refineArchitectureWithAstRoles, refineArchitectureWithGraph, PROJECT_TYPE_TO_OSV_ECOSYSTEM, fetchRiskySymbols, perDependencyDrift, boundaryProfileRules } from './chunk-5UG4UHKU.js';
35
- import './chunk-L7GCJNDT.js';
35
+ import './chunk-R5BGRJ6X.js';
36
36
  import './chunk-VIWZ4QT7.js';
37
- import { catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-NZES47ST.js';
38
- import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-SYMJSRYF.js';
37
+ import { catalogPath, libDir, loadCatalog, driftFor, addLibrary, resolveLib, libId, resolveVersion, readDoc, localPackageDocs, localApiSurface } from './chunk-QONHVC4H.js';
38
+ import { recordCliCall, CLI_TOOL_ALIASES, savingsLedgerPath, clearSavings, readSavings, readUsage, readModelSavings, CAPSULE_RANKING_VERSION, SAVINGS_TOOLS, sanitizeClient } from './chunk-LAYDXJEQ.js';
39
39
  import { discoverModels } from './chunk-WNKGRXUA.js';
40
40
  import { freeBytesOnVolume, weightStoreDir, listCachedWeights, ensureWeightCached, catalogIntegrityReport } from './chunk-57ZRSCHY.js';
41
41
  import { CliError, ExitCode, usageError, engineUnavailable } from './chunk-MS6V5XKB.js';
42
- import { attachVgd } from './chunk-IJVWKZRS.js';
42
+ import { attachVgd } from './chunk-E44I7635.js';
43
43
  import { pathExists as pathExists$1, parseExcludePatterns } from './chunk-PVNALGTG.js';
44
44
  import { ensureDir, pathExists, readJsonFile, writeTextFile, writeJsonFile } from './chunk-CRAMOEBE.js';
45
45
  import './chunk-5IQBIXHS.js';
@@ -48,19 +48,19 @@ import { publishGraphToVgd } from './chunk-A3WWRW7U.js';
48
48
  import { isRelevantChange } from './chunk-DBX3DL27.js';
49
49
  import { inventory, enrichOnline, ECOSYSTEMS } from './chunk-6BEBJCK4.js';
50
50
  import { resolveOne } from './chunk-J7LKEB2R.js';
51
- import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-K3SXWOTT.js';
52
- import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-7M4E7UGX.js';
51
+ import { queryGraphSemantic, queryGraph, indexFor, impactOf } from './chunk-NQU6E6OG.js';
52
+ import { loadGraph, loadGraphPreferIndex, SCHEMA_VERSION } from './chunk-7S4ELKK6.js';
53
53
  import './chunk-VHRSG6CF.js';
54
54
  import './chunk-6H2QV5DR.js';
55
55
  import { discover, isSkippedDirName } from './chunk-RTURQXQL.js';
56
- import { resolvedGrammarFiles, TOOLCHAIN_GRAMMARS, resolveToolchainGrammar, grammarSetVersion, fileRolesFromParseCache } from './chunk-6MIJLO5B.js';
56
+ import { resolvedGrammarFiles, TOOLCHAIN_GRAMMARS, resolveToolchainGrammar, grammarSetVersion, fileRolesFromParseCache } from './chunk-TOHNVUDD.js';
57
57
  import './chunk-T7RSQ5WD.js';
58
58
  import './chunk-6WRG7VDO.js';
59
- import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-FQHWPOTS.js';
60
- import { resetRelevanceProviderCache, loadRelevanceProvider, resolveGraphPath, loadTopicTags, rankQuestion, renderReport, loadGraphFileWithSnapshot, writeArtifacts, vibgrateDir, mapFileExists, ensureVibgrateGitignore } from './chunk-OIUVWCKM.js';
59
+ import { embeddingsCached, resolveEmbedModel, loadEmbedder, getNodeEmbeddings, unavailableMessage, countPending, modelCacheInfo, embeddingsPath, clearModelCache, withTimeout } from './chunk-WU2DVESP.js';
60
+ import { resetRelevanceProviderCache, loadRelevanceProvider, resolveGraphPath, loadTopicTags, rankQuestion, renderReport, loadGraphFileWithSnapshot, writeArtifacts, vibgrateDir, mapFileExists, ensureVibgrateGitignore } from './chunk-K2IWOZEQ.js';
61
61
  import { cacheDir } from './chunk-MVPRPSXU.js';
62
62
  import { serializeGraph, stableStringify, parseGraph } from './chunk-O3LABX6I.js';
63
- import { VERSION } from './chunk-G3ACLBMG.js';
63
+ import { VERSION } from './chunk-JQ7OL4XG.js';
64
64
  import './chunk-XP6UUCZZ.js';
65
65
  import { canonicalize, hashString } from './chunk-JFGYT6BI.js';
66
66
  import './chunk-XQNKCA2J.js';
@@ -7282,7 +7282,7 @@ function discoverMcpServers(root3, ownServers) {
7282
7282
 
7283
7283
  // src/commands/code.ts
7284
7284
  function registerCode(program) {
7285
- const cmd = program.command("code").description("graph-grounded coding agent (guided mode with no instruction; every edit and command is approved)").argument("[instruction...]", "what to change, in plain language (omit for guided interactive mode)").option("--provider <id>", "backend: vibgrate-relay (Vibgrate Relay), ollama, lmstudio, foundry-local, openrouter, litellm, openai, together, llama-cpp").option("--model <id>", "model id (or set VG_CODE_MODEL). No model is hard-coded \u2014 pick the current best.").option("--mode <mode>", "Code Mode: spark | flow | forge (preferred over raw model names; auto-fits when omitted and no --model)").option("--model-path <gguf>", "gguf path for --provider llama-cpp (weights are never auto-downloaded)").option("-f, --file <path>", "restrict the edit surface to this file (repeatable)", collect, []).option("-b, --budget <n>", "approx context token budget", "3000").option("--apply", "one-shot path (--single/--mock) only: write the change (still requires --yes or an interactive confirm)").option("--yes", "consent to write / to a first-use package install, non-interactively").option("--auto", "autonomous agent: auto-approve every edit and command (use with care)").option("--max-steps <n>", "cap the number of agent steps", "24").option("--single", "one-shot planner (single edit) instead of the multi-step agent").option("--stream", "stream the model output live").option("--stream-json", "machine protocol: NDJSON agent events on stdout, approval decisions on stdin (for host UIs like the VS Code panel)").option("--session", "with --stream-json: stay open for further turns (warm graph and tools) instead of exiting after one").option("--verify [command]", "after the agent finishes, run tests and make it fix failures (uses the config testCommand if no command is given)").option("--continue [id]", "resume a session: the most recent one, or the given session id (recap + restore /undo)").option("--restore-checkpoint <commit>", "one-shot: restore the given --file paths from a checkpoint commit, then exit (for host UIs after the original session ended)").option("--reasoning-effort <level>", "how hard a reasoning-capable model should think: low | medium | high (ignored by models without the knob)").option("--worktree [id]", "run the session in an isolated git worktree under .vibgrate/worktrees (bare: create a new one; with id: reuse it)").option("--worktree-diff <id>", "one-shot: print the worktree's delta against its base as a patch, then exit").option("--worktree-apply <id>", "one-shot: apply the worktree's delta onto the main tree (git apply --3way), then exit").option("--worktree-remove <id>", "one-shot: remove the worktree checkout, then exit").option("--capsule", "use a source-bearing Task Capsule for first context (Fusion A/B; exact source ranges from the graph)").option("--no-capsule", "disable Task Capsule context even if enabled in .vibgrate/code.json").option("--security-tier <tier>", "shell isolation: L0 (host), L1 (Seatbelt/bubblewrap when available), L2/L3 reserved").option("--mock <file>", "use a scripted reply from <file> instead of a model (offline; for tests/CI)").option("-o, --out <file>", "write the JSON result to <file> (implies --json shape; for CI/benchmarks)").action(async function(instructionParts, opts) {
7285
+ const cmd = program.command("code").description("graph-grounded coding agent (guided mode with no instruction; every edit and command is approved)").argument("[instruction...]", "what to change, in plain language (omit for guided interactive mode)").option("--provider <id>", "backend: vibgrate-relay (Vibgrate Relay), ollama, lmstudio, foundry-local, openrouter, litellm, openai, together, llama-cpp").option("--model <id>", "model id (or set VG_CODE_MODEL). No model is hard-coded \u2014 pick the current best.").option("--mode <mode>", "Code Mode: spark | flow | forge (preferred over raw model names; auto-fits when omitted and no --model)").option("--model-path <gguf>", "gguf path for --provider llama-cpp (weights are never auto-downloaded)").option("-f, --file <path>", "restrict the edit surface to this file (repeatable)", collect, []).option("-b, --budget <n>", "approx context token budget", "3000").option("--apply", "one-shot path (--single/--mock) only: write the change (still requires --yes or an interactive confirm)").option("--yes", "consent to write / to a first-use package install, non-interactively").option("--auto", "autonomous agent: auto-approve every edit and command (use with care)").option("--max-steps <n>", "cap the number of agent steps (default 24; also settable as maxSteps in vibgrate.config.json)").option("--single", "one-shot planner (single edit) instead of the multi-step agent").option("--stream", "stream the model output live").option("--stream-json", "machine protocol: NDJSON agent events on stdout, approval decisions on stdin (for host UIs like the VS Code panel)").option("--session", "with --stream-json: stay open for further turns (warm graph and tools) instead of exiting after one").option("--verify [command]", "after the agent finishes, run tests and make it fix failures (uses the config testCommand if no command is given)").option("--continue [id]", "resume a session: the most recent one, or the given session id (recap + restore /undo)").option("--restore-checkpoint <commit>", "one-shot: restore the given --file paths from a checkpoint commit, then exit (for host UIs after the original session ended)").option("--reasoning-effort <level>", "how hard a reasoning-capable model should think: low | medium | high (ignored by models without the knob)").option("--worktree [id]", "run the session in an isolated git worktree under .vibgrate/worktrees (bare: create a new one; with id: reuse it)").option("--worktree-diff <id>", "one-shot: print the worktree's delta against its base as a patch, then exit").option("--worktree-apply <id>", "one-shot: apply the worktree's delta onto the main tree (git apply --3way), then exit").option("--worktree-remove <id>", "one-shot: remove the worktree checkout, then exit").option("--capsule", "use a source-bearing Task Capsule for first context (Fusion A/B; exact source ranges from the graph)").option("--no-capsule", "disable Task Capsule context even if enabled in .vibgrate/code.json").option("--security-tier <tier>", "shell isolation: L0 (host), L1 (Seatbelt/bubblewrap when available), L2/L3 reserved").option("--mock <file>", "use a scripted reply from <file> instead of a model (offline; for tests/CI)").option("-o, --out <file>", "write the JSON result to <file> (implies --json shape; for CI/benchmarks)").action(async function(instructionParts, opts) {
7286
7286
  const global = readGlobal(this);
7287
7287
  let instruction = (instructionParts ?? []).join(" ").trim();
7288
7288
  if (typeof opts.continue === "string") {
@@ -7449,7 +7449,7 @@ function registerCode(program) {
7449
7449
  try {
7450
7450
  const { parseMode: parseMode2, resolveMode: resolveMode2, readOrchestratorState: readOrchestratorState2, activePin: activePin2 } = await import('./model-orchestrator-X3NE3Y2G.js');
7451
7451
  const { gatherSystemMemory: gatherSystemMemory2 } = await import('./local-runtime-GA43KYS5.js');
7452
- const { loadGraph: loadGraph2 } = await import('./load-7C5VETRD.js');
7452
+ const { loadGraph: loadGraph2 } = await import('./load-JXCTAAEI.js');
7453
7453
  const state = readOrchestratorState2();
7454
7454
  const mode = parseMode2(modeFlag) ?? state.defaultMode ?? void 0;
7455
7455
  const pin = mode ? activePin2(mode, state) : null;
@@ -7522,7 +7522,8 @@ function registerCode(program) {
7522
7522
  }
7523
7523
  }
7524
7524
  const auto = opts.auto ?? config.auto;
7525
- const maxSteps = opts.maxSteps ? Number(opts.maxSteps) : config.maxSteps;
7525
+ const parsedMaxSteps = opts.maxSteps === void 0 ? NaN : Number(opts.maxSteps);
7526
+ const maxSteps = Number.isFinite(parsedMaxSteps) && parsedMaxSteps > 0 ? Math.floor(parsedMaxSteps) : config.maxSteps;
7526
7527
  const capsule = typeof opts.capsule === "boolean" ? opts.capsule : !!config.capsule;
7527
7528
  const securityTier = resolveSecurityTierFlag(opts.securityTier, config.securityTier, !!auto);
7528
7529
  const contextBudget = contextBudgetFor(config);
@@ -7534,7 +7535,7 @@ function registerCode(program) {
7534
7535
  if (!(process.stdin.isTTY && process.stdout.isTTY)) {
7535
7536
  throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"` (guided mode needs an interactive terminal)');
7536
7537
  }
7537
- const { runInteractive } = await import('./interactive-2XRBRFRB.js');
7538
+ const { runInteractive } = await import('./interactive-GMGWUEQO.js');
7538
7539
  await runInteractive(
7539
7540
  rootOf(global),
7540
7541
  global,
@@ -7564,7 +7565,7 @@ function registerCode(program) {
7564
7565
  }
7565
7566
  if (!instruction && !stdinFirstTurn) throw usageError('say what to change, e.g. `vg code "add a --timeout flag to the scan command"`');
7566
7567
  {
7567
- const { ensureCodeMap } = await import('./ensure-map-DL2S774J.js');
7568
+ const { ensureCodeMap } = await import('./ensure-map-S2GBW2UC.js');
7568
7569
  const mapRoot = rootOf(global);
7569
7570
  try {
7570
7571
  await ensureCodeMap(mapRoot, global, {
@@ -7649,20 +7650,20 @@ function registerCode(program) {
7649
7650
  process.stdout.write(JSON.stringify(line) + "\n");
7650
7651
  };
7651
7652
  try {
7652
- const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-TMB5TJNA.js');
7653
+ const { RunOutcomeRecorder, newOneShotRunId, turnRunId } = await import('./run-outcome-5NA7PI52.js');
7653
7654
  const primarySlug = route.providers[0]?.model.includes("/") ? route.providers[0].model.split("/")[0] : route.providers[0]?.id;
7654
- const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-NW6AOE47.js');
7655
- const { nodeCodeFs } = await import('./session-KXT2ZTPE.js');
7655
+ const { runCodeStreamJson, parseHostMessage } = await import('./stream-json-2ISQLKPD.js');
7656
+ const { nodeCodeFs } = await import('./session-VYFLJ7KL.js');
7656
7657
  const readline6 = await import('readline');
7657
7658
  const child = await import('child_process');
7658
7659
  const { loadOrDiscoverFederation } = await import('./federation-M4ZNXOPX.js');
7659
7660
  const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
7660
7661
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
7661
- const { startCodeRuntimeSession } = await import('./runtime-session-Y23NVY7R.js');
7662
- const { resolveGraphBackend } = await import('./graph-backend-JXARVT3R.js');
7662
+ const { startCodeRuntimeSession } = await import('./runtime-session-IEM6DZDP.js');
7663
+ const { resolveGraphBackend } = await import('./graph-backend-QDEU5RIR.js');
7663
7664
  const { detectGitRef } = await import('./git-ref-LMT3EXYY.js');
7664
7665
  const { repositoryIdFromRoot } = await import('./paths-RVK6FKRN.js');
7665
- const { vgdRequest } = await import('./vgd-RW7HCEIP.js');
7666
+ const { vgdRequest } = await import('./vgd-4EB6SKFB.js');
7666
7667
  const federation = loadOrDiscoverFederation(root3);
7667
7668
  const modelProfile = mergeModelExecutionProfile(
7668
7669
  resolveModelExecutionProfile({
@@ -7720,7 +7721,7 @@ ${res.stderr}` : ""),
7720
7721
  exitCode: res.status ?? 1
7721
7722
  };
7722
7723
  };
7723
- const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-LXBHKEFR.js');
7724
+ const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-CJIK5U56.js');
7724
7725
  const vgBuiltin = createVgBuiltinMcpTools({
7725
7726
  getGraph: () => graph,
7726
7727
  root: root3,
@@ -7765,7 +7766,7 @@ ${res.stderr}` : ""),
7765
7766
  files,
7766
7767
  indexFile: checkpointIndex
7767
7768
  });
7768
- const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-KBM72NU2.js');
7769
+ const { loadApprovalRules, addApprovalRule, ruleForAction, ruleLabel } = await import('./approvals-XDFM346D.js');
7769
7770
  const { loadProjectRules, nodeRulesReader } = await import('./rules-ASYEUNB5.js');
7770
7771
  const projectRules = loadProjectRules(nodeRulesReader(root3));
7771
7772
  if (projectRules.sources.length && !global.quiet) {
@@ -7823,8 +7824,8 @@ ${res.stderr}` : ""),
7823
7824
  };
7824
7825
  try {
7825
7826
  if (opts.session) {
7826
- const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-NW6AOE47.js');
7827
- const { runAgent: runAgent2 } = await import('./agent-DHQYEHVW.js');
7827
+ const { runCodeStreamJsonSession, STREAM_JSON_PROTOCOL_VERSION } = await import('./stream-json-2ISQLKPD.js');
7828
+ const { runAgent: runAgent2 } = await import('./agent-4RHH2FR2.js');
7828
7829
  const {
7829
7830
  condenseSession,
7830
7831
  loadLatestSession,
@@ -7835,7 +7836,7 @@ ${res.stderr}` : ""),
7835
7836
  sessionsDir,
7836
7837
  summarizeSession
7837
7838
  } = await import('./session-store-AQUORKWB.js');
7838
- const { VERSION: VERSION2 } = await import('./version-7ABYXWOZ.js');
7839
+ const { VERSION: VERSION2 } = await import('./version-B62ELJRY.js');
7839
7840
  const resumedRecord = typeof opts.continue === "string" ? loadSession(mainRoot, opts.continue) : opts.continue ? loadLatestSession(mainRoot) : void 0;
7840
7841
  if (typeof opts.continue === "string" && !resumedRecord) {
7841
7842
  emitStream({
@@ -8047,8 +8048,8 @@ ${res.stderr}` : ""),
8047
8048
  if (!autonomous && !tty) {
8048
8049
  throw usageError("the agent approves each edit/command \u2014 run in a terminal to approve interactively, or pass --auto to run autonomously (or --single for a one-shot diff).");
8049
8050
  }
8050
- const { agentTask } = await import('./interactive-2XRBRFRB.js');
8051
- const { nodeCodeFs } = await import('./session-KXT2ZTPE.js');
8051
+ const { agentTask } = await import('./interactive-GMGWUEQO.js');
8052
+ const { nodeCodeFs } = await import('./session-VYFLJ7KL.js');
8052
8053
  const { TtyPrompter } = await import('./ui-K7D3BCHD.js');
8053
8054
  let priorSummary;
8054
8055
  let priorInstruction;
@@ -8063,7 +8064,7 @@ ${res.stderr}` : ""),
8063
8064
  }
8064
8065
  }
8065
8066
  const prompter = tty ? new TtyPrompter() : void 0;
8066
- const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-LXBHKEFR.js');
8067
+ const { createVgBuiltinMcpTools, mergeExternalToolsets } = await import('./vg-mcp-bridge-CJIK5U56.js');
8067
8068
  const vgBuiltin = createVgBuiltinMcpTools({
8068
8069
  getGraph: () => graph,
8069
8070
  root: root3,
@@ -8087,11 +8088,11 @@ ${res.stderr}` : ""),
8087
8088
  const { loadFederation } = await import('./federation-M4ZNXOPX.js');
8088
8089
  const { resolveExecutionEnv } = await import('./execution-env-4MS5AYAN.js');
8089
8090
  const { resolveModelExecutionProfile, mergeModelExecutionProfile } = await import('./model-execution-profile-ELWF3Z6H.js');
8090
- const { startCodeRuntimeSession } = await import('./runtime-session-Y23NVY7R.js');
8091
- const { resolveGraphBackend } = await import('./graph-backend-JXARVT3R.js');
8091
+ const { startCodeRuntimeSession } = await import('./runtime-session-IEM6DZDP.js');
8092
+ const { resolveGraphBackend } = await import('./graph-backend-QDEU5RIR.js');
8092
8093
  const { detectGitRef } = await import('./git-ref-LMT3EXYY.js');
8093
8094
  const { repositoryIdFromRoot } = await import('./paths-RVK6FKRN.js');
8094
- const { vgdRequest } = await import('./vgd-RW7HCEIP.js');
8095
+ const { vgdRequest } = await import('./vgd-4EB6SKFB.js');
8095
8096
  const federation = loadFederation(root3);
8096
8097
  const modelProfile = mergeModelExecutionProfile(
8097
8098
  resolveModelExecutionProfile({
@@ -9275,7 +9276,7 @@ var initCommand = new Command("init").description("Initialize vibgrate in a proj
9275
9276
  console.log(chalk7.green("\u2714") + ` Created ${chalk7.bold("vibgrate.config.ts")}`);
9276
9277
  }
9277
9278
  if (opts.baseline) {
9278
- const { runBaseline } = await import('./baseline-4X6MQBDA.js');
9279
+ const { runBaseline } = await import('./baseline-PRY5HKL5.js');
9279
9280
  await runBaseline(rootDir);
9280
9281
  }
9281
9282
  console.log("");
@@ -9808,7 +9809,7 @@ function reportStandards(rootDir) {
9808
9809
  }
9809
9810
  async function printRuntimeSnapshot(rootDir, opts, already) {
9810
9811
  try {
9811
- const { attachVgd: attachVgd2 } = await import('./attach-O74NL4M5.js');
9812
+ const { attachVgd: attachVgd2 } = await import('./attach-LGTCYNKC.js');
9812
9813
  const { vgdRequest } = await import('./client-P5XSRFV4.js');
9813
9814
  const { formatSemanticProgress } = await import('./semantic-status-2JFLIQQJ.js');
9814
9815
  let repositoryId = already?.repositoryId;
@@ -10017,7 +10018,7 @@ var scanCommand = new Command("scan").description("Scan a project for upgrade dr
10017
10018
  const advanced = await loadAdvancedScanHook();
10018
10019
  const artifact = await runCoreScan(rootDir, scanOpts, advanced);
10019
10020
  if (wantGraph && builtGraph) {
10020
- const { attachVgd: attachVgd2 } = await import('./attach-O74NL4M5.js');
10021
+ const { attachVgd: attachVgd2 } = await import('./attach-LGTCYNKC.js');
10021
10022
  const { ActivityLog: ActivityLog2 } = await import('./activity-MF2GNYAI.js');
10022
10023
  const activity = new ActivityLog2();
10023
10024
  const attached = await activity.time(
@@ -10923,7 +10924,7 @@ ${String(err)}` }));
10923
10924
  async function releaseWindowsFileLocks(cwd, keepVersion) {
10924
10925
  reapAndReport(cwd, keepVersion);
10925
10926
  try {
10926
- const { vgdSocketPath } = await import('./vgd-RW7HCEIP.js');
10927
+ const { vgdSocketPath } = await import('./vgd-4EB6SKFB.js');
10927
10928
  const result = await stopVgd(vgdSocketPath());
10928
10929
  if (result === "stopped") {
10929
10930
  console.log(chalk7.dim("Stopped the vgd daemon so its files can be replaced \u2014 it restarts on the new build after the install."));
@@ -11054,7 +11055,7 @@ var updateCommand = new Command("update").description("Update vibgrate to the la
11054
11055
  );
11055
11056
  async function rewarmVgdAndReport(cwd) {
11056
11057
  try {
11057
- const { vgdIsRunning, vgdRequest } = await import('./vgd-RW7HCEIP.js');
11058
+ const { vgdIsRunning, vgdRequest } = await import('./vgd-4EB6SKFB.js');
11058
11059
  if (!await vgdIsRunning()) return;
11059
11060
  const loaded = await vgdRequest({ op: "load-graph", root: cwd });
11060
11061
  if (!loaded.ok || !("stored" in loaded)) return;