@pylabmit/agent-cmdb 1.5.0 → 2.0.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/README.md +29 -4
- package/dist/brain.d.ts.map +1 -1
- package/dist/brain.js +119 -44
- package/dist/brain.js.map +1 -1
- package/dist/checkpoint.d.ts +6 -0
- package/dist/checkpoint.d.ts.map +1 -0
- package/dist/checkpoint.js +137 -0
- package/dist/checkpoint.js.map +1 -0
- package/dist/cli.js +162 -7
- package/dist/cli.js.map +1 -1
- package/dist/cost.d.ts +3 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +49 -0
- package/dist/cost.js.map +1 -0
- package/dist/digest.d.ts +2 -1
- package/dist/digest.d.ts.map +1 -1
- package/dist/digest.js +18 -2
- package/dist/digest.js.map +1 -1
- package/dist/engine.d.ts +0 -2
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +0 -2
- package/dist/engine.js.map +1 -1
- package/dist/health.d.ts +9 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +222 -0
- package/dist/health.js.map +1 -0
- package/dist/interface.d.ts +15 -2
- package/dist/interface.d.ts.map +1 -1
- package/dist/interface.js +47 -3
- package/dist/interface.js.map +1 -1
- package/dist/internal.d.ts +3 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +3 -0
- package/dist/internal.js.map +1 -0
- package/dist/loader.js +54 -3
- package/dist/loader.js.map +1 -1
- package/dist/policy-engine.js +7 -7
- package/dist/policy-engine.js.map +1 -1
- package/dist/preflight.d.ts +5 -3
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +144 -20
- package/dist/preflight.js.map +1 -1
- package/dist/route-resolver.d.ts.map +1 -1
- package/dist/route-resolver.js +47 -6
- package/dist/route-resolver.js.map +1 -1
- package/dist/slo.d.ts +4 -0
- package/dist/slo.d.ts.map +1 -0
- package/dist/slo.js +147 -0
- package/dist/slo.js.map +1 -0
- package/dist/store.d.ts +10 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +165 -12
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +75 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -1
- package/dist/agent-preflight.d.ts +0 -6
- package/dist/agent-preflight.d.ts.map +0 -1
- package/dist/agent-preflight.js +0 -55
- package/dist/agent-preflight.js.map +0 -1
- package/dist/preflight-action.d.ts +0 -3
- package/dist/preflight-action.d.ts.map +0 -1
- package/dist/preflight-action.js +0 -101
- package/dist/preflight-action.js.map +0 -1
package/dist/preflight-action.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { evaluatePolicy, normalizePolicyRequest } from './policy-engine.js';
|
|
2
|
-
import { inspectProfile, resolveSourceRoute } from './route-resolver.js';
|
|
3
|
-
export function preflightAction(controlPlane, request) {
|
|
4
|
-
const normalizedRequest = normalizePreflightRequest(request);
|
|
5
|
-
const decision = evaluatePolicy(controlPlane, normalizedRequest);
|
|
6
|
-
let finalDecision = decision;
|
|
7
|
-
let route;
|
|
8
|
-
const warnings = [];
|
|
9
|
-
if (normalizedRequest.intent) {
|
|
10
|
-
try {
|
|
11
|
-
route = resolveSourceRoute(controlPlane, {
|
|
12
|
-
profile: normalizedRequest.profile,
|
|
13
|
-
intent: normalizedRequest.intent,
|
|
14
|
-
freshness: normalizedRequest.freshness,
|
|
15
|
-
now: normalizedRequest.now
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
20
|
-
const reason = `Route resolution failed: ${message}`;
|
|
21
|
-
warnings.push(reason);
|
|
22
|
-
if (decision.effect === 'allow') {
|
|
23
|
-
finalDecision = {
|
|
24
|
-
effect: 'deny',
|
|
25
|
-
ruleId: 'route-resolution-failed',
|
|
26
|
-
code: 'route_resolution_failed',
|
|
27
|
-
reason,
|
|
28
|
-
profile: normalizedRequest.profile,
|
|
29
|
-
action: normalizedRequest.action,
|
|
30
|
-
tool: normalizedRequest.tool,
|
|
31
|
-
canEscalate: false,
|
|
32
|
-
suggestedAlternative: 'Fix the source route for this profile and intent before executing.'
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const profile = inspectProfile(controlPlane, normalizedRequest.profile);
|
|
38
|
-
return {
|
|
39
|
-
allowed: finalDecision.effect === 'allow',
|
|
40
|
-
approvalRequired: finalDecision.effect === 'approval_required',
|
|
41
|
-
decision: finalDecision,
|
|
42
|
-
route,
|
|
43
|
-
routeExecutable: finalDecision.effect === 'allow' && Boolean(route),
|
|
44
|
-
guardrails: route?.guardrails ?? profile.guardrails,
|
|
45
|
-
warnings,
|
|
46
|
-
dryRun: Boolean(normalizedRequest.dryRun)
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function normalizePreflightRequest(request) {
|
|
50
|
-
const normalizedPolicy = normalizePolicyRequest(request);
|
|
51
|
-
const record = requireRecord(request, 'Preflight request');
|
|
52
|
-
const intent = record.intent === undefined
|
|
53
|
-
? undefined
|
|
54
|
-
: requireNonEmptyString(record.intent, 'Preflight request intent', 'when provided');
|
|
55
|
-
const dryRun = record.dryRun === undefined ? undefined : requireBoolean(record.dryRun, 'Preflight request dryRun');
|
|
56
|
-
const freshness = normalizeFreshness(record.freshness);
|
|
57
|
-
const now = record.now === undefined
|
|
58
|
-
? undefined
|
|
59
|
-
: requireNonEmptyString(record.now, 'Preflight request now', 'when provided');
|
|
60
|
-
return {
|
|
61
|
-
...normalizedPolicy,
|
|
62
|
-
intent,
|
|
63
|
-
dryRun,
|
|
64
|
-
freshness,
|
|
65
|
-
now
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function normalizeFreshness(value) {
|
|
69
|
-
if (value === undefined)
|
|
70
|
-
return undefined;
|
|
71
|
-
if (!Array.isArray(value)) {
|
|
72
|
-
throw new Error('Preflight request freshness must be an array.');
|
|
73
|
-
}
|
|
74
|
-
return value.map((entry) => {
|
|
75
|
-
const record = requireRecord(entry, 'Preflight freshness input');
|
|
76
|
-
return {
|
|
77
|
-
sourceId: requireNonEmptyString(record.sourceId, 'Preflight freshness sourceId'),
|
|
78
|
-
lastUpdated: requireNonEmptyString(record.lastUpdated, 'Preflight freshness lastUpdated')
|
|
79
|
-
};
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
function requireBoolean(value, label) {
|
|
83
|
-
if (typeof value !== 'boolean') {
|
|
84
|
-
throw new Error(`${label} must be a boolean.`);
|
|
85
|
-
}
|
|
86
|
-
return value;
|
|
87
|
-
}
|
|
88
|
-
function requireRecord(value, label) {
|
|
89
|
-
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
90
|
-
throw new Error(`${label} must be an object.`);
|
|
91
|
-
}
|
|
92
|
-
return value;
|
|
93
|
-
}
|
|
94
|
-
function requireNonEmptyString(value, label, suffix) {
|
|
95
|
-
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
96
|
-
const suffixText = suffix ? ` ${suffix}` : '';
|
|
97
|
-
throw new Error(`${label} must be a non-empty string${suffixText}.`);
|
|
98
|
-
}
|
|
99
|
-
return value;
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=preflight-action.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preflight-action.js","sourceRoot":"","sources":["../src/preflight-action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,MAAM,UAAU,eAAe,CAAC,YAA0B,EAAE,OAAyB;IACnF,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACjE,IAAI,aAAa,GAAmB,QAAQ,CAAC;IAC7C,IAAI,KAAsC,CAAC;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,GAAG,kBAAkB,CAAC,YAAY,EAAE;gBACvC,OAAO,EAAE,iBAAiB,CAAC,OAAO;gBAClC,MAAM,EAAE,iBAAiB,CAAC,MAAM;gBAChC,SAAS,EAAE,iBAAiB,CAAC,SAAS;gBACtC,GAAG,EAAE,iBAAiB,CAAC,GAAG;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,4BAA4B,OAAO,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAChC,aAAa,GAAG;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,yBAAyB;oBACjC,IAAI,EAAE,yBAAyB;oBAC/B,MAAM;oBACN,OAAO,EAAE,iBAAiB,CAAC,OAAO;oBAClC,MAAM,EAAE,iBAAiB,CAAC,MAAM;oBAChC,IAAI,EAAE,iBAAiB,CAAC,IAAI;oBAC5B,WAAW,EAAE,KAAK;oBAClB,oBAAoB,EAAE,oEAAoE;iBAC3F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAExE,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,MAAM,KAAK,OAAO;QACzC,gBAAgB,EAAE,aAAa,CAAC,MAAM,KAAK,mBAAmB;QAC9D,QAAQ,EAAE,aAAa;QACvB,KAAK;QACL,eAAe,EAAE,aAAa,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;QACnE,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU;QACnD,QAAQ;QACR,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAyB;IAC1D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS;QACxC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,0BAA0B,EAAE,eAAe,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACnH,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,SAAS;QAClC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,EAAE,uBAAuB,EAAE,eAAe,CAAC,CAAC;IAEhF,OAAO;QACL,GAAG,gBAAgB;QACnB,MAAM;QACN,MAAM;QACN,SAAS;QACT,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QACjE,OAAO;YACL,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,8BAA8B,CAAC;YAChF,WAAW,EAAE,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;SAC1F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACnD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa,EAAE,MAAe;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,UAAU,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|