@pellux/goodvibes-sdk 0.35.0 → 0.36.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.
- package/README.md +11 -1
- package/dist/contracts/artifacts/operator-contract.json +1 -1
- package/dist/events/agents.d.ts +14 -0
- package/dist/events/agents.d.ts.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/turn.d.ts +17 -0
- package/dist/events/turn.d.ts.map +1 -1
- package/dist/events/workflows.d.ts +8 -0
- package/dist/events/workflows.d.ts.map +1 -1
- package/dist/platform/acp/connection.d.ts +16 -0
- package/dist/platform/acp/connection.d.ts.map +1 -1
- package/dist/platform/acp/connection.js +17 -0
- package/dist/platform/agents/orchestrator-runner.d.ts +1 -1
- package/dist/platform/agents/orchestrator-runner.d.ts.map +1 -1
- package/dist/platform/agents/orchestrator-runner.js +3 -21
- package/dist/platform/agents/orchestrator.d.ts.map +1 -1
- package/dist/platform/agents/orchestrator.js +3 -2
- package/dist/platform/agents/worktree.d.ts +11 -1
- package/dist/platform/agents/worktree.d.ts.map +1 -1
- package/dist/platform/agents/worktree.js +48 -14
- package/dist/platform/agents/wrfc-config.d.ts +23 -0
- package/dist/platform/agents/wrfc-config.d.ts.map +1 -1
- package/dist/platform/agents/wrfc-config.js +24 -0
- package/dist/platform/agents/wrfc-controller.d.ts +49 -1
- package/dist/platform/agents/wrfc-controller.d.ts.map +1 -1
- package/dist/platform/agents/wrfc-controller.js +261 -12
- package/dist/platform/agents/wrfc-types.d.ts +48 -1
- package/dist/platform/agents/wrfc-types.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-core.d.ts +3 -0
- package/dist/platform/config/schema-domain-core.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-core.js +24 -0
- package/dist/platform/config/schema-types.d.ts +6 -2
- package/dist/platform/config/schema-types.d.ts.map +1 -1
- package/dist/platform/core/conversation.d.ts.map +1 -1
- package/dist/platform/core/conversation.js +8 -3
- package/dist/platform/core/orchestrator-turn-loop.d.ts.map +1 -1
- package/dist/platform/core/orchestrator-turn-loop.js +18 -1
- package/dist/platform/providers/anthropic-compat.js +2 -2
- package/dist/platform/providers/anthropic-sdk-provider.js +1 -1
- package/dist/platform/providers/anthropic.js +2 -2
- package/dist/platform/providers/gemini.js +2 -2
- package/dist/platform/providers/interface.d.ts +9 -1
- package/dist/platform/providers/interface.d.ts.map +1 -1
- package/dist/platform/providers/llama-cpp.js +1 -1
- package/dist/platform/providers/lm-studio.js +1 -1
- package/dist/platform/providers/ollama.js +1 -1
- package/dist/platform/providers/openai-codex.js +1 -1
- package/dist/platform/providers/openai-compat.d.ts.map +1 -1
- package/dist/platform/providers/openai-compat.js +2 -2
- package/dist/platform/providers/openai.js +2 -2
- package/dist/platform/runtime/emitters/agents.d.ts +2 -0
- package/dist/platform/runtime/emitters/agents.d.ts.map +1 -1
- package/dist/platform/runtime/emitters/turn.d.ts +9 -0
- package/dist/platform/runtime/emitters/turn.d.ts.map +1 -1
- package/dist/platform/runtime/emitters/turn.js +4 -0
- package/dist/platform/runtime/emitters/workflows.d.ts +1 -0
- package/dist/platform/runtime/emitters/workflows.d.ts.map +1 -1
- package/dist/platform/runtime/store/domains/agents.d.ts +7 -0
- package/dist/platform/runtime/store/domains/agents.d.ts.map +1 -1
- package/dist/platform/runtime/store/helpers/reducers/lifecycle.d.ts.map +1 -1
- package/dist/platform/runtime/store/helpers/reducers/lifecycle.js +3 -0
- package/dist/platform/runtime/tools/phases/execute.d.ts.map +1 -1
- package/dist/platform/runtime/tools/phases/execute.js +11 -1
- package/dist/platform/tools/exec/runtime.d.ts.map +1 -1
- package/dist/platform/tools/exec/runtime.js +9 -0
- package/dist/platform/tools/shared/overflow.d.ts.map +1 -1
- package/dist/platform/tools/shared/overflow.js +21 -2
- package/dist/platform/types/errors.d.ts +26 -0
- package/dist/platform/types/errors.d.ts.map +1 -1
- package/dist/platform/types/errors.js +63 -1
- package/dist/platform/utils/retry.d.ts +4 -2
- package/dist/platform/utils/retry.d.ts.map +1 -1
- package/dist/platform/utils/retry.js +4 -2
- package/dist/platform/version.js +1 -1
- package/package.json +9 -9
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RuntimeEventBus } from '../events/index.js';
|
|
2
2
|
import type { EmitterContext } from './index.js';
|
|
3
|
+
import type { AgentUsage } from '../../../events/agents.js';
|
|
3
4
|
/** Emit AGENT_SPAWNING when an agent is being initialised. */
|
|
4
5
|
export declare function emitAgentSpawning(bus: RuntimeEventBus, ctx: EmitterContext, data: {
|
|
5
6
|
agentId: string;
|
|
@@ -62,6 +63,7 @@ export declare function emitAgentCompleted(bus: RuntimeEventBus, ctx: EmitterCon
|
|
|
62
63
|
durationMs: number;
|
|
63
64
|
output?: string;
|
|
64
65
|
toolCallsMade?: number;
|
|
66
|
+
usage?: AgentUsage | undefined;
|
|
65
67
|
}): void;
|
|
66
68
|
/** Emit AGENT_FAILED when an agent fails. */
|
|
67
69
|
export declare function emitAgentFailed(bus: RuntimeEventBus, ctx: EmitterContext, data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/emitters/agents.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/emitters/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,15 @@ export declare function emitStreamEnd(bus: RuntimeEventBus, ctx: EmitterContext,
|
|
|
38
38
|
scope?: 'provider';
|
|
39
39
|
terminal?: false;
|
|
40
40
|
}): void;
|
|
41
|
+
/** Emit STREAM_RETRY when an in-flight provider chat call retries after a transport error. */
|
|
42
|
+
export declare function emitStreamRetry(bus: RuntimeEventBus, ctx: EmitterContext, data: {
|
|
43
|
+
turnId: string;
|
|
44
|
+
provider: string;
|
|
45
|
+
attempt: number;
|
|
46
|
+
maxAttempts: number;
|
|
47
|
+
delayMs: number;
|
|
48
|
+
reason: string;
|
|
49
|
+
}): void;
|
|
41
50
|
/** Emit LLM_REQUEST_STARTED when a provider chat request is about to be dispatched. */
|
|
42
51
|
export declare function emitLlmRequestStarted(bus: RuntimeEventBus, ctx: EmitterContext, data: {
|
|
43
52
|
turnId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/emitters/turn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/emitters/turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,10 @@ export function emitStreamDelta(bus, ctx, data) {
|
|
|
33
33
|
export function emitStreamEnd(bus, ctx, data) {
|
|
34
34
|
bus.emit('turn', createEventEnvelope('STREAM_END', { type: 'STREAM_END', scope: 'provider', terminal: false, ...data }, ctx));
|
|
35
35
|
}
|
|
36
|
+
/** Emit STREAM_RETRY when an in-flight provider chat call retries after a transport error. */
|
|
37
|
+
export function emitStreamRetry(bus, ctx, data) {
|
|
38
|
+
bus.emit('turn', createEventEnvelope('STREAM_RETRY', { type: 'STREAM_RETRY', ...data }, ctx));
|
|
39
|
+
}
|
|
36
40
|
/** Emit LLM_REQUEST_STARTED when a provider chat request is about to be dispatched. */
|
|
37
41
|
export function emitLlmRequestStarted(bus, ctx, data) {
|
|
38
42
|
bus.emit('turn', createEventEnvelope('LLM_REQUEST_STARTED', { type: 'LLM_REQUEST_STARTED', ...data }, ctx));
|
|
@@ -36,6 +36,7 @@ export declare function emitWorkflowChainPassed(bus: RuntimeEventBus, ctx: Emitt
|
|
|
36
36
|
export declare function emitWorkflowChainFailed(bus: RuntimeEventBus, ctx: EmitterContext, data: {
|
|
37
37
|
chainId: string;
|
|
38
38
|
reason: string;
|
|
39
|
+
failureKind?: 'transport' | 'other' | undefined;
|
|
39
40
|
}): void;
|
|
40
41
|
export declare function emitWorkflowAutoCommitted(bus: RuntimeEventBus, ctx: EmitterContext, data: {
|
|
41
42
|
chainId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/emitters/workflows.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtC,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GACxD,IAAI,CAEN;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACjD,GACA,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC9F,IAAI,CAEN;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACvD,IAAI,CAEN;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACxB,IAAI,CAEN;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../../src/platform/runtime/emitters/workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Agents domain state — tracks all spawned agent sessions including
|
|
4
4
|
* subagents, WRFC chain agents, and orchestrator agents.
|
|
5
5
|
*/
|
|
6
|
+
import type { AgentUsage } from '../../../../events/agents.js';
|
|
6
7
|
/** States for the agent lifecycle machine. */
|
|
7
8
|
export type AgentLifecycleState = 'spawning' | 'running' | 'awaiting_message' | 'awaiting_tool' | 'finalizing' | 'completed' | 'failed' | 'cancelled';
|
|
8
9
|
/** Classification of the agent's role. */
|
|
@@ -46,6 +47,12 @@ export interface RuntimeAgent {
|
|
|
46
47
|
turnCount: number;
|
|
47
48
|
/** Number of tool calls made by this agent. */
|
|
48
49
|
toolCallCount: number;
|
|
50
|
+
/**
|
|
51
|
+
* Accumulated token usage for this agent's run. Undefined means no usage
|
|
52
|
+
* data has landed yet — never fabricated as zeros (honest-UX: an agent
|
|
53
|
+
* that hasn't reported usage is distinct from one that used zero tokens).
|
|
54
|
+
*/
|
|
55
|
+
usage?: AgentUsage | undefined;
|
|
49
56
|
/** Latest accumulated output from the agent (for live display). */
|
|
50
57
|
latestOutput: string;
|
|
51
58
|
/** Latest progress string emitted by the agent. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/store/domains/agents.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;GAGG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,0CAA0C;AAC1C,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,UAAU,GACV,UAAU,GACV,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,YAAY,CAAC;AAEjB,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,SAAS,EAAE,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC;IACpG,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,+BAA+B;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAG5B,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAGhB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,2CAA2C;IAC3C,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,qEAAqE;IACrE,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAGnC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAG5B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/store/domains/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,CAoF9F;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"}
|
|
@@ -294,6 +294,9 @@ export function updateAgentState(domain, event) {
|
|
|
294
294
|
toolCallCount: event.type === 'AGENT_COMPLETED' && event.toolCallsMade !== undefined
|
|
295
295
|
? event.toolCallsMade
|
|
296
296
|
: agent.toolCallCount,
|
|
297
|
+
usage: event.type === 'AGENT_COMPLETED' && event.usage !== undefined
|
|
298
|
+
? event.usage
|
|
299
|
+
: agent.usage,
|
|
297
300
|
result: event.type === 'AGENT_COMPLETED'
|
|
298
301
|
? {
|
|
299
302
|
durationMs: event.durationMs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/tools/phases/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMpF;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,WAAW,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../../src/platform/runtime/tools/phases/execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMpF;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,WAAW,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC,CAuDpD"}
|
|
@@ -16,7 +16,17 @@ export async function executePhase(call, tool, context, record, config) {
|
|
|
16
16
|
const start = performance.now();
|
|
17
17
|
const effectiveArgs = record._updatedArgs ?? call.arguments;
|
|
18
18
|
// Resolve timeout: per-phase override → budget → default
|
|
19
|
-
|
|
19
|
+
let timeoutMs = config?.phaseTimeouts?.['executing'] ?? context.budget?.maxMs ?? DEFAULT_EXECUTE_TIMEOUT_MS;
|
|
20
|
+
// The exec tool accepts its own `timeout_ms` input for long-running commands
|
|
21
|
+
// (e.g. a full test suite). Never let the phase deadline undercut a caller-
|
|
22
|
+
// requested exec timeout — otherwise the phase times out the call while the
|
|
23
|
+
// underlying command legitimately still has time left to run.
|
|
24
|
+
if (call.name === 'exec') {
|
|
25
|
+
const requestedTimeoutMs = effectiveArgs['timeout_ms'];
|
|
26
|
+
if (typeof requestedTimeoutMs === 'number' && requestedTimeoutMs > timeoutMs) {
|
|
27
|
+
timeoutMs = requestedTimeoutMs;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
20
30
|
let timer;
|
|
21
31
|
try {
|
|
22
32
|
// Race between the tool and a timeout; clear the timer regardless of outcome
|
|
@@ -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;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,
|
|
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,CA6FN"}
|
|
@@ -635,9 +635,18 @@ export function createExecTool(processManager, options = {}) {
|
|
|
635
635
|
responseData.file_ops = fileOpResults;
|
|
636
636
|
if (fileOpWarnings && fileOpWarnings.length > 0)
|
|
637
637
|
responseData.warnings = fileOpWarnings;
|
|
638
|
+
// Populate a top-level error summary on failure so any consumer keying off
|
|
639
|
+
// `.error` alone (not just `.output`) still gets a coherent signal — the
|
|
640
|
+
// per-command diagnostics remain in `output` in full.
|
|
641
|
+
const failed = results.filter((r) => !r.success);
|
|
642
|
+
const errorSummary = failed.length > 0
|
|
643
|
+
? `${failed.length} of ${results.length} command(s) failed: `
|
|
644
|
+
+ failed.map((r) => `'${r.cmd}'${r.skipped ? ' (skipped)' : ` exit ${r.exit_code}${r.timed_out ? ' (timed out)' : ''}`}`).join('; ')
|
|
645
|
+
: undefined;
|
|
638
646
|
return {
|
|
639
647
|
success: allSuccess,
|
|
640
648
|
output: JSON.stringify(responseData),
|
|
649
|
+
...(errorSummary ? { error: errorSummary } : {}),
|
|
641
650
|
...(fileOpWarnings && fileOpWarnings.length > 0 ? { warnings: fileOpWarnings } : {}),
|
|
642
651
|
};
|
|
643
652
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/shared/overflow.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../../../src/platform/tools/shared/overflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -305,6 +305,20 @@ export function createSpillBackend(type = 'file', baseDir) {
|
|
|
305
305
|
throw new Error(`Unknown spill backend: ${String(type)}`);
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* headAndTail — keeps the first 20% and last 80% of `budget` characters from
|
|
310
|
+
* `content`, joined by a marker, instead of a head-only slice. The tail is
|
|
311
|
+
* weighted heavier because the most useful part of a long tool output (e.g.
|
|
312
|
+
* a failing test run's summary) is almost always at the end.
|
|
313
|
+
*/
|
|
314
|
+
function headAndTail(content, budget) {
|
|
315
|
+
const headChars = Math.floor(budget * 0.2);
|
|
316
|
+
const tailChars = budget - headChars;
|
|
317
|
+
const head = content.slice(0, headChars);
|
|
318
|
+
const tail = content.slice(-tailChars);
|
|
319
|
+
const skipped = content.length - headChars - tailChars;
|
|
320
|
+
return `${head}\n[... ${skipped} chars omitted ...]\n${tail}`;
|
|
321
|
+
}
|
|
308
322
|
// ─── OverflowHandler ────────────────────────────────────────────────────────
|
|
309
323
|
/**
|
|
310
324
|
* Handles large tool output by delegating overflow content to a pluggable
|
|
@@ -366,9 +380,14 @@ export class OverflowHandler {
|
|
|
366
380
|
logger.info(`[overflow] Backend write error: ${summarizeError(err)}`);
|
|
367
381
|
entry = null;
|
|
368
382
|
}
|
|
383
|
+
// Keep head + tail rather than head-only: test runners (bun test, vitest,
|
|
384
|
+
// jest) print their failure summary at the very end of output, so a
|
|
385
|
+
// head-only truncation silently drops the actually-informative part of a
|
|
386
|
+
// long failing run.
|
|
387
|
+
const kept = headAndTail(content, maxChars);
|
|
369
388
|
if (!entry) {
|
|
370
389
|
return {
|
|
371
|
-
content:
|
|
390
|
+
content: kept + `\n[... truncated at ${maxChars} chars]`,
|
|
372
391
|
};
|
|
373
392
|
}
|
|
374
393
|
const ref = this.buildRef(filename);
|
|
@@ -376,7 +395,7 @@ export class OverflowHandler {
|
|
|
376
395
|
? `Full output: ${ref.replace(/^file:/, '')}`
|
|
377
396
|
: `Spilled to ${this.backend.type} backend (ref: ${ref})`;
|
|
378
397
|
return {
|
|
379
|
-
content:
|
|
398
|
+
content: kept + `\n[... truncated. ${notice}]`,
|
|
380
399
|
overflowRef: ref,
|
|
381
400
|
spillBackend: this.backend.type,
|
|
382
401
|
};
|
|
@@ -79,6 +79,32 @@ export declare function isRateLimitOrQuotaError(err: unknown): boolean;
|
|
|
79
79
|
* Covers OpenAI, Anthropic, and generic provider error messages.
|
|
80
80
|
*/
|
|
81
81
|
export declare function isContextSizeExceededError(err: unknown): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Returns true when an error message (already reduced to a plain string, e.g. after
|
|
84
|
+
* having crossed an event-bus boundary) looks like a transient network/transport
|
|
85
|
+
* failure. This is a best-effort, message-only heuristic — prefer
|
|
86
|
+
* {@link isNetworkTransportError} whenever the original error object is still
|
|
87
|
+
* available, since it trusts the structured classification instead of guessing
|
|
88
|
+
* from text.
|
|
89
|
+
*/
|
|
90
|
+
export declare function isTransportFailureMessage(message: string): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Returns true when the error indicates a transient network/transport failure
|
|
93
|
+
* (as opposed to a programmer error or a permanent provider rejection).
|
|
94
|
+
*
|
|
95
|
+
* When the error is an `HttpStatusError` (e.g. produced by
|
|
96
|
+
* `createNetworkTransportError` in `@pellux/transport-http`), its structured
|
|
97
|
+
* `category`/`recoverable` fields are trusted directly rather than re-derived
|
|
98
|
+
* from the message text — that classification already accounts for TypeErrors,
|
|
99
|
+
* POSIX network errno codes, and undici `UND_ERR_*` codes. The `instanceof`
|
|
100
|
+
* check is branded (see HttpStatusError's Symbol.hasInstance), so a plain object
|
|
101
|
+
* that merely happens to carry `recoverable`/`category` properties will not be
|
|
102
|
+
* mistaken for one and trigger a false-positive retry.
|
|
103
|
+
*
|
|
104
|
+
* Falls back to {@link isTransportFailureMessage} for errors that are not an
|
|
105
|
+
* HttpStatusError instance.
|
|
106
|
+
*/
|
|
107
|
+
export declare function isNetworkTransportError(err: unknown): boolean;
|
|
82
108
|
/**
|
|
83
109
|
* Returns true when the error indicates the provider is non-transient
|
|
84
110
|
* (auth failures, connection refused, host not found, timeout).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/platform/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/platform/types/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GoodVibesSdkError, RETRYABLE_STATUS_CODES } from '@pellux/goodvibes-errors';
|
|
1
|
+
import { GoodVibesSdkError, HttpStatusError, RETRYABLE_STATUS_CODES } from '@pellux/goodvibes-errors';
|
|
2
2
|
/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
|
|
3
3
|
export { RETRYABLE_STATUS_CODES };
|
|
4
4
|
function inferErrorCategory(message, statusCode) {
|
|
@@ -219,6 +219,68 @@ export function isContextSizeExceededError(err) {
|
|
|
219
219
|
msg.includes('exceeds the model') ||
|
|
220
220
|
(msg.includes('context') && msg.includes('exceed')));
|
|
221
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Message substrings that indicate a transient network/transport failure when the
|
|
224
|
+
* error object itself carries no structured classification (e.g. a plain Error
|
|
225
|
+
* surfaced through a code path that doesn't go through transport-http). Kept
|
|
226
|
+
* narrow-ish but includes the bare "socket" and "closed unexpectedly" wording seen
|
|
227
|
+
* in practice for abrupt connection-closure failures that the older, stricter
|
|
228
|
+
* substring list did not recognize.
|
|
229
|
+
*/
|
|
230
|
+
const TRANSPORT_FAILURE_MESSAGE_PATTERNS = [
|
|
231
|
+
'fetch failed',
|
|
232
|
+
'econnrefused',
|
|
233
|
+
'enotfound',
|
|
234
|
+
'network error',
|
|
235
|
+
'network timeout',
|
|
236
|
+
'networkerror',
|
|
237
|
+
'econnreset',
|
|
238
|
+
'etimedout',
|
|
239
|
+
'socket hang up',
|
|
240
|
+
'dns',
|
|
241
|
+
'connection lost',
|
|
242
|
+
'epipe',
|
|
243
|
+
'ehostunreach',
|
|
244
|
+
'socket connection closure',
|
|
245
|
+
'closed unexpectedly',
|
|
246
|
+
'socket',
|
|
247
|
+
];
|
|
248
|
+
/**
|
|
249
|
+
* Returns true when an error message (already reduced to a plain string, e.g. after
|
|
250
|
+
* having crossed an event-bus boundary) looks like a transient network/transport
|
|
251
|
+
* failure. This is a best-effort, message-only heuristic — prefer
|
|
252
|
+
* {@link isNetworkTransportError} whenever the original error object is still
|
|
253
|
+
* available, since it trusts the structured classification instead of guessing
|
|
254
|
+
* from text.
|
|
255
|
+
*/
|
|
256
|
+
export function isTransportFailureMessage(message) {
|
|
257
|
+
const msg = message.toLowerCase();
|
|
258
|
+
return TRANSPORT_FAILURE_MESSAGE_PATTERNS.some((pattern) => msg.includes(pattern));
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Returns true when the error indicates a transient network/transport failure
|
|
262
|
+
* (as opposed to a programmer error or a permanent provider rejection).
|
|
263
|
+
*
|
|
264
|
+
* When the error is an `HttpStatusError` (e.g. produced by
|
|
265
|
+
* `createNetworkTransportError` in `@pellux/transport-http`), its structured
|
|
266
|
+
* `category`/`recoverable` fields are trusted directly rather than re-derived
|
|
267
|
+
* from the message text — that classification already accounts for TypeErrors,
|
|
268
|
+
* POSIX network errno codes, and undici `UND_ERR_*` codes. The `instanceof`
|
|
269
|
+
* check is branded (see HttpStatusError's Symbol.hasInstance), so a plain object
|
|
270
|
+
* that merely happens to carry `recoverable`/`category` properties will not be
|
|
271
|
+
* mistaken for one and trigger a false-positive retry.
|
|
272
|
+
*
|
|
273
|
+
* Falls back to {@link isTransportFailureMessage} for errors that are not an
|
|
274
|
+
* HttpStatusError instance.
|
|
275
|
+
*/
|
|
276
|
+
export function isNetworkTransportError(err) {
|
|
277
|
+
if (err instanceof HttpStatusError) {
|
|
278
|
+
return err.category === 'network' && err.recoverable === true;
|
|
279
|
+
}
|
|
280
|
+
if (!(err instanceof Error))
|
|
281
|
+
return false;
|
|
282
|
+
return isTransportFailureMessage(err.message);
|
|
283
|
+
}
|
|
222
284
|
/**
|
|
223
285
|
* Returns true when the error indicates the provider is non-transient
|
|
224
286
|
* (auth failures, connection refused, host not found, timeout).
|
|
@@ -24,7 +24,9 @@ export declare function isRetryableError(error: unknown): boolean;
|
|
|
24
24
|
*
|
|
25
25
|
* @param fn - Async function to execute.
|
|
26
26
|
* @param config - Optional overrides for retry behaviour.
|
|
27
|
-
* @param onRetry - Optional callback invoked before each retry.
|
|
27
|
+
* @param onRetry - Optional callback invoked before each retry. Argument order
|
|
28
|
+
* (attempt, maxAttempts, delayMs, error) matches `ChatRequest.onRetry` so
|
|
29
|
+
* providers can pass it straight through without an adapter.
|
|
28
30
|
*/
|
|
29
|
-
export declare function withRetry<T>(fn: () => Promise<T>, config?: Partial<RetryConfig>, onRetry?: (attempt: number,
|
|
31
|
+
export declare function withRetry<T>(fn: () => Promise<T>, config?: Partial<RetryConfig>, onRetry?: (attempt: number, maxAttempts: number, delayMs: number, error: Error) => void): Promise<T>;
|
|
30
32
|
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/retry.ts"],"names":[],"mappings":"AAKA,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAOzE;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAOjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAaxD;AASD
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/platform/utils/retry.ts"],"names":[],"mappings":"AAKA,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAOzE;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAOjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAaxD;AASD;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GACtF,OAAO,CAAC,CAAC,CAAC,CAyBZ"}
|
|
@@ -52,7 +52,9 @@ function computeDelay(attempt, initialDelayMs, maxDelayMs) {
|
|
|
52
52
|
*
|
|
53
53
|
* @param fn - Async function to execute.
|
|
54
54
|
* @param config - Optional overrides for retry behaviour.
|
|
55
|
-
* @param onRetry - Optional callback invoked before each retry.
|
|
55
|
+
* @param onRetry - Optional callback invoked before each retry. Argument order
|
|
56
|
+
* (attempt, maxAttempts, delayMs, error) matches `ChatRequest.onRetry` so
|
|
57
|
+
* providers can pass it straight through without an adapter.
|
|
56
58
|
*/
|
|
57
59
|
export async function withRetry(fn, config, onRetry) {
|
|
58
60
|
const cfg = { ...DEFAULT_CONFIG, ...config };
|
|
@@ -70,7 +72,7 @@ export async function withRetry(fn, config, onRetry) {
|
|
|
70
72
|
throw lastError;
|
|
71
73
|
}
|
|
72
74
|
const delayMs = computeDelay(attempt, cfg.initialDelayMs, cfg.maxDelayMs);
|
|
73
|
-
onRetry?.(attempt + 1,
|
|
75
|
+
onRetry?.(attempt + 1, cfg.maxRetries, delayMs, lastError);
|
|
74
76
|
await sleep(delayMs);
|
|
75
77
|
}
|
|
76
78
|
}
|
package/dist/platform/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.
|
|
3
|
+
let version = '0.36.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;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.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.
|
|
457
|
-
"@pellux/goodvibes-daemon-sdk": "0.
|
|
458
|
-
"@pellux/goodvibes-errors": "0.
|
|
459
|
-
"@pellux/goodvibes-operator-sdk": "0.
|
|
460
|
-
"@pellux/goodvibes-peer-sdk": "0.
|
|
461
|
-
"@pellux/goodvibes-transport-core": "0.
|
|
462
|
-
"@pellux/goodvibes-transport-http": "0.
|
|
463
|
-
"@pellux/goodvibes-transport-realtime": "0.
|
|
456
|
+
"@pellux/goodvibes-contracts": "0.36.0",
|
|
457
|
+
"@pellux/goodvibes-daemon-sdk": "0.36.0",
|
|
458
|
+
"@pellux/goodvibes-errors": "0.36.0",
|
|
459
|
+
"@pellux/goodvibes-operator-sdk": "0.36.0",
|
|
460
|
+
"@pellux/goodvibes-peer-sdk": "0.36.0",
|
|
461
|
+
"@pellux/goodvibes-transport-core": "0.36.0",
|
|
462
|
+
"@pellux/goodvibes-transport-http": "0.36.0",
|
|
463
|
+
"@pellux/goodvibes-transport-realtime": "0.36.0"
|
|
464
464
|
},
|
|
465
465
|
"optionalDependencies": {
|
|
466
466
|
"@agentclientprotocol/sdk": "^0.21.0",
|