@fabric-harness/client 2.1.2 → 2.2.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/NOTICE ADDED
@@ -0,0 +1,4 @@
1
+ Fabric Harness
2
+ Copyright 2026 Fabric
3
+
4
+ This product is licensed under the Apache License, Version 2.0.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Typed HTTP client for [Fabric Harness](https://github.com/Fabric-Pro/fabric-harness) servers.
4
4
 
5
- Agent interactions ride the durable submission lifecycle: `send` is fire-and-forget (202 + submission id + offset-addressed stream), `wait` polls the submission until it settles, `history`/`observe` read the conversation stream by offset (catch-up + live tail), `abort` records a durable abort, and `prompt` is the synchronous convenience. Jobs stay simple request/response.
5
+ Agent interactions ride the durable submission lifecycle: `send` is fire-and-forget (202 + submission id + offset-addressed stream), `wait` polls the submission until it settles, `history`/`observe` read the conversation stream by offset (catch-up + live tail), `abort` records a durable abort, and `prompt` is the synchronous convenience. Finite jobs support synchronous results and durable run receipts.
6
6
 
7
7
  ```bash
8
8
  npm install @fabric-harness/client
@@ -29,6 +29,16 @@ for await (const record of client.agents.observe({ agent: 'support', id: 'user-4
29
29
  const { result } = await client.agents.prompt({ agent: 'support', id: 'user-42', message: 'status?' });
30
30
  const jobResult = await client.jobs.invoke('daily-report', { day: '2026-07-08' });
31
31
 
32
+ // Durable finite run: admit, inspect/observe, and abort without a long HTTP request.
33
+ const run = await client.jobs.invoke(
34
+ 'daily-report',
35
+ { day: '2026-07-08' },
36
+ { wait: false, idempotencyKey: 'daily-report:2026-07-08' },
37
+ );
38
+ const status = await client.runs.get(run.runId);
39
+ for await (const event of client.runs.observe(run.runId)) console.log(event);
40
+ await client.runs.abort(run.runId);
41
+
32
42
  // Durable abort for everything unsettled on the instance session.
33
43
  await client.agents.abort({ agent: 'support', id: 'user-42' });
34
44
  ```
@@ -0,0 +1,36 @@
1
+ export interface DeploymentConformanceOptions {
2
+ target: 'node' | 'temporal' | 'cloudflare' | 'databricks-app' | string;
3
+ baseUrl: string;
4
+ headers?: Record<string, string>;
5
+ job?: {
6
+ name: string;
7
+ input?: unknown;
8
+ };
9
+ agent?: {
10
+ name: string;
11
+ instanceId?: string;
12
+ session?: string;
13
+ message?: string;
14
+ };
15
+ timeoutMs?: number;
16
+ fetch?: typeof globalThis.fetch;
17
+ }
18
+ export interface DeploymentConformanceCheck {
19
+ name: string;
20
+ status: 'passed' | 'failed';
21
+ durationMs: number;
22
+ detail?: string;
23
+ }
24
+ export interface DeploymentConformanceResult {
25
+ schemaVersion: 1;
26
+ target: string;
27
+ baseUrl: string;
28
+ startedAt: string;
29
+ completedAt: string;
30
+ passed: boolean;
31
+ checks: DeploymentConformanceCheck[];
32
+ }
33
+ /** One black-box HTTP contract for every Fabric Harness deployment target. */
34
+ export declare function runDeploymentConformance(options: DeploymentConformanceOptions): Promise<DeploymentConformanceResult>;
35
+ export declare function assertDeploymentConformance(options: DeploymentConformanceOptions): Promise<DeploymentConformanceResult>;
36
+ //# sourceMappingURL=conformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,MAAM,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAED,8EAA8E;AAC9E,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAyC1H;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAI7H"}
@@ -0,0 +1,81 @@
1
+ import { createFabricClient } from './index.js';
2
+ /** One black-box HTTP contract for every Fabric Harness deployment target. */
3
+ export async function runDeploymentConformance(options) {
4
+ const startedAt = new Date().toISOString();
5
+ const checks = [];
6
+ const fetchImpl = options.fetch ?? globalThis.fetch;
7
+ const baseUrl = options.baseUrl.replace(/\/+$/u, '');
8
+ const client = createFabricClient({ baseUrl, ...(options.headers ? { headers: options.headers } : {}), fetch: fetchImpl });
9
+ const timeoutMs = options.timeoutMs ?? 60_000;
10
+ const check = async (name, operation) => {
11
+ const started = Date.now();
12
+ try {
13
+ await operation();
14
+ checks.push({ name, status: 'passed', durationMs: Date.now() - started });
15
+ }
16
+ catch (error) {
17
+ checks.push({ name, status: 'failed', durationMs: Date.now() - started, detail: safeError(error) });
18
+ }
19
+ };
20
+ await check('health', async () => { await requireOk(fetchImpl, `${baseUrl}/health`, options.headers); });
21
+ await check('readiness', async () => {
22
+ const response = await requireOk(fetchImpl, `${baseUrl}/ready`, options.headers);
23
+ const body = await response.json();
24
+ if (body.ok !== true)
25
+ throw new Error('Target readiness body did not report ok=true.');
26
+ });
27
+ const job = options.job;
28
+ if (job) {
29
+ await check('finite-job-lifecycle', async () => {
30
+ const receipt = await client.jobs.invoke(job.name, job.input ?? {}, { wait: false, idempotencyKey: `conformance-${Date.now()}` });
31
+ const run = await poll(async () => client.runs.get(receipt.runId), (value) => ['completed', 'failed', 'aborted'].includes(value.status), timeoutMs);
32
+ if (run.status !== 'completed')
33
+ throw new Error(`Job run settled as ${run.status}.`);
34
+ const events = await client.runs.events(receipt.runId, { offset: '0', limit: 100 });
35
+ if (!Array.isArray(events.events) || typeof events.nextOffset !== 'string')
36
+ throw new Error('Run events do not satisfy the offset contract.');
37
+ });
38
+ }
39
+ const agentTarget = options.agent;
40
+ if (agentTarget) {
41
+ await check('persistent-agent-lifecycle', async () => {
42
+ const address = { agent: agentTarget.name, id: agentTarget.instanceId ?? `conformance-${Date.now()}`, ...(agentTarget.session ? { session: agentTarget.session } : {}) };
43
+ const receipt = await client.agents.send({ ...address, message: agentTarget.message ?? 'Reply with the word ready.' });
44
+ const settled = await client.agents.wait({ ...address, submissionId: receipt.submissionId }, { timeoutMs, pollIntervalMs: 50 });
45
+ if (settled.status !== 'settled' || settled.outcome !== 'completed')
46
+ throw new Error(`Agent submission settled as ${settled.status}/${settled.outcome ?? 'unknown'}.`);
47
+ const page = await client.agents.read({ ...address, offset: '0', limit: 100 });
48
+ if (!Array.isArray(page.batches) || typeof page.nextOffset !== 'string')
49
+ throw new Error('Conversation does not satisfy the offset contract.');
50
+ });
51
+ }
52
+ return { schemaVersion: 1, target: options.target, baseUrl, startedAt, completedAt: new Date().toISOString(), passed: checks.every((item) => item.status === 'passed'), checks };
53
+ }
54
+ export async function assertDeploymentConformance(options) {
55
+ const result = await runDeploymentConformance(options);
56
+ if (!result.passed)
57
+ throw new Error(`Deployment conformance failed for ${options.target}: ${result.checks.filter((check) => check.status === 'failed').map((check) => `${check.name}: ${check.detail}`).join('; ')}`);
58
+ return result;
59
+ }
60
+ async function requireOk(fetchImpl, url, headers) {
61
+ const response = await fetchImpl(url, { ...(headers ? { headers } : {}) });
62
+ if (!response.ok)
63
+ throw new Error(`${new URL(url).pathname} returned HTTP ${response.status}.`);
64
+ return response;
65
+ }
66
+ async function poll(read, terminal, timeoutMs) {
67
+ const deadline = Date.now() + timeoutMs;
68
+ while (true) {
69
+ const value = await read();
70
+ if (terminal(value))
71
+ return value;
72
+ if (Date.now() >= deadline)
73
+ throw new Error(`Timed out after ${timeoutMs}ms.`);
74
+ await new Promise((resolve) => setTimeout(resolve, 50));
75
+ }
76
+ }
77
+ function safeError(error) {
78
+ const message = error instanceof Error ? error.message : String(error);
79
+ return message.replace(/Bearer\s+\S+/giu, 'Bearer [REDACTED]').replace(/([?&](?:token|key|secret)=)[^&\s]+/giu, '$1[REDACTED]').slice(0, 500);
80
+ }
81
+ //# sourceMappingURL=conformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -66,10 +66,51 @@ export interface ObserveOptions {
66
66
  pollIntervalMs?: number;
67
67
  signal?: AbortSignal;
68
68
  }
