@treeseed/treedx 0.2.43 → 0.3.0-rc.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 +1 -1
- package/dist/treedx/adapters/{federation-internal.d.ts → federation/federation-internal.d.ts} +1 -1
- package/dist/treedx/adapters/{federation-internal.js → federation/federation-internal.js} +1 -1
- package/dist/treedx/adapters/{federation.d.ts → federation/federation.d.ts} +1 -1
- package/dist/treedx/adapters/{federation.js → federation/federation.js} +1 -1
- package/dist/treedx/adapters/{mirrors.d.ts → federation/mirrors.d.ts} +1 -1
- package/dist/treedx/adapters/{mirrors.js → federation/mirrors.js} +1 -1
- package/dist/treedx/adapters/{registry.d.ts → federation/registry.d.ts} +1 -1
- package/dist/treedx/adapters/{registry.js → federation/registry.js} +1 -1
- package/dist/treedx/adapters/{repositories.d.ts → federation/repositories.d.ts} +1 -1
- package/dist/treedx/adapters/{repositories.js → federation/repositories.js} +1 -1
- package/dist/treedx/adapters/{workspaces.d.ts → federation/workspaces.d.ts} +1 -1
- package/dist/treedx/adapters/{workspaces.js → federation/workspaces.js} +1 -1
- package/dist/treedx/adapters/{admin.d.ts → governance/admin.d.ts} +1 -1
- package/dist/treedx/adapters/{admin.js → governance/admin.js} +1 -1
- package/dist/treedx/adapters/{audit.d.ts → governance/audit.d.ts} +1 -1
- package/dist/treedx/adapters/{audit.js → governance/audit.js} +1 -1
- package/dist/treedx/adapters/{policy.d.ts → governance/policy.d.ts} +1 -1
- package/dist/treedx/adapters/{policy.js → governance/policy.js} +1 -1
- package/dist/treedx/adapters/index.d.ts +21 -21
- package/dist/treedx/adapters/index.js +21 -21
- package/dist/treedx/adapters/{context.d.ts → knowledge/context.d.ts} +1 -1
- package/dist/treedx/adapters/{context.js → knowledge/context.js} +1 -1
- package/dist/treedx/adapters/{graph.d.ts → knowledge/graph.d.ts} +1 -1
- package/dist/treedx/adapters/{graph.js → knowledge/graph.js} +1 -1
- package/dist/treedx/adapters/{query.d.ts → knowledge/query.d.ts} +1 -1
- package/dist/treedx/adapters/{query.js → knowledge/query.js} +1 -1
- package/dist/treedx/adapters/{search-index.d.ts → knowledge/search-index.d.ts} +1 -1
- package/dist/treedx/adapters/{search-index.js → knowledge/search-index.js} +1 -1
- package/dist/treedx/adapters/{common.d.ts → runtime/common.d.ts} +1 -1
- package/dist/treedx/adapters/{artifacts.d.ts → storage/artifacts.d.ts} +1 -1
- package/dist/treedx/adapters/{artifacts.js → storage/artifacts.js} +1 -1
- package/dist/treedx/adapters/{blobs.d.ts → storage/blobs.d.ts} +2 -2
- package/dist/treedx/adapters/{blobs.js → storage/blobs.js} +1 -1
- package/dist/treedx/adapters/{files.d.ts → storage/files.d.ts} +2 -1
- package/dist/treedx/adapters/{files.js → storage/files.js} +2 -1
- package/dist/treedx/adapters/{migrations.d.ts → storage/migrations.d.ts} +1 -1
- package/dist/treedx/adapters/{migrations.js → storage/migrations.js} +1 -1
- package/dist/treedx/adapters/{snapshots.d.ts → storage/snapshots.d.ts} +1 -1
- package/dist/treedx/adapters/{snapshots.js → storage/snapshots.js} +1 -1
- package/dist/treedx/client/TreeDxClient.d.ts +5 -0
- package/dist/treedx/client/TreeDxClient.js +13 -1
- package/dist/treedx/client/errors.d.ts +1 -0
- package/dist/treedx/client/errors.js +8 -0
- package/dist/treedx/client/transport.d.ts +1 -0
- package/dist/treedx/client/transport.js +28 -1
- package/dist/treedx/generated/openapi-types.d.ts +260 -1
- package/dist/treedx/generated/openapi-types.js +120 -114
- package/dist/treedx/index.d.ts +1 -0
- package/dist/treedx/index.js +1 -0
- package/dist/treedx/openapi/contract.d.ts +10 -0
- package/dist/treedx/openapi/contract.js +11 -0
- package/dist/treedx/openapi/index.d.ts +1 -0
- package/dist/treedx/openapi/index.js +1 -0
- package/dist/treedx/ports/{federation-internal-port.d.ts → federation/federation-internal-port.d.ts} +1 -1
- package/dist/treedx/ports/federation/federation-port.d.ts +2 -0
- package/dist/treedx/ports/federation/mirror-port.d.ts +2 -0
- package/dist/treedx/ports/federation/registry-port.d.ts +2 -0
- package/dist/treedx/ports/federation/repository-port.d.ts +2 -0
- package/dist/treedx/ports/federation/workspace-port.d.ts +2 -0
- package/dist/treedx/ports/governance/admin-port.d.ts +1 -0
- package/dist/treedx/ports/governance/audit-port.d.ts +1 -0
- package/dist/treedx/ports/governance/policy-port.d.ts +1 -0
- package/dist/treedx/ports/index.d.ts +21 -21
- package/dist/treedx/ports/index.js +21 -21
- package/dist/treedx/ports/knowledge/context-port.d.ts +2 -0
- package/dist/treedx/ports/knowledge/graph-port.d.ts +2 -0
- package/dist/treedx/ports/knowledge/query-port.d.ts +2 -0
- package/dist/treedx/ports/knowledge/search-index-port.d.ts +1 -0
- package/dist/treedx/ports/runtime/auth-provider.d.ts +1 -0
- package/dist/treedx/ports/runtime/exec-port.d.ts +2 -0
- package/dist/treedx/ports/{transport.d.ts → runtime/transport.d.ts} +1 -1
- package/dist/treedx/ports/storage/artifact-port.d.ts +2 -0
- package/dist/treedx/ports/storage/blob-port.d.ts +2 -0
- package/dist/treedx/ports/storage/file-port.d.ts +2 -0
- package/dist/treedx/ports/storage/migration-port.d.ts +2 -0
- package/dist/treedx/ports/storage/snapshot-port.d.ts +2 -0
- package/dist/treedx/types/index.d.ts +6 -0
- package/openapi-contract.json +10 -0
- package/openapi.yaml +6827 -0
- package/package.json +10 -2
- package/sdk-manifest.yaml +2 -2
- package/dist/treedx/ports/admin-port.d.ts +0 -1
- package/dist/treedx/ports/artifact-port.d.ts +0 -2
- package/dist/treedx/ports/audit-port.d.ts +0 -1
- package/dist/treedx/ports/auth-provider.d.ts +0 -1
- package/dist/treedx/ports/blob-port.d.ts +0 -2
- package/dist/treedx/ports/context-port.d.ts +0 -2
- package/dist/treedx/ports/exec-port.d.ts +0 -2
- package/dist/treedx/ports/federation-port.d.ts +0 -2
- package/dist/treedx/ports/file-port.d.ts +0 -2
- package/dist/treedx/ports/graph-port.d.ts +0 -2
- package/dist/treedx/ports/migration-port.d.ts +0 -2
- package/dist/treedx/ports/mirror-port.d.ts +0 -2
- package/dist/treedx/ports/policy-port.d.ts +0 -1
- package/dist/treedx/ports/query-port.d.ts +0 -2
- package/dist/treedx/ports/registry-port.d.ts +0 -2
- package/dist/treedx/ports/repository-port.d.ts +0 -2
- package/dist/treedx/ports/search-index-port.d.ts +0 -1
- package/dist/treedx/ports/snapshot-port.d.ts +0 -2
- package/dist/treedx/ports/workspace-port.d.ts +0 -2
- /package/dist/treedx/adapters/{common.js → runtime/common.js} +0 -0
- /package/dist/treedx/adapters/{exec.d.ts → runtime/exec.d.ts} +0 -0
- /package/dist/treedx/adapters/{exec.js → runtime/exec.js} +0 -0
- /package/dist/treedx/adapters/{observability.d.ts → runtime/observability.d.ts} +0 -0
- /package/dist/treedx/adapters/{observability.js → runtime/observability.js} +0 -0
- /package/dist/treedx/ports/{federation-internal-port.js → federation/federation-internal-port.js} +0 -0
- /package/dist/treedx/ports/{federation-port.js → federation/federation-port.js} +0 -0
- /package/dist/treedx/ports/{mirror-port.js → federation/mirror-port.js} +0 -0
- /package/dist/treedx/ports/{registry-port.js → federation/registry-port.js} +0 -0
- /package/dist/treedx/ports/{repository-port.js → federation/repository-port.js} +0 -0
- /package/dist/treedx/ports/{workspace-port.js → federation/workspace-port.js} +0 -0
- /package/dist/treedx/ports/{admin-port.js → governance/admin-port.js} +0 -0
- /package/dist/treedx/ports/{audit-port.js → governance/audit-port.js} +0 -0
- /package/dist/treedx/ports/{policy-port.js → governance/policy-port.js} +0 -0
- /package/dist/treedx/ports/{context-port.js → knowledge/context-port.js} +0 -0
- /package/dist/treedx/ports/{graph-port.js → knowledge/graph-port.js} +0 -0
- /package/dist/treedx/ports/{query-port.js → knowledge/query-port.js} +0 -0
- /package/dist/treedx/ports/{search-index-port.js → knowledge/search-index-port.js} +0 -0
- /package/dist/treedx/ports/{auth-provider.js → runtime/auth-provider.js} +0 -0
- /package/dist/treedx/ports/{exec-port.js → runtime/exec-port.js} +0 -0
- /package/dist/treedx/ports/{transport.js → runtime/transport.js} +0 -0
- /package/dist/treedx/ports/{artifact-port.js → storage/artifact-port.js} +0 -0
- /package/dist/treedx/ports/{blob-port.js → storage/blob-port.js} +0 -0
- /package/dist/treedx/ports/{file-port.js → storage/file-port.js} +0 -0
- /package/dist/treedx/ports/{migration-port.js → storage/migration-port.js} +0 -0
- /package/dist/treedx/ports/{snapshot-port.js → storage/snapshot-port.js} +0 -0
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ does not encode TreeSeed product semantics. `packages/trsd-sdk` is a downstream
|
|
|
6
6
|
TreeSeed consumer/reference only.
|
|
7
7
|
|
|
8
8
|
The current `sdk-manifest.yaml` reports modules, capabilities, and test roots as
|
|
9
|
-
`implemented`. The SDK exposes all
|
|
9
|
+
`implemented`. The SDK exposes all 118 `/api/v1` OpenAPI operations through
|
|
10
10
|
first-class module methods and a validated raw operation fallback.
|
|
11
11
|
|
|
12
12
|
## Install
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export * from './common.js';
|
|
2
|
-
export * from './repositories.js';
|
|
3
|
-
export * from './workspaces.js';
|
|
4
|
-
export * from './files.js';
|
|
5
|
-
export * from './blobs.js';
|
|
6
|
-
export * from './query.js';
|
|
7
|
-
export * from './graph.js';
|
|
8
|
-
export * from './context.js';
|
|
9
|
-
export * from './federation.js';
|
|
10
|
-
export * from './registry.js';
|
|
11
|
-
export * from './snapshots.js';
|
|
12
|
-
export * from './artifacts.js';
|
|
13
|
-
export * from './mirrors.js';
|
|
14
|
-
export * from './migrations.js';
|
|
15
|
-
export * from './exec.js';
|
|
16
|
-
export * from './observability.js';
|
|
17
|
-
export * from './admin.js';
|
|
18
|
-
export * from './audit.js';
|
|
19
|
-
export * from './policy.js';
|
|
20
|
-
export * from './search-index.js';
|
|
21
|
-
export * from './federation-internal.js';
|
|
1
|
+
export * from './runtime/common.js';
|
|
2
|
+
export * from './federation/repositories.js';
|
|
3
|
+
export * from './federation/workspaces.js';
|
|
4
|
+
export * from './storage/files.js';
|
|
5
|
+
export * from './storage/blobs.js';
|
|
6
|
+
export * from './knowledge/query.js';
|
|
7
|
+
export * from './knowledge/graph.js';
|
|
8
|
+
export * from './knowledge/context.js';
|
|
9
|
+
export * from './federation/federation.js';
|
|
10
|
+
export * from './federation/registry.js';
|
|
11
|
+
export * from './storage/snapshots.js';
|
|
12
|
+
export * from './storage/artifacts.js';
|
|
13
|
+
export * from './federation/mirrors.js';
|
|
14
|
+
export * from './storage/migrations.js';
|
|
15
|
+
export * from './runtime/exec.js';
|
|
16
|
+
export * from './runtime/observability.js';
|
|
17
|
+
export * from './governance/admin.js';
|
|
18
|
+
export * from './governance/audit.js';
|
|
19
|
+
export * from './governance/policy.js';
|
|
20
|
+
export * from './knowledge/search-index.js';
|
|
21
|
+
export * from './federation/federation-internal.js';
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export * from './common.js';
|
|
2
|
-
export * from './repositories.js';
|
|
3
|
-
export * from './workspaces.js';
|
|
4
|
-
export * from './files.js';
|
|
5
|
-
export * from './blobs.js';
|
|
6
|
-
export * from './query.js';
|
|
7
|
-
export * from './graph.js';
|
|
8
|
-
export * from './context.js';
|
|
9
|
-
export * from './federation.js';
|
|
10
|
-
export * from './registry.js';
|
|
11
|
-
export * from './snapshots.js';
|
|
12
|
-
export * from './artifacts.js';
|
|
13
|
-
export * from './mirrors.js';
|
|
14
|
-
export * from './migrations.js';
|
|
15
|
-
export * from './exec.js';
|
|
16
|
-
export * from './observability.js';
|
|
17
|
-
export * from './admin.js';
|
|
18
|
-
export * from './audit.js';
|
|
19
|
-
export * from './policy.js';
|
|
20
|
-
export * from './search-index.js';
|
|
21
|
-
export * from './federation-internal.js';
|
|
1
|
+
export * from './runtime/common.js';
|
|
2
|
+
export * from './federation/repositories.js';
|
|
3
|
+
export * from './federation/workspaces.js';
|
|
4
|
+
export * from './storage/files.js';
|
|
5
|
+
export * from './storage/blobs.js';
|
|
6
|
+
export * from './knowledge/query.js';
|
|
7
|
+
export * from './knowledge/graph.js';
|
|
8
|
+
export * from './knowledge/context.js';
|
|
9
|
+
export * from './federation/federation.js';
|
|
10
|
+
export * from './federation/registry.js';
|
|
11
|
+
export * from './storage/snapshots.js';
|
|
12
|
+
export * from './storage/artifacts.js';
|
|
13
|
+
export * from './federation/mirrors.js';
|
|
14
|
+
export * from './storage/migrations.js';
|
|
15
|
+
export * from './runtime/exec.js';
|
|
16
|
+
export * from './runtime/observability.js';
|
|
17
|
+
export * from './governance/admin.js';
|
|
18
|
+
export * from './governance/audit.js';
|
|
19
|
+
export * from './governance/policy.js';
|
|
20
|
+
export * from './knowledge/search-index.js';
|
|
21
|
+
export * from './federation/federation-internal.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type TreeDxAdapterContext } from '
|
|
2
|
-
import type { BinaryBody } from '
|
|
1
|
+
import { type TreeDxAdapterContext } from '../runtime/common.js';
|
|
2
|
+
import type { BinaryBody } from '../../types/index.js';
|
|
3
3
|
export declare class BlobsAdapter {
|
|
4
4
|
private readonly context;
|
|
5
5
|
constructor(context: TreeDxAdapterContext);
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { type TreeDxAdapterContext } from '
|
|
1
|
+
import { type TreeDxAdapterContext } from '../runtime/common.js';
|
|
2
2
|
export declare class FilesAdapter {
|
|
3
3
|
private readonly context;
|
|
4
4
|
constructor(context: TreeDxAdapterContext);
|
|
5
5
|
tree(workspaceId: string, query?: Record<string, string | number | boolean | undefined>): Promise<unknown>;
|
|
6
6
|
read(workspaceId: string, query?: Record<string, string | number | boolean | undefined>): Promise<unknown>;
|
|
7
7
|
write(workspaceId: string, input: unknown): Promise<unknown>;
|
|
8
|
+
changeset(workspaceId: string, input: unknown): Promise<unknown>;
|
|
8
9
|
patch(workspaceId: string, input: unknown): Promise<unknown>;
|
|
9
10
|
delete(workspaceId: string, query?: Record<string, string | number | boolean | undefined>): Promise<unknown>;
|
|
10
11
|
search(workspaceId: string, input: unknown): Promise<unknown>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsonRequest, segment } from '
|
|
1
|
+
import { jsonRequest, segment } from '../runtime/common.js';
|
|
2
2
|
export class FilesAdapter {
|
|
3
3
|
context;
|
|
4
4
|
constructor(context) {
|
|
@@ -7,6 +7,7 @@ export class FilesAdapter {
|
|
|
7
7
|
tree(workspaceId, query) { return jsonRequest(this.context.transport, 'GET', `/api/v1/workspaces/${segment(workspaceId)}/tree`, undefined, query); }
|
|
8
8
|
read(workspaceId, query) { return jsonRequest(this.context.transport, 'GET', `/api/v1/workspaces/${segment(workspaceId)}/files`, undefined, query); }
|
|
9
9
|
write(workspaceId, input) { return jsonRequest(this.context.transport, 'PUT', `/api/v1/workspaces/${segment(workspaceId)}/files`, input); }
|
|
10
|
+
changeset(workspaceId, input) { return jsonRequest(this.context.transport, 'POST', `/api/v1/workspaces/${segment(workspaceId)}/changesets`, input); }
|
|
10
11
|
patch(workspaceId, input) { return jsonRequest(this.context.transport, 'PATCH', `/api/v1/workspaces/${segment(workspaceId)}/files`, input); }
|
|
11
12
|
delete(workspaceId, query) { return jsonRequest(this.context.transport, 'DELETE', `/api/v1/workspaces/${segment(workspaceId)}/files`, undefined, query); }
|
|
12
13
|
search(workspaceId, input) { return jsonRequest(this.context.transport, 'POST', `/api/v1/workspaces/${segment(workspaceId)}/search`, input); }
|
|
@@ -37,5 +37,10 @@ export declare class TreeDxClient {
|
|
|
37
37
|
body?: unknown;
|
|
38
38
|
binaryBody?: BinaryBody;
|
|
39
39
|
headers?: Record<string, string>;
|
|
40
|
+
signal?: AbortSignal;
|
|
41
|
+
timeoutMs?: number;
|
|
42
|
+
requestId?: string;
|
|
43
|
+
traceparent?: string;
|
|
44
|
+
idempotencyKey?: string;
|
|
40
45
|
}): Promise<T>;
|
|
41
46
|
}
|
|
@@ -78,6 +78,18 @@ export class TreeDxClient {
|
|
|
78
78
|
}
|
|
79
79
|
return encodeURIComponent(String(value));
|
|
80
80
|
});
|
|
81
|
-
return this.transport.request({
|
|
81
|
+
return this.transport.request({
|
|
82
|
+
method,
|
|
83
|
+
path: resolvedPath,
|
|
84
|
+
query: options.query,
|
|
85
|
+
body: options.body,
|
|
86
|
+
binaryBody: options.binaryBody,
|
|
87
|
+
headers: options.headers,
|
|
88
|
+
signal: options.signal,
|
|
89
|
+
timeoutMs: options.timeoutMs,
|
|
90
|
+
requestId: options.requestId,
|
|
91
|
+
traceparent: options.traceparent,
|
|
92
|
+
idempotencyKey: options.idempotencyKey
|
|
93
|
+
}).then((response) => response.data);
|
|
82
94
|
}
|
|
83
95
|
}
|
|
@@ -14,4 +14,5 @@ export declare class TreeDxApiError extends Error {
|
|
|
14
14
|
});
|
|
15
15
|
static fromResponse(status: number, payload: unknown): TreeDxApiError;
|
|
16
16
|
static network(message: string, cause?: unknown): TreeDxApiError;
|
|
17
|
+
static cancelled(message?: string, cause?: unknown): TreeDxApiError;
|
|
17
18
|
}
|
|
@@ -20,6 +20,12 @@ export class FetchTransport {
|
|
|
20
20
|
...authHeaders,
|
|
21
21
|
...request.headers
|
|
22
22
|
};
|
|
23
|
+
if (request.requestId)
|
|
24
|
+
headers['X-Request-ID'] = request.requestId;
|
|
25
|
+
if (request.traceparent)
|
|
26
|
+
headers.traceparent = request.traceparent;
|
|
27
|
+
if (request.idempotencyKey)
|
|
28
|
+
headers['Idempotency-Key'] = request.idempotencyKey;
|
|
23
29
|
let body;
|
|
24
30
|
if (request.binaryBody) {
|
|
25
31
|
body = request.binaryBody;
|
|
@@ -29,12 +35,33 @@ export class FetchTransport {
|
|
|
29
35
|
body = JSON.stringify(request.body);
|
|
30
36
|
}
|
|
31
37
|
let response;
|
|
38
|
+
const controller = new AbortController();
|
|
39
|
+
const timeoutMs = request.timeoutMs ?? this.options.timeoutMs;
|
|
40
|
+
const timeout = timeoutMs === undefined
|
|
41
|
+
? undefined
|
|
42
|
+
: setTimeout(() => controller.abort(new Error('TreeDX request timed out')), timeoutMs);
|
|
43
|
+
const abort = () => controller.abort(request.signal?.reason);
|
|
44
|
+
if (request.signal?.aborted)
|
|
45
|
+
abort();
|
|
46
|
+
else
|
|
47
|
+
request.signal?.addEventListener('abort', abort, { once: true });
|
|
32
48
|
try {
|
|
33
|
-
|
|
49
|
+
if (controller.signal.aborted) {
|
|
50
|
+
throw controller.signal.reason;
|
|
51
|
+
}
|
|
52
|
+
response = await this.fetchImpl(url, { method: request.method, headers, body, signal: controller.signal });
|
|
34
53
|
}
|
|
35
54
|
catch (error) {
|
|
55
|
+
if (controller.signal.aborted) {
|
|
56
|
+
throw TreeDxApiError.cancelled(timeoutMs === undefined ? undefined : `TreeDX request exceeded ${timeoutMs}ms or was cancelled`, error);
|
|
57
|
+
}
|
|
36
58
|
throw TreeDxApiError.network('TreeDX network request failed', error);
|
|
37
59
|
}
|
|
60
|
+
finally {
|
|
61
|
+
if (timeout !== undefined)
|
|
62
|
+
clearTimeout(timeout);
|
|
63
|
+
request.signal?.removeEventListener('abort', abort);
|
|
64
|
+
}
|
|
38
65
|
const data = await parseResponseBody(response);
|
|
39
66
|
if (!response.ok) {
|
|
40
67
|
throw TreeDxApiError.fromResponse(response.status, data);
|