@pellux/goodvibes-sdk 0.18.16 → 0.18.18

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 (108) hide show
  1. package/dist/_internal/platform/agents/orchestrator-runner.d.ts +5 -4
  2. package/dist/_internal/platform/agents/orchestrator-runner.d.ts.map +1 -1
  3. package/dist/_internal/platform/agents/orchestrator-runner.js +9 -8
  4. package/dist/_internal/platform/agents/orchestrator.d.ts.map +1 -1
  5. package/dist/_internal/platform/agents/orchestrator.js +1 -0
  6. package/dist/_internal/platform/agents/wrfc-controller.d.ts +2 -1
  7. package/dist/_internal/platform/agents/wrfc-controller.d.ts.map +1 -1
  8. package/dist/_internal/platform/agents/wrfc-controller.js +6 -6
  9. package/dist/_internal/platform/agents/wrfc-workmap.d.ts +4 -1
  10. package/dist/_internal/platform/agents/wrfc-workmap.d.ts.map +1 -1
  11. package/dist/_internal/platform/agents/wrfc-workmap.js +4 -2
  12. package/dist/_internal/platform/automation/schedules.js +1 -1
  13. package/dist/_internal/platform/bookmarks/manager.d.ts +1 -1
  14. package/dist/_internal/platform/bookmarks/manager.js +1 -1
  15. package/dist/_internal/platform/config/manager.d.ts +3 -2
  16. package/dist/_internal/platform/config/manager.d.ts.map +1 -1
  17. package/dist/_internal/platform/config/manager.js +12 -7
  18. package/dist/_internal/platform/config/schema-domain-core.js +1 -1
  19. package/dist/_internal/platform/config/schema-domain-runtime.js +1 -1
  20. package/dist/_internal/platform/config/secrets.d.ts +6 -4
  21. package/dist/_internal/platform/config/secrets.d.ts.map +1 -1
  22. package/dist/_internal/platform/config/secrets.js +19 -16
  23. package/dist/_internal/platform/config/service-registry.d.ts +1 -1
  24. package/dist/_internal/platform/config/service-registry.js +1 -1
  25. package/dist/_internal/platform/config/subscription-providers.js +1 -1
  26. package/dist/_internal/platform/daemon/cli.js +1 -1
  27. package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
  28. package/dist/_internal/platform/daemon/facade-composition.js +4 -0
  29. package/dist/_internal/platform/daemon/service-manager.d.ts +8 -0
  30. package/dist/_internal/platform/daemon/service-manager.d.ts.map +1 -1
  31. package/dist/_internal/platform/daemon/service-manager.js +41 -27
  32. package/dist/_internal/platform/discovery/mcp-scanner.d.ts +3 -1
  33. package/dist/_internal/platform/discovery/mcp-scanner.d.ts.map +1 -1
  34. package/dist/_internal/platform/discovery/mcp-scanner.js +6 -5
  35. package/dist/_internal/platform/discovery/scanner.d.ts +3 -1
  36. package/dist/_internal/platform/discovery/scanner.d.ts.map +1 -1
  37. package/dist/_internal/platform/discovery/scanner.js +3 -2
  38. package/dist/_internal/platform/input/keybindings.d.ts +3 -1
  39. package/dist/_internal/platform/input/keybindings.d.ts.map +1 -1
  40. package/dist/_internal/platform/input/keybindings.js +7 -3
  41. package/dist/_internal/platform/intelligence/config.d.ts +1 -1
  42. package/dist/_internal/platform/intelligence/config.d.ts.map +1 -1
  43. package/dist/_internal/platform/intelligence/config.js +8 -4
  44. package/dist/_internal/platform/intelligence/facade.d.ts +1 -1
  45. package/dist/_internal/platform/intelligence/facade.js +2 -2
  46. package/dist/_internal/platform/plugins/manager.d.ts.map +1 -1
  47. package/dist/_internal/platform/plugins/manager.js +5 -3
  48. package/dist/_internal/platform/profiles/manager.d.ts +1 -1
  49. package/dist/_internal/platform/profiles/manager.js +1 -1
  50. package/dist/_internal/platform/providers/anthropic-compat.d.ts +1 -1
  51. package/dist/_internal/platform/providers/anthropic-compat.js +1 -1
  52. package/dist/_internal/platform/providers/custom-loader.d.ts +1 -1
  53. package/dist/_internal/platform/providers/registry.d.ts +2 -2
  54. package/dist/_internal/platform/providers/registry.js +2 -2
  55. package/dist/_internal/platform/runtime/bootstrap-background.d.ts +2 -0
  56. package/dist/_internal/platform/runtime/bootstrap-background.d.ts.map +1 -1
  57. package/dist/_internal/platform/runtime/bootstrap-background.js +6 -6
  58. package/dist/_internal/platform/runtime/ecosystem/catalog.js +6 -6
  59. package/dist/_internal/platform/runtime/guidance.d.ts +1 -0
  60. package/dist/_internal/platform/runtime/guidance.d.ts.map +1 -1
  61. package/dist/_internal/platform/runtime/guidance.js +6 -2
  62. package/dist/_internal/platform/runtime/remote/distributed-runtime-manager.d.ts +1 -1
  63. package/dist/_internal/platform/runtime/remote/distributed-runtime-manager.d.ts.map +1 -1
  64. package/dist/_internal/platform/runtime/remote/distributed-runtime-manager.js +4 -3
  65. package/dist/_internal/platform/runtime/sandbox/provisioning.d.ts +7 -4
  66. package/dist/_internal/platform/runtime/sandbox/provisioning.d.ts.map +1 -1
  67. package/dist/_internal/platform/runtime/sandbox/provisioning.js +9 -8
  68. package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
  69. package/dist/_internal/platform/runtime/services.js +6 -4
  70. package/dist/_internal/platform/runtime/session-persistence.d.ts +1 -0
  71. package/dist/_internal/platform/runtime/session-persistence.d.ts.map +1 -1
  72. package/dist/_internal/platform/runtime/session-persistence.js +4 -4
  73. package/dist/_internal/platform/runtime/surface-root.d.ts +4 -0
  74. package/dist/_internal/platform/runtime/surface-root.d.ts.map +1 -1
  75. package/dist/_internal/platform/runtime/surface-root.js +15 -0
  76. package/dist/_internal/platform/runtime/worktree/registry.d.ts +5 -1
  77. package/dist/_internal/platform/runtime/worktree/registry.d.ts.map +1 -1
  78. package/dist/_internal/platform/runtime/worktree/registry.js +20 -17
  79. package/dist/_internal/platform/scheduler/scheduler.d.ts +1 -1
  80. package/dist/_internal/platform/scheduler/scheduler.js +1 -1
  81. package/dist/_internal/platform/sessions/manager.d.ts +5 -2
  82. package/dist/_internal/platform/sessions/manager.d.ts.map +1 -1
  83. package/dist/_internal/platform/sessions/manager.js +4 -3
  84. package/dist/_internal/platform/sessions/orchestration/registry.d.ts +4 -5
  85. package/dist/_internal/platform/sessions/orchestration/registry.d.ts.map +1 -1
  86. package/dist/_internal/platform/sessions/orchestration/registry.js +7 -8
  87. package/dist/_internal/platform/tools/fetch/schema.d.ts +1 -1
  88. package/dist/_internal/platform/tools/fetch/schema.js +1 -1
  89. package/dist/_internal/platform/tools/index.js +6 -6
  90. package/dist/_internal/platform/tools/packet/index.d.ts +4 -1
  91. package/dist/_internal/platform/tools/packet/index.d.ts.map +1 -1
  92. package/dist/_internal/platform/tools/packet/index.js +5 -2
  93. package/dist/_internal/platform/tools/query/index.d.ts +4 -1
  94. package/dist/_internal/platform/tools/query/index.d.ts.map +1 -1
  95. package/dist/_internal/platform/tools/query/index.js +5 -2
  96. package/dist/_internal/platform/tools/registry-tool/index.d.ts.map +1 -1
  97. package/dist/_internal/platform/tools/registry-tool/index.js +2 -4
  98. package/dist/_internal/platform/tools/registry-tool/skill-loader.d.ts.map +1 -1
  99. package/dist/_internal/platform/tools/registry-tool/skill-loader.js +1 -2
  100. package/dist/_internal/platform/tools/team/index.d.ts +3 -0
  101. package/dist/_internal/platform/tools/team/index.d.ts.map +1 -1
  102. package/dist/_internal/platform/tools/team/index.js +124 -119
  103. package/dist/_internal/platform/tools/worklist/index.d.ts +3 -0
  104. package/dist/_internal/platform/tools/worklist/index.d.ts.map +1 -1
  105. package/dist/_internal/platform/tools/worklist/index.js +108 -103
  106. package/dist/_internal/platform/watchers/store.d.ts.map +1 -1
  107. package/dist/_internal/platform/watchers/store.js +3 -2
  108. package/package.json +1 -1
