@pellux/goodvibes-sdk 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/_internal/platform/agents/orchestrator.d.ts +2 -0
  2. package/dist/_internal/platform/agents/orchestrator.d.ts.map +1 -1
  3. package/dist/_internal/platform/agents/orchestrator.js +38 -0
  4. package/dist/_internal/platform/automation/delivery-manager.d.ts +5 -0
  5. package/dist/_internal/platform/automation/delivery-manager.d.ts.map +1 -1
  6. package/dist/_internal/platform/automation/delivery-manager.js +14 -1
  7. package/dist/_internal/platform/automation/manager-runtime.d.ts +5 -0
  8. package/dist/_internal/platform/automation/manager-runtime.d.ts.map +1 -1
  9. package/dist/_internal/platform/automation/manager-runtime.js +32 -0
  10. package/dist/_internal/platform/channels/plugin-registry.d.ts +6 -0
  11. package/dist/_internal/platform/channels/plugin-registry.d.ts.map +1 -1
  12. package/dist/_internal/platform/channels/plugin-registry.js +17 -4
  13. package/dist/_internal/platform/channels/route-manager.d.ts +7 -0
  14. package/dist/_internal/platform/channels/route-manager.d.ts.map +1 -1
  15. package/dist/_internal/platform/channels/route-manager.js +41 -3
  16. package/dist/_internal/platform/channels/surface-registry.d.ts +3 -1
  17. package/dist/_internal/platform/channels/surface-registry.d.ts.map +1 -1
  18. package/dist/_internal/platform/channels/surface-registry.js +16 -17
  19. package/dist/_internal/platform/config/schema-types.d.ts +1 -1
  20. package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
  21. package/dist/_internal/platform/control-plane/gateway.d.ts +5 -0
  22. package/dist/_internal/platform/control-plane/gateway.d.ts.map +1 -1
  23. package/dist/_internal/platform/control-plane/gateway.js +69 -4
  24. package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
  25. package/dist/_internal/platform/daemon/facade-composition.js +2 -0
  26. package/dist/_internal/platform/daemon/facade.d.ts.map +1 -1
  27. package/dist/_internal/platform/daemon/facade.js +3 -1
  28. package/dist/_internal/platform/daemon/service-manager.d.ts +5 -0
  29. package/dist/_internal/platform/daemon/service-manager.d.ts.map +1 -1
  30. package/dist/_internal/platform/daemon/service-manager.js +29 -0
  31. package/dist/_internal/platform/integrations/delivery.d.ts +5 -1
  32. package/dist/_internal/platform/integrations/delivery.d.ts.map +1 -1
  33. package/dist/_internal/platform/integrations/delivery.js +8 -1
  34. package/dist/_internal/platform/integrations/notifier.d.ts +5 -1
  35. package/dist/_internal/platform/integrations/notifier.d.ts.map +1 -1
  36. package/dist/_internal/platform/integrations/notifier.js +6 -3
  37. package/dist/_internal/platform/permissions/manager.d.ts +3 -1
  38. package/dist/_internal/platform/permissions/manager.d.ts.map +1 -1
  39. package/dist/_internal/platform/permissions/manager.js +9 -5
  40. package/dist/_internal/platform/runtime/emitters/routes.d.ts +5 -0
  41. package/dist/_internal/platform/runtime/emitters/routes.d.ts.map +1 -1
  42. package/dist/_internal/platform/runtime/emitters/routes.js +3 -0
  43. package/dist/_internal/platform/runtime/events/contracts/automation-route.d.ts +1 -0
  44. package/dist/_internal/platform/runtime/events/contracts/automation-route.d.ts.map +1 -1
  45. package/dist/_internal/platform/runtime/events/contracts/automation-route.js +7 -0
  46. package/dist/_internal/platform/runtime/events/contracts.d.ts +1 -1
  47. package/dist/_internal/platform/runtime/events/contracts.d.ts.map +1 -1
  48. package/dist/_internal/platform/runtime/events/contracts.js +3 -2
  49. package/dist/_internal/platform/runtime/events/routes.d.ts +5 -0
  50. package/dist/_internal/platform/runtime/events/routes.d.ts.map +1 -1
  51. package/dist/_internal/platform/runtime/feature-flags/flags.d.ts.map +1 -1
  52. package/dist/_internal/platform/runtime/feature-flags/flags.js +17 -21
  53. package/dist/_internal/platform/runtime/feature-flags/gates.d.ts +7 -0
  54. package/dist/_internal/platform/runtime/feature-flags/gates.d.ts.map +1 -0
  55. package/dist/_internal/platform/runtime/feature-flags/gates.js +38 -0
  56. package/dist/_internal/platform/runtime/feature-flags/index.d.ts +2 -0
  57. package/dist/_internal/platform/runtime/feature-flags/index.d.ts.map +1 -1
  58. package/dist/_internal/platform/runtime/feature-flags/index.js +1 -0
  59. package/dist/_internal/platform/runtime/mcp/index.d.ts +2 -1
  60. package/dist/_internal/platform/runtime/mcp/index.d.ts.map +1 -1
  61. package/dist/_internal/platform/runtime/mcp/index.js +4 -1
  62. package/dist/_internal/platform/runtime/permissions/index.d.ts +20 -1
  63. package/dist/_internal/platform/runtime/permissions/index.d.ts.map +1 -1
  64. package/dist/_internal/platform/runtime/permissions/index.js +27 -1
  65. package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts +6 -0
  66. package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts.map +1 -1
  67. package/dist/_internal/platform/runtime/permissions/policy-loader.js +7 -2
  68. package/dist/_internal/platform/runtime/plugins/index.d.ts +2 -1
  69. package/dist/_internal/platform/runtime/plugins/index.d.ts.map +1 -1
  70. package/dist/_internal/platform/runtime/plugins/index.js +4 -1
  71. package/dist/_internal/platform/runtime/services.d.ts +1 -0
  72. package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
  73. package/dist/_internal/platform/runtime/services.js +21 -5
  74. package/dist/_internal/platform/runtime/shell-command-ops.d.ts +2 -0
  75. package/dist/_internal/platform/runtime/shell-command-ops.d.ts.map +1 -1
  76. package/dist/_internal/platform/runtime/shell-command-ops.js +4 -1
  77. package/dist/_internal/platform/runtime/tasks/index.d.ts +2 -1
  78. package/dist/_internal/platform/runtime/tasks/index.d.ts.map +1 -1
  79. package/dist/_internal/platform/runtime/tasks/index.js +2 -2
  80. package/dist/_internal/platform/runtime/tasks/manager.d.ts +5 -1
  81. package/dist/_internal/platform/runtime/tasks/manager.d.ts.map +1 -1
  82. package/dist/_internal/platform/runtime/tasks/manager.js +30 -1
  83. package/dist/_internal/platform/runtime/telemetry/index.d.ts +9 -3
  84. package/dist/_internal/platform/runtime/telemetry/index.d.ts.map +1 -1
  85. package/dist/_internal/platform/runtime/telemetry/index.js +7 -4
  86. package/dist/_internal/platform/runtime/tools/index.d.ts.map +1 -1
  87. package/dist/_internal/platform/runtime/tools/index.js +4 -1
  88. package/dist/_internal/platform/runtime/tools/types.d.ts +6 -0
  89. package/dist/_internal/platform/runtime/tools/types.d.ts.map +1 -1
  90. package/dist/_internal/platform/security/token-audit.d.ts +7 -0
  91. package/dist/_internal/platform/security/token-audit.d.ts.map +1 -1
  92. package/dist/_internal/platform/security/token-audit.js +6 -2
  93. package/dist/_internal/platform/state/mode-manager.d.ts +7 -0
  94. package/dist/_internal/platform/state/mode-manager.d.ts.map +1 -1
  95. package/dist/_internal/platform/state/mode-manager.js +25 -0
  96. package/dist/_internal/platform/tools/index.d.ts +4 -0
  97. package/dist/_internal/platform/tools/index.d.ts.map +1 -1
  98. package/dist/_internal/platform/tools/index.js +37 -23
  99. package/dist/_internal/platform/tools/shared/overflow.d.ts +3 -0
  100. package/dist/_internal/platform/tools/shared/overflow.d.ts.map +1 -1
  101. package/dist/_internal/platform/tools/shared/overflow.js +6 -2
  102. package/dist/_internal/platform/version.js +1 -1
  103. package/dist/_internal/platform/watchers/registry.d.ts +6 -0
  104. package/dist/_internal/platform/watchers/registry.d.ts.map +1 -1
  105. package/dist/_internal/platform/watchers/registry.js +32 -0
  106. package/package.json +1 -1
