@prefactor/core 0.2.0 → 0.2.2
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/agent/instance-manager.d.ts +5 -8
- package/dist/agent/instance-manager.d.ts.map +1 -1
- package/dist/agent/instance-manager.js +34 -55
- package/dist/agent/instance-manager.js.map +1 -1
- package/dist/config.d.ts +15 -63
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +29 -20
- package/dist/config.js.map +1 -1
- package/dist/create-core.d.ts +0 -2
- package/dist/create-core.d.ts.map +1 -1
- package/dist/create-core.js +17 -28
- package/dist/create-core.js.map +1 -1
- package/dist/index.cjs +678 -453
- package/dist/index.cjs.map +20 -15
- package/dist/index.d.ts +4 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +678 -453
- package/dist/index.js.map +20 -15
- package/dist/lifecycle.d.ts +5 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +27 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/queue/actions.d.ts +15 -26
- package/dist/queue/actions.d.ts.map +1 -1
- package/dist/queue/base.d.ts +15 -3
- package/dist/queue/base.d.ts.map +1 -1
- package/dist/queue/in-memory-queue.d.ts +11 -0
- package/dist/queue/in-memory-queue.d.ts.map +1 -0
- package/dist/queue/in-memory-queue.js +46 -0
- package/dist/queue/in-memory-queue.js.map +1 -0
- package/dist/queue/task-executor.d.ts +18 -0
- package/dist/queue/task-executor.d.ts.map +1 -0
- package/dist/queue/task-executor.js +77 -0
- package/dist/queue/task-executor.js.map +1 -0
- package/dist/tracing/active-tracer.d.ts +5 -0
- package/dist/tracing/active-tracer.d.ts.map +1 -0
- package/dist/tracing/active-tracer.js +13 -0
- package/dist/tracing/active-tracer.js.map +1 -0
- package/dist/tracing/span.d.ts +7 -14
- package/dist/tracing/span.d.ts.map +1 -1
- package/dist/tracing/span.js +5 -36
- package/dist/tracing/span.js.map +1 -1
- package/dist/tracing/tracer.d.ts +6 -7
- package/dist/tracing/tracer.d.ts.map +1 -1
- package/dist/tracing/tracer.js +27 -12
- package/dist/tracing/tracer.js.map +1 -1
- package/dist/tracing/with-span.d.ts +4 -0
- package/dist/tracing/with-span.d.ts.map +1 -0
- package/dist/tracing/with-span.js +35 -0
- package/dist/tracing/with-span.js.map +1 -0
- package/dist/transport/http/agent-instance-client.d.ts +23 -0
- package/dist/transport/http/agent-instance-client.d.ts.map +1 -0
- package/dist/transport/http/agent-instance-client.js +25 -0
- package/dist/transport/http/agent-instance-client.js.map +1 -0
- package/dist/transport/http/agent-span-client.d.ts +25 -0
- package/dist/transport/http/agent-span-client.d.ts.map +1 -0
- package/dist/transport/http/agent-span-client.js +37 -0
- package/dist/transport/http/agent-span-client.js.map +1 -0
- package/dist/transport/http/http-client.d.ts +43 -0
- package/dist/transport/http/http-client.d.ts.map +1 -0
- package/dist/transport/http/http-client.js +127 -0
- package/dist/transport/http/http-client.js.map +1 -0
- package/dist/transport/http/retry-policy.d.ts +4 -0
- package/dist/transport/http/retry-policy.d.ts.map +1 -0
- package/dist/transport/http/retry-policy.js +10 -0
- package/dist/transport/http/retry-policy.js.map +1 -0
- package/dist/transport/http.d.ts +34 -50
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +163 -227
- package/dist/transport/http.js.map +1 -1
- package/dist/utils/logging.d.ts.map +1 -1
- package/dist/utils/logging.js +7 -1
- package/dist/utils/logging.js.map +1 -1
- package/package.json +1 -1
- package/dist/agent/schema-registry.d.ts +0 -9
- package/dist/agent/schema-registry.d.ts.map +0 -1
- package/dist/agent/schema-registry.js +0 -16
- package/dist/agent/schema-registry.js.map +0 -1
- package/dist/queue/in-memory.d.ts +0 -9
- package/dist/queue/in-memory.d.ts.map +0 -1
- package/dist/queue/in-memory.js +0 -18
- package/dist/queue/in-memory.js.map +0 -1
- package/dist/transport/base.d.ts +0 -18
- package/dist/transport/base.d.ts.map +0 -1
- package/dist/transport/base.js +0 -2
- package/dist/transport/base.js.map +0 -1
- package/dist/transport/stdio.d.ts +0 -36
- package/dist/transport/stdio.d.ts.map +0 -1
- package/dist/transport/stdio.js +0 -56
- package/dist/transport/stdio.js.map +0 -1
- package/dist/transport/worker.d.ts +0 -22
- package/dist/transport/worker.d.ts.map +0 -1
- package/dist/transport/worker.js +0 -85
- package/dist/transport/worker.js.map +0 -1
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Queue } from '../queue/base.js';
|
|
1
|
+
import type { AgentInstanceOptions, Transport } from '../transport/http.js';
|
|
3
2
|
export type AgentInstanceManagerOptions = {
|
|
4
|
-
schemaName: string;
|
|
5
|
-
schemaIdentifier: string;
|
|
6
3
|
allowUnregisteredSchema?: boolean;
|
|
7
4
|
};
|
|
8
|
-
type AgentInstanceStartOptions =
|
|
5
|
+
type AgentInstanceStartOptions = AgentInstanceOptions;
|
|
9
6
|
export declare class AgentInstanceManager {
|
|
10
|
-
private
|
|
7
|
+
private transport;
|
|
11
8
|
private options;
|
|
12
|
-
private
|
|
13
|
-
constructor(
|
|
9
|
+
private registeredSchema;
|
|
10
|
+
constructor(transport: Transport, options: AgentInstanceManagerOptions);
|
|
14
11
|
registerSchema(schema: Record<string, unknown>): void;
|
|
15
12
|
startInstance(options?: AgentInstanceStartOptions): void;
|
|
16
13
|
finishInstance(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-manager.d.ts","sourceRoot":"","sources":["../../src/agent/instance-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instance-manager.d.ts","sourceRoot":"","sources":["../../src/agent/instance-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GAAG;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,KAAK,yBAAyB,GAAG,oBAAoB,CAAC;AAEtD,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IAJjB,OAAO,CAAC,gBAAgB,CAAwC;gBAGtD,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,2BAA2B;IAG9C,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgBrD,aAAa,CAAC,OAAO,GAAE,yBAA8B,GAAG,IAAI;IAS5D,cAAc,IAAI,IAAI;CAGvB"}
|
|
@@ -1,71 +1,50 @@
|
|
|
1
|
-
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
-
import { SchemaRegistry } from './schema-registry.js';
|
|
3
|
-
const orderInsensitiveArrayKeys = new Set(['required', 'enum', 'oneOf', 'allOf', 'anyOf', 'type']);
|
|
4
|
-
const stableStringify = (value) => JSON.stringify(value) ?? 'undefined';
|
|
5
|
-
const normalizeSchema = (value, arrayKey) => {
|
|
6
|
-
if (Array.isArray(value)) {
|
|
7
|
-
const normalizedItems = value.map((item) => normalizeSchema(item));
|
|
8
|
-
if (arrayKey && orderInsensitiveArrayKeys.has(arrayKey)) {
|
|
9
|
-
return normalizedItems
|
|
10
|
-
.map((item) => ({ item, key: stableStringify(item) }))
|
|
11
|
-
.sort((left, right) => left.key.localeCompare(right.key))
|
|
12
|
-
.map(({ item }) => item);
|
|
13
|
-
}
|
|
14
|
-
return normalizedItems;
|
|
15
|
-
}
|
|
16
|
-
if (value && typeof value === 'object') {
|
|
17
|
-
const proto = Object.getPrototypeOf(value);
|
|
18
|
-
if (proto === Object.prototype || proto === null) {
|
|
19
|
-
const entries = Object.entries(value).sort(([left], [right]) => left.localeCompare(right));
|
|
20
|
-
const normalized = {};
|
|
21
|
-
for (const [key, entryValue] of entries) {
|
|
22
|
-
normalized[key] = normalizeSchema(entryValue, key);
|
|
23
|
-
}
|
|
24
|
-
return normalized;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return value;
|
|
28
|
-
};
|
|
29
1
|
export class AgentInstanceManager {
|
|
30
|
-
|
|
2
|
+
transport;
|
|
31
3
|
options;
|
|
32
|
-
|
|
33
|
-
constructor(
|
|
34
|
-
this.
|
|
4
|
+
registeredSchema = null;
|
|
5
|
+
constructor(transport, options) {
|
|
6
|
+
this.transport = transport;
|
|
35
7
|
this.options = options;
|
|
36
8
|
}
|
|
37
9
|
registerSchema(schema) {
|
|
38
|
-
if (this.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
!isDeepStrictEqual(normalizeSchema(existing.schema), normalizeSchema(schema))) {
|
|
42
|
-
console.warn(`Schema ${this.options.schemaName}@${this.options.schemaIdentifier} is already registered with a different payload. Ignoring registration.`);
|
|
43
|
-
}
|
|
10
|
+
if (this.registeredSchema === null) {
|
|
11
|
+
this.registeredSchema = schema;
|
|
12
|
+
this.transport.registerSchema(schema);
|
|
44
13
|
return;
|
|
45
14
|
}
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
schema
|
|
50
|
-
}
|
|
51
|
-
this.schemaRegistry.register(registration);
|
|
52
|
-
this.queue.enqueue({ type: 'schema_register', data: registration });
|
|
15
|
+
const existingSchema = stableStringify(this.registeredSchema);
|
|
16
|
+
const incomingSchema = stableStringify(schema);
|
|
17
|
+
if (existingSchema !== incomingSchema) {
|
|
18
|
+
console.warn('A different schema was provided after registration; ignoring subsequent schema.');
|
|
19
|
+
}
|
|
53
20
|
}
|
|
54
21
|
startInstance(options = {}) {
|
|
55
|
-
if (!this.options.allowUnregisteredSchema &&
|
|
56
|
-
|
|
57
|
-
console.warn(`Schema ${this.options.schemaName}@${this.options.schemaIdentifier} must be registered before starting an agent instance.`);
|
|
22
|
+
if (!this.options.allowUnregisteredSchema && this.registeredSchema === null) {
|
|
23
|
+
console.warn('Schema must be registered before starting an agent instance.');
|
|
58
24
|
return;
|
|
59
25
|
}
|
|
60
|
-
|
|
61
|
-
...options,
|
|
62
|
-
schemaName: this.options.schemaName,
|
|
63
|
-
schemaIdentifier: this.options.schemaIdentifier,
|
|
64
|
-
};
|
|
65
|
-
this.queue.enqueue({ type: 'agent_start', data: startData });
|
|
26
|
+
this.transport.startAgentInstance(options);
|
|
66
27
|
}
|
|
67
28
|
finishInstance() {
|
|
68
|
-
this.
|
|
29
|
+
this.transport.finishAgentInstance();
|
|
69
30
|
}
|
|
70
31
|
}
|
|
32
|
+
function stableStringify(value) {
|
|
33
|
+
return JSON.stringify(normalizeValue(value));
|
|
34
|
+
}
|
|
35
|
+
function normalizeValue(value) {
|
|
36
|
+
if (Array.isArray(value)) {
|
|
37
|
+
return value.map((entry) => normalizeValue(entry));
|
|
38
|
+
}
|
|
39
|
+
if (value && typeof value === 'object') {
|
|
40
|
+
const normalized = {};
|
|
41
|
+
const objectValue = value;
|
|
42
|
+
const keys = Object.keys(objectValue).sort((a, b) => a.localeCompare(b));
|
|
43
|
+
for (const key of keys) {
|
|
44
|
+
normalized[key] = normalizeValue(objectValue[key]);
|
|
45
|
+
}
|
|
46
|
+
return normalized;
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
71
50
|
//# sourceMappingURL=instance-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-manager.js","sourceRoot":"","sources":["../../src/agent/instance-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"instance-manager.js","sourceRoot":"","sources":["../../src/agent/instance-manager.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,oBAAoB;IAIrB;IACA;IAJF,gBAAgB,GAAmC,IAAI,CAAC;IAEhE,YACU,SAAoB,EACpB,OAAoC;QADpC,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAA6B;IAC3C,CAAC;IAEJ,cAAc,CAAC,MAA+B;QAC5C,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CACV,iFAAiF,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,aAAa,CAAC,UAAqC,EAAE;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;IACvC,CAAC;CACF;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,KAAgC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -15,20 +15,10 @@ export declare const HttpTransportConfigSchema: z.ZodObject<{
|
|
|
15
15
|
agentName: z.ZodOptional<z.ZodString>;
|
|
16
16
|
/** Optional agent description */
|
|
17
17
|
agentDescription: z.ZodOptional<z.ZodString>;
|
|
18
|
-
/** Optional schema identifier name (used for registration/agent instance) */
|
|
19
|
-
schemaName: z.ZodOptional<z.ZodString>;
|
|
20
|
-
/** Optional schema identifier (used for registration/agent instance) */
|
|
21
|
-
schemaIdentifier: z.ZodOptional<z.ZodString>;
|
|
22
18
|
/** Optional agent schema for validation (full schema object) */
|
|
23
19
|
agentSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
-
/** Optional pre-registered schema identifier (external identifier string) */
|
|
25
|
-
agentSchemaIdentifier: z.ZodOptional<z.ZodString>;
|
|
26
|
-
/** Skip schema validation */
|
|
27
|
-
skipSchema: z.ZodDefault<z.ZodBoolean>;
|
|
28
20
|
/** Request timeout in milliseconds */
|
|
29
21
|
requestTimeout: z.ZodDefault<z.ZodNumber>;
|
|
30
|
-
/** Connection timeout in milliseconds */
|
|
31
|
-
connectTimeout: z.ZodDefault<z.ZodNumber>;
|
|
32
22
|
/** Maximum number of retry attempts */
|
|
33
23
|
maxRetries: z.ZodDefault<z.ZodNumber>;
|
|
34
24
|
/** Initial delay between retries in milliseconds */
|
|
@@ -37,24 +27,22 @@ export declare const HttpTransportConfigSchema: z.ZodObject<{
|
|
|
37
27
|
maxRetryDelay: z.ZodDefault<z.ZodNumber>;
|
|
38
28
|
/** Multiplier for exponential backoff */
|
|
39
29
|
retryMultiplier: z.ZodDefault<z.ZodNumber>;
|
|
30
|
+
/** Status codes that should trigger retries */
|
|
31
|
+
retryOnStatusCodes: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
|
|
40
32
|
}, "strip", z.ZodTypeAny, {
|
|
41
33
|
apiUrl: string;
|
|
42
34
|
apiToken: string;
|
|
43
35
|
agentIdentifier: string;
|
|
44
|
-
skipSchema: boolean;
|
|
45
36
|
requestTimeout: number;
|
|
46
|
-
connectTimeout: number;
|
|
47
37
|
maxRetries: number;
|
|
48
38
|
initialRetryDelay: number;
|
|
49
39
|
maxRetryDelay: number;
|
|
50
40
|
retryMultiplier: number;
|
|
41
|
+
retryOnStatusCodes: number[];
|
|
51
42
|
agentId?: string | undefined;
|
|
52
43
|
agentName?: string | undefined;
|
|
53
44
|
agentDescription?: string | undefined;
|
|
54
|
-
schemaName?: string | undefined;
|
|
55
|
-
schemaIdentifier?: string | undefined;
|
|
56
45
|
agentSchema?: Record<string, unknown> | undefined;
|
|
57
|
-
agentSchemaIdentifier?: string | undefined;
|
|
58
46
|
}, {
|
|
59
47
|
apiUrl: string;
|
|
60
48
|
apiToken: string;
|
|
@@ -62,17 +50,13 @@ export declare const HttpTransportConfigSchema: z.ZodObject<{
|
|
|
62
50
|
agentIdentifier?: string | undefined;
|
|
63
51
|
agentName?: string | undefined;
|
|
64
52
|
agentDescription?: string | undefined;
|
|
65
|
-
schemaName?: string | undefined;
|
|
66
|
-
schemaIdentifier?: string | undefined;
|
|
67
53
|
agentSchema?: Record<string, unknown> | undefined;
|
|
68
|
-
agentSchemaIdentifier?: string | undefined;
|
|
69
|
-
skipSchema?: boolean | undefined;
|
|
70
54
|
requestTimeout?: number | undefined;
|
|
71
|
-
connectTimeout?: number | undefined;
|
|
72
55
|
maxRetries?: number | undefined;
|
|
73
56
|
initialRetryDelay?: number | undefined;
|
|
74
57
|
maxRetryDelay?: number | undefined;
|
|
75
58
|
retryMultiplier?: number | undefined;
|
|
59
|
+
retryOnStatusCodes?: number[] | undefined;
|
|
76
60
|
}>;
|
|
77
61
|
export type HttpTransportConfig = z.infer<typeof HttpTransportConfigSchema>;
|
|
78
62
|
/**
|
|
@@ -85,17 +69,13 @@ export declare const PartialHttpConfigSchema: z.ZodObject<{
|
|
|
85
69
|
agentIdentifier: z.ZodOptional<z.ZodString>;
|
|
86
70
|
agentName: z.ZodOptional<z.ZodString>;
|
|
87
71
|
agentDescription: z.ZodOptional<z.ZodString>;
|
|
88
|
-
schemaName: z.ZodOptional<z.ZodString>;
|
|
89
|
-
schemaIdentifier: z.ZodOptional<z.ZodString>;
|
|
90
72
|
agentSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
91
|
-
agentSchemaIdentifier: z.ZodOptional<z.ZodString>;
|
|
92
|
-
skipSchema: z.ZodOptional<z.ZodBoolean>;
|
|
93
73
|
requestTimeout: z.ZodOptional<z.ZodNumber>;
|
|
94
|
-
connectTimeout: z.ZodOptional<z.ZodNumber>;
|
|
95
74
|
maxRetries: z.ZodOptional<z.ZodNumber>;
|
|
96
75
|
initialRetryDelay: z.ZodOptional<z.ZodNumber>;
|
|
97
76
|
maxRetryDelay: z.ZodOptional<z.ZodNumber>;
|
|
98
77
|
retryMultiplier: z.ZodOptional<z.ZodNumber>;
|
|
78
|
+
retryOnStatusCodes: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
99
79
|
}, "strip", z.ZodTypeAny, {
|
|
100
80
|
apiUrl: string;
|
|
101
81
|
apiToken: string;
|
|
@@ -103,17 +83,13 @@ export declare const PartialHttpConfigSchema: z.ZodObject<{
|
|
|
103
83
|
agentIdentifier?: string | undefined;
|
|
104
84
|
agentName?: string | undefined;
|
|
105
85
|
agentDescription?: string | undefined;
|
|
106
|
-
schemaName?: string | undefined;
|
|
107
|
-
schemaIdentifier?: string | undefined;
|
|
108
86
|
agentSchema?: Record<string, unknown> | undefined;
|
|
109
|
-
agentSchemaIdentifier?: string | undefined;
|
|
110
|
-
skipSchema?: boolean | undefined;
|
|
111
87
|
requestTimeout?: number | undefined;
|
|
112
|
-
connectTimeout?: number | undefined;
|
|
113
88
|
maxRetries?: number | undefined;
|
|
114
89
|
initialRetryDelay?: number | undefined;
|
|
115
90
|
maxRetryDelay?: number | undefined;
|
|
116
91
|
retryMultiplier?: number | undefined;
|
|
92
|
+
retryOnStatusCodes?: number[] | undefined;
|
|
117
93
|
}, {
|
|
118
94
|
apiUrl: string;
|
|
119
95
|
apiToken: string;
|
|
@@ -121,17 +97,13 @@ export declare const PartialHttpConfigSchema: z.ZodObject<{
|
|
|
121
97
|
agentIdentifier?: string | undefined;
|
|
122
98
|
agentName?: string | undefined;
|
|
123
99
|
agentDescription?: string | undefined;
|
|
124
|
-
schemaName?: string | undefined;
|
|
125
|
-
schemaIdentifier?: string | undefined;
|
|
126
100
|
agentSchema?: Record<string, unknown> | undefined;
|
|
127
|
-
agentSchemaIdentifier?: string | undefined;
|
|
128
|
-
skipSchema?: boolean | undefined;
|
|
129
101
|
requestTimeout?: number | undefined;
|
|
130
|
-
connectTimeout?: number | undefined;
|
|
131
102
|
maxRetries?: number | undefined;
|
|
132
103
|
initialRetryDelay?: number | undefined;
|
|
133
104
|
maxRetryDelay?: number | undefined;
|
|
134
105
|
retryMultiplier?: number | undefined;
|
|
106
|
+
retryOnStatusCodes?: number[] | undefined;
|
|
135
107
|
}>;
|
|
136
108
|
export type PartialHttpConfig = z.infer<typeof PartialHttpConfigSchema>;
|
|
137
109
|
/**
|
|
@@ -139,7 +111,7 @@ export type PartialHttpConfig = z.infer<typeof PartialHttpConfigSchema>;
|
|
|
139
111
|
*/
|
|
140
112
|
export declare const ConfigSchema: z.ZodObject<{
|
|
141
113
|
/** Transport type to use for span emission */
|
|
142
|
-
transportType: z.ZodDefault<z.ZodEnum<["
|
|
114
|
+
transportType: z.ZodDefault<z.ZodEnum<["http"]>>;
|
|
143
115
|
/** Sampling rate (0.0 to 1.0) */
|
|
144
116
|
sampleRate: z.ZodDefault<z.ZodNumber>;
|
|
145
117
|
/** Whether to capture span inputs */
|
|
@@ -158,17 +130,13 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
158
130
|
agentIdentifier: z.ZodOptional<z.ZodString>;
|
|
159
131
|
agentName: z.ZodOptional<z.ZodString>;
|
|
160
132
|
agentDescription: z.ZodOptional<z.ZodString>;
|
|
161
|
-
schemaName: z.ZodOptional<z.ZodString>;
|
|
162
|
-
schemaIdentifier: z.ZodOptional<z.ZodString>;
|
|
163
133
|
agentSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
164
|
-
agentSchemaIdentifier: z.ZodOptional<z.ZodString>;
|
|
165
|
-
skipSchema: z.ZodOptional<z.ZodBoolean>;
|
|
166
134
|
requestTimeout: z.ZodOptional<z.ZodNumber>;
|
|
167
|
-
connectTimeout: z.ZodOptional<z.ZodNumber>;
|
|
168
135
|
maxRetries: z.ZodOptional<z.ZodNumber>;
|
|
169
136
|
initialRetryDelay: z.ZodOptional<z.ZodNumber>;
|
|
170
137
|
maxRetryDelay: z.ZodOptional<z.ZodNumber>;
|
|
171
138
|
retryMultiplier: z.ZodOptional<z.ZodNumber>;
|
|
139
|
+
retryOnStatusCodes: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
172
140
|
}, "strip", z.ZodTypeAny, {
|
|
173
141
|
apiUrl: string;
|
|
174
142
|
apiToken: string;
|
|
@@ -176,17 +144,13 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
176
144
|
agentIdentifier?: string | undefined;
|
|
177
145
|
agentName?: string | undefined;
|
|
178
146
|
agentDescription?: string | undefined;
|
|
179
|
-
schemaName?: string | undefined;
|
|
180
|
-
schemaIdentifier?: string | undefined;
|
|
181
147
|
agentSchema?: Record<string, unknown> | undefined;
|
|
182
|
-
agentSchemaIdentifier?: string | undefined;
|
|
183
|
-
skipSchema?: boolean | undefined;
|
|
184
148
|
requestTimeout?: number | undefined;
|
|
185
|
-
connectTimeout?: number | undefined;
|
|
186
149
|
maxRetries?: number | undefined;
|
|
187
150
|
initialRetryDelay?: number | undefined;
|
|
188
151
|
maxRetryDelay?: number | undefined;
|
|
189
152
|
retryMultiplier?: number | undefined;
|
|
153
|
+
retryOnStatusCodes?: number[] | undefined;
|
|
190
154
|
}, {
|
|
191
155
|
apiUrl: string;
|
|
192
156
|
apiToken: string;
|
|
@@ -194,20 +158,16 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
194
158
|
agentIdentifier?: string | undefined;
|
|
195
159
|
agentName?: string | undefined;
|
|
196
160
|
agentDescription?: string | undefined;
|
|
197
|
-
schemaName?: string | undefined;
|
|
198
|
-
schemaIdentifier?: string | undefined;
|
|
199
161
|
agentSchema?: Record<string, unknown> | undefined;
|
|
200
|
-
agentSchemaIdentifier?: string | undefined;
|
|
201
|
-
skipSchema?: boolean | undefined;
|
|
202
162
|
requestTimeout?: number | undefined;
|
|
203
|
-
connectTimeout?: number | undefined;
|
|
204
163
|
maxRetries?: number | undefined;
|
|
205
164
|
initialRetryDelay?: number | undefined;
|
|
206
165
|
maxRetryDelay?: number | undefined;
|
|
207
166
|
retryMultiplier?: number | undefined;
|
|
167
|
+
retryOnStatusCodes?: number[] | undefined;
|
|
208
168
|
}>>;
|
|
209
169
|
}, "strip", z.ZodTypeAny, {
|
|
210
|
-
transportType: "
|
|
170
|
+
transportType: "http";
|
|
211
171
|
sampleRate: number;
|
|
212
172
|
captureInputs: boolean;
|
|
213
173
|
captureOutputs: boolean;
|
|
@@ -220,20 +180,16 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
220
180
|
agentIdentifier?: string | undefined;
|
|
221
181
|
agentName?: string | undefined;
|
|
222
182
|
agentDescription?: string | undefined;
|
|
223
|
-
schemaName?: string | undefined;
|
|
224
|
-
schemaIdentifier?: string | undefined;
|
|
225
183
|
agentSchema?: Record<string, unknown> | undefined;
|
|
226
|
-
agentSchemaIdentifier?: string | undefined;
|
|
227
|
-
skipSchema?: boolean | undefined;
|
|
228
184
|
requestTimeout?: number | undefined;
|
|
229
|
-
connectTimeout?: number | undefined;
|
|
230
185
|
maxRetries?: number | undefined;
|
|
231
186
|
initialRetryDelay?: number | undefined;
|
|
232
187
|
maxRetryDelay?: number | undefined;
|
|
233
188
|
retryMultiplier?: number | undefined;
|
|
189
|
+
retryOnStatusCodes?: number[] | undefined;
|
|
234
190
|
} | undefined;
|
|
235
191
|
}, {
|
|
236
|
-
transportType?: "
|
|
192
|
+
transportType?: "http" | undefined;
|
|
237
193
|
sampleRate?: number | undefined;
|
|
238
194
|
captureInputs?: boolean | undefined;
|
|
239
195
|
captureOutputs?: boolean | undefined;
|
|
@@ -246,17 +202,13 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
246
202
|
agentIdentifier?: string | undefined;
|
|
247
203
|
agentName?: string | undefined;
|
|
248
204
|
agentDescription?: string | undefined;
|
|
249
|
-
schemaName?: string | undefined;
|
|
250
|
-
schemaIdentifier?: string | undefined;
|
|
251
205
|
agentSchema?: Record<string, unknown> | undefined;
|
|
252
|
-
agentSchemaIdentifier?: string | undefined;
|
|
253
|
-
skipSchema?: boolean | undefined;
|
|
254
206
|
requestTimeout?: number | undefined;
|
|
255
|
-
connectTimeout?: number | undefined;
|
|
256
207
|
maxRetries?: number | undefined;
|
|
257
208
|
initialRetryDelay?: number | undefined;
|
|
258
209
|
maxRetryDelay?: number | undefined;
|
|
259
210
|
retryMultiplier?: number | undefined;
|
|
211
|
+
retryOnStatusCodes?: number[] | undefined;
|
|
260
212
|
} | undefined;
|
|
261
213
|
}>;
|
|
262
214
|
export type Config = z.infer<typeof ConfigSchema>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB;;GAEG;AACH,eAAO,MAAM,yBAAyB;IACpC,uBAAuB;;IAGvB,2BAA2B;;IAG3B,uDAAuD;;IAGvD,8EAA8E;;IAG9E,0BAA0B;;IAG1B,iCAAiC;;IAGjC,gEAAgE;;IAGhE,sCAAsC;;IAGtC,uCAAuC;;IAGvC,oDAAoD;;IAGpD,oDAAoD;;IAGpD,yCAAyC;;IAGzC,+CAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE/C,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAclC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,8CAA8C;;IAG9C,iCAAiC;;IAGjC,qCAAqC;;IAGrC,sCAAsC;;IAGtC,uCAAuC;;IAGvC,wCAAwC;;IAGxC,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzE,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAyB9D"}
|
package/dist/config.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
const DEFAULT_RETRY_ON_STATUS_CODES = [
|
|
3
|
+
429,
|
|
4
|
+
...Array.from({ length: 100 }, (_, index) => 500 + index),
|
|
5
|
+
];
|
|
6
|
+
const HttpStatusCodeSchema = z.number().int().min(100).max(599);
|
|
2
7
|
/**
|
|
3
8
|
* Configuration schema for HTTP transport
|
|
4
9
|
*/
|
|
@@ -15,20 +20,10 @@ export const HttpTransportConfigSchema = z.object({
|
|
|
15
20
|
agentName: z.string().optional(),
|
|
16
21
|
/** Optional agent description */
|
|
17
22
|
agentDescription: z.string().optional(),
|
|
18
|
-
/** Optional schema identifier name (used for registration/agent instance) */
|
|
19
|
-
schemaName: z.string().optional(),
|
|
20
|
-
/** Optional schema identifier (used for registration/agent instance) */
|
|
21
|
-
schemaIdentifier: z.string().optional(),
|
|
22
23
|
/** Optional agent schema for validation (full schema object) */
|
|
23
24
|
agentSchema: z.record(z.unknown()).optional(),
|
|
24
|
-
/** Optional pre-registered schema identifier (external identifier string) */
|
|
25
|
-
agentSchemaIdentifier: z.string().optional(),
|
|
26
|
-
/** Skip schema validation */
|
|
27
|
-
skipSchema: z.boolean().default(false),
|
|
28
25
|
/** Request timeout in milliseconds */
|
|
29
26
|
requestTimeout: z.number().positive().default(30000),
|
|
30
|
-
/** Connection timeout in milliseconds */
|
|
31
|
-
connectTimeout: z.number().positive().default(10000),
|
|
32
27
|
/** Maximum number of retry attempts */
|
|
33
28
|
maxRetries: z.number().int().nonnegative().default(3),
|
|
34
29
|
/** Initial delay between retries in milliseconds */
|
|
@@ -37,6 +32,8 @@ export const HttpTransportConfigSchema = z.object({
|
|
|
37
32
|
maxRetryDelay: z.number().positive().default(60000),
|
|
38
33
|
/** Multiplier for exponential backoff */
|
|
39
34
|
retryMultiplier: z.number().positive().default(2.0),
|
|
35
|
+
/** Status codes that should trigger retries */
|
|
36
|
+
retryOnStatusCodes: z.array(HttpStatusCodeSchema).default([...DEFAULT_RETRY_ON_STATUS_CODES]),
|
|
40
37
|
});
|
|
41
38
|
/**
|
|
42
39
|
* Partial HTTP config schema for user input (before defaults are applied)
|
|
@@ -48,24 +45,20 @@ export const PartialHttpConfigSchema = z.object({
|
|
|
48
45
|
agentIdentifier: z.string().optional(),
|
|
49
46
|
agentName: z.string().optional(),
|
|
50
47
|
agentDescription: z.string().optional(),
|
|
51
|
-
schemaName: z.string().optional(),
|
|
52
|
-
schemaIdentifier: z.string().optional(),
|
|
53
48
|
agentSchema: z.record(z.unknown()).optional(),
|
|
54
|
-
agentSchemaIdentifier: z.string().optional(),
|
|
55
|
-
skipSchema: z.boolean().optional(),
|
|
56
49
|
requestTimeout: z.number().positive().optional(),
|
|
57
|
-
connectTimeout: z.number().positive().optional(),
|
|
58
50
|
maxRetries: z.number().int().nonnegative().optional(),
|
|
59
51
|
initialRetryDelay: z.number().positive().optional(),
|
|
60
52
|
maxRetryDelay: z.number().positive().optional(),
|
|
61
53
|
retryMultiplier: z.number().positive().optional(),
|
|
54
|
+
retryOnStatusCodes: z.array(HttpStatusCodeSchema).optional(),
|
|
62
55
|
});
|
|
63
56
|
/**
|
|
64
57
|
* Main SDK configuration schema
|
|
65
58
|
*/
|
|
66
59
|
export const ConfigSchema = z.object({
|
|
67
60
|
/** Transport type to use for span emission */
|
|
68
|
-
transportType: z.enum(['
|
|
61
|
+
transportType: z.enum(['http']).default('http'),
|
|
69
62
|
/** Sampling rate (0.0 to 1.0) */
|
|
70
63
|
sampleRate: z.number().min(0).max(1).default(1.0),
|
|
71
64
|
/** Whether to capture span inputs */
|
|
@@ -99,18 +92,34 @@ export const ConfigSchema = z.object({
|
|
|
99
92
|
* ```
|
|
100
93
|
*/
|
|
101
94
|
export function createConfig(options) {
|
|
95
|
+
const retryOnStatusCodesFromEnv = parseRetryOnStatusCodesEnv(process.env.PREFACTOR_RETRY_ON_STATUS_CODES);
|
|
102
96
|
const config = {
|
|
103
|
-
transportType: options?.transportType ??
|
|
104
|
-
process.env.PREFACTOR_TRANSPORT ??
|
|
105
|
-
'stdio',
|
|
97
|
+
transportType: options?.transportType ?? process.env.PREFACTOR_TRANSPORT ?? 'http',
|
|
106
98
|
sampleRate: options?.sampleRate ?? parseFloat(process.env.PREFACTOR_SAMPLE_RATE ?? '1.0'),
|
|
107
99
|
captureInputs: options?.captureInputs ?? process.env.PREFACTOR_CAPTURE_INPUTS !== 'false',
|
|
108
100
|
captureOutputs: options?.captureOutputs ?? process.env.PREFACTOR_CAPTURE_OUTPUTS !== 'false',
|
|
109
101
|
maxInputLength: options?.maxInputLength ?? parseInt(process.env.PREFACTOR_MAX_INPUT_LENGTH ?? '10000', 10),
|
|
110
102
|
maxOutputLength: options?.maxOutputLength ?? parseInt(process.env.PREFACTOR_MAX_OUTPUT_LENGTH ?? '10000', 10),
|
|
111
|
-
httpConfig: options?.httpConfig
|
|
103
|
+
httpConfig: options?.httpConfig
|
|
104
|
+
? {
|
|
105
|
+
...options.httpConfig,
|
|
106
|
+
retryOnStatusCodes: options.httpConfig.retryOnStatusCodes ?? retryOnStatusCodesFromEnv,
|
|
107
|
+
}
|
|
108
|
+
: undefined,
|
|
112
109
|
};
|
|
113
110
|
// Validate and return
|
|
114
111
|
return ConfigSchema.parse(config);
|
|
115
112
|
}
|
|
113
|
+
function parseRetryOnStatusCodesEnv(value) {
|
|
114
|
+
if (!value) {
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
const parsedCodes = value
|
|
118
|
+
.split(',')
|
|
119
|
+
.map((status) => status.trim())
|
|
120
|
+
.filter((status) => /^\d{3}$/.test(status))
|
|
121
|
+
.map((status) => Number(status))
|
|
122
|
+
.filter((status) => status >= 100 && status <= 599);
|
|
123
|
+
return parsedCodes.length > 0 ? parsedCodes : undefined;
|
|
124
|
+
}
|
|
116
125
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/create-core.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { AgentInstanceManager } from './agent/instance-manager.js';
|
|
2
2
|
import type { Config } from './config.js';
|
|
3
3
|
import { Tracer } from './tracing/tracer.js';
|
|
4
|
-
import { TransportWorker } from './transport/worker.js';
|
|
5
4
|
export type CoreRuntime = {
|
|
6
5
|
tracer: Tracer;
|
|
7
6
|
agentManager: AgentInstanceManager;
|
|
8
|
-
worker: TransportWorker;
|
|
9
7
|
shutdown: () => Promise<void>;
|
|
10
8
|
};
|
|
11
9
|
export declare function createCore(config: Config): CoreRuntime;
|
|
@@ -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;
|
|
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,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,oBAAoB,CAAC;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAiCtD"}
|
package/dist/create-core.js
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
import { extractPartition } from '@prefactor/pfid';
|
|
2
2
|
import { AgentInstanceManager } from './agent/instance-manager.js';
|
|
3
3
|
import { HttpTransportConfigSchema } from './config.js';
|
|
4
|
-
import {
|
|
4
|
+
import { setActiveCoreRuntime } from './lifecycle.js';
|
|
5
|
+
import { clearActiveTracer, setActiveTracer } from './tracing/active-tracer.js';
|
|
5
6
|
import { Tracer } from './tracing/tracer.js';
|
|
6
7
|
import { HttpTransport } from './transport/http.js';
|
|
7
|
-
import { StdioTransport } from './transport/stdio.js';
|
|
8
|
-
import { TransportWorker } from './transport/worker.js';
|
|
9
8
|
export function createCore(config) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
transport = new StdioTransport();
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
if (!config.httpConfig) {
|
|
16
|
-
throw new Error('HTTP transport requires httpConfig to be provided in configuration');
|
|
17
|
-
}
|
|
18
|
-
const httpConfig = HttpTransportConfigSchema.parse(config.httpConfig);
|
|
19
|
-
transport = new HttpTransport(httpConfig);
|
|
9
|
+
if (!config.httpConfig) {
|
|
10
|
+
throw new Error('HTTP transport requires httpConfig to be provided in configuration');
|
|
20
11
|
}
|
|
12
|
+
const httpConfig = HttpTransportConfigSchema.parse(config.httpConfig);
|
|
13
|
+
const transport = new HttpTransport(httpConfig);
|
|
21
14
|
let partition;
|
|
22
|
-
if (config.httpConfig
|
|
15
|
+
if (config.httpConfig.agentId) {
|
|
23
16
|
try {
|
|
24
17
|
partition = extractPartition(config.httpConfig.agentId);
|
|
25
18
|
}
|
|
@@ -27,23 +20,19 @@ export function createCore(config) {
|
|
|
27
20
|
partition = undefined;
|
|
28
21
|
}
|
|
29
22
|
}
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const schemaIdentifier = config.httpConfig?.schemaIdentifier ?? '1.0.0';
|
|
35
|
-
const allowUnregisteredSchema = config.transportType === 'http' &&
|
|
36
|
-
Boolean(config.httpConfig?.skipSchema ||
|
|
37
|
-
config.httpConfig?.agentSchema ||
|
|
38
|
-
config.httpConfig?.agentSchemaIdentifier);
|
|
39
|
-
const agentManager = new AgentInstanceManager(queue, {
|
|
40
|
-
schemaName,
|
|
41
|
-
schemaIdentifier,
|
|
23
|
+
const tracer = new Tracer(transport, partition);
|
|
24
|
+
setActiveTracer(tracer);
|
|
25
|
+
const allowUnregisteredSchema = Boolean(config.httpConfig.agentSchema);
|
|
26
|
+
const agentManager = new AgentInstanceManager(transport, {
|
|
42
27
|
allowUnregisteredSchema,
|
|
43
28
|
});
|
|
44
29
|
const shutdown = async () => {
|
|
45
|
-
await
|
|
30
|
+
await tracer.close();
|
|
31
|
+
clearActiveTracer(tracer);
|
|
32
|
+
setActiveCoreRuntime(null);
|
|
46
33
|
};
|
|
47
|
-
|
|
34
|
+
const runtime = { tracer, agentManager, shutdown };
|
|
35
|
+
setActiveCoreRuntime(runtime);
|
|
36
|
+
return runtime;
|
|
48
37
|
}
|
|
49
38
|
//# sourceMappingURL=create-core.js.map
|
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;
|
|
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;AAQpD,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,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,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhD,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"}
|