@agent-os-sdk/client 0.7.12 → 0.8.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/dist/client/AgentOsClient.d.ts +25 -23
- package/dist/client/AgentOsClient.d.ts.map +1 -1
- package/dist/client/AgentOsClient.js +26 -22
- package/dist/client/HttpRequestBuilder.d.ts +48 -0
- package/dist/client/HttpRequestBuilder.d.ts.map +1 -0
- package/dist/client/HttpRequestBuilder.js +73 -0
- package/dist/client/OperationContext.d.ts +19 -0
- package/dist/client/OperationContext.d.ts.map +1 -0
- package/dist/client/OperationContext.js +13 -0
- package/dist/client/OperationContextProvider.d.ts +54 -0
- package/dist/client/OperationContextProvider.d.ts.map +1 -0
- package/dist/client/OperationContextProvider.js +71 -0
- package/dist/client/raw.d.ts +31 -0
- package/dist/client/raw.d.ts.map +1 -1
- package/dist/client/raw.js +11 -6
- package/dist/client/sanitize.d.ts +19 -0
- package/dist/client/sanitize.d.ts.map +1 -0
- package/dist/client/sanitize.js +28 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/modules/agents.d.ts +22 -6
- package/dist/modules/agents.d.ts.map +1 -1
- package/dist/modules/agents.js +26 -7
- package/dist/modules/credentials.d.ts +1 -0
- package/dist/modules/credentials.d.ts.map +1 -1
- package/dist/modules/credentials.js +2 -1
- package/dist/modules/crons.d.ts +1 -0
- package/dist/modules/crons.d.ts.map +1 -1
- package/dist/modules/crons.js +2 -1
- package/dist/modules/presets.d.ts +32 -0
- package/dist/modules/presets.d.ts.map +1 -0
- package/dist/modules/presets.js +116 -0
- package/dist/modules/triggers.d.ts +11 -0
- package/dist/modules/triggers.d.ts.map +1 -1
- package/dist/modules/triggers.js +17 -2
- package/package.json +51 -49
- package/src/client/AgentOsClient.ts +27 -24
- package/src/client/HttpRequestBuilder.ts +102 -0
- package/src/client/OperationContext.ts +22 -0
- package/src/client/OperationContextProvider.ts +89 -0
- package/src/client/raw.ts +19 -8
- package/src/client/sanitize.ts +31 -0
- package/src/index.ts +15 -0
- package/src/modules/agents.ts +44 -14
- package/src/modules/credentials.ts +2 -1
- package/src/modules/crons.ts +2 -1
- package/src/modules/presets.ts +162 -0
- package/src/modules/triggers.ts +21 -2
|
@@ -26,43 +26,44 @@
|
|
|
26
26
|
* });
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
-
import { type RawClient } from "./raw.js";
|
|
30
29
|
import { type AgentOsClientOptions } from "./auth.js";
|
|
30
|
+
import { type RawClient } from "./raw.js";
|
|
31
31
|
import { AgentsModule } from "../modules/agents.js";
|
|
32
|
+
import { BuilderModule } from "../modules/builder.js";
|
|
33
|
+
import { CredentialsModule } from "../modules/credentials.js";
|
|
34
|
+
import { KnowledgeModule } from "../modules/knowledge.js";
|
|
35
|
+
import { MembersModule } from "../modules/members.js";
|
|
32
36
|
import { RunsModule } from "../modules/runs.js";
|
|
37
|
+
import { TenantsModule } from "../modules/tenants.js";
|
|
33
38
|
import { ThreadsModule } from "../modules/threads.js";
|
|
34
39
|
import { ToolsModule } from "../modules/tools.js";
|
|
35
|
-
import { KnowledgeModule } from "../modules/knowledge.js";
|
|
36
40
|
import { TriggersModule } from "../modules/triggers.js";
|
|
37
|
-
import { CredentialsModule } from "../modules/credentials.js";
|
|
38
|
-
import { BuilderModule } from "../modules/builder.js";
|
|
39
|
-
import { MembersModule } from "../modules/members.js";
|
|
40
|
-
import { TenantsModule } from "../modules/tenants.js";
|
|
41
41
|
import { WorkspacesModule } from "../modules/workspaces.js";
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
42
|
+
import { A2aModule } from "../modules/a2a.js";
|
|
43
|
+
import { ApiTokensModule } from "../modules/apiTokens.js";
|
|
44
|
+
import { ApprovalsModule } from "../modules/approvals.js";
|
|
45
|
+
import { AuditModule } from "../modules/audit.js";
|
|
46
|
+
import { CatalogModule } from "../modules/catalog.js";
|
|
47
47
|
import { CheckpointsModule } from "../modules/checkpoints.js";
|
|
48
|
-
import { PlaygroundModule } from "../modules/playground.js";
|
|
49
48
|
import { CronsModule } from "../modules/crons.js";
|
|
50
49
|
import { DlqModule } from "../modules/dlq.js";
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
50
|
+
import { EvaluationModule } from "../modules/evaluation.js";
|
|
51
|
+
import { FilesModule } from "../modules/files.js";
|
|
52
|
+
import { GraphsModule } from "../modules/graphs.js";
|
|
53
|
+
import { InfoModule } from "../modules/info.js";
|
|
54
54
|
import { McpModule } from "../modules/mcp.js";
|
|
55
|
-
import { A2aModule } from "../modules/a2a.js";
|
|
56
55
|
import { MeModule } from "../modules/me.js";
|
|
57
|
-
import { InfoModule } from "../modules/info.js";
|
|
58
|
-
import { MetricsModule } from "../modules/metrics.js";
|
|
59
|
-
import { GraphsModule } from "../modules/graphs.js";
|
|
60
|
-
import { CatalogModule } from "../modules/catalog.js";
|
|
61
|
-
import { ApprovalsModule } from "../modules/approvals.js";
|
|
62
|
-
import { ApiTokensModule } from "../modules/apiTokens.js";
|
|
63
56
|
import { MembershipsModule } from "../modules/memberships.js";
|
|
64
|
-
|
|
57
|
+
import { MetricsModule } from "../modules/metrics.js";
|
|
58
|
+
import { PlaygroundModule } from "../modules/playground.js";
|
|
59
|
+
import { PresetsModule } from "../modules/presets.js";
|
|
60
|
+
import { PromptsModule } from "../modules/prompts.js";
|
|
61
|
+
import { StoreModule } from "../modules/store.js";
|
|
62
|
+
import { TracesModule } from "../modules/traces.js";
|
|
63
|
+
import { UsageModule } from "../modules/usage.js";
|
|
64
|
+
import { VectorStoresModule } from "../modules/vectorStores.js";
|
|
65
65
|
export { isApiTokenAuth, isJwtAuth } from "./auth.js";
|
|
66
|
+
export type { AgentOsClientOptions, AuthProvider } from "./auth.js";
|
|
66
67
|
export declare class AgentOsClient {
|
|
67
68
|
private readonly _client;
|
|
68
69
|
private readonly _baseUrl;
|
|
@@ -106,6 +107,7 @@ export declare class AgentOsClient {
|
|
|
106
107
|
};
|
|
107
108
|
readonly apiTokens: ApiTokensModule;
|
|
108
109
|
readonly memberships: MembershipsModule;
|
|
110
|
+
readonly presets: PresetsModule;
|
|
109
111
|
constructor(options: AgentOsClientOptions);
|
|
110
112
|
/**
|
|
111
113
|
* Validate auth configuration at construction time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOsClient.d.ts","sourceRoot":"","sources":["../../src/client/AgentOsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"AgentOsClient.d.ts","sourceRoot":"","sources":["../../src/client/AgentOsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,42 +26,44 @@
|
|
|
26
26
|
* });
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
|
+
import { isApiTokenAuth, isBrowser, isJwtAuth, } from "./auth.js";
|
|
29
30
|
import { createRawClient } from "./raw.js";
|
|
30
|
-
import { isApiTokenAuth, isJwtAuth, isBrowser, } from "./auth.js";
|
|
31
31
|
import { AgentsModule } from "../modules/agents.js";
|
|
32
|
+
import { BuilderModule } from "../modules/builder.js";
|
|
33
|
+
import { CredentialsModule } from "../modules/credentials.js";
|
|
34
|
+
import { KnowledgeModule } from "../modules/knowledge.js";
|
|
35
|
+
import { MembersModule } from "../modules/members.js";
|
|
32
36
|
import { RunsModule } from "../modules/runs.js";
|
|
37
|
+
import { TenantsModule } from "../modules/tenants.js";
|
|
33
38
|
import { ThreadsModule } from "../modules/threads.js";
|
|
34
39
|
import { ToolsModule } from "../modules/tools.js";
|
|
35
|
-
import { KnowledgeModule } from "../modules/knowledge.js";
|
|
36
40
|
import { TriggersModule } from "../modules/triggers.js";
|
|
37
|
-
import { CredentialsModule } from "../modules/credentials.js";
|
|
38
|
-
import { BuilderModule } from "../modules/builder.js";
|
|
39
|
-
import { MembersModule } from "../modules/members.js";
|
|
40
|
-
import { TenantsModule } from "../modules/tenants.js";
|
|
41
41
|
import { WorkspacesModule } from "../modules/workspaces.js";
|
|
42
42
|
// Platform modules
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
43
|
+
import { A2aModule } from "../modules/a2a.js";
|
|
44
|
+
import { ApiTokensModule } from "../modules/apiTokens.js";
|
|
45
|
+
import { ApprovalsModule } from "../modules/approvals.js";
|
|
46
|
+
import { AuditModule } from "../modules/audit.js";
|
|
47
|
+
import { CatalogModule } from "../modules/catalog.js";
|
|
48
48
|
import { CheckpointsModule } from "../modules/checkpoints.js";
|
|
49
|
-
import { PlaygroundModule } from "../modules/playground.js";
|
|
50
49
|
import { CronsModule } from "../modules/crons.js";
|
|
51
50
|
import { DlqModule } from "../modules/dlq.js";
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
51
|
+
import { EvaluationModule } from "../modules/evaluation.js";
|
|
52
|
+
import { FilesModule } from "../modules/files.js";
|
|
53
|
+
import { GraphsModule } from "../modules/graphs.js";
|
|
54
|
+
import { InfoModule } from "../modules/info.js";
|
|
55
55
|
import { McpModule } from "../modules/mcp.js";
|
|
56
|
-
import { A2aModule } from "../modules/a2a.js";
|
|
57
56
|
import { MeModule } from "../modules/me.js";
|
|
58
|
-
import { InfoModule } from "../modules/info.js";
|
|
59
|
-
import { MetricsModule } from "../modules/metrics.js";
|
|
60
|
-
import { GraphsModule } from "../modules/graphs.js";
|
|
61
|
-
import { CatalogModule } from "../modules/catalog.js";
|
|
62
|
-
import { ApprovalsModule } from "../modules/approvals.js";
|
|
63
|
-
import { ApiTokensModule } from "../modules/apiTokens.js";
|
|
64
57
|
import { MembershipsModule } from "../modules/memberships.js";
|
|
58
|
+
import { MetricsModule } from "../modules/metrics.js";
|
|
59
|
+
import { PlaygroundModule } from "../modules/playground.js";
|
|
60
|
+
import { PresetsModule } from "../modules/presets.js";
|
|
61
|
+
import { PromptsModule } from "../modules/prompts.js";
|
|
62
|
+
import { StoreModule } from "../modules/store.js";
|
|
63
|
+
import { TracesModule } from "../modules/traces.js";
|
|
64
|
+
import { UsageModule } from "../modules/usage.js";
|
|
65
|
+
import { VectorStoresModule } from "../modules/vectorStores.js";
|
|
66
|
+
// Re-export auth types
|
|
65
67
|
export { isApiTokenAuth, isJwtAuth } from "./auth.js";
|
|
66
68
|
export class AgentOsClient {
|
|
67
69
|
_client;
|
|
@@ -105,6 +107,7 @@ export class AgentOsClient {
|
|
|
105
107
|
experiments;
|
|
106
108
|
apiTokens;
|
|
107
109
|
memberships;
|
|
110
|
+
presets;
|
|
108
111
|
constructor(options) {
|
|
109
112
|
this._baseUrl = options.baseUrl;
|
|
110
113
|
this._auth = options.auth;
|
|
@@ -161,6 +164,7 @@ export class AgentOsClient {
|
|
|
161
164
|
};
|
|
162
165
|
this.apiTokens = new ApiTokensModule(this._client);
|
|
163
166
|
this.memberships = new MembershipsModule(this._client);
|
|
167
|
+
this.presets = new PresetsModule(this._client, getHeaders);
|
|
164
168
|
}
|
|
165
169
|
/**
|
|
166
170
|
* Validate auth configuration at construction time
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HttpRequestBuilder — Single source of truth for headers
|
|
3
|
+
*
|
|
4
|
+
* All header generation flows through this builder.
|
|
5
|
+
* raw.ts should NOT generate headers directly.
|
|
6
|
+
*
|
|
7
|
+
* Headers generated:
|
|
8
|
+
* - X-Request-Id: Per-request, always new (crypto.randomUUID)
|
|
9
|
+
* - X-Correlation-Id: Per-flow, immutable within flow
|
|
10
|
+
* - Authorization: Bearer token
|
|
11
|
+
* - X-Workspace-Id: Workspace binding (from context)
|
|
12
|
+
* - X-Idempotency-Key: Opt-in for POST requests
|
|
13
|
+
* - User-Agent: SDK version + runtime info
|
|
14
|
+
*
|
|
15
|
+
* @see sdk-upgrade.md Section 1.3
|
|
16
|
+
*/
|
|
17
|
+
import type { OperationContext } from "./OperationContext.js";
|
|
18
|
+
/**
|
|
19
|
+
* Options for building request headers
|
|
20
|
+
*/
|
|
21
|
+
export interface HttpRequestBuilderOptions {
|
|
22
|
+
/** Bearer token for Authorization header */
|
|
23
|
+
token?: string;
|
|
24
|
+
/** Operation context with correlationId and workspaceId */
|
|
25
|
+
context?: OperationContext;
|
|
26
|
+
/** Idempotency key for POST requests */
|
|
27
|
+
idempotencyKey?: string;
|
|
28
|
+
/** If true, throws if correlationId is missing */
|
|
29
|
+
requireFlow?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Build headers for HTTP requests.
|
|
33
|
+
* This is the SINGLE SOURCE OF TRUTH for header generation.
|
|
34
|
+
*/
|
|
35
|
+
export declare class HttpRequestBuilder {
|
|
36
|
+
/**
|
|
37
|
+
* Build headers from options.
|
|
38
|
+
*
|
|
39
|
+
* @throws Error if requireFlow is true and correlationId is missing
|
|
40
|
+
*/
|
|
41
|
+
build(opts: HttpRequestBuilderOptions): Record<string, string>;
|
|
42
|
+
/**
|
|
43
|
+
* Build User-Agent string with SDK version and runtime info
|
|
44
|
+
*/
|
|
45
|
+
private buildUserAgent;
|
|
46
|
+
}
|
|
47
|
+
export declare const httpRequestBuilder: HttpRequestBuilder;
|
|
48
|
+
//# sourceMappingURL=HttpRequestBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpRequestBuilder.d.ts","sourceRoot":"","sources":["../../src/client/HttpRequestBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAmC9D;;OAEG;IACH,OAAO,CAAC,cAAc;CAYzB;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HttpRequestBuilder — Single source of truth for headers
|
|
3
|
+
*
|
|
4
|
+
* All header generation flows through this builder.
|
|
5
|
+
* raw.ts should NOT generate headers directly.
|
|
6
|
+
*
|
|
7
|
+
* Headers generated:
|
|
8
|
+
* - X-Request-Id: Per-request, always new (crypto.randomUUID)
|
|
9
|
+
* - X-Correlation-Id: Per-flow, immutable within flow
|
|
10
|
+
* - Authorization: Bearer token
|
|
11
|
+
* - X-Workspace-Id: Workspace binding (from context)
|
|
12
|
+
* - X-Idempotency-Key: Opt-in for POST requests
|
|
13
|
+
* - User-Agent: SDK version + runtime info
|
|
14
|
+
*
|
|
15
|
+
* @see sdk-upgrade.md Section 1.3
|
|
16
|
+
*/
|
|
17
|
+
import { sanitizeHeader, sanitizeHeaders } from "./sanitize.js";
|
|
18
|
+
const SDK_VERSION = typeof __SDK_VERSION__ !== "undefined" ? __SDK_VERSION__ : "0.7.12-dev";
|
|
19
|
+
/**
|
|
20
|
+
* Build headers for HTTP requests.
|
|
21
|
+
* This is the SINGLE SOURCE OF TRUTH for header generation.
|
|
22
|
+
*/
|
|
23
|
+
export class HttpRequestBuilder {
|
|
24
|
+
/**
|
|
25
|
+
* Build headers from options.
|
|
26
|
+
*
|
|
27
|
+
* @throws Error if requireFlow is true and correlationId is missing
|
|
28
|
+
*/
|
|
29
|
+
build(opts) {
|
|
30
|
+
const headers = {};
|
|
31
|
+
// I2: X-Request-Id always exists (per request)
|
|
32
|
+
headers["X-Request-Id"] = crypto.randomUUID();
|
|
33
|
+
// User-Agent: Dynamic SDK version
|
|
34
|
+
headers["User-Agent"] = this.buildUserAgent();
|
|
35
|
+
// I3: X-Correlation-Id is per flow
|
|
36
|
+
if (opts.requireFlow && !opts.context?.correlationId) {
|
|
37
|
+
throw new Error("X-Correlation-Id required for flow-scoped operations");
|
|
38
|
+
}
|
|
39
|
+
if (opts.context?.correlationId) {
|
|
40
|
+
headers["X-Correlation-Id"] = opts.context.correlationId;
|
|
41
|
+
}
|
|
42
|
+
// Authorization
|
|
43
|
+
if (opts.token) {
|
|
44
|
+
headers["Authorization"] = `Bearer ${opts.token}`;
|
|
45
|
+
}
|
|
46
|
+
// X-Workspace-Id from context
|
|
47
|
+
if (opts.context?.workspaceId) {
|
|
48
|
+
headers["X-Workspace-Id"] = opts.context.workspaceId;
|
|
49
|
+
}
|
|
50
|
+
// I7: Idempotency is opt-in
|
|
51
|
+
if (opts.idempotencyKey) {
|
|
52
|
+
headers["X-Idempotency-Key"] = sanitizeHeader(opts.idempotencyKey);
|
|
53
|
+
}
|
|
54
|
+
return sanitizeHeaders(headers);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Build User-Agent string with SDK version and runtime info
|
|
58
|
+
*/
|
|
59
|
+
buildUserAgent() {
|
|
60
|
+
// Node.js environment
|
|
61
|
+
if (typeof process !== "undefined" && process.version) {
|
|
62
|
+
return `agent-os-sdk/${SDK_VERSION} (node/${process.version})`;
|
|
63
|
+
}
|
|
64
|
+
// Browser environment
|
|
65
|
+
if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
66
|
+
return `agent-os-sdk/${SDK_VERSION} (browser)`;
|
|
67
|
+
}
|
|
68
|
+
// Unknown environment
|
|
69
|
+
return `agent-os-sdk/${SDK_VERSION}`;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Singleton instance for convenience
|
|
73
|
+
export const httpRequestBuilder = new HttpRequestBuilder();
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OperationContext — Immutable flow context
|
|
3
|
+
*
|
|
4
|
+
* Created at the start of a logical flow and never mutates.
|
|
5
|
+
*
|
|
6
|
+
* - correlationId: Tracks the entire logical operation (immutable per flow)
|
|
7
|
+
* - workspaceId: Optional workspace binding
|
|
8
|
+
*
|
|
9
|
+
* @see sdk-upgrade.md Section 1.1
|
|
10
|
+
*/
|
|
11
|
+
export type OperationContext = Readonly<{
|
|
12
|
+
correlationId: string;
|
|
13
|
+
workspaceId?: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function createOperationContext(input: {
|
|
16
|
+
correlationId: string;
|
|
17
|
+
workspaceId?: string;
|
|
18
|
+
}): OperationContext;
|
|
19
|
+
//# sourceMappingURL=OperationContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OperationContext.d.ts","sourceRoot":"","sources":["../../src/client/OperationContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,gBAAgB,CAEnB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OperationContext — Immutable flow context
|
|
3
|
+
*
|
|
4
|
+
* Created at the start of a logical flow and never mutates.
|
|
5
|
+
*
|
|
6
|
+
* - correlationId: Tracks the entire logical operation (immutable per flow)
|
|
7
|
+
* - workspaceId: Optional workspace binding
|
|
8
|
+
*
|
|
9
|
+
* @see sdk-upgrade.md Section 1.1
|
|
10
|
+
*/
|
|
11
|
+
export function createOperationContext(input) {
|
|
12
|
+
return Object.freeze({ ...input });
|
|
13
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OperationContextProvider — Flow lifecycle management
|
|
3
|
+
*
|
|
4
|
+
* Provider defines the lifecycle of a flow context.
|
|
5
|
+
* Implementations can use AsyncLocalStorage or manual context passing.
|
|
6
|
+
*
|
|
7
|
+
* @see sdk-upgrade.md Section 1.2
|
|
8
|
+
*/
|
|
9
|
+
import type { OperationContext } from "./OperationContext.js";
|
|
10
|
+
/**
|
|
11
|
+
* Interface for context providers
|
|
12
|
+
*/
|
|
13
|
+
export interface OperationContextProvider {
|
|
14
|
+
get(): OperationContext | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Default provider that always returns undefined.
|
|
18
|
+
* Used when no flow context is established.
|
|
19
|
+
*/
|
|
20
|
+
export declare class DefaultContextProvider implements OperationContextProvider {
|
|
21
|
+
get(): OperationContext | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* AsyncLocalStorage-based provider for Node.js environments.
|
|
25
|
+
* Automatically propagates context through async call chains.
|
|
26
|
+
*
|
|
27
|
+
* Note: This class requires Node.js async_hooks module.
|
|
28
|
+
* Import and use only in Node.js environments.
|
|
29
|
+
*/
|
|
30
|
+
export declare class AsyncLocalStorageContextProvider implements OperationContextProvider {
|
|
31
|
+
private readonly storage;
|
|
32
|
+
constructor();
|
|
33
|
+
get(): OperationContext | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Run a function within a context.
|
|
36
|
+
* The context is automatically available to all async operations within.
|
|
37
|
+
*/
|
|
38
|
+
run<T>(context: OperationContext, fn: () => T): T;
|
|
39
|
+
/**
|
|
40
|
+
* Run an async function within a context.
|
|
41
|
+
*/
|
|
42
|
+
runAsync<T>(context: OperationContext, fn: () => Promise<T>): Promise<T>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Manual provider for environments without AsyncLocalStorage.
|
|
46
|
+
* Context must be explicitly set and cleared.
|
|
47
|
+
*/
|
|
48
|
+
export declare class ManualContextProvider implements OperationContextProvider {
|
|
49
|
+
private context;
|
|
50
|
+
get(): OperationContext | undefined;
|
|
51
|
+
set(context: OperationContext): void;
|
|
52
|
+
clear(): void;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=OperationContextProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OperationContextProvider.d.ts","sourceRoot":"","sources":["../../src/client/OperationContextProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,GAAG,IAAI,gBAAgB,GAAG,SAAS,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,wBAAwB;IACnE,GAAG,IAAI,gBAAgB,GAAG,SAAS;CAGtC;AAED;;;;;;GAMG;AACH,qBAAa,gCAAiC,YAAW,wBAAwB;IAE7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;;IAa9B,GAAG,IAAI,gBAAgB,GAAG,SAAS;IAInC;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAIjD;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAG3E;AAED;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,wBAAwB;IAClE,OAAO,CAAC,OAAO,CAA+B;IAE9C,GAAG,IAAI,gBAAgB,GAAG,SAAS;IAInC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIpC,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OperationContextProvider — Flow lifecycle management
|
|
3
|
+
*
|
|
4
|
+
* Provider defines the lifecycle of a flow context.
|
|
5
|
+
* Implementations can use AsyncLocalStorage or manual context passing.
|
|
6
|
+
*
|
|
7
|
+
* @see sdk-upgrade.md Section 1.2
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Default provider that always returns undefined.
|
|
11
|
+
* Used when no flow context is established.
|
|
12
|
+
*/
|
|
13
|
+
export class DefaultContextProvider {
|
|
14
|
+
get() {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* AsyncLocalStorage-based provider for Node.js environments.
|
|
20
|
+
* Automatically propagates context through async call chains.
|
|
21
|
+
*
|
|
22
|
+
* Note: This class requires Node.js async_hooks module.
|
|
23
|
+
* Import and use only in Node.js environments.
|
|
24
|
+
*/
|
|
25
|
+
export class AsyncLocalStorageContextProvider {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
storage;
|
|
28
|
+
constructor() {
|
|
29
|
+
// Dynamic import to avoid browser errors
|
|
30
|
+
try {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
32
|
+
const asyncHooks = require("async_hooks");
|
|
33
|
+
this.storage = new asyncHooks.AsyncLocalStorage();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
throw new Error("AsyncLocalStorage requires Node.js environment");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
get() {
|
|
40
|
+
return this.storage?.getStore();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Run a function within a context.
|
|
44
|
+
* The context is automatically available to all async operations within.
|
|
45
|
+
*/
|
|
46
|
+
run(context, fn) {
|
|
47
|
+
return this.storage.run(context, fn);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Run an async function within a context.
|
|
51
|
+
*/
|
|
52
|
+
runAsync(context, fn) {
|
|
53
|
+
return this.storage.run(context, fn);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Manual provider for environments without AsyncLocalStorage.
|
|
58
|
+
* Context must be explicitly set and cleared.
|
|
59
|
+
*/
|
|
60
|
+
export class ManualContextProvider {
|
|
61
|
+
context;
|
|
62
|
+
get() {
|
|
63
|
+
return this.context;
|
|
64
|
+
}
|
|
65
|
+
set(context) {
|
|
66
|
+
this.context = context;
|
|
67
|
+
}
|
|
68
|
+
clear() {
|
|
69
|
+
this.context = undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
package/dist/client/raw.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { type Client } from "openapi-fetch";
|
|
8
8
|
import type { components, paths } from "../generated/openapi.js";
|
|
9
|
+
import type { OperationContext } from "./OperationContext.js";
|
|
9
10
|
export type { components, paths };
|
|
10
11
|
export type ClientOptions = {
|
|
11
12
|
baseUrl: string;
|
|
@@ -92,6 +93,12 @@ export declare function createRawClient(options: ClientOptions): {
|
|
|
92
93
|
retry?: boolean;
|
|
93
94
|
/** Override timeout for this request */
|
|
94
95
|
timeoutMs?: number;
|
|
96
|
+
/** Operation context for flow tracing */
|
|
97
|
+
context?: OperationContext;
|
|
98
|
+
/** Idempotency key for POST requests */
|
|
99
|
+
idempotencyKey?: string;
|
|
100
|
+
/** Require correlation ID (throws if missing) */
|
|
101
|
+
requireFlow?: boolean;
|
|
95
102
|
}) => Promise<APIResponse<T_1>>)>[2]) => Promise<APIResponse<T>>;
|
|
96
103
|
POST: <T>(path: string, opts?: Parameters<(<T_1>(method: string, path: string, opts?: {
|
|
97
104
|
params?: {
|
|
@@ -105,6 +112,12 @@ export declare function createRawClient(options: ClientOptions): {
|
|
|
105
112
|
retry?: boolean;
|
|
106
113
|
/** Override timeout for this request */
|
|
107
114
|
timeoutMs?: number;
|
|
115
|
+
/** Operation context for flow tracing */
|
|
116
|
+
context?: OperationContext;
|
|
117
|
+
/** Idempotency key for POST requests */
|
|
118
|
+
idempotencyKey?: string;
|
|
119
|
+
/** Require correlation ID (throws if missing) */
|
|
120
|
+
requireFlow?: boolean;
|
|
108
121
|
}) => Promise<APIResponse<T_1>>)>[2]) => Promise<APIResponse<T>>;
|
|
109
122
|
PUT: <T>(path: string, opts?: Parameters<(<T_1>(method: string, path: string, opts?: {
|
|
110
123
|
params?: {
|
|
@@ -118,6 +131,12 @@ export declare function createRawClient(options: ClientOptions): {
|
|
|
118
131
|
retry?: boolean;
|
|
119
132
|
/** Override timeout for this request */
|
|
120
133
|
timeoutMs?: number;
|
|
134
|
+
/** Operation context for flow tracing */
|
|
135
|
+
context?: OperationContext;
|
|
136
|
+
/** Idempotency key for POST requests */
|
|
137
|
+
idempotencyKey?: string;
|
|
138
|
+
/** Require correlation ID (throws if missing) */
|
|
139
|
+
requireFlow?: boolean;
|
|
121
140
|
}) => Promise<APIResponse<T_1>>)>[2]) => Promise<APIResponse<T>>;
|
|
122
141
|
PATCH: <T>(path: string, opts?: Parameters<(<T_1>(method: string, path: string, opts?: {
|
|
123
142
|
params?: {
|
|
@@ -131,6 +150,12 @@ export declare function createRawClient(options: ClientOptions): {
|
|
|
131
150
|
retry?: boolean;
|
|
132
151
|
/** Override timeout for this request */
|
|
133
152
|
timeoutMs?: number;
|
|
153
|
+
/** Operation context for flow tracing */
|
|
154
|
+
context?: OperationContext;
|
|
155
|
+
/** Idempotency key for POST requests */
|
|
156
|
+
idempotencyKey?: string;
|
|
157
|
+
/** Require correlation ID (throws if missing) */
|
|
158
|
+
requireFlow?: boolean;
|
|
134
159
|
}) => Promise<APIResponse<T_1>>)>[2]) => Promise<APIResponse<T>>;
|
|
135
160
|
DELETE: <T>(path: string, opts?: Parameters<(<T_1>(method: string, path: string, opts?: {
|
|
136
161
|
params?: {
|
|
@@ -144,6 +169,12 @@ export declare function createRawClient(options: ClientOptions): {
|
|
|
144
169
|
retry?: boolean;
|
|
145
170
|
/** Override timeout for this request */
|
|
146
171
|
timeoutMs?: number;
|
|
172
|
+
/** Operation context for flow tracing */
|
|
173
|
+
context?: OperationContext;
|
|
174
|
+
/** Idempotency key for POST requests */
|
|
175
|
+
idempotencyKey?: string;
|
|
176
|
+
/** Require correlation ID (throws if missing) */
|
|
177
|
+
requireFlow?: boolean;
|
|
147
178
|
}) => Promise<APIResponse<T_1>>)>[2]) => Promise<APIResponse<T>>;
|
|
148
179
|
/**
|
|
149
180
|
* Stream GET request - returns raw Response for SSE consumption.
|
package/dist/client/raw.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/client/raw.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../src/client/raw.ts"],"names":[],"mappings":"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"}
|
package/dist/client/raw.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* All types are automatically inferred from the backend Swagger specification.
|
|
6
6
|
*/
|
|
7
7
|
import createClient, {} from "openapi-fetch";
|
|
8
|
+
import { httpRequestBuilder } from "./HttpRequestBuilder.js";
|
|
8
9
|
/**
|
|
9
10
|
* Creates a typed HTTP client with openapi-fetch.
|
|
10
11
|
* This provides full type inference for all API endpoints.
|
|
@@ -55,12 +56,16 @@ export function createRawClient(options) {
|
|
|
55
56
|
if (opts?.body) {
|
|
56
57
|
headers["Content-Type"] = "application/json";
|
|
57
58
|
}
|
|
58
|
-
//
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
// Build standard headers via HttpRequestBuilder (single source of truth)
|
|
60
|
+
const builderHeaders = httpRequestBuilder.build({
|
|
61
|
+
context: opts?.context,
|
|
62
|
+
idempotencyKey: opts?.idempotencyKey,
|
|
63
|
+
requireFlow: opts?.requireFlow,
|
|
64
|
+
});
|
|
65
|
+
// Merge builder headers (X-Request-Id, X-Correlation-Id, X-Idempotency-Key, User-Agent)
|
|
66
|
+
Object.assign(headers, builderHeaders);
|
|
67
|
+
// Use X-Request-Id from builder as client request ID
|
|
68
|
+
const clientRequestId = headers["X-Request-Id"];
|
|
64
69
|
// Call onRequest hook
|
|
65
70
|
const startTime = Date.now();
|
|
66
71
|
await options.hooks?.onRequest?.({
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Header Sanitization — Security layer for HTTP headers
|
|
3
|
+
*
|
|
4
|
+
* Removes control characters and enforces size limits.
|
|
5
|
+
*
|
|
6
|
+
* @see sdk-upgrade.md Section 1.4
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Sanitize a single header value.
|
|
10
|
+
* - Removes control characters (0x00-0x1F, 0x7F)
|
|
11
|
+
* - Truncates to MAX_LEN
|
|
12
|
+
*/
|
|
13
|
+
export declare function sanitizeHeader(v: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Sanitize all header values in a record.
|
|
16
|
+
* Mutates in place for performance.
|
|
17
|
+
*/
|
|
18
|
+
export declare function sanitizeHeaders(h: Record<string, string>): Record<string, string>;
|
|
19
|
+
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/client/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOjF"}
|