@treeseed/treedx 0.2.43 → 0.3.0-rc.3

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.
Files changed (127) hide show
  1. package/README.md +1 -1
  2. package/dist/treedx/adapters/{federation-internal.d.ts → federation/federation-internal.d.ts} +1 -1
  3. package/dist/treedx/adapters/{federation-internal.js → federation/federation-internal.js} +1 -1
  4. package/dist/treedx/adapters/{federation.d.ts → federation/federation.d.ts} +1 -1
  5. package/dist/treedx/adapters/{federation.js → federation/federation.js} +1 -1
  6. package/dist/treedx/adapters/{mirrors.d.ts → federation/mirrors.d.ts} +1 -1
  7. package/dist/treedx/adapters/{mirrors.js → federation/mirrors.js} +1 -1
  8. package/dist/treedx/adapters/{registry.d.ts → federation/registry.d.ts} +1 -1
  9. package/dist/treedx/adapters/{registry.js → federation/registry.js} +1 -1
  10. package/dist/treedx/adapters/{repositories.d.ts → federation/repositories.d.ts} +1 -1
  11. package/dist/treedx/adapters/{repositories.js → federation/repositories.js} +1 -1
  12. package/dist/treedx/adapters/{workspaces.d.ts → federation/workspaces.d.ts} +1 -1
  13. package/dist/treedx/adapters/{workspaces.js → federation/workspaces.js} +1 -1
  14. package/dist/treedx/adapters/{admin.d.ts → governance/admin.d.ts} +1 -1
  15. package/dist/treedx/adapters/{admin.js → governance/admin.js} +1 -1
  16. package/dist/treedx/adapters/{audit.d.ts → governance/audit.d.ts} +1 -1
  17. package/dist/treedx/adapters/{audit.js → governance/audit.js} +1 -1
  18. package/dist/treedx/adapters/{policy.d.ts → governance/policy.d.ts} +1 -1
  19. package/dist/treedx/adapters/{policy.js → governance/policy.js} +1 -1
  20. package/dist/treedx/adapters/index.d.ts +21 -21
  21. package/dist/treedx/adapters/index.js +21 -21
  22. package/dist/treedx/adapters/{context.d.ts → knowledge/context.d.ts} +1 -1
  23. package/dist/treedx/adapters/{context.js → knowledge/context.js} +1 -1
  24. package/dist/treedx/adapters/{graph.d.ts → knowledge/graph.d.ts} +1 -1
  25. package/dist/treedx/adapters/{graph.js → knowledge/graph.js} +1 -1
  26. package/dist/treedx/adapters/{query.d.ts → knowledge/query.d.ts} +1 -1
  27. package/dist/treedx/adapters/{query.js → knowledge/query.js} +1 -1
  28. package/dist/treedx/adapters/{search-index.d.ts → knowledge/search-index.d.ts} +1 -1
  29. package/dist/treedx/adapters/{search-index.js → knowledge/search-index.js} +1 -1
  30. package/dist/treedx/adapters/{common.d.ts → runtime/common.d.ts} +1 -1
  31. package/dist/treedx/adapters/{artifacts.d.ts → storage/artifacts.d.ts} +1 -1
  32. package/dist/treedx/adapters/{artifacts.js → storage/artifacts.js} +1 -1
  33. package/dist/treedx/adapters/{blobs.d.ts → storage/blobs.d.ts} +2 -2
  34. package/dist/treedx/adapters/{blobs.js → storage/blobs.js} +1 -1
  35. package/dist/treedx/adapters/{files.d.ts → storage/files.d.ts} +2 -1
  36. package/dist/treedx/adapters/{files.js → storage/files.js} +2 -1
  37. package/dist/treedx/adapters/{migrations.d.ts → storage/migrations.d.ts} +1 -1
  38. package/dist/treedx/adapters/{migrations.js → storage/migrations.js} +1 -1
  39. package/dist/treedx/adapters/{snapshots.d.ts → storage/snapshots.d.ts} +1 -1
  40. package/dist/treedx/adapters/{snapshots.js → storage/snapshots.js} +1 -1
  41. package/dist/treedx/client/TreeDxClient.d.ts +5 -0
  42. package/dist/treedx/client/TreeDxClient.js +13 -1
  43. package/dist/treedx/client/errors.d.ts +1 -0
  44. package/dist/treedx/client/errors.js +8 -0
  45. package/dist/treedx/client/transport.d.ts +1 -0
  46. package/dist/treedx/client/transport.js +28 -1
  47. package/dist/treedx/generated/openapi-types.d.ts +260 -1
  48. package/dist/treedx/generated/openapi-types.js +120 -114
  49. package/dist/treedx/index.d.ts +1 -0
  50. package/dist/treedx/index.js +1 -0
  51. package/dist/treedx/openapi/contract.d.ts +10 -0
  52. package/dist/treedx/openapi/contract.js +11 -0
  53. package/dist/treedx/openapi/index.d.ts +1 -0
  54. package/dist/treedx/openapi/index.js +1 -0
  55. package/dist/treedx/ports/{federation-internal-port.d.ts → federation/federation-internal-port.d.ts} +1 -1
  56. package/dist/treedx/ports/federation/federation-port.d.ts +2 -0
  57. package/dist/treedx/ports/federation/mirror-port.d.ts +2 -0
  58. package/dist/treedx/ports/federation/registry-port.d.ts +2 -0
  59. package/dist/treedx/ports/federation/repository-port.d.ts +2 -0
  60. package/dist/treedx/ports/federation/workspace-port.d.ts +2 -0
  61. package/dist/treedx/ports/governance/admin-port.d.ts +1 -0
  62. package/dist/treedx/ports/governance/audit-port.d.ts +1 -0
  63. package/dist/treedx/ports/governance/policy-port.d.ts +1 -0
  64. package/dist/treedx/ports/index.d.ts +21 -21
  65. package/dist/treedx/ports/index.js +21 -21
  66. package/dist/treedx/ports/knowledge/context-port.d.ts +2 -0
  67. package/dist/treedx/ports/knowledge/graph-port.d.ts +2 -0
  68. package/dist/treedx/ports/knowledge/query-port.d.ts +2 -0
  69. package/dist/treedx/ports/knowledge/search-index-port.d.ts +1 -0
  70. package/dist/treedx/ports/runtime/auth-provider.d.ts +1 -0
  71. package/dist/treedx/ports/runtime/exec-port.d.ts +2 -0
  72. package/dist/treedx/ports/{transport.d.ts → runtime/transport.d.ts} +1 -1
  73. package/dist/treedx/ports/storage/artifact-port.d.ts +2 -0
  74. package/dist/treedx/ports/storage/blob-port.d.ts +2 -0
  75. package/dist/treedx/ports/storage/file-port.d.ts +2 -0
  76. package/dist/treedx/ports/storage/migration-port.d.ts +2 -0
  77. package/dist/treedx/ports/storage/snapshot-port.d.ts +2 -0
  78. package/dist/treedx/types/index.d.ts +6 -0
  79. package/openapi-contract.json +10 -0
  80. package/openapi.yaml +6827 -0
  81. package/package.json +10 -2
  82. package/sdk-manifest.yaml +2 -2
  83. package/dist/treedx/ports/admin-port.d.ts +0 -1
  84. package/dist/treedx/ports/artifact-port.d.ts +0 -2
  85. package/dist/treedx/ports/audit-port.d.ts +0 -1
  86. package/dist/treedx/ports/auth-provider.d.ts +0 -1
  87. package/dist/treedx/ports/blob-port.d.ts +0 -2
  88. package/dist/treedx/ports/context-port.d.ts +0 -2
  89. package/dist/treedx/ports/exec-port.d.ts +0 -2
  90. package/dist/treedx/ports/federation-port.d.ts +0 -2
  91. package/dist/treedx/ports/file-port.d.ts +0 -2
  92. package/dist/treedx/ports/graph-port.d.ts +0 -2
  93. package/dist/treedx/ports/migration-port.d.ts +0 -2
  94. package/dist/treedx/ports/mirror-port.d.ts +0 -2
  95. package/dist/treedx/ports/policy-port.d.ts +0 -1
  96. package/dist/treedx/ports/query-port.d.ts +0 -2
  97. package/dist/treedx/ports/registry-port.d.ts +0 -2
  98. package/dist/treedx/ports/repository-port.d.ts +0 -2
  99. package/dist/treedx/ports/search-index-port.d.ts +0 -1
  100. package/dist/treedx/ports/snapshot-port.d.ts +0 -2
  101. package/dist/treedx/ports/workspace-port.d.ts +0 -2
  102. /package/dist/treedx/adapters/{common.js → runtime/common.js} +0 -0
  103. /package/dist/treedx/adapters/{exec.d.ts → runtime/exec.d.ts} +0 -0
  104. /package/dist/treedx/adapters/{exec.js → runtime/exec.js} +0 -0
  105. /package/dist/treedx/adapters/{observability.d.ts → runtime/observability.d.ts} +0 -0
  106. /package/dist/treedx/adapters/{observability.js → runtime/observability.js} +0 -0
  107. /package/dist/treedx/ports/{federation-internal-port.js → federation/federation-internal-port.js} +0 -0
  108. /package/dist/treedx/ports/{federation-port.js → federation/federation-port.js} +0 -0
  109. /package/dist/treedx/ports/{mirror-port.js → federation/mirror-port.js} +0 -0
  110. /package/dist/treedx/ports/{registry-port.js → federation/registry-port.js} +0 -0
  111. /package/dist/treedx/ports/{repository-port.js → federation/repository-port.js} +0 -0
  112. /package/dist/treedx/ports/{workspace-port.js → federation/workspace-port.js} +0 -0
  113. /package/dist/treedx/ports/{admin-port.js → governance/admin-port.js} +0 -0
  114. /package/dist/treedx/ports/{audit-port.js → governance/audit-port.js} +0 -0
  115. /package/dist/treedx/ports/{policy-port.js → governance/policy-port.js} +0 -0
  116. /package/dist/treedx/ports/{context-port.js → knowledge/context-port.js} +0 -0
  117. /package/dist/treedx/ports/{graph-port.js → knowledge/graph-port.js} +0 -0
  118. /package/dist/treedx/ports/{query-port.js → knowledge/query-port.js} +0 -0
  119. /package/dist/treedx/ports/{search-index-port.js → knowledge/search-index-port.js} +0 -0
  120. /package/dist/treedx/ports/{auth-provider.js → runtime/auth-provider.js} +0 -0
  121. /package/dist/treedx/ports/{exec-port.js → runtime/exec-port.js} +0 -0
  122. /package/dist/treedx/ports/{transport.js → runtime/transport.js} +0 -0
  123. /package/dist/treedx/ports/{artifact-port.js → storage/artifact-port.js} +0 -0
  124. /package/dist/treedx/ports/{blob-port.js → storage/blob-port.js} +0 -0
  125. /package/dist/treedx/ports/{file-port.js → storage/file-port.js} +0 -0
  126. /package/dist/treedx/ports/{migration-port.js → storage/migration-port.js} +0 -0
  127. /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 113 `/api/v1` OpenAPI operations through
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,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class FederationInternalAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class FederationInternalAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { segment, type TreeDxAdapterContext } from './common.js';
1
+ import { segment, type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class FederationAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class FederationAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class MirrorsAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class MirrorsAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class RegistryAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class RegistryAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class RepositoriesAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class RepositoriesAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class WorkspacesAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class WorkspacesAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class AdminAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest } from './common.js';
1
+ import { jsonRequest } from '../runtime/common.js';
2
2
  export class AdminAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class AuditAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest } from './common.js';