@@ -16,6 +16,7 @@ import { createDomainDispatch } from '../store/index.js';
16
16
  import { TaskRegistry } from './registry.js';
17
17
  import { canTransition } from './lifecycle.js';
18
18
  import { emitTaskCreated, emitTaskStarted, emitTaskBlocked, emitTaskCompleted, emitTaskFailed, emitTaskCancelled, } from '../emitters/tasks.js';
19
+ import { isFeatureGateEnabled, requireFeatureGate } from '../feature-flags/index.js';
19
20
  // ---------------------------------------------------------------------------
20
21
  // Error types
21
22
  // ---------------------------------------------------------------------------
@@ -65,19 +66,28 @@ export class UnifiedTaskManager {
65
66
  _bus;
66
67
  /** Session ID for emitter context. */
67
68
  _sessionId;
69
+ _featureFlags;
68
70
  /**
69
71
  * @param store - The Zustand runtime store to dispatch state updates to.
70
72
  * @param bus - The RuntimeEventBus to emit task lifecycle events on.
71
73
  * @param sessionId - The current session identifier for emitter context.
72
74
  */
73
- constructor(store, bus, sessionId) {
75
+ constructor(store, bus, sessionId, featureFlags) {
74
76
  this._store = store;
75
77
  this._dispatch = createDomainDispatch(store);
76
78
  this._bus = bus;
77
79
  this._sessionId = sessionId;
80
+ this._featureFlags = featureFlags ?? null;
81
+ }
82
+ _isEnabled() {
83
+ return isFeatureGateEnabled(this._featureFlags, 'unified-runtime-task');
84
+ }
85
+ _requireEnabled(operation) {
86
+ requireFeatureGate(this._featureFlags, 'unified-runtime-task', operation);
78
87
  }
79
88
  // ── TaskManager interface ────────────────────────────────────────────────
80
89
  createTask(params) {
90
+ this._requireEnabled('create runtime task');
81
91
  const now = Date.now();
82
92
  const id = crypto.randomUUID();
83
93
  const task = {
@@ -112,6 +122,7 @@ export class UnifiedTaskManager {
112
122
  return task;
113
123
  }
114
124
  startTask(taskId) {
125
+ this._requireEnabled('start runtime task');
115
126
  const task = this._requireTask(taskId);
116
127
  this._requireTransition(task, 'running');
117
128
  const updated = this._applyTransition(task, 'running', {
@@ -121,6 +132,7 @@ export class UnifiedTaskManager {
121
132
  return updated;
122
133
  }
123
134
  blockTask(taskId, reason) {
135
+ this._requireEnabled('block runtime task');
124
136
  const task = this._requireTask(taskId);
125
137
  this._requireTransition(task, 'blocked');
126
138
  const updated = this._applyTransition(task, 'blocked', {});
@@ -128,6 +140,7 @@ export class UnifiedTaskManager {
128
140
  return updated;
129
141
  }
130
142
  completeTask(taskId, result) {
143
+ this._requireEnabled('complete runtime task');
131
144
  const task = this._requireTask(taskId);
132
145
  this._requireTransition(task, 'completed');
133
146
  const now = Date.now();
@@ -140,6 +153,7 @@ export class UnifiedTaskManager {
140
153
  return updated;
141
154
  }
142
155
  failTask(taskId, params) {
156
+ this._requireEnabled('fail runtime task');
143
157
  const task = this._requireTask(taskId);
144
158
  this._requireTransition(task, 'failed');
145
159
  const now = Date.now();
@@ -188,6 +202,7 @@ export class UnifiedTaskManager {
188
202
  return updated;
189
203
  }
190
204
  cancelTask(taskId, params) {
205
+ this._requireEnabled('cancel runtime task');
191
206
  const task = this._requireTask(taskId);
192
207
  if (!task.cancellable) {
193
208
  throw new TaskNotCancellableError(taskId);
@@ -204,6 +219,7 @@ export class UnifiedTaskManager {
204
219
  return updated;
205
220
  }
206
221
  updateTask(taskId, params) {
222
+ this._requireEnabled('update runtime task');
207
223
  const task = this._requireTask(taskId);
208
224
  const updated = {
209
225
  ...task,
@@ -217,24 +233,37 @@ export class UnifiedTaskManager {
217
233
  return updated;
218
234
  }
219
235
  getTask(taskId) {
236
+ if (!this._isEnabled())
237
+ return undefined;
220
238
  return this._registry.get(taskId);
221
239
  }
222
240
  getTasksByKind(kind) {
241
+ if (!this._isEnabled())
242
+ return [];
223
243
  return this._registry.getByKind(kind);
224
244
  }
225
245
  getRunningTasks() {
246
+ if (!this._isEnabled())
247
+ return [];
226
248
  return this._registry.getRunning();
227
249
  }
228
250
  getRunningCount(kind) {
251
+ if (!this._isEnabled())
252
+ return 0;
229
253
  return this._registry.getByKind(kind).filter((t) => t.status === 'running').length;
230
254
  }
231
255
  getChildTasks(parentTaskId) {
256
+ if (!this._isEnabled())
257
+ return [];
232
258
  return this._registry.getChildren(parentTaskId);
233
259
  }
234
260
  getTaskStatus(taskId) {
261
+ if (!this._isEnabled())
262
+ return undefined;
235
263
  return this._registry.get(taskId)?.status;
236
264
  }
237
265
  retryTask(taskId) {
266
+ this._requireEnabled('retry runtime task');
238
267
  const task = this._requireTask(taskId);
239
268
  if (task.status !== 'failed' && task.status !== 'cancelled') {
240
269
  throw new TaskTransitionError(task.id, task.status, 'queued');
@@ -22,6 +22,8 @@
22
22
  import { RuntimeTracer } from './tracer.js';
23
23
  import { RuntimeMeter } from './meter.js';
24
24
  import type { TelemetryProviderConfig } from './types.js';
25
+ import type { FeatureFlagManager } from '../feature-flags/index.js';
26
+ import type { OtlpConfig } from './exporters/index.js';
25
27
  export type { AttributeValue, SpanAttributes, SpanContext, SpanEvent, SpanKind, SpanStatus, SpanStatusCode, ReadableSpan, Span, SpanExporter, Counter, Histogram, HistogramSnapshot, Gauge, MetricLabels, TracerConfig, MeterConfig, TelemetryProviderConfig, } from './types.js';
26
28
  export { SpanStatusCode as SpanStatusCodes, SpanKind as SpanKinds } from './types.js';
27
29
  export { RuntimeTracer } from './tracer.js';
@@ -30,12 +32,16 @@ export type { TelemetrySeverity, TelemetryViewMode, TelemetryFilter, TelemetryRe
30
32
  export { TelemetryApiService } from './api.js';
31
33
  export type { TurnSpanContext, TurnSpanEndContext, ToolSpanContext, ToolSpanEndContext, ToolPhase, LlmSpanContext, LlmSpanEndContext, LlmTokenUsage, PluginSpanContext, PluginSpanEndContext, PluginPhase, McpSpanContext, McpSpanEndContext, McpPhase, TransportSpanContext, TransportSpanEndContext, TransportPhase, TaskSpanContext, TaskSpanEndContext, TaskPhase, AgentSpanContext, AgentSpanEndContext, AgentPhase, PermissionSpanContext, PermissionSpanEndContext, PermissionPhase, SessionSpanContext, SessionSpanEndContext, SessionPhase, CompactionSpanContext, CompactionSpanEndContext, CompactionPhase, HealthCascadeSpanContext, } from './spans/index.js';
32
34
  export { startTurnSpan, endTurnSpan, startToolSpan, recordToolPhase, endToolSpan, startLlmSpan, recordLlmStreamStart, endLlmSpan, startPluginSpan, recordPluginPhase, endPluginSpan, startMcpSpan, recordMcpPhase, endMcpSpan, startTransportSpan, recordTransportPhase, endTransportSpan, startTaskSpan, recordTaskPhase, endTaskSpan, startAgentSpan, recordAgentPhase, endAgentSpan, startPermissionSpan, recordPermissionPhase, endPermissionSpan, startSessionSpan, recordSessionPhase, endSessionSpan, startCompactionSpan, recordCompactionPhase, endCompactionSpan, recordHealthCascadeSpan, } from './spans/index.js';
33
- export type { LocalLedgerConfig, ConsoleVerbosity, ConsoleExporterConfig } from './exporters/index.js';
34
- export { LocalLedgerExporter, ConsoleExporter } from './exporters/index.js';
35
+ export type { LocalLedgerConfig, ConsoleVerbosity, ConsoleExporterConfig, OtlpConfig } from './exporters/index.js';
36
+ export { LocalLedgerExporter, ConsoleExporter, OtlpExporter } from './exporters/index.js';
35
37
  export type { InstrumentationHandle } from './instrumentation/index.js';
36
38
  export { DomainBridge, createInstrumentation } from './instrumentation/index.js';
37
39
  /** Alias for TelemetryProviderConfig to match the factory parameter name. */
38
40
  export type TelemetryConfig = TelemetryProviderConfig;
41
+ export interface TelemetryProviderOptions {
42
+ readonly featureFlags?: Pick<FeatureFlagManager, 'isEnabled'> | null;
43
+ readonly otlp?: OtlpConfig;
44
+ }
39
45
  /**
40
46
  * Create a telemetry provider — a paired RuntimeTracer and RuntimeMeter.
41
47
  *
@@ -46,7 +52,7 @@ export type TelemetryConfig = TelemetryProviderConfig;
46
52
  * @param config - Optional telemetry provider configuration.
47
53
  * @returns An object with `tracer` and `meter` instances.
48
54
  */
49
- export declare function createTelemetryProvider(config?: TelemetryConfig): {
55
+ export declare function createTelemetryProvider(config?: TelemetryConfig, options?: TelemetryProviderOptions): {
50
56
  tracer: RuntimeTracer;
51
57
  meter: RuntimeMeter;
52
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG1D,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAGtF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5E,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEjF,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG;IACjE,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;CACrB,CAgBA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/telemetry/index.ts"],"names":[],"mappings":"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"}
@@ -21,13 +21,14 @@
21
21
  */
22
22
  import { RuntimeTracer } from './tracer.js';
23
23
  import { RuntimeMeter } from './meter.js';
24
+ import { OtlpExporter } from './exporters/index.js';
24
25
  export { SpanStatusCode as SpanStatusCodes, SpanKind as SpanKinds } from './types.js';
25
26
  // Re-export tracer and meter classes
26
27
  export { RuntimeTracer } from './tracer.js';
27
28
  export { RuntimeMeter } from './meter.js';
28
29
  export { TelemetryApiService } from './api.js';
29
30
  export { startTurnSpan, endTurnSpan, startToolSpan, recordToolPhase, endToolSpan, startLlmSpan, recordLlmStreamStart, endLlmSpan, startPluginSpan, recordPluginPhase, endPluginSpan, startMcpSpan, recordMcpPhase, endMcpSpan, startTransportSpan, recordTransportPhase, endTransportSpan, startTaskSpan, recordTaskPhase, endTaskSpan, startAgentSpan, recordAgentPhase, endAgentSpan, startPermissionSpan, recordPermissionPhase, endPermissionSpan, startSessionSpan, recordSessionPhase, endSessionSpan, startCompactionSpan, recordCompactionPhase, endCompactionSpan, recordHealthCascadeSpan, } from './spans/index.js';
30
- export { LocalLedgerExporter, ConsoleExporter } from './exporters/index.js';
31
+ export { LocalLedgerExporter, ConsoleExporter, OtlpExporter } from './exporters/index.js';
31
32
  export { DomainBridge, createInstrumentation } from './instrumentation/index.js';
32
33
  /**
33
34
  * Create a telemetry provider — a paired RuntimeTracer and RuntimeMeter.
@@ -39,11 +40,13 @@ export { DomainBridge, createInstrumentation } from './instrumentation/index.js'
39
40
  * @param config - Optional telemetry provider configuration.
40
41
  * @returns An object with `tracer` and `meter` instances.
41
42
  */
42
- export function createTelemetryProvider(config) {
43
+ export function createTelemetryProvider(config, options = {}) {
44
+ const foundationEnabled = options.featureFlags?.isEnabled('otel-foundation') ?? false;
45
+ const remoteExportEnabled = foundationEnabled && (options.featureFlags?.isEnabled('otel-remote-export') ?? false);
43
46
  const tracer = new RuntimeTracer(config?.tracer ?? {
44
47
  scope: 'goodvibes-sdk',
45
- enabled: false,
46
- exporters: [],
48
+ enabled: foundationEnabled,
49
+ exporters: remoteExportEnabled && options.otlp ? [new OtlpExporter(options.otlp)] : [],
47
50
  });
48
51
  const meter = new RuntimeMeter(config?.meter ?? {
49
52
  scope: 'goodvibes-sdk',
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvG,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AASjD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAEzF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvG,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AASjD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAMzF"}
@@ -17,5 +17,8 @@ const DEFAULTS = {
17
17
  * @returns A fully configured PhasedToolExecutor instance.
18
18
  */
19
19
  export function createPhasedExecutor(config) {
20
- return new PhasedToolExecutor({ ...DEFAULTS, ...config });
20
+ const enableBudgetEnforcement = config?.enableBudgetEnforcement
21
+ ?? config?.featureFlags?.isEnabled('runtime-tools-budget-enforcement')
22
+ ?? false;
23
+ return new PhasedToolExecutor({ ...DEFAULTS, ...config, enableBudgetEnforcement });
21
24
  }
@@ -1,4 +1,5 @@
1
1
  import type { ToolResult } from '../../types/tools.js';
2
+ import type { FeatureFlagManager } from '../feature-flags/index.js';
2
3
  /**
3
4
  * BudgetExceedReason — typed discriminant for budget breach events.
4
5
  *
@@ -102,6 +103,11 @@ export interface ExecutorConfig {
102
103
  * ignored. Controlled by the `runtime-tools-budget-enforcement` feature flag.
103
104
  */
104
105
  enableBudgetEnforcement?: boolean;
106
+ /**
107
+ * Optional feature-flag manager used by createPhasedExecutor() to derive
108
+ * runtime-backed defaults. Explicit ExecutorConfig booleans still win.
109
+ */
110
+ featureFlags?: Pick<FeatureFlagManager, 'isEnabled'> | null;
105
111
  /**
106
112
  * Optional idempotency store.
107
113
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,WAAW,GACX,WAAW,GACX,cAAc,GACd,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,WAAW,GACX,cAAc,GACd,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,gCAAgC,EAAE,gBAAgB,CAAC;CAC1E;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,4EAA4E;IAC5E,YAAY,EAAE,kBAAkB,CAAC;IACjC,iHAAiH;IACjH,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,yDAAyD;IACzD,WAAW,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC;CACvE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,WAAW,GACX,WAAW,GACX,cAAc,GACd,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,WAAW,GACX,cAAc,GACd,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,gCAAgC,EAAE,gBAAgB,CAAC;CAC1E;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,4EAA4E;IAC5E,YAAY,EAAE,kBAAkB,CAAC;IACjC,iHAAiH;IACjH,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,yDAAyD;IACzD,WAAW,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IAC5D;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC;CACvE"}
@@ -12,6 +12,7 @@
12
12
  * In advisory mode, violations are reported but not blocked.
13
13
  */
14
14
  import type { SecurityEvent } from '../runtime/events/security.js';
15
+ import type { FeatureFlagReader } from '../runtime/feature-flags/index.js';
15
16
  /** Default rotation cadence: 90 days in ms. */
16
17
  export declare const DEFAULT_ROTATION_CADENCE_MS: number;
17
18
  /** Default warning threshold: 14 days before rotation deadline. */
@@ -116,6 +117,11 @@ export interface TokenAuditorConfig {
116
117
  * When false, violations are reported but tokens remain usable.
117
118
  */
118
119
  managed: boolean;
120
+ /**
121
+ * Feature flags gate managed blocking when supplied by SDK runtime services.
122
+ * Audits still report violations while disabled.
123
+ */
124
+ featureFlags?: FeatureFlagReader;
119
125
  }
120
126
  /**
121
127
  * Callback invoked after each token is audited in `auditAll()`.
@@ -153,6 +159,7 @@ export declare class ApiTokenAuditor {
153
159
  constructor(config?: TokenAuditorConfig, options?: {
154
160
  emitter?: SecurityEventEmitter;
155
161
  });
162
+ private _managedBlockingEnabled;
156
163
  /**
157
164
  * Register a scope policy. Policies must be registered before tokens that
158
165
  * reference them.
@@ -1 +1 @@
1
- {"version":3,"file":"token-audit.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/security/token-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-audit.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/security/token-audit.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  * In advisory mode, violations are reported but not blocked.
13
13
  */
14
14
  import { logger } from '../utils/logger.js';
15
+ import { isFeatureGateEnabled } from '../runtime/feature-flags/index.js';
15
16
  // ---------------------------------------------------------------------------
16
17
  // Constants
17
18
  // ---------------------------------------------------------------------------
@@ -53,6 +54,9 @@ export class ApiTokenAuditor {
53
54
  this._config = config;
54
55
  this._emitter = options?.emitter ?? ((_event) => { });
55
56
  }
57
+ _managedBlockingEnabled() {
58
+ return isFeatureGateEnabled(this._config.featureFlags, 'token-scope-rotation-audit');
59
+ }
56
60
  // -------------------------------------------------------------------------
57
61
  // Registry
58
62
  // -------------------------------------------------------------------------
@@ -185,7 +189,7 @@ export class ApiTokenAuditor {
185
189
  const isOverdue = rotation.outcome === 'overdue';
186
190
  const isWarning = rotation.outcome === 'warning';
187
191
  // In managed mode: block tokens with scope violations or overdue rotation
188
- const isBlocked = this._config.managed && (hasViolation || isOverdue);
192
+ const isBlocked = this._config.managed && this._managedBlockingEnabled() && (hasViolation || isOverdue);
189
193
  const result = {
190
194
  tokenId,
191
195
  label: metadata.label,
@@ -256,7 +260,7 @@ export class ApiTokenAuditor {
256
260
  * Returns false when not in managed mode or when the token is not registered.
257
261
  */
258
262
  isBlocked(tokenId, now = Date.now()) {
259
- if (!this._config.managed)
263
+ if (!this._config.managed || !this._managedBlockingEnabled())
260
264
  return false;
261
265
  const scope = this.auditScope(tokenId);
262
266
  if (!scope)
@@ -1,4 +1,5 @@
1
1
  import type { DomainVerbosity } from '../runtime/notifications/types.js';
2
+ import type { FeatureFlagReader } from '../runtime/feature-flags/index.js';
2
3
  export type ModePreset = 'default' | 'vibecoding' | 'justvibes' | (string & Record<never, never>);
3
4
  export interface VerbosityDefaults {
4
5
  write: string;
@@ -28,8 +29,14 @@ export declare const HITL_OPERATOR: HITLModeDefinition;
28
29
  export declare class ModeManager {
29
30
  private currentMode;
30
31
  private modes;
32
+ private readonly featureFlags;
31
33
  private hitlMode;
32
34
  private domainOverrides;
35
+ constructor(options?: {
36
+ readonly featureFlags?: FeatureFlagReader;
37
+ });
38
+ private hitlEnabled;
39
+ private requireHitlEnabled;
33
40
  getMode(): ModePreset;
34
41
  getModeDefinition(): ModeDefinition;
35
42
  setMode(mode: ModePreset): void;
@@ -1 +1 @@
1
- {"version":3,"file":"mode-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/state/mode-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMzE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAElG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC;CACpC;AA6CD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,eAAe,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,kBAMxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAM3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAM3B,CAAC;AAQF,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,KAAK,CAAyC;IAEtD,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,eAAe,CAA2C;IAMlE,OAAO,IAAI,UAAU;IAIrB,iBAAiB,IAAI,cAAc;IAInC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAS/B,SAAS,IAAI,cAAc,EAAE;IAI7B,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IASvC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAQlD,WAAW,IAAI,QAAQ;IAIvB,aAAa,IAAI,kBAAkB;IAInC;;;;;;;OAOG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAUjC,eAAe,IAAI,kBAAkB,EAAE;IAIvC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI;IAIpE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAInD,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAIrD,aAAa,CAAC,MAAM,EAAE;QACpB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAC5C,gBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,yBAAyB,CAAC,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;QAC7D,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;KACtE,GAAG,IAAI;CAST"}
1
+ {"version":3,"file":"mode-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/state/mode-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAO3E,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAElG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC;CACpC;AA6CD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,eAAe,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,kBAMxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAM3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAM3B,CAAC;AAQF,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IAEjD,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,eAAe,CAA2C;gBAEtD,OAAO,GAAE;QAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAA;KAAO;IAIvE,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,IAAI,UAAU;IAIrB,iBAAiB,IAAI,cAAc;IAInC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAS/B,SAAS,IAAI,cAAc,EAAE;IAI7B,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IASvC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAQlD,WAAW,IAAI,QAAQ;IAKvB,aAAa,IAAI,kBAAkB;IAKnC;;;;;;;OAOG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAWjC,eAAe,IAAI,kBAAkB,EAAE;IAKvC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI;IAKpE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAKnD,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAKrD,aAAa,CAAC,MAAM,EAAE;QACpB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAC5C,gBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,yBAAyB,CAAC,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;QAC7D,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;KACtE,GAAG,IAAI;CAUT"}
@@ -1,3 +1,4 @@
1
+ import { isFeatureGateEnabled, requireFeatureGate } from '../runtime/feature-flags/index.js';
1
2
  const DEFAULT_VERBOSITY = {
2
3
  write: 'standard',
3
4
  edit: 'with_diff',
@@ -62,8 +63,18 @@ const HITL_PRESETS = [HITL_QUIET, HITL_BALANCED, HITL_OPERATOR];
62
63
  export class ModeManager {
63
64
  currentMode = 'default';
64
65
  modes = [...BUILT_IN_MODES];
66
+ featureFlags;
65
67
  hitlMode = 'balanced';
66
68
  domainOverrides = new Map();
69
+ constructor(options = {}) {
70
+ this.featureFlags = options.featureFlags ?? null;
71
+ }
72
+ hitlEnabled() {
73
+ return isFeatureGateEnabled(this.featureFlags, 'hitl-ux-modes');
74
+ }
75
+ requireHitlEnabled(operation) {
76
+ requireFeatureGate(this.featureFlags, 'hitl-ux-modes', operation);
77
+ }
67
78
  // -------------------------------------------------------------------------
68
79
  // Precision tool verbosity mode API
69
80
  // -------------------------------------------------------------------------
@@ -100,9 +111,13 @@ export class ModeManager {
100
111
  // HITL UX mode API.
101
112
  // -------------------------------------------------------------------------
102
113
  getHITLMode() {
114
+ if (!this.hitlEnabled())
115
+ return 'balanced';
103
116
  return this.hitlMode;
104
117
  }
105
118
  getHITLPreset() {
119
+ if (!this.hitlEnabled())
120
+ return HITL_BALANCED;
106
121
  return HITL_PRESETS.find((p) => p.name === this.hitlMode) ?? HITL_BALANCED;
107
122
  }
108
123
  /**
@@ -114,6 +129,7 @@ export class ModeManager {
114
129
  * any domain-specific overrides.
115
130
  */
116
131
  setHITLMode(mode) {
132
+ this.requireHitlEnabled('set HITL UX mode');
117
133
  const found = HITL_PRESETS.find((p) => p.name === mode);
118
134
  if (!found) {
119
135
  const available = HITL_PRESETS.map((p) => `"${p.name}"`).join(', ');
@@ -123,18 +139,27 @@ export class ModeManager {
123
139
  this.domainOverrides.clear();
124
140
  }
125
141
  listHITLPresets() {
142
+ if (!this.hitlEnabled())
143
+ return [];
126
144
  return [...HITL_PRESETS];
127
145
  }
128
146
  setDomainVerbosity(domain, verbosity) {
147
+ this.requireHitlEnabled('set HITL domain verbosity');
129
148
  this.domainOverrides.set(domain, verbosity);
130
149
  }
131
150
  getDomainVerbosity(domain) {
151
+ if (!this.hitlEnabled())
152
+ return HITL_BALANCED.defaultDomainVerbosity;
132
153
  return this.domainOverrides.get(domain) ?? this.getHITLPreset().defaultDomainVerbosity;
133
154
  }
134
155
  getDomainOverrides() {
156
+ if (!this.hitlEnabled())
157
+ return {};
135
158
  return Object.fromEntries(this.domainOverrides);
136
159
  }
137
160
  applyToRouter(router) {
161
+ if (!this.hitlEnabled())
162
+ return;
138
163
  const preset = this.getHITLPreset();
139
164
  router.setQuietWhileTyping(preset.quietWhileTyping);
140
165
  router.setBatchWindowMs?.(preset.batchWindowMs);
@@ -1,4 +1,5 @@
1
1
  import { ToolRegistry } from './registry.js';
2
+ import type { Tool } from '../types/tools.js';
2
3
  import { FileStateCache } from '../state/file-cache.js';
3
4
  import { ProjectIndex } from '../state/project-index.js';
4
5
  import { ModeManager } from '../state/mode-manager.js';
@@ -21,6 +22,8 @@ import type { ServiceRegistry } from '../config/service-registry.js';
21
22
  import { OverflowHandler } from './shared/overflow.js';
22
23
  import type { SessionChangeTracker } from '../sessions/change-tracker.js';
23
24
  import type { ArchetypeLoader } from '../agents/archetypes.js';
25
+ type ToolContractFeatureFlags = Pick<FeatureFlagManager, 'isEnabled'>;
26
+ export declare function registerToolWithContractGate(registry: ToolRegistry, tool: Tool, featureFlags?: ToolContractFeatureFlags | null): void;
24
27
  /**
25
28
  * Register all built-in tools into the given registry.
26
29
  * Creates shared FileStateCache and ProjectIndex instances so read/write/edit
@@ -56,4 +59,5 @@ export declare function registerAllTools(registry: ToolRegistry, deps?: {
56
59
  fileCache: FileStateCache;
57
60
  projectIndex: ProjectIndex;
58
61
  };
62
+ export {};
59
63
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/tools/index.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,17 @@ import { ProcessManager } from './shared/process-manager.js';
33
33
  import { AgentMessageBus } from '../agents/message-bus.js';
34
34
  import { CrossSessionTaskRegistry } from '../sessions/orchestration/index.js';
35
35
  import { OverflowHandler } from './shared/overflow.js';
36
+ export function registerToolWithContractGate(registry, tool, featureFlags) {
37
+ const verifyContracts = featureFlags?.isEnabled('tool-contract-verification') ?? true;
38
+ if (!verifyContracts) {
39
+ registry.register(tool);
40
+ return;
41
+ }
42
+ registry.registerWithContract(tool, {
43
+ strictIdempotency: false,
44
+ strictPermissionClass: false,
45
+ });
46
+ }
36
47
  /**
37
48
  * Register all built-in tools into the given registry.
38
49
  * Creates shared FileStateCache and ProjectIndex instances so read/write/edit
@@ -79,8 +90,11 @@ export function registerAllTools(registry, deps) {
79
90
  throw new Error('registerAllTools requires surfaceRoot');
80
91
  }
81
92
  const projectIndex = deps?.projectIndex ?? new ProjectIndex(workingDirectory);
82
- registry.register(new ReadTool(projectIndex, fileCache));
83
- registry.register(createWriteTool({
93
+ const registerTool = (tool) => {
94
+ registerToolWithContractGate(registry, tool, deps.featureFlags);
95
+ };
96
+ registerTool(new ReadTool(projectIndex, fileCache));
97
+ registerTool(createWriteTool({
84
98
  projectRoot: workingDirectory,
85
99
  fileCache,
86
100
  projectIndex,
@@ -89,20 +103,20 @@ export function registerAllTools(registry, deps) {
89
103
  toolLLM: deps.toolLLM,
90
104
  changeTracker: deps?.changeTracker,
91
105
  }));
92
- registry.register(createEditTool(fileCache, {
106
+ registerTool(createEditTool(fileCache, {
93
107
  fileUndoManager,
94
108
  configManager: deps.configManager,
95
109
  toolLLM: deps.toolLLM,
96
110
  changeTracker: deps?.changeTracker,
97
111
  }));
98
- registry.register(createFindTool(workingDirectory, deps.featureFlags));
99
- registry.register(createExecTool(processManager, {
112
+ registerTool(createFindTool(workingDirectory, deps.featureFlags));
113
+ registerTool(createExecTool(processManager, {
100
114
  featureFlags: deps.featureFlags,
101
115
  overflowHandler: deps.overflowHandler,
102
116
  }));
103
- registry.register(createAnalyzeTool(deps.toolLLM, deps.featureFlags, workingDirectory));
104
- registry.register(new InspectTool(deps.featureFlags, workingDirectory));
105
- registry.register(createAgentTool({
117
+ registerTool(createAnalyzeTool(deps.toolLLM, deps.featureFlags, workingDirectory));
118
+ registerTool(new InspectTool(deps.featureFlags, workingDirectory));
119
+ registerTool(createAgentTool({
106
120
  manager: agentManager,
107
121
  messageBus: agentMessageBus,
108
122
  configManager: deps.configManager,
@@ -111,38 +125,38 @@ export function registerAllTools(registry, deps) {
111
125
  }));
112
126
  const kvState = new KVState(undefined, workingDirectory);
113
127
  const hookDispatcher = new HookDispatcher();
114
- registry.register(createStateTool(kvState, projectIndex, {
128
+ registerTool(createStateTool(kvState, projectIndex, {
115
129
  memoryDir: join(workingDirectory, '.goodvibes', 'memory'),
116
130
  hookDispatcher,
117
131
  modeManager,
118
132
  }));
119
- registry.register(createWorkflowTool(workflowServices));
120
- registry.register(createFetchTool({
133
+ registerTool(createWorkflowTool(workflowServices));
134
+ registerTool(createFetchTool({
121
135
  serviceRegistry: deps.serviceRegistry,
122
136
  featureFlags: deps.featureFlags,
123
137
  }));
124
138
  if (webSearchService) {
125
- registry.register(createWebSearchTool(webSearchService));
139
+ registerTool(createWebSearchTool(webSearchService));
126
140
  }
127
- registry.register(createRegistryTool(registry, {
141
+ registerTool(createRegistryTool(registry, {
128
142
  workingDirectory,
129
143
  homeDirectory: deps.configManager.getHomeDirectory() ?? undefined,
130
144
  }));
131
- registry.register(createTaskTool(sessionOrchestration));
132
- registry.register(createTeamTool({ surfaceRoot: deps.surfaceRoot }));
133
- registry.register(createWorklistTool({ surfaceRoot: deps.surfaceRoot }));
145
+ registerTool(createTaskTool(sessionOrchestration));
146
+ registerTool(createTeamTool({ surfaceRoot: deps.surfaceRoot }));
147
+ registerTool(createWorklistTool({ surfaceRoot: deps.surfaceRoot }));
134
148
  if (mcpRegistry) {
135
- registry.register(createMcpTool(mcpRegistry));
149
+ registerTool(createMcpTool(mcpRegistry));
136
150
  }
137
- registry.register(createPacketTool({ workingDirectory, surfaceRoot: deps.surfaceRoot }));
138
- registry.register(createQueryTool({ workingDirectory, surfaceRoot: deps.surfaceRoot }));
151
+ registerTool(createPacketTool({ workingDirectory, surfaceRoot: deps.surfaceRoot }));
152
+ registerTool(createQueryTool({ workingDirectory, surfaceRoot: deps.surfaceRoot }));
139
153
  if (remoteRunnerRegistry) {
140
- registry.register(createRemoteTool(remoteRunnerRegistry));
154
+ registerTool(createRemoteTool(remoteRunnerRegistry));
141
155
  }
142
- registry.register(createReplTool(deps.configManager, deps.sandboxSessionRegistry, {
156
+ registerTool(createReplTool(deps.configManager, deps.sandboxSessionRegistry, {
143
157
  surfaceRoot: deps.surfaceRoot,
144
158
  }));
145
- registry.register(controlTool);
146
- registry.register(createChannelTool(channelRegistry));
159
+ registerTool(controlTool);
160
+ registerTool(createChannelTool(channelRegistry));
147
161
  return { fileCache, projectIndex };
148
162
  }
@@ -1,3 +1,4 @@
1
+ import type { FeatureFlagReader } from '../../runtime/feature-flags/index.js';
1
2
  export declare const DEFAULT_MAX_CHARS = 50000;
2
3
  /**
3
4
  * RetentionPolicyConfig — limits enforced during cleanup for a spill backend.
@@ -111,6 +112,8 @@ export interface OverflowHandlerConfig {
111
112
  retention?: RetentionPolicyConfig;
112
113
  /** Inject a custom backend directly (takes precedence over spillBackend). */
113
114
  backend?: SpillBackend;
115
+ /** Feature flags gate alternate spill backends when supplied by SDK runtime services. */
116
+ featureFlags?: FeatureFlagReader;
114
117
  }
115
118
  /**
116
119
  * Handles large tool output by delegating overflow content to a pluggable
@@ -1 +1 @@
1
- {"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/tools/shared/overflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/tools/shared/overflow.ts"],"names":[],"mappings":"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"}