@namzu/sdk 62.13.0 → 62.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/agents/file-definitions.d.ts +7 -0
- package/dist/agents/file-definitions.d.ts.map +1 -1
- package/dist/agents/file-definitions.js +20 -0
- package/dist/agents/file-definitions.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +1 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/bridge/acp/server.d.ts +8 -1
- package/dist/bridge/acp/server.d.ts.map +1 -1
- package/dist/bridge/acp/server.js +12 -0
- package/dist/bridge/acp/server.js.map +1 -1
- package/dist/constants/data-epoch.d.ts +18 -0
- package/dist/constants/data-epoch.d.ts.map +1 -0
- package/dist/constants/data-epoch.js +18 -0
- package/dist/constants/data-epoch.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/telemetry/index.d.ts +12 -0
- package/dist/constants/telemetry/index.d.ts.map +1 -1
- package/dist/constants/telemetry/index.js +12 -0
- package/dist/constants/telemetry/index.js.map +1 -1
- package/dist/plugin/index.d.ts +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/loader.d.ts +11 -0
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +15 -2
- package/dist/plugin/loader.js.map +1 -1
- package/dist/public-runtime.d.ts +5 -4
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +6 -3
- package/dist/public-runtime.js.map +1 -1
- package/dist/runtime/query/cancelled-before-start.d.ts.map +1 -1
- package/dist/runtime/query/cancelled-before-start.js +2 -0
- package/dist/runtime/query/cancelled-before-start.js.map +1 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +2 -0
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +5 -0
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/runtime/query/result.js +2 -0
- package/dist/runtime/query/result.js.map +1 -1
- package/dist/skills/index.d.ts +1 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/loader.d.ts +15 -1
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +17 -3
- package/dist/skills/loader.js.map +1 -1
- package/dist/telemetry/genai.d.ts +98 -0
- package/dist/telemetry/genai.d.ts.map +1 -0
- package/dist/telemetry/genai.js +189 -0
- package/dist/telemetry/genai.js.map +1 -0
- package/dist/telemetry/runtime-accessors.d.ts +5 -0
- package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
- package/dist/telemetry/runtime-accessors.js +11 -1
- package/dist/telemetry/runtime-accessors.js.map +1 -1
- package/dist/toolsets/manager.d.ts.map +1 -1
- package/dist/toolsets/manager.js +12 -0
- package/dist/toolsets/manager.js.map +1 -1
- package/dist/types/acp/index.d.ts +18 -0
- package/dist/types/acp/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agents/file-definitions.ts +21 -0
- package/src/agents/index.ts +1 -0
- package/src/bridge/acp/server.ts +20 -0
- package/src/constants/data-epoch.ts +17 -0
- package/src/constants/index.ts +1 -0
- package/src/constants/telemetry/index.ts +13 -0
- package/src/plugin/index.ts +7 -1
- package/src/plugin/loader.ts +16 -2
- package/src/public-runtime.ts +17 -0
- package/src/runtime/query/cancelled-before-start.ts +2 -0
- package/src/runtime/query/index.ts +2 -0
- package/src/runtime/query/iteration/stream-turn.ts +10 -0
- package/src/runtime/query/result.ts +2 -0
- package/src/skills/index.ts +1 -0
- package/src/skills/loader.ts +21 -3
- package/src/telemetry/genai.ts +202 -0
- package/src/telemetry/runtime-accessors.ts +11 -1
- package/src/toolsets/manager.ts +22 -0
- package/src/types/acp/index.ts +20 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,oBAAoB,EACpB,eAAe,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAE/D,eAAO,MAAM,cAAc,aAAa,CAAA;AAExC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAelD,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAO7D,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;6BARR,MAAM,KAAG,OAAO;8BAW5B,MAAM,KAAG,OAAO;CACxB,CAAA;AA+LV;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACb;IAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAG7D;AAED,wBAAsB,SAAS,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,oBAAiC,EACxC,GAAG,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CAwC1B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBvF"}
|
package/dist/skills/loader.js
CHANGED
|
@@ -214,17 +214,31 @@ const CHARS_PER_TOKEN = 4;
|
|
|
214
214
|
function estimateTokens(text) {
|
|
215
215
|
return Math.ceil(text.length / CHARS_PER_TOKEN);
|
|
216
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* A `SKILL.md`'s text to its metadata and body, or a thrown reason.
|
|
219
|
+
*
|
|
220
|
+
* The one place the skill rules are applied to text. `loadSkill` reads the
|
|
221
|
+
* file and calls this; a host that checks a skill without loading it (the
|
|
222
|
+
* plugin validator) reads the file its own way and calls the same function,
|
|
223
|
+
* so the two cannot disagree about what a valid skill is.
|
|
224
|
+
*
|
|
225
|
+
* @param dirPath The skill's folder: the name must match its last segment.
|
|
226
|
+
*/
|
|
227
|
+
export function parseSkillMarkdown(raw, dirPath) {
|
|
228
|
+
const parsed = parseFrontmatter(raw, sourceLabel(dirPath), SKILL_FRONTMATTER_OPTIONS);
|
|
229
|
+
return { metadata: toSkillMetadata(parsed, dirPath), body: parsed.body };
|
|
230
|
+
}
|
|
217
231
|
export async function loadSkill(dirPath, level = 'metadata', log) {
|
|
218
232
|
const skillMdPath = join(dirPath, SKILL_FILENAME);
|
|
219
233
|
const raw = await readFile(skillMdPath, 'utf-8');
|
|
220
|
-
const
|
|
221
|
-
const metadata =
|
|
234
|
+
const parsedSkill = parseSkillMarkdown(raw, dirPath);
|
|
235
|
+
const metadata = parsedSkill.metadata;
|
|
222
236
|
const skill = {
|
|
223
237
|
metadata,
|
|
224
238
|
dirPath,
|
|
225
239
|
};
|
|
226
240
|
if (level === 'full' || level === 'assets') {
|
|
227
|
-
skill.body =
|
|
241
|
+
skill.body = parsedSkill.body;
|
|
228
242
|
}
|
|
229
243
|
const metadataTokens = estimateTokens(`${metadata.name}: ${metadata.description}`);
|
|
230
244
|
const bodyTokens = skill.body ? estimateTokens(skill.body) : 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { Attributes } from '@opentelemetry/api';
|
|
2
|
+
import type { TokenUsage } from '../types/common/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* The OpenTelemetry semantic conventions for generative AI, as far as the
|
|
5
|
+
* spans of this kernel follow them.
|
|
6
|
+
*
|
|
7
|
+
* The convention is still marked "Development", so its names can change
|
|
8
|
+
* between releases. What the kernel emits is therefore pinned to ONE released
|
|
9
|
+
* version, and says so: the instrumentation scope carries the schema URL of
|
|
10
|
+
* that version. The text of the convention was published in the
|
|
11
|
+
* `semantic-conventions` repository up to and including v1.41.1; later
|
|
12
|
+
* releases only point to a new repository. Moving the pin means reading the
|
|
13
|
+
* new text, changing {@link GENAI_SEMCONV_VERSION} and the table in
|
|
14
|
+
* `docs/sdk/telemetry-genai.md` together; a test fails when an attribute name
|
|
15
|
+
* is emitted that is not in {@link GENAI_SEMCONV_ATTRIBUTES}.
|
|
16
|
+
*
|
|
17
|
+
* Everything here is additive: the kernel's own names (`namzu.*`, and the
|
|
18
|
+
* `gen_ai.*` names it already wrote) are untouched. One process-wide switch
|
|
19
|
+
* turns the new names off for a backend that bills by attribute.
|
|
20
|
+
*/
|
|
21
|
+
export declare const GENAI_SEMCONV_VERSION = "1.41.1";
|
|
22
|
+
/** Schema URL of the pinned version; set on the tracer's instrumentation scope. */
|
|
23
|
+
export declare const GENAI_SEMCONV_SCHEMA_URL = "https://opentelemetry.io/schemas/1.41.1";
|
|
24
|
+
/** `gen_ai.operation.name` values this kernel uses; all three are in the pinned convention's list. */
|
|
25
|
+
export declare const GENAI_OPERATION: {
|
|
26
|
+
readonly CHAT: "chat";
|
|
27
|
+
readonly EXECUTE_TOOL: "execute_tool";
|
|
28
|
+
readonly INVOKE_AGENT: "invoke_agent";
|
|
29
|
+
};
|
|
30
|
+
/** The convention's name for the error class of a failed operation (stable). */
|
|
31
|
+
export declare const ERROR_TYPE = "error.type";
|
|
32
|
+
/** The convention's fallback `error.type` value. */
|
|
33
|
+
export declare const ERROR_TYPE_OTHER = "_OTHER";
|
|
34
|
+
/**
|
|
35
|
+
* Every attribute name the pinned convention version defines for the three
|
|
36
|
+
* span kinds this kernel emits (inference, execute tool, invoke agent) that
|
|
37
|
+
* the kernel may write, whether the kernel's own earlier code or the additions
|
|
38
|
+
* wrote it. A span's `gen_ai.*` / `error.type` keys must all be in here, with
|
|
39
|
+
* the one exception named in {@link GENAI_NON_CONVENTION_NAMES}.
|
|
40
|
+
*/
|
|
41
|
+
export declare const GENAI_SEMCONV_ATTRIBUTES: readonly string[];
|
|
42
|
+
/**
|
|
43
|
+
* `gen_ai.*` names the kernel writes that are NOT in the pinned convention.
|
|
44
|
+
* `gen_ai.system` is still in the 1.41.1 registry but deprecated, replaced by
|
|
45
|
+
* `gen_ai.provider.name`; the kernel emits it deliberately and
|
|
46
|
+
* it stays because it is existing output that nothing may remove.
|
|
47
|
+
*/
|
|
48
|
+
export declare const GENAI_NON_CONVENTION_NAMES: readonly string[];
|
|
49
|
+
/**
|
|
50
|
+
* Turn the convention's attribute names (and the schema URL) on or off for
|
|
51
|
+
* every span the kernel starts from now on. On by default. `@namzu/telemetry`
|
|
52
|
+
* calls this from `TelemetryConfig.genAiAttributes`; a host that does not use
|
|
53
|
+
* that package can call it directly.
|
|
54
|
+
*/
|
|
55
|
+
export declare function setGenAiConventions(on: boolean): void;
|
|
56
|
+
export declare function genAiConventionsEnabled(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* The value for `gen_ai.provider.name`, which the convention requires on every
|
|
59
|
+
* span that carries it.
|
|
60
|
+
*
|
|
61
|
+
* The convention (1.41.1) says: "If one of them applies, then the respective
|
|
62
|
+
* value MUST be used; otherwise, a custom value MAY be used." and states no
|
|
63
|
+
* further rule on the form of a custom value. So:
|
|
64
|
+
*
|
|
65
|
+
* - a listed value only when our provider IS that vendor's own API (the
|
|
66
|
+
* cases below; `google` is `gcp.gen_ai`, "Any Google generative AI
|
|
67
|
+
* endpoint", since our id does not say which one);
|
|
68
|
+
* - otherwise our own provider id, lower case, as the custom value. A gateway
|
|
69
|
+
* that forwards to several vendors, a local runner and a custom HTTP
|
|
70
|
+
* endpoint are never mapped to a vendor they are not.
|
|
71
|
+
*
|
|
72
|
+
* `undefined` only when there is no provider id at all.
|
|
73
|
+
*/
|
|
74
|
+
export declare function genAiProviderName(providerId: string | undefined): string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* A low-cardinality class for a failure, for `error.type`: the provider
|
|
77
|
+
* error kind for a classified provider failure, the error's own class name
|
|
78
|
+
* for an exception, `_OTHER` for anything else (a thrown string, a plain
|
|
79
|
+
* `Error`).
|
|
80
|
+
*/
|
|
81
|
+
export declare function genAiErrorType(err: unknown): string;
|
|
82
|
+
/** Added when a turn (an agent run, a sub-agent included) starts. */
|
|
83
|
+
export declare function agentRunAttributes(providerId: string | undefined): Attributes;
|
|
84
|
+
/** Added when a model call starts. Every model call is streamed. */
|
|
85
|
+
export declare function chatStartAttributes(providerId: string | undefined): Attributes;
|
|
86
|
+
/**
|
|
87
|
+
* Added when a model call answers. A count is written only when the driver
|
|
88
|
+
* reported a positive one: the record cannot tell "none" from "not
|
|
89
|
+
* reported", so a zero is left out rather than stated.
|
|
90
|
+
*/
|
|
91
|
+
export declare function chatUsageAttributes(usage: TokenUsage): Attributes;
|
|
92
|
+
/** Added when a tool call starts. */
|
|
93
|
+
export declare function toolCallAttributes(): Attributes;
|
|
94
|
+
/** The `error.type` of a tool call the kernel refused (not available, not allowed, plan mode); a custom low-cardinality value, which the convention allows. */
|
|
95
|
+
export declare const PERMISSION_DENIED = "permission_denied";
|
|
96
|
+
/** Added to a span whose operation ended in an error. */
|
|
97
|
+
export declare function errorTypeAttributes(errorType: string): Attributes;
|
|
98
|
+
//# sourceMappingURL=genai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genai.d.ts","sourceRoot":"","sources":["../../src/telemetry/genai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG1D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,WAAW,CAAA;AAE7C,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,4CAA8D,CAAA;AAEnG,sGAAsG;AACtG,eAAO,MAAM,eAAe;;;;CAIlB,CAAA;AAEV,gFAAgF;AAChF,eAAO,MAAM,UAAU,eAAe,CAAA;AAEtC,oDAAoD;AACpD,eAAO,MAAM,gBAAgB,WAAW,CAAA;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAsBrD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAmB,CAAA;AAI3E;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAErD;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAkBpF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOnD;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAO7E;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAO9E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAajE;AAED,qCAAqC;AACrC,wBAAgB,kBAAkB,IAAI,UAAU,CAG/C;AAED,+JAA+J;AAC/J,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AAEpD,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAGjE"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { isProviderRequestError } from '../provider/errors.js';
|
|
2
|
+
import { GENAI } from './attributes.js';
|
|
3
|
+
/**
|
|
4
|
+
* The OpenTelemetry semantic conventions for generative AI, as far as the
|
|
5
|
+
* spans of this kernel follow them.
|
|
6
|
+
*
|
|
7
|
+
* The convention is still marked "Development", so its names can change
|
|
8
|
+
* between releases. What the kernel emits is therefore pinned to ONE released
|
|
9
|
+
* version, and says so: the instrumentation scope carries the schema URL of
|
|
10
|
+
* that version. The text of the convention was published in the
|
|
11
|
+
* `semantic-conventions` repository up to and including v1.41.1; later
|
|
12
|
+
* releases only point to a new repository. Moving the pin means reading the
|
|
13
|
+
* new text, changing {@link GENAI_SEMCONV_VERSION} and the table in
|
|
14
|
+
* `docs/sdk/telemetry-genai.md` together; a test fails when an attribute name
|
|
15
|
+
* is emitted that is not in {@link GENAI_SEMCONV_ATTRIBUTES}.
|
|
16
|
+
*
|
|
17
|
+
* Everything here is additive: the kernel's own names (`namzu.*`, and the
|
|
18
|
+
* `gen_ai.*` names it already wrote) are untouched. One process-wide switch
|
|
19
|
+
* turns the new names off for a backend that bills by attribute.
|
|
20
|
+
*/
|
|
21
|
+
export const GENAI_SEMCONV_VERSION = '1.41.1';
|
|
22
|
+
/** Schema URL of the pinned version; set on the tracer's instrumentation scope. */
|
|
23
|
+
export const GENAI_SEMCONV_SCHEMA_URL = `https://opentelemetry.io/schemas/${GENAI_SEMCONV_VERSION}`;
|
|
24
|
+
/** `gen_ai.operation.name` values this kernel uses; all three are in the pinned convention's list. */
|
|
25
|
+
export const GENAI_OPERATION = {
|
|
26
|
+
CHAT: 'chat',
|
|
27
|
+
EXECUTE_TOOL: 'execute_tool',
|
|
28
|
+
INVOKE_AGENT: 'invoke_agent',
|
|
29
|
+
};
|
|
30
|
+
/** The convention's name for the error class of a failed operation (stable). */
|
|
31
|
+
export const ERROR_TYPE = 'error.type';
|
|
32
|
+
/** The convention's fallback `error.type` value. */
|
|
33
|
+
export const ERROR_TYPE_OTHER = '_OTHER';
|
|
34
|
+
/**
|
|
35
|
+
* Every attribute name the pinned convention version defines for the three
|
|
36
|
+
* span kinds this kernel emits (inference, execute tool, invoke agent) that
|
|
37
|
+
* the kernel may write, whether the kernel's own earlier code or the additions
|
|
38
|
+
* wrote it. A span's `gen_ai.*` / `error.type` keys must all be in here, with
|
|
39
|
+
* the one exception named in {@link GENAI_NON_CONVENTION_NAMES}.
|
|
40
|
+
*/
|
|
41
|
+
export const GENAI_SEMCONV_ATTRIBUTES = [
|
|
42
|
+
GENAI.OPERATION_NAME,
|
|
43
|
+
GENAI.PROVIDER_NAME,
|
|
44
|
+
ERROR_TYPE,
|
|
45
|
+
GENAI.CONVERSATION_ID,
|
|
46
|
+
GENAI.AGENT_NAME,
|
|
47
|
+
GENAI.AGENT_ID,
|
|
48
|
+
GENAI.REQUEST_MODEL,
|
|
49
|
+
GENAI.REQUEST_STREAM,
|
|
50
|
+
GENAI.REQUEST_TEMPERATURE,
|
|
51
|
+
GENAI.REQUEST_MAX_TOKENS,
|
|
52
|
+
GENAI.RESPONSE_MODEL,
|
|
53
|
+
GENAI.RESPONSE_ID,
|
|
54
|
+
GENAI.RESPONSE_FINISH_REASONS,
|
|
55
|
+
GENAI.USAGE_INPUT_TOKENS,
|
|
56
|
+
GENAI.USAGE_OUTPUT_TOKENS,
|
|
57
|
+
GENAI.USAGE_CACHE_READ_INPUT_TOKENS,
|
|
58
|
+
GENAI.USAGE_CACHE_CREATION_INPUT_TOKENS,
|
|
59
|
+
GENAI.USAGE_REASONING_OUTPUT_TOKENS,
|
|
60
|
+
GENAI.TOOL_NAME,
|
|
61
|
+
GENAI.TOOL_CALL_ID,
|
|
62
|
+
GENAI.TOOL_TYPE,
|
|
63
|
+
];
|
|
64
|
+
/**
|
|
65
|
+
* `gen_ai.*` names the kernel writes that are NOT in the pinned convention.
|
|
66
|
+
* `gen_ai.system` is still in the 1.41.1 registry but deprecated, replaced by
|
|
67
|
+
* `gen_ai.provider.name`; the kernel emits it deliberately and
|
|
68
|
+
* it stays because it is existing output that nothing may remove.
|
|
69
|
+
*/
|
|
70
|
+
export const GENAI_NON_CONVENTION_NAMES = [GENAI.SYSTEM];
|
|
71
|
+
let enabled = true;
|
|
72
|
+
/**
|
|
73
|
+
* Turn the convention's attribute names (and the schema URL) on or off for
|
|
74
|
+
* every span the kernel starts from now on. On by default. `@namzu/telemetry`
|
|
75
|
+
* calls this from `TelemetryConfig.genAiAttributes`; a host that does not use
|
|
76
|
+
* that package can call it directly.
|
|
77
|
+
*/
|
|
78
|
+
export function setGenAiConventions(on) {
|
|
79
|
+
enabled = on;
|
|
80
|
+
}
|
|
81
|
+
export function genAiConventionsEnabled() {
|
|
82
|
+
return enabled;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The value for `gen_ai.provider.name`, which the convention requires on every
|
|
86
|
+
* span that carries it.
|
|
87
|
+
*
|
|
88
|
+
* The convention (1.41.1) says: "If one of them applies, then the respective
|
|
89
|
+
* value MUST be used; otherwise, a custom value MAY be used." and states no
|
|
90
|
+
* further rule on the form of a custom value. So:
|
|
91
|
+
*
|
|
92
|
+
* - a listed value only when our provider IS that vendor's own API (the
|
|
93
|
+
* cases below; `google` is `gcp.gen_ai`, "Any Google generative AI
|
|
94
|
+
* endpoint", since our id does not say which one);
|
|
95
|
+
* - otherwise our own provider id, lower case, as the custom value. A gateway
|
|
96
|
+
* that forwards to several vendors, a local runner and a custom HTTP
|
|
97
|
+
* endpoint are never mapped to a vendor they are not.
|
|
98
|
+
*
|
|
99
|
+
* `undefined` only when there is no provider id at all.
|
|
100
|
+
*/
|
|
101
|
+
export function genAiProviderName(providerId) {
|
|
102
|
+
switch (providerId) {
|
|
103
|
+
case 'anthropic':
|
|
104
|
+
return 'anthropic';
|
|
105
|
+
case 'bedrock':
|
|
106
|
+
return 'aws.bedrock';
|
|
107
|
+
case 'deepseek':
|
|
108
|
+
return 'deepseek';
|
|
109
|
+
case 'google':
|
|
110
|
+
return 'gcp.gen_ai';
|
|
111
|
+
case 'openai':
|
|
112
|
+
case 'codex':
|
|
113
|
+
return 'openai';
|
|
114
|
+
default: {
|
|
115
|
+
const own = providerId?.trim().toLowerCase();
|
|
116
|
+
return own ? own : undefined;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* A low-cardinality class for a failure, for `error.type`: the provider
|
|
122
|
+
* error kind for a classified provider failure, the error's own class name
|
|
123
|
+
* for an exception, `_OTHER` for anything else (a thrown string, a plain
|
|
124
|
+
* `Error`).
|
|
125
|
+
*/
|
|
126
|
+
export function genAiErrorType(err) {
|
|
127
|
+
if (isProviderRequestError(err))
|
|
128
|
+
return err.kind;
|
|
129
|
+
if (err instanceof Error) {
|
|
130
|
+
const name = err.name;
|
|
131
|
+
return name && name !== 'Error' ? name : ERROR_TYPE_OTHER;
|
|
132
|
+
}
|
|
133
|
+
return ERROR_TYPE_OTHER;
|
|
134
|
+
}
|
|
135
|
+
/** Added when a turn (an agent run, a sub-agent included) starts. */
|
|
136
|
+
export function agentRunAttributes(providerId) {
|
|
137
|
+
if (!enabled)
|
|
138
|
+
return {};
|
|
139
|
+
const provider = genAiProviderName(providerId);
|
|
140
|
+
return {
|
|
141
|
+
[GENAI.OPERATION_NAME]: GENAI_OPERATION.INVOKE_AGENT,
|
|
142
|
+
...(provider !== undefined ? { [GENAI.PROVIDER_NAME]: provider } : {}),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/** Added when a model call starts. Every model call is streamed. */
|
|
146
|
+
export function chatStartAttributes(providerId) {
|
|
147
|
+
if (!enabled)
|
|
148
|
+
return {};
|
|
149
|
+
const provider = genAiProviderName(providerId);
|
|
150
|
+
return {
|
|
151
|
+
...(provider !== undefined ? { [GENAI.PROVIDER_NAME]: provider } : {}),
|
|
152
|
+
[GENAI.REQUEST_STREAM]: true,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Added when a model call answers. A count is written only when the driver
|
|
157
|
+
* reported a positive one: the record cannot tell "none" from "not
|
|
158
|
+
* reported", so a zero is left out rather than stated.
|
|
159
|
+
*/
|
|
160
|
+
export function chatUsageAttributes(usage) {
|
|
161
|
+
if (!enabled)
|
|
162
|
+
return {};
|
|
163
|
+
return {
|
|
164
|
+
...(usage.cachedTokens > 0
|
|
165
|
+
? { [GENAI.USAGE_CACHE_READ_INPUT_TOKENS]: usage.cachedTokens }
|
|
166
|
+
: {}),
|
|
167
|
+
...(usage.cacheWriteTokens > 0
|
|
168
|
+
? { [GENAI.USAGE_CACHE_CREATION_INPUT_TOKENS]: usage.cacheWriteTokens }
|
|
169
|
+
: {}),
|
|
170
|
+
...(usage.reasoningTokens !== undefined && usage.reasoningTokens > 0
|
|
171
|
+
? { [GENAI.USAGE_REASONING_OUTPUT_TOKENS]: usage.reasoningTokens }
|
|
172
|
+
: {}),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/** Added when a tool call starts. */
|
|
176
|
+
export function toolCallAttributes() {
|
|
177
|
+
if (!enabled)
|
|
178
|
+
return {};
|
|
179
|
+
return { [GENAI.OPERATION_NAME]: GENAI_OPERATION.EXECUTE_TOOL };
|
|
180
|
+
}
|
|
181
|
+
/** The `error.type` of a tool call the kernel refused (not available, not allowed, plan mode); a custom low-cardinality value, which the convention allows. */
|
|
182
|
+
export const PERMISSION_DENIED = 'permission_denied';
|
|
183
|
+
/** Added to a span whose operation ended in an error. */
|
|
184
|
+
export function errorTypeAttributes(errorType) {
|
|
185
|
+
if (!enabled)
|
|
186
|
+
return {};
|
|
187
|
+
return { [ERROR_TYPE]: errorType };
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=genai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genai.js","sourceRoot":"","sources":["../../src/telemetry/genai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { type SpanContext, type Tracer } from '@opentelemetry/api';
|
|
2
|
+
/**
|
|
3
|
+
* The kernel's tracer. While the GenAI convention names are on, its
|
|
4
|
+
* instrumentation scope carries the schema URL of the pinned convention
|
|
5
|
+
* version, which is how the convention says a producer states the version.
|
|
6
|
+
*/
|
|
2
7
|
export declare function getTracer(): Tracer;
|
|
3
8
|
/**
|
|
4
9
|
* The active span's context, read fresh on every call — nothing here is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-accessors.d.ts","sourceRoot":"","sources":["../../src/telemetry/runtime-accessors.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,MAAM,EAAkB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime-accessors.d.ts","sourceRoot":"","sources":["../../src/telemetry/runtime-accessors.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,MAAM,EAAkB,MAAM,oBAAoB,CAAA;AAGlF;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAMlC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,SAAS,CAiB9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBtF"}
|
|
@@ -8,8 +8,18 @@
|
|
|
8
8
|
// return the no-op defaults and every span/meter write is silently
|
|
9
9
|
// discarded — standard OTEL library behavior.
|
|
10
10
|
import { context, trace } from '@opentelemetry/api';
|
|
11
|
+
import { GENAI_SEMCONV_SCHEMA_URL, genAiConventionsEnabled } from './genai.js';
|
|
12
|
+
/**
|
|
13
|
+
* The kernel's tracer. While the GenAI convention names are on, its
|
|
14
|
+
* instrumentation scope carries the schema URL of the pinned convention
|
|
15
|
+
* version, which is how the convention says a producer states the version.
|
|
16
|
+
*/
|
|
11
17
|
export function getTracer() {
|
|
12
|
-
return
|
|
18
|
+
return genAiConventionsEnabled()
|
|
19
|
+
? trace
|
|
20
|
+
.getTracerProvider()
|
|
21
|
+
.getTracer('namzu', undefined, { schemaUrl: GENAI_SEMCONV_SCHEMA_URL })
|
|
22
|
+
: trace.getTracer('namzu');
|
|
13
23
|
}
|
|
14
24
|
/**
|
|
15
25
|
* The active span's context, read fresh on every call — nothing here is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-accessors.js","sourceRoot":"","sources":["../../src/telemetry/runtime-accessors.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,2EAA2E;AAC3E,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,8CAA8C;AAE9C,OAAO,EAAiC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime-accessors.js","sourceRoot":"","sources":["../../src/telemetry/runtime-accessors.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,2EAA2E;AAC3E,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,8CAA8C;AAE9C,OAAO,EAAiC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAClF,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAE9E;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACxB,OAAO,uBAAuB,EAAE;QAC/B,CAAC,CAAC,KAAK;aACJ,iBAAiB,EAAE;aACnB,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC;QACzE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB;IACnC,2EAA2E;IAC3E,uEAAuE;IACvE,sEAAsE;IACtE,oEAAoE;IACpE,wEAAwE;IACxE,wCAAwC;IACxC,EAAE;IACF,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,CAAC;QACJ,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAA;IACjB,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB;IACrC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAA;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAA;IACtE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAA;IACpE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACpE,IAAI,UAA8B,CAAA;IAClC,IAAI,CAAC;QACJ,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,SAAS,CAAA;IACvD,CAAC;IAAC,MAAM,CAAC;QACR,UAAU,GAAG,SAAS,CAAA;IACvB,CAAC;IACD,OAAO;QACN,WAAW,EAAE,MAAM,OAAO,IAAI,MAAM,IAAI,KAAK,EAAE;QAC/C,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrC,CAAA;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/toolsets/manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/toolsets/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/toolsets/manager.js
CHANGED
|
@@ -6,6 +6,7 @@ import { assertToolName, describeWithOutput, toolDiscoveryHint } from '../regist
|
|
|
6
6
|
import { renderToolSchema, toolWireSchema } from '../registry/tool/schema.js';
|
|
7
7
|
import { ToolResultHalted, screenToolResult } from '../registry/tool/screen.js';
|
|
8
8
|
import { GENAI, NAMZU, toolSpanName } from '../telemetry/attributes.js';
|
|
9
|
+
import { ERROR_TYPE_OTHER, PERMISSION_DENIED, errorTypeAttributes, genAiErrorType, toolCallAttributes, } from '../telemetry/genai.js';
|
|
9
10
|
import { recordToolCall } from '../telemetry/metrics.js';
|
|
10
11
|
import { getTracer } from '../telemetry/runtime-accessors.js';
|
|
11
12
|
import { failureFactsFromError } from '../tools/failure-facts.js';
|
|
@@ -656,6 +657,8 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
656
657
|
[GENAI.TOOL_TYPE]: 'function',
|
|
657
658
|
...(context.toolUseId !== undefined ? { [GENAI.TOOL_CALL_ID]: context.toolUseId } : {}),
|
|
658
659
|
...toolSpanIdentity(context),
|
|
660
|
+
...toolCallAttributes(),
|
|
661
|
+
...errorTypeAttributes(genAiErrorType(err)),
|
|
659
662
|
[NAMZU.TOOL_SUCCESS]: false,
|
|
660
663
|
[NAMZU.TOOL_ERROR]: toErrorMessage(err),
|
|
661
664
|
});
|
|
@@ -686,6 +689,7 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
686
689
|
[GENAI.TOOL_TYPE]: 'function',
|
|
687
690
|
...(context.toolUseId !== undefined ? { [GENAI.TOOL_CALL_ID]: context.toolUseId } : {}),
|
|
688
691
|
...toolSpanIdentity(context),
|
|
692
|
+
...toolCallAttributes(),
|
|
689
693
|
});
|
|
690
694
|
// The permitted `this.getAvailability` substitution: derived,
|
|
691
695
|
// not read off a stored map. See `availability` above.
|
|
@@ -696,6 +700,7 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
696
700
|
span.setAttributes({
|
|
697
701
|
[NAMZU.TOOL_SUCCESS]: false,
|
|
698
702
|
[NAMZU.TOOL_ERROR]: msg,
|
|
703
|
+
...errorTypeAttributes(ERROR_TYPE_OTHER),
|
|
699
704
|
});
|
|
700
705
|
span.setStatus({ code: SpanStatusCode.ERROR, message: msg });
|
|
701
706
|
return {
|
|
@@ -714,6 +719,7 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
714
719
|
span.setAttributes({
|
|
715
720
|
[NAMZU.TOOL_SUCCESS]: false,
|
|
716
721
|
[NAMZU.TOOL_ERROR]: msg,
|
|
722
|
+
...errorTypeAttributes(PERMISSION_DENIED),
|
|
717
723
|
});
|
|
718
724
|
span.setStatus({ code: SpanStatusCode.ERROR, message: msg });
|
|
719
725
|
return {
|
|
@@ -731,6 +737,7 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
731
737
|
span.setAttributes({
|
|
732
738
|
[NAMZU.TOOL_SUCCESS]: false,
|
|
733
739
|
[NAMZU.TOOL_ERROR]: msg,
|
|
740
|
+
...errorTypeAttributes(PERMISSION_DENIED),
|
|
734
741
|
});
|
|
735
742
|
span.setStatus({ code: SpanStatusCode.ERROR, message: msg });
|
|
736
743
|
return {
|
|
@@ -762,6 +769,9 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
762
769
|
recordToolCall(toolName, result.success, result.success ? undefined : result.error, durationMs);
|
|
763
770
|
if (!result.success && result.error) {
|
|
764
771
|
span.setAttribute(NAMZU.TOOL_ERROR, result.error);
|
|
772
|
+
span.setAttributes(errorTypeAttributes('permissionDenied' in result && result.permissionDenied
|
|
773
|
+
? PERMISSION_DENIED
|
|
774
|
+
: ERROR_TYPE_OTHER));
|
|
765
775
|
span.setStatus({
|
|
766
776
|
code: SpanStatusCode.ERROR,
|
|
767
777
|
message: result.error,
|
|
@@ -777,6 +787,7 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
777
787
|
span.setAttributes({
|
|
778
788
|
[NAMZU.TOOL_SUCCESS]: false,
|
|
779
789
|
[NAMZU.TOOL_ERROR]: err.message,
|
|
790
|
+
...errorTypeAttributes(genAiErrorType(err)),
|
|
780
791
|
});
|
|
781
792
|
span.setStatus({
|
|
782
793
|
code: SpanStatusCode.ERROR,
|
|
@@ -792,6 +803,7 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
792
803
|
span.setAttributes({
|
|
793
804
|
[NAMZU.TOOL_SUCCESS]: false,
|
|
794
805
|
[NAMZU.TOOL_ERROR]: errorMessage,
|
|
806
|
+
...errorTypeAttributes(genAiErrorType(err)),
|
|
795
807
|
});
|
|
796
808
|
span.setStatus({
|
|
797
809
|
code: SpanStatusCode.ERROR,
|