@agentguard-run/spend 0.11.0 → 0.11.1
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 +4 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/outcomes/metadata-learning.d.ts.map +1 -1
- package/dist/outcomes/metadata-learning.js +5 -1
- package/dist/outcomes/metadata-learning.js.map +1 -1
- package/dist/telemetry.js +1 -1
- package/package.json +1 -1
- package/src/outcomes/metadata-learning.ts +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
## 0.11.1
|
|
2
|
+
|
|
3
|
+
- Fixed metadata learning timestamp defaults so rows without an explicit timestamp normalize safely.
|
|
4
|
+
|
|
1
5
|
## 0.11.0
|
|
2
6
|
|
|
3
7
|
- Added metadata-only learning helpers for feedback rows, k-anonymous aggregates, shadow proposals, and reason-chip revision suggestions.
|
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export { withSpendGuardAnthropic, type AnthropicBindingOptions } from './binding
|
|
|
32
32
|
export { withSpendGuardBedrock, type BedrockBindingOptions } from './bindings/bedrock';
|
|
33
33
|
export { recommend, defaultKey, type ModelRouteRecommendation, type RecommendOptions } from './router';
|
|
34
34
|
export { DEFAULT_LOCALE, SUPPORTED_LOCALES, TRANSLATIONS, type SupportedLocale, resolveLocale, t, formatBlockedTrace, type BlockedTraceArgs, } from './i18n';
|
|
35
|
-
export declare const AGENTGUARD_SPEND_VERSION = "0.11.
|
|
35
|
+
export declare const AGENTGUARD_SPEND_VERSION = "0.11.1";
|
|
36
36
|
export declare const agentguard: {
|
|
37
37
|
workflow: typeof runWorkflow;
|
|
38
38
|
};
|
package/dist/index.js
CHANGED
|
@@ -147,7 +147,7 @@ Object.defineProperty(exports, "TRANSLATIONS", { enumerable: true, get: function
|
|
|
147
147
|
Object.defineProperty(exports, "resolveLocale", { enumerable: true, get: function () { return i18n_1.resolveLocale; } });
|
|
148
148
|
Object.defineProperty(exports, "t", { enumerable: true, get: function () { return i18n_1.t; } });
|
|
149
149
|
Object.defineProperty(exports, "formatBlockedTrace", { enumerable: true, get: function () { return i18n_1.formatBlockedTrace; } });
|
|
150
|
-
exports.AGENTGUARD_SPEND_VERSION = '0.11.
|
|
150
|
+
exports.AGENTGUARD_SPEND_VERSION = '0.11.1';
|
|
151
151
|
exports.agentguard = {
|
|
152
152
|
workflow: context_1.workflow,
|
|
153
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-learning.d.ts","sourceRoot":"","sources":["../../src/outcomes/metadata-learning.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metadata-learning.d.ts","sourceRoot":"","sources":["../../src/outcomes/metadata-learning.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ function normalizeLearningMetadataRow(input) {
|
|
|
49
49
|
guardrail_tier: clean(input.guardrail_tier, 'unknown', 64),
|
|
50
50
|
feedback_verdict: verdict,
|
|
51
51
|
feedback_reason: reason,
|
|
52
|
-
timestamp:
|
|
52
|
+
timestamp: normalizeTimestamp(input.timestamp),
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
function aggregateLearningMetadata(rows) {
|
|
@@ -102,6 +102,10 @@ function revisionSuggestion(reasons) {
|
|
|
102
102
|
const top = Object.entries(reasons).sort((a, b) => b[1] - a[1])[0]?.[0];
|
|
103
103
|
return { missing_citation: 'tighten cite-or-refuse instruction', wrong_format: 'make output schema stricter', wrong_category: 'add category examples', too_long: 'shorten answer format', missed_clause: 'expand clause watchlist', needs_review: 'lower reviewer cascade threshold', great: 'preserve current template' }[top || ''] || 'keep collecting metadata';
|
|
104
104
|
}
|
|
105
|
+
function normalizeTimestamp(value) {
|
|
106
|
+
const time = value == null ? Date.now() : new Date(String(value)).getTime();
|
|
107
|
+
return new Date(Number.isFinite(time) ? time : Date.now()).toISOString();
|
|
108
|
+
}
|
|
105
109
|
function pick(a) { return { prompt_version: a.prompt_version, model_id: a.model_id, effort: a.effort, fit_score: fitScore(a) }; }
|
|
106
110
|
function fitScore(a) { return round(a.pass_rate * 0.32 + a.mean_quality_score * 0.28 + a.feedback_distribution.accept_rate * 0.24 - a.feedback_distribution.reject_rate * 0.18 - a.escalation_rate * 0.08 - Math.min(0.12, a.mean_cost_cents / 2000) - Math.min(0.08, a.mean_latency_ms / 120000)); }
|
|
107
111
|
function clean(value, fallback, max) { const raw = value == null ? fallback : String(value).toLowerCase().replace(/[^a-z0-9_./:-]/g, '_').slice(0, max); return raw || fallback; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-learning.js","sourceRoot":"","sources":["../../src/outcomes/metadata-learning.ts"],"names":[],"mappings":";;AA4DA,gEAQC;AAED,oEA0BC;AAED,8DAeC;AAED,kFAaC;AAED,gDAGC;
|
|
1
|
+
{"version":3,"file":"metadata-learning.js","sourceRoot":"","sources":["../../src/outcomes/metadata-learning.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.js
CHANGED
|
@@ -43,7 +43,7 @@ const https = __importStar(require("https"));
|
|
|
43
43
|
const os = __importStar(require("os"));
|
|
44
44
|
const path = __importStar(require("path"));
|
|
45
45
|
const crypto_1 = require("crypto");
|
|
46
|
-
const AGENTGUARD_SPEND_VERSION = '0.11.
|
|
46
|
+
const AGENTGUARD_SPEND_VERSION = '0.11.1';
|
|
47
47
|
const STATE_DIR = path.join(os.homedir(), '.agentguard');
|
|
48
48
|
const INSTALL_PATH = path.join(STATE_DIR, 'install.json');
|
|
49
49
|
const BEACON_URL = 'https://agentguard.run/api/beacon';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentguard-run/spend",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "All terminology and labels used in AgentGuard materials are descriptive of software functionality only, not legal definitions or guarantees of compliance. Terms like receipt, audit log, evidence, audit trail, and attestation refer solely to cryptographically-signed records produced by the software. Full functional-use disclaimer in README.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -92,7 +92,7 @@ export function normalizeLearningMetadataRow(input: Record<string, unknown>): Le
|
|
|
92
92
|
guardrail_tier: clean(input.guardrail_tier, 'unknown', 64),
|
|
93
93
|
feedback_verdict: verdict,
|
|
94
94
|
feedback_reason: reason,
|
|
95
|
-
timestamp:
|
|
95
|
+
timestamp: normalizeTimestamp(input.timestamp),
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -133,6 +133,11 @@ export function revisionSuggestion(reasons: Record<string, number>): string {
|
|
|
133
133
|
return ({ missing_citation: 'tighten cite-or-refuse instruction', wrong_format: 'make output schema stricter', wrong_category: 'add category examples', too_long: 'shorten answer format', missed_clause: 'expand clause watchlist', needs_review: 'lower reviewer cascade threshold', great: 'preserve current template' } as Record<string, string>)[top || ''] || 'keep collecting metadata';
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
+
function normalizeTimestamp(value: unknown) {
|
|
137
|
+
const time = value == null ? Date.now() : new Date(String(value)).getTime();
|
|
138
|
+
return new Date(Number.isFinite(time) ? time : Date.now()).toISOString();
|
|
139
|
+
}
|
|
140
|
+
|
|
136
141
|
function pick(a: LearningAggregate) { return { prompt_version: a.prompt_version, model_id: a.model_id, effort: a.effort, fit_score: fitScore(a) }; }
|
|
137
142
|
function fitScore(a: LearningAggregate) { return round(a.pass_rate * 0.32 + a.mean_quality_score * 0.28 + a.feedback_distribution.accept_rate * 0.24 - a.feedback_distribution.reject_rate * 0.18 - a.escalation_rate * 0.08 - Math.min(0.12, a.mean_cost_cents / 2000) - Math.min(0.08, a.mean_latency_ms / 120000)); }
|
|
138
143
|
function clean(value: unknown, fallback: any, max: number) { const raw = value == null ? fallback : String(value).toLowerCase().replace(/[^a-z0-9_./:-]/g, '_').slice(0, max); return raw || fallback; }
|