@fabric-harness/temporal 0.15.0 → 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 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,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,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"}
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 ?? new URL('./workflow.js', import.meta.url).pathname;
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
@@ -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;AAWzG,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,gBAAgB,CAAC,OAAO,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnG,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACrC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAClG,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"}
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.15.0",
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,19 +41,19 @@
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": {
51
+ "@fabric-harness/sdk": "^1.12.1",
45
52
  "@temporalio/client": "^1.17.0",
46
53
  "@temporalio/worker": "^1.17.0",
47
- "@temporalio/workflow": "^1.17.0",
48
- "@fabric-harness/sdk": "1.1.0"
54
+ "@temporalio/workflow": "^1.17.0"
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
+ }