@pellux/goodvibes-sdk 0.34.1 → 0.35.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 (102) hide show
  1. package/dist/contracts/artifacts/operator-contract.json +4 -1
  2. package/dist/platform/agents/orchestrator-runner.d.ts.map +1 -1
  3. package/dist/platform/agents/orchestrator-runner.js +17 -3
  4. package/dist/platform/agents/wrfc-controller.d.ts.map +1 -1
  5. package/dist/platform/agents/wrfc-controller.js +10 -4
  6. package/dist/platform/automation/manager-runtime-delivery.d.ts +1 -1
  7. package/dist/platform/automation/manager-runtime-delivery.d.ts.map +1 -1
  8. package/dist/platform/automation/manager-runtime-delivery.js +4 -3
  9. package/dist/platform/channels/policy-manager.d.ts +8 -0
  10. package/dist/platform/channels/policy-manager.d.ts.map +1 -1
  11. package/dist/platform/channels/policy-manager.js +43 -1
  12. package/dist/platform/companion/companion-chat-manager.d.ts +1 -0
  13. package/dist/platform/companion/companion-chat-manager.d.ts.map +1 -1
  14. package/dist/platform/companion/companion-chat-manager.js +10 -0
  15. package/dist/platform/companion/companion-chat-routes.js +1 -0
  16. package/dist/platform/companion/companion-chat-types.d.ts +1 -0
  17. package/dist/platform/companion/companion-chat-types.d.ts.map +1 -1
  18. package/dist/platform/control-plane/approval-broker.d.ts +7 -0
  19. package/dist/platform/control-plane/approval-broker.d.ts.map +1 -1
  20. package/dist/platform/control-plane/approval-broker.js +30 -0
  21. package/dist/platform/control-plane/method-catalog-channels.d.ts.map +1 -1
  22. package/dist/platform/control-plane/method-catalog-channels.js +2 -0
  23. package/dist/platform/control-plane/method-catalog-email.d.ts.map +1 -1
  24. package/dist/platform/control-plane/method-catalog-email.js +1 -0
  25. package/dist/platform/core/compaction-sections.d.ts +0 -2
  26. package/dist/platform/core/compaction-sections.d.ts.map +1 -1
  27. package/dist/platform/core/compaction-sections.js +16 -8
  28. package/dist/platform/core/compaction-types.d.ts +7 -1
  29. package/dist/platform/core/compaction-types.d.ts.map +1 -1
  30. package/dist/platform/core/compaction-types.js +6 -0
  31. package/dist/platform/core/context-compaction.d.ts +20 -4
  32. package/dist/platform/core/context-compaction.d.ts.map +1 -1
  33. package/dist/platform/core/context-compaction.js +36 -8
  34. package/dist/platform/core/conversation-utils.js +1 -1
  35. package/dist/platform/core/conversation.js +1 -1
  36. package/dist/platform/core/orchestrator-context-runtime.js +1 -1
  37. package/dist/platform/core/orchestrator-tool-runtime.js +1 -1
  38. package/dist/platform/core/orchestrator-turn-loop.d.ts.map +1 -1
  39. package/dist/platform/core/orchestrator-turn-loop.js +4 -2
  40. package/dist/platform/core/orchestrator.d.ts +12 -0
  41. package/dist/platform/core/orchestrator.d.ts.map +1 -1
  42. package/dist/platform/core/orchestrator.js +36 -8
  43. package/dist/platform/daemon/http/home-graph-routes.d.ts.map +1 -1
  44. package/dist/platform/daemon/http/home-graph-routes.js +2 -1
  45. package/dist/platform/daemon/http/project-planning-routes.d.ts.map +1 -1
  46. package/dist/platform/daemon/http/project-planning-routes.js +2 -1
  47. package/dist/platform/hooks/dispatcher.d.ts.map +1 -1
  48. package/dist/platform/hooks/dispatcher.js +4 -0
  49. package/dist/platform/hooks/runners/command.d.ts.map +1 -1
  50. package/dist/platform/hooks/runners/command.js +11 -2
  51. package/dist/platform/integrations/delivery.d.ts.map +1 -1
  52. package/dist/platform/integrations/delivery.js +0 -2
  53. package/dist/platform/intelligence/import-graph.d.ts.map +1 -1
  54. package/dist/platform/intelligence/import-graph.js +8 -0
  55. package/dist/platform/knowledge/extractors.d.ts.map +1 -1
  56. package/dist/platform/knowledge/extractors.js +30 -4
  57. package/dist/platform/mcp/client.d.ts +2 -0
  58. package/dist/platform/mcp/client.d.ts.map +1 -1
  59. package/dist/platform/mcp/client.js +17 -3
  60. package/dist/platform/mcp/registry.d.ts.map +1 -1
  61. package/dist/platform/mcp/registry.js +4 -0
  62. package/dist/platform/media/builtin-generation-providers.d.ts.map +1 -1
  63. package/dist/platform/media/builtin-generation-providers.js +2 -3
  64. package/dist/platform/media/provider-registry.d.ts.map +1 -1
  65. package/dist/platform/media/provider-registry.js +3 -1
  66. package/dist/platform/multimodal/service.d.ts.map +1 -1
  67. package/dist/platform/multimodal/service.js +18 -3
  68. package/dist/platform/providers/anthropic-sse-assembler.d.ts.map +1 -1
  69. package/dist/platform/providers/anthropic-sse-assembler.js +24 -0
  70. package/dist/platform/providers/capabilities.d.ts +6 -0
  71. package/dist/platform/providers/capabilities.d.ts.map +1 -1
  72. package/dist/platform/providers/capabilities.js +20 -1
  73. package/dist/platform/providers/gemini.d.ts.map +1 -1
  74. package/dist/platform/providers/gemini.js +55 -46
  75. package/dist/platform/providers/index.d.ts +1 -0
  76. package/dist/platform/providers/index.d.ts.map +1 -1
  77. package/dist/platform/providers/index.js +1 -0
  78. package/dist/platform/providers/model-limits.d.ts.map +1 -1
  79. package/dist/platform/providers/model-limits.js +14 -2
  80. package/dist/platform/runtime/store/domains/conversation.d.ts +0 -2
  81. package/dist/platform/runtime/store/domains/conversation.d.ts.map +1 -1
  82. package/dist/platform/runtime/store/domains/conversation.js +0 -1
  83. package/dist/platform/runtime/store/helpers/reducers/conversation.d.ts.map +1 -1
  84. package/dist/platform/runtime/store/helpers/reducers/conversation.js +20 -2
  85. package/dist/platform/runtime/store/helpers/reducers/lifecycle.d.ts.map +1 -1
  86. package/dist/platform/runtime/store/helpers/reducers/lifecycle.js +3 -0
  87. package/dist/platform/runtime/store/helpers/reducers/sync.d.ts.map +1 -1
  88. package/dist/platform/runtime/store/helpers/reducers/sync.js +7 -1
  89. package/dist/platform/runtime/ui-read-models-core.d.ts.map +1 -1
  90. package/dist/platform/runtime/ui-read-models-core.js +4 -1
  91. package/dist/platform/tools/agent/index.d.ts +1 -0
  92. package/dist/platform/tools/agent/index.d.ts.map +1 -1
  93. package/dist/platform/tools/agent/index.js +1 -0
  94. package/dist/platform/tools/agent/predicates.d.ts +15 -0
  95. package/dist/platform/tools/agent/predicates.d.ts.map +1 -0
  96. package/dist/platform/tools/agent/predicates.js +15 -0
  97. package/dist/platform/utils/error-display.d.ts.map +1 -1
  98. package/dist/platform/utils/error-display.js +14 -6
  99. package/dist/platform/version.js +1 -1
  100. package/dist/platform/voice/providers/shared.d.ts.map +1 -1
  101. package/dist/platform/voice/providers/shared.js +2 -3
  102. package/package.json +9 -9