@@ -112,7 +112,7 @@ export declare class ProviderRegistry {
112
112
  /** Switch to a different model. Accepts registryKey or plain modelId. Throws if not selectable. */
113
113
  setCurrentModel(modelId: string): void;
114
114
  /**
115
- * Load custom providers from ~/.goodvibes/goodvibes/providers/ and merge them
115
+ * Load custom providers from the configured providers directory and merge them
116
116
  * into the live model registry. Returns any warnings collected during loading.
117
117
  * Call this after construction to populate custom providers.
118
118
  */
@@ -123,7 +123,7 @@ export declare class ProviderRegistry {
123
123
  updated: string[];
124
124
  }>;
125
125
  /**
126
- * Start watching ~/.goodvibes/goodvibes/providers/ for file changes.
126
+ * Start watching the configured providers directory for file changes.
127
127
  * On change, reloads custom providers and emits typed provider runtime events.
128
128
  * Safe to call multiple times — stops the previous watcher first.
129
129
  */
@@ -403,7 +403,7 @@ export class ProviderRegistry {
403
403
  this.currentModelId = def.registryKey ?? modelId;
404
404
  }
405
405
  /**
406
- * Load custom providers from ~/.goodvibes/goodvibes/providers/ and merge them
406
+ * Load custom providers from the configured providers directory and merge them
407
407
  * into the live model registry. Returns any warnings collected during loading.
408
408
  * Call this after construction to populate custom providers.
409
409
  */
@@ -453,7 +453,7 @@ export class ProviderRegistry {
453
453
  return { warnings: result.warnings, added, removed, updated };
454
454
  }
455
455
  /**
456
- * Start watching ~/.goodvibes/goodvibes/providers/ for file changes.
456
+ * Start watching the configured providers directory for file changes.
457
457
  * On change, reloads custom providers and emits typed provider runtime events.
458
458
  * Safe to call multiple times — stops the previous watcher first.
459
459
  */
@@ -18,6 +18,7 @@ export interface BackgroundProviderDiscoveryOptions {
18
18
  restoreSavedModel: (providerRegistry: ProviderRegistry, savedModel: string, savedProvider: string, runtime: RuntimeSelectionState) => void;
19
19
  systemMessageRouter: HostSystemMessageSink;
20
20
  shellPaths: Pick<ShellPathService, 'workingDirectory' | 'homeDirectory'>;
21
+ surfaceRoot: string;
21
22
  }
22
23
  export declare function startBackgroundProviderDiscovery(options: BackgroundProviderDiscoveryOptions): void;
23
24
  export interface BackgroundMcpDiscoveryOptions {
@@ -25,6 +26,7 @@ export interface BackgroundMcpDiscoveryOptions {
25
26
  systemMessageRouter: HostSystemMessageSink;
26
27
  requestRender: () => void;
27
28
  shellPaths: Pick<ShellPathService, 'workingDirectory' | 'homeDirectory'>;
29
+ surfaceRoot: string;
28
30
  }
29
31
  export declare function scheduleBackgroundMcpDiscovery(options: BackgroundMcpDiscoveryOptions): void;
30
32
  export declare const startBackgroundProviderRegistration: typeof startBackgroundProviderDiscovery;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-background.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/bootstrap-background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC3I,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC;CAC1E;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,kCAAkC,GAC1C,IAAI,CA6FN;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC;CAC1E;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAqB3F;AAED,eAAO,MAAM,mCAAmC,yCAAmC,CAAC;AACpF,eAAO,MAAM,wBAAwB,uCAAiC,CAAC"}
1
+ {"version":3,"file":"bootstrap-background.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/bootstrap-background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC3I,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,kCAAkC,GAC1C,IAAI,CA6FN;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAqB3F;AAED,eAAO,MAAM,mCAAmC,yCAAmC,CAAC;AACpF,eAAO,MAAM,wBAAwB,uCAAiC,CAAC"}
@@ -3,9 +3,9 @@ import { autoRegisterProviders } from '../providers/auto-register.js';
3
3
  import { scan, loadPersistedProviders, persistProviders, removePersistedProviders, scanMcpServers } from '../discovery/index.js';
4
4
  import { summarizeError } from '../utils/error-display.js';
5
5
  export function startBackgroundProviderDiscovery(options) {
6
- const { configManager, providerRegistry, runtime, requestRender, restoreSavedModel, systemMessageRouter, shellPaths } = options;
6
+ const { configManager, providerRegistry, runtime, requestRender, restoreSavedModel, systemMessageRouter, shellPaths, surfaceRoot } = options;
7
7
  autoRegisterProviders(providerRegistry);
8
- const persisted = loadPersistedProviders(shellPaths);
8
+ const persisted = loadPersistedProviders({ ...shellPaths, surfaceRoot });
9
9
  if (persisted.length > 0) {
10
10
  try {
11
11
  providerRegistry.registerDiscoveredProviders(persisted);
@@ -42,7 +42,7 @@ export function startBackgroundProviderDiscovery(options) {
42
42
  systemMessageRouter.low(`[Scan] Found ${server.name} at ${server.host}:${server.port} (${server.models.length} model${server.models.length !== 1 ? 's' : ''})`);
43
43
  }
44
44
  if (result.servers.length > 0 && removedServers.length > 0) {
45
- removePersistedProviders(shellPaths, removedServers);
45
+ removePersistedProviders({ ...shellPaths, surfaceRoot }, removedServers);
46
46
  for (const server of removedServers) {
47
47
  systemMessageRouter.low(`[Scan] ${server.name} at ${server.host}:${server.port} is no longer reachable — removed`);
48
48
  const wasActive = server.models.includes(currentModel);
@@ -64,7 +64,7 @@ export function startBackgroundProviderDiscovery(options) {
64
64
  }
65
65
  }
66
66
  if (result.servers.length > 0) {
67
- persistProviders(shellPaths, result.servers);
67
+ persistProviders({ ...shellPaths, surfaceRoot }, result.servers);
68
68
  }
69
69
  if (newServers.length > 0 || removedServers.length > 0) {
70
70
  requestRender();
@@ -74,13 +74,13 @@ export function startBackgroundProviderDiscovery(options) {
74
74
  });
75
75
  }
76
76
  export function scheduleBackgroundMcpDiscovery(options) {
77
- const { mcpRegistry, systemMessageRouter, requestRender, shellPaths } = options;
77
+ const { mcpRegistry, systemMessageRouter, requestRender, shellPaths, surfaceRoot } = options;
78
78
  mcpRegistry.connectAll(shellPaths).catch((err) => {
79
79
  logger.debug('MCP auto-connect failed (non-fatal)', { error: summarizeError(err) });
80
80
  });
81
81
  setTimeout(() => {
82
82
  const registeredNames = new Set(mcpRegistry.serverNames);
83
- scanMcpServers(shellPaths, registeredNames).then((result) => {
83
+ scanMcpServers({ ...shellPaths, surfaceRoot }, registeredNames).then((result) => {
84
84
  if (result.suggestions.length === 0)
85
85
  return;
86
86
  for (const suggestion of result.suggestions) {
@@ -4,13 +4,13 @@ import { dirname, join, resolve } from 'node:path';
4
4
  import { VERSION } from '../../version.js';
5
5
  function catalogPath(kind, cwd, homeDir, scope) {
6
6
  return scope === 'project'
7
- ? join(cwd, '.goodvibes', 'goodvibes', 'ecosystem', `${kind}s.json`)
8
- : join(homeDir, '.goodvibes', 'goodvibes', 'ecosystem', `${kind}s.json`);
7
+ ? join(cwd, '.goodvibes', 'ecosystem', `${kind}s.json`)
8
+ : join(homeDir, '.goodvibes', 'ecosystem', `${kind}s.json`);
9
9
  }
10
10
  function catalogPaths(kind, cwd, homeDir) {
11
11
  return [
12
- join(cwd, '.goodvibes', 'goodvibes', 'ecosystem', `${kind}s.json`),
13
- join(homeDir, '.goodvibes', 'goodvibes', 'ecosystem', `${kind}s.json`),
12
+ join(cwd, '.goodvibes', 'ecosystem', `${kind}s.json`),
13
+ join(homeDir, '.goodvibes', 'ecosystem', `${kind}s.json`),
14
14
  ];
15
15
  }
16
16
  function installedRoot(kind, cwd, homeDir, scope) {
@@ -30,8 +30,8 @@ function installedRoot(kind, cwd, homeDir, scope) {
30
30
  }
31
31
  function installedReceiptsRoot(cwd, homeDir, scope) {
32
32
  return scope === 'project'
33
- ? join(cwd, '.goodvibes', 'goodvibes', 'ecosystem', 'installed')
34
- : join(homeDir, '.goodvibes', 'goodvibes', 'ecosystem', 'installed');
33
+ ? join(cwd, '.goodvibes', 'ecosystem', 'installed')
34
+ : join(homeDir, '.goodvibes', 'ecosystem', 'installed');
35
35
  }
36
36
  function receiptPath(kind, entryId, cwd, homeDir, scope) {
37
37
  const base = installedReceiptsRoot(cwd, homeDir, scope);
@@ -22,6 +22,7 @@ export interface GuidancePersistenceOptions {
22
22
  readonly guidancePath?: string;
23
23
  readonly userRoot?: string;
24
24
  readonly homeDirectory?: string;
25
+ readonly surfaceRoot?: string;
25
26
  }
26
27
  export declare function dismissGuidance(id: string, options?: GuidancePersistenceOptions): void;
27
28
  export declare function resetGuidance(id?: string, options?: GuidancePersistenceOptions): void;
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/guidance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC;AAE1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC9D;AAOD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AA6BD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAItF;AAED,wBAAgB,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAQrF;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,wBAAwB,EACrC,OAAO,CAAC,EAAE,0BAA0B,GACnC,YAAY,EAAE,CAuFhB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAQ5E"}
1
+ {"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/guidance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC;AAE1F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC9D;AAOD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAgCD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAItF;AAED,wBAAgB,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAQrF;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,0BAA0B,EACpC,WAAW,EAAE,wBAAwB,EACrC,OAAO,CAAC,EAAE,0BAA0B,GACnC,YAAY,EAAE,CAuFhB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAQ5E"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
- import { dirname, join } from 'path';
2
+ import { dirname } from 'path';
3
+ import { resolveSurfaceDirectory } from './surface-root.js';
3
4
  function resolveGuidancePath(options) {
4
5
  if (options?.guidancePath) {
5
6
  return options.guidancePath;
@@ -8,7 +9,10 @@ function resolveGuidancePath(options) {
8
9
  if (!userRoot) {
9
10
  throw new Error('Guidance persistence requires guidancePath or an explicit userRoot/homeDirectory.');
10
11
  }
11
- return join(userRoot, '.goodvibes', 'goodvibes', 'guidance.json');
12
+ if (!options?.surfaceRoot) {
13
+ throw new Error('Guidance persistence requires surfaceRoot when deriving guidancePath.');
14
+ }
15
+ return resolveSurfaceDirectory(userRoot, options.surfaceRoot, 'guidance.json');
12
16
  }
13
17
  function readDismissals(options) {
14
18
  try {
@@ -12,7 +12,7 @@ export declare class DistributedRuntimeManager implements DistributedRuntimeMana
12
12
  automationBridge: DistributedAutomationBridge | null;
13
13
  eventPublisher: ((event: string, payload: unknown) => void) | null;
14
14
  loaded: boolean;
15
- constructor(store?: PersistentStore<DistributedRuntimeSnapshotStore>);
15
+ constructor(storeOrPath: PersistentStore<DistributedRuntimeSnapshotStore> | string);
16
16
  attachRuntime(input: {
17
17
  readonly sessionBridge?: DistributedSessionBridge | null;
18
18
  readonly approvalBridge?: DistributedApprovalBridge | null;
@@ -1 +1 @@
1
- {"version":3,"file":"distributed-runtime-manager.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/remote/distributed-runtime-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distributed-runtime-manager.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/remote/distributed-runtime-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAC/B,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AA8BxC,qBAAa,yBAA0B,YAAW,8BAA8B;IAC9E,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;IACjE,QAAQ,CAAC,YAAY,iCAAwC;IAC7D,QAAQ,CAAC,KAAK,gCAAuC;IACrD,QAAQ,CAAC,IAAI,sCAA6C;IAC1D,QAAQ,CAAC,KAAK,EAAE,6BAA6B,EAAE,CAAM;IACrD,QAAQ,CAAC,OAAO,0CAAiD;IACjE,aAAa,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IACtD,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAAQ;IACxD,gBAAgB,EAAE,2BAA2B,GAAG,IAAI,CAAQ;IAC5D,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC1E,MAAM,UAAS;gBAEH,WAAW,EAAE,eAAe,CAAC,+BAA+B,CAAC,GAAG,MAAM;IAMlF,aAAa,CAAC,KAAK,EAAE;QACnB,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;QACzD,QAAQ,CAAC,cAAc,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;QAC3D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;QAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;KAC9E,GAAG,IAAI;IAIF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,gBAAgB,CAAC,KAAK,SAAM,GAAG,6BAA6B,EAAE;IAI9D,SAAS,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,KAAK,SAAM,GAAG,qBAAqB,EAAE;IAI3E,QAAQ,CAAC,KAAK,SAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAIhE,SAAS,CAAC,KAAK,SAAM,GAAG,6BAA6B,EAAE;IAIvD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItC,mBAAmB,IAAI,2BAA2B;IAI5C,cAAc,CAAC,KAAK,EAAE;QAC1B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;QAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,6BAA6B,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAIpE,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,GACL,OAAO,CAAC;QAAE,OAAO,EAAE,6BAA6B,CAAC;QAAC,IAAI,EAAE,qBAAqB,CAAA;KAAE,GAAG,IAAI,CAAC;IAIpF,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACnB,GACL,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAI1C,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE;QACL,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,GACL,OAAO,CAAC;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,KAAK,EAAE,0BAA0B,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAInG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAChC,GACL,OAAO,CAAC;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,KAAK,EAAE,0BAA0B,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAInG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACnB,GACL,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAIlC,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAClC,GACL,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAIlC,WAAW,CAAC,KAAK,EAAE;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;QACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI7B,UAAU,CAAC,KAAK,EAAE;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,sBAAsB,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAI3D,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAItG,aAAa,CACjB,IAAI,EAAE,mBAAmB,EACzB,KAAK,GAAE;QACL,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,GACL,OAAO,CAAC,qBAAqB,CAAC;IAI3B,SAAS,CACb,IAAI,EAAE,mBAAmB,EACzB,KAAK,GAAE;QACL,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KACtB,GACL,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI9B,YAAY,CAChB,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;QACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,GACL,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAInC,UAAU,CACd,MAAM,EAAE,MAAM,EACd,KAAK,GAAE;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KACrB,GACL,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;CAG1C"}
@@ -3,7 +3,6 @@ import { getDistributedNodeHostContract } from './distributed-runtime-contract.j
3
3
  import { attachDistributedRuntime, getDistributedRuntimeSnapshot, listDistributedRuntimeAudit, listDistributedRuntimePairRequests, listDistributedRuntimePeers, listDistributedRuntimeWork, startDistributedRuntime, } from './distributed-runtime-store.js';
4
4
  import { approveDistributedPairRequest, authenticateDistributedPeerToken, disconnectDistributedPeer, rejectDistributedPairRequest, requestDistributedPairing, revokeDistributedPeerToken, rotateDistributedPeerToken, verifyDistributedPairRequest, heartbeatDistributedPeer, } from './distributed-runtime-pairing.js';
5
5
  import { cancelDistributedWork, claimDistributedWork, completeDistributedWork, enqueueDistributedWork, invokeDistributedPeer, } from './distributed-runtime-work.js';
6
- const STORE_PATH = '.goodvibes/goodvibes/remote/distributed-runtime.json';
7
6
  export class DistributedRuntimeManager {
8
7
  store;
9
8
  pairRequests = new Map();
@@ -16,8 +15,10 @@ export class DistributedRuntimeManager {
16
15
  automationBridge = null;
17
16
  eventPublisher = null;
18
17
  loaded = false;
19
- constructor(store) {
20
- this.store = store ?? new PersistentStore(STORE_PATH);
18
+ constructor(storeOrPath) {
19
+ this.store = typeof storeOrPath === 'string'
20
+ ? new PersistentStore(storeOrPath)
21
+ : storeOrPath;
21
22
  }
22
23
  attachRuntime(input) {
23
24
  attachDistributedRuntime(this, input);
@@ -53,20 +53,23 @@ export interface SandboxQemuSetupManifest {
53
53
  readonly sessionMode: string;
54
54
  };
55
55
  }
56
+ export interface SandboxProvisioningOptions {
57
+ readonly surfaceRoot: string;
58
+ }
56
59
  export declare function buildSandboxDoctorChecks(manager: ConfigManager): SandboxDoctorCheck[];
57
60
  export declare function renderSandboxDoctor(manager: ConfigManager): string;
58
- export declare function exportSandboxGuestBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string): {
61
+ export declare function exportSandboxGuestBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string, _options: SandboxProvisioningOptions): {
59
62
  path: string;
60
63
  bundle: SandboxGuestBundle;
61
64
  };
62
65
  export declare function inspectSandboxGuestBundle(bundle: SandboxGuestBundle): string;
63
- export declare function scaffoldSandboxQemuInitBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string): SandboxQemuInitBundle;
64
- export declare function scaffoldSandboxQemuSetupBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string): SandboxQemuSetupBundle;
66
+ export declare function scaffoldSandboxQemuInitBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string, options: SandboxProvisioningOptions): SandboxQemuInitBundle;
67
+ export declare function scaffoldSandboxQemuSetupBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string, options: SandboxProvisioningOptions): SandboxQemuSetupBundle;
65
68
  export declare function createSandboxQemuImage(workspaceRoot: string, imagePathArg: string, sizeGb: number, qemuImgBinary?: string): {
66
69
  path: string;
67
70
  sizeGb: number;
68
71
  };
69
- export declare function bootstrapSandboxQemuSetupBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string, sizeGb: number): SandboxQemuSetupBundle;
72
+ export declare function bootstrapSandboxQemuSetupBundle(manager: ConfigManager, workspaceRoot: string, pathArg: string, sizeGb: number, options: SandboxProvisioningOptions): SandboxQemuSetupBundle;
70
73
  export declare function inspectSandboxQemuSetupManifest(manifest: SandboxQemuSetupManifest): string;
71
74
  export declare function loadSandboxQemuSetupManifest(workspaceRoot: string, pathArg: string): SandboxQemuSetupManifest;
72
75
  export declare function applySandboxQemuSetupManifest(manager: ConfigManager, manifest: SandboxQemuSetupManifest): void;
@@ -1 +1 @@
1
- {"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/sandbox/provisioning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provisioning.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/sandbox/provisioning.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, join, resolve } from 'node:path';
3
3
  import { spawnSync } from 'node:child_process';
4
4
  import { getSandboxConfigSnapshot } from './manager.js';
5
+ import { requireSurfaceRoot } from '../surface-root.js';
5
6
  import { renderQemuWrapperTemplate } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/qemu-wrapper-template';
6
7
  function existsExecutable(pathArg) {
7
8
  if (!pathArg)
@@ -66,7 +67,7 @@ export function renderSandboxDoctor(manager) {
66
67
  : ' next: fix the failing items, then run /sandbox doctor again',
67
68
  ].join('\n');
68
69
  }
69
- export function exportSandboxGuestBundle(manager, workspaceRoot, pathArg) {
70
+ export function exportSandboxGuestBundle(manager, workspaceRoot, pathArg, _options) {
70
71
  const config = getSandboxConfigSnapshot(manager);
71
72
  const targetPath = resolve(workspaceRoot, pathArg);
72
73
  const bundle = {
@@ -106,14 +107,14 @@ export function inspectSandboxGuestBundle(bundle) {
106
107
  ...bundle.nextSteps.map((step) => ` next: ${step}`),
107
108
  ].join('\n');
108
109
  }
109
- export function scaffoldSandboxQemuInitBundle(manager, workspaceRoot, pathArg) {
110
+ export function scaffoldSandboxQemuInitBundle(manager, workspaceRoot, pathArg, options) {
110
111
  const targetDir = resolve(workspaceRoot, pathArg);
111
112
  mkdirSync(targetDir, { recursive: true });
112
113
  const wrapperPath = join(targetDir, 'qemu-wrapper.sh');
113
114
  const guestBundlePath = join(targetDir, 'guest-bundle.json');
114
115
  const readmePath = join(targetDir, 'README.txt');
115
116
  writeFileSync(wrapperPath, renderQemuWrapperTemplate(), { encoding: 'utf-8', mode: 0o755 });
116
- exportSandboxGuestBundle(manager, workspaceRoot, guestBundlePath);
117
+ exportSandboxGuestBundle(manager, workspaceRoot, guestBundlePath, options);
117
118
  const config = getSandboxConfigSnapshot(manager);
118
119
  const readme = [
119
120
  'GoodVibes QEMU Sandbox Init Bundle',
@@ -137,8 +138,8 @@ export function scaffoldSandboxQemuInitBundle(manager, workspaceRoot, pathArg) {
137
138
  writeFileSync(readmePath, `${readme}\n`, 'utf-8');
138
139
  return { directory: targetDir, wrapperPath, guestBundlePath, readmePath };
139
140
  }
140
- export function scaffoldSandboxQemuSetupBundle(manager, workspaceRoot, pathArg) {
141
- const base = scaffoldSandboxQemuInitBundle(manager, workspaceRoot, pathArg);
141
+ export function scaffoldSandboxQemuSetupBundle(manager, workspaceRoot, pathArg, options) {
142
+ const base = scaffoldSandboxQemuInitBundle(manager, workspaceRoot, pathArg, options);
142
143
  const targetDir = base.directory;
143
144
  const config = getSandboxConfigSnapshot(manager);
144
145
  const imageDir = join(targetDir, 'images');
@@ -200,7 +201,7 @@ export function scaffoldSandboxQemuSetupBundle(manager, workspaceRoot, pathArg)
200
201
  ` Port ${config.qemuGuestPort}`,
201
202
  ` User ${config.qemuGuestUser || 'goodvibes'}`,
202
203
  ' StrictHostKeyChecking accept-new',
203
- ' UserKnownHostsFile ~/.goodvibes/goodvibes/known_hosts',
204
+ ` UserKnownHostsFile ~/.goodvibes/${requireSurfaceRoot(options.surfaceRoot, 'Sandbox provisioning surfaceRoot')}/known_hosts`,
204
205
  ' LogLevel ERROR',
205
206
  ].join('\n');
206
207
  writeFileSync(sshConfigPath, `${sshConfig}\n`, 'utf-8');
@@ -278,8 +279,8 @@ export function createSandboxQemuImage(workspaceRoot, imagePathArg, sizeGb, qemu
278
279
  }
279
280
  return { path: targetPath, sizeGb };
280
281
  }
281
- export function bootstrapSandboxQemuSetupBundle(manager, workspaceRoot, pathArg, sizeGb) {
282
- const bundle = scaffoldSandboxQemuSetupBundle(manager, workspaceRoot, pathArg);
282
+ export function bootstrapSandboxQemuSetupBundle(manager, workspaceRoot, pathArg, sizeGb, options) {
283
+ const bundle = scaffoldSandboxQemuSetupBundle(manager, workspaceRoot, pathArg, options);
283
284
  createSandboxQemuImage(workspaceRoot, bundle.imagePath, sizeGb);
284
285
  applySandboxQemuSetupManifest(manager, loadSandboxQemuSetupManifest(workspaceRoot, bundle.manifestPath));
285
286
  return bundle;
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAwB,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAA+B,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2EAA2E,CAAC;AACtH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAA+B,MAAM,4CAA4C,CAAC;AAC9H,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAuB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,yDAAyD,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,2DAA2D,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAGvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AACnH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAErG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qDAAqD,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IACxD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,EAAE,+BAA+B,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CA2XtF"}
@@ -95,6 +95,7 @@ export function createRuntimeServices(options) {
95
95
  const secretsManager = new SecretsManager({
96
96
  projectRoot: workingDirectory,
97
97
  globalHome: homeDirectory,
98
+ surfaceRoot,
98
99
  configManager,
99
100
  });
100
101
  const subscriptionManager = new SubscriptionManager(shellPaths.resolveUserPath(surfaceRoot, 'subscriptions.json'));
@@ -133,8 +134,8 @@ export function createRuntimeServices(options) {
133
134
  });
134
135
  const profileManager = new ProfileManager(shellPaths.resolveUserPath(surfaceRoot, 'profiles'));
135
136
  const bookmarkManager = new BookmarkManager(shellPaths.resolveUserPath(surfaceRoot, 'bookmarks'));
136
- const sessionManager = new SessionManager(workingDirectory);
137
- const sessionOrchestration = new CrossSessionTaskRegistry(workingDirectory);
137
+ const sessionManager = new SessionManager(workingDirectory, { surfaceRoot });
138
+ const sessionOrchestration = new CrossSessionTaskRegistry(shellPaths.resolveProjectPath(surfaceRoot, 'sessions', 'task-graph.json'));
138
139
  const hookActivityTracker = new HookActivityTracker();
139
140
  const watcherRegistry = new WatcherRegistry({
140
141
  storePath: shellPaths.resolveProjectPath(surfaceRoot, 'watchers.json'),
@@ -161,6 +162,7 @@ export function createRuntimeServices(options) {
161
162
  agentManager,
162
163
  configManager,
163
164
  projectRoot: workingDirectory,
165
+ surfaceRoot,
164
166
  });
165
167
  agentManager.setWrfcController(wrfcController);
166
168
  const hookDispatcher = new HookDispatcher({ agentManager, toolLLM, projectRoot: workingDirectory }, hookActivityTracker);
@@ -271,7 +273,7 @@ export function createRuntimeServices(options) {
271
273
  const channelPolicy = new ChannelPolicyManager({
272
274
  storePath: shellPaths.resolveProjectPath(surfaceRoot, 'channels', 'policies.json'),
273
275
  });
274
- const distributedRuntime = new DistributedRuntimeManager();
276
+ const distributedRuntime = new DistributedRuntimeManager(shellPaths.resolveProjectPath(surfaceRoot, 'remote', 'distributed-runtime.json'));
275
277
  distributedRuntime.attachRuntime({
276
278
  sessionBridge: sessionBroker,
277
279
  approvalBridge: approvalBroker,
@@ -288,7 +290,7 @@ export function createRuntimeServices(options) {
288
290
  mcpRegistry.setSandboxRuntime(configManager, sandboxSessionRegistry);
289
291
  const tokenAuditor = new ApiTokenAuditor({ managed: false });
290
292
  const panelHealthMonitor = new PanelHealthMonitor();
291
- const worktreeRegistry = new WorktreeRegistry(workingDirectory);
293
+ const worktreeRegistry = new WorktreeRegistry(workingDirectory, { surfaceRoot });
292
294
  const webhookNotifier = new WebhookNotifier();
293
295
  const replayEngine = new DeterministicReplayEngine(workingDirectory);
294
296
  const providerOptimizer = new ProviderOptimizer(providerRegistry, providerCapabilityRegistry, false);
@@ -18,6 +18,7 @@ export type SessionPersistenceOptions = {
18
18
  workingDirectory?: string;
19
19
  homeDirectory?: string;
20
20
  sessionManager?: SessionManager;
21
+ surfaceRoot?: string;
21
22
  };
22
23
  export type SessionPersistencePaths = {
23
24
  readonly workingDirectory: string;
@@ -1 +1 @@
1
- {"version":3,"file":"session-persistence.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/session-persistence.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAKvE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAgCF,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CAeN;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CAGN;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAapG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM,GAAG,IAAI,CAWzF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,eAAe,GAAG,IAAI,CAYhG;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CA2BN;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAO5E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,gBAAgB,GAAG,IAAI,CAmC9F;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,eAAe,GAAG,IAAI,CA6CpG"}
1
+ {"version":3,"file":"session-persistence.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/session-persistence.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAgCF,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CAeN;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CAGN;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAapG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM,GAAG,IAAI,CAWzF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,eAAe,GAAG,IAAI,CAYhG;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CA2BN;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAO5E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,gBAAgB,GAAG,IAAI,CAmC9F;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,eAAe,GAAG,IAAI,CA6CpG"}
@@ -4,7 +4,7 @@ import { dirname, join } from 'path';
4
4
  import { SessionManager } from '../sessions/manager.js';
5
5
  import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
6
6
  import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
7
- const SESSION_ROOT = 'goodvibes';
7
+ import { resolveScopedDirectory } from './surface-root.js';
8
8
  function requireWorkingDirectory(options) {
9
9
  const workingDirectory = options?.workingDirectory;
10
10
  if (!workingDirectory) {
@@ -29,16 +29,16 @@ function resolveSessionManager(options) {
29
29
  if (options?.sessionManager) {
30
30
  return options.sessionManager;
31
31
  }
32
- return new SessionManager(requireWorkingDirectory(options));
32
+ return new SessionManager(requireWorkingDirectory(options), { surfaceRoot: options?.surfaceRoot });
33
33
  }
34
34
  export function getUserSessionsDir(workingDirectory) {
35
- return join(workingDirectory, '.goodvibes', SESSION_ROOT, 'sessions');
35
+ return resolveScopedDirectory(workingDirectory, undefined, 'sessions');
36
36
  }
37
37
  export function getLastSessionPointerPath(workingDirectory) {
38
38
  return join(getUserSessionsDir(workingDirectory), 'last-session.json');
39
39
  }
40
40
  export function getRecoveryFilePath(homeDirectory) {
41
- return join(homeDirectory, '.goodvibes', SESSION_ROOT, 'recovery.jsonl');
41
+ return resolveScopedDirectory(homeDirectory, undefined, 'recovery.jsonl');
42
42
  }
43
43
  export function generateUserSessionId() {
44
44
  return randomBytes(4).toString('hex');
@@ -1,2 +1,6 @@
1
1
  export declare function requireSurfaceRoot(surfaceRoot: string, source?: string): string;
2
+ export declare function resolveSurfaceDirectory(baseDirectory: string, surfaceRoot: string, ...segments: string[]): string;
3
+ export declare function resolveSurfaceSharedFile(baseDirectory: string, surfaceRoot: string, extension?: string): string;
4
+ export declare function resolveSharedDirectory(baseDirectory: string, ...segments: string[]): string;
5
+ export declare function resolveScopedDirectory(baseDirectory: string, surfaceRoot: string | undefined, ...segments: string[]): string;
2
6
  //# sourceMappingURL=surface-root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface-root.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/surface-root.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,MAAM,CAMtF"}
1
+ {"version":3,"file":"surface-root.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/surface-root.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,MAAM,CAMtF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEjH;AAED,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,SAAS,GAAG,MAAM,CAE/G;AAED,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,QAAQ,EAAE,MAAM,EAAE,GACpB,MAAM,CAIR"}
@@ -1,3 +1,4 @@
1
+ import { join } from 'node:path';
1
2
  export function requireSurfaceRoot(surfaceRoot, source = 'surfaceRoot') {
2
3
  const normalized = surfaceRoot.trim();
3
4
  if (!normalized || normalized.includes('/') || normalized.includes('\\') || normalized === '.' || normalized === '..') {
@@ -5,3 +6,17 @@ export function requireSurfaceRoot(surfaceRoot, source = 'surfaceRoot') {
5
6
  }
6
7
  return normalized;
7
8
  }
9
+ export function resolveSurfaceDirectory(baseDirectory, surfaceRoot, ...segments) {
10
+ return join(baseDirectory, '.goodvibes', requireSurfaceRoot(surfaceRoot), ...segments);
11
+ }
12
+ export function resolveSurfaceSharedFile(baseDirectory, surfaceRoot, extension = 'json') {
13
+ return join(baseDirectory, '.goodvibes', `${requireSurfaceRoot(surfaceRoot)}.${extension}`);
14
+ }
15
+ export function resolveSharedDirectory(baseDirectory, ...segments) {
16
+ return join(baseDirectory, '.goodvibes', ...segments);
17
+ }
18
+ export function resolveScopedDirectory(baseDirectory, surfaceRoot, ...segments) {
19
+ return surfaceRoot && surfaceRoot.trim().length > 0
20
+ ? resolveSurfaceDirectory(baseDirectory, surfaceRoot, ...segments)
21
+ : resolveSharedDirectory(baseDirectory, ...segments);
22
+ }
@@ -39,6 +39,7 @@ export interface WorktreeAttachmentReview {
39
39
  }
40
40
  export interface WorktreeRegistryPaths {
41
41
  readonly workingDirectory: string;
42
+ readonly surfaceRoot?: string;
42
43
  }
43
44
  export declare function listPersistedWorktreeMeta(options: WorktreeRegistryPaths): ManagedWorktreeMeta[];
44
45
  export declare function getPersistedWorktreeMeta(path: string, options: WorktreeRegistryPaths): ManagedWorktreeMeta | null;
@@ -47,7 +48,10 @@ export declare function summarizeWorktreeOwnership(records: readonly ManagedWork
47
48
  export declare class WorktreeRegistry {
48
49
  private readonly git;
49
50
  private readonly workingDirectory;
50
- constructor(workingDirectory: string);
51
+ private readonly surfaceRoot?;
52
+ constructor(workingDirectory: string, options?: {
53
+ readonly surfaceRoot?: string;
54
+ });
51
55
  list(): Promise<WorktreeStatusRecord[]>;
52
56
  attach(path: string, target: {
53
57
  sessionId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/worktree/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/worktree/registry.ts"],"names":[],"mappings":"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"}