@pellux/goodvibes-sdk 0.33.38 → 0.34.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts/artifacts/operator-contract.json +1383 -4
- package/dist/events/workflows.d.ts +4 -0
- package/dist/events/workflows.d.ts.map +1 -1
- package/dist/platform/agents/message-bus-core.d.ts +11 -0
- package/dist/platform/agents/message-bus-core.d.ts.map +1 -1
- package/dist/platform/agents/message-bus-core.js +28 -21
- package/dist/platform/agents/orchestrator-runner.d.ts.map +1 -1
- package/dist/platform/agents/orchestrator-runner.js +6 -4
- package/dist/platform/agents/wrfc-config.d.ts.map +1 -1
- package/dist/platform/agents/wrfc-config.js +16 -10
- package/dist/platform/agents/wrfc-controller.d.ts +26 -0
- package/dist/platform/agents/wrfc-controller.d.ts.map +1 -1
- package/dist/platform/agents/wrfc-controller.js +134 -138
- package/dist/platform/agents/wrfc-runtime-events.d.ts +1 -0
- package/dist/platform/agents/wrfc-runtime-events.d.ts.map +1 -1
- package/dist/platform/agents/wrfc-runtime-events.js +4 -1
- package/dist/platform/automation/delivery-manager.d.ts.map +1 -1
- package/dist/platform/automation/delivery-manager.js +1 -6
- package/dist/platform/batch/manager.d.ts.map +1 -1
- package/dist/platform/batch/manager.js +1 -3
- package/dist/platform/channels/policy-manager.d.ts.map +1 -1
- package/dist/platform/channels/policy-manager.js +1 -3
- package/dist/platform/channels/reply-pipeline.d.ts.map +1 -1
- package/dist/platform/channels/reply-pipeline.js +4 -0
- package/dist/platform/config/schema-domain-core.d.ts +1 -1
- package/dist/platform/config/schema-domain-core.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-core.js +12 -12
- package/dist/platform/config/schema-domain-runtime.d.ts +1 -1
- package/dist/platform/config/schema-domain-runtime.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-runtime.js +19 -18
- package/dist/platform/config/schema-domain-surfaces.d.ts +1 -1
- package/dist/platform/config/schema-domain-surfaces.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-surfaces.js +4 -3
- package/dist/platform/config/schema-shared.d.ts +6 -0
- package/dist/platform/config/schema-shared.d.ts.map +1 -1
- package/dist/platform/config/schema-shared.js +21 -1
- package/dist/platform/control-plane/approval-broker.d.ts.map +1 -1
- package/dist/platform/control-plane/approval-broker.js +1 -3
- package/dist/platform/control-plane/method-catalog-calendar.d.ts +9 -0
- package/dist/platform/control-plane/method-catalog-calendar.d.ts.map +1 -0
- package/dist/platform/control-plane/method-catalog-calendar.js +117 -0
- package/dist/platform/control-plane/method-catalog-channels.d.ts.map +1 -1
- package/dist/platform/control-plane/method-catalog-channels.js +174 -0
- package/dist/platform/control-plane/method-catalog-email.d.ts +9 -0
- package/dist/platform/control-plane/method-catalog-email.d.ts.map +1 -0
- package/dist/platform/control-plane/method-catalog-email.js +101 -0
- package/dist/platform/control-plane/method-catalog.d.ts.map +1 -1
- package/dist/platform/control-plane/method-catalog.js +4 -0
- package/dist/platform/control-plane/session-broker-state.d.ts.map +1 -1
- package/dist/platform/control-plane/session-broker-state.js +1 -3
- package/dist/platform/core/compaction-sections.d.ts +5 -1
- package/dist/platform/core/compaction-sections.d.ts.map +1 -1
- package/dist/platform/core/compaction-sections.js +73 -66
- package/dist/platform/core/context-compaction.d.ts.map +1 -1
- package/dist/platform/core/context-compaction.js +9 -16
- package/dist/platform/core/orchestrator-context-runtime.d.ts +2 -2
- package/dist/platform/core/orchestrator-context-runtime.d.ts.map +1 -1
- package/dist/platform/core/orchestrator-context-runtime.js +24 -21
- package/dist/platform/core/orchestrator-tool-runtime.d.ts.map +1 -1
- package/dist/platform/core/orchestrator-tool-runtime.js +2 -1
- package/dist/platform/core/session-lineage.d.ts +2 -5
- package/dist/platform/core/session-lineage.d.ts.map +1 -1
- package/dist/platform/core/session-lineage.js +4 -16
- package/dist/platform/core/wrfc-routing.d.ts.map +1 -1
- package/dist/platform/core/wrfc-routing.js +1 -3
- package/dist/platform/daemon/http/mcp-routes.d.ts.map +1 -1
- package/dist/platform/daemon/http/mcp-routes.js +1 -3
- package/dist/platform/daemon/http/openai-compatible-routes.d.ts.map +1 -1
- package/dist/platform/daemon/http/openai-compatible-routes.js +1 -3
- package/dist/platform/daemon/http/runtime-routes.d.ts.map +1 -1
- package/dist/platform/daemon/http/runtime-routes.js +1 -3
- package/dist/platform/hooks/runners/http.d.ts.map +1 -1
- package/dist/platform/hooks/runners/http.js +9 -19
- package/dist/platform/integrations/webhooks.js +2 -11
- package/dist/platform/knowledge/semantic/self-improvement.d.ts.map +1 -1
- package/dist/platform/knowledge/semantic/self-improvement.js +2 -21
- package/dist/platform/mcp/client.d.ts.map +1 -1
- package/dist/platform/mcp/client.js +1 -3
- package/dist/platform/mcp/config.d.ts.map +1 -1
- package/dist/platform/mcp/config.js +1 -3
- package/dist/platform/media/builtin-generation-providers.d.ts.map +1 -1
- package/dist/platform/media/builtin-generation-providers.js +1 -6
- package/dist/platform/providers/anthropic-compat.d.ts.map +1 -1
- package/dist/platform/providers/anthropic-compat.js +11 -131
- package/dist/platform/providers/anthropic-sdk-provider.d.ts.map +1 -1
- package/dist/platform/providers/anthropic-sdk-provider.js +8 -42
- package/dist/platform/providers/anthropic-sse-assembler.d.ts +80 -0
- package/dist/platform/providers/anthropic-sse-assembler.d.ts.map +1 -0
- package/dist/platform/providers/anthropic-sse-assembler.js +146 -0
- package/dist/platform/providers/anthropic-stream.d.ts +30 -0
- package/dist/platform/providers/anthropic-stream.d.ts.map +1 -0
- package/dist/platform/providers/anthropic-stream.js +44 -0
- package/dist/platform/providers/anthropic-vertex.d.ts.map +1 -1
- package/dist/platform/providers/anthropic-vertex.js +1 -3
- package/dist/platform/providers/anthropic.d.ts.map +1 -1
- package/dist/platform/providers/anthropic.js +15 -151
- package/dist/platform/providers/capabilities.d.ts.map +1 -1
- package/dist/platform/providers/capabilities.js +11 -7
- package/dist/platform/providers/context-discovery.d.ts.map +1 -1
- package/dist/platform/providers/context-discovery.js +9 -16
- package/dist/platform/providers/context-window-fallback.d.ts +24 -0
- package/dist/platform/providers/context-window-fallback.d.ts.map +1 -0
- package/dist/platform/providers/context-window-fallback.js +48 -0
- package/dist/platform/providers/gemini.d.ts.map +1 -1
- package/dist/platform/providers/gemini.js +3 -6
- package/dist/platform/providers/json-ttl-cache.d.ts +35 -0
- package/dist/platform/providers/json-ttl-cache.d.ts.map +1 -0
- package/dist/platform/providers/json-ttl-cache.js +52 -0
- package/dist/platform/providers/llama-cpp.d.ts.map +1 -1
- package/dist/platform/providers/llama-cpp.js +2 -23
- package/dist/platform/providers/lm-studio-helpers.d.ts +1 -1
- package/dist/platform/providers/lm-studio-helpers.d.ts.map +1 -1
- package/dist/platform/providers/lm-studio-helpers.js +5 -25
- package/dist/platform/providers/model-benchmarks.d.ts.map +1 -1
- package/dist/platform/providers/model-benchmarks.js +11 -34
- package/dist/platform/providers/model-catalog-cache.d.ts.map +1 -1
- package/dist/platform/providers/model-catalog-cache.js +15 -38
- package/dist/platform/providers/model-catalog-synthetic.d.ts.map +1 -1
- package/dist/platform/providers/model-catalog-synthetic.js +3 -2
- package/dist/platform/providers/model-catalog.d.ts.map +1 -1
- package/dist/platform/providers/model-catalog.js +3 -2
- package/dist/platform/providers/model-limits.d.ts.map +1 -1
- package/dist/platform/providers/model-limits.js +18 -42
- package/dist/platform/providers/ollama.d.ts.map +1 -1
- package/dist/platform/providers/ollama.js +3 -24
- package/dist/platform/providers/openai-codex.d.ts.map +1 -1
- package/dist/platform/providers/openai-codex.js +8 -9
- package/dist/platform/providers/openai-compat.d.ts.map +1 -1
- package/dist/platform/providers/openai-compat.js +13 -40
- package/dist/platform/providers/openai-stream-helpers.d.ts +62 -0
- package/dist/platform/providers/openai-stream-helpers.d.ts.map +1 -0
- package/dist/platform/providers/openai-stream-helpers.js +73 -0
- package/dist/platform/providers/openai.d.ts.map +1 -1
- package/dist/platform/providers/openai.js +13 -41
- package/dist/platform/providers/provider-error.d.ts +17 -0
- package/dist/platform/providers/provider-error.d.ts.map +1 -0
- package/dist/platform/providers/provider-error.js +33 -0
- package/dist/platform/providers/provider-stop-reason.d.ts +15 -0
- package/dist/platform/providers/provider-stop-reason.d.ts.map +1 -0
- package/dist/platform/providers/provider-stop-reason.js +15 -0
- package/dist/platform/providers/sse-line-buffer.d.ts +13 -0
- package/dist/platform/providers/sse-line-buffer.d.ts.map +1 -0
- package/dist/platform/providers/sse-line-buffer.js +23 -0
- package/dist/platform/providers/tool-formats.d.ts +5 -0
- package/dist/platform/providers/tool-formats.d.ts.map +1 -1
- package/dist/platform/providers/tool-formats.js +14 -0
- package/dist/platform/runtime/bootstrap-runtime-events.d.ts.map +1 -1
- package/dist/platform/runtime/bootstrap-runtime-events.js +6 -0
- package/dist/platform/runtime/bootstrap-services.d.ts.map +1 -1
- package/dist/platform/runtime/bootstrap-services.js +4 -5
- package/dist/platform/runtime/emitters/workflows.d.ts +4 -0
- package/dist/platform/runtime/emitters/workflows.d.ts.map +1 -1
- package/dist/platform/runtime/emitters/workflows.js +3 -0
- package/dist/platform/runtime/remote/distributed-runtime-store.d.ts.map +1 -1
- package/dist/platform/runtime/remote/distributed-runtime-store.js +1 -3
- package/dist/platform/runtime/retention/pruner.js +2 -5
- package/dist/platform/runtime/store/helpers/reducers/lifecycle.d.ts.map +1 -1
- package/dist/platform/runtime/store/helpers/reducers/lifecycle.js +15 -14
- package/dist/platform/runtime/store/helpers/reducers/shared.d.ts +6 -0
- package/dist/platform/runtime/store/helpers/reducers/shared.d.ts.map +1 -1
- package/dist/platform/runtime/store/helpers/reducers/shared.js +8 -1
- package/dist/platform/runtime/telemetry/exporters/queue.d.ts.map +1 -1
- package/dist/platform/runtime/telemetry/exporters/queue.js +1 -7
- package/dist/platform/runtime/transports/http-helpers.d.ts +0 -1
- package/dist/platform/runtime/transports/http-helpers.d.ts.map +1 -1
- package/dist/platform/runtime/transports/http-helpers.js +1 -3
- package/dist/platform/runtime/ui-read-model-helpers.d.ts +2 -0
- package/dist/platform/runtime/ui-read-model-helpers.d.ts.map +1 -1
- package/dist/platform/runtime/ui-read-model-helpers.js +8 -0
- package/dist/platform/runtime/ui-read-models-core.d.ts.map +1 -1
- package/dist/platform/runtime/ui-read-models-core.js +3 -5
- package/dist/platform/runtime/ui-read-models-observability-remote.d.ts.map +1 -1
- package/dist/platform/runtime/ui-read-models-observability-remote.js +2 -4
- package/dist/platform/runtime/ui-read-models-operations.d.ts.map +1 -1
- package/dist/platform/runtime/ui-read-models-operations.js +8 -26
- package/dist/platform/scheduler/scheduler.d.ts.map +1 -1
- package/dist/platform/scheduler/scheduler.js +1 -3
- package/dist/platform/tools/exec/runtime.d.ts.map +1 -1
- package/dist/platform/tools/exec/runtime.js +1 -7
- package/dist/platform/tools/fetch/runtime.d.ts.map +1 -1
- package/dist/platform/tools/fetch/runtime.js +9 -20
- package/dist/platform/tools/shared/process-manager.d.ts.map +1 -1
- package/dist/platform/tools/shared/process-manager.js +1 -6
- package/dist/platform/utils/concurrency.d.ts +1 -0
- package/dist/platform/utils/concurrency.d.ts.map +1 -1
- package/dist/platform/utils/concurrency.js +1 -0
- package/dist/platform/utils/error-display.d.ts +9 -0
- package/dist/platform/utils/error-display.d.ts.map +1 -1
- package/dist/platform/utils/error-display.js +11 -0
- package/dist/platform/utils/fetch-with-timeout.d.ts +22 -2
- package/dist/platform/utils/fetch-with-timeout.d.ts.map +1 -1
- package/dist/platform/utils/fetch-with-timeout.js +33 -15
- package/dist/platform/utils/record-coerce.d.ts +5 -0
- package/dist/platform/utils/record-coerce.d.ts.map +1 -1
- package/dist/platform/utils/record-coerce.js +7 -0
- package/dist/platform/utils/retry.d.ts.map +1 -1
- package/dist/platform/utils/retry.js +2 -4
- package/dist/platform/version.js +1 -1
- package/package.json +9 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { now, uniq, updateDomainMetadata } from './shared.js';
|
|
1
|
+
import { now, uniq, updateDomainMetadata, isTerminalLifecycleState, computeActiveIds } from './shared.js';
|
|
2
2
|
function permissionMachineStateForEvent(event) {
|
|
3
3
|
switch (event.type) {
|
|
4
4
|
case 'PERMISSION_REQUESTED':
|
|
@@ -104,7 +104,7 @@ function updateTaskIndexes(tasks) {
|
|
|
104
104
|
return { queuedIds, runningIds, blockedIds };
|
|
105
105
|
}
|
|
106
106
|
function isTerminalTaskStatus(status) {
|
|
107
|
-
return status
|
|
107
|
+
return isTerminalLifecycleState(status);
|
|
108
108
|
}
|
|
109
109
|
function countTaskTransition(domain, previous, task) {
|
|
110
110
|
let { totalCreated, totalCompleted, totalFailed, totalCancelled } = domain;
|
|
@@ -220,7 +220,7 @@ function assertNeverAgentEvent(event) {
|
|
|
220
220
|
throw new Error(`Unhandled agent event type: ${String(event.type)}`);
|
|
221
221
|
}
|
|
222
222
|
function isTerminalAgentStatus(status) {
|
|
223
|
-
return status
|
|
223
|
+
return isTerminalLifecycleState(status);
|
|
224
224
|
}
|
|
225
225
|
function isWrfcOwnerRevivalEvent(event) {
|
|
226
226
|
return ((event.type === 'AGENT_RUNNING' || event.type === 'AGENT_PROGRESS')
|
|
@@ -228,6 +228,15 @@ function isWrfcOwnerRevivalEvent(event) {
|
|
|
228
228
|
&& typeof event.wrfcId === 'string'
|
|
229
229
|
&& event.wrfcId.length > 0);
|
|
230
230
|
}
|
|
231
|
+
function applyAgentDomainAggregates(domain, agents, prevStatus, nextStatus, completedCorrection, failedCorrection) {
|
|
232
|
+
const activeAgentIds = computeActiveIds(agents);
|
|
233
|
+
return {
|
|
234
|
+
activeAgentIds,
|
|
235
|
+
totalCompleted: Math.max(0, domain.totalCompleted + completedCorrection + (prevStatus !== 'completed' && nextStatus === 'completed' ? 1 : 0)),
|
|
236
|
+
totalFailed: Math.max(0, domain.totalFailed + failedCorrection + (prevStatus !== 'failed' && nextStatus === 'failed' ? 1 : 0)),
|
|
237
|
+
peakConcurrency: Math.max(domain.peakConcurrency, activeAgentIds.length),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
231
240
|
export function updateAgentState(domain, event) {
|
|
232
241
|
const agents = new Map(domain.agents);
|
|
233
242
|
const timestamp = now();
|
|
@@ -293,17 +302,13 @@ export function updateAgentState(domain, event) {
|
|
|
293
302
|
}
|
|
294
303
|
: revivedWrfcOwner ? undefined : agent.result,
|
|
295
304
|
});
|
|
296
|
-
const activeAgentIds = [...agents.values()].filter((value) => !['completed', 'failed', 'cancelled'].includes(value.status)).map((value) => value.id);
|
|
297
305
|
const completedCorrection = revivedWrfcOwner && existing?.status === 'completed' ? -1 : 0;
|
|
298
306
|
const failedCorrection = revivedWrfcOwner && existing?.status === 'failed' ? -1 : 0;
|
|
299
307
|
return {
|
|
300
308
|
...updateDomainMetadata(domain, event.type),
|
|
301
309
|
agents,
|
|
302
|
-
activeAgentIds,
|
|
303
310
|
totalSpawned: domain.totalSpawned + (!existing && event.type === 'AGENT_SPAWNING' ? 1 : 0),
|
|
304
|
-
|
|
305
|
-
totalFailed: Math.max(0, domain.totalFailed + failedCorrection + (existing?.status !== 'failed' && nextStatus === 'failed' ? 1 : 0)),
|
|
306
|
-
peakConcurrency: Math.max(domain.peakConcurrency, activeAgentIds.length),
|
|
311
|
+
...applyAgentDomainAggregates(domain, agents, existing?.status, nextStatus, completedCorrection, failedCorrection),
|
|
307
312
|
};
|
|
308
313
|
}
|
|
309
314
|
function transitionAgentDomainRecord(domain, agentId, status, patch, source) {
|
|
@@ -312,14 +317,10 @@ function transitionAgentDomainRecord(domain, agentId, status, patch, source) {
|
|
|
312
317
|
return domain;
|
|
313
318
|
const agents = new Map(domain.agents);
|
|
314
319
|
agents.set(agentId, { ...existing, ...patch, status });
|
|
315
|
-
const activeAgentIds = [...agents.values()].filter((value) => !['completed', 'failed', 'cancelled'].includes(value.status)).map((value) => value.id);
|
|
316
320
|
return {
|
|
317
321
|
...updateDomainMetadata(domain, source),
|
|
318
322
|
agents,
|
|
319
|
-
|
|
320
|
-
totalCompleted: domain.totalCompleted + (existing.status !== 'completed' && status === 'completed' ? 1 : 0),
|
|
321
|
-
totalFailed: domain.totalFailed + (existing.status !== 'failed' && status === 'failed' ? 1 : 0),
|
|
322
|
-
peakConcurrency: Math.max(domain.peakConcurrency, activeAgentIds.length),
|
|
323
|
+
...applyAgentDomainAggregates(domain, agents, existing.status, status, 0, 0),
|
|
323
324
|
};
|
|
324
325
|
}
|
|
325
326
|
function orchestrationGraphStatus(graph) {
|
|
@@ -438,7 +439,7 @@ export function updateOrchestrationState(domain, event) {
|
|
|
438
439
|
break;
|
|
439
440
|
}
|
|
440
441
|
}
|
|
441
|
-
const activeGraphIds =
|
|
442
|
+
const activeGraphIds = computeActiveIds(graphs);
|
|
442
443
|
return {
|
|
443
444
|
...updateDomainMetadata(domain, event.type),
|
|
444
445
|
graphs,
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { PartialToolCall } from '../../../../providers/interface.js';
|
|
2
2
|
import type { ConversationDomainState } from '../../domains/conversation.js';
|
|
3
|
+
export declare const TERMINAL_LIFECYCLE_STATES: readonly ["completed", "failed", "cancelled"];
|
|
4
|
+
export declare function isTerminalLifecycleState(s: string): boolean;
|
|
5
|
+
export declare function computeActiveIds<T extends {
|
|
6
|
+
id: string;
|
|
7
|
+
status: string;
|
|
8
|
+
}>(map: Map<string, T>): string[];
|
|
3
9
|
export declare function uniq<T>(items: T[]): T[];
|
|
4
10
|
export declare function now(): number;
|
|
5
11
|
export declare function updateDomainMetadata<T extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEvC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACxG,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,GACb,CAAC,CAOH;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,OAAO,CAExF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAExE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3F;AAED,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,SAAS,CAa1F;AAED,wBAAgB,gBAAgB,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CASpE"}
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/runtime/store/helpers/reducers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,eAAO,MAAM,yBAAyB,+CAAgD,CAAC;AAEvF,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAExG;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEvC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACxG,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,GACb,CAAC,CAOH;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,OAAO,CAExF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAExE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3F;AAED,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,SAAS,CAa1F;AAED,wBAAgB,gBAAgB,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CASpE"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export const TERMINAL_LIFECYCLE_STATES = ['completed', 'failed', 'cancelled'];
|
|
2
|
+
export function isTerminalLifecycleState(s) {
|
|
3
|
+
return TERMINAL_LIFECYCLE_STATES.includes(s);
|
|
4
|
+
}
|
|
5
|
+
export function computeActiveIds(map) {
|
|
6
|
+
return [...map.values()].filter((v) => !isTerminalLifecycleState(v.status)).map((v) => v.id);
|
|
7
|
+
}
|
|
1
8
|
export function uniq(items) {
|
|
2
9
|
return [...new Set(items)];
|
|
3
10
|
}
|
|
@@ -13,7 +20,7 @@ export function updateDomainMetadata(domain, source) {
|
|
|
13
20
|
};
|
|
14
21
|
}
|
|
15
22
|
export function isTerminalTurnState(state) {
|
|
16
|
-
return state
|
|
23
|
+
return isTerminalLifecycleState(state);
|
|
17
24
|
}
|
|
18
25
|
export function canStartNewTurn(domain) {
|
|
19
26
|
return domain.turnState === 'idle' || isTerminalTurnState(domain.turnState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/telemetry/exporters/queue.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,QAAQ,EAET,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/telemetry/exporters/queue.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,QAAQ,EAET,MAAM,YAAY,CAAC;AA2BpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAmC;IAE9D,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAElB,0CAA0C;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,kEAAkE;IAClE,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;OAIG;gBAED,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,EAChC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,QAAQ,CAAC,EAAE,oBAAoB;IAYjC,gDAAgD;IAChD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,+CAA+C;IAC/C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IA4BpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B,0DAA0D;IAC1D,OAAO,CAAC,eAAe;IAWvB,4DAA4D;YAC9C,UAAU;IAgBxB,oEAAoE;IACpE,OAAO,CAAC,QAAQ;IAShB;;;OAGG;YACW,aAAa;IA0C3B,2DAA2D;IAC3D,OAAO,CAAC,WAAW;CAUpB"}
|
|
@@ -11,6 +11,7 @@ import { randomInt } from 'node:crypto';
|
|
|
11
11
|
import { DEFAULT_QUEUE_CONFIG } from './types.js';
|
|
12
12
|
import { summarizeError } from '../../../utils/error-display.js';
|
|
13
13
|
import { logger } from '../../../utils/logger.js';
|
|
14
|
+
import { sleep } from '../../../utils/concurrency.js';
|
|
14
15
|
/**
|
|
15
16
|
* Computes the delay in milliseconds for a given retry attempt using
|
|
16
17
|
* exponential backoff with jitter (±10%).
|
|
@@ -23,13 +24,6 @@ function computeDelay(attempt, config) {
|
|
|
23
24
|
const jitter = randomInt(-jitterWindow, jitterWindow + 1);
|
|
24
25
|
return Math.max(0, Math.round(capped + jitter));
|
|
25
26
|
}
|
|
26
|
-
/** Awaitable sleep. */
|
|
27
|
-
function sleep(ms) {
|
|
28
|
-
return new Promise((resolve) => {
|
|
29
|
-
const timer = setTimeout(resolve, ms);
|
|
30
|
-
timer.unref?.();
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
27
|
/**
|
|
34
28
|
* Bounded in-memory export queue with retry and overflow protection.
|
|
35
29
|
*
|
|
@@ -4,7 +4,6 @@ import type { TransportPaths } from './transport-paths.js';
|
|
|
4
4
|
import type { HttpSessionEnsureInput, HttpSessionMessageInput, HttpSteerSessionMessageInput, HttpTaskSubmitInput, HttpTransportTelemetryQuery, HttpTransportTelemetryStreamHandlers } from './http-types.js';
|
|
5
5
|
export declare function createJsonRequestInit(token: string | null | undefined, body?: unknown, method?: string): RequestInit;
|
|
6
6
|
export declare function maybeObject<T extends object>(value: unknown): T | null;
|
|
7
|
-
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
8
7
|
export declare function readArrayResponse<T>(body: unknown, key: string): readonly T[];
|
|
9
8
|
export declare function readControlPlaneSnapshot(fetchImpl: typeof fetch, paths: TransportPaths, token: string | null | undefined): Promise<UiControlPlaneSnapshot>;
|
|
10
9
|
export declare function buildSessionEnsureBody(input?: HttpSessionEnsureInput): Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-helpers.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/transports/http-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC3B,oCAAoC,EAErC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-helpers.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/transports/http-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC3B,oCAAoC,EAErC,MAAM,iBAAiB,CAAC;AAGzB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,SAAQ,GAAG,WAAW,CAEnH;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,IAAI,CAEtE;AAID,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,CAO7E;AAwBD,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,OAAO,KAAK,EACvB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAoCjC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,GAAE,sBAA2B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBlG;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAc/F;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBvF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,2BAA2B,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,CAQ7H;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAc3E;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,OAAO,KAAK,EACvB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,QAAQ,EAAE,oCAAoC,GAC7C,OAAO,CAAC,MAAM,IAAI,CAAC,CAerB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvE"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { buildUrl } from './transport-paths.js';
|
|
2
2
|
import { createJsonInit, requestJsonRaw } from './http-json-transport.js';
|
|
3
3
|
import { openServerSentEventStream } from './sse-stream.js';
|
|
4
|
+
import { isRecord } from '../../utils/record-coerce.js';
|
|
4
5
|
export function createJsonRequestInit(token, body, method = 'GET') {
|
|
5
6
|
return createJsonInit(token, body, method);
|
|
6
7
|
}
|
|
7
8
|
export function maybeObject(value) {
|
|
8
9
|
return typeof value === 'object' && value !== null ? value : null;
|
|
9
10
|
}
|
|
10
|
-
export function isRecord(value) {
|
|
11
|
-
return typeof value === 'object' && value !== null;
|
|
12
|
-
}
|
|
13
11
|
export function readArrayResponse(body, key) {
|
|
14
12
|
if (Array.isArray(body))
|
|
15
13
|
return body;
|
|
@@ -2,5 +2,7 @@ import type { RuntimeServices } from './services.js';
|
|
|
2
2
|
import type { UiReadModel } from './ui-read-models-base.js';
|
|
3
3
|
export declare function combineSubscriptions(...teardowns: Array<() => void>): () => void;
|
|
4
4
|
export declare function createStoreBackedReadModel<TSnapshot>(runtimeServices: RuntimeServices, getSnapshot: () => TSnapshot): UiReadModel<TSnapshot>;
|
|
5
|
+
export declare function projectRecords<T>(ids: readonly string[], map: ReadonlyMap<string, T>, compare?: (a: T, b: T) => number): T[];
|
|
6
|
+
export declare function projectValues<T>(map: ReadonlyMap<string, T>, compare?: (a: T, b: T) => number): T[];
|
|
5
7
|
export declare function listProviderIds(runtimeServices: RuntimeServices): readonly string[];
|
|
6
8
|
//# sourceMappingURL=ui-read-model-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-read-model-helpers.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-model-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,IAAI,CAMhF;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAClD,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,MAAM,SAAS,GAC3B,WAAW,CAAC,SAAS,CAAC,CAOxB;AAED,wBAAgB,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,MAAM,EAAE,CAQnF"}
|
|
1
|
+
{"version":3,"file":"ui-read-model-helpers.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-model-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,IAAI,CAMhF;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAClD,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,MAAM,SAAS,GAC3B,WAAW,CAAC,SAAS,CAAC,CAOxB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAC/B,CAAC,EAAE,CAGL;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAC/B,CAAC,EAAE,CAGL;AAED,wBAAgB,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,MAAM,EAAE,CAQnF"}
|
|
@@ -13,6 +13,14 @@ export function createStoreBackedReadModel(runtimeServices, getSnapshot) {
|
|
|
13
13
|
},
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
+
export function projectRecords(ids, map, compare) {
|
|
17
|
+
const items = ids.map((id) => map.get(id)).filter((v) => v !== undefined);
|
|
18
|
+
return compare ? items.sort(compare) : items;
|
|
19
|
+
}
|
|
20
|
+
export function projectValues(map, compare) {
|
|
21
|
+
const items = [...map.values()];
|
|
22
|
+
return compare ? items.sort(compare) : items;
|
|
23
|
+
}
|
|
16
24
|
export function listProviderIds(runtimeServices) {
|
|
17
25
|
const providerIds = new Set(runtimeServices.providerRegistry.listProviders().map((provider) => provider.name));
|
|
18
26
|
for (const model of runtimeServices.providerRegistry.listModels()) {
|
|
@@ -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,
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { createStoreBackedReadModel, listProviderIds } from './ui-read-model-helpers.js';
|
|
1
|
+
import { createStoreBackedReadModel, listProviderIds, projectRecords, projectValues } from './ui-read-model-helpers.js';
|
|
2
2
|
export function createCoreReadModels(runtimeServices) {
|
|
3
3
|
const { runtimeStore } = runtimeServices;
|
|
4
4
|
return {
|
|
@@ -29,9 +29,7 @@ export function createCoreReadModels(runtimeServices) {
|
|
|
29
29
|
}),
|
|
30
30
|
agents: createStoreBackedReadModel(runtimeServices, () => {
|
|
31
31
|
const state = runtimeStore.getState().agents;
|
|
32
|
-
const active = state.activeAgentIds
|
|
33
|
-
.map((id) => state.agents.get(id))
|
|
34
|
-
.filter((agent) => agent !== undefined);
|
|
32
|
+
const active = projectRecords(state.activeAgentIds, state.agents);
|
|
35
33
|
return {
|
|
36
34
|
active,
|
|
37
35
|
totalSpawned: state.totalSpawned,
|
|
@@ -41,7 +39,7 @@ export function createCoreReadModels(runtimeServices) {
|
|
|
41
39
|
}),
|
|
42
40
|
tasks: createStoreBackedReadModel(runtimeServices, () => {
|
|
43
41
|
const tasksState = runtimeStore.getState().tasks;
|
|
44
|
-
const tasks =
|
|
42
|
+
const tasks = projectValues(tasksState.tasks, (a, b) => {
|
|
45
43
|
const aTime = a.startedAt ?? a.queuedAt;
|
|
46
44
|
const bTime = b.startedAt ?? b.queuedAt;
|
|
47
45
|
return bTime - aTime || a.title.localeCompare(b.title);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-read-models-observability-remote.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-models-observability-remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAE1I,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,OAAO,wBAAwB,EAAE,aAAa,EAAE,CAAC;KACvF,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACjF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACzF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACzF,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,6BAA6B,EAAE,CAAC;QAChE,QAAQ,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;QACjD,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;CAChD;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,eAAe,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ui-read-models-observability-remote.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-models-observability-remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAE1I,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,OAAO,wBAAwB,EAAE,aAAa,EAAE,CAAC;KACvF,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACjF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACzF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACzF,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,6BAA6B,EAAE,CAAC;QAChE,QAAQ,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;QACjD,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;CAChD;AAED,wBAAgB,sBAAsB,CAAC,eAAe,EAAE,eAAe,GAAG,kBAAkB,CAoC3F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createStoreBackedReadModel } from './ui-read-model-helpers.js';
|
|
1
|
+
import { createStoreBackedReadModel, projectRecords } from './ui-read-model-helpers.js';
|
|
2
2
|
export function createRemoteReadModels(runtimeServices) {
|
|
3
3
|
const { runtimeStore } = runtimeServices;
|
|
4
4
|
return {
|
|
@@ -16,9 +16,7 @@ export function createRemoteReadModels(runtimeServices) {
|
|
|
16
16
|
acp: {
|
|
17
17
|
transportState: state.acp.managerTransportState,
|
|
18
18
|
totalMessages: state.acp.totalMessages,
|
|
19
|
-
activeConnections: state.acp.activeConnectionIds
|
|
20
|
-
.map((id) => state.acp.connections.get(id))
|
|
21
|
-
.filter((connection) => connection !== undefined),
|
|
19
|
+
activeConnections: projectRecords(state.acp.activeConnectionIds, state.acp.connections),
|
|
22
20
|
},
|
|
23
21
|
pools: runtimeServices.remoteRunnerRegistry.listPools(),
|
|
24
22
|
contracts: runtimeServices.remoteRunnerRegistry.listContracts(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-read-models-operations.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-models-operations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ui-read-models-operations.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/ui-read-models-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { combineSubscriptions, createStoreBackedReadModel } from './ui-read-model-helpers.js';
|
|
1
|
+
import { combineSubscriptions, createStoreBackedReadModel, projectRecords, projectValues } from './ui-read-model-helpers.js';
|
|
2
2
|
export function createOperationsReadModels(runtimeServices, options = {}) {
|
|
3
3
|
const { runtimeStore } = runtimeServices;
|
|
4
4
|
return {
|
|
5
5
|
automation: createStoreBackedReadModel(runtimeServices, () => {
|
|
6
6
|
const state = runtimeStore.getState();
|
|
7
|
-
const jobs = state.automation.jobIds
|
|
8
|
-
|
|
9
|
-
.filter((job) => job !== undefined)
|
|
10
|
-
.sort((a, b) => (b.nextRunAt ?? 0) - (a.nextRunAt ?? 0) || a.name.localeCompare(b.name));
|
|
11
|
-
const runs = state.automation.runIds
|
|
12
|
-
.map((id) => state.automation.runs.get(id))
|
|
13
|
-
.filter((run) => run !== undefined)
|
|
14
|
-
.sort((a, b) => b.queuedAt - a.queuedAt || a.id.localeCompare(b.id));
|
|
7
|
+
const jobs = projectRecords(state.automation.jobIds, state.automation.jobs, (a, b) => (b.nextRunAt ?? 0) - (a.nextRunAt ?? 0) || a.name.localeCompare(b.name));
|
|
8
|
+
const runs = projectRecords(state.automation.runIds, state.automation.runs, (a, b) => b.queuedAt - a.queuedAt || a.id.localeCompare(b.id));
|
|
15
9
|
return {
|
|
16
10
|
jobs,
|
|
17
11
|
runs,
|
|
@@ -29,10 +23,7 @@ export function createOperationsReadModels(runtimeServices, options = {}) {
|
|
|
29
23
|
}),
|
|
30
24
|
routes: createStoreBackedReadModel(runtimeServices, () => {
|
|
31
25
|
const state = runtimeStore.getState().routes;
|
|
32
|
-
const bindings = state.bindingIds
|
|
33
|
-
.map((id) => state.bindings.get(id))
|
|
34
|
-
.filter((binding) => binding !== undefined)
|
|
35
|
-
.sort((a, b) => b.lastSeenAt - a.lastSeenAt || a.id.localeCompare(b.id));
|
|
26
|
+
const bindings = projectRecords(state.bindingIds, state.bindings, (a, b) => b.lastSeenAt - a.lastSeenAt || a.id.localeCompare(b.id));
|
|
36
27
|
return {
|
|
37
28
|
bindings,
|
|
38
29
|
bindingIdsBySurface: state.bindingIdsBySurface,
|
|
@@ -44,10 +35,7 @@ export function createOperationsReadModels(runtimeServices, options = {}) {
|
|
|
44
35
|
}),
|
|
45
36
|
watchers: createStoreBackedReadModel(runtimeServices, () => {
|
|
46
37
|
const state = runtimeStore.getState().watchers;
|
|
47
|
-
const watchers = state.watcherIds
|
|
48
|
-
.map((id) => state.watchers.get(id))
|
|
49
|
-
.filter((watcher) => watcher !== undefined)
|
|
50
|
-
.sort((a, b) => (b.lastHeartbeatAt ?? 0) - (a.lastHeartbeatAt ?? 0) || a.id.localeCompare(b.id));
|
|
38
|
+
const watchers = projectRecords(state.watcherIds, state.watchers, (a, b) => (b.lastHeartbeatAt ?? 0) - (a.lastHeartbeatAt ?? 0) || a.id.localeCompare(b.id));
|
|
51
39
|
return {
|
|
52
40
|
watchers,
|
|
53
41
|
totalWatchers: state.watcherIds.length,
|
|
@@ -58,7 +46,7 @@ export function createOperationsReadModels(runtimeServices, options = {}) {
|
|
|
58
46
|
}),
|
|
59
47
|
orchestration: createStoreBackedReadModel(runtimeServices, () => {
|
|
60
48
|
const state = runtimeStore.getState().orchestration;
|
|
61
|
-
const graphs =
|
|
49
|
+
const graphs = projectValues(state.graphs, (a, b) => b.createdAt - a.createdAt);
|
|
62
50
|
return {
|
|
63
51
|
graphs,
|
|
64
52
|
totalGraphs: state.totalGraphs,
|
|
@@ -70,10 +58,7 @@ export function createOperationsReadModels(runtimeServices, options = {}) {
|
|
|
70
58
|
}),
|
|
71
59
|
communication: createStoreBackedReadModel(runtimeServices, () => {
|
|
72
60
|
const state = runtimeStore.getState().communication;
|
|
73
|
-
const records = state.recentRecordIds
|
|
74
|
-
.map((id) => state.records.get(id))
|
|
75
|
-
.filter((record) => record !== undefined)
|
|
76
|
-
.sort((a, b) => b.timestamp - a.timestamp);
|
|
61
|
+
const records = projectRecords(state.recentRecordIds, state.records, (a, b) => b.timestamp - a.timestamp);
|
|
77
62
|
return {
|
|
78
63
|
records,
|
|
79
64
|
totalSent: state.totalSent,
|
|
@@ -84,10 +69,7 @@ export function createOperationsReadModels(runtimeServices, options = {}) {
|
|
|
84
69
|
controlPlane: {
|
|
85
70
|
getSnapshot() {
|
|
86
71
|
const state = runtimeStore.getState().controlPlane;
|
|
87
|
-
const clients = state.clientIds
|
|
88
|
-
.map((id) => state.clients.get(id))
|
|
89
|
-
.filter((client) => client !== undefined)
|
|
90
|
-
.sort((a, b) => (b.lastSeenAt ?? 0) - (a.lastSeenAt ?? 0) || a.id.localeCompare(b.id));
|
|
72
|
+
const clients = projectRecords(state.clientIds, state.clients, (a, b) => (b.lastSeenAt ?? 0) - (a.lastSeenAt ?? 0) || a.id.localeCompare(b.id));
|
|
91
73
|
return {
|
|
92
74
|
connectionState: state.connectionState,
|
|
93
75
|
activeClientIds: state.activeClientIds,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/platform/scheduler/scheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/platform/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { PersistentStore } from '../state/persistent-store.js';
|
|
2
2
|
import { logger } from '../utils/logger.js';
|
|
3
3
|
import { summarizeError } from '../utils/error-display.js';
|
|
4
|
+
import { isRecord } from '../utils/record-coerce.js';
|
|
4
5
|
const TASK_RUN_STATUSES = new Set(['running', 'completed', 'failed']);
|
|
5
|
-
function isRecord(value) {
|
|
6
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
|
-
}
|
|
8
6
|
function isFiniteNumber(value) {
|
|
9
7
|
return typeof value === 'number' && Number.isFinite(value);
|
|
10
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/exec/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAqB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAA+B,iBAAiB,EAAiB,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/exec/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAqB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAA+B,iBAAiB,EAAiB,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAse/E;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,GAC3D,OAAO,CA2CT;AA8ID,wBAAgB,cAAc,CAC5B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE;IACP,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACjF,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACnD,GACL,IAAI,CAmFN"}
|
|
@@ -7,7 +7,7 @@ import { ProcessManager } from '../shared/process-manager.js';
|
|
|
7
7
|
import { guardExecCommand, formatDenialResponse } from './ast-guard.js';
|
|
8
8
|
import { executeFileOperations } from './file-ops.js';
|
|
9
9
|
import { DEFAULT_ALLOWED_CLASSES } from '../../runtime/permissions/normalization/verdict.js';
|
|
10
|
-
import { mapWithConcurrency } from '../../utils/concurrency.js';
|
|
10
|
+
import { mapWithConcurrency, sleep } from '../../utils/concurrency.js';
|
|
11
11
|
import { compileSafeRegExp, safeRegExpTest } from '../../utils/safe-regex.js';
|
|
12
12
|
const DEFAULT_TIMEOUT_MS = 120_000;
|
|
13
13
|
const PROGRESS_AUTO_THRESHOLD_MS = 30_000;
|
|
@@ -78,12 +78,6 @@ function resolveCwd(cwd, workingDirectory) {
|
|
|
78
78
|
return effective;
|
|
79
79
|
return resolve(workingDirectory, effective);
|
|
80
80
|
}
|
|
81
|
-
function sleep(ms) {
|
|
82
|
-
return new Promise((resolve) => {
|
|
83
|
-
const timer = setTimeout(resolve, ms);
|
|
84
|
-
timer.unref?.();
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
81
|
function computeRetryDelay(attempt, delayMs, backoff, maxDelayMs = 30_000) {
|
|
88
82
|
if (backoff === 'fixed')
|
|
89
83
|
return delayMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/fetch/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAsF,MAAM,aAAa,CAAC;AAClI,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAUxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAM/E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAClF;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AASD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAOtE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAiBxC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;CAkFpF;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAE5G;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/fetch/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAsF,MAAM,aAAa,CAAC;AAClI,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAUxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAM/E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAClF;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AASD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,eAAe,CAAK;IAE5B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAOtE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAiBxC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;CAkFpF;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAE5G;AAseD,wBAAgB,eAAe,CAC7B,IAAI,GAAE,gBAAqB,EAC3B,OAAO,sBAA4B,GAClC,IAAI,CAiCN"}
|
|
@@ -4,9 +4,9 @@ import { applySanitizer, resolveSanitizeMode } from './sanitizer.js';
|
|
|
4
4
|
import { classifyHostTrustTier, emitSsrfDeny, emitHostTrustTier, extractHostname, } from './trust-tiers.js';
|
|
5
5
|
import { applyExtract, sniffContentType } from './extract.js';
|
|
6
6
|
import { summarizeError } from '../../utils/error-display.js';
|
|
7
|
-
import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
|
|
7
|
+
import { instrumentedFetch, createTimeoutController } from '../../utils/fetch-with-timeout.js';
|
|
8
8
|
import { toRecord } from '../../utils/record-coerce.js';
|
|
9
|
-
import { mapWithConcurrency } from '../../utils/concurrency.js';
|
|
9
|
+
import { mapWithConcurrency, sleep } from '../../utils/concurrency.js';
|
|
10
10
|
const MAX_CACHE_SIZE = 500;
|
|
11
11
|
const MAX_FETCH_URLS = 20;
|
|
12
12
|
const MAX_PARALLEL_FETCHES = 5;
|
|
@@ -88,7 +88,7 @@ export class FetchRuntimeService {
|
|
|
88
88
|
results = [];
|
|
89
89
|
for (let i = 0; i < input.urls.length; i++) {
|
|
90
90
|
if (i > 0 && rateLimitMs > 0) {
|
|
91
|
-
await
|
|
91
|
+
await sleep(rateLimitMs);
|
|
92
92
|
}
|
|
93
93
|
results.push(await fetchOne(input.urls[i], fetchOpts, this));
|
|
94
94
|
}
|
|
@@ -135,12 +135,6 @@ function cacheKey(url, params, extract, verbosity) {
|
|
|
135
135
|
: url;
|
|
136
136
|
return `${base}|${extract}|${verbosity}`;
|
|
137
137
|
}
|
|
138
|
-
function delay(ms) {
|
|
139
|
-
return new Promise((r) => {
|
|
140
|
-
const timer = setTimeout(r, ms);
|
|
141
|
-
timer.unref?.();
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
138
|
function applyAuthHeaders(headers, auth) {
|
|
145
139
|
switch (auth.type) {
|
|
146
140
|
case 'bearer':
|
|
@@ -172,31 +166,26 @@ function encodeFormBodyData(bodyData) {
|
|
|
172
166
|
return params.toString();
|
|
173
167
|
}
|
|
174
168
|
async function fetchOneRaw(urlInput, headers, method, body, effectiveUrl, trustTierConfig, sanitizationEnabled) {
|
|
175
|
-
const
|
|
176
|
-
const timer = setTimeout(() => controller.abort(), urlInput.timeout_ms ?? DEFAULT_TIMEOUT_MS);
|
|
177
|
-
timer.unref?.();
|
|
169
|
+
const { signal, dispose } = createTimeoutController(urlInput.timeout_ms ?? DEFAULT_TIMEOUT_MS);
|
|
178
170
|
try {
|
|
179
|
-
|
|
171
|
+
return sanitizationEnabled
|
|
180
172
|
? await fetchWithValidatedRedirects({
|
|
181
173
|
url: effectiveUrl,
|
|
182
174
|
method,
|
|
183
175
|
headers,
|
|
184
176
|
body,
|
|
185
|
-
signal
|
|
177
|
+
signal,
|
|
186
178
|
trustTierConfig,
|
|
187
179
|
})
|
|
188
180
|
: await instrumentedFetch(effectiveUrl, {
|
|
189
181
|
method,
|
|
190
182
|
...(Object.keys(headers).length > 0 ? { headers: headers } : {}),
|
|
191
183
|
...(body !== undefined ? { body } : {}),
|
|
192
|
-
signal
|
|
184
|
+
signal,
|
|
193
185
|
});
|
|
194
|
-
clearTimeout(timer);
|
|
195
|
-
return response;
|
|
196
186
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
throw err;
|
|
187
|
+
finally {
|
|
188
|
+
dispose();
|
|
200
189
|
}
|
|
201
190
|
}
|
|
202
191
|
async function fetchWithValidatedRedirects(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/shared/process-manager.ts"],"names":[],"mappings":"AAAA,qFAAqF;
|
|
1
|
+
{"version":3,"file":"process-manager.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/shared/process-manager.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAMrF;;;;;GAKG;AAIH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAQD,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAID,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,MAAM,CAAmD;IAIjE,OAAO,CAAC,KAAK;IAMb;;;;;;;;;;OAUG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,eAAe,CAAC;IA2G3B,iFAAiF;IACjF,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAKpD,kEAAkE;IAClE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAUrE;;;OAGG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAczB,yEAAyE;IACzE,IAAI,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAUvE;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAqDlD,OAAO,CAAC,uBAAuB;CAWhC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
|
|
2
2
|
import { summarizeError } from '../../utils/error-display.js';
|
|
3
3
|
import { logger } from '../../utils/logger.js';
|
|
4
|
+
import { sleep } from '../../utils/concurrency.js';
|
|
4
5
|
const MAX_PROCESS_OUTPUT_BYTES = 256 * 1024;
|
|
5
6
|
const MAX_COMPLETED_PROCESSES = 100;
|
|
6
7
|
const COMPLETED_PROCESS_TTL_MS = 30 * 60 * 1000;
|
|
@@ -272,9 +273,3 @@ async function readProcessStream(stream) {
|
|
|
272
273
|
reader.releaseLock();
|
|
273
274
|
}
|
|
274
275
|
}
|
|
275
|
-
function sleep(ms) {
|
|
276
|
-
return new Promise((resolve) => {
|
|
277
|
-
const timer = setTimeout(resolve, ms);
|
|
278
|
-
timer.unref?.();
|
|
279
|
-
});
|
|
280
|
-
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { sleep } from '../knowledge/cooperative.js';
|
|
1
2
|
/** Run async work with a fixed concurrency cap while preserving input order. */
|
|
2
3
|
export declare function mapWithConcurrency<T, R>(items: readonly T[], limit: number, worker: (item: T, index: number) => Promise<R>): Promise<R[]>;
|
|
3
4
|
//# sourceMappingURL=concurrency.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/concurrency.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,EAAE,CAAC,CAmBd"}
|
|
1
|
+
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/concurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,gFAAgF;AAChF,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,EAAE,CAAC,CAmBd"}
|
|
@@ -26,6 +26,15 @@ export interface ErrorNormalizationOptions {
|
|
|
26
26
|
export interface ProviderErrorNormalizationOptions extends ProviderErrorOptions {
|
|
27
27
|
readonly fallbackMessage?: string | undefined;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* redactedErrorMessage — extracts and redacts a human-readable message from any thrown value.
|
|
31
|
+
*
|
|
32
|
+
* Use for user-facing error output where the raw message should never leak
|
|
33
|
+
* bearer tokens, API keys, or other sensitive data. Do NOT use for logger
|
|
34
|
+
* fields, structured result/error fields, or diagnostic context — use
|
|
35
|
+
* `summarizeError` or the structured `normalizeError` for those.
|
|
36
|
+
*/
|
|
37
|
+
export declare function redactedErrorMessage(error: unknown): string;
|
|
29
38
|
export declare function normalizeError(error: unknown, options?: ErrorNormalizationOptions): NormalizedError;
|
|
30
39
|
export declare function summarizeError(error: unknown, options?: ErrorNormalizationOptions): string;
|
|
31
40
|
export declare function formatError(error: unknown, options?: ErrorNormalizationOptions): string;
|
|
@@ -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,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;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"}
|