@@ -97,8 +97,6 @@ export interface ConversationDomainState {
97
97
  sessionUsage: TurnUsage;
98
98
  /** Estimated token count of the current context window. */
99
99
  estimatedContextTokens: number;
100
- /** Whether a context warning threshold has been crossed. */
101
- contextWarningActive: boolean;
102
100
  /** Message count in the current session conversation. */
103
101
  messageCount: number;
104
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/store/domains/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/store/domains/conversation.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,6 @@ export function createInitialConversationState() {
36
36
  currentTurnUsage: makeEmptyUsage(),
37
37
  sessionUsage: makeEmptyUsage(),
38
38
  estimatedContextTokens: 0,
39
- contextWarningActive: false,
40
39
  messageCount: 0,
41
40
  };
42
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAsC,MAAM,+BAA+B,CAAC;AAUjH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,SAAS,GAAG,SAAS,GAC3B,uBAAuB,CAoNzB"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAiD,MAAM,+BAA+B,CAAC;AAwB5H,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,SAAS,GAAG,SAAS,GAC3B,uBAAuB,CA0NzB"}
@@ -5,6 +5,18 @@ function formatToolArgs(event) {
5
5
  }
6
6
  return '{}';
7
7
  }
8
+ function makeEmptyUsage() {
9
+ return { inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0, reasoningTokens: 0 };
10
+ }
11
+ function addUsage(usage, event) {
12
+ return {
13
+ inputTokens: usage.inputTokens + event.inputTokens,
14
+ outputTokens: usage.outputTokens + event.outputTokens,
15
+ cacheReadTokens: usage.cacheReadTokens + (event.cacheReadTokens ?? 0),
16
+ cacheWriteTokens: usage.cacheWriteTokens + (event.cacheWriteTokens ?? 0),
17
+ reasoningTokens: usage.reasoningTokens,
18
+ };
19
+ }
8
20
  export function updateConversationState(domain, event) {
9
21
  const source = event.type;
10
22
  if ('callId' in event) {
@@ -76,6 +88,8 @@ export function updateConversationState(domain, event) {
76
88
  activeToolCalls: new Map(),
77
89
  toolCallsThisTurn: 0,
78
90
  lastToolReconciliation: undefined,
91
+ currentTurnUsage: makeEmptyUsage(),
92
+ messageCount: domain.messageCount + 1,
79
93
  };
80
94
  case 'PREFLIGHT_OK':
81
95
  if (!isCurrentTurnEvent(domain, event.turnId) || domain.turnState !== 'preflight')
@@ -140,14 +154,17 @@ export function updateConversationState(domain, event) {
140
154
  return {
141
155
  ...updateDomainMetadata(domain, source),
142
156
  currentTurnId: event.turnId,
157
+ currentTurnUsage: addUsage(domain.currentTurnUsage, event),
158
+ sessionUsage: addUsage(domain.sessionUsage, event),
159
+ estimatedContextTokens: event.inputTokens,
143
160
  };
144
161
  case 'TOOL_BATCH_READY':
145
- if (!isCurrentTurnEvent(domain, event.turnId) || domain.turnState !== 'tool_dispatch')
162
+ if (!isCurrentTurnEvent(domain, event.turnId) || domain.turnState !== 'streaming')
146
163
  return domain;
147
164
  return {
148
165
  ...updateDomainMetadata(domain, source),
149
166
  currentTurnId: event.turnId,
150
- turnState: 'post_hooks',
167
+ turnState: 'tool_dispatch',
151
168
  };
152
169
  case 'TOOLS_DONE':
153
170
  if (!isCurrentTurnEvent(domain, event.turnId) || domain.turnState !== 'tool_dispatch')
@@ -189,6 +206,7 @@ export function updateConversationState(domain, event) {
189
206
  turnState: 'completed',
190
207
  turnEndedAt: now(),
191
208
  totalTurns: domain.totalTurns + 1,
209
+ messageCount: domain.messageCount + 1,
192
210
  lastTurnResponse: event.response,
193
211
  lastTurnStopReason: event.stopReason,
194
212
  stream: {
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,gCAAgC,CAAC;AA+BxC,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,eAAe,GACrB,kBAAkB,CAyBpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,eAAe,GACrB,qBAAqB,CAmCvB;AAiCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,GAAG,eAAe,CA0D1F;AAED,iBAAS,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAQ/G;AAED,iBAAS,0BAA0B,CACjC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,GACb,eAAe,CAIjB;AAkED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAgF9F;AAED,iBAAS,2BAA2B,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAYlB;AAgBD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,kBAAkB,GACxB,wBAAwB,CA4G1B;AAED,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,CAAC"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EACV,qBAAqB,EAGtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,gCAAgC,CAAC;AA+BxC,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,eAAe,GACrB,kBAAkB,CAyBpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,eAAe,GACrB,qBAAqB,CAmCvB;AAiCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,GAAG,eAAe,CA0D1F;AAED,iBAAS,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAQ/G;AAED,iBAAS,0BAA0B,CACjC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,GACb,eAAe,CAIjB;AAkED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAgF9F;AAED,iBAAS,2BAA2B,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAYlB;AAmBD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE,kBAAkB,GACxB,wBAAwB,CA4G1B;AAED,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,CAAC"}
@@ -340,6 +340,9 @@ function orchestrationGraphStatus(graph) {
340
340
  if (nodes.every((node) => node.status === 'pending' || node.status === 'ready')) {
341
341
  return nodes.some((node) => node.status === 'ready') ? 'ready' : 'planning';
342
342
  }
343
+ if (nodes.every((node) => node.status === 'completed' || node.status === 'cancelled')) {
344
+ return nodes.some((node) => node.status === 'completed') ? 'completed' : 'cancelled';
345
+ }
343
346
  return 'running';
344
347
  }
345
348
  export function updateOrchestrationState(domain, event) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/sync.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,15 @@ export function updateCommunicationState(domain, event) {
33
33
  });
34
34
  }
35
35
  const recentRecordIds = uniq([event.messageId, ...domain.recentRecordIds]).slice(0, 200);
36
+ const retainedRecords = new Map();
37
+ for (const id of recentRecordIds) {
38
+ const record = records.get(id);
39
+ if (record)
40
+ retainedRecords.set(id, record);
41
+ }
36
42
  return {
37
43
  ...updateDomainMetadata(domain, event.type),
38
- records,
44
+ records: retainedRecords,
39
45
  recentRecordIds,
40
46
  totalSent: domain.totalSent + (event.type === 'COMMUNICATION_SENT' ? 1 : 0),
41
47
  totalDelivered: domain.totalDelivered + (event.type === 'COMMUNICATION_DELIVERED' ? 1 : 0),
@@ -1 +1 @@
1
- {"version":3,"file":"ui-read-models-core.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-models-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;CAC9C;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,GAAG,gBAAgB,CAiDvF"}
1
+ {"version":3,"file":"ui-read-models-core.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-models-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK5D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;CAC9C;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,GAAG,gBAAgB,CAmDvF"}
@@ -1,4 +1,6 @@
1
1
  import { createStoreBackedReadModel, listProviderIds, projectRecords, projectValues } from './ui-read-model-helpers.js';
2
+ /** Fraction of the model context window at which the context-warning flag activates. */
3
+ const CONTEXT_WARNING_THRESHOLD = 0.85;
2
4
  export function createCoreReadModels(runtimeServices) {
3
5
  const { runtimeStore } = runtimeServices;
4
6
  return {
@@ -22,7 +24,8 @@ export function createCoreReadModels(runtimeServices) {
22
24
  contextWindow: state.model.tokenLimits.contextWindow,
23
25
  turnState: state.conversation.turnState,
24
26
  streamToolPreview: state.conversation.stream.partialToolPreview,
25
- contextWarningActive: state.conversation.contextWarningActive,
27
+ contextWarningActive: state.model.tokenLimits.contextWindow > 0 &&
28
+ state.conversation.estimatedContextTokens >= state.model.tokenLimits.contextWindow * CONTEXT_WARNING_THRESHOLD,
26
29
  pendingApproval: state.permissions.awaitingDecision,
27
30
  denialCount: state.permissions.denialCount,
28
31
  };
@@ -6,6 +6,7 @@ import type { WrfcController } from '../../agents/wrfc-controller.js';
6
6
  import { AgentManager } from './manager.js';
7
7
  export type { AgentExecutor, AgentRecord } from './manager.js';
8
8
  export { AGENT_TEMPLATES, AgentManager } from './manager.js';
9
+ export { isActiveAgent } from './predicates.js';
9
10
  export declare function createAgentTool(config: {
10
11
  manager: AgentManager;
11
12
  messageBus: Pick<AgentMessageBus, 'getMessages' | 'send'>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAmB,YAAY,EAAoB,MAAM,cAAc,CAAC;AAK/E,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiH7D,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC;IAChE,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC;IACrE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;CAC3C,GAAG,IAAI,CAwlBP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAmB,YAAY,EAAoB,MAAM,cAAc,CAAC;AAK/E,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiHhD,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC;IAChE,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC;IACrE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;CAC3C,GAAG,IAAI,CAwlBP"}
@@ -7,6 +7,7 @@ import { summarizeError } from '../../utils/error-display.js';
7
7
  import { toRecord } from '../../utils/record-coerce.js';
8
8
  import { evaluateWrfcBatchPolicy } from './wrfc-batch-policy.js';
9
9
  export { AGENT_TEMPLATES, AgentManager } from './manager.js';
10
+ export { isActiveAgent } from './predicates.js';
10
11
  // ---------------------------------------------------------------------------
11
12
  // Tool implementation
12
13
  // ---------------------------------------------------------------------------
@@ -0,0 +1,15 @@
1
+ /** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
2
+ import type { AgentRecord } from './manager.js';
3
+ /**
4
+ * Returns true when an agent is active (running or pending).
5
+ *
6
+ * Pure predicate with no runtime dependencies — intentionally a leaf module so
7
+ * core/orchestrator code can share it without importing the heavier
8
+ * `compaction-sections` module. Importing the predicate from `compaction-sections`
9
+ * previously pulled that module into the orchestrator turn-loop graph, creating a
10
+ * circular import that left the tool-loop circuit-breaker threshold constant in
11
+ * its temporal dead zone (undefined) at runtime, so the breaker never tripped and
12
+ * all-failed tool turns looped forever.
13
+ */
14
+ export declare function isActiveAgent(a: Pick<AgentRecord, 'status'>): boolean;
15
+ //# sourceMappingURL=predicates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/agent/predicates.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,OAAO,CAErE"}
@@ -0,0 +1,15 @@
1
+ /** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
2
+ /**
3
+ * Returns true when an agent is active (running or pending).
4
+ *
5
+ * Pure predicate with no runtime dependencies — intentionally a leaf module so
6
+ * core/orchestrator code can share it without importing the heavier
7
+ * `compaction-sections` module. Importing the predicate from `compaction-sections`
8
+ * previously pulled that module into the orchestrator turn-loop graph, creating a
9
+ * circular import that left the tool-loop circuit-breaker threshold constant in
10
+ * its temporal dead zone (undefined) at runtime, so the breaker never tripped and
11
+ * all-failed tool turns looped forever.
12
+ */
13
+ export function isActiveAgent(a) {
14
+ return a.status === 'running' || a.status === 'pending';
15
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"error-display.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/error-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,aAAa,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9I,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAuBnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,iCAAkC,SAAQ,oBAAoB;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/C;AAmJD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE3D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,eAAe,CA6CvG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,MAAM,CAE9F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,MAAM,CAU3F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,yBAAyB,CAkBzH;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iCAAsC,GAAG,aAAa,CA0D9G;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnF"}
1
+ {"version":3,"file":"error-display.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/error-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,aAAa,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9I,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AA8BnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,iCAAkC,SAAQ,oBAAoB;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/C;AAoJD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE3D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,eAAe,CA6CvG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,MAAM,CAE9F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,MAAM,CAU3F;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,GAAG,yBAAyB,CAkBzH;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iCAAsC,GAAG,aAAa,CA0D9G;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnF"}
@@ -1,6 +1,13 @@
1
1
  import { AppError, ProviderError } from '../types/errors.js';
2
2
  import { redactSensitiveData } from './redaction.js';
3
3
  const MAX_ERROR_LENGTH = 240;
4
+ // NOTE: The error classifier below (NETWORK_ERROR_PATTERNS, inferCategory, inferHint,
5
+ // buildSummary, getNetworkErrorMessage) is intentionally duplicated from
6
+ // packages/daemon-sdk/src/error-response.ts. The two copies operate on different error
7
+ // hierarchies (platform AppError/NormalizedError vs daemon GoodVibesSdkError) and are
8
+ // deliberately NOT extracted into @pellux/goodvibes-errors in this patch to avoid a
9
+ // risky cross-package move in a published library. Keep this classifier in sync with
10
+ // that twin so the two cannot drift further.
4
11
  const NETWORK_ERROR_PATTERNS = [
5
12
  {
6
13
  pattern: /ECONNREFUSED/i,
@@ -8,7 +15,7 @@ const NETWORK_ERROR_PATTERNS = [
8
15
  message: (provider) => `Cannot connect to ${provider ?? 'the provider'}. Check whether the service is reachable.`,
9
16
  },
10
17
  {
11
- pattern: /ETIMEDOUT|ECONNABORTED|timed?[\s_-]?out/i,
18
+ pattern: /ETIMEDOUT|ECONNABORTED/i,
12
19
  category: 'timeout',
13
20
  message: () => 'Connection timed out before the request completed.',
14
21
  },
@@ -79,7 +86,7 @@ function inferCategory(message, statusCode) {
79
86
  return 'authorization';
80
87
  if (statusCode === 404)
81
88
  return 'not_found';
82
- if (statusCode === 408)
89
+ if (statusCode === 408 || statusCode === 504)
83
90
  return 'timeout';
84
91
  if (statusCode === 429)
85
92
  return 'rate_limit';
@@ -87,7 +94,8 @@ function inferCategory(message, statusCode) {
87
94
  return 'bad_request';
88
95
  if (statusCode !== undefined && statusCode >= 500)
89
96
  return 'service';
90
- if (/api[_\s-]?key|auth|token|credential|jwt|unauthoriz/.test(msg))
97
+ // Word boundaries avoid false positives on "authorization"/"author"/"authority" (matches the daemon-sdk twin).
98
+ if (/api[_\s-]?key|\bauth\b|\btoken\b|credential|\bjwt\b|unauthoriz/.test(msg))
91
99
  return 'authentication';
92
100
  if (/forbidden|access denied|permission denied|not allowed/.test(msg))
93
101
  return 'authorization';
@@ -112,9 +120,9 @@ function inferHint(category, statusCode) {
112
120
  case 'rate_limit':
113
121
  return 'The caller may retry automatically. If this persists, wait, lower request volume, or switch models/providers.';
114
122
  case 'authentication':
115
- return 'Possible causes: invalid or expired credentials, missing subscription/session state, account restrictions, or the wrong provider/endpoint receiving the request.';
123
+ return 'The provider rejected authentication. Possible causes include invalid or expired credentials, missing account/session state, account restrictions, or the wrong provider/endpoint receiving the request.';
116
124
  case 'authorization':
117
- return 'Possible causes: missing model access, account permissions, safety/policy restrictions, or provider routing to a service that does not expose this model.';
125
+ return 'Possible causes include missing model access, account permissions, safety/policy restrictions, or provider routing to a service that does not expose this model.';
118
126
  case 'billing':
119
127
  return 'Check credits, subscription status, usage limits, or account entitlements.';
120
128
  case 'timeout':
@@ -310,7 +318,7 @@ export function toProviderError(error, options = {}) {
310
318
  ...(options.requestId ?? normalized.requestId ? { requestId: options.requestId ?? normalized.requestId } : {}),
311
319
  ...(options.providerCode ?? normalized.providerCode ? { providerCode: options.providerCode ?? normalized.providerCode } : {}),
312
320
  ...(options.providerType ?? normalized.providerType ? { providerType: options.providerType ?? normalized.providerType } : {}),
313
- ...(options.retryAfterMs ?? normalized.retryAfterMs !== undefined
321
+ ...((options.retryAfterMs ?? normalized.retryAfterMs) !== undefined
314
322
  ? { retryAfterMs: options.retryAfterMs ?? normalized.retryAfterMs }
315
323
  : {}),
316
324
  ...(options.rawMessage
@@ -1,6 +1,6 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- let version = '0.34.1';
3
+ let version = '0.35.0';
4
4
  try {
5
5
  const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
6
6
  version = pkg.version ?? version;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/platform/voice/providers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAElE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAI5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBnD;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,EAC3C,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,mBAAmB,CAUrB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB1D;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CASrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKpF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAe7D;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInF"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/platform/voice/providers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAElE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAE5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAMtE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBnD;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,EAC3C,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,mBAAmB,CAUrB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiB1D;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CASrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKpF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAe7D;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInF"}
@@ -1,4 +1,5 @@
1
1
  import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
2
+ import { isRecord } from '../../utils/record-coerce.js';
2
3
  export function trimToUndefined(value) {
3
4
  return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
4
5
  }
@@ -6,9 +7,7 @@ export function asFiniteNumber(value) {
6
7
  return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
7
8
  }
8
9
  export function asRecord(value) {
9
- return typeof value === 'object' && value !== null && !Array.isArray(value)
10
- ? value
11
- : undefined;
10
+ return isRecord(value) ? value : undefined;
12
11
  }
13
12
  export function readFirstEnv(envVars) {
14
13
  for (const envVar of envVars) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pellux/goodvibes-sdk",
3
- "version": "0.34.1",
3
+ "version": "0.35.0",
4
4
  "description": "TypeScript SDK for building GoodVibes operator, peer, web, mobile, and daemon-connected apps with typed contracts, auth, realtime events, and transport layers.",
5
5
  "keywords": [
6
6
  "goodvibes",
@@ -453,14 +453,14 @@
453
453
  "sideEffects": false,
454
454
  "type": "module",
455
455
  "dependencies": {
456
- "@pellux/goodvibes-contracts": "0.34.1",
457
- "@pellux/goodvibes-daemon-sdk": "0.34.1",
458
- "@pellux/goodvibes-errors": "0.34.1",
459
- "@pellux/goodvibes-operator-sdk": "0.34.1",
460
- "@pellux/goodvibes-peer-sdk": "0.34.1",
461
- "@pellux/goodvibes-transport-core": "0.34.1",
462
- "@pellux/goodvibes-transport-http": "0.34.1",
463
- "@pellux/goodvibes-transport-realtime": "0.34.1"
456
+ "@pellux/goodvibes-contracts": "0.35.0",
457
+ "@pellux/goodvibes-daemon-sdk": "0.35.0",
458
+ "@pellux/goodvibes-errors": "0.35.0",
459
+ "@pellux/goodvibes-operator-sdk": "0.35.0",
460
+ "@pellux/goodvibes-peer-sdk": "0.35.0",
461
+ "@pellux/goodvibes-transport-core": "0.35.0",
462
+ "@pellux/goodvibes-transport-http": "0.35.0",
463
+ "@pellux/goodvibes-transport-realtime": "0.35.0"
464
464
  },
465
465
  "optionalDependencies": {
466
466
  "@agentclientprotocol/sdk": "^0.21.0",