69
+ export interface JobInvokeOptions {
70
+ /** Return immediately with a run receipt instead of waiting for output. */
71
+ wait: false;
72
+ idempotencyKey?: string;
73
+ parentRunId?: string;
74
+ }
75
+ export interface JobRunReceipt {
76
+ runId: string;
77
+ status: 'queued' | 'running' | 'completed' | 'failed' | 'aborted';
78
+ statusUrl: string;
79
+ eventsUrl: string;
80
+ deduped?: boolean;
81
+ }
82
+ export interface JobRun<TOutput = unknown> {
83
+ runId: string;
84
+ job: string;
85
+ status: 'queued' | 'running' | 'completed' | 'failed' | 'aborted';
86
+ createdAt: string;
87
+ updatedAt: string;
88
+ startedAt?: string;
89
+ completedAt?: string;
90
+ output?: TOutput;
91
+ error?: {
92
+ type: string;
93
+ message: string;
94
+ };
95
+ tenantId?: string;
96
+ parentRunId?: string;
97
+ }
98
+ export interface JobRunEventPage {
99
+ events: Array<Record<string, unknown>>;
100
+ nextOffset: string;
101
+ upToDate: boolean;
102
+ }
69
103
  export declare class FabricClientError extends Error {
70
104
  readonly status: number;
71
105
  readonly body: unknown;
72
- constructor(message: string, status: number, body: unknown);
106
+ readonly code?: string;
107
+ readonly retryable: boolean;
108
+ readonly details?: Record<string, unknown>;
109
+ constructor(message: string, status: number, body: unknown, options?: {
110
+ code?: string;
111
+ retryable?: boolean;
112
+ details?: Record<string, unknown>;
113
+ });
73
114
  }
