@prefactor/core 0.3.2 → 0.3.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.
- package/dist/client.d.ts +6 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +11 -4
- package/dist/client.js.map +1 -1
- package/dist/create-core.d.ts +6 -1
- package/dist/create-core.d.ts.map +1 -1
- package/dist/create-core.js +5 -2
- package/dist/create-core.js.map +1 -1
- package/dist/index.cjs +46 -10
- package/dist/index.cjs.map +9 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -10
- package/dist/index.js.map +9 -7
- package/dist/transport/http/http-client.d.ts +3 -0
- package/dist/transport/http/http-client.d.ts.map +1 -1
- package/dist/transport/http/http-client.js +7 -1
- package/dist/transport/http/http-client.js.map +1 -1
- package/dist/transport/http/sdk-request-header.d.ts +5 -0
- package/dist/transport/http/sdk-request-header.d.ts.map +1 -0
- package/dist/transport/http/sdk-request-header.js +26 -0
- package/dist/transport/http/sdk-request-header.js.map +1 -0
- package/dist/transport/http.d.ts +2 -0
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +4 -2
- package/dist/transport/http.js.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -36,6 +36,12 @@ export interface PrefactorProvider<TMiddleware = MiddlewareLike> {
|
|
|
36
36
|
* Optional provider-level cleanup hook invoked during client shutdown.
|
|
37
37
|
*/
|
|
38
38
|
shutdown?: () => void | Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the SDK header entry to append to HTTP requests created by the core runtime.
|
|
41
|
+
*
|
|
42
|
+
* @returns Adapter-specific SDK identifier, or `undefined` to use the core header only.
|
|
43
|
+
*/
|
|
44
|
+
getSdkHeaderEntry?: () => string | undefined;
|
|
39
45
|
/**
|
|
40
46
|
* Normalizes a user- or provider-authored agent schema before core registers it.
|
|
41
47
|
*
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,WAAW,GAAG,cAAc;IAC7D;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;IAClG;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACzC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACnE;AAKD,qBAAa,eAAe,CAAC,WAAW,GAAG,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D;;;;;;OAMG;gBAED,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC;IAO1C;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,aAAa,IAAI,WAAW;IAI5B;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAa7E;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAShC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,WAAW,GAAG,cAAc;IAC5D,mEAAmE;IACnE,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,WAAW,GAAG,cAAc,EAC/C,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,GACrC,eAAe,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,WAAW,GAAG,cAAc;IAC7D;;;;;;;OAOG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;IAClG;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACzC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACnE;AAKD,qBAAa,eAAe,CAAC,WAAW,GAAG,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D;;;;;;OAMG;gBAED,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC;IAO1C;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAInB;;;;OAIG;IACH,aAAa,IAAI,WAAW;IAI5B;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAa7E;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAShC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,WAAW,GAAG,cAAc;IAC5D,mEAAmE;IACnE,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,WAAW,GAAG,cAAc,EAC/C,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,GACrC,eAAe,CAAC,WAAW,CAAC,CA6D9B;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAElE"}
|
package/dist/client.js
CHANGED
|
@@ -78,7 +78,8 @@ export class PrefactorClient {
|
|
|
78
78
|
* @returns Global Prefactor client instance.
|
|
79
79
|
*/
|
|
80
80
|
export function init(options) {
|
|
81
|
-
const
|
|
81
|
+
const sdkHeaderEntry = options.provider.getSdkHeaderEntry?.();
|
|
82
|
+
const nextInitKey = buildInitKey(options, sdkHeaderEntry);
|
|
82
83
|
if (prefactorClient) {
|
|
83
84
|
if (prefactorInitKey !== nextInitKey) {
|
|
84
85
|
throw new Error('Prefactor is already initialized with a different provider or configuration. ' +
|
|
@@ -111,7 +112,9 @@ export function init(options) {
|
|
|
111
112
|
};
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
const core = createCore(finalConfig
|
|
115
|
+
const core = createCore(finalConfig, {
|
|
116
|
+
sdkHeaderEntry,
|
|
117
|
+
});
|
|
115
118
|
const httpConfig = finalConfig.httpConfig;
|
|
116
119
|
if (httpConfig?.agentSchema) {
|
|
117
120
|
core.agentManager.registerSchema(httpConfig.agentSchema);
|
|
@@ -129,9 +132,13 @@ export function init(options) {
|
|
|
129
132
|
export function getClient() {
|
|
130
133
|
return prefactorClient;
|
|
131
134
|
}
|
|
132
|
-
function buildInitKey(options) {
|
|
135
|
+
function buildInitKey(options, sdkHeaderEntry) {
|
|
133
136
|
const providerType = options.provider.constructor?.name ?? 'anonymous-provider';
|
|
134
|
-
return
|
|
137
|
+
return stableStringify({
|
|
138
|
+
providerType,
|
|
139
|
+
httpConfig: options.httpConfig ?? null,
|
|
140
|
+
sdkHeaderEntry: sdkHeaderEntry ?? null,
|
|
141
|
+
});
|
|
135
142
|
}
|
|
136
143
|
function stableStringify(value) {
|
|
137
144
|
return JSON.stringify(normalizeValue(value));
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/create-core.d.ts
CHANGED
|
@@ -9,11 +9,16 @@ export type CoreRuntime = {
|
|
|
9
9
|
/** Gracefully shuts down the runtime and flushes transport work. */
|
|
10
10
|
shutdown: () => Promise<void>;
|
|
11
11
|
};
|
|
12
|
+
export type CreateCoreOptions = {
|
|
13
|
+
/** Optional adapter identifier appended ahead of the core SDK header. */
|
|
14
|
+
sdkHeaderEntry?: string;
|
|
15
|
+
};
|
|
12
16
|
/**
|
|
13
17
|
* Creates a fully initialized core runtime from validated SDK configuration.
|
|
14
18
|
*
|
|
15
19
|
* @param config - Resolved SDK configuration.
|
|
20
|
+
* @param options - Optional runtime construction options.
|
|
16
21
|
* @returns Runtime containing tracer, agent manager, and shutdown function.
|
|
17
22
|
*/
|
|
18
|
-
export declare function createCore(config: Config): CoreRuntime;
|
|
23
|
+
export declare function createCore(config: Config, options?: CreateCoreOptions): CoreRuntime;
|
|
19
24
|
//# sourceMappingURL=create-core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core.d.ts","sourceRoot":"","sources":["../src/create-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,MAAM,WAAW,GAAG;IACxB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IAEf,0EAA0E;IAC1E,YAAY,EAAE,oBAAoB,CAAC;IAEnC,oEAAoE;IACpE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"create-core.d.ts","sourceRoot":"","sources":["../src/create-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,MAAM,WAAW,GAAG;IACxB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IAEf,0EAA0E;IAC1E,YAAY,EAAE,oBAAoB,CAAC;IAEnC,oEAAoE;IACpE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,WAAW,CAoCvF"}
|
package/dist/create-core.js
CHANGED
|
@@ -9,14 +9,17 @@ import { HttpTransport } from './transport/http.js';
|
|
|
9
9
|
* Creates a fully initialized core runtime from validated SDK configuration.
|
|
10
10
|
*
|
|
11
11
|
* @param config - Resolved SDK configuration.
|
|
12
|
+
* @param options - Optional runtime construction options.
|
|
12
13
|
* @returns Runtime containing tracer, agent manager, and shutdown function.
|
|
13
14
|
*/
|
|
14
|
-
export function createCore(config) {
|
|
15
|
+
export function createCore(config, options = {}) {
|
|
15
16
|
if (!config.httpConfig) {
|
|
16
17
|
throw new Error('HTTP transport requires httpConfig to be provided in configuration');
|
|
17
18
|
}
|
|
18
19
|
const httpConfig = HttpTransportConfigSchema.parse(config.httpConfig);
|
|
19
|
-
const transport =
|
|
20
|
+
const transport = options.sdkHeaderEntry === undefined
|
|
21
|
+
? new HttpTransport(httpConfig)
|
|
22
|
+
: new HttpTransport(httpConfig, options.sdkHeaderEntry);
|
|
20
23
|
let partition;
|
|
21
24
|
if (config.httpConfig.agentId) {
|
|
22
25
|
try {
|
package/dist/create-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core.js","sourceRoot":"","sources":["../src/create-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-core.js","sourceRoot":"","sources":["../src/create-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkBpD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,UAA6B,EAAE;IACxE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,SAAS,GACb,OAAO,CAAC,cAAc,KAAK,SAAS;QAClC,CAAC,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC;QAC/B,CAAC,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5D,IAAI,SAAgC,CAAC;IACrC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC,SAAS,EAAE;QACvD,uBAAuB;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;QACzC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1B,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAChE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -623,6 +623,32 @@ function calculateRetryDelay(attempt, config, random = Math.random) {
|
|
|
623
623
|
return Math.round(baseDelay * jitterMultiplier);
|
|
624
624
|
}
|
|
625
625
|
|
|
626
|
+
// packages/core/src/version.ts
|
|
627
|
+
var PACKAGE_NAME = "@prefactor/core";
|
|
628
|
+
var PACKAGE_VERSION = "0.3.3";
|
|
629
|
+
|
|
630
|
+
// packages/core/src/transport/http/sdk-request-header.ts
|
|
631
|
+
var DEFAULT_SDK_REQUEST_HEADER = formatSdkHeaderEntry(PACKAGE_NAME, PACKAGE_VERSION);
|
|
632
|
+
function buildSdkRequestHeader(...entries) {
|
|
633
|
+
const parts = [
|
|
634
|
+
...entries.filter((entry) => Boolean(entry)).map((entry) => normalizeSdkHeaderEntry(entry)),
|
|
635
|
+
DEFAULT_SDK_REQUEST_HEADER
|
|
636
|
+
];
|
|
637
|
+
return Array.from(new Set(parts)).join(" ");
|
|
638
|
+
}
|
|
639
|
+
function normalizeSdkHeaderEntry(entry) {
|
|
640
|
+
const atIndex = entry.lastIndexOf("@");
|
|
641
|
+
if (atIndex <= 0) {
|
|
642
|
+
return entry;
|
|
643
|
+
}
|
|
644
|
+
const packageName = entry.slice(0, atIndex);
|
|
645
|
+
const version = entry.slice(atIndex + 1);
|
|
646
|
+
return version ? `${packageName}@${version}` : packageName;
|
|
647
|
+
}
|
|
648
|
+
function formatSdkHeaderEntry(packageName, version) {
|
|
649
|
+
return `${packageName}@${version}`;
|
|
650
|
+
}
|
|
651
|
+
|
|
626
652
|
// packages/core/src/transport/http/http-client.ts
|
|
627
653
|
class HttpClientError extends Error {
|
|
628
654
|
url;
|
|
@@ -648,11 +674,13 @@ class HttpClient {
|
|
|
648
674
|
fetchFn;
|
|
649
675
|
sleep;
|
|
650
676
|
random;
|
|
651
|
-
|
|
677
|
+
sdkHeader;
|
|
678
|
+
constructor(config, dependencies = {}, sdkHeaderEntry) {
|
|
652
679
|
this.config = config;
|
|
653
680
|
this.fetchFn = dependencies.fetchFn ?? fetch;
|
|
654
681
|
this.sleep = dependencies.sleep ?? ((delayMs) => new Promise((resolve) => setTimeout(resolve, delayMs)));
|
|
655
682
|
this.random = dependencies.random ?? Math.random;
|
|
683
|
+
this.sdkHeader = sdkHeaderEntry ? buildSdkRequestHeader(sdkHeaderEntry) : DEFAULT_SDK_REQUEST_HEADER;
|
|
656
684
|
}
|
|
657
685
|
async request(path, options = {}) {
|
|
658
686
|
const url = new URL(path, this.config.apiUrl).toString();
|
|
@@ -661,6 +689,7 @@ class HttpClient {
|
|
|
661
689
|
while (true) {
|
|
662
690
|
const headers = new Headers(options.headers);
|
|
663
691
|
headers.set("Authorization", `Bearer ${this.config.apiToken}`);
|
|
692
|
+
headers.set("X-Prefactor-SDK", this.sdkHeader);
|
|
664
693
|
if (options.body !== undefined && !headers.has("Content-Type")) {
|
|
665
694
|
headers.set("Content-Type", "application/json");
|
|
666
695
|
}
|
|
@@ -800,9 +829,9 @@ class HttpTransport {
|
|
|
800
829
|
spanIdMap = new Map;
|
|
801
830
|
pendingFinishes = new Map;
|
|
802
831
|
pendingChildren = new Map;
|
|
803
|
-
constructor(config) {
|
|
832
|
+
constructor(config, sdkHeaderEntry) {
|
|
804
833
|
this.config = config;
|
|
805
|
-
const httpClient = new HttpClient(config);
|
|
834
|
+
const httpClient = sdkHeaderEntry === undefined ? new HttpClient(config) : new HttpClient(config, {}, sdkHeaderEntry);
|
|
806
835
|
this.agentInstanceClient = new AgentInstanceClient(httpClient);
|
|
807
836
|
this.agentSpanClient = new AgentSpanClient(httpClient);
|
|
808
837
|
this.taskExecutor = new TaskExecutor(this.actionQueue, this.processAction, {
|
|
@@ -1088,12 +1117,12 @@ class HttpTransport {
|
|
|
1088
1117
|
}
|
|
1089
1118
|
|
|
1090
1119
|
// packages/core/src/create-core.ts
|
|
1091
|
-
function createCore(config) {
|
|
1120
|
+
function createCore(config, options = {}) {
|
|
1092
1121
|
if (!config.httpConfig) {
|
|
1093
1122
|
throw new Error("HTTP transport requires httpConfig to be provided in configuration");
|
|
1094
1123
|
}
|
|
1095
1124
|
const httpConfig = HttpTransportConfigSchema.parse(config.httpConfig);
|
|
1096
|
-
const transport = new HttpTransport(httpConfig);
|
|
1125
|
+
const transport = options.sdkHeaderEntry === undefined ? new HttpTransport(httpConfig) : new HttpTransport(httpConfig, options.sdkHeaderEntry);
|
|
1097
1126
|
let partition;
|
|
1098
1127
|
if (config.httpConfig.agentId) {
|
|
1099
1128
|
try {
|
|
@@ -1205,7 +1234,8 @@ class PrefactorClient {
|
|
|
1205
1234
|
}
|
|
1206
1235
|
}
|
|
1207
1236
|
function init(options) {
|
|
1208
|
-
const
|
|
1237
|
+
const sdkHeaderEntry = options.provider.getSdkHeaderEntry?.();
|
|
1238
|
+
const nextInitKey = buildInitKey(options, sdkHeaderEntry);
|
|
1209
1239
|
if (prefactorClient) {
|
|
1210
1240
|
if (prefactorInitKey !== nextInitKey) {
|
|
1211
1241
|
throw new Error("Prefactor is already initialized with a different provider or configuration. " + "Call shutdown() before re-initializing with different options.");
|
|
@@ -1237,7 +1267,9 @@ function init(options) {
|
|
|
1237
1267
|
};
|
|
1238
1268
|
}
|
|
1239
1269
|
}
|
|
1240
|
-
const core = createCore(finalConfig
|
|
1270
|
+
const core = createCore(finalConfig, {
|
|
1271
|
+
sdkHeaderEntry
|
|
1272
|
+
});
|
|
1241
1273
|
const httpConfig = finalConfig.httpConfig;
|
|
1242
1274
|
if (httpConfig?.agentSchema) {
|
|
1243
1275
|
core.agentManager.registerSchema(httpConfig.agentSchema);
|
|
@@ -1250,9 +1282,13 @@ function init(options) {
|
|
|
1250
1282
|
function getClient() {
|
|
1251
1283
|
return prefactorClient;
|
|
1252
1284
|
}
|
|
1253
|
-
function buildInitKey(options) {
|
|
1285
|
+
function buildInitKey(options, sdkHeaderEntry) {
|
|
1254
1286
|
const providerType = options.provider.constructor?.name ?? "anonymous-provider";
|
|
1255
|
-
return
|
|
1287
|
+
return stableStringify2({
|
|
1288
|
+
providerType,
|
|
1289
|
+
httpConfig: options.httpConfig ?? null,
|
|
1290
|
+
sdkHeaderEntry: sdkHeaderEntry ?? null
|
|
1291
|
+
});
|
|
1256
1292
|
}
|
|
1257
1293
|
function stableStringify2(value) {
|
|
1258
1294
|
return JSON.stringify(normalizeValue2(value));
|
|
@@ -1460,4 +1496,4 @@ function serializeValue(value, maxLength = 1e4) {
|
|
|
1460
1496
|
}
|
|
1461
1497
|
}
|
|
1462
1498
|
|
|
1463
|
-
//# debugId=
|
|
1499
|
+
//# debugId=3EC702ECBCC3224764756E2164756E21
|