@ai-pip/core 0.3.0 → 0.5.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 +74 -1
- package/README.md +52 -1037
- package/dist/AAL/index.d.ts +4 -4
- package/dist/AAL/index.d.ts.map +1 -1
- package/dist/AAL/index.js +2 -2
- package/dist/AAL/index.js.map +1 -1
- package/dist/AAL/process/buildDecisionReason.d.ts.map +1 -1
- package/dist/AAL/process/buildDecisionReason.js +2 -4
- package/dist/AAL/process/buildDecisionReason.js.map +1 -1
- package/dist/AAL/process/buildRemediationPlan.d.ts +22 -0
- package/dist/AAL/process/buildRemediationPlan.d.ts.map +1 -0
- package/dist/AAL/process/buildRemediationPlan.js +81 -0
- package/dist/AAL/process/buildRemediationPlan.js.map +1 -0
- package/dist/AAL/process/index.d.ts +2 -3
- package/dist/AAL/process/index.d.ts.map +1 -1
- package/dist/AAL/process/index.js +2 -2
- package/dist/AAL/process/index.js.map +1 -1
- package/dist/AAL/process/resolveAgentAction.d.ts.map +1 -1
- package/dist/AAL/process/resolveAgentAction.js +3 -14
- package/dist/AAL/process/resolveAgentAction.js.map +1 -1
- package/dist/AAL/process/validatePolicy.d.ts +20 -0
- package/dist/AAL/process/validatePolicy.d.ts.map +1 -0
- package/dist/AAL/process/validatePolicy.js +40 -0
- package/dist/AAL/process/validatePolicy.js.map +1 -0
- package/dist/AAL/types.d.ts +18 -35
- package/dist/AAL/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/isl/detect/detect.js +19 -19
- package/dist/isl/detect/detect.js.map +1 -1
- package/dist/isl/index.d.ts +2 -0
- package/dist/isl/index.d.ts.map +1 -1
- package/dist/isl/index.js +2 -0
- package/dist/isl/index.js.map +1 -1
- package/dist/isl/process/buildISLResult.d.ts +3 -1
- package/dist/isl/process/buildISLResult.d.ts.map +1 -1
- package/dist/isl/process/buildISLResult.js +3 -1
- package/dist/isl/process/buildISLResult.js.map +1 -1
- package/dist/isl/sanitize.d.ts.map +1 -1
- package/dist/isl/sanitize.js +15 -3
- package/dist/isl/sanitize.js.map +1 -1
- package/dist/isl/tags/index.d.ts +19 -0
- package/dist/isl/tags/index.d.ts.map +1 -0
- package/dist/isl/tags/index.js +17 -0
- package/dist/isl/tags/index.js.map +1 -0
- package/dist/isl/tags/namespace.d.ts +18 -0
- package/dist/isl/tags/namespace.d.ts.map +1 -0
- package/dist/isl/tags/namespace.js +18 -0
- package/dist/isl/tags/namespace.js.map +1 -0
- package/dist/isl/tags/serializer.d.ts +39 -0
- package/dist/isl/tags/serializer.d.ts.map +1 -0
- package/dist/isl/tags/serializer.js +45 -0
- package/dist/isl/tags/serializer.js.map +1 -0
- package/dist/isl/tags/tag-registry.d.ts +15 -0
- package/dist/isl/tags/tag-registry.d.ts.map +1 -0
- package/dist/isl/tags/tag-registry.js +17 -0
- package/dist/isl/tags/tag-registry.js.map +1 -0
- package/dist/isl/tags/threat-tag-type.d.ts +13 -0
- package/dist/isl/tags/threat-tag-type.d.ts.map +1 -0
- package/dist/isl/tags/threat-tag-type.js +9 -0
- package/dist/isl/tags/threat-tag-type.js.map +1 -0
- package/dist/isl/tags/threat-tag.d.ts +32 -0
- package/dist/isl/tags/threat-tag.d.ts.map +1 -0
- package/dist/isl/tags/threat-tag.js +43 -0
- package/dist/isl/tags/threat-tag.js.map +1 -0
- package/dist/isl/types.d.ts +13 -0
- package/dist/isl/types.d.ts.map +1 -1
- package/dist/shared/audit.d.ts +16 -18
- package/dist/shared/audit.d.ts.map +1 -1
- package/dist/shared/audit.js +27 -31
- package/dist/shared/audit.js.map +1 -1
- package/dist/shared/envelope/envelope.d.ts +23 -0
- package/dist/shared/envelope/envelope.d.ts.map +1 -0
- package/dist/{cpe → shared/envelope}/envelope.js +9 -21
- package/dist/shared/envelope/envelope.js.map +1 -0
- package/dist/{cpe → shared/envelope}/exceptions/EnvelopeError.d.ts +1 -1
- package/dist/shared/envelope/exceptions/EnvelopeError.d.ts.map +1 -0
- package/dist/{cpe → shared/envelope}/exceptions/EnvelopeError.js +1 -1
- package/dist/shared/envelope/exceptions/EnvelopeError.js.map +1 -0
- package/dist/shared/envelope/exceptions/index.d.ts +2 -0
- package/dist/shared/envelope/exceptions/index.d.ts.map +1 -0
- package/dist/shared/envelope/exceptions/index.js +2 -0
- package/dist/shared/envelope/exceptions/index.js.map +1 -0
- package/dist/shared/envelope/index.d.ts +18 -0
- package/dist/shared/envelope/index.d.ts.map +1 -0
- package/dist/shared/envelope/index.js +15 -0
- package/dist/shared/envelope/index.js.map +1 -0
- package/dist/shared/envelope/types.d.ts +45 -0
- package/dist/shared/envelope/types.d.ts.map +1 -0
- package/dist/shared/envelope/types.js +10 -0
- package/dist/shared/envelope/types.js.map +1 -0
- package/dist/shared/envelope/value-objects/Metadata.d.ts +27 -0
- package/dist/shared/envelope/value-objects/Metadata.d.ts.map +1 -0
- package/dist/{cpe → shared/envelope}/value-objects/Metadata.js +11 -19
- package/dist/shared/envelope/value-objects/Metadata.js.map +1 -0
- package/dist/shared/envelope/value-objects/Nonce.d.ts +26 -0
- package/dist/shared/envelope/value-objects/Nonce.d.ts.map +1 -0
- package/dist/{cpe → shared/envelope}/value-objects/Nonce.js +11 -17
- package/dist/shared/envelope/value-objects/Nonce.js.map +1 -0
- package/dist/shared/envelope/value-objects/Signature.d.ts +28 -0
- package/dist/shared/envelope/value-objects/Signature.d.ts.map +1 -0
- package/dist/shared/envelope/value-objects/Signature.js +50 -0
- package/dist/shared/envelope/value-objects/Signature.js.map +1 -0
- package/dist/{cpe → shared/envelope}/value-objects/index.d.ts +1 -1
- package/dist/shared/envelope/value-objects/index.d.ts.map +1 -0
- package/dist/{cpe → shared/envelope}/value-objects/index.js +1 -1
- package/dist/shared/envelope/value-objects/index.js.map +1 -0
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/package.json +8 -6
- package/dist/AAL/process/applyRemovalPlan.d.ts +0 -21
- package/dist/AAL/process/applyRemovalPlan.d.ts.map +0 -1
- package/dist/AAL/process/applyRemovalPlan.js +0 -150
- package/dist/AAL/process/applyRemovalPlan.js.map +0 -1
- package/dist/AAL/process/buildRemovalPlan.d.ts +0 -39
- package/dist/AAL/process/buildRemovalPlan.d.ts.map +0 -1
- package/dist/AAL/process/buildRemovalPlan.js +0 -104
- package/dist/AAL/process/buildRemovalPlan.js.map +0 -1
- package/dist/cpe/envelope.d.ts +0 -34
- package/dist/cpe/envelope.d.ts.map +0 -1
- package/dist/cpe/envelope.js.map +0 -1
- package/dist/cpe/exceptions/EnvelopeError.d.ts.map +0 -1
- package/dist/cpe/exceptions/EnvelopeError.js.map +0 -1
- package/dist/cpe/exceptions/index.d.ts +0 -5
- package/dist/cpe/exceptions/index.d.ts.map +0 -1
- package/dist/cpe/exceptions/index.js +0 -5
- package/dist/cpe/exceptions/index.js.map +0 -1
- package/dist/cpe/index.d.ts +0 -24
- package/dist/cpe/index.d.ts.map +0 -1
- package/dist/cpe/index.js +0 -26
- package/dist/cpe/index.js.map +0 -1
- package/dist/cpe/types.d.ts +0 -58
- package/dist/cpe/types.d.ts.map +0 -1
- package/dist/cpe/types.js +0 -5
- package/dist/cpe/types.js.map +0 -1
- package/dist/cpe/utils.d.ts +0 -38
- package/dist/cpe/utils.d.ts.map +0 -1
- package/dist/cpe/utils.js +0 -47
- package/dist/cpe/utils.js.map +0 -1
- package/dist/cpe/value-objects/Metadata.d.ts +0 -32
- package/dist/cpe/value-objects/Metadata.d.ts.map +0 -1
- package/dist/cpe/value-objects/Metadata.js.map +0 -1
- package/dist/cpe/value-objects/Nonce.d.ts +0 -33
- package/dist/cpe/value-objects/Nonce.d.ts.map +0 -1
- package/dist/cpe/value-objects/Nonce.js.map +0 -1
- package/dist/cpe/value-objects/Signature.d.ts +0 -39
- package/dist/cpe/value-objects/Signature.d.ts.map +0 -1
- package/dist/cpe/value-objects/Signature.js +0 -60
- package/dist/cpe/value-objects/Signature.js.map +0 -1
- package/dist/cpe/value-objects/index.d.ts.map +0 -1
- package/dist/cpe/value-objects/index.js.map +0 -1
package/dist/AAL/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* **Architecture:**
|
|
12
12
|
* - Consumes ISLSignal (not ISLResult) to maintain layer separation
|
|
13
13
|
* - Applies configurable policies (ALLOW/WARN/BLOCK)
|
|
14
|
-
* - Builds
|
|
14
|
+
* - Builds remediation plans (what to do, not how; SDK/AI agent performs cleanup)
|
|
15
15
|
* - Does not execute actions (that is SDK responsibility)
|
|
16
16
|
*
|
|
17
17
|
* **Does NOT contain:**
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
*/
|
|
22
22
|
export { createAnomalyScore, isHighRisk, isLowRisk, isWarnRisk, isRoleProtected, isContextLeakPreventionEnabled, isInstructionImmutable, isIntentBlocked, isScopeSensitive } from './value-objects/index.js';
|
|
23
23
|
export type { AnomalyScore, PolicyRule } from './value-objects/index.js';
|
|
24
|
-
export { resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason,
|
|
25
|
-
export type { DecisionReason
|
|
24
|
+
export { resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason, buildRemediationPlan, validateAgentPolicyThresholds } from './process/index.js';
|
|
25
|
+
export type { DecisionReason } from './process/index.js';
|
|
26
26
|
export { buildAALLineage } from './lineage/index.js';
|
|
27
27
|
export { ACTION_DISPLAY_COLORS, getActionDisplayColor } from './constants.js';
|
|
28
|
-
export type { AnomalyAction,
|
|
28
|
+
export type { AnomalyAction, RemediationPlan, BlockedIntent, SensitiveScope, ProtectedRole, ImmutableInstruction, AgentPolicy, } from './types.js';
|
|
29
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/AAL/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AAL/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,YAAY,EACR,YAAY,EACZ,UAAU,EACb,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AAL/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAEjC,YAAY,EACR,YAAY,EACZ,UAAU,EACb,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAChC,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAG7E,YAAY,EACR,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,WAAW,GACd,MAAM,YAAY,CAAA"}
|
package/dist/AAL/index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* **Architecture:**
|
|
12
12
|
* - Consumes ISLSignal (not ISLResult) to maintain layer separation
|
|
13
13
|
* - Applies configurable policies (ALLOW/WARN/BLOCK)
|
|
14
|
-
* - Builds
|
|
14
|
+
* - Builds remediation plans (what to do, not how; SDK/AI agent performs cleanup)
|
|
15
15
|
* - Does not execute actions (that is SDK responsibility)
|
|
16
16
|
*
|
|
17
17
|
* **Does NOT contain:**
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
// Value objects
|
|
23
23
|
export { createAnomalyScore, isHighRisk, isLowRisk, isWarnRisk, isRoleProtected, isContextLeakPreventionEnabled, isInstructionImmutable, isIntentBlocked, isScopeSensitive } from './value-objects/index.js';
|
|
24
24
|
// Process functions
|
|
25
|
-
export { resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason,
|
|
25
|
+
export { resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason, buildRemediationPlan, validateAgentPolicyThresholds } from './process/index.js';
|
|
26
26
|
// Lineage
|
|
27
27
|
export { buildAALLineage } from './lineage/index.js';
|
|
28
28
|
// Display constants (for SDK/UI)
|
package/dist/AAL/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AAL/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,gBAAgB;AAChB,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAOjC,oBAAoB;AACpB,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AAL/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,gBAAgB;AAChB,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACnB,MAAM,0BAA0B,CAAA;AAOjC,oBAAoB;AACpB,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAChC,MAAM,oBAAoB,CAAA;AAI3B,UAAU;AACV,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,iCAAiC;AACjC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildDecisionReason.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/buildDecisionReason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"buildDecisionReason.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/buildDecisionReason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAwBD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,GAClB,cAAc,CAgChB"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* - Include risk score and threshold information
|
|
11
11
|
* - Facilitate auditing and debugging
|
|
12
12
|
*/
|
|
13
|
+
import { validateAgentPolicyThresholds } from './validatePolicy.js';
|
|
13
14
|
const VALID_ACTIONS = new Set(['ALLOW', 'WARN', 'BLOCK']);
|
|
14
15
|
function assertBuildDecisionReasonArgs(action, islSignal, policy) {
|
|
15
16
|
if (action == null || !VALID_ACTIONS.has(action)) {
|
|
@@ -24,10 +25,7 @@ function assertBuildDecisionReasonArgs(action, islSignal, policy) {
|
|
|
24
25
|
if (policy == null || typeof policy !== 'object') {
|
|
25
26
|
throw new TypeError('AAL buildDecisionReason: policy must be a non-null object');
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
if (t == null || typeof t !== 'object' || typeof t.warn !== 'number' || typeof t.block !== 'number') {
|
|
29
|
-
throw new TypeError('AAL buildDecisionReason: policy.thresholds.warn and block must be numbers');
|
|
30
|
-
}
|
|
28
|
+
validateAgentPolicyThresholds(policy);
|
|
31
29
|
}
|
|
32
30
|
/**
|
|
33
31
|
* Builds the reason for a decision
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildDecisionReason.js","sourceRoot":"","sources":["../../../src/AAL/process/buildDecisionReason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"buildDecisionReason.js","sourceRoot":"","sources":["../../../src/AAL/process/buildDecisionReason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAcnE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAExE,SAAS,6BAA6B,CACpC,MAAqB,EACrB,SAAoB,EACpB,MAAmB;IAEnB,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAA;IACtF,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAA;IACtF,CAAC;IACD,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,2DAA2D,CAAC,CAAA;IAClF,CAAC;IACD,6BAA6B,CAAC,MAAM,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,SAAoB,EACpB,MAAmB;IAEnB,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAExD,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,KAAK,IAAI,IAAI,cAAc,GAAG,CAAC,CAAA;IAEtE,IAAI,SAAiB,CAAA;IACrB,IAAI,MAAc,CAAA;IAElB,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAA;QACnC,MAAM,GAAG,cAAc,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACzG,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAA;QAClC,MAAM,GAAG,cAAc,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAA;IACrI,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAA;QAClC,MAAM,GAAG,cAAc,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACzG,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,cAAc,sBAAsB,CAAA;IACrD,CAAC;IAED,OAAO;QACL,MAAM;QACN,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS;QACT,MAAM;QACN,UAAU;QACV,cAAc;KACf,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* buildRemediationPlan - Builds a remediation plan (what to do, not how).
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* AAL describes *what* to do: strategy, goals, constraints, and which segments
|
|
6
|
+
* are affected. The SDK (or an AI agent) is responsible for *how* to perform
|
|
7
|
+
* cleanup (e.g. using an AI tool to remove malicious instructions without
|
|
8
|
+
* affecting legitimate content).
|
|
9
|
+
*/
|
|
10
|
+
import type { RemediationPlan } from '../types.js';
|
|
11
|
+
import type { AgentPolicy } from '../types.js';
|
|
12
|
+
import type { ISLResult } from '../../isl/types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Builds a remediation plan from the ISL result and policy.
|
|
15
|
+
* Target segments are those with at least one detection; goals are derived from detection types.
|
|
16
|
+
*
|
|
17
|
+
* @param islResult - ISL result with segments and per-segment piDetection
|
|
18
|
+
* @param policy - Agent policy (remediation.enabled)
|
|
19
|
+
* @returns RemediationPlan for the SDK / AI agent to execute
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildRemediationPlan(islResult: ISLResult, policy: AgentPolicy): RemediationPlan;
|
|
22
|
+
//# sourceMappingURL=buildRemediationPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildRemediationPlan.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/buildRemediationPlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AA2CnD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,GAClB,eAAe,CA+BjB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* buildRemediationPlan - Builds a remediation plan (what to do, not how).
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* AAL describes *what* to do: strategy, goals, constraints, and which segments
|
|
6
|
+
* are affected. The SDK (or an AI agent) is responsible for *how* to perform
|
|
7
|
+
* cleanup (e.g. using an AI tool to remove malicious instructions without
|
|
8
|
+
* affecting legitimate content).
|
|
9
|
+
*/
|
|
10
|
+
import { validateAgentPolicyThresholds } from './validatePolicy.js';
|
|
11
|
+
const STRATEGY_AI_CLEANUP = 'AI_CLEANUP';
|
|
12
|
+
const DEFAULT_CONSTRAINTS = Object.freeze([
|
|
13
|
+
'preserve_user_intent',
|
|
14
|
+
'do_not_add_information',
|
|
15
|
+
'do_not_change_language'
|
|
16
|
+
]);
|
|
17
|
+
/** Maps ISL pattern_type to remediation goal (e.g. prompt-injection -> remove_prompt_injection). */
|
|
18
|
+
function patternTypeToGoal(type) {
|
|
19
|
+
const normalized = type.replaceAll('-', '_').toLowerCase();
|
|
20
|
+
return `remove_${normalized}`;
|
|
21
|
+
}
|
|
22
|
+
const EMPTY_PLAN = Object.freeze({
|
|
23
|
+
strategy: STRATEGY_AI_CLEANUP,
|
|
24
|
+
goals: Object.freeze([]),
|
|
25
|
+
constraints: DEFAULT_CONSTRAINTS,
|
|
26
|
+
targetSegments: Object.freeze([]),
|
|
27
|
+
needsRemediation: false
|
|
28
|
+
});
|
|
29
|
+
function assertBuildRemediationPlanArgs(islResult, policy) {
|
|
30
|
+
if (islResult == null || typeof islResult !== 'object') {
|
|
31
|
+
throw new TypeError('AAL buildRemediationPlan: islResult must be a non-null object');
|
|
32
|
+
}
|
|
33
|
+
if (!Array.isArray(islResult.segments)) {
|
|
34
|
+
throw new TypeError('AAL buildRemediationPlan: islResult.segments must be an array');
|
|
35
|
+
}
|
|
36
|
+
if (policy == null || typeof policy !== 'object') {
|
|
37
|
+
throw new TypeError('AAL buildRemediationPlan: policy must be a non-null object');
|
|
38
|
+
}
|
|
39
|
+
const r = policy.remediation;
|
|
40
|
+
if (r == null || typeof r !== 'object' || typeof r.enabled !== 'boolean') {
|
|
41
|
+
throw new TypeError('AAL buildRemediationPlan: policy.remediation.enabled must be a boolean');
|
|
42
|
+
}
|
|
43
|
+
validateAgentPolicyThresholds(policy);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Builds a remediation plan from the ISL result and policy.
|
|
47
|
+
* Target segments are those with at least one detection; goals are derived from detection types.
|
|
48
|
+
*
|
|
49
|
+
* @param islResult - ISL result with segments and per-segment piDetection
|
|
50
|
+
* @param policy - Agent policy (remediation.enabled)
|
|
51
|
+
* @returns RemediationPlan for the SDK / AI agent to execute
|
|
52
|
+
*/
|
|
53
|
+
export function buildRemediationPlan(islResult, policy) {
|
|
54
|
+
assertBuildRemediationPlanArgs(islResult, policy);
|
|
55
|
+
if (!policy.remediation.enabled) {
|
|
56
|
+
return EMPTY_PLAN;
|
|
57
|
+
}
|
|
58
|
+
const targetSegments = [];
|
|
59
|
+
const goalsSet = new Set();
|
|
60
|
+
for (const segment of islResult.segments) {
|
|
61
|
+
const detections = segment.piDetection?.detections;
|
|
62
|
+
if (!Array.isArray(detections) || detections.length === 0)
|
|
63
|
+
continue;
|
|
64
|
+
targetSegments.push(segment.id);
|
|
65
|
+
for (const d of detections) {
|
|
66
|
+
const type = d.pattern_type ?? 'unknown';
|
|
67
|
+
goalsSet.add(patternTypeToGoal(type));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (targetSegments.length === 0) {
|
|
71
|
+
return EMPTY_PLAN;
|
|
72
|
+
}
|
|
73
|
+
return Object.freeze({
|
|
74
|
+
strategy: STRATEGY_AI_CLEANUP,
|
|
75
|
+
goals: Object.freeze([...goalsSet].sort((a, b) => a.localeCompare(b))),
|
|
76
|
+
constraints: DEFAULT_CONSTRAINTS,
|
|
77
|
+
targetSegments: Object.freeze(targetSegments),
|
|
78
|
+
needsRemediation: true
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=buildRemediationPlan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildRemediationPlan.js","sourceRoot":"","sources":["../../../src/AAL/process/buildRemediationPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
export { resolveAgentAction, resolveAgentActionWithScore } from './resolveAgentAction.js';
|
|
5
5
|
export { buildDecisionReason } from './buildDecisionReason.js';
|
|
6
6
|
export type { DecisionReason } from './buildDecisionReason.js';
|
|
7
|
-
export {
|
|
8
|
-
export
|
|
9
|
-
export { applyRemovalPlan } from './applyRemovalPlan.js';
|
|
7
|
+
export { buildRemediationPlan } from './buildRemediationPlan.js';
|
|
8
|
+
export { validateAgentPolicyThresholds } from './validatePolicy.js';
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { resolveAgentAction, resolveAgentActionWithScore } from './resolveAgentAction.js';
|
|
5
5
|
export { buildDecisionReason } from './buildDecisionReason.js';
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
6
|
+
export { buildRemediationPlan } from './buildRemediationPlan.js';
|
|
7
|
+
export { validateAgentPolicyThresholds } from './validatePolicy.js';
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AAL/process/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AAL/process/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAgentAction.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/resolveAgentAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveAgentAction.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/resolveAgentAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAa7D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,GAClB,aAAa,CAef;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,WAAW,2DAMpB"}
|
|
@@ -11,18 +11,7 @@
|
|
|
11
11
|
* - Return decision based on risk score and thresholds
|
|
12
12
|
*/
|
|
13
13
|
import { createAnomalyScore } from '../value-objects/AnomalyScore.js';
|
|
14
|
-
|
|
15
|
-
if (policy == null || typeof policy !== 'object') {
|
|
16
|
-
throw new TypeError('AAL resolveAgentAction: policy must be a non-null object');
|
|
17
|
-
}
|
|
18
|
-
const t = policy.thresholds;
|
|
19
|
-
if (t == null || typeof t !== 'object') {
|
|
20
|
-
throw new TypeError('AAL resolveAgentAction: policy.thresholds must be defined');
|
|
21
|
-
}
|
|
22
|
-
if (typeof t.warn !== 'number' || typeof t.block !== 'number') {
|
|
23
|
-
throw new TypeError('AAL resolveAgentAction: policy.thresholds.warn and block must be numbers');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
14
|
+
import { validateAgentPolicyThresholds } from './validatePolicy.js';
|
|
26
15
|
function assertISLSignal(signal) {
|
|
27
16
|
if (signal == null || typeof signal !== 'object') {
|
|
28
17
|
throw new TypeError('AAL resolveAgentAction: islSignal must be a non-null object');
|
|
@@ -40,7 +29,7 @@ function assertISLSignal(signal) {
|
|
|
40
29
|
*/
|
|
41
30
|
export function resolveAgentAction(islSignal, policy) {
|
|
42
31
|
assertISLSignal(islSignal);
|
|
43
|
-
|
|
32
|
+
validateAgentPolicyThresholds(policy);
|
|
44
33
|
const riskScore = islSignal.riskScore;
|
|
45
34
|
// Evaluate policy thresholds
|
|
46
35
|
if (riskScore >= policy.thresholds.block) {
|
|
@@ -60,7 +49,7 @@ export function resolveAgentAction(islSignal, policy) {
|
|
|
60
49
|
*/
|
|
61
50
|
export function resolveAgentActionWithScore(islSignal, policy) {
|
|
62
51
|
assertISLSignal(islSignal);
|
|
63
|
-
|
|
52
|
+
validateAgentPolicyThresholds(policy);
|
|
64
53
|
const action = resolveAgentAction(islSignal, policy);
|
|
65
54
|
return createAnomalyScore(islSignal.riskScore, action);
|
|
66
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAgentAction.js","sourceRoot":"","sources":["../../../src/AAL/process/resolveAgentAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveAgentAction.js","sourceRoot":"","sources":["../../../src/AAL/process/resolveAgentAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAEnE,SAAS,eAAe,CAAC,MAAiB;IACxC,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC,CAAA;IACrF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAoB,EACpB,MAAmB;IAEnB,eAAe,CAAC,SAAS,CAAC,CAAA;IAC1B,6BAA6B,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAA;IAErC,6BAA6B;IAC7B,IAAI,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoB,EACpB,MAAmB;IAEnB,eAAe,CAAC,SAAS,CAAC,CAAA;IAC1B,6BAA6B,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACpD,OAAO,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACxD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* validateAgentPolicyThresholds - Validates AAL policy thresholds.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Ensures policy is coherent: warn and block must be in [0, 1] and warn < block.
|
|
6
|
+
* Invalid configuration (e.g. block < warn) would lead to inconsistent decisions
|
|
7
|
+
* (e.g. WARN range empty or unreachable). Call this before using the policy
|
|
8
|
+
* in resolveAgentAction, buildDecisionReason, or buildRemediationPlan.
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentPolicy } from '../types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Validates that policy.thresholds.warn and block are numbers in [0, 1]
|
|
13
|
+
* and that warn < block.
|
|
14
|
+
*
|
|
15
|
+
* @param policy - Agent policy to validate
|
|
16
|
+
* @throws {TypeError} If policy is null/undefined or thresholds are missing/invalid
|
|
17
|
+
* @throws {RangeError} If warn or block are outside [0, 1] or if warn >= block
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateAgentPolicyThresholds(policy: AgentPolicy): void;
|
|
20
|
+
//# sourceMappingURL=validatePolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatePolicy.d.ts","sourceRoot":"","sources":["../../../src/AAL/process/validatePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CA2BvE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* validateAgentPolicyThresholds - Validates AAL policy thresholds.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Ensures policy is coherent: warn and block must be in [0, 1] and warn < block.
|
|
6
|
+
* Invalid configuration (e.g. block < warn) would lead to inconsistent decisions
|
|
7
|
+
* (e.g. WARN range empty or unreachable). Call this before using the policy
|
|
8
|
+
* in resolveAgentAction, buildDecisionReason, or buildRemediationPlan.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Validates that policy.thresholds.warn and block are numbers in [0, 1]
|
|
12
|
+
* and that warn < block.
|
|
13
|
+
*
|
|
14
|
+
* @param policy - Agent policy to validate
|
|
15
|
+
* @throws {TypeError} If policy is null/undefined or thresholds are missing/invalid
|
|
16
|
+
* @throws {RangeError} If warn or block are outside [0, 1] or if warn >= block
|
|
17
|
+
*/
|
|
18
|
+
export function validateAgentPolicyThresholds(policy) {
|
|
19
|
+
if (policy == null || typeof policy !== 'object') {
|
|
20
|
+
throw new TypeError('AAL policy must be a non-null object');
|
|
21
|
+
}
|
|
22
|
+
const t = policy.thresholds;
|
|
23
|
+
if (t == null || typeof t !== 'object') {
|
|
24
|
+
throw new TypeError('AAL policy.thresholds must be defined');
|
|
25
|
+
}
|
|
26
|
+
if (typeof t.warn !== 'number' || typeof t.block !== 'number') {
|
|
27
|
+
throw new TypeError('AAL policy.thresholds.warn and block must be numbers');
|
|
28
|
+
}
|
|
29
|
+
const { warn, block } = t;
|
|
30
|
+
if (warn < 0 || warn > 1) {
|
|
31
|
+
throw new RangeError(`AAL policy.thresholds.warn must be in [0, 1], got ${warn}`);
|
|
32
|
+
}
|
|
33
|
+
if (block < 0 || block > 1) {
|
|
34
|
+
throw new RangeError(`AAL policy.thresholds.block must be in [0, 1], got ${block}`);
|
|
35
|
+
}
|
|
36
|
+
if (warn >= block) {
|
|
37
|
+
throw new RangeError(`AAL policy.thresholds must satisfy warn < block (got warn=${warn}, block=${block})`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=validatePolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatePolicy.js","sourceRoot":"","sources":["../../../src/AAL/process/validatePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAmB;IAC/D,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAA;IAC7D,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAA;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAA;IAC7E,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IACzB,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAClB,qDAAqD,IAAI,EAAE,CAC5D,CAAA;IACH,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAClB,sDAAsD,KAAK,EAAE,CAC9D,CAAA;IACH,CAAC;IACD,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,UAAU,CAClB,6DAA6D,IAAI,WAAW,KAAK,GAAG,CACrF,CAAA;IACH,CAAC;AACH,CAAC"}
|
package/dist/AAL/types.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { RiskScore } from '../isl/value-objects/RiskScore.js';
|
|
2
|
-
import type { Position } from "../shared/types.js";
|
|
3
2
|
/**
|
|
4
3
|
* AnomalyAction
|
|
5
4
|
*
|
|
@@ -40,39 +39,23 @@ export type ProtectedRole = string;
|
|
|
40
39
|
*/
|
|
41
40
|
export type ImmutableInstruction = string;
|
|
42
41
|
/**
|
|
43
|
-
*
|
|
42
|
+
* RemediationPlan
|
|
44
43
|
*
|
|
45
|
-
* Describes
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* @remarks
|
|
49
|
-
* When built from ISLResult (buildRemovalPlanFromResult), segmentId is set
|
|
50
|
-
* so applyRemovalPlan can remove the range from the correct segment.
|
|
51
|
-
* When built from ISLSignal only, segmentId is absent (plan is descriptive only).
|
|
44
|
+
* Describes *what* to do for remediation, not *how*. The SDK (or an AI agent) is
|
|
45
|
+
* responsible for executing cleanup. AAL produces goals, constraints, and
|
|
46
|
+
* target segment IDs so the consumer can run AI_CLEANUP or another strategy.
|
|
52
47
|
*/
|
|
53
|
-
export interface
|
|
54
|
-
/**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* The exact position of the instruction within the segment (start inclusive, end exclusive).
|
|
65
|
-
*/
|
|
66
|
-
readonly position: Position;
|
|
67
|
-
/**
|
|
68
|
-
* Human-readable explanation of why the instruction was removed.
|
|
69
|
-
*/
|
|
70
|
-
readonly description: string;
|
|
71
|
-
/**
|
|
72
|
-
* Segment id (from ISLSegment.id) when plan is built from ISLResult.
|
|
73
|
-
* Required for applyRemovalPlan to target the correct segment.
|
|
74
|
-
*/
|
|
75
|
-
readonly segmentId?: string;
|
|
48
|
+
export interface RemediationPlan {
|
|
49
|
+
/** Strategy identifier for the consumer (e.g. 'AI_CLEANUP'). */
|
|
50
|
+
readonly strategy: string;
|
|
51
|
+
/** Goals to achieve (e.g. remove_prompt_injection, remove_role_hijacking). */
|
|
52
|
+
readonly goals: readonly string[];
|
|
53
|
+
/** Constraints the remediation must respect (e.g. preserve_user_intent). */
|
|
54
|
+
readonly constraints: readonly string[];
|
|
55
|
+
/** Segment IDs that need remediation (segments with detections). */
|
|
56
|
+
readonly targetSegments: readonly string[];
|
|
57
|
+
/** Whether remediation is needed (has threats and remediation enabled). */
|
|
58
|
+
readonly needsRemediation: boolean;
|
|
76
59
|
}
|
|
77
60
|
/**
|
|
78
61
|
* AgentPolicy
|
|
@@ -96,10 +79,10 @@ export interface AgentPolicy {
|
|
|
96
79
|
block: RiskScore;
|
|
97
80
|
};
|
|
98
81
|
/**
|
|
99
|
-
* Whether
|
|
100
|
-
*
|
|
82
|
+
* Whether to produce a remediation plan when threats are present.
|
|
83
|
+
* The SDK (or AI agent) performs the actual cleanup using the plan.
|
|
101
84
|
*/
|
|
102
|
-
|
|
85
|
+
remediation: {
|
|
103
86
|
enabled: boolean;
|
|
104
87
|
};
|
|
105
88
|
mode?: 'strict' | 'balanced' | 'permissive';
|
package/dist/AAL/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/AAL/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/AAL/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAElE;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAEzC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;CACnC;AAED;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,WAAW;IAE1B;;OAEG;IACH,UAAU,EAAE;QACV,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,SAAS,CAAC;KAClB,CAAC;IAED;;;MAGE;IACH,WAAW,EAAE;QACX,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAGF,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CAGnB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* You can import from specific layers:
|
|
8
8
|
* - import { segment } from '@ai-pip/core/csl'
|
|
9
9
|
* - import { sanitize } from '@ai-pip/core/isl'
|
|
10
|
-
* - import { envelope } from '@ai-pip/core/cpe'
|
|
10
|
+
* - import { envelope } from '@ai-pip/core/cpe' (re-exported from shared/envelope)
|
|
11
11
|
* - import { createAnomalyScore } from '@ai-pip/core/AAL'
|
|
12
12
|
*
|
|
13
13
|
* Or import everything from the main entry point:
|
|
@@ -21,9 +21,9 @@ export { sanitize, emitSignal, createISLSignal, isHighRiskSignal, isMediumRiskSi
|
|
|
21
21
|
export type { RiskScore, ISLSegment, ISLResult, ISLSignal, ISLSignalMetadata, EmitSignalOptions, RiskScoreCalculator, PiDetection, PiDetectionResult, Pattern, SanitizeOptions } from './isl/index.js';
|
|
22
22
|
export { createPiDetection, getDetectionLength, isHighConfidence, isMediumConfidence, isLowConfidence, createPiDetectionResult, hasDetections, getDetectionCount, getDetectionsByType, getHighestConfidenceDetection, createPattern, matchesPattern, findMatch, MAX_CONTENT_LENGTH, MAX_PATTERN_LENGTH, MAX_MATCHES, createRiskScore, normalizeRiskScore, isHighRiskScore, isMediumRiskScore, isLowRiskScore, MIN_RISK_SCORE, MAX_RISK_SCORE, SanitizationError } from './isl/index.js';
|
|
23
23
|
export { addLineageEntry, addLineageEntries, filterLineageByStep, getLastLineageEntry, formatLineageForAudit, formatCSLForAudit, formatISLForAudit, formatISLSignalForAudit, formatAALForAudit, formatCPEForAudit, formatPipelineAudit, formatPipelineAuditFull, formatPipelineAuditAsJson, createAuditRunId, buildAuditLogEntry, buildFullAuditPayload } from './shared/index.js';
|
|
24
|
-
export type { LineageEntryLike, CSLResultLike, ISLResultLike, ISLSignalLike, DecisionReasonLike,
|
|
25
|
-
export { envelope, createNonce, isValidNonce, equalsNonce, createMetadata, isValidMetadata, CURRENT_PROTOCOL_VERSION, createSignature, EnvelopeError } from './
|
|
26
|
-
export type { Nonce, SignatureVO, ProtocolVersion, Timestamp, NonceValue, SignatureAlgorithm, Signature, CPEMetadata, CPEEvelope, CPEResult } from './
|
|
27
|
-
export { createAnomalyScore, isHighRisk, isLowRisk, isWarnRisk, isRoleProtected, isContextLeakPreventionEnabled, isInstructionImmutable, isIntentBlocked, isScopeSensitive, resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason,
|
|
28
|
-
export type { AnomalyAction, AnomalyScore,
|
|
24
|
+
export type { LineageEntryLike, CSLResultLike, ISLResultLike, ISLSignalLike, DecisionReasonLike, RemediationPlanLike, CPEResultLike, AuditRunInfo, AuditLogSummary, FullPipelineAuditOptions, PipelineAuditJsonOptions } from './shared/index.js';
|
|
25
|
+
export { envelope, createNonce, isValidNonce, equalsNonce, createMetadata, isValidMetadata, CURRENT_PROTOCOL_VERSION, createSignature, EnvelopeError } from './shared/envelope/index.js';
|
|
26
|
+
export type { Nonce, SignatureVO, ProtocolVersion, Timestamp, NonceValue, SignatureAlgorithm, Signature, CPEMetadata, CPEEvelope, CPEResult } from './shared/envelope/index.js';
|
|
27
|
+
export { createAnomalyScore, isHighRisk, isLowRisk, isWarnRisk, isRoleProtected, isContextLeakPreventionEnabled, isInstructionImmutable, isIntentBlocked, isScopeSensitive, resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason, buildRemediationPlan, validateAgentPolicyThresholds, buildAALLineage, ACTION_DISPLAY_COLORS, getActionDisplayColor } from './AAL/index.js';
|
|
28
|
+
export type { AnomalyAction, AnomalyScore, RemediationPlan, BlockedIntent, SensitiveScope, ProtectedRole, ImmutableInstruction, AgentPolicy, DecisionReason, } from './AAL/index.js';
|
|
29
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,aAAa,EACb,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACZ,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,eAAe,EAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,EAC7B,aAAa,EACb,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,aAAa,EACb,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACZ,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,eAAe,EAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,EAC7B,aAAa,EACb,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACxL,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAI/K,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,gBAAgB,CAAA;AAGvB,YAAY,EACR,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,cAAc,GACjB,MAAM,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* You can import from specific layers:
|
|
8
8
|
* - import { segment } from '@ai-pip/core/csl'
|
|
9
9
|
* - import { sanitize } from '@ai-pip/core/isl'
|
|
10
|
-
* - import { envelope } from '@ai-pip/core/cpe'
|
|
10
|
+
* - import { envelope } from '@ai-pip/core/cpe' (re-exported from shared/envelope)
|
|
11
11
|
* - import { createAnomalyScore } from '@ai-pip/core/AAL'
|
|
12
12
|
*
|
|
13
13
|
* Or import everything from the main entry point:
|
|
@@ -22,8 +22,8 @@ export { sanitize, emitSignal, createISLSignal, isHighRiskSignal, isMediumRiskSi
|
|
|
22
22
|
export { createPiDetection, getDetectionLength, isHighConfidence, isMediumConfidence, isLowConfidence, createPiDetectionResult, hasDetections, getDetectionCount, getDetectionsByType, getHighestConfidenceDetection, createPattern, matchesPattern, findMatch, MAX_CONTENT_LENGTH, MAX_PATTERN_LENGTH, MAX_MATCHES, createRiskScore, normalizeRiskScore, isHighRiskScore, isMediumRiskScore, isLowRiskScore, MIN_RISK_SCORE, MAX_RISK_SCORE, SanitizationError } from './isl/index.js';
|
|
23
23
|
// Re-export Shared
|
|
24
24
|
export { addLineageEntry, addLineageEntries, filterLineageByStep, getLastLineageEntry, formatLineageForAudit, formatCSLForAudit, formatISLForAudit, formatISLSignalForAudit, formatAALForAudit, formatCPEForAudit, formatPipelineAudit, formatPipelineAuditFull, formatPipelineAuditAsJson, createAuditRunId, buildAuditLogEntry, buildFullAuditPayload } from './shared/index.js';
|
|
25
|
-
// Re-export
|
|
26
|
-
export { envelope, createNonce, isValidNonce, equalsNonce, createMetadata, isValidMetadata, CURRENT_PROTOCOL_VERSION, createSignature, EnvelopeError } from './
|
|
25
|
+
// Re-export envelope (transversal, from shared – no longer a layer)
|
|
26
|
+
export { envelope, createNonce, isValidNonce, equalsNonce, createMetadata, isValidMetadata, CURRENT_PROTOCOL_VERSION, createSignature, EnvelopeError } from './shared/envelope/index.js';
|
|
27
27
|
// Re-export AAL
|
|
28
|
-
export { createAnomalyScore, isHighRisk, isLowRisk, isWarnRisk, isRoleProtected, isContextLeakPreventionEnabled, isInstructionImmutable, isIntentBlocked, isScopeSensitive, resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason,
|
|
28
|
+
export { createAnomalyScore, isHighRisk, isLowRisk, isWarnRisk, isRoleProtected, isContextLeakPreventionEnabled, isInstructionImmutable, isIntentBlocked, isScopeSensitive, resolveAgentAction, resolveAgentActionWithScore, buildDecisionReason, buildRemediationPlan, validateAgentPolicyThresholds, buildAALLineage, ACTION_DISPLAY_COLORS, getActionDisplayColor } from './AAL/index.js';
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gBAAgB;AAChB,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAavB,gBAAgB;AAChB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,gBAAgB,CAAA;AAcvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,EAC7B,aAAa,EACb,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAEvB,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAe1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gBAAgB;AAChB,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAavB,gBAAgB;AAChB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,gBAAgB,CAAA;AAcvB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,EAC7B,aAAa,EACb,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAEvB,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAe1B,oEAAoE;AACpE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAIxL,gBAAgB;AAChB,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,gBAAgB,CAAA"}
|