@fabric-harness/temporal 0.16.1 → 0.18.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 +17 -1
- package/dist/activities.d.ts +16 -1
- package/dist/activities.d.ts.map +1 -1
- package/dist/activities.js +11 -0
- package/dist/activities.js.map +1 -1
- package/dist/agent.d.ts +86 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +216 -0
- package/dist/agent.js.map +1 -0
- package/dist/client.d.ts +2 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -2
- package/dist/client.js.map +1 -1
- package/dist/connection.d.ts +6 -0
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +28 -0
- package/dist/connection.js.map +1 -1
- package/dist/dispatch.d.ts +27 -0
- package/dist/dispatch.d.ts.map +1 -0
- package/dist/dispatch.js +39 -0
- package/dist/dispatch.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/local-activities.d.ts.map +1 -1
- package/dist/local-activities.js +3 -0
- package/dist/local-activities.js.map +1 -1
- package/dist/mock-client.d.ts +18 -0
- package/dist/mock-client.d.ts.map +1 -0
- package/dist/mock-client.js +20 -0
- package/dist/mock-client.js.map +1 -0
- package/dist/mock-provider.d.ts +10 -0
- package/dist/mock-provider.d.ts.map +1 -0
- package/dist/mock-provider.js +16 -0
- package/dist/mock-provider.js.map +1 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +13 -3
- package/dist/worker.js.map +1 -1
- package/dist/workflow.d.ts +13 -1
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +54 -25
- package/dist/workflow.js.map +1 -1
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
Run agents as Temporal workflows. The agent code is unchanged — the runtime swaps. Sessions survive crashes, restarts, and human approval delays via Temporal's durable execution.
|
|
6
6
|
|
|
7
|
+
Status: **production-pilot ready for controlled deployments** after validating against your Temporal namespace. Main CI covers mock/unit paths, and the scheduled/manual live workflow now runs a real Temporal gRPC readiness probe plus end-to-end workflow smoke against `temporalio/auto-setup`.
|
|
8
|
+
|
|
7
9
|
## Install
|
|
8
10
|
|
|
9
11
|
```sh
|
|
@@ -15,7 +17,7 @@ npm install @fabric-harness/temporal @fabric-harness/sdk
|
|
|
15
17
|
### Direct API (recommended)
|
|
16
18
|
|
|
17
19
|
Wire the Temporal runtime directly into `init()` via `sessionRuntime`. Each
|
|
18
|
-
`prompt`/`task`/`shell`/`checkpoint` call routes through Temporal workflows:
|
|
20
|
+
`prompt`/`skill`/`task`/`shell`/`checkpoint` call routes through Temporal workflows:
|
|
19
21
|
|
|
20
22
|
```ts
|
|
21
23
|
import { init } from '@fabric-harness/sdk';
|
|
@@ -51,6 +53,20 @@ Run a worker:
|
|
|
51
53
|
fh temporal-worker --task-queue fabric-harness --address localhost:7233
|
|
52
54
|
```
|
|
53
55
|
|
|
56
|
+
## Parity and operating model
|
|
57
|
+
|
|
58
|
+
| Capability | Temporal path |
|
|
59
|
+
| --- | --- |
|
|
60
|
+
| `session.prompt()` / `session.skill()` | Durable workflow request with model/tool activities |
|
|
61
|
+
| `session.task()` | Durable task request; child-workflow shape where configured |
|
|
62
|
+
| `session.shell()` | Shell activity through the selected sandbox |
|
|
63
|
+
| Checkpoint create/restore | Activity-backed when the sandbox reports support |
|
|
64
|
+
| Approvals | Workflow waits on approval signals; no worker thread is held |
|
|
65
|
+
| Cancellation/retry | Temporal cancellation and activity retry semantics, propagated where provider APIs support them |
|
|
66
|
+
| Worker restart | Workflow state survives; idempotency keys avoid duplicated side effects |
|
|
67
|
+
|
|
68
|
+
Unsupported inline-only features should fail explicitly rather than silently degrading.
|
|
69
|
+
|
|
54
70
|
For tests and CI without a Temporal cluster, this package also exports a mock runtime:
|
|
55
71
|
|
|
56
72
|
```ts
|
package/dist/activities.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CheckpointResult, JsonObject, ModelMessage, SessionEntry, SessionEntryType, ShellResult } from '@fabric-harness/sdk';
|
|
1
|
+
import type { CheckpointResult, DispatchInput, DispatchProcessor, JsonObject, ModelMessage, SessionEntry, SessionEntryType, ShellResult } from '@fabric-harness/sdk';
|
|
2
2
|
import type { ActivityIdempotency, ExecuteToolActivityInput, ExecuteToolActivityResult, ModelGenerateActivityInput, ModelGenerateActivityResult, PromptWorkflowInput, PromptWorkflowResult, SessionRuntime, SessionRuntimeCheckpointCreateInput, SessionRuntimeCheckpointRestoreInput, SessionRuntimeShellInput, SnapshotRef } from './types.js';
|
|
3
3
|
export interface AppendSessionEntryActivityInput {
|
|
4
4
|
sessionId: string;
|
|
@@ -14,6 +14,8 @@ export interface AppendSessionEventActivityInput {
|
|
|
14
14
|
type: string;
|
|
15
15
|
data?: JsonObject;
|
|
16
16
|
idempotency: ActivityIdempotency;
|
|
17
|
+
/** Sequential event index for append-only enforcement within a workflow run. */
|
|
18
|
+
eventIndex?: number;
|
|
17
19
|
}
|
|
18
20
|
export interface LoadSessionActivityInput {
|
|
19
21
|
sessionId: string;
|
|
@@ -89,4 +91,17 @@ export declare function createTemporalSessionRuntimeActivities(options: CreateTe
|
|
|
89
91
|
export declare function requireIdempotency(input: {
|
|
90
92
|
idempotency?: ActivityIdempotency;
|
|
91
93
|
}, activityName: string): ActivityIdempotency;
|
|
94
|
+
/** Activity that durably applies a dispatched input to a persistent instance. */
|
|
95
|
+
export interface TemporalDispatchActivities {
|
|
96
|
+
processDispatch(input: DispatchInput): Promise<void>;
|
|
97
|
+
}
|
|
98
|
+
export interface CreateTemporalDispatchActivitiesOptions {
|
|
99
|
+
/** The host's dispatch processor (e.g. node's `createPersistentDispatchProcessor`). */
|
|
100
|
+
processor: DispatchProcessor;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Wrap a {@link DispatchProcessor} as a Temporal activity. The processor is
|
|
104
|
+
* idempotent by `dispatchId`, so Temporal retries are safe.
|
|
105
|
+
*/
|
|
106
|
+
export declare function createTemporalDispatchActivities(options: CreateTemporalDispatchActivitiesOptions): TemporalDispatchActivities;
|
|
92
107
|
//# sourceMappingURL=activities.d.ts.map
|
package/dist/activities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../src/activities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../src/activities.ts"],"names":[],"mappings":"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"}
|
package/dist/activities.js
CHANGED
|
@@ -38,4 +38,15 @@ export function requireIdempotency(input, activityName) {
|
|
|
38
38
|
throw new Error(`${activityName} requires an idempotency key.`);
|
|
39
39
|
return input.idempotency;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Wrap a {@link DispatchProcessor} as a Temporal activity. The processor is
|
|
43
|
+
* idempotent by `dispatchId`, so Temporal retries are safe.
|
|
44
|
+
*/
|
|
45
|
+
export function createTemporalDispatchActivities(options) {
|
|
46
|
+
return {
|
|
47
|
+
async processDispatch(input) {
|
|
48
|
+
await options.processor.process(input);
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
41
52
|
//# sourceMappingURL=activities.js.map
|
package/dist/activities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../src/activities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../src/activities.ts"],"names":[],"mappings":"AAyHA,MAAM,UAAU,sCAAsC,CAAC,OAAsD;IAC3G,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,KAAK;YACnB,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChH,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;YAC/F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC,KAAK;YAC7B,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,KAAK;YAC9B,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,KAAK;YAClB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA4C,EAAE,YAAoB;IACnG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,+BAA+B,CAAC,CAAC;IACxG,OAAO,KAAK,CAAC,WAAW,CAAC;AAC3B,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAC9C,OAAgD;IAEhD,OAAO;QACL,KAAK,CAAC,eAAe,CAAC,KAAK;YACzB,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/agent.d.ts
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { AgentProfile, AgentTriggers, DefinedAgent, JsonObject, ModelProvider, SandboxBackend, Schema, Skill, ToolDef } from '@fabric-harness/sdk';
|
|
2
|
+
import type { CapabilityPolicy, CostLimit, ApprovalOptions } from '@fabric-harness/sdk';
|
|
3
|
+
import type { TemporalClientHandle } from './client.js';
|
|
4
|
+
export interface TemporalBundleConfig {
|
|
5
|
+
/** Temporal frontend address, e.g. `localhost:7233`. */
|
|
6
|
+
address?: string;
|
|
7
|
+
/** Task queue name. */
|
|
8
|
+
taskQueue?: string;
|
|
9
|
+
/** Temporal namespace. */
|
|
10
|
+
namespace?: string;
|
|
11
|
+
/** Default model name for the returned model provider. */
|
|
12
|
+
model?: string;
|
|
13
|
+
/** Optional workflow ID prefix. */
|
|
14
|
+
workflowIdPrefix?: string;
|
|
15
|
+
/** Optional prompt workflow mode. */
|
|
16
|
+
promptWorkflowMode?: 'coarse' | 'hybrid';
|
|
17
|
+
/** Optional API key for Temporal Cloud. */
|
|
18
|
+
apiKey?: string;
|
|
19
|
+
/** Optional TLS configuration. */
|
|
20
|
+
tls?: {
|
|
21
|
+
enabled?: boolean;
|
|
22
|
+
serverNameOverride?: string;
|
|
23
|
+
serverRootCACertificate?: string;
|
|
24
|
+
serverRootCACertificatePath?: string;
|
|
25
|
+
clientCert?: string;
|
|
26
|
+
clientKey?: string;
|
|
27
|
+
clientCertPath?: string;
|
|
28
|
+
clientKeyPath?: string;
|
|
29
|
+
};
|
|
30
|
+
/** Extra tools to include in the bundle. */
|
|
31
|
+
tools?: ToolDef[];
|
|
32
|
+
/** Optional session store. */
|
|
33
|
+
store?: import('@fabric-harness/sdk').SessionStore;
|
|
34
|
+
}
|
|
35
|
+
export interface TemporalBundle {
|
|
36
|
+
modelProvider: ModelProvider;
|
|
37
|
+
tools: ToolDef[];
|
|
38
|
+
policy: import('@fabric-harness/sdk').CapabilityPolicy;
|
|
39
|
+
store?: import('@fabric-harness/sdk').SessionStore;
|
|
40
|
+
client: TemporalClientHandle;
|
|
41
|
+
}
|
|
42
|
+
export interface TemporalAgentOptions {
|
|
43
|
+
name?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
instructions?: string;
|
|
46
|
+
input?: Schema<JsonObject>;
|
|
47
|
+
output?: Schema<unknown>;
|
|
48
|
+
model?: string;
|
|
49
|
+
skills?: Skill[];
|
|
50
|
+
tools?: ToolDef[] | string[];
|
|
51
|
+
sandbox?: SandboxBackend;
|
|
52
|
+
modelProvider?: ModelProvider;
|
|
53
|
+
triggers?: AgentTriggers;
|
|
54
|
+
target?: 'node' | 'temporal-worker';
|
|
55
|
+
/** Required Temporal bundle configuration. */
|
|
56
|
+
temporal: TemporalBundleConfig;
|
|
57
|
+
profile?: AgentProfile;
|
|
58
|
+
policy?: CapabilityPolicy;
|
|
59
|
+
costBudget?: CostLimit;
|
|
60
|
+
approvals?: ApprovalOptions;
|
|
61
|
+
}
|
|
62
|
+
export interface DefineTemporalAgentOptions {
|
|
63
|
+
name?: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
instructions?: string;
|
|
66
|
+
input?: Schema<JsonObject>;
|
|
67
|
+
output?: Schema<unknown>;
|
|
68
|
+
model?: string;
|
|
69
|
+
skills?: Skill[];
|
|
70
|
+
tools?: ToolDef[] | string[];
|
|
71
|
+
sandbox?: SandboxBackend;
|
|
72
|
+
modelProvider?: ModelProvider;
|
|
73
|
+
triggers?: AgentTriggers;
|
|
74
|
+
target?: 'node' | 'temporal-worker';
|
|
75
|
+
/** Optional Temporal bundle configuration (for env-driven usage). */
|
|
76
|
+
temporal?: TemporalBundleConfig;
|
|
77
|
+
profile?: AgentProfile;
|
|
78
|
+
policy?: CapabilityPolicy;
|
|
79
|
+
costBudget?: CostLimit;
|
|
80
|
+
approvals?: ApprovalOptions;
|
|
81
|
+
}
|
|
82
|
+
export declare function temporalAgent(options: TemporalAgentOptions): DefinedAgent<JsonObject, unknown>;
|
|
83
|
+
export declare function defineTemporalAgent(options?: DefineTemporalAgentOptions): DefinedAgent<JsonObject, unknown>;
|
|
84
|
+
export declare function resolveToolRefs(bundle: TemporalBundle, refs: string[]): ToolDef[];
|
|
85
|
+
export declare function temporal(config: TemporalBundleConfig): Promise<TemporalBundle>;
|
|
86
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAiB,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxL,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIxF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACzC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,OAAO,qBAAqB,EAAE,YAAY,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,qBAAqB,EAAE,gBAAgB,CAAC;IACvD,KAAK,CAAC,EAAE,OAAO,qBAAqB,EAAE,YAAY,CAAC;IACnD,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACpC,8CAA8C;IAC9C,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACpC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AA0GD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAE9F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAqD3G;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAgBjF;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiCpF"}
|
package/dist/agent.js
ADDED
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { agent } from '@fabric-harness/sdk/strict';
|
|
2
|
+
import { MockTemporalModelProvider } from './mock-provider.js';
|
|
3
|
+
import { MockTemporalClient } from './mock-client.js';
|
|
4
|
+
import { createTemporalClient } from './client.js';
|
|
5
|
+
function resolveTools(bundle, tools) {
|
|
6
|
+
if (!tools)
|
|
7
|
+
return [];
|
|
8
|
+
const stringTools = tools.filter((t) => typeof t === 'string');
|
|
9
|
+
const toolDefs = tools.filter((t) => typeof t !== 'string');
|
|
10
|
+
if (stringTools.length > 0) {
|
|
11
|
+
const resolved = resolveToolRefs(bundle, stringTools);
|
|
12
|
+
return [...resolved, ...toolDefs];
|
|
13
|
+
}
|
|
14
|
+
return toolDefs;
|
|
15
|
+
}
|
|
16
|
+
function mergeProfile(options) {
|
|
17
|
+
const profile = options?.profile;
|
|
18
|
+
if (!profile)
|
|
19
|
+
return {};
|
|
20
|
+
return {
|
|
21
|
+
...(profile.name !== undefined ? { name: profile.name } : {}),
|
|
22
|
+
...(profile.description !== undefined ? { description: profile.description } : {}),
|
|
23
|
+
...(profile.instructions !== undefined ? { instructions: profile.instructions } : {}),
|
|
24
|
+
...(profile.model !== undefined ? { model: profile.model } : {}),
|
|
25
|
+
...(profile.skills !== undefined ? { skills: profile.skills } : {}),
|
|
26
|
+
...(profile.tools !== undefined ? { tools: profile.tools } : {}),
|
|
27
|
+
...(profile.policy !== undefined ? { policy: profile.policy } : {}),
|
|
28
|
+
...(profile.costBudget !== undefined ? { costBudget: profile.costBudget } : {}),
|
|
29
|
+
...(profile.approvals !== undefined ? { approvals: profile.approvals } : {}),
|
|
30
|
+
...(profile.sandbox !== undefined ? { sandbox: profile.sandbox } : {}),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function mergeOptions(options) {
|
|
34
|
+
const profile = mergeProfile(options);
|
|
35
|
+
return {
|
|
36
|
+
...profile,
|
|
37
|
+
...options,
|
|
38
|
+
...(profile.skills || options.skills ? { skills: [...(profile.skills ?? []), ...(options.skills ?? [])] } : {}),
|
|
39
|
+
...(profile.tools || options.tools ? { tools: [...(profile.tools ?? []), ...(options.tools ?? [])] } : {}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Shared run body for both `temporalAgent` and `defineTemporalAgent`. Threads the bundle's
|
|
44
|
+
* model provider through by default — env-driven agents get the default provider unless
|
|
45
|
+
* an explicit provider is supplied (or `--mock` overrides it upstream).
|
|
46
|
+
*/
|
|
47
|
+
async function runWithBundle(context, bundle, options) {
|
|
48
|
+
const extraTools = resolveTools(bundle, options.tools);
|
|
49
|
+
const agent = await context.init({
|
|
50
|
+
modelProvider: options.modelProvider ?? bundle.modelProvider,
|
|
51
|
+
tools: [...bundle.tools, ...extraTools],
|
|
52
|
+
policy: bundle.policy,
|
|
53
|
+
...(bundle.store ? { store: bundle.store } : {}),
|
|
54
|
+
...(options.skills ? { skills: options.skills } : {}),
|
|
55
|
+
...(options.sandbox ? { sandbox: options.sandbox } : {}),
|
|
56
|
+
});
|
|
57
|
+
const session = await agent.session();
|
|
58
|
+
const question = context.input?.question ?? 'What would you like to know?';
|
|
59
|
+
return session.prompt(question);
|
|
60
|
+
}
|
|
61
|
+
function buildAgentDefinition(options) {
|
|
62
|
+
const merged = mergeOptions(options);
|
|
63
|
+
// Capture the bundle promise lazily so we don't block module load.
|
|
64
|
+
const bundlePromise = temporal(merged.temporal);
|
|
65
|
+
const def = {
|
|
66
|
+
run: async (context) => {
|
|
67
|
+
const bundle = await bundlePromise;
|
|
68
|
+
return runWithBundle(context, bundle, {
|
|
69
|
+
...(merged.modelProvider ? { modelProvider: merged.modelProvider } : {}),
|
|
70
|
+
...(merged.tools ? { tools: merged.tools } : {}),
|
|
71
|
+
...(merged.skills ? { skills: merged.skills } : {}),
|
|
72
|
+
...(merged.sandbox ? { sandbox: merged.sandbox } : {}),
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
if (merged.name !== undefined)
|
|
77
|
+
def.name = merged.name;
|
|
78
|
+
if (merged.description !== undefined)
|
|
79
|
+
def.description = merged.description;
|
|
80
|
+
if (merged.instructions !== undefined)
|
|
81
|
+
def.instructions = merged.instructions;
|
|
82
|
+
if (merged.input !== undefined)
|
|
83
|
+
def.input = merged.input;
|
|
84
|
+
if (merged.output !== undefined)
|
|
85
|
+
def.output = merged.output;
|
|
86
|
+
if (merged.model !== undefined)
|
|
87
|
+
def.model = merged.model;
|
|
88
|
+
if (merged.target !== undefined)
|
|
89
|
+
def.target = merged.target;
|
|
90
|
+
if (merged.skills !== undefined)
|
|
91
|
+
def.skills = merged.skills;
|
|
92
|
+
if (merged.triggers !== undefined)
|
|
93
|
+
def.triggers = merged.triggers;
|
|
94
|
+
if (merged.policy !== undefined)
|
|
95
|
+
def.policy = merged.policy;
|
|
96
|
+
if (merged.costBudget !== undefined)
|
|
97
|
+
def.costBudget = merged.costBudget;
|
|
98
|
+
if (merged.approvals !== undefined)
|
|
99
|
+
def.approvals = merged.approvals;
|
|
100
|
+
return def;
|
|
101
|
+
}
|
|
102
|
+
export function temporalAgent(options) {
|
|
103
|
+
return agent(buildAgentDefinition(options));
|
|
104
|
+
}
|
|
105
|
+
export function defineTemporalAgent(options) {
|
|
106
|
+
const merged = options ? mergeOptions(options) : {};
|
|
107
|
+
const def = {
|
|
108
|
+
run: async (context) => {
|
|
109
|
+
// If explicit temporal config is provided, use it directly
|
|
110
|
+
if (merged.temporal) {
|
|
111
|
+
const bundle = await temporal(merged.temporal);
|
|
112
|
+
return runWithBundle(context, bundle, {
|
|
113
|
+
...(merged.modelProvider ? { modelProvider: merged.modelProvider } : {}),
|
|
114
|
+
...(merged.tools ? { tools: merged.tools } : {}),
|
|
115
|
+
...(merged.skills ? { skills: merged.skills } : {}),
|
|
116
|
+
...(merged.sandbox ? { sandbox: merged.sandbox } : {}),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
// Otherwise, read from env (or use a dummy config in mock mode)
|
|
120
|
+
const env = context.env ?? {};
|
|
121
|
+
const address = env.TEMPORAL_ADDRESS;
|
|
122
|
+
if (!address && env.FABRIC_MOCK !== '1') {
|
|
123
|
+
throw new Error('Missing TEMPORAL_ADDRESS environment variable. Set it or pass an explicit temporal config.');
|
|
124
|
+
}
|
|
125
|
+
const config = {
|
|
126
|
+
address: address ?? 'mock-temporal-address:7233',
|
|
127
|
+
...(env.TEMPORAL_TASK_QUEUE ? { taskQueue: env.TEMPORAL_TASK_QUEUE } : {}),
|
|
128
|
+
...(env.TEMPORAL_NAMESPACE ? { namespace: env.TEMPORAL_NAMESPACE } : {}),
|
|
129
|
+
...(env.TEMPORAL_MODEL ? { model: env.TEMPORAL_MODEL } : {}),
|
|
130
|
+
};
|
|
131
|
+
const bundle = await temporal(config);
|
|
132
|
+
return runWithBundle(context, bundle, {
|
|
133
|
+
...(merged.modelProvider ? { modelProvider: merged.modelProvider } : {}),
|
|
134
|
+
...(merged.tools ? { tools: merged.tools } : {}),
|
|
135
|
+
...(merged.skills ? { skills: merged.skills } : {}),
|
|
136
|
+
...(merged.sandbox ? { sandbox: merged.sandbox } : {}),
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
if (merged.name !== undefined)
|
|
141
|
+
def.name = merged.name;
|
|
142
|
+
if (merged.description !== undefined)
|
|
143
|
+
def.description = merged.description;
|
|
144
|
+
if (merged.instructions !== undefined)
|
|
145
|
+
def.instructions = merged.instructions;
|
|
146
|
+
if (merged.input !== undefined)
|
|
147
|
+
def.input = merged.input;
|
|
148
|
+
if (merged.output !== undefined)
|
|
149
|
+
def.output = merged.output;
|
|
150
|
+
if (merged.model !== undefined)
|
|
151
|
+
def.model = merged.model;
|
|
152
|
+
if (merged.target !== undefined)
|
|
153
|
+
def.target = merged.target;
|
|
154
|
+
if (merged.skills !== undefined)
|
|
155
|
+
def.skills = merged.skills;
|
|
156
|
+
if (merged.triggers !== undefined)
|
|
157
|
+
def.triggers = merged.triggers;
|
|
158
|
+
if (merged.policy !== undefined)
|
|
159
|
+
def.policy = merged.policy;
|
|
160
|
+
if (merged.costBudget !== undefined)
|
|
161
|
+
def.costBudget = merged.costBudget;
|
|
162
|
+
if (merged.approvals !== undefined)
|
|
163
|
+
def.approvals = merged.approvals;
|
|
164
|
+
return agent(def);
|
|
165
|
+
}
|
|
166
|
+
export function resolveToolRefs(bundle, refs) {
|
|
167
|
+
const toolMap = new Map();
|
|
168
|
+
for (const tool of bundle.tools) {
|
|
169
|
+
toolMap.set(tool.name, tool);
|
|
170
|
+
}
|
|
171
|
+
const result = [];
|
|
172
|
+
for (const ref of refs) {
|
|
173
|
+
const tool = toolMap.get(ref);
|
|
174
|
+
if (!tool) {
|
|
175
|
+
const available = [...toolMap.keys()].join(', ');
|
|
176
|
+
throw new Error(`Unknown tool reference "${ref}". Available tools: ${available}`);
|
|
177
|
+
}
|
|
178
|
+
result.push(tool);
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
}
|
|
182
|
+
export async function temporal(config) {
|
|
183
|
+
const isMock = typeof process !== 'undefined' && process.env?.FABRIC_MOCK === '1';
|
|
184
|
+
const modelProvider = isMock
|
|
185
|
+
? new MockTemporalModelProvider()
|
|
186
|
+
: resolveModelProvider(config.model);
|
|
187
|
+
const tools = config.tools ?? [];
|
|
188
|
+
const policy = {
|
|
189
|
+
network: { mode: 'none' },
|
|
190
|
+
toolPolicy: { allow: tools.map((t) => t.name) },
|
|
191
|
+
};
|
|
192
|
+
const client = isMock
|
|
193
|
+
? new MockTemporalClient({ sessionId: 'mock-temporal-session' })
|
|
194
|
+
: await createTemporalClient({
|
|
195
|
+
address: config.address,
|
|
196
|
+
namespace: config.namespace,
|
|
197
|
+
taskQueue: config.taskQueue,
|
|
198
|
+
workflowIdPrefix: config.workflowIdPrefix,
|
|
199
|
+
promptWorkflowMode: config.promptWorkflowMode,
|
|
200
|
+
apiKey: config.apiKey,
|
|
201
|
+
tls: config.tls,
|
|
202
|
+
});
|
|
203
|
+
return {
|
|
204
|
+
modelProvider,
|
|
205
|
+
tools,
|
|
206
|
+
policy,
|
|
207
|
+
...(config.store ? { store: config.store } : {}),
|
|
208
|
+
client,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
function resolveModelProvider(model) {
|
|
212
|
+
// In a real implementation, this would resolve from registered providers.
|
|
213
|
+
// For now, fall back to the mock provider as a safe default.
|
|
214
|
+
return new MockTemporalModelProvider();
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { sessionWorkflow } from './workflow.js';
|
|
|
4
4
|
import type { SessionRuntime, SessionRuntimeCheckpointCreateInput, SessionRuntimeCheckpointRestoreInput, SessionRuntimePromptInput, SessionRuntimeShellInput, SessionRuntimeTaskInput, TemporalClientOptions, TemporalSignalClient, TemporalSessionWorkflowInput } from './types.js';
|
|
5
5
|
export interface TemporalClientHandle extends TemporalSignalClient {
|
|
6
6
|
readonly mode: 'mock' | 'temporal';
|
|
7
|
-
readonly client
|
|
8
|
-
readonly namespace
|
|
7
|
+
readonly client: import('@temporalio/client').Client | undefined;
|
|
8
|
+
readonly namespace: string | undefined;
|
|
9
9
|
startSession(input: TemporalSessionWorkflowInput): Promise<WorkflowHandle<typeof sessionWorkflow>>;
|
|
10
10
|
createSessionRuntime(sessionId: string): SessionRuntime;
|
|
11
11
|
close(): Promise<void>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAc,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EASL,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAIV,cAAc,EACd,mCAAmC,EACnC,oCAAoC,EACpC,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAE7B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,QAAQ,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAc,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EASL,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAIV,cAAc,EACd,mCAAmC,EACnC,oCAAoC,EACpC,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAE7B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,YAAY,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;IACnG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC;IACxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,qBAAa,sBAAuB,YAAW,cAAc;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,kBAAkB,GAAG,oBAAoB,CAAC,CAAC;IAGpH,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBrF,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBvF,gBAAgB,CAAC,KAAK,EAAE,mCAAmC;IAS3D,iBAAiB,CAAC,KAAK,EAAE,oCAAoC;IAS7D,KAAK,CAAC,KAAK,EAAE,wBAAwB;CAQtC;AA0ED,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAY7G;AAED,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { Client, Connection } from '@temporalio/client';
|
|
3
|
-
import { createTemporalClientConnectionOptions, resolveTemporalConnectionConfig } from './connection.js';
|
|
3
|
+
import { connectTemporalWithRetry, createTemporalClientConnectionOptions, resolveTemporalConnectionConfig } from './connection.js';
|
|
4
4
|
import { MockTemporalRuntime, createMockTemporalRuntime } from './mock-runtime.js';
|
|
5
5
|
import { APPROVAL_SIGNAL, CHECKPOINT_CREATE_WORKFLOW_NAME, CHECKPOINT_RESTORE_WORKFLOW_NAME, HYBRID_PROMPT_WORKFLOW_NAME, PROMPT_WORKFLOW_NAME, SESSION_STATE_QUERY, SHELL_WORKFLOW_NAME, TASK_WORKFLOW_NAME, sessionWorkflow, } from './workflow.js';
|
|
6
6
|
export class TemporalSessionRuntime {
|
|
@@ -126,6 +126,8 @@ class RealTemporalClientHandle {
|
|
|
126
126
|
}
|
|
127
127
|
class MockTemporalClientHandle extends MockTemporalRuntime {
|
|
128
128
|
mode = 'mock';
|
|
129
|
+
client = undefined;
|
|
130
|
+
namespace = 'mock-namespace';
|
|
129
131
|
async startSession(input) {
|
|
130
132
|
return { workflowId: input.sessionId };
|
|
131
133
|
}
|
|
@@ -140,7 +142,7 @@ export async function createTemporalClient(options = {}) {
|
|
|
140
142
|
const resolved = resolveTemporalConnectionConfig({ workflowIdPrefix: 'fabric-session', promptWorkflowMode: 'coarse', ...options });
|
|
141
143
|
if (options.mode === 'mock')
|
|
142
144
|
return new MockTemporalClientHandle({ sessionId: `${resolved.workflowIdPrefix}-mock` });
|
|
143
|
-
const connection = await Connection.connect(createTemporalClientConnectionOptions(resolved));
|
|
145
|
+
const connection = await connectTemporalWithRetry(() => Connection.connect(createTemporalClientConnectionOptions(resolved)));
|
|
144
146
|
const client = new Client({ connection, namespace: resolved.namespace });
|
|
145
147
|
return new RealTemporalClientHandle(client, connection, {
|
|
146
148
|
namespace: resolved.namespace,
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAuB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,qCAAqC,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/connection.d.ts
CHANGED
|
@@ -14,7 +14,13 @@ export interface ResolvedTemporalConnectionConfig extends TemporalConnectionConf
|
|
|
14
14
|
workflowIdPrefix: string;
|
|
15
15
|
promptWorkflowMode: 'coarse' | 'hybrid';
|
|
16
16
|
}
|
|
17
|
+
export interface TemporalConnectRetryOptions {
|
|
18
|
+
attempts?: number;
|
|
19
|
+
initialDelayMs?: number;
|
|
20
|
+
maxDelayMs?: number;
|
|
21
|
+
}
|
|
17
22
|
export declare function resolveTemporalConnectionConfig(options?: TemporalConnectionConfig): ResolvedTemporalConnectionConfig;
|
|
18
23
|
export declare function createTemporalClientConnectionOptions(config?: TemporalConnectionConfig): ConnectionOptions;
|
|
19
24
|
export declare function createTemporalWorkerConnectionOptions(config?: TemporalConnectionConfig): NativeConnectionOptions;
|
|
25
|
+
export declare function connectTemporalWithRetry<T>(connect: () => Promise<T>, options?: TemporalConnectRetryOptions): Promise<T>;
|
|
20
26
|
//# sourceMappingURL=connection.d.ts.map
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,kGAAkG;AAClG,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,+BAA+B;AAC/B,eAAO,MAAM,2BAA2B,mBAAmB,CAAC;AAC5D,yBAAyB;AACzB,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACzC;AAED,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,wBAA6B,GAAG,gCAAgC,CAkBxH;AAED,wBAAgB,qCAAqC,CAAC,MAAM,GAAE,wBAA6B,GAAG,iBAAiB,CAK9G;AAED,wBAAgB,qCAAqC,CAAC,MAAM,GAAE,wBAA6B,GAAG,uBAAuB,CAKpH"}
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,kGAAkG;AAClG,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,+BAA+B;AAC/B,eAAO,MAAM,2BAA2B,mBAAmB,CAAC;AAC5D,yBAAyB;AACzB,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACzC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,wBAA6B,GAAG,gCAAgC,CAkBxH;AAED,wBAAgB,qCAAqC,CAAC,MAAM,GAAE,wBAA6B,GAAG,iBAAiB,CAK9G;AAED,wBAAgB,qCAAqC,CAAC,MAAM,GAAE,wBAA6B,GAAG,uBAAuB,CAKpH;AAmCD,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBlI"}
|
package/dist/connection.js
CHANGED
|
@@ -69,6 +69,24 @@ function buildTlsConfig(config, includeSystemRoots) {
|
|
|
69
69
|
tlsConfig.serverRootCACertificate = Buffer.from(tls.rootCertificates.join('\n'));
|
|
70
70
|
return tlsConfig;
|
|
71
71
|
}
|
|
72
|
+
export async function connectTemporalWithRetry(connect, options = {}) {
|
|
73
|
+
const attempts = options.attempts ?? readPositiveIntegerEnv('FABRIC_TEMPORAL_CONNECT_ATTEMPTS', 6);
|
|
74
|
+
const initialDelayMs = options.initialDelayMs ?? readPositiveIntegerEnv('FABRIC_TEMPORAL_CONNECT_INITIAL_DELAY_MS', 250);
|
|
75
|
+
const maxDelayMs = options.maxDelayMs ?? readPositiveIntegerEnv('FABRIC_TEMPORAL_CONNECT_MAX_DELAY_MS', 2_000);
|
|
76
|
+
let lastError;
|
|
77
|
+
for (let attempt = 1; attempt <= attempts; attempt += 1) {
|
|
78
|
+
try {
|
|
79
|
+
return await connect();
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
lastError = error;
|
|
83
|
+
if (attempt === attempts)
|
|
84
|
+
break;
|
|
85
|
+
await delay(Math.min(maxDelayMs, initialDelayMs * 2 ** (attempt - 1)));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
throw lastError;
|
|
89
|
+
}
|
|
72
90
|
function readOptionalFileOrEnv(path, value) {
|
|
73
91
|
if (value)
|
|
74
92
|
return value;
|
|
@@ -76,4 +94,14 @@ function readOptionalFileOrEnv(path, value) {
|
|
|
76
94
|
return undefined;
|
|
77
95
|
return readFileSync(path, 'utf8');
|
|
78
96
|
}
|
|
97
|
+
function readPositiveIntegerEnv(name, fallback) {
|
|
98
|
+
const raw = process.env[name];
|
|
99
|
+
if (!raw)
|
|
100
|
+
return fallback;
|
|
101
|
+
const parsed = Number.parseInt(raw, 10);
|
|
102
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
103
|
+
}
|
|
104
|
+
function delay(ms) {
|
|
105
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
106
|
+
}
|
|
79
107
|
//# sourceMappingURL=connection.js.map
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAKhC,kGAAkG;AAClG,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AACzD,+BAA+B;AAC/B,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;AAC5D,yBAAyB;AACzB,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|