@coalex-ai/sdk 1.16.0-beta.388 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auto-instrument.d.ts.map +1 -1
- package/dist/auto-instrument.js +3 -2
- package/dist/auto-instrument.js.map +1 -1
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +25 -2
- package/dist/evaluate.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/inventory.d.ts.map +1 -1
- package/dist/inventory.js +3 -2
- package/dist/inventory.js.map +1 -1
- package/dist/logger.d.ts +31 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +28 -0
- package/dist/logger.js.map +1 -0
- package/dist/safe-exporter.d.ts.map +1 -1
- package/dist/safe-exporter.js +6 -5
- package/dist/safe-exporter.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-instrument.d.ts","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-instrument.d.ts","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,eAAe,GACf,sBAAsB,GACtB,OAAO,GACP,UAAU,CAAC;AAEf,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAwED,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAuCvC;AAED,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAoBhD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAMzE;AAED,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAM5E;AAED,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAM5E"}
|
package/dist/auto-instrument.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { log } from "./logger.js";
|
|
1
2
|
const INSTRUMENTORS = [
|
|
2
3
|
{
|
|
3
4
|
name: "openai",
|
|
@@ -29,7 +30,7 @@ async function instrumentLibrary(config, tracerProvider, suppressErrors = true)
|
|
|
29
30
|
}
|
|
30
31
|
const InstrumentorClass = mod[config.class];
|
|
31
32
|
if (!InstrumentorClass) {
|
|
32
|
-
|
|
33
|
+
log.warn(`Found ${config.package} but missing ${config.class} export`);
|
|
33
34
|
return "error";
|
|
34
35
|
}
|
|
35
36
|
const instrumentor = new InstrumentorClass();
|
|
@@ -46,7 +47,7 @@ async function instrumentLibrary(config, tracerProvider, suppressErrors = true)
|
|
|
46
47
|
catch (e) {
|
|
47
48
|
const msg = e instanceof Error ? e.message : String(e);
|
|
48
49
|
if (suppressErrors) {
|
|
49
|
-
|
|
50
|
+
log.warn(`Failed to instrument ${config.name}: ${msg}`);
|
|
50
51
|
return "error";
|
|
51
52
|
}
|
|
52
53
|
throw e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-instrument.js","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auto-instrument.js","sourceRoot":"","sources":["../src/auto-instrument.ts"],"names":[],"mappings":"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"}
|
package/dist/evaluate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAK7E,eAAO,MAAM,aAAa,aASxB,CAAC;AAEH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AA2BD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsEpF"}
|
package/dist/evaluate.js
CHANGED
|
@@ -3,6 +3,7 @@ import { currentAgentId } from "./context.js";
|
|
|
3
3
|
import { serializeResumeHook } from "./decision-request.js";
|
|
4
4
|
import { VERSION } from "./version.js";
|
|
5
5
|
import { coalexFetch, httpError } from "./http.js";
|
|
6
|
+
import { log } from "./logger.js";
|
|
6
7
|
export const KNOWN_METRICS = new Set([
|
|
7
8
|
"f1",
|
|
8
9
|
"word_overlap",
|
|
@@ -13,9 +14,31 @@ export const KNOWN_METRICS = new Set([
|
|
|
13
14
|
"levenshtein",
|
|
14
15
|
"contains",
|
|
15
16
|
]);
|
|
17
|
+
/**
|
|
18
|
+
* Options the Python SDK accepts and this one does not (COA-2192).
|
|
19
|
+
*
|
|
20
|
+
* From TypeScript, passing one is a compile error — the earlier and better failure. From plain
|
|
21
|
+
* JavaScript it was silently dropped, and the escalation quietly took the platform's default
|
|
22
|
+
* resolver or TTL with nothing in the caller's code saying so. A `resolver` of `role:manager` that
|
|
23
|
+
* vanishes is the difference between "a manager approved this" and "anyone did".
|
|
24
|
+
*/
|
|
25
|
+
const NOT_IN_THIS_SDK = {
|
|
26
|
+
resolver: "who may resolve the escalation",
|
|
27
|
+
ttlBusinessHours: "how long the approval may wait before it expires",
|
|
28
|
+
ttl_business_hours: "how long the approval may wait before it expires",
|
|
29
|
+
};
|
|
30
|
+
function warnAboutUnsupportedOptions(options) {
|
|
31
|
+
for (const [key, meaning] of Object.entries(NOT_IN_THIS_SDK)) {
|
|
32
|
+
if (key in options) {
|
|
33
|
+
log.warn(`evaluate() ignored '${key}' (${meaning}): it exists in the Python SDK and not in this one, ` +
|
|
34
|
+
"so the platform default applies. See https://docs.coalex.ai/sdk/parity/");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
16
38
|
export async function evaluate(options) {
|
|
17
39
|
const config = getConfig();
|
|
18
40
|
const apiKey = getApiKey();
|
|
41
|
+
warnAboutUnsupportedOptions(options);
|
|
19
42
|
if (options.metrics) {
|
|
20
43
|
for (const [field, metricList] of Object.entries(options.metrics)) {
|
|
21
44
|
const unknown = metricList.filter((m) => !KNOWN_METRICS.has(m));
|
|
@@ -29,7 +52,7 @@ export async function evaluate(options) {
|
|
|
29
52
|
throw new Error("evaluate() requires 'requestId' (or deprecated 'traceId')");
|
|
30
53
|
}
|
|
31
54
|
if (options.traceId) {
|
|
32
|
-
|
|
55
|
+
log.warn("traceId is deprecated, use requestId instead");
|
|
33
56
|
}
|
|
34
57
|
const agentId = options.agentId ?? currentAgentId();
|
|
35
58
|
const payload = {
|
|
@@ -64,7 +87,7 @@ export async function evaluate(options) {
|
|
|
64
87
|
// COA-261: surface server-side deprecation notices to the caller.
|
|
65
88
|
const deprecation = resp.headers?.get?.("X-Deprecation");
|
|
66
89
|
if (deprecation) {
|
|
67
|
-
|
|
90
|
+
log.warn(`API deprecation: ${deprecation}`);
|
|
68
91
|
}
|
|
69
92
|
const data = await resp.json();
|
|
70
93
|
return {
|
package/dist/evaluate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAmB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAmB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IACnC,IAAI;IACJ,cAAc;IACd,MAAM;IACN,SAAS;IACT,qBAAqB;IACrB,aAAa;IACb,aAAa;IACb,UAAU;CACX,CAAC,CAAC;AAkCH;;;;;;;GAOG;AACH,MAAM,eAAe,GAA2B;IAC9C,QAAQ,EAAE,gCAAgC;IAC1C,gBAAgB,EAAE,kDAAkD;IACpE,kBAAkB,EAAE,kDAAkD;CACvE,CAAC;AAEF,SAAS,2BAA2B,CAAC,OAAwB;IAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7D,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CACN,uBAAuB,GAAG,MAAM,OAAO,sDAAsD;gBAC3F,yEAAyE,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;IAEpD,MAAM,OAAO,GAA4B;QACvC,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,QAAQ,kBAAkB,EAAE;QACjF,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,eAAe,EAAE,aAAa,OAAO,EAAE;SACxC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,kEAAkE;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,UAAU;QAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;QAC1B,YAAY,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;KAC9C,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CoalexConfig } from "./config.js";
|
|
2
2
|
import type { AgentInventory } from "./inventory.js";
|
|
3
|
+
import { type CoalexLogger } from "./logger.js";
|
|
3
4
|
export type { CoalexConfig } from "./config.js";
|
|
4
5
|
export { coalexContext, coalexContextSync, currentAgentId } from "./context.js";
|
|
5
6
|
export type { CoalexContextOptions } from "./context.js";
|
|
@@ -17,6 +18,7 @@ export type { AgentInventory } from "./inventory.js";
|
|
|
17
18
|
export type { AgentDeclaration, DeclareAgentOptions } from "./agents.js";
|
|
18
19
|
export { autoInstrument, autoInstrumentAsync, instrumentOpenAI, instrumentLangChain, instrumentAnthropic } from "./auto-instrument.js";
|
|
19
20
|
export type { AutoInstrumentOptions, InstrumentationStatus } from "./auto-instrument.js";
|
|
21
|
+
export type { CoalexLogger } from "./logger.js";
|
|
20
22
|
export declare function getConfig(): CoalexConfig;
|
|
21
23
|
export declare function getApiKey(): string;
|
|
22
24
|
export interface RegisterOptions {
|
|
@@ -25,6 +27,14 @@ export interface RegisterOptions {
|
|
|
25
27
|
serviceName?: string;
|
|
26
28
|
filterNonAiSpans?: boolean;
|
|
27
29
|
suppressExportErrors?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Where this SDK's diagnostics go (COA-2192). Defaults to `console`; pass your own logger to
|
|
32
|
+
* route them into your structured logging, or `null` to silence them.
|
|
33
|
+
*
|
|
34
|
+
* Every diagnostic used to be an unconditional `console.warn` into your service's stderr, which
|
|
35
|
+
* is a defect on its own and a peculiar one in a product that sells observability.
|
|
36
|
+
*/
|
|
37
|
+
logger?: CoalexLogger | null;
|
|
28
38
|
/**
|
|
29
39
|
* Optionally tell the platform where this agent lives and what tools it has (COA-1969), so it
|
|
30
40
|
* appears in the Console without anyone registering it by hand. Best-effort: a failure is
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvI,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACzF,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,wBAAgB,SAAS,IAAI,YAAY,CAKxC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAmCxD;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { SafeOTLPSpanExporter } from "./safe-exporter.js";
|
|
|
7
7
|
import { FilteringSpanExporter } from "./filtering-exporter.js";
|
|
8
8
|
import { CoalexAttributePropagator } from "./span-processor.js";
|
|
9
9
|
import { declareInventory } from "./inventory.js";
|
|
10
|
+
import { setLogger } from "./logger.js";
|
|
10
11
|
export { coalexContext, coalexContextSync, currentAgentId } from "./context.js";
|
|
11
12
|
export { evaluate, KNOWN_METRICS } from "./evaluate.js";
|
|
12
13
|
export { resolve, VALID_DECISIONS } from "./resolve.js";
|
|
@@ -35,6 +36,8 @@ export function register(options) {
|
|
|
35
36
|
const serviceName = options?.serviceName ?? "coalex-sdk-typescript";
|
|
36
37
|
const filterNonAiSpans = options?.filterNonAiSpans ?? false;
|
|
37
38
|
const suppressExportErrors = options?.suppressExportErrors ?? true;
|
|
39
|
+
// First, so anything the rest of register() reports already goes where the caller asked.
|
|
40
|
+
setLogger(options?.logger);
|
|
38
41
|
_config = { endpoint, serviceName };
|
|
39
42
|
_apiKey = apiKey;
|
|
40
43
|
const resource = new Resource({ [ATTR_SERVICE_NAME]: serviceName });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/inventory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,cAAc,EACzB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,GAC3C,OAAO,CAAC,OAAO,CAAC,CA+BlB"}
|
package/dist/inventory.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
// made in the dashboard, because an agent that governs itself is not governed at all. The
|
|
10
10
|
// transformer enforces the same boundary and answers 422 to a policy field rather than dropping it.
|
|
11
11
|
import { VERSION } from "./version.js";
|
|
12
|
+
import { log } from "./logger.js";
|
|
12
13
|
/** Long enough for a cold control plane, short enough not to hold up an agent's startup. */
|
|
13
14
|
const TIMEOUT_MS = 5000;
|
|
14
15
|
/**
|
|
@@ -40,12 +41,12 @@ export async function declareInventory(inventory, { config, apiKey, defaultName
|
|
|
40
41
|
// with the server's reason — silence would leave the agent believing it registered, which
|
|
41
42
|
// is the failure mode this whole change exists to remove.
|
|
42
43
|
const detail = await res.text().catch(() => "");
|
|
43
|
-
|
|
44
|
+
log.warn(`agent self-declaration rejected (HTTP ${res.status}): ${detail.slice(0, 500)}`);
|
|
44
45
|
return false;
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
catch (err) {
|
|
48
|
-
|
|
49
|
+
log.warn(`agent self-declaration failed (${String(err)}); the agent still traces`);
|
|
49
50
|
return false;
|
|
50
51
|
}
|
|
51
52
|
return true;
|
package/dist/inventory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,gGAAgG;AAChG,kGAAkG;AAClG,6BAA6B;AAC7B,EAAE;AACF,kGAAkG;AAClG,iGAAiG;AACjG,0FAA0F;AAC1F,oGAAoG;AAGpG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,gGAAgG;AAChG,kGAAkG;AAClG,6BAA6B;AAC7B,EAAE;AACF,kGAAkG;AAClG,iGAAiG;AACjG,0FAA0F;AAC1F,oGAAoG;AAGpG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,4FAA4F;AAC5F,MAAM,UAAU,GAAG,IAAI,CAAC;AAuBxB;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAyB,EACzB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAe;IAE5C,MAAM,IAAI,GAA4B;QACpC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,WAAW;QACnC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;QAC5B,GAAG,EAAE,qBAAqB,OAAO,EAAE;KACpC,CAAC;IACF,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;IACtE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,yBAAyB,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAClF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,0FAA0F;YAC1F,0FAA0F;YAC1F,0DAA0D;YAC1D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,yCAAyC,GAAG,CAAC,MAAM,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1F,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where this SDK's diagnostics go (COA-2192).
|
|
3
|
+
*
|
|
4
|
+
* Every diagnostic used to be a raw `console.warn`: no level, no way to silence it, no way to route
|
|
5
|
+
* it into the host's own structured logging. A library writing unconditionally to a production
|
|
6
|
+
* service's stderr is a defect on its own, and a peculiar one in a product that sells
|
|
7
|
+
* observability.
|
|
8
|
+
*
|
|
9
|
+
* The default is still `console`, so nothing changes for anyone who does not care. `register({
|
|
10
|
+
* logger })` hands the SDK the host's logger instead; `register({ logger: null })` silences it.
|
|
11
|
+
*
|
|
12
|
+
* **No API key and no token has ever reached a log line or an exception message in this SDK**, and
|
|
13
|
+
* routing the lines through a customer-supplied sink makes that property matter more, not less:
|
|
14
|
+
* whatever we emit now lands wherever they send it.
|
|
15
|
+
*/
|
|
16
|
+
export interface CoalexLogger {
|
|
17
|
+
debug?(message: string): void;
|
|
18
|
+
warn(message: string): void;
|
|
19
|
+
error?(message: string): void;
|
|
20
|
+
}
|
|
21
|
+
export declare function setLogger(logger: CoalexLogger | null | undefined): void;
|
|
22
|
+
/**
|
|
23
|
+
* The SDK's logger. Every message is prefixed `[coalex]` here rather than at each call site, so a
|
|
24
|
+
* host filtering by prefix cannot be defeated by one line that forgot it.
|
|
25
|
+
*/
|
|
26
|
+
export declare const log: {
|
|
27
|
+
debug(message: string): void;
|
|
28
|
+
warn(message: string): void;
|
|
29
|
+
error(message: string): void;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAaD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEvE;AAED;;;GAGG;AACH,eAAO,MAAM,GAAG;mBACC,MAAM,GAAG,IAAI;kBAGd,MAAM,GAAG,IAAI;mBAGZ,MAAM,GAAG,IAAI;CAG7B,CAAA"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const CONSOLE_LOGGER = {
|
|
2
|
+
debug: (m) => console.debug(m),
|
|
3
|
+
warn: (m) => console.warn(m),
|
|
4
|
+
error: (m) => console.error(m),
|
|
5
|
+
};
|
|
6
|
+
/** Discards everything. `register({ logger: null })` installs this. */
|
|
7
|
+
const SILENT_LOGGER = { debug: () => { }, warn: () => { }, error: () => { } };
|
|
8
|
+
let _logger = CONSOLE_LOGGER;
|
|
9
|
+
export function setLogger(logger) {
|
|
10
|
+
_logger = logger === null ? SILENT_LOGGER : (logger ?? CONSOLE_LOGGER);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The SDK's logger. Every message is prefixed `[coalex]` here rather than at each call site, so a
|
|
14
|
+
* host filtering by prefix cannot be defeated by one line that forgot it.
|
|
15
|
+
*/
|
|
16
|
+
export const log = {
|
|
17
|
+
debug(message) {
|
|
18
|
+
_logger.debug?.(`[coalex] ${message}`);
|
|
19
|
+
},
|
|
20
|
+
warn(message) {
|
|
21
|
+
_logger.warn(`[coalex] ${message}`);
|
|
22
|
+
},
|
|
23
|
+
error(message) {
|
|
24
|
+
;
|
|
25
|
+
(_logger.error ?? _logger.warn)(`[coalex] ${message}`);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAqBA,MAAM,cAAc,GAAiB;IACnC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;CAC/B,CAAA;AAED,uEAAuE;AACvE,MAAM,aAAa,GAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;AAExF,IAAI,OAAO,GAAiB,cAAc,CAAA;AAE1C,MAAM,UAAU,SAAS,CAAC,MAAuC;IAC/D,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,CAAA;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;IACrC,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,CAAC;QAAA,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAA;IACzD,CAAC;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-exporter.d.ts","sourceRoot":"","sources":["../src/safe-exporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"safe-exporter.d.ts","sourceRoot":"","sources":["../src/safe-exporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGhF,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAGD;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;IACrC,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;gBAE1B,eAAe,EAAE,YAAY,EAAE,cAAc,UAAO;IAKhE,qFAAqF;IACrF,OAAO,CAAC,WAAW;IAmBnB,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAmBnF;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;IAab,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
|
package/dist/safe-exporter.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { log } from "./logger.js";
|
|
1
2
|
const ExportResultCode = { SUCCESS: 0, FAILED: 1 };
|
|
2
3
|
/**
|
|
3
4
|
* Never let a broken telemetry endpoint break the customer's agent — but never go quiet about it
|
|
@@ -26,14 +27,14 @@ export class SafeOTLPSpanExporter {
|
|
|
26
27
|
noteFailure(spanCount, detail) {
|
|
27
28
|
this.errorCount++;
|
|
28
29
|
if (this.errorCount <= this.maxLoggedErrors) {
|
|
29
|
-
|
|
30
|
+
log.warn(`Failed to export ${spanCount} spans (failure #${this.errorCount}): ${detail}`);
|
|
30
31
|
if (this.errorCount === this.maxLoggedErrors) {
|
|
31
|
-
|
|
32
|
+
log.warn(`Suppressing further span export warnings (total so far: ${this.errorCount}). ` +
|
|
32
33
|
"Tracing will continue but spans may be dropped — check the Coalex endpoint/API key.");
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
else if (this.errorCount % this.heartbeatEvery === 0) {
|
|
36
|
-
|
|
37
|
+
log.warn(`Span export still failing: ${this.errorCount} failed batches so far (${detail}).`);
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
export(spans, resultCallback) {
|
|
@@ -69,13 +70,13 @@ export class SafeOTLPSpanExporter {
|
|
|
69
70
|
return run().catch((e) => {
|
|
70
71
|
if (!this.suppressErrors)
|
|
71
72
|
throw e;
|
|
72
|
-
|
|
73
|
+
log.warn(`span exporter ${operation} failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
73
74
|
});
|
|
74
75
|
}
|
|
75
76
|
catch (e) {
|
|
76
77
|
if (!this.suppressErrors)
|
|
77
78
|
throw e;
|
|
78
|
-
|
|
79
|
+
log.warn(`span exporter ${operation} failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
79
80
|
return Promise.resolve();
|
|
80
81
|
}
|
|
81
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-exporter.js","sourceRoot":"","sources":["../src/safe-exporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"safe-exporter.js","sourceRoot":"","sources":["../src/safe-exporter.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "1.
|
|
1
|
+
export declare const VERSION = "1.17.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// SDK version, sent in the X-SDK-Version header so the platform can see which
|
|
2
2
|
// SDK releases customers run before removing a deprecated field (COA-261).
|
|
3
3
|
// Keep in sync with package.json "version".
|
|
4
|
-
export const VERSION = "1.
|
|
4
|
+
export const VERSION = "1.17.0";
|
|
5
5
|
//# sourceMappingURL=version.js.map
|