@beacon-build/sdk 3.30.0 → 3.30.1
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 +9 -0
- package/dist/auth/rotating-jwt-provider.d.ts +33 -1
- package/dist/auth/rotating-jwt-provider.d.ts.map +1 -1
- package/dist/auth/rotating-jwt-provider.js +59 -4
- package/dist/auth/rotating-jwt-provider.js.map +1 -1
- package/dist/index.auth-and-capture.d.ts +1 -1
- package/dist/index.auth-and-capture.d.ts.map +1 -1
- package/dist/index.auth-and-capture.js +1 -1
- package/dist/index.auth-and-capture.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @beacon-build/sdk Changelog
|
|
2
2
|
|
|
3
|
+
## 3.30.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e08b1ea: B1584: the client_credentials boot mint retries a transient refusal (5xx, network error) with bounded backoff and fails fast with the credential remediation only on an authentication refusal; Argus boots through it.
|
|
8
|
+
- Updated dependencies [ec8b69b]
|
|
9
|
+
- Updated dependencies [6a34e77]
|
|
10
|
+
- @beacon-build/core@3.30.1
|
|
11
|
+
|
|
3
12
|
## 3.30.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -77,11 +77,43 @@ export interface RotatingJwtProviderOptions {
|
|
|
77
77
|
* path an ordinary resolution failure already takes, because it bypasses that `.catch()`
|
|
78
78
|
* entirely and kills the whole process instead of just disabling one feature. */
|
|
79
79
|
onBootMintFailure?: 'exit' | 'throw';
|
|
80
|
+
/** B1584: bounded backoff retry of a TRANSIENT boot-mint failure (see {@link isTransientMintError}):
|
|
81
|
+
* a platform that is still starting (5xx, network error) is the normal case whenever the API and
|
|
82
|
+
* its machine callers restart together, so it must not end the boot. Any other failure (an
|
|
83
|
+
* authentication refusal, a malformed answer, the B710 timeout) still fails at once. Defaults to
|
|
84
|
+
* {@link DEFAULT_BOOT_RETRY}; `false` turns the retry off. */
|
|
85
|
+
bootRetry?: false | BootRetryOptions;
|
|
80
86
|
}
|
|
87
|
+
export interface BootRetryOptions {
|
|
88
|
+
/** Total time the retries may take, ms (default 90 s): once the next wait would pass it, give up. */
|
|
89
|
+
windowMs?: number;
|
|
90
|
+
/** First wait, ms; doubles per attempt (default 1 s). */
|
|
91
|
+
initialDelayMs?: number;
|
|
92
|
+
/** Upper bound of one wait, ms (default 10 s). */
|
|
93
|
+
maxDelayMs?: number;
|
|
94
|
+
/** Test seam: the wait (default `setTimeout`). */
|
|
95
|
+
sleep?: (ms: number) => Promise<void>;
|
|
96
|
+
/** Test seam: the clock (default `Date.now`). */
|
|
97
|
+
now?: () => number;
|
|
98
|
+
}
|
|
99
|
+
export declare const DEFAULT_BOOT_RETRY: {
|
|
100
|
+
readonly windowMs: 90000;
|
|
101
|
+
readonly initialDelayMs: 1000;
|
|
102
|
+
readonly maxDelayMs: 10000;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* B1584: the ONE classification of a mint failure as transient (the platform could not answer: retry)
|
|
106
|
+
* versus an authentication/contract failure (fail fast). A mint function marks a transient failure by
|
|
107
|
+
* throwing an error with `transient === true` (`ClientCredentialsMintError` does for a 5xx, a 408/429
|
|
108
|
+
* and a network error); every other error, a plain `Error` included, is not transient.
|
|
109
|
+
*/
|
|
110
|
+
export declare function isTransientMintError(err: unknown): err is Error & {
|
|
111
|
+
transient: true;
|
|
112
|
+
};
|
|
81
113
|
/**
|
|
82
114
|
* Mint `mintFn` once at boot (fail-fast on failure — exits the process), then keep the
|
|
83
115
|
* token rotating for the life of a long-running daemon on an unref'd timer. Returns a
|
|
84
116
|
* PROVIDER — re-read per request — never a captured string.
|
|
85
117
|
*/
|
|
86
|
-
export declare function createRotatingJwtProvider(mintFn: () => Promise<JwtMintResult>, { refreshMs, log, timeoutMs, onBootMintFailure, }: RotatingJwtProviderOptions): Promise<() => string>;
|
|
118
|
+
export declare function createRotatingJwtProvider(mintFn: () => Promise<JwtMintResult>, { refreshMs, log, timeoutMs, onBootMintFailure, bootRetry, }: RotatingJwtProviderOptions): Promise<() => string>;
|
|
87
119
|
//# sourceMappingURL=rotating-jwt-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotating-jwt-provider.d.ts","sourceRoot":"","sources":["../../src/auth/rotating-jwt-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAClE;AAED;;iFAEiF;AACjF,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACvC;AAED;;kEAEkE;AAClE,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAE7C,MAAM,WAAW,0BAA0B;IACvC;;mEAE+D;IAC/D,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB;;;qCAGiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;;sFASkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACvC;
|
|
1
|
+
{"version":3,"file":"rotating-jwt-provider.d.ts","sourceRoot":"","sources":["../../src/auth/rotating-jwt-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAClE;AAED;;iFAEiF;AACjF,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACvC;AAED;;kEAEkE;AAClE,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAE7C,MAAM,WAAW,0BAA0B;IACvC;;mEAE+D;IAC/D,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB;;;qCAGiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;;sFASkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACpC;;;;mEAI+D;IAC/D,SAAS,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAA;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC7B,qGAAqG;IACrG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAA;AAEV;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,KAAK,GAAG;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,CAErF;AAqGD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC3C,MAAM,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EACpC,EACI,SAAS,EACT,GAAG,EACH,SAAmC,EACnC,iBAA0B,EAC1B,SAAc,GACjB,EAAE,0BAA0B,GAC9B,OAAO,CAAC,MAAM,MAAM,CAAC,CAsBvB"}
|
|
@@ -44,6 +44,20 @@
|
|
|
44
44
|
* the 60s external MCP-client readiness gate observed live, leaving headroom for the rest
|
|
45
45
|
* of `register()`/`connect()` to run inside that same window. */
|
|
46
46
|
export const DEFAULT_MINT_TIMEOUT_MS = 30_000;
|
|
47
|
+
export const DEFAULT_BOOT_RETRY = {
|
|
48
|
+
windowMs: 90_000,
|
|
49
|
+
initialDelayMs: 1_000,
|
|
50
|
+
maxDelayMs: 10_000,
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* B1584: the ONE classification of a mint failure as transient (the platform could not answer: retry)
|
|
54
|
+
* versus an authentication/contract failure (fail fast). A mint function marks a transient failure by
|
|
55
|
+
* throwing an error with `transient === true` (`ClientCredentialsMintError` does for a 5xx, a 408/429
|
|
56
|
+
* and a network error); every other error, a plain `Error` included, is not transient.
|
|
57
|
+
*/
|
|
58
|
+
export function isTransientMintError(err) {
|
|
59
|
+
return err instanceof Error && err.transient === true;
|
|
60
|
+
}
|
|
47
61
|
/**
|
|
48
62
|
* B710: race `mintFn()` against a timer so a hung network call can never block its caller
|
|
49
63
|
* past `timeoutMs`. The timer is cleared on either outcome (settle-first wins) and never
|
|
@@ -65,9 +79,50 @@ function withMintTimeout(mintFn, timeoutMs) {
|
|
|
65
79
|
});
|
|
66
80
|
});
|
|
67
81
|
}
|
|
68
|
-
|
|
82
|
+
/**
|
|
83
|
+
* B1584: `withMintTimeout(mintFn)` with a bounded exponential-backoff retry of a TRANSIENT failure.
|
|
84
|
+
* One log line per failed attempt. When the window runs out the error names the real cause - the
|
|
85
|
+
* authorization server is unavailable (last status, attempts, duration) - and carries none of the
|
|
86
|
+
* mint function's credential remediation (the credentials were never judged wrong).
|
|
87
|
+
*/
|
|
88
|
+
async function mintWithBootRetry(mintFn, log, timeoutMs, retry) {
|
|
89
|
+
if (retry === false)
|
|
90
|
+
return withMintTimeout(mintFn, timeoutMs);
|
|
91
|
+
const windowMs = retry.windowMs ?? DEFAULT_BOOT_RETRY.windowMs;
|
|
92
|
+
const initialDelayMs = retry.initialDelayMs ?? DEFAULT_BOOT_RETRY.initialDelayMs;
|
|
93
|
+
const maxDelayMs = retry.maxDelayMs ?? DEFAULT_BOOT_RETRY.maxDelayMs;
|
|
94
|
+
const now = retry.now ?? Date.now;
|
|
95
|
+
const sleep = retry.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
96
|
+
const startedAt = now();
|
|
97
|
+
for (let attempt = 1;; attempt++) {
|
|
98
|
+
try {
|
|
99
|
+
return await withMintTimeout(mintFn, timeoutMs);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
if (!isTransientMintError(err))
|
|
103
|
+
throw err;
|
|
104
|
+
const status = err.status;
|
|
105
|
+
const delayMs = Math.min(maxDelayMs, initialDelayMs * 2 ** (attempt - 1));
|
|
106
|
+
const elapsedMs = now() - startedAt;
|
|
107
|
+
if (elapsedMs + delayMs > windowMs) {
|
|
108
|
+
const seconds = Math.round(elapsedMs / 1000);
|
|
109
|
+
throw new Error(`authorization server unavailable: ${attempt} attempts over ${seconds}s, ` +
|
|
110
|
+
`last ${typeof status === 'number' ? `status ${status}` : 'error (no HTTP answer)'}` +
|
|
111
|
+
` - ${err.message}`);
|
|
112
|
+
}
|
|
113
|
+
log.info('rotating JWT boot mint attempt failed (transient) - retrying', {
|
|
114
|
+
attempt,
|
|
115
|
+
status: typeof status === 'number' ? status : null,
|
|
116
|
+
error: err.message,
|
|
117
|
+
retryInMs: delayMs,
|
|
118
|
+
});
|
|
119
|
+
await sleep(delayMs);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
async function mintAtBoot(mintFn, log, timeoutMs, onBootMintFailure, bootRetry) {
|
|
69
124
|
try {
|
|
70
|
-
const { token, logContext } = await
|
|
125
|
+
const { token, logContext } = await mintWithBootRetry(mintFn, log, timeoutMs, bootRetry);
|
|
71
126
|
log.info('minted rotating JWT at boot', logContext);
|
|
72
127
|
return token;
|
|
73
128
|
}
|
|
@@ -89,8 +144,8 @@ async function mintAtBoot(mintFn, log, timeoutMs, onBootMintFailure) {
|
|
|
89
144
|
* token rotating for the life of a long-running daemon on an unref'd timer. Returns a
|
|
90
145
|
* PROVIDER — re-read per request — never a captured string.
|
|
91
146
|
*/
|
|
92
|
-
export async function createRotatingJwtProvider(mintFn, { refreshMs, log, timeoutMs = DEFAULT_MINT_TIMEOUT_MS, onBootMintFailure = 'exit', }) {
|
|
93
|
-
let current = await mintAtBoot(mintFn, log, timeoutMs, onBootMintFailure);
|
|
147
|
+
export async function createRotatingJwtProvider(mintFn, { refreshMs, log, timeoutMs = DEFAULT_MINT_TIMEOUT_MS, onBootMintFailure = 'exit', bootRetry = {}, }) {
|
|
148
|
+
let current = await mintAtBoot(mintFn, log, timeoutMs, onBootMintFailure, bootRetry);
|
|
94
149
|
const timer = setInterval(() => {
|
|
95
150
|
void (async () => {
|
|
96
151
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotating-jwt-provider.js","sourceRoot":"","sources":["../../src/auth/rotating-jwt-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAeH;;kEAEkE;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"rotating-jwt-provider.js","sourceRoot":"","sources":["../../src/auth/rotating-jwt-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* dependency and stays here so `@beacon-build/sdk-internal`'s own Argus-JWT helper (and any
|
|
10
10
|
* other rotating-credential consumer) can build on it without pulling in anything internal.
|
|
11
11
|
*/
|
|
12
|
-
export { createRotatingJwtProvider, type RotatingJwtLog, type JwtMintResult, type RotatingJwtProviderOptions, } from './auth/rotating-jwt-provider.js';
|
|
12
|
+
export { createRotatingJwtProvider, isTransientMintError, DEFAULT_BOOT_RETRY, type BootRetryOptions, type RotatingJwtLog, type JwtMintResult, type RotatingJwtProviderOptions, } from './auth/rotating-jwt-provider.js';
|
|
13
13
|
export { CaptureClient, type CapturedEntry, type CapturedToolUse, type CaptureJob, } from './clients/capture.client.js';
|
|
14
14
|
export { KnowledgeClient, type KnowledgeSearchOptions, type KnowledgeNodeGetOptions, type KnowledgeOutlineOptions, type KnowledgeHistoryOptions, type KnowledgeDiffOptions, type KnowledgeCreateNodeInput, type KnowledgePatchInput, type KnowledgeDraftInput, type KnowledgeDecisionInput, type KnowledgeQuestionInput, type KnowledgeLinkInput, type KnowledgeTransitionInput, type KnowledgeSetMasterInput, type KnowledgeApproveDraftsOptions, type KnowledgeContextOptions, type KnowledgeContextResult, type KnowledgeModelOptions, type KnowledgeModelResult, type ModelSchema, type ModelType, type ModelField, type ModelReference, type ModelRelation, type ModelSection, type KnowledgeModelI18nOptions, type KnowledgeModelI18nResult, type ModelI18nLanguage, type ModelTypeText, type TaskModelLinkType, type TaskModelLinkInput, type TaskModelLink, type TaskModelLinkResult, type TaskModelLinkWarning, type NodeTaskLink, type KnowledgeAudience, type KnowledgeMaster, type KnowledgeNodeScope, type KnowledgeListScope, type KnowledgeListSort, type KnowledgeListOptions, type KnowledgeListResult, type KnowledgeNodeSummary, type KnowledgeNodeDegree, type KnowledgeDegreeOptions, type KnowledgeSearchHit, type KnowledgeSearchResult, type KnowledgeSource, type KnowledgeAccess, type KnowledgeAllowedAction, type KnowledgeAllowedActions, type KnowledgeNodeResult, type KnowledgeNodeReference, type KnowledgeNodeSection, type KnowledgeFinding, type KnowledgeRelation, type KnowledgeRelationDirection, type KnowledgeRelationsOptions, type KnowledgeRelationsResult, type KnowledgeOutlineResult, type KnowledgeHistoryVersion, type KnowledgeHistoryEvent, type KnowledgeHistoryResult, type KnowledgeDiffResult, type KnowledgeDiffSection, type KnowledgeTransitionResult, type KnowledgeReviewItem, type KnowledgeWriteBack, type KnowledgeReviewQueueOptions, type KnowledgeReviewQueueResult, type KnowledgeComment, type KnowledgeAddCommentInput, type KnowledgeListCommentsOptions, type KnowledgeApprovalRule, } from './clients/knowledge.client.js';
|
|
15
15
|
//# sourceMappingURL=index.auth-and-capture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.auth-and-capture.d.ts","sourceRoot":"","sources":["../src/index.auth-and-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACH,yBAAyB,EACzB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,0BAA0B,GAClC,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EACH,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,GAClB,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EACH,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAElC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAE3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC7B,MAAM,+BAA+B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.auth-and-capture.d.ts","sourceRoot":"","sources":["../src/index.auth-and-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACH,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,0BAA0B,GAClC,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EACH,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,GAClB,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EACH,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAElC,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAE3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC7B,MAAM,+BAA+B,CAAA"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* other rotating-credential consumer) can build on it without pulling in anything internal.
|
|
11
11
|
*/
|
|
12
12
|
// ── Rotating JWT provider (C573 — DRY, B468 follow-up) ────────────────────────
|
|
13
|
-
export { createRotatingJwtProvider, } from './auth/rotating-jwt-provider.js';
|
|
13
|
+
export { createRotatingJwtProvider, isTransientMintError, DEFAULT_BOOT_RETRY, } from './auth/rotating-jwt-provider.js';
|
|
14
14
|
// ── Capture client (C958 — DRY: sidecar + portal ingest) ──────────────────────
|
|
15
15
|
export { CaptureClient, } from './clients/capture.client.js';
|
|
16
16
|
// ── Knowledge client (F738) ──────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.auth-and-capture.js","sourceRoot":"","sources":["../src/index.auth-and-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iFAAiF;AACjF,OAAO,EACH,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.auth-and-capture.js","sourceRoot":"","sources":["../src/index.auth-and-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iFAAiF;AACjF,OAAO,EACH,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GAKrB,MAAM,iCAAiC,CAAA;AAExC,iFAAiF;AACjF,OAAO,EACH,aAAa,GAIhB,MAAM,6BAA6B,CAAA;AAEpC,gFAAgF;AAChF,OAAO,EACH,eAAe,GAgFlB,MAAM,+BAA+B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beacon-build/sdk",
|
|
3
|
-
"version": "3.30.
|
|
3
|
+
"version": "3.30.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@types/react": "^19.2.0",
|
|
29
29
|
"@types/react-dom": "^19.2.0",
|
|
30
30
|
"event-source-polyfill": "^1.0.31",
|
|
31
|
-
"@beacon-build/core": "3.30.
|
|
31
|
+
"@beacon-build/core": "3.30.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@testing-library/react": "^16.3.2",
|