@agimon-ai/po-log 0.0.0-alpha.85 → 0.0.0-alpha.87
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.
|
@@ -361,6 +361,25 @@ function usageAttributes(message) {
|
|
|
361
361
|
if (typeof cost === "number" && Number.isFinite(cost) && cost >= 0) attributes["gen_ai.usage.cost"] = cost;
|
|
362
362
|
return attributes;
|
|
363
363
|
}
|
|
364
|
+
async function shortHash(value) {
|
|
365
|
+
if (value === void 0) return void 0;
|
|
366
|
+
const bytes = new TextEncoder().encode(typeof value === "string" ? value : JSON.stringify(value));
|
|
367
|
+
const digest = new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256", bytes));
|
|
368
|
+
return Array.from(digest.subarray(0, 6), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
369
|
+
}
|
|
370
|
+
/** Cache-identity fingerprints of a Responses payload: which of key, instructions, or tools changed. Never content. */
|
|
371
|
+
async function requestShapeAttributes(payload) {
|
|
372
|
+
const attributes = {
|
|
373
|
+
"pi.request.cache_key_version": await shortHash(payload.prompt_cache_key),
|
|
374
|
+
"pi.request.instructions_version": await shortHash(payload.instructions ?? payload.system),
|
|
375
|
+
"pi.request.tools_version": await shortHash(payload.tools),
|
|
376
|
+
"pi.request.wire_model": typeof payload.model === "string" ? payload.model : void 0,
|
|
377
|
+
"pi.request.input_count": Array.isArray(payload.input) ? payload.input.length : void 0,
|
|
378
|
+
"pi.request.tool_count": Array.isArray(payload.tools) ? payload.tools.length : void 0
|
|
379
|
+
};
|
|
380
|
+
for (const key of Object.keys(attributes)) if (attributes[key] === void 0) delete attributes[key];
|
|
381
|
+
return attributes;
|
|
382
|
+
}
|
|
364
383
|
function createServerTelemetry(options = {}) {
|
|
365
384
|
const workflow = options.workflowContext;
|
|
366
385
|
const workflowAttributes = workflow === void 0 ? {} : {
|
|
@@ -714,6 +733,23 @@ function createServerTelemetry(options = {}) {
|
|
|
714
733
|
});
|
|
715
734
|
};
|
|
716
735
|
}
|
|
736
|
+
hooks.push({
|
|
737
|
+
event: "before_provider_request",
|
|
738
|
+
handle(event, execution) {
|
|
739
|
+
if (!active || !(0, _agimon_ai_po_core_runtimeJson.isRecord)(event.payload)) return;
|
|
740
|
+
const payload = { ...event.payload };
|
|
741
|
+
const model = event.model;
|
|
742
|
+
enqueue(async () => {
|
|
743
|
+
await telemetry?.recordDebug("pi.provider.request", {
|
|
744
|
+
...sessionAttributes(execution),
|
|
745
|
+
"gen_ai.provider.name": model.provider,
|
|
746
|
+
"gen_ai.request.model": model.id,
|
|
747
|
+
...model.api === void 0 ? {} : { "pi.request.api_type": model.api },
|
|
748
|
+
...await requestShapeAttributes(payload)
|
|
749
|
+
});
|
|
750
|
+
}).catch(() => void 0);
|
|
751
|
+
}
|
|
752
|
+
});
|
|
717
753
|
return {
|
|
718
754
|
activities: [activity],
|
|
719
755
|
commands: [command],
|
|
@@ -1207,6 +1243,9 @@ var agent_settled_server_default = (0, _agimon_ai_po_core_extensionFile.defineHo
|
|
|
1207
1243
|
//#region src/extensions/workspaces/sessions/(backend)/hook/agent-start.server.ts
|
|
1208
1244
|
var agent_start_server_default = (0, _agimon_ai_po_core_extensionFile.defineHook)((context) => context.root.hooks[7]);
|
|
1209
1245
|
//#endregion
|
|
1246
|
+
//#region src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.ts
|
|
1247
|
+
var before_provider_request_server_default = (0, _agimon_ai_po_core_extensionFile.defineHook)((context) => context.root.hooks[10]);
|
|
1248
|
+
//#endregion
|
|
1210
1249
|
//#region src/extensions/workspaces/sessions/(backend)/hook/model-select.server.ts
|
|
1211
1250
|
var model_select_server_default = (0, _agimon_ai_po_core_extensionFile.defineHook)((context) => context.root.hooks[8]);
|
|
1212
1251
|
//#endregion
|
|
@@ -1495,6 +1534,7 @@ const serverPlugin = (0, _agimon_ai_po_core_serverPlugin.defineServerPlugin)({
|
|
|
1495
1534
|
via({ event: "agent_end" }, at(agent_end_server_default, contextSession)),
|
|
1496
1535
|
via({ event: "agent_settled" }, at(agent_settled_server_default, contextSession)),
|
|
1497
1536
|
via({ event: "agent_start" }, at(agent_start_server_default, contextSession)),
|
|
1537
|
+
via({ event: "before_provider_request" }, at(before_provider_request_server_default, contextSession)),
|
|
1498
1538
|
via({ event: "model_select" }, at(model_select_server_default, contextSession)),
|
|
1499
1539
|
via({ event: "session_shutdown" }, at(session_shutdown_server_default, contextSession)),
|
|
1500
1540
|
via({ event: "session_start" }, at(session_start_server_default, contextSession)),
|