@agentguard-run/spend 0.4.2 → 0.4.4
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 +11 -0
- package/LICENSE +53 -0
- package/README.md +53 -0
- package/dist/advisor/conversation.d.ts +5 -0
- package/dist/advisor/conversation.d.ts.map +1 -1
- package/dist/advisor/conversation.js +34 -2
- package/dist/advisor/conversation.js.map +1 -1
- package/dist/advisor/output.d.ts.map +1 -1
- package/dist/advisor/output.js +9 -2
- package/dist/advisor/output.js.map +1 -1
- package/dist/advisor/system-prompt.d.ts.map +1 -1
- package/dist/advisor/system-prompt.js +20 -2
- package/dist/advisor/system-prompt.js.map +1 -1
- package/dist/cli/advisor.d.ts.map +1 -1
- package/dist/cli/advisor.js +11 -2
- package/dist/cli/advisor.js.map +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +20 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +19 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/license.d.ts +2 -0
- package/dist/cli/license.d.ts.map +1 -0
- package/dist/cli/license.js +39 -0
- package/dist/cli/license.js.map +1 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +37 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/skill.d.ts +2 -0
- package/dist/cli/skill.d.ts.map +1 -0
- package/dist/cli/skill.js +33 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/soft-cap.d.ts +25 -0
- package/dist/cli/soft-cap.d.ts.map +1 -0
- package/dist/cli/soft-cap.js +204 -0
- package/dist/cli/soft-cap.js.map +1 -0
- package/dist/cost-table.d.ts.map +1 -1
- package/dist/cost-table.js +2 -0
- package/dist/cost-table.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -3
- package/dist/index.js.map +1 -1
- package/dist/license.d.ts +44 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +278 -0
- package/dist/license.js.map +1 -0
- package/dist/policy.d.ts +15 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +95 -1
- package/dist/policy.js.map +1 -1
- package/dist/spend-guard.d.ts +10 -0
- package/dist/spend-guard.d.ts.map +1 -1
- package/dist/spend-guard.js +14 -1
- package/dist/spend-guard.js.map +1 -1
- package/dist/telemetry.js +1 -1
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/advisor/conversation.ts +41 -2
- package/src/advisor/output.ts +9 -2
- package/src/advisor/system-prompt.ts +21 -2
- package/src/cli/advisor.ts +9 -2
- package/src/cli/auth.ts +19 -1
package/dist/index.js
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* 64/071,781; 64/071,789).
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.
|
|
11
|
-
exports.PATENT_NOTICE = exports.AGENTGUARD_SPEND_VERSION = exports.formatBlockedTrace = void 0;
|
|
10
|
+
exports.writeAdvisorOutputs = exports.createAdvisorSessionLogger = exports.resolveAdvisorApiKey = exports.createAdvisorClient = exports.projectedSavings = exports.buildPolicyFromProfile = exports.buildBusinessProfile = exports.AdvisorConversation = exports.modelCostFromOpenRouter = exports.persistOverrides = exports.syncPricingIntoCostTable = exports.getCachedCatalog = exports.fetchCatalog = exports.recordTelemetryEvent = exports.resetTelemetryInstallId = exports.disableTelemetry = exports.enableTelemetry = exports.telemetryStatus = exports.licenseKeyFingerprint = exports.clearConfiguredLicenseKey = exports.writeConfiguredLicenseKey = exports.readConfiguredLicenseKey = exports.validateAndRegisterLicense = exports.validateLicenseKey = exports.AgentGuardLicenseRequiredError = exports.InMemorySpendStore = exports.InMemoryDecisionLogStore = exports.GENESIS_PREVIOUS_HASH = exports.verifyChain = exports.verifyEntry = exports.signDecision = exports.computeSignerFingerprint = exports.computeEntryHash = exports.sha256Hex = exports.canonicalJson = exports.BUILT_IN_KEYWORD_WATCHLISTS = exports.findCustomKeywordWatchlists = exports.enforcePolicyLicenseGates = exports.adjustPolicyWindowSpend = exports.buildScopeKey = exports.evaluatePolicy = exports.knownModelCosts = exports.persistCostOverrides = exports.loadPersistedCostOverrides = exports.listCostOverrides = exports.inferProvider = exports.computeCallCents = exports.clearCostOverrides = exports.setCostOverride = exports.getModelCost = void 0;
|
|
11
|
+
exports.PATENT_NOTICE = exports.AGENTGUARD_SPEND_VERSION = exports.formatBlockedTrace = exports.t = exports.resolveLocale = exports.TRANSLATIONS = exports.SUPPORTED_LOCALES = exports.DEFAULT_LOCALE = exports.withSpendGuardBedrock = exports.withSpendGuardAnthropic = exports.AgentGuardBlockedError = exports.withSpendGuard = exports.SpendGuard = void 0;
|
|
12
12
|
const telemetry_1 = require("./telemetry");
|
|
13
13
|
// Cost table
|
|
14
14
|
var cost_table_1 = require("./cost-table");
|
|
@@ -26,6 +26,9 @@ var policy_1 = require("./policy");
|
|
|
26
26
|
Object.defineProperty(exports, "evaluatePolicy", { enumerable: true, get: function () { return policy_1.evaluatePolicy; } });
|
|
27
27
|
Object.defineProperty(exports, "buildScopeKey", { enumerable: true, get: function () { return policy_1.buildScopeKey; } });
|
|
28
28
|
Object.defineProperty(exports, "adjustPolicyWindowSpend", { enumerable: true, get: function () { return policy_1.adjustPolicyWindowSpend; } });
|
|
29
|
+
Object.defineProperty(exports, "enforcePolicyLicenseGates", { enumerable: true, get: function () { return policy_1.enforcePolicyLicenseGates; } });
|
|
30
|
+
Object.defineProperty(exports, "findCustomKeywordWatchlists", { enumerable: true, get: function () { return policy_1.findCustomKeywordWatchlists; } });
|
|
31
|
+
Object.defineProperty(exports, "BUILT_IN_KEYWORD_WATCHLISTS", { enumerable: true, get: function () { return policy_1.BUILT_IN_KEYWORD_WATCHLISTS; } });
|
|
29
32
|
// Decision log
|
|
30
33
|
var decision_log_1 = require("./decision-log");
|
|
31
34
|
Object.defineProperty(exports, "canonicalJson", { enumerable: true, get: function () { return decision_log_1.canonicalJson; } });
|
|
@@ -40,6 +43,15 @@ Object.defineProperty(exports, "InMemoryDecisionLogStore", { enumerable: true, g
|
|
|
40
43
|
// In-memory spend store
|
|
41
44
|
var store_memory_1 = require("./store-memory");
|
|
42
45
|
Object.defineProperty(exports, "InMemorySpendStore", { enumerable: true, get: function () { return store_memory_1.InMemorySpendStore; } });
|
|
46
|
+
// License controls
|
|
47
|
+
var license_1 = require("./license");
|
|
48
|
+
Object.defineProperty(exports, "AgentGuardLicenseRequiredError", { enumerable: true, get: function () { return license_1.AgentGuardLicenseRequiredError; } });
|
|
49
|
+
Object.defineProperty(exports, "validateLicenseKey", { enumerable: true, get: function () { return license_1.validateLicenseKey; } });
|
|
50
|
+
Object.defineProperty(exports, "validateAndRegisterLicense", { enumerable: true, get: function () { return license_1.validateAndRegisterLicense; } });
|
|
51
|
+
Object.defineProperty(exports, "readConfiguredLicenseKey", { enumerable: true, get: function () { return license_1.readConfiguredLicenseKey; } });
|
|
52
|
+
Object.defineProperty(exports, "writeConfiguredLicenseKey", { enumerable: true, get: function () { return license_1.writeConfiguredLicenseKey; } });
|
|
53
|
+
Object.defineProperty(exports, "clearConfiguredLicenseKey", { enumerable: true, get: function () { return license_1.clearConfiguredLicenseKey; } });
|
|
54
|
+
Object.defineProperty(exports, "licenseKeyFingerprint", { enumerable: true, get: function () { return license_1.licenseKeyFingerprint; } });
|
|
43
55
|
// Telemetry controls
|
|
44
56
|
var telemetry_2 = require("./telemetry");
|
|
45
57
|
Object.defineProperty(exports, "telemetryStatus", { enumerable: true, get: function () { return telemetry_2.telemetryStatus; } });
|
|
@@ -83,7 +95,7 @@ Object.defineProperty(exports, "TRANSLATIONS", { enumerable: true, get: function
|
|
|
83
95
|
Object.defineProperty(exports, "resolveLocale", { enumerable: true, get: function () { return i18n_1.resolveLocale; } });
|
|
84
96
|
Object.defineProperty(exports, "t", { enumerable: true, get: function () { return i18n_1.t; } });
|
|
85
97
|
Object.defineProperty(exports, "formatBlockedTrace", { enumerable: true, get: function () { return i18n_1.formatBlockedTrace; } });
|
|
86
|
-
exports.AGENTGUARD_SPEND_VERSION = '0.4.
|
|
98
|
+
exports.AGENTGUARD_SPEND_VERSION = '0.4.4';
|
|
87
99
|
/** Patent marking. 35 U.S.C. § 287 constructive notice. */
|
|
88
100
|
exports.PATENT_NOTICE = 'Protected by U.S. patent-pending technology ' +
|
|
89
101
|
'(App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626; ' +
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,2CAA8E;AAmB9E,aAAa;AACb,2CAWsB;AAVpB,0GAAA,YAAY,OAAA;AACZ,6GAAA,eAAe,OAAA;AACf,gHAAA,kBAAkB,OAAA;AAClB,8GAAA,gBAAgB,OAAA;AAChB,2GAAA,aAAa,OAAA;AACb,+GAAA,iBAAiB,OAAA;AACjB,wHAAA,0BAA0B,OAAA;AAC1B,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA;AAIjB,gBAAgB;AAChB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,2CAA8E;AAmB9E,aAAa;AACb,2CAWsB;AAVpB,0GAAA,YAAY,OAAA;AACZ,6GAAA,eAAe,OAAA;AACf,gHAAA,kBAAkB,OAAA;AAClB,8GAAA,gBAAgB,OAAA;AAChB,2GAAA,aAAa,OAAA;AACb,+GAAA,iBAAiB,OAAA;AACjB,wHAAA,0BAA0B,OAAA;AAC1B,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA;AAIjB,gBAAgB;AAChB,mCAAuK;AAA9J,wGAAA,cAAc,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,iHAAA,uBAAuB,OAAA;AAAE,mHAAA,yBAAyB,OAAA;AAAE,qHAAA,2BAA2B,OAAA;AAAE,qHAAA,2BAA2B,OAAA;AAEpJ,eAAe;AACf,+CAUwB;AATtB,6GAAA,aAAa,OAAA;AACb,yGAAA,SAAS,OAAA;AACT,gHAAA,gBAAgB,OAAA;AAChB,wHAAA,wBAAwB,OAAA;AACxB,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA;AACX,2GAAA,WAAW,OAAA;AACX,qHAAA,qBAAqB,OAAA;AACrB,wHAAA,wBAAwB,OAAA;AAG1B,wBAAwB;AACxB,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAE3B,mBAAmB;AACnB,qCAWmB;AAVjB,yHAAA,8BAA8B,OAAA;AAC9B,6GAAA,kBAAkB,OAAA;AAClB,qHAAA,0BAA0B,OAAA;AAC1B,mHAAA,wBAAwB,OAAA;AACxB,oHAAA,yBAAyB,OAAA;AACzB,oHAAA,yBAAyB,OAAA;AACzB,gHAAA,qBAAqB,OAAA;AAMvB,qBAAqB;AACrB,yCAOqB;AANnB,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AAItB,qBAAqB;AACrB,2DAS8B;AAR5B,kHAAA,YAAY,OAAA;AACZ,sHAAA,gBAAgB,OAAA;AAChB,8HAAA,wBAAwB,OAAA;AACxB,sHAAA,gBAAgB,OAAA;AAChB,6HAAA,uBAAuB,OAAA;AAOzB,sBAAsB;AACtB,uDAOgC;AAN9B,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,sHAAA,sBAAsB,OAAA;AACtB,gHAAA,gBAAgB,OAAA;AAIlB,mDAA2H;AAAlH,iHAAA,mBAAmB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAClD,2CAAwG;AAA/F,oHAAA,0BAA0B,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAExD,eAAe;AACf,6CAQuB;AAPrB,yGAAA,UAAU,OAAA;AACV,6GAAA,cAAc,OAAA;AACd,qHAAA,sBAAsB,OAAA;AAOxB,kDAA6F;AAApF,oHAAA,uBAAuB,OAAA;AAChC,8CAAuF;AAA9E,gHAAA,qBAAqB,OAAA;AAE9B,sCAAsC;AACtC,+BASgB;AARd,sGAAA,cAAc,OAAA;AACd,yGAAA,iBAAiB,OAAA;AACjB,oGAAA,YAAY,OAAA;AAEZ,qGAAA,aAAa,OAAA;AACb,yFAAA,CAAC,OAAA;AACD,0GAAA,kBAAkB,OAAA;AAIP,QAAA,wBAAwB,GAAG,OAAO,CAAC;AAEhD,2DAA2D;AAC9C,QAAA,aAAa,GACxB,8CAA8C;IAC9C,6DAA6D;IAC7D,sDAAsD,CAAC;AACzD,IAAA,gCAAuB,EAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentGuard(TM) Spend: local license validation helpers.
|
|
3
|
+
*
|
|
4
|
+
* License checks send only license key fingerprints, anonymous machine ids,
|
|
5
|
+
* and SDK metadata to AgentGuard endpoints. Prompts, completions, provider
|
|
6
|
+
* keys, signing keys, and policy bodies are never sent.
|
|
7
|
+
*/
|
|
8
|
+
export type AgentGuardTier = 'free' | 'solo' | 'startup' | 'growth';
|
|
9
|
+
export interface AgentGuardLicenseFeatures {
|
|
10
|
+
postureSwitching: boolean;
|
|
11
|
+
customWatchlists: boolean;
|
|
12
|
+
outcomeBuilder: boolean;
|
|
13
|
+
reviewerCascade: boolean;
|
|
14
|
+
verticalSkillPackImport: boolean;
|
|
15
|
+
auditRetentionDays: number;
|
|
16
|
+
maxActiveSeats: number;
|
|
17
|
+
}
|
|
18
|
+
export interface AgentGuardLicenseStatus {
|
|
19
|
+
valid: boolean;
|
|
20
|
+
tier: AgentGuardTier;
|
|
21
|
+
seats: number;
|
|
22
|
+
expiresAt: string | null;
|
|
23
|
+
features: AgentGuardLicenseFeatures;
|
|
24
|
+
}
|
|
25
|
+
export interface LicenseClientOptions {
|
|
26
|
+
endpointBaseUrl?: string;
|
|
27
|
+
nowMs?: number;
|
|
28
|
+
force?: boolean;
|
|
29
|
+
home?: string;
|
|
30
|
+
postJson?: (url: string, payload: Record<string, unknown>) => Promise<unknown>;
|
|
31
|
+
}
|
|
32
|
+
export declare class AgentGuardLicenseRequiredError extends Error {
|
|
33
|
+
code: string;
|
|
34
|
+
constructor(message: string);
|
|
35
|
+
}
|
|
36
|
+
export declare function agentguardHome(home?: string): string;
|
|
37
|
+
export declare function configPath(home?: string): string;
|
|
38
|
+
export declare function readConfiguredLicenseKey(home?: string): string | null;
|
|
39
|
+
export declare function writeConfiguredLicenseKey(licenseKey: string, home?: string): void;
|
|
40
|
+
export declare function clearConfiguredLicenseKey(home?: string): void;
|
|
41
|
+
export declare function licenseKeyFingerprint(licenseKey: string): string;
|
|
42
|
+
export declare function validateLicenseKey(licenseKey?: string | null, opts?: LicenseClientOptions): Promise<AgentGuardLicenseStatus>;
|
|
43
|
+
export declare function validateAndRegisterLicense(licenseKey?: string | null, opts?: LicenseClientOptions): Promise<AgentGuardLicenseStatus>;
|
|
44
|
+
//# sourceMappingURL=license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,yBAAyB,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChF;AAoBD,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,IAAI,SAAiC;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASrE;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAQjF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAO7D;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAsB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CActI;AAED,wBAAsB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmB9I"}
|
package/dist/license.js
ADDED
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AgentGuard(TM) Spend: local license validation helpers.
|
|
4
|
+
*
|
|
5
|
+
* License checks send only license key fingerprints, anonymous machine ids,
|
|
6
|
+
* and SDK metadata to AgentGuard endpoints. Prompts, completions, provider
|
|
7
|
+
* keys, signing keys, and policy bodies are never sent.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.AgentGuardLicenseRequiredError = void 0;
|
|
44
|
+
exports.agentguardHome = agentguardHome;
|
|
45
|
+
exports.configPath = configPath;
|
|
46
|
+
exports.readConfiguredLicenseKey = readConfiguredLicenseKey;
|
|
47
|
+
exports.writeConfiguredLicenseKey = writeConfiguredLicenseKey;
|
|
48
|
+
exports.clearConfiguredLicenseKey = clearConfiguredLicenseKey;
|
|
49
|
+
exports.licenseKeyFingerprint = licenseKeyFingerprint;
|
|
50
|
+
exports.validateLicenseKey = validateLicenseKey;
|
|
51
|
+
exports.validateAndRegisterLicense = validateAndRegisterLicense;
|
|
52
|
+
const crypto = __importStar(require("crypto"));
|
|
53
|
+
const fs = __importStar(require("fs"));
|
|
54
|
+
const http = __importStar(require("http"));
|
|
55
|
+
const https = __importStar(require("https"));
|
|
56
|
+
const os = __importStar(require("os"));
|
|
57
|
+
const path = __importStar(require("path"));
|
|
58
|
+
const DEFAULT_ENDPOINT = 'https://agentguard.run';
|
|
59
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
60
|
+
const FREE_STATUS = {
|
|
61
|
+
valid: true,
|
|
62
|
+
tier: 'free',
|
|
63
|
+
seats: 1,
|
|
64
|
+
expiresAt: null,
|
|
65
|
+
features: {
|
|
66
|
+
postureSwitching: false,
|
|
67
|
+
customWatchlists: false,
|
|
68
|
+
outcomeBuilder: false,
|
|
69
|
+
reviewerCascade: false,
|
|
70
|
+
verticalSkillPackImport: false,
|
|
71
|
+
auditRetentionDays: 7,
|
|
72
|
+
maxActiveSeats: 1,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
class AgentGuardLicenseRequiredError extends Error {
|
|
76
|
+
code = 'AGENTGUARD_LICENSE_REQUIRED';
|
|
77
|
+
constructor(message) {
|
|
78
|
+
super(message);
|
|
79
|
+
this.name = 'AgentGuardLicenseRequiredError';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.AgentGuardLicenseRequiredError = AgentGuardLicenseRequiredError;
|
|
83
|
+
function agentguardHome(home) {
|
|
84
|
+
return home || process.env.AGENTGUARD_HOME || path.join(os.homedir(), '.agentguard');
|
|
85
|
+
}
|
|
86
|
+
function configPath(home) {
|
|
87
|
+
return path.join(agentguardHome(home), 'config.json');
|
|
88
|
+
}
|
|
89
|
+
function readConfiguredLicenseKey(home) {
|
|
90
|
+
if (process.env.AGENTGUARD_LICENSE_KEY)
|
|
91
|
+
return process.env.AGENTGUARD_LICENSE_KEY.trim();
|
|
92
|
+
try {
|
|
93
|
+
const parsed = JSON.parse(fs.readFileSync(configPath(home), 'utf8'));
|
|
94
|
+
const key = parsed.licenseKey || parsed.license_key;
|
|
95
|
+
return key ? String(key).trim() : null;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function writeConfiguredLicenseKey(licenseKey, home) {
|
|
102
|
+
const file = configPath(home);
|
|
103
|
+
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
104
|
+
let parsed = {};
|
|
105
|
+
try {
|
|
106
|
+
parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
107
|
+
}
|
|
108
|
+
catch { }
|
|
109
|
+
parsed.licenseKey = licenseKey.trim();
|
|
110
|
+
fs.writeFileSync(file, JSON.stringify(parsed, null, 2) + '\n', { mode: 0o600 });
|
|
111
|
+
try {
|
|
112
|
+
fs.chmodSync(file, 0o600);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function clearConfiguredLicenseKey(home) {
|
|
119
|
+
const file = configPath(home);
|
|
120
|
+
let parsed = {};
|
|
121
|
+
try {
|
|
122
|
+
parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
delete parsed.licenseKey;
|
|
128
|
+
delete parsed.license_key;
|
|
129
|
+
fs.writeFileSync(file, JSON.stringify(parsed, null, 2) + '\n', { mode: 0o600 });
|
|
130
|
+
}
|
|
131
|
+
function licenseKeyFingerprint(licenseKey) {
|
|
132
|
+
return crypto.createHash('sha256').update(licenseKey).digest('hex').slice(0, 16);
|
|
133
|
+
}
|
|
134
|
+
async function validateLicenseKey(licenseKey, opts = {}) {
|
|
135
|
+
const key = licenseKey?.trim() || null;
|
|
136
|
+
if (!key)
|
|
137
|
+
return { ...FREE_STATUS, features: { ...FREE_STATUS.features } };
|
|
138
|
+
const now = opts.nowMs ?? Date.now();
|
|
139
|
+
const cache = licenseCachePath(key, opts.home);
|
|
140
|
+
if (!opts.force) {
|
|
141
|
+
const cached = readCachedStatus(cache, now);
|
|
142
|
+
if (cached)
|
|
143
|
+
return cached;
|
|
144
|
+
}
|
|
145
|
+
const base = (opts.endpointBaseUrl || process.env.AGENTGUARD_LICENSE_ENDPOINT || DEFAULT_ENDPOINT).replace(/\/$/, '');
|
|
146
|
+
const raw = await (opts.postJson ?? postJson)(`${base}/api/license/validate`, { license_key: key });
|
|
147
|
+
const status = normalizeStatus(raw);
|
|
148
|
+
writeCachedStatus(cache, status, now);
|
|
149
|
+
return status;
|
|
150
|
+
}
|
|
151
|
+
async function validateAndRegisterLicense(licenseKey, opts = {}) {
|
|
152
|
+
const key = licenseKey?.trim() || readConfiguredLicenseKey(opts.home);
|
|
153
|
+
const status = await validateLicenseKey(key, opts);
|
|
154
|
+
const processId = processUuid(opts.home);
|
|
155
|
+
const machineFingerprint = anonymousMachineFingerprint(opts.home);
|
|
156
|
+
const base = (opts.endpointBaseUrl || process.env.AGENTGUARD_LICENSE_ENDPOINT || DEFAULT_ENDPOINT).replace(/\/$/, '');
|
|
157
|
+
try {
|
|
158
|
+
const seat = await (opts.postJson ?? postJson)(`${base}/api/license/seats`, {
|
|
159
|
+
license_key: key || undefined,
|
|
160
|
+
machine_fingerprint: machineFingerprint,
|
|
161
|
+
process_id: processId,
|
|
162
|
+
});
|
|
163
|
+
if (seat && seat.ok === false) {
|
|
164
|
+
throw new AgentGuardLicenseRequiredError(`Active SDK process limit exceeded for this license. Active seats: ${seat.activeSeats ?? 'unknown'}. Limit: ${seat.maxActiveSeats ?? status.features.maxActiveSeats}. Upgrade at https://agentguard.run/pricing or activate a team license with: agentguard auth license-key <KEY>`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
if (err instanceof AgentGuardLicenseRequiredError)
|
|
169
|
+
throw err;
|
|
170
|
+
}
|
|
171
|
+
return status;
|
|
172
|
+
}
|
|
173
|
+
function licenseCachePath(licenseKey, home) {
|
|
174
|
+
return path.join(agentguardHome(home), `license-${crypto.createHash('sha256').update(licenseKey).digest('hex')}.json`);
|
|
175
|
+
}
|
|
176
|
+
function readCachedStatus(file, now) {
|
|
177
|
+
try {
|
|
178
|
+
const parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
179
|
+
if (!parsed.fetchedAt || now - parsed.fetchedAt > DAY_MS)
|
|
180
|
+
return null;
|
|
181
|
+
return normalizeStatus(parsed.status);
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function writeCachedStatus(file, status, now) {
|
|
188
|
+
try {
|
|
189
|
+
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
190
|
+
fs.writeFileSync(file, JSON.stringify({ fetchedAt: now, status }, null, 2) + '\n', { mode: 0o600 });
|
|
191
|
+
fs.chmodSync(file, 0o600);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function processUuid(home) {
|
|
198
|
+
const file = path.join(agentguardHome(home), 'process-id');
|
|
199
|
+
try {
|
|
200
|
+
const existing = fs.readFileSync(file, 'utf8').trim();
|
|
201
|
+
if (existing)
|
|
202
|
+
return existing;
|
|
203
|
+
}
|
|
204
|
+
catch { }
|
|
205
|
+
const id = crypto.randomUUID();
|
|
206
|
+
try {
|
|
207
|
+
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
208
|
+
fs.writeFileSync(file, id + '\n', { mode: 0o600 });
|
|
209
|
+
fs.chmodSync(file, 0o600);
|
|
210
|
+
}
|
|
211
|
+
catch { }
|
|
212
|
+
return id;
|
|
213
|
+
}
|
|
214
|
+
function anonymousMachineFingerprint(home) {
|
|
215
|
+
const file = path.join(agentguardHome(home), 'install.json');
|
|
216
|
+
try {
|
|
217
|
+
const parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
218
|
+
if (parsed.anonymous_install_id)
|
|
219
|
+
return crypto.createHash('sha256').update(parsed.anonymous_install_id).digest('hex');
|
|
220
|
+
}
|
|
221
|
+
catch { }
|
|
222
|
+
const seed = `${os.platform()}:${os.arch()}:${os.homedir()}:${os.hostname()}`;
|
|
223
|
+
return crypto.createHash('sha256').update(seed).digest('hex');
|
|
224
|
+
}
|
|
225
|
+
function normalizeStatus(raw) {
|
|
226
|
+
const obj = raw && typeof raw === 'object' ? raw : {};
|
|
227
|
+
const features = obj.features && typeof obj.features === 'object' ? obj.features : {};
|
|
228
|
+
return {
|
|
229
|
+
valid: obj.valid === true,
|
|
230
|
+
tier: normalizeTier(obj.tier),
|
|
231
|
+
seats: numberOr(obj.seats, normalizeTier(obj.tier) === 'growth' ? 50 : normalizeTier(obj.tier) === 'startup' ? 5 : 1),
|
|
232
|
+
expiresAt: typeof obj.expiresAt === 'string' ? obj.expiresAt : null,
|
|
233
|
+
features: {
|
|
234
|
+
postureSwitching: features.postureSwitching === true,
|
|
235
|
+
customWatchlists: features.customWatchlists === true,
|
|
236
|
+
outcomeBuilder: features.outcomeBuilder === true,
|
|
237
|
+
reviewerCascade: features.reviewerCascade === true,
|
|
238
|
+
verticalSkillPackImport: features.verticalSkillPackImport === true,
|
|
239
|
+
auditRetentionDays: numberOr(features.auditRetentionDays, 7),
|
|
240
|
+
maxActiveSeats: numberOr(features.maxActiveSeats, 1),
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
function normalizeTier(value) {
|
|
245
|
+
return value === 'solo' || value === 'startup' || value === 'growth' ? value : 'free';
|
|
246
|
+
}
|
|
247
|
+
function numberOr(value, fallback) {
|
|
248
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
|
|
249
|
+
}
|
|
250
|
+
function postJson(url, payload) {
|
|
251
|
+
void payload;
|
|
252
|
+
if (url.startsWith('mock://'))
|
|
253
|
+
return Promise.resolve({ ...FREE_STATUS, features: { ...FREE_STATUS.features } });
|
|
254
|
+
return new Promise((resolve, reject) => {
|
|
255
|
+
const parsed = new URL(url);
|
|
256
|
+
const client = parsed.protocol === 'http:' ? http : https;
|
|
257
|
+
const body = JSON.stringify(payload);
|
|
258
|
+
const req = client.request({ method: 'POST', hostname: parsed.hostname, port: parsed.port, path: parsed.pathname + parsed.search, headers: { 'content-type': 'application/json', 'content-length': Buffer.byteLength(body) }, timeout: 5000 }, (res) => {
|
|
259
|
+
const chunks = [];
|
|
260
|
+
res.on('data', (chunk) => chunks.push(chunk));
|
|
261
|
+
res.on('end', () => {
|
|
262
|
+
const text = Buffer.concat(chunks).toString('utf8');
|
|
263
|
+
if ((res.statusCode ?? 0) >= 400)
|
|
264
|
+
return reject(new Error(`license endpoint failed: ${res.statusCode} ${text.slice(0, 160)}`));
|
|
265
|
+
try {
|
|
266
|
+
resolve(text ? JSON.parse(text) : {});
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
resolve({});
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
req.on('error', reject);
|
|
274
|
+
req.on('timeout', () => req.destroy(new Error('license endpoint timed out')));
|
|
275
|
+
req.end(body);
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"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"}
|
package/dist/policy.d.ts
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* (App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626;
|
|
10
10
|
* 64/071,781; 64/071,789).
|
|
11
11
|
*/
|
|
12
|
-
import type { SpendPolicy, CallContext, SpendDecision, SpendStore, SpendScope, SpendAction } from './types';
|
|
12
|
+
import type { SpendPolicy, CallContext, SpendDecision, SpendStore, SpendScope, SpendAction, ReviewerCascadeOutcome, ReviewerCascadeReceipt } from './types';
|
|
13
|
+
import { type AgentGuardLicenseStatus } from './license';
|
|
13
14
|
/**
|
|
14
15
|
* Build a collision-resistant storage key from a SpendScope. The hash is over
|
|
15
16
|
* canonical JSON, so attacker-controlled separators in tenant/user IDs cannot
|
|
@@ -21,6 +22,19 @@ export declare function buildScopeKey(scope: SpendScope): string;
|
|
|
21
22
|
* Empty fields in the policy scope are wildcards.
|
|
22
23
|
*/
|
|
23
24
|
declare function policyMatchesCall(policyScope: SpendScope, callScope: SpendScope): boolean;
|
|
25
|
+
export interface ReviewerCascadeInput {
|
|
26
|
+
drafterConfidence?: number;
|
|
27
|
+
outputText?: string;
|
|
28
|
+
highRiskClassifierScore?: number;
|
|
29
|
+
keywordWatchlist?: string[];
|
|
30
|
+
reviewerVerdict?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function getReviewerCascadeOutcome(policy: SpendPolicy, outcomeName: string): ReviewerCascadeOutcome | null;
|
|
33
|
+
export declare function evaluateReviewerCascadeOutcome(outcomeName: string, outcome: ReviewerCascadeOutcome, input?: ReviewerCascadeInput): ReviewerCascadeReceipt;
|
|
34
|
+
export declare function evaluateReviewerTriggers(triggers: unknown[], input?: ReviewerCascadeInput): string[];
|
|
35
|
+
export declare const BUILT_IN_KEYWORD_WATCHLISTS: Set<string>;
|
|
36
|
+
export declare function enforcePolicyLicenseGates(policy: SpendPolicy, license: AgentGuardLicenseStatus): void;
|
|
37
|
+
export declare function findCustomKeywordWatchlists(policy: SpendPolicy): string[];
|
|
24
38
|
declare function mostRestrictive(a: SpendAction, b: SpendAction): SpendAction;
|
|
25
39
|
export declare function evaluatePolicy(policy: SpendPolicy, call: CallContext, store: SpendStore): Promise<SpendDecision>;
|
|
26
40
|
export declare function adjustPolicyWindowSpend(policy: SpendPolicy, store: SpendStore, deltaCents: number): Promise<void>;
|
package/dist/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EAEV,UAAU,EAEV,WAAW,
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EAEV,UAAU,EAEV,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAkC,KAAK,uBAAuB,EAAE,MAAM,WAAW,CAAC;AA6BzF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEvD;AAmBD;;;GAGG;AACH,iBAAS,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAQlF;AAID,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAGjH;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,EAC/B,KAAK,GAAE,oBAAyB,GAC/B,sBAAsB,CAUxB;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,GAAE,oBAAyB,GAAG,MAAM,EAAE,CAoBxG;AAED,eAAO,MAAM,2BAA2B,aAMtC,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAWrG;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAIzE;AAkCD,iBAAS,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW,CAEpE;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,aAAa,CAAC,CA8HxB;AAsJD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CASf;AA2CD,iBAAS,0BAA0B,CACjC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EACvD,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,GACvD,OAAO,CAET;AA6BD,eAAO,MAAM,QAAQ;;;;CAAqE,CAAC"}
|
package/dist/policy.js
CHANGED
|
@@ -11,13 +11,19 @@
|
|
|
11
11
|
* 64/071,781; 64/071,789).
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports._testing = void 0;
|
|
14
|
+
exports._testing = exports.BUILT_IN_KEYWORD_WATCHLISTS = void 0;
|
|
15
15
|
exports.buildScopeKey = buildScopeKey;
|
|
16
|
+
exports.getReviewerCascadeOutcome = getReviewerCascadeOutcome;
|
|
17
|
+
exports.evaluateReviewerCascadeOutcome = evaluateReviewerCascadeOutcome;
|
|
18
|
+
exports.evaluateReviewerTriggers = evaluateReviewerTriggers;
|
|
19
|
+
exports.enforcePolicyLicenseGates = enforcePolicyLicenseGates;
|
|
20
|
+
exports.findCustomKeywordWatchlists = findCustomKeywordWatchlists;
|
|
16
21
|
exports.evaluatePolicy = evaluatePolicy;
|
|
17
22
|
exports.adjustPolicyWindowSpend = adjustPolicyWindowSpend;
|
|
18
23
|
const crypto_1 = require("crypto");
|
|
19
24
|
const cost_table_1 = require("./cost-table");
|
|
20
25
|
const decision_log_1 = require("./decision-log");
|
|
26
|
+
const license_1 = require("./license");
|
|
21
27
|
/**
|
|
22
28
|
* Build a collision-resistant storage key from a SpendScope. The hash is over
|
|
23
29
|
* canonical JSON, so attacker-controlled separators in tenant/user IDs cannot
|
|
@@ -65,6 +71,94 @@ function policyMatchesCall(policyScope, callScope) {
|
|
|
65
71
|
return false;
|
|
66
72
|
return true;
|
|
67
73
|
}
|
|
74
|
+
function getReviewerCascadeOutcome(policy, outcomeName) {
|
|
75
|
+
const outcomes = policy.outcomes;
|
|
76
|
+
return outcomes?.[outcomeName] ?? null;
|
|
77
|
+
}
|
|
78
|
+
function evaluateReviewerCascadeOutcome(outcomeName, outcome, input = {}) {
|
|
79
|
+
const triggerFired = evaluateReviewerTriggers(outcome.reviewer?.trigger ?? [], input);
|
|
80
|
+
const reviewerRuns = Boolean(outcome.reviewer && triggerFired.length > 0);
|
|
81
|
+
return {
|
|
82
|
+
outcome: outcomeName,
|
|
83
|
+
drafter: outcome.drafter,
|
|
84
|
+
reviewer: reviewerRuns && outcome.reviewer ? { model: outcome.reviewer.model, maxCostCents: outcome.reviewer.maxCostCents } : null,
|
|
85
|
+
triggerFired,
|
|
86
|
+
reviewerVerdict: reviewerRuns ? input.reviewerVerdict ?? 'review_required' : 'drafter_only',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function evaluateReviewerTriggers(triggers, input = {}) {
|
|
90
|
+
const fired = [];
|
|
91
|
+
const output = (input.outputText ?? '').toLowerCase();
|
|
92
|
+
for (const trigger of triggers) {
|
|
93
|
+
if (!trigger || typeof trigger !== 'object')
|
|
94
|
+
continue;
|
|
95
|
+
const t = trigger;
|
|
96
|
+
if (typeof t.drafter_confidence_below === 'number' && typeof input.drafterConfidence === 'number' && input.drafterConfidence < t.drafter_confidence_below) {
|
|
97
|
+
fired.push(`drafter_confidence_below:${t.drafter_confidence_below}`);
|
|
98
|
+
}
|
|
99
|
+
if (Array.isArray(t.output_contains_any) && t.output_contains_any.some((term) => typeof term === 'string' && output.includes(term.toLowerCase()))) {
|
|
100
|
+
fired.push('output_contains_any');
|
|
101
|
+
}
|
|
102
|
+
if (typeof t.high_risk_classifier_score_above === 'number' && typeof input.highRiskClassifierScore === 'number' && input.highRiskClassifierScore > t.high_risk_classifier_score_above) {
|
|
103
|
+
fired.push(`high_risk_classifier_score_above:${t.high_risk_classifier_score_above}`);
|
|
104
|
+
}
|
|
105
|
+
if (typeof t.keyword_watchlist === 'string' && (input.keywordWatchlist ?? []).some((term) => output.includes(term.toLowerCase()))) {
|
|
106
|
+
fired.push(`keyword_watchlist:${t.keyword_watchlist}`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return [...new Set(fired)];
|
|
110
|
+
}
|
|
111
|
+
exports.BUILT_IN_KEYWORD_WATCHLISTS = new Set([
|
|
112
|
+
'law-firm-defaults',
|
|
113
|
+
'cpa-defaults',
|
|
114
|
+
'ecommerce-defaults',
|
|
115
|
+
'real-estate-defaults',
|
|
116
|
+
'insurance-defaults',
|
|
117
|
+
]);
|
|
118
|
+
function enforcePolicyLicenseGates(policy, license) {
|
|
119
|
+
const posture = policyPosture(policy);
|
|
120
|
+
if (posture && posture !== 'standard' && !license.features.postureSwitching) {
|
|
121
|
+
throw new license_1.AgentGuardLicenseRequiredError(`Posture switching requires a Solo license. Get one at https://agentguard.run/pricing or via Visa CLI:
|
|
122
|
+
visa-cli buy https://agentguard.run/api/x402/license?tier=solo
|
|
123
|
+
Then activate with: agentguard auth license-key <KEY>`);
|
|
124
|
+
}
|
|
125
|
+
const custom = findCustomKeywordWatchlists(policy);
|
|
126
|
+
if (custom.length > 0 && !license.features.customWatchlists) {
|
|
127
|
+
throw new license_1.AgentGuardLicenseRequiredError(`Custom keyword watchlists require a Solo license. Built-in watchlists remain available on the free tier. Activate with: agentguard auth license-key <KEY>`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function findCustomKeywordWatchlists(policy) {
|
|
131
|
+
const found = new Set();
|
|
132
|
+
scanForKeywordWatchlists(policy, found);
|
|
133
|
+
return [...found].filter((name) => !exports.BUILT_IN_KEYWORD_WATCHLISTS.has(name));
|
|
134
|
+
}
|
|
135
|
+
function policyPosture(policy) {
|
|
136
|
+
const anyPolicy = policy;
|
|
137
|
+
const posture = anyPolicy.governancePosture?.posture || anyPolicy.posture;
|
|
138
|
+
return typeof posture === 'string' ? posture.toLowerCase() : null;
|
|
139
|
+
}
|
|
140
|
+
function scanForKeywordWatchlists(value, found) {
|
|
141
|
+
if (!value)
|
|
142
|
+
return;
|
|
143
|
+
if (typeof value === 'string') {
|
|
144
|
+
const match = value.match(/keyword_watchlist\s*:\s*([A-Za-z0-9_-]+)/);
|
|
145
|
+
if (match?.[1])
|
|
146
|
+
found.add(match[1]);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (Array.isArray(value)) {
|
|
150
|
+
for (const item of value)
|
|
151
|
+
scanForKeywordWatchlists(item, found);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (typeof value === 'object') {
|
|
155
|
+
for (const [key, child] of Object.entries(value)) {
|
|
156
|
+
if (key === 'keyword_watchlist' && typeof child === 'string')
|
|
157
|
+
found.add(child);
|
|
158
|
+
scanForKeywordWatchlists(child, found);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
68
162
|
const ACTION_RANK = {
|
|
69
163
|
block: 3,
|
|
70
164
|
downgrade: 2,
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|