1
+ import { jsonRequest } from '../runtime/common.js';
2
2
  export class AuditAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class PolicyAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest } from './common.js';
1
+ import { jsonRequest } from '../runtime/common.js';
2
2
  export class PolicyAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -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,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class ContextAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class ContextAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class GraphAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class GraphAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class QueryAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class QueryAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class SearchIndexAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class SearchIndexAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import type { BinaryBody, Transport, TreeDxHttpMethod } from '../types/index.js';
1
+ import type { BinaryBody, Transport, TreeDxHttpMethod } from '../../types/index.js';
2
2
  export interface TreeDxAdapterContext {
3
3
  transport: Transport;
4
4
  }
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class ArtifactsAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class ArtifactsAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,5 +1,5 @@
1
- import { type TreeDxAdapterContext } from './common.js';
2
- import type { BinaryBody } from '../types/index.js';
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,4 +1,4 @@
1
- import { binaryRequest, jsonRequest, segment } from './common.js';
1
+ import { binaryRequest, jsonRequest, segment } from '../runtime/common.js';
2
2
  export class BlobsAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,10 +1,11 @@
1
- import { type TreeDxAdapterContext } from './common.js';
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 './common.js';
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); }
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class MigrationsAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class MigrationsAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -1,4 +1,4 @@
1
- import { type TreeDxAdapterContext } from './common.js';
1
+ import { type TreeDxAdapterContext } from '../runtime/common.js';
2
2
  export declare class SnapshotsAdapter {
3
3
  private readonly context;
4
4
  constructor(context: TreeDxAdapterContext);
@@ -1,4 +1,4 @@
1
- import { jsonRequest, segment } from './common.js';
1
+ import { jsonRequest, segment } from '../runtime/common.js';
2
2
  export class SnapshotsAdapter {
3
3
  context;
4
4
  constructor(context) {
@@ -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({ method, path: resolvedPath, query: options.query, body: options.body, binaryBody: options.binaryBody, headers: options.headers }).then((response) => response.data);
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
  }
@@ -32,4 +32,12 @@ export class TreeDxApiError extends Error {
32
32
  cause
33
33
  });
34
34
  }
35
+ static cancelled(message = 'TreeDX request was cancelled', cause) {
36
+ return new TreeDxApiError({
37
+ status: 0,
38
+ code: 'request_cancelled',
39
+ message,
40
+ cause
41
+ });
42
+ }
35
43
  }
@@ -6,6 +6,7 @@ export interface FetchTransportOptions {
6
6
  token?: string;
7
7
  authProvider?: TreeDxClientConfig['authProvider'];
8
8
  fetchImpl?: TreeDxFetch;
9
+ timeoutMs?: number;
9
10
  }
10
11
  export declare class FetchTransport implements Transport {
11
12
  private readonly options;
@@ -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
- response = await this.fetchImpl(url, { method: request.method, headers, body });
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);