74
115
  export interface FabricClient {
75
116
  agents: {
@@ -85,11 +126,11 @@ export interface FabricClient {
85
126
  submissionId?: string;
86
127
  }>;
87
128
  /** Current status of a submission; includes the outcome once settled. */
88
- status(request: Pick<AgentAddress, 'agent' | 'id'> & {
129
+ status(request: AgentAddress & {
89
130
  submissionId: string;
90
131
  }): Promise<SubmissionStatus>;
91
132
  /** Poll until the submission settles; resolves with its terminal status. */
92
- wait(request: Pick<AgentAddress, 'agent' | 'id'> & {
133
+ wait(request: AgentAddress & {
93
134
  submissionId: string;
94
135
  }, options?: WaitOptions): Promise<SubmissionStatus>;
95
136
  /** One offset-based page of the conversation stream. */
@@ -108,8 +149,25 @@ export interface FabricClient {
108
149
  };
109
150
  jobs: {
110
151
  /** Invoke a finite job and return its result. */
111
- invoke(name: string, payload?: unknown): Promise<unknown>;
152
+ invoke<TOutput = unknown>(name: string, payload?: unknown): Promise<TOutput>;
153
+ /** Admit a finite job and return a durable run receipt without waiting. */
154
+ invoke(name: string, payload: unknown, options: JobInvokeOptions): Promise<JobRunReceipt>;
155
+ };
156
+ runs: {
157
+ get<TOutput = unknown>(runId: string): Promise<JobRun<TOutput>>;
158
+ events(runId: string, options?: {
159
+ offset?: string;
160
+ limit?: number;
161
+ }): Promise<JobRunEventPage>;
162
+ observe(runId: string, options?: ObserveOptions): AsyncGenerator<Record<string, unknown>>;
163
+ abort(runId: string): Promise<{
164
+ runId: string;
165
+ aborted: boolean;
166
+ status: JobRun['status'];
167
+ }>;
112
168
  };
113
169
  }
114
170
  export declare function createFabricClient(options: FabricClientOptions): FabricClient;
171
+ export { assertDeploymentConformance, runDeploymentConformance } from './conformance.js';
172
+ export type { DeploymentConformanceCheck, DeploymentConformanceOptions, DeploymentConformanceResult } from './conformance.js';
115
173
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,22 +20,31 @@
20
20
  export class FabricClientError extends Error {
21
21
  status;
22
22
  body;
23
- constructor(message, status, body) {
23
+ code;
24
+ retryable;
25
+ details;
26
+ constructor(message, status, body, options = {}) {
24
27
  super(message);
25
28
  this.name = 'FabricClientError';
26
29
  this.status = status;
27
30
  this.body = body;
31
+ if (options.code !== undefined)
32
+ this.code = options.code;
33
+ this.retryable = options.retryable ?? false;
34
+ if (options.details !== undefined)
35
+ this.details = options.details;
28
36
  }
29
37
  }
30
38
  export function createFabricClient(options) {
31
39
  const baseUrl = options.baseUrl.replace(/\/+$/, '');
32
40
  const fetchImpl = options.fetch ?? fetch;
33
- async function request(method, path, body) {
41
+ async function request(method, path, body, headers) {
34
42
  const response = await fetchImpl(`${baseUrl}${path}`, {
35
43
  method,
36
44
  headers: {
37
45
  ...(body !== undefined ? { 'content-type': 'application/json' } : {}),
38
46
  ...options.headers,
47
+ ...headers,
39
48
  },
40
49
  ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
41
50
  });
@@ -48,12 +57,24 @@ export function createFabricClient(options) {
48
57
  parsed = text;
49
58
  }
50
59
  if (!response.ok) {
60
+ const envelope = parsed && typeof parsed === 'object' && 'error' in parsed && typeof parsed.error === 'object'
61
+ ? parsed.error
62
+ : undefined;
51
63
  const message = parsed && typeof parsed === 'object' && 'error' in parsed
52
64
  ? typeof parsed.error === 'string'
53
65
  ? (parsed.error)
54
66
  : (parsed.error.message ?? `HTTP ${response.status}`)
55
67
  : `HTTP ${response.status}`;
56
- throw new FabricClientError(message, response.status, parsed);
68
+ const errorOptions = {};
69
+ const code = typeof envelope?.code === 'string' ? envelope.code : typeof envelope?.type === 'string' ? envelope.type : undefined;
70
+ if (code !== undefined)
71
+ errorOptions.code = code;
72
+ if (typeof envelope?.retryable === 'boolean')
73
+ errorOptions.retryable = envelope.retryable;
74
+ if (envelope?.details && typeof envelope.details === 'object' && !Array.isArray(envelope.details)) {
75
+ errorOptions.details = envelope.details;
76
+ }
77
+ throw new FabricClientError(message, response.status, parsed, errorOptions);
57
78
  }
58
79
  return parsed;
59
80
  }
@@ -75,7 +96,10 @@ export function createFabricClient(options) {
75
96
  return request('GET', `${agentBase(address)}/conversation${query}`);
76
97
  }
77
98
  async function status(requestAddress) {
78
- return request('GET', `${agentBase(requestAddress)}/submissions/${encodeURIComponent(requestAddress.submissionId)}`);
99
+ const query = requestAddress.session
100
+ ? `?${new URLSearchParams({ session: requestAddress.session }).toString()}`
101
+ : '';
102
+ return request('GET', `${agentBase(requestAddress)}/submissions/${encodeURIComponent(requestAddress.submissionId)}${query}`);
79
103
  }
80
104
  const sleep = (ms, signal) => new Promise((resolve, reject) => {
81
105
  const timer = setTimeout(() => {
@@ -88,6 +112,16 @@ export function createFabricClient(options) {
88
112
  };
89
113
  signal?.addEventListener('abort', onAbort, { once: true });
90
114
  });
115
+ async function invokeJob(name, payload, invokeOptions) {
116
+ if (invokeOptions?.wait === false) {
117
+ return request('POST', `/jobs/${encodeURIComponent(name)}?wait=false`, payload ?? {}, {
118
+ ...(invokeOptions.idempotencyKey ? { 'idempotency-key': invokeOptions.idempotencyKey } : {}),
119
+ ...(invokeOptions.parentRunId ? { 'x-fabric-parent-run': invokeOptions.parentRunId } : {}),
120
+ });
121
+ }
122
+ const response = await request('POST', `/jobs/${encodeURIComponent(name)}`, payload ?? {});
123
+ return response.result;
124
+ }
91
125
  return {
92
126
  agents: {
93
127
  async send(sendRequest) {
@@ -162,11 +196,49 @@ export function createFabricClient(options) {
162
196
  },
163
197
  },
164
198
  jobs: {
165
- async invoke(name, payload) {
166
- const response = await request('POST', `/jobs/${encodeURIComponent(name)}`, payload ?? {});
167
- return response.result;
199
+ invoke: invokeJob,
200
+ },
201
+ runs: {
202
+ async get(runId) {
203
+ return request('GET', `/runs/${encodeURIComponent(runId)}`);
204
+ },
205
+ async events(runId, eventOptions = {}) {
206
+ const params = new URLSearchParams();
207
+ if (eventOptions.offset !== undefined)
208
+ params.set('offset', eventOptions.offset);
209
+ if (eventOptions.limit !== undefined)
210
+ params.set('limit', String(eventOptions.limit));
211
+ const query = params.size > 0 ? `?${params.toString()}` : '';
212
+ return request('GET', `/runs/${encodeURIComponent(runId)}/events${query}`);
213
+ },
214
+ async *observe(runId, observeOptions = {}) {
215
+ let offset = observeOptions.offset ?? '0';
216
+ const pollIntervalMs = observeOptions.pollIntervalMs ?? 500;
217
+ while (!observeOptions.signal?.aborted) {
218
+ const run = await request('GET', `/runs/${encodeURIComponent(runId)}`);
219
+ const terminal = ['completed', 'failed', 'aborted'].includes(run.status);
220
+ let page;
221
+ do {
222
+ page = await request('GET', `/runs/${encodeURIComponent(runId)}/events?offset=${encodeURIComponent(offset)}`);
223
+ for (const event of page.events)
224
+ yield event;
225
+ offset = page.nextOffset;
226
+ } while (!page.upToDate && !observeOptions.signal?.aborted);
227
+ if (terminal)
228
+ return;
229
+ try {
230
+ await sleep(pollIntervalMs, observeOptions.signal);
231
+ }
232
+ catch {
233
+ return;
234
+ }
235
+ }
236
+ },
237
+ async abort(runId) {
238
+ return request('POST', `/runs/${encodeURIComponent(runId)}/abort`, {});
168
239
  },
169
240
  },
170
241
  };
171
242
  }
243
+ export { assertDeploymentConformance, runDeploymentConformance } from './conformance.js';
172
244
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fabric-harness/client",
3
- "version": "2.1.2",
3
+ "version": "2.2.0",
4
4
  "description": "Typed HTTP client for Fabric Harness servers: send durable agent submissions, observe conversations by offset, wait for settlements, invoke jobs.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Fabric",
@@ -27,20 +27,22 @@
27
27
  },
28
28
  "publishConfig": {
29
29
  "registry": "https://registry.npmjs.org",
30
- "access": "public"
30
+ "access": "public",
31
+ "provenance": false
31
32
  },
32
33
  "main": "dist/index.js",
33
34
  "types": "dist/index.d.ts",
34
35
  "files": [
35
36
  "dist",
36
37
  "README.md",
37
- "LICENSE"
38
+ "LICENSE",
39
+ "NOTICE"
38
40
  ],
39
41
  "dependencies": {
40
- "@fabric-harness/sdk": "^2.1.2"
42
+ "@fabric-harness/sdk": "^2.2.0"
41
43
  },
42
44
  "devDependencies": {
43
- "@fabric-harness/node": "^2.1.2",
45
+ "@fabric-harness/node": "^2.2.0",
44
46
  "@types/node": "^22.15.3",
45
47
  "typescript": "^5.8.3",
46
48
  "vitest": "^4.1.5"