@fabric-harness/temporal 0.16.1 → 0.16.2
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/client.js +2 -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/worker.d.ts.map +1 -1
- package/dist/worker.js +13 -3
- package/dist/worker.js.map +1 -1
- package/package.json +8 -8
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/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 {
|
|
@@ -140,7 +140,7 @@ export async function createTemporalClient(options = {}) {
|
|
|
140
140
|
const resolved = resolveTemporalConnectionConfig({ workflowIdPrefix: 'fabric-session', promptWorkflowMode: 'coarse', ...options });
|
|
141
141
|
if (options.mode === 'mock')
|
|
142
142
|
return new MockTemporalClientHandle({ sessionId: `${resolved.workflowIdPrefix}-mock` });
|
|
143
|
-
const connection = await Connection.connect(createTemporalClientConnectionOptions(resolved));
|
|
143
|
+
const connection = await connectTemporalWithRetry(() => Connection.connect(createTemporalClientConnectionOptions(resolved)));
|
|
144
144
|
const client = new Client({ connection, namespace: resolved.namespace });
|
|
145
145
|
return new RealTemporalClientHandle(client, connection, {
|
|
146
146
|
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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"}
|
package/dist/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AAElF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoC5G"}
|
package/dist/worker.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
1
2
|
import { NativeConnection, Worker } from '@temporalio/worker';
|
|
2
|
-
import { createTemporalWorkerConnectionOptions, resolveTemporalConnectionConfig } from './connection.js';
|
|
3
|
+
import { connectTemporalWithRetry, createTemporalWorkerConnectionOptions, resolveTemporalConnectionConfig } from './connection.js';
|
|
3
4
|
export async function startTemporalWorker(options = {}) {
|
|
4
5
|
if (options.mode === 'mock') {
|
|
5
6
|
return {
|
|
@@ -11,9 +12,9 @@ export async function startTemporalWorker(options = {}) {
|
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
const resolved = resolveTemporalConnectionConfig(options);
|
|
14
|
-
const connection = await NativeConnection.connect(createTemporalWorkerConnectionOptions(resolved));
|
|
15
|
+
const connection = await connectTemporalWithRetry(() => NativeConnection.connect(createTemporalWorkerConnectionOptions(resolved)));
|
|
15
16
|
const taskQueue = resolved.taskQueue;
|
|
16
|
-
const workflowsPath = options.workflowsPath ??
|
|
17
|
+
const workflowsPath = options.workflowsPath ?? resolveDefaultWorkflowsPath();
|
|
17
18
|
const workerOptions = {
|
|
18
19
|
connection,
|
|
19
20
|
namespace: resolved.namespace,
|
|
@@ -36,4 +37,13 @@ export async function startTemporalWorker(options = {}) {
|
|
|
36
37
|
},
|
|
37
38
|
};
|
|
38
39
|
}
|
|
40
|
+
function resolveDefaultWorkflowsPath() {
|
|
41
|
+
const compiledPath = new URL('./workflow.js', import.meta.url).pathname;
|
|
42
|
+
if (existsSync(compiledPath))
|
|
43
|
+
return compiledPath;
|
|
44
|
+
const sourcePath = new URL('./workflow.ts', import.meta.url).pathname;
|
|
45
|
+
if (existsSync(sourcePath))
|
|
46
|
+
return sourcePath;
|
|
47
|
+
return compiledPath;
|
|
48
|
+
}
|
|
39
49
|
//# sourceMappingURL=worker.js.map
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,qCAAqC,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,qCAAqC,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAWnI,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAiC,EAAE;IAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,KAAK;gBACT,QAAQ;YACV,CAAC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnI,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACrC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,2BAA2B,EAAE,CAAC;IAC7E,MAAM,aAAa,GAAkB;QACnC,UAAU;QACV,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS;QACT,aAAa;KACd,CAAC;IACF,IAAI,OAAO,CAAC,UAAU;QAAE,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAoB,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAExE,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,SAAS;QACT,MAAM;QACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,KAAK;YACT,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzC,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B;IAClC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACxE,IAAI,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,YAAY,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACtE,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fabric-harness/temporal",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.2",
|
|
4
4
|
"description": "Temporal.io durable workflow runtime adapter for Fabric Harness.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Fabric",
|
|
@@ -41,6 +41,12 @@
|
|
|
41
41
|
"README.md",
|
|
42
42
|
"LICENSE"
|
|
43
43
|
],
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsc -p tsconfig.json",
|
|
46
|
+
"check": "tsc -b tsconfig.json",
|
|
47
|
+
"test": "vitest run",
|
|
48
|
+
"test:watch": "vitest"
|
|
49
|
+
},
|
|
44
50
|
"dependencies": {
|
|
45
51
|
"@fabric-harness/sdk": "^1.12.1",
|
|
46
52
|
"@temporalio/client": "^1.17.0",
|
|
@@ -49,11 +55,5 @@
|
|
|
49
55
|
},
|
|
50
56
|
"devDependencies": {
|
|
51
57
|
"vitest": "^4.1.5"
|
|
52
|
-
},
|
|
53
|
-
"scripts": {
|
|
54
|
-
"build": "tsc -p tsconfig.json",
|
|
55
|
-
"check": "tsc -b tsconfig.json",
|
|
56
|
-
"test": "vitest run",
|
|
57
|
-
"test:watch": "vitest"
|
|
58
58
|
}
|
|
59
|
-
}
|
|
59
|
+
}
|