@beacon-build/sdk 1.30.0 → 1.31.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/CHANGELOG.md +12 -0
- package/dist/clients/ops/agents-ops.client.d.ts +12 -1
- package/dist/clients/ops/agents-ops.client.d.ts.map +1 -1
- package/dist/clients/ops/agents-ops.client.js +14 -6
- package/dist/clients/ops/agents-ops.client.js.map +1 -1
- package/dist/factory/admin-sdk.d.ts +6 -2
- package/dist/factory/admin-sdk.d.ts.map +1 -1
- package/dist/factory/admin-sdk.js +9 -1
- package/dist/factory/admin-sdk.js.map +1 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/transport/http-client.d.ts +11 -3
- package/dist/transport/http-client.d.ts.map +1 -1
- package/dist/transport/http-client.js +32 -13
- package/dist/transport/http-client.js.map +1 -1
- package/package.json +2 -2
- package/dist/legacy/sdk-factory.d.ts +0 -37
- package/dist/legacy/sdk-factory.d.ts.map +0 -1
- package/dist/legacy/sdk-factory.js +0 -36
- package/dist/legacy/sdk-factory.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @beacon-build/sdk Changelog
|
|
2
2
|
|
|
3
|
+
## 1.31.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a0a9c1a: ops/auth/release hardening + C208 dead-code cleanup: B178 (NF external addon SSL/SNI seed fix), B177 (surface agent-token issuance failure), B179 (remove redundant hanging prod seed from release post-release), B180 (capture conversation messages locally via loadBeaconEnv + ingest observability), C208 core+A+B+C (getSdk→createAgentClient unblocks search/capabilities; delete deprecated SdkFactory, dead skill-executor + unused SDK aliases, dead packages/client).
|
|
8
|
+
- a3cd29d: C213 — transparent silent-refresh on 401: HttpClient retries a request once with a fresh token from onUnauthorized (single-flight refresh dedupe). Access-token TTL raised 15m→1h with cookie maxAge tracking the JWT TTL; refresh-token rotation + reuse-detection unchanged.
|
|
9
|
+
- Updated dependencies [a0a9c1a]
|
|
10
|
+
- Updated dependencies [74c5383]
|
|
11
|
+
- Updated dependencies [5373b1f]
|
|
12
|
+
- Updated dependencies [8a4be09]
|
|
13
|
+
- @beacon-build/core@1.31.0
|
|
14
|
+
|
|
3
15
|
## 1.30.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -36,10 +36,21 @@ export declare class AgentsOpsClient {
|
|
|
36
36
|
agentId: string;
|
|
37
37
|
sessionId: string;
|
|
38
38
|
} | null>;
|
|
39
|
+
/**
|
|
40
|
+
* Issue a scoped agent JWT (POST /api/v1/agent-token).
|
|
41
|
+
*
|
|
42
|
+
* B177: previously this swallowed every failure with `catch { return null }`, so a
|
|
43
|
+
* transient hiccup left the session with no agent token while session_start still
|
|
44
|
+
* reported success — the agent-JWT path (messaging/search) was then silently dead.
|
|
45
|
+
* Now: surface the failure. Transient 5xx/429/network are already retried by
|
|
46
|
+
* `OpsApiClient.executeWithRetry` (we deliberately do NOT add a second retry layer);
|
|
47
|
+
* on persistent failure we THROW with the underlying reason so the caller surfaces it
|
|
48
|
+
* instead of degrading invisibly to a token-less session.
|
|
49
|
+
*/
|
|
39
50
|
issueToken(agentId: string, project: string): Promise<{
|
|
40
51
|
token: string;
|
|
41
52
|
expiresAt: string;
|
|
42
|
-
}
|
|
53
|
+
}>;
|
|
43
54
|
/** @deprecated Use ops.projects.upsert() instead */
|
|
44
55
|
upsertProject(slug: string): Promise<void>;
|
|
45
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/agents-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,eAAe;IACZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAO3C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAY9C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIlD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IASzE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKhE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKhE,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAQxC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAO9E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM/D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,gBAAgB,CAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAWtD,aAAa,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"agents-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/agents-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,eAAe;IACZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAO3C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAY9C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIlD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IASzE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKhE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKhE,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAQxC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKxD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAO9E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM/D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,gBAAgB,CAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAWtD,aAAa,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAWzD;;;;;;;;;;OAUG;IACG,UAAU,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAahD,oDAAoD;IAC9C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD"}
|
|
@@ -98,15 +98,23 @@ export class AgentsOpsClient {
|
|
|
98
98
|
return null;
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Issue a scoped agent JWT (POST /api/v1/agent-token).
|
|
103
|
+
*
|
|
104
|
+
* B177: previously this swallowed every failure with `catch { return null }`, so a
|
|
105
|
+
* transient hiccup left the session with no agent token while session_start still
|
|
106
|
+
* reported success — the agent-JWT path (messaging/search) was then silently dead.
|
|
107
|
+
* Now: surface the failure. Transient 5xx/429/network are already retried by
|
|
108
|
+
* `OpsApiClient.executeWithRetry` (we deliberately do NOT add a second retry layer);
|
|
109
|
+
* on persistent failure we THROW with the underlying reason so the caller surfaces it
|
|
110
|
+
* instead of degrading invisibly to a token-less session.
|
|
111
|
+
*/
|
|
101
112
|
async issueToken(agentId, project) {
|
|
102
113
|
try {
|
|
103
|
-
return await this.api.post('/api/v1/agent-token', {
|
|
104
|
-
agentId,
|
|
105
|
-
project,
|
|
106
|
-
});
|
|
114
|
+
return await this.api.post('/api/v1/agent-token', { agentId, project });
|
|
107
115
|
}
|
|
108
|
-
catch {
|
|
109
|
-
|
|
116
|
+
catch (err) {
|
|
117
|
+
throw new Error(`agent-token issuance failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
110
118
|
}
|
|
111
119
|
}
|
|
112
120
|
/** @deprecated Use ops.projects.upsert() instead */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/agents-ops.client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agents-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/agents-ops.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,12 @@ export interface AdminSdkConfig {
|
|
|
26
26
|
accessToken?: string;
|
|
27
27
|
/** Callback to get the current access token — enables reactive token updates */
|
|
28
28
|
getToken?: () => string | Promise<string>;
|
|
29
|
-
/**
|
|
30
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Optional callback triggered on 401. C213: returning a fresh token string
|
|
31
|
+
* makes the HttpClient retry the request once with it (transparent
|
|
32
|
+
* silent-refresh); void/null means no refresh and the 401 propagates.
|
|
33
|
+
*/
|
|
34
|
+
onUnauthorized?: () => void | Promise<string | null | void>;
|
|
31
35
|
}
|
|
32
36
|
export interface AdminSdk {
|
|
33
37
|
users: AdminUsersClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-sdk.d.ts","sourceRoot":"","sources":["../../src/factory/admin-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAE7E,MAAM,WAAW,cAAc;IAC3B,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC
|
|
1
|
+
{"version":3,"file":"admin-sdk.d.ts","sourceRoot":"","sources":["../../src/factory/admin-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAE7E,MAAM,WAAW,cAAc;IAC3B,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACzC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,wBAAwB,CAAA;IACvC,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,iBAAiB,CAAA;IACzB,MAAM,EAAE,iBAAiB,CAAA;IACzB,KAAK,EAAE,gBAAgB,CAAA;IACvB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,iBAAiB,CAAA;IACzB,KAAK,EAAE,gBAAgB,CAAA;IACvB,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,SAAS,EAAE,oBAAoB,CAAA;IAC/B,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,oBAAoB,EAAE,+BAA+B,CAAA;IACrD,EAAE,EAAE,aAAa,CAAA;IACjB,4CAA4C;IAC5C,aAAa,EAAE,wBAAwB,CAAA;IACvC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,CAAA;IACxB,qEAAqE;IACrE,UAAU,EAAE,gBAAgB,CAAA;IAC5B,wDAAwD;IACxD,MAAM,EAAE,iBAAiB,CAAA;IACzB,8DAA8D;IAC9D,UAAU,EAAE,qBAAqB,CAAA;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CAiDlE"}
|
|
@@ -40,7 +40,15 @@ export function createAdminClient(config) {
|
|
|
40
40
|
baseUrl: config.baseUrl,
|
|
41
41
|
basePath: '/api/v1',
|
|
42
42
|
getAuthHeader: async () => `Bearer ${await getToken()}`,
|
|
43
|
-
|
|
43
|
+
// Multipart uploads are non-idempotent → fire-and-forget the refresh
|
|
44
|
+
// trigger (no auto-retry); discard the returned token. Swallow callback
|
|
45
|
+
// errors so a throwing refresh hook never surfaces as an unhandled
|
|
46
|
+
// rejection — the 401 still propagates as SdkError from the upload.
|
|
47
|
+
onUnauthorized: config.onUnauthorized
|
|
48
|
+
? () => {
|
|
49
|
+
void Promise.resolve(config.onUnauthorized()).catch(() => { });
|
|
50
|
+
}
|
|
51
|
+
: undefined,
|
|
44
52
|
});
|
|
45
53
|
return {
|
|
46
54
|
users: new AdminUsersClient(http, multipart),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-sdk.js","sourceRoot":"","sources":["../../src/factory/admin-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"admin-sdk.js","sourceRoot":"","sources":["../../src/factory/admin-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AA8C7E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACpD,gEAAgE;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IAEpE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,SAAS;QACnB,QAAQ;QACR,cAAc,EAAE,MAAM,CAAC,cAAc;KACxC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,MAAM,QAAQ,EAAE,EAAE;QACvD,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,oEAAoE;QACpE,cAAc,EAAE,MAAM,CAAC,cAAc;YACjC,CAAC,CAAC,GAAG,EAAE;gBACD,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,cAAe,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAClE,CAAC;YACH,CAAC,CAAC,SAAS;KAClB,CAAC,CAAA;IAEF,OAAO;QACH,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;QAC5C,aAAa,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC;QACjD,QAAQ,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC;QACvC,MAAM,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC;QAC9C,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;QACjC,SAAS,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC;QACzC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC;QACvC,MAAM,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC;QACnC,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;QACjC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC;QACvC,SAAS,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC;QACzC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC;QACvC,oBAAoB,EAAE,IAAI,+BAA+B,CAAC,IAAI,CAAC;QAC/D,EAAE,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC;QAC3B,aAAa,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC;QACjD,MAAM,EAAE,IAAI,sBAAsB,CAAC,IAAI,CAAC;QACxC,QAAQ,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC;QAClC,UAAU,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;QACtC,MAAM,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC;QACnC,UAAU,EAAE,IAAI,qBAAqB,CAAC,IAAI,CAAC;KAC9C,CAAA;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -33,18 +33,13 @@ export { AdminGithubProxyClient } from './clients/admin/github-proxy.client.js';
|
|
|
33
33
|
export { AdminUsersClient } from './clients/admin/users.client.js';
|
|
34
34
|
export { AdminOrganizationsClient } from './clients/admin/organizations.client.js';
|
|
35
35
|
export { SDK_MANIFEST, SDK_NEGATIVE_LIST, type ManifestEntry, type ManifestNegativeEntry, type SdkAuthMode, } from './manifest.js';
|
|
36
|
-
export { OpsApiClient as OpsApiClientLegacy } from './transport/ops-api-client.js';
|
|
37
36
|
export { AgentsOpsClient as AgentSdkClient } from './clients/ops/agents-ops.client.js';
|
|
38
37
|
export { SessionsOpsClient as SessionSdkClient } from './clients/ops/sessions-ops.client.js';
|
|
39
|
-
export { MemoriesOpsClient as MemorySdkClient } from './clients/ops/memories-ops.client.js';
|
|
40
|
-
export { ToolCallsOpsClient as ToolCallSdkClient } from './clients/ops/tool-calls-ops.client.js';
|
|
41
38
|
export { BoardMessagesOpsClient as BoardSdkClient } from './clients/ops/board-messages-ops.client.js';
|
|
42
39
|
export { TasksOpsClient as TaskOpsSdkClient } from './clients/ops/tasks-ops.client.js';
|
|
43
40
|
export { ThreadMessagingOpsClient } from './clients/ops/thread-messaging.client.js';
|
|
44
41
|
export type { TaskListOpsFilter } from './clients/ops/tasks-ops.client.js';
|
|
45
42
|
export type { SessionsOpsFilter as SessionsFilter, CreateSessionResult, } from './clients/ops/sessions-ops.client.js';
|
|
46
|
-
export { SdkFactory } from './legacy/sdk-factory.js';
|
|
47
|
-
export type { AgentSdk as LegacyAgentSdk, AgentSdkOptions } from './legacy/sdk-factory.js';
|
|
48
43
|
export { SettingsClient } from './clients/admin/settings.client.js';
|
|
49
44
|
export type { SettingValue, SettingResponse, SettingsListResponse, } from './clients/admin/settings.client.js';
|
|
50
45
|
export { TaskConfigClient } from './clients/shared/task-config.client.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGtF,OAAO,EACH,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,QAAQ,GAChB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAG/F,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAE7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,YAAY,EACR,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,GAClB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAGlF,OAAO,EACH,YAAY,EACZ,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACnB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -43,17 +43,12 @@ export { SDK_MANIFEST, SDK_NEGATIVE_LIST, } from './manifest.js';
|
|
|
43
43
|
// ── Legacy class exports (backward compat for existing internal consumers) ────
|
|
44
44
|
// These mirror the old @beacon-build/client class-based API.
|
|
45
45
|
// Internal consumers should migrate to createOpsClient() / createAgentClient() eventually.
|
|
46
|
-
export { OpsApiClient as OpsApiClientLegacy } from './transport/ops-api-client.js';
|
|
47
46
|
// Legacy named class re-exports — used by mcp/agent, apps/ide, services/runtime
|
|
48
47
|
export { AgentsOpsClient as AgentSdkClient } from './clients/ops/agents-ops.client.js';
|
|
49
48
|
export { SessionsOpsClient as SessionSdkClient } from './clients/ops/sessions-ops.client.js';
|
|
50
|
-
export { MemoriesOpsClient as MemorySdkClient } from './clients/ops/memories-ops.client.js';
|
|
51
|
-
export { ToolCallsOpsClient as ToolCallSdkClient } from './clients/ops/tool-calls-ops.client.js';
|
|
52
49
|
export { BoardMessagesOpsClient as BoardSdkClient } from './clients/ops/board-messages-ops.client.js';
|
|
53
50
|
export { TasksOpsClient as TaskOpsSdkClient } from './clients/ops/tasks-ops.client.js';
|
|
54
51
|
export { ThreadMessagingOpsClient } from './clients/ops/thread-messaging.client.js';
|
|
55
|
-
// Legacy SdkFactory — wraps new factory functions for backward compat
|
|
56
|
-
export { SdkFactory } from './legacy/sdk-factory.js';
|
|
57
52
|
// F143: Config clients
|
|
58
53
|
export { SettingsClient } from './clients/admin/settings.client.js';
|
|
59
54
|
export { TaskConfigClient } from './clients/shared/task-config.client.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kFAAkF;AAClF,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAkC,MAAM,sBAAsB,CAAA;AAEtF,kFAAkF;AAClF,OAAO,EACH,gBAAgB,GAMnB,MAAM,0BAA0B,CAAA;AAEjC,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,+BAA+B,CAAA;AAE/F,iFAAiF;AACjF,OAAO,EAAE,QAAQ,EAAqB,MAAM,uBAAuB,CAAA;AAEnE,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAA2B,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,UAAU,EAAyB,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAA8B,MAAM,iCAAiC,CAAA;AAC7F,uFAAuF;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAWlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAElF,iFAAiF;AACjF,OAAO,EACH,YAAY,EACZ,iBAAiB,GAIpB,MAAM,eAAe,CAAA;AAEtB,iFAAiF;AACjF,6DAA6D;AAC7D,2FAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kFAAkF;AAClF,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAsC,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAkC,MAAM,sBAAsB,CAAA;AAEtF,kFAAkF;AAClF,OAAO,EACH,gBAAgB,GAMnB,MAAM,0BAA0B,CAAA;AAEjC,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,+BAA+B,CAAA;AAE/F,iFAAiF;AACjF,OAAO,EAAE,QAAQ,EAAqB,MAAM,uBAAuB,CAAA;AAEnE,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAA2B,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,UAAU,EAAyB,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAA8B,MAAM,iCAAiC,CAAA;AAC7F,uFAAuF;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAWlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAElF,iFAAiF;AACjF,OAAO,EACH,YAAY,EACZ,iBAAiB,GAIpB,MAAM,eAAe,CAAA;AAEtB,iFAAiF;AACjF,6DAA6D;AAC7D,2FAA2F;AAC3F,gFAAgF;AAChF,OAAO,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACtF,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAC5F,OAAO,EAAE,sBAAsB,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAA;AACrG,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAOnF,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAMnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA"}
|
|
@@ -3,12 +3,20 @@ export interface HttpClientConfig {
|
|
|
3
3
|
/** Base path prefix appended before each request path (e.g. '/api/agent/v1') */
|
|
4
4
|
basePath?: string;
|
|
5
5
|
getToken: () => string | Promise<string>;
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Called on a 401. C213: if it returns a (fresh) token string, the request is
|
|
8
|
+
* retried exactly once with that token (transparent silent-refresh). Returning
|
|
9
|
+
* void/null/empty means no refresh happened → the 401 propagates as before.
|
|
10
|
+
* The handler is responsible for de-duplicating concurrent refreshes
|
|
11
|
+
* (single-flight) so a burst of 401s rotates the refresh token only once.
|
|
12
|
+
*/
|
|
13
|
+
onUnauthorized?: () => void | Promise<string | null | void>;
|
|
7
14
|
}
|
|
8
15
|
/**
|
|
9
16
|
* HttpClient — JSON HTTP wrapper for User-JWT and Agent-JWT authenticated requests.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
17
|
+
* C213: a single transparent retry on 401 when onUnauthorized yields a fresh token
|
|
18
|
+
* (silent-refresh). Otherwise no retry — POST idempotency is not guaranteed and the
|
|
19
|
+
* one retry only re-sends the identical request after re-authentication.
|
|
12
20
|
*/
|
|
13
21
|
export declare class HttpClient {
|
|
14
22
|
private config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACP,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;YAE9B,OAAO;IAiFrB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhC;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOhD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAGtC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { SdkError, apiCodeToSdkCode, statusToSdkCode } from './errors.js';
|
|
2
2
|
/**
|
|
3
3
|
* HttpClient — JSON HTTP wrapper for User-JWT and Agent-JWT authenticated requests.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* C213: a single transparent retry on 401 when onUnauthorized yields a fresh token
|
|
5
|
+
* (silent-refresh). Otherwise no retry — POST idempotency is not guaranteed and the
|
|
6
|
+
* one retry only re-sends the identical request after re-authentication.
|
|
6
7
|
*/
|
|
7
8
|
export class HttpClient {
|
|
8
9
|
config;
|
|
@@ -20,20 +21,38 @@ export class HttpClient {
|
|
|
20
21
|
}
|
|
21
22
|
const basePath = this.config.basePath ?? '/api/agent/v1';
|
|
22
23
|
const url = `${this.config.baseUrl}${basePath}${path}`;
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const doFetch = async (bearer) => {
|
|
25
|
+
const headers = {
|
|
26
|
+
'Content-Type': 'application/json',
|
|
27
|
+
Authorization: `Bearer ${bearer}`,
|
|
28
|
+
...(init.headers ?? {}),
|
|
29
|
+
};
|
|
30
|
+
try {
|
|
31
|
+
return await fetch(url, { ...init, headers });
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
throw new SdkError('network_error', err instanceof Error ? err.message : 'Network request failed');
|
|
35
|
+
}
|
|
27
36
|
};
|
|
28
|
-
let res;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
let res = await doFetch(token);
|
|
38
|
+
// C213: transparent silent-refresh — on 401, ask the consumer to refresh.
|
|
39
|
+
// If it yields a fresh token, retry the request exactly once with it. A
|
|
40
|
+
// null/void result (refresh unavailable or failed) lets the 401 propagate.
|
|
41
|
+
// A throwing/rejecting refresh hook must not mask the 401: swallow its
|
|
42
|
+
// error and surface the consistent SdkError('unauthorized') below.
|
|
43
|
+
if (res.status === 401) {
|
|
44
|
+
let refreshed;
|
|
45
|
+
try {
|
|
46
|
+
refreshed = await this.config.onUnauthorized?.();
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
refreshed = undefined;
|
|
50
|
+
}
|
|
51
|
+
if (typeof refreshed === 'string' && refreshed && refreshed !== token) {
|
|
52
|
+
res = await doFetch(refreshed);
|
|
53
|
+
}
|
|
34
54
|
}
|
|
35
55
|
if (res.status === 401) {
|
|
36
|
-
this.config.onUnauthorized?.();
|
|
37
56
|
throw new SdkError('unauthorized', 'Unauthorized', 401);
|
|
38
57
|
}
|
|
39
58
|
if (!res.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beacon-build/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.31.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@types/react": "^19.2.0",
|
|
27
27
|
"@types/react-dom": "^19.2.0",
|
|
28
28
|
"event-source-polyfill": "^1.0.31",
|
|
29
|
-
"@beacon-build/core": "1.
|
|
29
|
+
"@beacon-build/core": "1.31.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@testing-library/react": "^16.3.2",
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SdkFactory — legacy wrapper for backward compatibility.
|
|
3
|
-
* @deprecated Use createAgentClient() + createOpsClient() instead.
|
|
4
|
-
*
|
|
5
|
-
* Previously in @beacon-build/client. Preserved for mcp/agent migration.
|
|
6
|
-
*/
|
|
7
|
-
import type { AgentContext } from '@beacon-build/core';
|
|
8
|
-
import { AgentTasksClient } from '../clients/agent/tasks.client.js';
|
|
9
|
-
import { AgentMessagingClient } from '../clients/agent/messaging.client.js';
|
|
10
|
-
import { MemoriesOpsClient } from '../clients/ops/memories-ops.client.js';
|
|
11
|
-
import { SessionsOpsClient } from '../clients/ops/sessions-ops.client.js';
|
|
12
|
-
import { ToolCallsOpsClient } from '../clients/ops/tool-calls-ops.client.js';
|
|
13
|
-
import { AgentsOpsClient } from '../clients/ops/agents-ops.client.js';
|
|
14
|
-
import { TaskConfigClient } from '../clients/shared/task-config.client.js';
|
|
15
|
-
export interface AgentSdkOptions {
|
|
16
|
-
/** Agent-scoped JWT issued by POST /api/v1/agent-token */
|
|
17
|
-
agentToken: string;
|
|
18
|
-
/** Base URL for the beacon API */
|
|
19
|
-
apiUrl: string;
|
|
20
|
-
/** OpsApiKey for /api/v1 endpoints */
|
|
21
|
-
apiKey: string;
|
|
22
|
-
}
|
|
23
|
-
export interface AgentSdk {
|
|
24
|
-
tasks: AgentTasksClient;
|
|
25
|
-
messaging: AgentMessagingClient;
|
|
26
|
-
memories: MemoriesOpsClient;
|
|
27
|
-
sessions: SessionsOpsClient;
|
|
28
|
-
toolCalls: ToolCallsOpsClient;
|
|
29
|
-
agents: AgentsOpsClient;
|
|
30
|
-
/** F143: Task config client for accessing task configuration */
|
|
31
|
-
taskConfig: TaskConfigClient;
|
|
32
|
-
}
|
|
33
|
-
/** @deprecated Use createAgentClient() + createOpsClient() instead */
|
|
34
|
-
export declare class SdkFactory {
|
|
35
|
-
static forAgent(_context: AgentContext, opts: AgentSdkOptions): AgentSdk;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=sdk-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-factory.d.ts","sourceRoot":"","sources":["../../src/legacy/sdk-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAE1E,MAAM,WAAW,eAAe;IAC5B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,gBAAgB,CAAA;IACvB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,gEAAgE;IAChE,UAAU,EAAE,gBAAgB,CAAA;CAC/B;AAED,sEAAsE;AACtE,qBAAa,UAAU;IACnB,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,QAAQ;CAiB3E"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SdkFactory — legacy wrapper for backward compatibility.
|
|
3
|
-
* @deprecated Use createAgentClient() + createOpsClient() instead.
|
|
4
|
-
*
|
|
5
|
-
* Previously in @beacon-build/client. Preserved for mcp/agent migration.
|
|
6
|
-
*/
|
|
7
|
-
import { HttpClient } from '../transport/http-client.js';
|
|
8
|
-
import { OpsApiClient } from '../transport/ops-api-client.js';
|
|
9
|
-
import { AgentTasksClient } from '../clients/agent/tasks.client.js';
|
|
10
|
-
import { AgentMessagingClient } from '../clients/agent/messaging.client.js';
|
|
11
|
-
import { MemoriesOpsClient } from '../clients/ops/memories-ops.client.js';
|
|
12
|
-
import { SessionsOpsClient } from '../clients/ops/sessions-ops.client.js';
|
|
13
|
-
import { ToolCallsOpsClient } from '../clients/ops/tool-calls-ops.client.js';
|
|
14
|
-
import { AgentsOpsClient } from '../clients/ops/agents-ops.client.js';
|
|
15
|
-
import { TaskConfigClient } from '../clients/shared/task-config.client.js';
|
|
16
|
-
/** @deprecated Use createAgentClient() + createOpsClient() instead */
|
|
17
|
-
export class SdkFactory {
|
|
18
|
-
static forAgent(_context, opts) {
|
|
19
|
-
const http = new HttpClient({
|
|
20
|
-
baseUrl: opts.apiUrl,
|
|
21
|
-
basePath: '/api/agent/v1',
|
|
22
|
-
getToken: () => opts.agentToken,
|
|
23
|
-
});
|
|
24
|
-
const opsApi = new OpsApiClient({ baseUrl: opts.apiUrl, apiKey: opts.apiKey });
|
|
25
|
-
return {
|
|
26
|
-
tasks: new AgentTasksClient(http),
|
|
27
|
-
messaging: new AgentMessagingClient(http),
|
|
28
|
-
memories: new MemoriesOpsClient(opsApi),
|
|
29
|
-
sessions: new SessionsOpsClient(opsApi),
|
|
30
|
-
toolCalls: new ToolCallsOpsClient(opsApi),
|
|
31
|
-
agents: new AgentsOpsClient(opsApi),
|
|
32
|
-
taskConfig: new TaskConfigClient(http),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=sdk-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-factory.js","sourceRoot":"","sources":["../../src/legacy/sdk-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAsB1E,sEAAsE;AACtE,MAAM,OAAO,UAAU;IACnB,MAAM,CAAC,QAAQ,CAAC,QAAsB,EAAE,IAAqB;QACzD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;YACxB,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,QAAQ,EAAE,eAAe;YACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU;SAClC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAC9E,OAAO;YACH,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;YACjC,SAAS,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC;YACzC,QAAQ,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC;YACvC,QAAQ,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC;YACvC,SAAS,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC;YACzC,MAAM,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC;YACnC,UAAU,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;SACzC,CAAA;IACL,CAAC;CACJ"}
|