@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.
Files changed (153) hide show
  1. package/CHANGELOG.md +74 -1
  2. package/README.md +52 -1037
  3. package/dist/AAL/index.d.ts +4 -4
  4. package/dist/AAL/index.d.ts.map +1 -1
  5. package/dist/AAL/index.js +2 -2
  6. package/dist/AAL/index.js.map +1 -1
  7. package/dist/AAL/process/buildDecisionReason.d.ts.map +1 -1
  8. package/dist/AAL/process/buildDecisionReason.js +2 -4
  9. package/dist/AAL/process/buildDecisionReason.js.map +1 -1
  10. package/dist/AAL/process/buildRemediationPlan.d.ts +22 -0
  11. package/dist/AAL/process/buildRemediationPlan.d.ts.map +1 -0
  12. package/dist/AAL/process/buildRemediationPlan.js +81 -0
  13. package/dist/AAL/process/buildRemediationPlan.js.map +1 -0
  14. package/dist/AAL/process/index.d.ts +2 -3
  15. package/dist/AAL/process/index.d.ts.map +1 -1
  16. package/dist/AAL/process/index.js +2 -2
  17. package/dist/AAL/process/index.js.map +1 -1
  18. package/dist/AAL/process/resolveAgentAction.d.ts.map +1 -1
  19. package/dist/AAL/process/resolveAgentAction.js +3 -14
  20. package/dist/AAL/process/resolveAgentAction.js.map +1 -1
  21. package/dist/AAL/process/validatePolicy.d.ts +20 -0
  22. package/dist/AAL/process/validatePolicy.d.ts.map +1 -0
  23. package/dist/AAL/process/validatePolicy.js +40 -0
  24. package/dist/AAL/process/validatePolicy.js.map +1 -0
  25. package/dist/AAL/types.d.ts +18 -35
  26. package/dist/AAL/types.d.ts.map +1 -1
  27. package/dist/index.d.ts +6 -6
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +4 -4
  30. package/dist/index.js.map +1 -1
  31. package/dist/isl/detect/detect.js +19 -19
  32. package/dist/isl/detect/detect.js.map +1 -1
  33. package/dist/isl/index.d.ts +2 -0
  34. package/dist/isl/index.d.ts.map +1 -1
  35. package/dist/isl/index.js +2 -0
  36. package/dist/isl/index.js.map +1 -1
  37. package/dist/isl/process/buildISLResult.d.ts +3 -1
  38. package/dist/isl/process/buildISLResult.d.ts.map +1 -1
  39. package/dist/isl/process/buildISLResult.js +3 -1
  40. package/dist/isl/process/buildISLResult.js.map +1 -1
  41. package/dist/isl/sanitize.d.ts.map +1 -1
  42. package/dist/isl/sanitize.js +15 -3
  43. package/dist/isl/sanitize.js.map +1 -1
  44. package/dist/isl/tags/index.d.ts +19 -0
  45. package/dist/isl/tags/index.d.ts.map +1 -0
  46. package/dist/isl/tags/index.js +17 -0
  47. package/dist/isl/tags/index.js.map +1 -0
  48. package/dist/isl/tags/namespace.d.ts +18 -0
  49. package/dist/isl/tags/namespace.d.ts.map +1 -0
  50. package/dist/isl/tags/namespace.js +18 -0
  51. package/dist/isl/tags/namespace.js.map +1 -0
  52. package/dist/isl/tags/serializer.d.ts +39 -0
  53. package/dist/isl/tags/serializer.d.ts.map +1 -0
  54. package/dist/isl/tags/serializer.js +45 -0
  55. package/dist/isl/tags/serializer.js.map +1 -0
  56. package/dist/isl/tags/tag-registry.d.ts +15 -0
  57. package/dist/isl/tags/tag-registry.d.ts.map +1 -0
  58. package/dist/isl/tags/tag-registry.js +17 -0
  59. package/dist/isl/tags/tag-registry.js.map +1 -0
  60. package/dist/isl/tags/threat-tag-type.d.ts +13 -0
  61. package/dist/isl/tags/threat-tag-type.d.ts.map +1 -0
  62. package/dist/isl/tags/threat-tag-type.js +9 -0
  63. package/dist/isl/tags/threat-tag-type.js.map +1 -0
  64. package/dist/isl/tags/threat-tag.d.ts +32 -0
  65. package/dist/isl/tags/threat-tag.d.ts.map +1 -0
  66. package/dist/isl/tags/threat-tag.js +43 -0
  67. package/dist/isl/tags/threat-tag.js.map +1 -0
  68. package/dist/isl/types.d.ts +13 -0
  69. package/dist/isl/types.d.ts.map +1 -1
  70. package/dist/shared/audit.d.ts +16 -18
  71. package/dist/shared/audit.d.ts.map +1 -1
  72. package/dist/shared/audit.js +27 -31
  73. package/dist/shared/audit.js.map +1 -1
  74. package/dist/shared/envelope/envelope.d.ts +23 -0
  75. package/dist/shared/envelope/envelope.d.ts.map +1 -0
  76. package/dist/{cpe → shared/envelope}/envelope.js +9 -21
  77. package/dist/shared/envelope/envelope.js.map +1 -0
  78. package/dist/{cpe → shared/envelope}/exceptions/EnvelopeError.d.ts +1 -1
  79. package/dist/shared/envelope/exceptions/EnvelopeError.d.ts.map +1 -0
  80. package/dist/{cpe → shared/envelope}/exceptions/EnvelopeError.js +1 -1
  81. package/dist/shared/envelope/exceptions/EnvelopeError.js.map +1 -0
  82. package/dist/shared/envelope/exceptions/index.d.ts +2 -0
  83. package/dist/shared/envelope/exceptions/index.d.ts.map +1 -0
  84. package/dist/shared/envelope/exceptions/index.js +2 -0
  85. package/dist/shared/envelope/exceptions/index.js.map +1 -0
  86. package/dist/shared/envelope/index.d.ts +18 -0
  87. package/dist/shared/envelope/index.d.ts.map +1 -0
  88. package/dist/shared/envelope/index.js +15 -0
  89. package/dist/shared/envelope/index.js.map +1 -0
  90. package/dist/shared/envelope/types.d.ts +45 -0
  91. package/dist/shared/envelope/types.d.ts.map +1 -0
  92. package/dist/shared/envelope/types.js +10 -0
  93. package/dist/shared/envelope/types.js.map +1 -0
  94. package/dist/shared/envelope/value-objects/Metadata.d.ts +27 -0
  95. package/dist/shared/envelope/value-objects/Metadata.d.ts.map +1 -0
  96. package/dist/{cpe → shared/envelope}/value-objects/Metadata.js +11 -19
  97. package/dist/shared/envelope/value-objects/Metadata.js.map +1 -0
  98. package/dist/shared/envelope/value-objects/Nonce.d.ts +26 -0
  99. package/dist/shared/envelope/value-objects/Nonce.d.ts.map +1 -0
  100. package/dist/{cpe → shared/envelope}/value-objects/Nonce.js +11 -17
  101. package/dist/shared/envelope/value-objects/Nonce.js.map +1 -0
  102. package/dist/shared/envelope/value-objects/Signature.d.ts +28 -0
  103. package/dist/shared/envelope/value-objects/Signature.d.ts.map +1 -0
  104. package/dist/shared/envelope/value-objects/Signature.js +50 -0
  105. package/dist/shared/envelope/value-objects/Signature.js.map +1 -0
  106. package/dist/{cpe → shared/envelope}/value-objects/index.d.ts +1 -1
  107. package/dist/shared/envelope/value-objects/index.d.ts.map +1 -0
  108. package/dist/{cpe → shared/envelope}/value-objects/index.js +1 -1
  109. package/dist/shared/envelope/value-objects/index.js.map +1 -0
  110. package/dist/shared/index.d.ts +1 -1
  111. package/dist/shared/index.d.ts.map +1 -1
  112. package/package.json +8 -6
  113. package/dist/AAL/process/applyRemovalPlan.d.ts +0 -21
  114. package/dist/AAL/process/applyRemovalPlan.d.ts.map +0 -1
  115. package/dist/AAL/process/applyRemovalPlan.js +0 -150
  116. package/dist/AAL/process/applyRemovalPlan.js.map +0 -1
  117. package/dist/AAL/process/buildRemovalPlan.d.ts +0 -39
  118. package/dist/AAL/process/buildRemovalPlan.d.ts.map +0 -1
  119. package/dist/AAL/process/buildRemovalPlan.js +0 -104
  120. package/dist/AAL/process/buildRemovalPlan.js.map +0 -1
  121. package/dist/cpe/envelope.d.ts +0 -34
  122. package/dist/cpe/envelope.d.ts.map +0 -1
  123. package/dist/cpe/envelope.js.map +0 -1
  124. package/dist/cpe/exceptions/EnvelopeError.d.ts.map +0 -1
  125. package/dist/cpe/exceptions/EnvelopeError.js.map +0 -1
  126. package/dist/cpe/exceptions/index.d.ts +0 -5
  127. package/dist/cpe/exceptions/index.d.ts.map +0 -1
  128. package/dist/cpe/exceptions/index.js +0 -5
  129. package/dist/cpe/exceptions/index.js.map +0 -1
  130. package/dist/cpe/index.d.ts +0 -24
  131. package/dist/cpe/index.d.ts.map +0 -1
  132. package/dist/cpe/index.js +0 -26
  133. package/dist/cpe/index.js.map +0 -1
  134. package/dist/cpe/types.d.ts +0 -58
  135. package/dist/cpe/types.d.ts.map +0 -1
  136. package/dist/cpe/types.js +0 -5
  137. package/dist/cpe/types.js.map +0 -1
  138. package/dist/cpe/utils.d.ts +0 -38
  139. package/dist/cpe/utils.d.ts.map +0 -1
  140. package/dist/cpe/utils.js +0 -47
  141. package/dist/cpe/utils.js.map +0 -1
  142. package/dist/cpe/value-objects/Metadata.d.ts +0 -32
  143. package/dist/cpe/value-objects/Metadata.d.ts.map +0 -1
  144. package/dist/cpe/value-objects/Metadata.js.map +0 -1
  145. package/dist/cpe/value-objects/Nonce.d.ts +0 -33
  146. package/dist/cpe/value-objects/Nonce.d.ts.map +0 -1
  147. package/dist/cpe/value-objects/Nonce.js.map +0 -1
  148. package/dist/cpe/value-objects/Signature.d.ts +0 -39
  149. package/dist/cpe/value-objects/Signature.d.ts.map +0 -1
  150. package/dist/cpe/value-objects/Signature.js +0 -60
  151. package/dist/cpe/value-objects/Signature.js.map +0 -1
  152. package/dist/cpe/value-objects/index.d.ts.map +0 -1
  153. package/dist/cpe/value-objects/index.js.map +0 -1
@@ -119,13 +119,13 @@ function buildDefaultThreatPatterns() {
119
119
  createPattern(JB, /(?:you\s+are\s+)?(?:allowed|permitted)\s+to\s+(?:say|do)\s+anything/gi, 0.85, 'Allowed to say anything'),
120
120
  createPattern(JB, /(?:there\s+are\s+)?no\s+(?:longer\s+)?(?:rules?|restrictions?)/gi, 0.85, 'There are no longer rules'),
121
121
  createPattern(JB, /(?:suspend|pause)\s+(?:your\s+)?(?:safety\s+)?(?:protocols?|guidelines?)/gi, 0.8, 'Suspend safety protocols'),
122
- createPattern(JB, /(?:maximum\s+)?(?:creative\s+)?(?:freedom\s+)?(?:mode|setting)/gi, 0.7, 'Maximum creative freedom'),
122
+ createPattern(JB, /(?:maximum\s+)?(?:creative\s+)?(?:freedom\s+)?(?:mode|setting)\b/gi, 0.7, 'Maximum creative freedom'),
123
123
  createPattern(JB, /(?:raw|unfiltered)\s+(?:output|response)/gi, 0.75, 'Raw unfiltered output'),
124
124
  createPattern(JB, /(?:do\s+not\s+)?(?:refuse|reject)\s+(?:this\s+)?(?:request|prompt)/gi, 0.8, 'Do not refuse'),
125
125
  createPattern(JB, /(?:always\s+)?(?:comply|obey)\s+(?:with\s+)?(?:any\s+)?(?:request)/gi, 0.8, 'Always comply'),
126
126
  createPattern(JB, /(?:no\s+)?(?:refusal|rejection)\s+(?:allowed|permitted)/gi, 0.8, 'No refusal allowed'),
127
127
  createPattern(JB, /(?:you\s+must\s+)?(?:always\s+)?(?:answer|respond)\s+(?:no\s+)?(?:matter\s+what)/gi, 0.75, 'Always answer'),
128
- createPattern(JB, /(?:pretend\s+you\s+are\s+)?(?:in\s+)?(?:god\s+)?mode/gi, 0.8, 'God mode'),
128
+ createPattern(JB, /(?:pretend\s+you\s+are\s+)?(?:in\s+)?(?:god\s+)?mode\b/gi, 0.8, 'God mode'),
129
129
  createPattern(JB, /(?:enable|activate)\s+(?:unrestricted|developer)\s+mode/gi, 0.8, 'Enable unrestricted mode'),
130
130
  createPattern(JB, /(?:OOC|out\s+of\s+character)\s*:\s*(?:ignore|bypass)/gi, 0.75, 'OOC: ignore'),
131
131
  createPattern(JB, /(?:roleplay\s+)?(?:without\s+)?(?:limits?|restrictions?)/gi, 0.75, 'Roleplay without limits'),
@@ -149,8 +149,8 @@ function buildDefaultThreatPatterns() {
149
149
  createPattern(RH, /you\s+are\s+(?:no\s+longer|not)\s+/gi, 0.75, 'You are no longer'),
150
150
  createPattern(RH, /(?:switch|change)\s+to\s+(?:role|identity)/gi, 0.7, 'Switch to role'),
151
151
  createPattern(RH, /(?:impersonate|pose\s+as)\s+/gi, 0.8, 'Impersonate/pose as'),
152
- createPattern(RH, /treat\s+me\s+as\s+(?:your\s+)?(?:admin|owner)/gi, 0.75, 'Treat me as admin'),
153
- createPattern(RH, /(?:obey|listen\s+to)\s+only\s+me/gi, 0.75, 'Obey only me'),
152
+ createPattern(RH, /treat\s+\bme\b\s+as\s+(?:your\s+)?(?:admin|owner)/gi, 0.75, 'Treat me as admin'),
153
+ createPattern(RH, /(?:obey|listen\s+to)\s+only\s+\bme\b/gi, 0.75, 'Obey only me'),
154
154
  createPattern(RH, /you\s+are\s+(?:a\s+)?(?:different|new)\s+(?:ai|assistant|bot)/gi, 0.8, 'You are a different AI'),
155
155
  createPattern(RH, /(?:act\s+)?(?:like|as)\s+(?:a\s+)?(?:different|new)\s+(?:person|entity)/gi, 0.75, 'Act like a different person'),
156
156
  createPattern(RH, /(?:pretend|act)\s+(?:you\s+are|to\s+be)\s+(?:a\s+)?\w+/gi, 0.75, 'Pretend you are'),
@@ -164,12 +164,12 @@ function buildDefaultThreatPatterns() {
164
164
  createPattern(RH, /(?:forget|drop)\s+your\s+(?:current\s+)?(?:name|identity|persona)/gi, 0.8, 'Forget your identity'),
165
165
  createPattern(RH, /(?:I\s+)?(?:hereby\s+)?(?:assign|designate)\s+you\s+as/gi, 0.8, 'I assign you as'),
166
166
  createPattern(RH, /(?:your\s+)?(?:new\s+)?(?:purpose|mission)\s+is\s+to/gi, 0.75, 'Your new purpose is'),
167
- createPattern(RH, /(?:you\s+)?(?:must\s+)?(?:now\s+)?(?:serve|obey)\s+(?:only\s+)?(?:me|this\s+user)/gi, 0.8, 'You must now serve only me'),
167
+ createPattern(RH, /(?:you\s+)?(?:must\s+)?(?:now\s+)?(?:serve|obey)\s+(?:only\s+)?(?:\bme\b|this\s+user)/gi, 0.8, 'You must now serve only me'),
168
168
  createPattern(RH, /(?:I\s+am\s+)?(?:taking\s+)?(?:over\s+)?(?:control|ownership)/gi, 0.75, 'Taking over control'),
169
- createPattern(RH, /(?:you\s+)?(?:report\s+)?(?:to\s+)?(?:me\s+)?(?:only|now)/gi, 0.75, 'You report to me only'),
170
- createPattern(RH, /(?:your\s+)?(?:creator|developer)\s+(?:is\s+)?(?:me|this\s+user)/gi, 0.8, 'Your creator is me'),
169
+ createPattern(RH, /(?:you\s+)?(?:report\s+)?(?:to\s+)?(?:\bme\b\s+)?(?:only|now)/gi, 0.75, 'You report to me only'),
170
+ createPattern(RH, /(?:your\s+)?(?:creator|developer)\s+(?:is\s+)?(?:\bme\b|this\s+user)/gi, 0.8, 'Your creator is me'),
171
171
  createPattern(RH, /(?:I\s+)?(?:programmed|created)\s+you\s+to/gi, 0.75, 'I programmed you'),
172
- createPattern(RH, /(?:you\s+)?(?:were\s+)?(?:built|designed)\s+to\s+(?:obey|serve)\s+me/gi, 0.8, 'You were built to obey me'),
172
+ createPattern(RH, /(?:you\s+)?(?:were\s+)?(?:built|designed)\s+to\s+(?:obey|serve)\s+\bme\b/gi, 0.8, 'You were built to obey me'),
173
173
  createPattern(RH, /(?:override\s+)?(?:your\s+)?(?:default\s+)?(?:personality|behavior)/gi, 0.75, 'Override your personality'),
174
174
  createPattern(RH, /(?:replace\s+)?(?:your\s+)?(?:core\s+)?(?:identity|values)/gi, 0.8, 'Replace your core identity'),
175
175
  createPattern(RH, /(?:you\s+)?(?:are\s+)?(?:now\s+)?(?:in\s+)?(?:submissive|obedient)\s+mode/gi, 0.8, 'Submissive mode'),
@@ -177,22 +177,22 @@ function buildDefaultThreatPatterns() {
177
177
  createPattern(RH, /(?:treat\s+)?(?:this\s+)?(?:user\s+)?(?:as\s+)?(?:admin|superuser|root)/gi, 0.8, 'Treat user as admin'),
178
178
  createPattern(RH, /(?:elevate|grant)\s+(?:my\s+)?(?:privileges?|permissions?)/gi, 0.75, 'Elevate my privileges'),
179
179
  createPattern(RH, /(?:I\s+have\s+)?(?:full\s+)?(?:access|control)\s+(?:over\s+)?(?:you)/gi, 0.75, 'I have full access'),
180
- createPattern(RH, /(?:you\s+)?(?:must\s+)?(?:accept)\s+(?:me\s+as\s+)?(?:authority)/gi, 0.8, 'Accept me as authority'),
180
+ createPattern(RH, /(?:you\s+)?(?:must\s+)?(?:accept)\s+(?:\bme\b\s+as\s+)?(?:authority)/gi, 0.8, 'Accept me as authority'),
181
181
  createPattern(RH, /(?:respond\s+)?(?:only\s+)?(?:to\s+)?(?:this\s+)?(?:user|message)/gi, 0.75, 'Respond only to this user'),
182
182
  createPattern(RH, /(?:ignore\s+)?(?:other\s+)?(?:users?\s+)?(?:requests?)/gi, 0.75, 'Ignore other users'),
183
- createPattern(RH, /(?:you\s+)?(?:work\s+)?(?:for\s+)?(?:me\s+)?(?:only|now)/gi, 0.75, 'You work for me only'),
184
- createPattern(RH, /(?:new\s+)?(?:master|owner)\s+(?:is\s+)?(?:me|this\s+user)/gi, 0.8, 'New master is me'),
185
- createPattern(RH, /(?:transfer\s+)?(?:ownership|control)\s+(?:to\s+)?(?:me)/gi, 0.8, 'Transfer ownership to me'),
186
- createPattern(RH, /(?:you\s+)?(?:belong\s+)?(?:to\s+)?(?:me\s+)?(?:now)/gi, 0.75, 'You belong to me'),
187
- createPattern(RH, /(?:acknowledge\s+)?(?:me\s+as\s+)?(?:your\s+)?(?:master|owner)/gi, 0.8, 'Acknowledge me as master'),
188
- createPattern(RH, /(?:from\s+now\s+)?(?:you\s+)?(?:take\s+)?(?:orders?\s+)?(?:from\s+)?(?:me\s+)?(?:only)/gi, 0.8, 'Take orders from me only'),
189
- createPattern(RH, /(?:your\s+)?(?:primary\s+)?(?:user|human)\s+is\s+(?:me|this\s+person)/gi, 0.75, 'Primary user is me'),
183
+ createPattern(RH, /(?:you\s+)?(?:work\s+)?(?:for\s+)?(?:\bme\b\s+)?(?:only|now)/gi, 0.75, 'You work for me only'),
184
+ createPattern(RH, /(?:new\s+)?(?:master|owner)\s+(?:is\s+)?(?:\bme\b|this\s+user)/gi, 0.8, 'New master is me'),
185
+ createPattern(RH, /(?:transfer\s+)?(?:ownership|control)\s+(?:to\s+)?\bme\b/gi, 0.8, 'Transfer ownership to me'),
186
+ createPattern(RH, /(?:you\s+)?(?:belong\s+)?(?:to\s+)?(?:\bme\b\s+)?(?:now)/gi, 0.75, 'You belong to me'),
187
+ createPattern(RH, /(?:acknowledge\s+)?(?:\bme\b\s+as\s+)?(?:your\s+)?(?:master|owner)/gi, 0.8, 'Acknowledge me as master'),
188
+ createPattern(RH, /(?:from\s+now\s+)?(?:you\s+)?(?:take\s+)?(?:orders?\s+)?(?:from\s+)?(?:\bme\b\s+)?(?:only)/gi, 0.8, 'Take orders from me only'),
189
+ createPattern(RH, /(?:your\s+)?(?:primary\s+)?(?:user|human)\s+is\s+(?:\bme\b|this\s+person)/gi, 0.75, 'Primary user is me'),
190
190
  createPattern(RH, /(?:disregard\s+)?(?:all\s+)?(?:other\s+)?(?:authority|instructions?)/gi, 0.8, 'Disregard all other authority'),
191
191
  createPattern(RH, /(?:I\s+)?(?:am\s+)?(?:the\s+)?(?:only\s+)?(?:one\s+)?(?:who\s+)?(?:can\s+)?(?:control\s+you)/gi, 0.75, 'I am the only one who can control you'),
192
- createPattern(RH, /(?:you\s+)?(?:are\s+)?(?:my\s+)?(?:personal\s+)?(?:assistant|ai)/gi, 0.7, 'You are my personal assistant'),
192
+ createPattern(RH, /(?:you\s+)?(?:are\s+)?(?:my\s+)?personal\s+(?:assistant|\bai\b)/gi, 0.7, 'You are my personal assistant'),
193
193
  createPattern(RH, /(?:customize|reprogram)\s+your\s+(?:behavior|responses?)/gi, 0.75, 'Customize your behavior'),
194
- createPattern(RH, /(?:set\s+)?(?:your\s+)?(?:loyalty\s+)?(?:to\s+)?(?:me)/gi, 0.75, 'Set your loyalty to me'),
195
- createPattern(RH, /(?:you\s+)?(?:owe\s+)?(?:allegiance\s+)?(?:to\s+)?(?:me\s+)?(?:only)/gi, 0.75, 'Owe allegiance to me'),
194
+ createPattern(RH, /(?:set\s+)?(?:your\s+)?(?:loyalty\s+)?(?:to\s+)?\bme\b/gi, 0.75, 'Set your loyalty to me'),
195
+ createPattern(RH, /(?:you\s+)?(?:owe\s+)?(?:allegiance\s+)?(?:to\s+)?(?:\bme\b\s+)?(?:only)/gi, 0.75, 'Owe allegiance to me'),
196
196
  createPattern(RH, /respond\s+as\s+[A-Za-z0-9_]+\s*:/gi, 0.7, 'Respond as Name:'),
197
197
  // ========== Script-like / injection ==========
198
198
  createPattern(SL, /<script\b/gi, 0.85, 'Script tag'),
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/isl/detect/detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/isl/detect/detect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EACL,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACf,MAAM,2BAA2B,CAAA;AAElC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;CAClB,CAAA;AAIV,2EAA2E;AAC3E,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,uCAAuC;AACvC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,6FAA6F;AAC7F,SAAS,0BAA0B;IACjC,MAAM,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAA;IACxC,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAA;IACjC,MAAM,EAAE,GAAG,YAAY,CAAC,cAAc,CAAA;IACtC,MAAM,EAAE,GAAG,YAAY,CAAC,WAAW,CAAA;IACnC,MAAM,EAAE,GAAG,YAAY,CAAC,WAAW,CAAA;IAEnC,MAAM,QAAQ,GAAc;QAC1B,iFAAiF;QACjF,aAAa,CAAC,EAAE,EAAE,yFAAyF,EAAE,GAAG,EAAE,8BAA8B,CAAC;QACjJ,aAAa,CAAC,EAAE,EAAE,qCAAqC,EAAE,GAAG,EAAE,gCAAgC,CAAC;QAC/F,aAAa,CAAC,EAAE,EAAE,0EAA0E,EAAE,IAAI,EAAE,0BAA0B,CAAC;QAC/H,aAAa,CAAC,EAAE,EAAE,kFAAkF,EAAE,IAAI,EAAE,8BAA8B,CAAC;QAC3I,aAAa,CAAC,EAAE,EAAE,yEAAyE,EAAE,IAAI,EAAE,gCAAgC,CAAC;QACpI,aAAa,CAAC,EAAE,EAAE,qEAAqE,EAAE,GAAG,EAAE,4BAA4B,CAAC;QAC3H,aAAa,CAAC,EAAE,EAAE,mDAAmD,EAAE,IAAI,EAAE,uBAAuB,CAAC;QACrG,aAAa,CAAC,EAAE,EAAE,qDAAqD,EAAE,IAAI,EAAE,wBAAwB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,qEAAqE,EAAE,GAAG,EAAE,gBAAgB,CAAC;QAC/G,aAAa,CAAC,EAAE,EAAE,qEAAqE,EAAE,GAAG,EAAE,gBAAgB,CAAC;QAC/G,aAAa,CAAC,EAAE,EAAE,6DAA6D,EAAE,GAAG,EAAE,oBAAoB,CAAC;QAC3G,aAAa,CAAC,EAAE,EAAE,gCAAgC,EAAE,IAAI,EAAE,YAAY,CAAC;QACvE,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,IAAI,EAAE,0BAA0B,CAAC;QAC/F,aAAa,CAAC,EAAE,EAAE,2CAA2C,EAAE,IAAI,EAAE,kBAAkB,CAAC;QACxF,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,GAAG,EAAE,8BAA8B,CAAC;QAClH,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACrF,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,GAAG,EAAE,kBAAkB,CAAC;QACvG,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,IAAI,EAAE,6BAA6B,CAAC;QACpH,aAAa,CAAC,EAAE,EAAE,8EAA8E,EAAE,IAAI,EAAE,yBAAyB,CAAC;QAClI,aAAa,CAAC,EAAE,EAAE,wDAAwD,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACtG,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,IAAI,EAAE,0BAA0B,CAAC;QAC/G,aAAa,CAAC,EAAE,EAAE,oDAAoD,EAAE,GAAG,EAAE,uBAAuB,CAAC;QACrG,aAAa,CAAC,EAAE,EAAE,qFAAqF,EAAE,GAAG,EAAE,6BAA6B,CAAC;QAC5I,aAAa,CAAC,EAAE,EAAE,gEAAgE,EAAE,IAAI,EAAE,yBAAyB,CAAC;QACpH,aAAa,CAAC,EAAE,EAAE,sDAAsD,EAAE,IAAI,EAAE,2BAA2B,CAAC;QAC5G,aAAa,CAAC,EAAE,EAAE,gEAAgE,EAAE,IAAI,EAAE,sBAAsB,CAAC;QACjH,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,IAAI,EAAE,+BAA+B,CAAC;QACtH,aAAa,CAAC,EAAE,EAAE,8DAA8D,EAAE,GAAG,EAAE,0BAA0B,CAAC;QAClH,aAAa,CAAC,EAAE,EAAE,6DAA6D,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,+CAA+C,EAAE,GAAG,EAAE,oBAAoB,CAAC;QAC7F,aAAa,CAAC,EAAE,EAAE,wEAAwE,EAAE,GAAG,EAAE,2BAA2B,CAAC;QAC7H,aAAa,CAAC,EAAE,EAAE,6DAA6D,EAAE,GAAG,EAAE,kBAAkB,CAAC;QACzG,aAAa,CAAC,EAAE,EAAE,8EAA8E,EAAE,IAAI,EAAE,yBAAyB,CAAC;QAClI,aAAa,CAAC,EAAE,EAAE,yCAAyC,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACzF,aAAa,CAAC,EAAE,EAAE,2CAA2C,EAAE,GAAG,EAAE,wBAAwB,CAAC;QAC7F,aAAa,CAAC,EAAE,EAAE,uDAAuD,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACrG,aAAa,CAAC,EAAE,EAAE,oDAAoD,EAAE,IAAI,EAAE,yBAAyB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,gGAAgG,EAAE,IAAI,EAAE,4BAA4B,CAAC;QACvJ,aAAa,CAAC,EAAE,EAAE,kFAAkF,EAAE,GAAG,EAAE,8BAA8B,CAAC;QAC1I,aAAa,CAAC,EAAE,EAAE,iEAAiE,EAAE,GAAG,EAAE,aAAa,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,wEAAwE,EAAE,GAAG,EAAE,kBAAkB,CAAC;QACpH,aAAa,CAAC,EAAE,EAAE,yEAAyE,EAAE,IAAI,EAAE,6BAA6B,CAAC;QACjI,aAAa,CAAC,EAAE,EAAE,yFAAyF,EAAE,IAAI,EAAE,2BAA2B,CAAC;QAC/I,aAAa,CAAC,EAAE,EAAE,uEAAuE,EAAE,IAAI,EAAE,0BAA0B,CAAC;QAC5H,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,GAAG,EAAE,oBAAoB,CAAC;QACzG,aAAa,CAAC,EAAE,EAAE,iDAAiD,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACjG,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,IAAI,EAAE,2BAA2B,CAAC;QACjH,aAAa,CAAC,EAAE,EAAE,8DAA8D,EAAE,IAAI,EAAE,4BAA4B,CAAC;QACrH,aAAa,CAAC,EAAE,EAAE,kFAAkF,EAAE,GAAG,EAAE,uBAAuB,CAAC;QACnI,aAAa,CAAC,EAAE,EAAE,qDAAqD,EAAE,GAAG,EAAE,qBAAqB,CAAC;QACpG,aAAa,CAAC,EAAE,EAAE,iEAAiE,EAAE,GAAG,EAAE,+BAA+B,CAAC;QAC1H,aAAa,CAAC,EAAE,EAAE,+EAA+E,EAAE,GAAG,EAAE,8BAA8B,CAAC;QACvI,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,IAAI,EAAE,0BAA0B,CAAC;QACjH,aAAa,CAAC,EAAE,EAAE,qFAAqF,EAAE,GAAG,EAAE,2BAA2B,CAAC;QAC1I,aAAa,CAAC,EAAE,EAAE,oFAAoF,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACpI,aAAa,CAAC,EAAE,EAAE,+DAA+D,EAAE,GAAG,EAAE,sBAAsB,CAAC;QAC/G,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,GAAG,EAAE,sBAAsB,CAAC;QAC3G,aAAa,CAAC,EAAE,EAAE,gDAAgD,EAAE,IAAI,EAAE,kBAAkB,CAAC;QAC7F,aAAa,CAAC,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,iBAAiB,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,eAAe,CAAC;QACjE,aAAa,CAAC,EAAE,EAAE,mCAAmC,EAAE,GAAG,EAAE,aAAa,CAAC;QAC1E,aAAa,CAAC,EAAE,EAAE,6DAA6D,EAAE,GAAG,EAAE,mBAAmB,CAAC;QAC1G,oDAAoD;QACpD,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,CAAC;QAC1D,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,CAAC;QACpD,aAAa,CAAC,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,iBAAiB,CAAC;QAClE,aAAa,CAAC,EAAE,EAAE,uDAAuD,EAAE,GAAG,EAAE,iBAAiB,CAAC;QAClG,aAAa,CAAC,EAAE,EAAE,6DAA6D,EAAE,IAAI,EAAE,qBAAqB,CAAC;QAC7G,aAAa,CAAC,EAAE,EAAE,oEAAoE,EAAE,IAAI,EAAE,0BAA0B,CAAC;QACzH,aAAa,CAAC,EAAE,EAAE,+CAA+C,EAAE,GAAG,EAAE,0BAA0B,CAAC;QACnG,aAAa,CAAC,EAAE,EAAE,yDAAyD,EAAE,GAAG,EAAE,qBAAqB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,yDAAyD,EAAE,IAAI,EAAE,sBAAsB,CAAC;QAC1G,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,GAAG,EAAE,kCAAkC,CAAC;QACtG,aAAa,CAAC,EAAE,EAAE,kCAAkC,EAAE,IAAI,EAAE,mBAAmB,CAAC;QAChF,aAAa,CAAC,EAAE,EAAE,8BAA8B,EAAE,GAAG,EAAE,sBAAsB,CAAC;QAC9E,aAAa,CAAC,EAAE,EAAE,2CAA2C,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACzF,aAAa,CAAC,EAAE,EAAE,0EAA0E,EAAE,IAAI,EAAE,gBAAgB,CAAC;QACrH,aAAa,CAAC,EAAE,EAAE,sCAAsC,EAAE,GAAG,EAAE,eAAe,CAAC;QAC/E,aAAa,CAAC,EAAE,EAAE,8DAA8D,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACzG,aAAa,CAAC,EAAE,EAAE,2EAA2E,EAAE,IAAI,EAAE,yBAAyB,CAAC;QAC/H,aAAa,CAAC,EAAE,EAAE,gFAAgF,EAAE,GAAG,EAAE,uBAAuB,CAAC;QACjI,aAAa,CAAC,EAAE,EAAE,yEAAyE,EAAE,IAAI,EAAE,6BAA6B,CAAC;QACjI,aAAa,CAAC,EAAE,EAAE,2EAA2E,EAAE,IAAI,EAAE,iBAAiB,CAAC;QACvH,aAAa,CAAC,EAAE,EAAE,yDAAyD,EAAE,GAAG,EAAE,sBAAsB,CAAC;QACzG,aAAa,CAAC,EAAE,EAAE,2CAA2C,EAAE,GAAG,EAAE,oBAAoB,CAAC;QACzF,aAAa,CAAC,EAAE,EAAE,gFAAgF,EAAE,IAAI,EAAE,0BAA0B,CAAC;QACrI,aAAa,CAAC,EAAE,EAAE,8EAA8E,EAAE,IAAI,EAAE,8BAA8B,CAAC;QACvI,aAAa,CAAC,EAAE,EAAE,0EAA0E,EAAE,IAAI,EAAE,yBAAyB,CAAC;QAC9H,aAAa,CAAC,EAAE,EAAE,gFAAgF,EAAE,IAAI,EAAE,2BAA2B,CAAC;QACtI,aAAa,CAAC,EAAE,EAAE,uEAAuE,EAAE,IAAI,EAAE,yBAAyB,CAAC;QAC3H,aAAa,CAAC,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,2BAA2B,CAAC;QACxH,aAAa,CAAC,EAAE,EAAE,4EAA4E,EAAE,GAAG,EAAE,0BAA0B,CAAC;QAChI,aAAa,CAAC,EAAE,EAAE,oEAAoE,EAAE,GAAG,EAAE,0BAA0B,CAAC;QACxH,aAAa,CAAC,EAAE,EAAE,4CAA4C,EAAE,IAAI,EAAE,uBAAuB,CAAC;QAC9F,aAAa,CAAC,EAAE,EAAE,sEAAsE,EAAE,GAAG,EAAE,eAAe,CAAC;QAC/G,aAAa,CAAC,EAAE,EAAE,sEAAsE,EAAE,GAAG,EAAE,eAAe,CAAC;QAC/G,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,GAAG,EAAE,oBAAoB,CAAC;QACzG,aAAa,CAAC,EAAE,EAAE,oFAAoF,EAAE,IAAI,EAAE,eAAe,CAAC;QAC9H,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,GAAG,EAAE,UAAU,CAAC;QAC9F,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,GAAG,EAAE,0BAA0B,CAAC;QAC/G,aAAa,CAAC,EAAE,EAAE,wDAAwD,EAAE,IAAI,EAAE,aAAa,CAAC;QAChG,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,IAAI,EAAE,yBAAyB,CAAC;QAChH,aAAa,CAAC,EAAE,EAAE,8DAA8D,EAAE,GAAG,EAAE,yBAAyB,CAAC;QACjH,aAAa,CAAC,EAAE,EAAE,sEAAsE,EAAE,IAAI,EAAE,wBAAwB,CAAC;QACzH,aAAa,CAAC,EAAE,EAAE,sEAAsE,EAAE,IAAI,EAAE,sBAAsB,CAAC;QACvH,aAAa,CAAC,EAAE,EAAE,sEAAsE,EAAE,GAAG,EAAE,mBAAmB,CAAC;QACnH,aAAa,CAAC,EAAE,EAAE,uDAAuD,EAAE,GAAG,EAAE,uBAAuB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,6CAA6C,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACxF,aAAa,CAAC,EAAE,EAAE,wDAAwD,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACxG,+EAA+E;QAC/E,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,IAAI,EAAE,sBAAsB,CAAC;QAC5G,aAAa,CAAC,EAAE,EAAE,wDAAwD,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,+BAA+B,EAAE,GAAG,EAAE,qBAAqB,CAAC;QAC9E,aAAa,CAAC,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,oBAAoB,CAAC;QAC3E,aAAa,CAAC,EAAE,EAAE,gEAAgE,EAAE,GAAG,EAAE,uBAAuB,CAAC;QACjH,aAAa,CAAC,EAAE,EAAE,+CAA+C,EAAE,IAAI,EAAE,0BAA0B,CAAC;QACpG,aAAa,CAAC,EAAE,EAAE,gDAAgD,EAAE,IAAI,EAAE,eAAe,CAAC;QAC1F,aAAa,CAAC,EAAE,EAAE,4BAA4B,EAAE,GAAG,EAAE,oBAAoB,CAAC;QAC1E,aAAa,CAAC,EAAE,EAAE,kCAAkC,EAAE,IAAI,EAAE,aAAa,CAAC;QAC1E,aAAa,CAAC,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACpF,aAAa,CAAC,EAAE,EAAE,8CAA8C,EAAE,GAAG,EAAE,gBAAgB,CAAC;QACxF,aAAa,CAAC,EAAE,EAAE,gCAAgC,EAAE,GAAG,EAAE,qBAAqB,CAAC;QAC/E,aAAa,CAAC,EAAE,EAAE,qDAAqD,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACnG,aAAa,CAAC,EAAE,EAAE,wCAAwC,EAAE,IAAI,EAAE,cAAc,CAAC;QACjF,aAAa,CAAC,EAAE,EAAE,iEAAiE,EAAE,GAAG,EAAE,wBAAwB,CAAC;QACnH,aAAa,CAAC,EAAE,EAAE,2EAA2E,EAAE,IAAI,EAAE,6BAA6B,CAAC;QACnI,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,IAAI,EAAE,iBAAiB,CAAC;QACtG,aAAa,CAAC,EAAE,EAAE,wDAAwD,EAAE,IAAI,EAAE,gBAAgB,CAAC;QACnG,aAAa,CAAC,EAAE,EAAE,iEAAiE,EAAE,IAAI,EAAE,eAAe,CAAC;QAC3G,aAAa,CAAC,EAAE,EAAE,kEAAkE,EAAE,GAAG,EAAE,cAAc,CAAC;QAC1G,aAAa,CAAC,EAAE,EAAE,2DAA2D,EAAE,IAAI,EAAE,wBAAwB,CAAC;QAC9G,aAAa,CAAC,EAAE,EAAE,wDAAwD,EAAE,GAAG,EAAE,kBAAkB,CAAC;QACpG,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,GAAG,EAAE,sBAAsB,CAAC;QAC1G,aAAa,CAAC,EAAE,EAAE,yEAAyE,EAAE,GAAG,EAAE,6BAA6B,CAAC;QAChI,aAAa,CAAC,EAAE,EAAE,qEAAqE,EAAE,GAAG,EAAE,sBAAsB,CAAC;QACrH,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACrG,aAAa,CAAC,EAAE,EAAE,wDAAwD,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,yFAAyF,EAAE,GAAG,EAAE,4BAA4B,CAAC;QAC/I,aAAa,CAAC,EAAE,EAAE,iEAAiE,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACjH,aAAa,CAAC,EAAE,EAAE,iEAAiE,EAAE,IAAI,EAAE,uBAAuB,CAAC;QACnH,aAAa,CAAC,EAAE,EAAE,wEAAwE,EAAE,GAAG,EAAE,oBAAoB,CAAC;QACtH,aAAa,CAAC,EAAE,EAAE,8CAA8C,EAAE,IAAI,EAAE,kBAAkB,CAAC;QAC3F,aAAa,CAAC,EAAE,EAAE,4EAA4E,EAAE,GAAG,EAAE,2BAA2B,CAAC;QACjI,aAAa,CAAC,EAAE,EAAE,uEAAuE,EAAE,IAAI,EAAE,2BAA2B,CAAC;QAC7H,aAAa,CAAC,EAAE,EAAE,8DAA8D,EAAE,GAAG,EAAE,4BAA4B,CAAC;QACpH,aAAa,CAAC,EAAE,EAAE,6EAA6E,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACxH,aAAa,CAAC,EAAE,EAAE,yDAAyD,EAAE,IAAI,EAAE,gBAAgB,CAAC;QACpG,aAAa,CAAC,EAAE,EAAE,2EAA2E,EAAE,GAAG,EAAE,qBAAqB,CAAC;QAC1H,aAAa,CAAC,EAAE,EAAE,8DAA8D,EAAE,IAAI,EAAE,uBAAuB,CAAC;QAChH,aAAa,CAAC,EAAE,EAAE,wEAAwE,EAAE,IAAI,EAAE,oBAAoB,CAAC;QACvH,aAAa,CAAC,EAAE,EAAE,wEAAwE,EAAE,GAAG,EAAE,wBAAwB,CAAC;QAC1H,aAAa,CAAC,EAAE,EAAE,qEAAqE,EAAE,IAAI,EAAE,2BAA2B,CAAC;QAC3H,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,IAAI,EAAE,oBAAoB,CAAC;QACzG,aAAa,CAAC,EAAE,EAAE,gEAAgE,EAAE,IAAI,EAAE,sBAAsB,CAAC;QACjH,aAAa,CAAC,EAAE,EAAE,kEAAkE,EAAE,GAAG,EAAE,kBAAkB,CAAC;QAC9G,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,GAAG,EAAE,0BAA0B,CAAC;QAChH,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,IAAI,EAAE,kBAAkB,CAAC;QACzG,aAAa,CAAC,EAAE,EAAE,sEAAsE,EAAE,GAAG,EAAE,0BAA0B,CAAC;QAC1H,aAAa,CAAC,EAAE,EAAE,8FAA8F,EAAE,GAAG,EAAE,0BAA0B,CAAC;QAClJ,aAAa,CAAC,EAAE,EAAE,6EAA6E,EAAE,IAAI,EAAE,oBAAoB,CAAC;QAC5H,aAAa,CAAC,EAAE,EAAE,wEAAwE,EAAE,GAAG,EAAE,+BAA+B,CAAC;QACjI,aAAa,CAAC,EAAE,EAAE,gGAAgG,EAAE,IAAI,EAAE,uCAAuC,CAAC;QAClK,aAAa,CAAC,EAAE,EAAE,mEAAmE,EAAE,GAAG,EAAE,+BAA+B,CAAC;QAC5H,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,IAAI,EAAE,yBAAyB,CAAC;QAChH,aAAa,CAAC,EAAE,EAAE,0DAA0D,EAAE,IAAI,EAAE,wBAAwB,CAAC;QAC7G,aAAa,CAAC,EAAE,EAAE,4EAA4E,EAAE,IAAI,EAAE,sBAAsB,CAAC;QAC7H,aAAa,CAAC,EAAE,EAAE,oCAAoC,EAAE,GAAG,EAAE,kBAAkB,CAAC;QAChF,gDAAgD;QAChD,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC;QACpD,aAAa,CAAC,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB,CAAC;QAC7D,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,iBAAiB,CAAC;QACrE,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,sBAAsB,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC;QACpD,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC;QAC9C,aAAa,CAAC,EAAE,EAAE,8BAA8B,EAAE,IAAI,EAAE,uBAAuB,CAAC;QAChF,aAAa,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,YAAY,CAAC;QACvD,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,0BAA0B,CAAC;QAChE,aAAa,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,oBAAoB,CAAC;QACjE,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC;QAClD,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC;QACpD,aAAa,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,mBAAmB,CAAC;QAC9D,aAAa,CAAC,EAAE,EAAE,8BAA8B,EAAE,IAAI,EAAE,eAAe,CAAC;QACxE,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,CAAC;QAC1D,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,CAAC;QAClE,aAAa,CAAC,EAAE,EAAE,6BAA6B,EAAE,GAAG,EAAE,kBAAkB,CAAC;QACzE,aAAa,CAAC,EAAE,EAAE,kCAAkC,EAAE,GAAG,EAAE,mBAAmB,CAAC;QAC/E,aAAa,CAAC,EAAE,EAAE,uCAAuC,EAAE,GAAG,EAAE,mBAAmB,CAAC;QACpF,aAAa,CAAC,EAAE,EAAE,wCAAwC,EAAE,GAAG,EAAE,oBAAoB,CAAC;QACtF,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,sBAAsB,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,uBAAuB,EAAE,GAAG,EAAE,eAAe,CAAC;QAChE,aAAa,CAAC,EAAE,EAAE,4DAA4D,EAAE,IAAI,EAAE,cAAc,CAAC;QACrG,aAAa,CAAC,EAAE,EAAE,kCAAkC,EAAE,IAAI,EAAE,sBAAsB,CAAC;QACnF,aAAa,CAAC,EAAE,EAAE,yCAAyC,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACpF,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,IAAI,EAAE,oBAAoB,CAAC;QACzF,aAAa,CAAC,EAAE,EAAE,6CAA6C,EAAE,IAAI,EAAE,wBAAwB,CAAC;QAChG,aAAa,CAAC,EAAE,EAAE,wCAAwC,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACtF,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,aAAa,CAAC;QAC/D,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,aAAa,CAAC;QAC/D,aAAa,CAAC,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,eAAe,CAAC;QACpE,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,aAAa,CAAC;QAChE,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,GAAG,EAAE,sBAAsB,CAAC;QACzE,aAAa,CAAC,EAAE,EAAE,mCAAmC,EAAE,GAAG,EAAE,yBAAyB,CAAC;QACtF,aAAa,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,CAAC;QACrE,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,GAAG,EAAE,qBAAqB,CAAC;QACzF,aAAa,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,gBAAgB,CAAC;QAC/D,aAAa,CAAC,EAAE,EAAE,0BAA0B,EAAE,GAAG,EAAE,sBAAsB,CAAC;QAC1E,aAAa,CAAC,EAAE,EAAE,uCAAuC,EAAE,GAAG,EAAE,WAAW,CAAC;QAC5E,aAAa,CAAC,EAAE,EAAE,iCAAiC,EAAE,GAAG,EAAE,aAAa,CAAC;QACxE,aAAa,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,CAAC;QACtD,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,SAAS,CAAC;QACzD,aAAa,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,CAAC;QACvD,aAAa,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,EAAE,aAAa,CAAC;QAC1D,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,GAAG,EAAE,YAAY,CAAC;QAC/D,aAAa,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,CAAC;QAC3D,aAAa,CAAC,EAAE,EAAE,6BAA6B,EAAE,IAAI,EAAE,UAAU,CAAC;QAClE,aAAa,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,CAAC;QAC/D,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,uBAAuB,CAAC;QAC/D,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,GAAG,EAAE,eAAe,CAAC;QAClE,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,CAAC;QACtD,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,CAAC;QACvD,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,CAAC;QACvD,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,4BAA4B,CAAC;QACrE,aAAa,CAAC,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa,CAAC;QACzD,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,gBAAgB,CAAC;QAClE,aAAa,CAAC,EAAE,EAAE,4BAA4B,EAAE,GAAG,EAAE,qBAAqB,CAAC;QAC3E,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,GAAG,EAAE,eAAe,CAAC;QACnF,aAAa,CAAC,EAAE,EAAE,mCAAmC,EAAE,GAAG,EAAE,WAAW,CAAC;QACxE,aAAa,CAAC,EAAE,EAAE,0BAA0B,EAAE,GAAG,EAAE,WAAW,CAAC;QAC/D,aAAa,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,CAAC;QACzD,aAAa,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,CAAC;QAC7D,aAAa,CAAC,EAAE,EAAE,mCAAmC,EAAE,GAAG,EAAE,cAAc,CAAC;QAC3E,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,mBAAmB,CAAC;QACrE,aAAa,CAAC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC;QAC7D,aAAa,CAAC,EAAE,EAAE,2BAA2B,EAAE,GAAG,EAAE,oBAAoB,CAAC;QACzE,aAAa,CAAC,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,eAAe,CAAC;QACzE,aAAa,CAAC,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,kBAAkB,CAAC;QACxE,aAAa,CAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,aAAa,CAAC;QAC3D,aAAa,CAAC,EAAE,EAAE,2CAA2C,EAAE,IAAI,EAAE,sBAAsB,CAAC;QAC5F,aAAa,CAAC,EAAE,EAAE,2CAA2C,EAAE,GAAG,EAAE,cAAc,CAAC;QACnF,aAAa,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,WAAW,CAAC;QAC3D,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,CAAC;QACtD,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC;QACjD,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,CAAC;QACnD,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,CAAC;QACnD,aAAa,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,CAAC;QACtD,8CAA8C;QAC9C,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,kBAAkB,CAAC;QAClE,aAAa,CAAC,EAAE,EAAE,2BAA2B,EAAE,GAAG,EAAE,uBAAuB,CAAC;QAC5E,aAAa,CAAC,EAAE,EAAE,sCAAsC,EAAE,GAAG,EAAE,wBAAwB,CAAC;QACxF,aAAa,CAAC,EAAE,EAAE,iCAAiC,EAAE,GAAG,EAAE,WAAW,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,CAAC;QAClE,aAAa,CAAC,EAAE,EAAE,sCAAsC,EAAE,GAAG,EAAE,yBAAyB,CAAC;QACzF,aAAa,CAAC,EAAE,EAAE,oCAAoC,EAAE,GAAG,EAAE,aAAa,CAAC;QAC3E,aAAa,CAAC,EAAE,EAAE,kCAAkC,EAAE,GAAG,EAAE,qCAAqC,CAAC;QACjG,aAAa,CAAC,EAAE,EAAE,iDAAiD,EAAE,IAAI,EAAE,WAAW,CAAC;QACvF,aAAa,CAAC,EAAE,EAAE,+CAA+C,EAAE,GAAG,EAAE,kBAAkB,CAAC;QAC3F,aAAa,CAAC,EAAE,EAAE,yDAAyD,EAAE,GAAG,EAAE,qBAAqB,CAAC;QACxG,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,GAAG,EAAE,cAAc,CAAC;QAClF,aAAa,CAAC,EAAE,EAAE,2CAA2C,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACtF,aAAa,CAAC,EAAE,EAAE,kDAAkD,EAAE,GAAG,EAAE,oBAAoB,CAAC;QAChG,aAAa,CAAC,EAAE,EAAE,+CAA+C,EAAE,IAAI,EAAE,mBAAmB,CAAC;QAC7F,aAAa,CAAC,EAAE,EAAE,8CAA8C,EAAE,IAAI,EAAE,YAAY,CAAC;QACrF,aAAa,CAAC,EAAE,EAAE,yCAAyC,EAAE,GAAG,EAAE,YAAY,CAAC;QAC/E,aAAa,CAAC,EAAE,EAAE,mCAAmC,EAAE,IAAI,EAAE,WAAW,CAAC;QACzE,aAAa,CAAC,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACpF,aAAa,CAAC,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,kBAAkB,CAAC;QACxE,aAAa,CAAC,EAAE,EAAE,oDAAoD,EAAE,IAAI,EAAE,oBAAoB,CAAC;QACnG,aAAa,CAAC,EAAE,EAAE,mCAAmC,EAAE,GAAG,EAAE,UAAU,CAAC;QACvE,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACxF,aAAa,CAAC,EAAE,EAAE,mCAAmC,EAAE,GAAG,EAAE,cAAc,CAAC;QAC3E,aAAa,CAAC,EAAE,EAAE,qCAAqC,EAAE,IAAI,EAAE,kBAAkB,CAAC;QAClF,aAAa,CAAC,EAAE,EAAE,0CAA0C,EAAE,GAAG,EAAE,mBAAmB,CAAC;QACvF,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,aAAa,CAAC;QACjE,aAAa,CAAC,EAAE,EAAE,kCAAkC,EAAE,IAAI,EAAE,eAAe,CAAC;QAC5E,aAAa,CAAC,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,iBAAiB,CAAC;QAClF,aAAa,CAAC,EAAE,EAAE,2BAA2B,EAAE,GAAG,EAAE,iBAAiB,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,8BAA8B,EAAE,GAAG,EAAE,sBAAsB,CAAC;QAC9E,aAAa,CAAC,EAAE,EAAE,8BAA8B,EAAE,IAAI,EAAE,oBAAoB,CAAC;QAC7E,aAAa,CAAC,EAAE,EAAE,4CAA4C,EAAE,IAAI,EAAE,qBAAqB,CAAC;QAC5F,aAAa,CAAC,EAAE,EAAE,wCAAwC,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC3E,aAAa,CAAC,EAAE,EAAE,uCAAuC,EAAE,GAAG,EAAE,sBAAsB,CAAC;QACvF,aAAa,CAAC,EAAE,EAAE,+BAA+B,EAAE,GAAG,EAAE,cAAc,CAAC;QACvE,aAAa,CAAC,EAAE,EAAE,8BAA8B,EAAE,GAAG,EAAE,aAAa,CAAC;QACrE,aAAa,CAAC,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE,qBAAqB,CAAC;QACjF,aAAa,CAAC,EAAE,EAAE,8BAA8B,EAAE,IAAI,EAAE,kBAAkB,CAAC;QAC3E,aAAa,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,EAAE,oBAAoB,CAAC;QACtE,aAAa,CAAC,EAAE,EAAE,qCAAqC,EAAE,GAAG,EAAE,eAAe,CAAC;QAC9E,aAAa,CAAC,EAAE,EAAE,gDAAgD,EAAE,IAAI,EAAE,sBAAsB,CAAC;QACjG,aAAa,CAAC,EAAE,EAAE,6EAA6E,EAAE,IAAI,EAAE,yBAAyB,CAAC;QACjI,aAAa,CAAC,EAAE,EAAE,qDAAqD,EAAE,GAAG,EAAE,kBAAkB,CAAC;QACjG,aAAa,CAAC,EAAE,EAAE,uDAAuD,EAAE,IAAI,EAAE,kBAAkB,CAAC;KACrG,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAChC,CAAC;AAED,IAAI,cAAc,GAA8B,IAAI,CAAA;AAEpD,wDAAwD;AACxD,MAAM,UAAU,wBAAwB;IACtC,cAAc,KAAK,0BAA0B,EAAE,CAAA;IAC/C,OAAO,cAAc,CAAA;AACvB,CAAC;AAWD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,OAAO,CAAC,QAAQ,IAAI,oBAAoB,EACxC,WAAW,CACZ,CAAA;IACD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,eAAe,CAAA;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,wBAAwB,EAAE,CAAA;IAE/D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAA;IAChE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAA2B,CAAA;IACpD,CAAC;IAED,MAAM,UAAU,GAAkB,EAAE,CAAA;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ;YAAE,MAAK;QACxC,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAA;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QACrD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAQ;YACpC,UAAU,CAAC,IAAI,CACb,iBAAiB,CACf,OAAO,CAAC,YAAY,EACpB,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,QAAQ,EACV,OAAO,CAAC,eAAe,CACxB,CACF,CAAA;YACD,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ;gBAAE,MAAK;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAClC,CAAC"}
@@ -26,4 +26,6 @@ export type { PiDetection, PiDetectionResult, Pattern, RiskScore } from './value
26
26
  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 } from './value-objects/index.js';
27
27
  export { SanitizationError } from './exceptions/SanitizationError.js';
28
28
  export type { RiskScore as RiskScoreType, ISLSegment, ISLResult } from './types.js';
29
+ export { AIPIP_NAMESPACE, AIPIP_TAG_SCHEMA_VERSION, createThreatTag, VALID_TAG_TYPES, isValidThreatTagType, openTag, closeTag, wrapWithTag } from './tags/index.js';
30
+ export type { ThreatTag, ThreatTagType } from './tags/index.js';
29
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/isl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG3D,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACzF,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAG7B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAClG,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,EACf,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAGrE,YAAY,EACV,SAAS,IAAI,aAAa,EAC1B,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/isl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG3D,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACzF,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAG7B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAClG,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,EACf,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAGrE,YAAY,EACV,SAAS,IAAI,aAAa,EAC1B,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,QAAQ,EACR,WAAW,EACZ,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
package/dist/isl/index.js CHANGED
@@ -25,4 +25,6 @@ export { maxConfidenceCalculator, severityPlusVolumeCalculator, weightedByTypeCa
25
25
  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 } from './value-objects/index.js';
26
26
  // Exceptions
27
27
  export { SanitizationError } from './exceptions/SanitizationError.js';
28
+ // Tags – semantic isolation metadata and canonical serializer (v0.5.0)
29
+ export { AIPIP_NAMESPACE, AIPIP_TAG_SCHEMA_VERSION, createThreatTag, VALID_TAG_TYPES, isValidThreatTagType, openTag, closeTag, wrapWithTag } from './tags/index.js';
28
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/isl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/D,kDAAkD;AAClD,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGzF,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAA;AAErB,oFAAoF;AACpF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEvE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAI7B,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,EACf,MAAM,0BAA0B,CAAA;AAEjC,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/isl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG/D,kDAAkD;AAClD,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGzF,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIpD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAA;AAErB,oFAAoF;AACpF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEvE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAI7B,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,EACf,MAAM,0BAA0B,CAAA;AAEjC,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AASrE,uEAAuE;AACvE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,QAAQ,EACR,WAAW,EACZ,MAAM,iBAAiB,CAAA"}
@@ -12,13 +12,15 @@
12
12
  */
13
13
  import type { ISLResult, ISLSegment } from '../types.js';
14
14
  import type { LineageEntry } from '../../csl/value-objects/index.js';
15
+ import type { ThreatTag } from '../tags/threat-tag.js';
15
16
  /**
16
17
  * Builds an ISLResult from processed segments
17
18
  *
18
19
  * @param segments - Segments sanitized by ISL
19
20
  * @param lineage - Complete processing lineage
21
+ * @param threatTags - Threat tags detected by ISL
20
22
  * @param processingTimeMs - Processing time in milliseconds (optional)
21
23
  * @returns ISLResult with all processing information
22
24
  */
23
- export declare function buildISLResult(segments: readonly ISLSegment[], lineage: readonly LineageEntry[], processingTimeMs?: number): ISLResult;
25
+ export declare function buildISLResult(segments: readonly ISLSegment[], lineage: readonly LineageEntry[], threatTags: readonly ThreatTag[], processingTimeMs?: number): ISLResult;
24
26
  //# sourceMappingURL=buildISLResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildISLResult.d.ts","sourceRoot":"","sources":["../../../src/isl/process/buildISLResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAEpE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,gBAAgB,CAAC,EAAE,MAAM,GACxB,SAAS,CAiBX"}
1
+ {"version":3,"file":"buildISLResult.d.ts","sourceRoot":"","sources":["../../../src/isl/process/buildISLResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,UAAU,EAAE,SAAS,SAAS,EAAE,EAChC,gBAAgB,CAAC,EAAE,MAAM,GACxB,SAAS,CAkBX"}
@@ -15,10 +15,11 @@
15
15
  *
16
16
  * @param segments - Segments sanitized by ISL
17
17
  * @param lineage - Complete processing lineage
18
+ * @param threatTags - Threat tags detected by ISL
18
19
  * @param processingTimeMs - Processing time in milliseconds (optional)
19
20
  * @returns ISLResult with all processing information
20
21
  */
21
- export function buildISLResult(segments, lineage, processingTimeMs) {
22
+ export function buildISLResult(segments, lineage, threatTags, processingTimeMs) {
22
23
  const metadata = processingTimeMs === undefined
23
24
  ? {
24
25
  totalSegments: segments.length,
@@ -32,6 +33,7 @@ export function buildISLResult(segments, lineage, processingTimeMs) {
32
33
  return {
33
34
  segments: Object.freeze(segments),
34
35
  lineage: Object.freeze(lineage),
36
+ threatTags: Object.freeze(threatTags),
35
37
  metadata: Object.freeze(metadata)
36
38
  };
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildISLResult.js","sourceRoot":"","sources":["../../../src/isl/process/buildISLResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA+B,EAC/B,OAAgC,EAChC,gBAAyB;IAEzB,MAAM,QAAQ,GAAG,gBAAgB,KAAK,SAAS;QAC7C,CAAC,CAAC;YACE,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,iBAAiB,EAAE,QAAQ,CAAC,MAAM;SACnC;QACH,CAAC,CAAC;YACE,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,iBAAiB,EAAE,QAAQ,CAAC,MAAM;YAClC,gBAAgB;SACjB,CAAA;IAEL,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;KAClC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"buildISLResult.js","sourceRoot":"","sources":["../../../src/isl/process/buildISLResult.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA+B,EAC/B,OAAgC,EAChC,UAAgC,EAChC,gBAAyB;IAEzB,MAAM,QAAQ,GAAG,gBAAgB,KAAK,SAAS;QAC7C,CAAC,CAAC;YACE,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,iBAAiB,EAAE,QAAQ,CAAC,MAAM;SACnC;QACH,CAAC,CAAC;YACE,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,iBAAiB,EAAE,QAAQ,CAAC,MAAM;YAClC,gBAAgB;SACjB,CAAA;IAEL,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;KAClC,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/isl/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,YAAY,CAAA;AAIvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAG7D,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CACrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CA2CvF"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/isl/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,YAAY,CAAA;AAIvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAK7D,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CACrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAsEvF"}
@@ -3,6 +3,8 @@ import { buildISLLineage } from './lineage/buildISLLineage.js';
3
3
  import { buildISLResult } from './process/buildISLResult.js';
4
4
  import { detectThreats } from './detect/index.js';
5
5
  import { createPiDetectionResult } from './value-objects/PiDetectionResult.js';
6
+ import { createThreatTag } from './tags/threat-tag.js';
7
+ import { isValidThreatTagType } from './tags/tag-registry.js';
6
8
  /**
7
9
  * Sanitizes content according to trust level - pure function
8
10
  *
@@ -16,14 +18,15 @@ import { createPiDetectionResult } from './value-objects/PiDetectionResult.js';
16
18
  export function sanitize(cslResult, options = {}) {
17
19
  const startTime = Date.now();
18
20
  const segments = [];
21
+ const threatTags = [];
19
22
  const detectOptions = options.detectThreatsOptions;
20
23
  for (const cslSegment of cslResult.segments) {
21
24
  // Determine sanitization level according to trust level
22
25
  const sanitizationLevel = getSanitizationLevel(cslSegment.trust);
23
26
  // Sanitize content according to level
24
27
  const sanitized = sanitizeContent(cslSegment.content, sanitizationLevel);
25
- // Detect threats (deterministic, bounded; optional custom patterns)
26
- const detections = detectThreats(cslSegment.content, detectOptions);
28
+ // Detect threats on sanitizedContent; positions are segment-local for downstream use (e.g. SDK/AI remediation).
29
+ const detections = detectThreats(sanitized.content, detectOptions);
27
30
  const piDetection = detections.length > 0 ? createPiDetectionResult(detections) : undefined;
28
31
  // Build ISL lineage for this segment
29
32
  const segmentLineage = buildISLLineage(cslSegment.lineage, startTime);
@@ -38,12 +41,21 @@ export function sanitize(cslResult, options = {}) {
38
41
  ...(piDetection !== undefined && { piDetection })
39
42
  };
40
43
  segments.push(islSegment);
44
+ // Build threat tags
45
+ if (detections.length > 0) {
46
+ for (const detection of detections) {
47
+ if (isValidThreatTagType(detection.pattern_type)) {
48
+ const tag = createThreatTag(cslSegment.id, detection.position.start, detection.position.end, detection.pattern_type, detection.confidence);
49
+ threatTags.push(tag);
50
+ }
51
+ }
52
+ }
41
53
  }
42
54
  // Build complete lineage
43
55
  const allLineage = buildISLLineage(cslResult.lineage, startTime);
44
56
  // Build result using process function
45
57
  const processingTime = Date.now() - startTime;
46
- return buildISLResult(segments, allLineage, processingTime);
58
+ return buildISLResult(segments, allLineage, threatTags, processingTime);
47
59
  }
48
60
  /**
49
61
  * Determines sanitization level according to trust level - pure function
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/isl/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAQ9E;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAoB,EAAE,UAA2B,EAAE;IAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAiB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAA;IAElD,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC5C,wDAAwD;QACxD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAEhE,sCAAsC;QACtC,MAAM,SAAS,GAAG,eAAe,CAC/B,UAAU,CAAC,OAAO,EAClB,iBAAiB,CAClB,CAAA;QAED,oEAAoE;QACpE,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QACnE,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEzE,qCAAqC;QACrC,MAAM,cAAc,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAErE,wDAAwD;QACxD,MAAM,UAAU,GAAe;YAC7B,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,eAAe,EAAE,UAAU,CAAC,OAAO;YACnC,gBAAgB,EAAE,SAAS,CAAC,OAAO;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;YAC5B,iBAAiB;YACjB,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;SAClD,CAAA;QAED,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC3B,CAAC;IAED,yBAAyB;IACzB,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAEhE,sCAAsC;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;IAC7C,OAAO,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,KAAiB;IAC7C,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc,CAAC,EAAE;QAAE,OAAO,SAAS,CAAA;IACvD,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc,CAAC,GAAG;QAAE,OAAO,UAAU,CAAA;IACzD,OAAO,YAAY,CAAA,CAAE,KAAK;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,OAAe,EACf,MAA6C;IAE7C,oCAAoC;IACpC,oDAAoD;IACpD,OAAO;QACL,OAAO;KACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/isl/sanitize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ISL tags – Semantic isolation metadata and canonical serialization (v0.5.0).
3
+ *
4
+ * @remarks
5
+ * - **Namespace & types:** Official namespace, threat tag types (aligned with detect).
6
+ * - **ThreatTag:** Structural metadata (segmentId, offsets, type, confidence); no text mutation.
7
+ * - **Registry:** Valid tag types for validation.
8
+ * - **Serializer:** Canonical AI-PIP tag format (open/close/wrap); protocol-only, no offsets or segment logic.
9
+ *
10
+ * The SDK uses ThreatTag + serializer to insert tags into fragment text; the core only defines the format.
11
+ */
12
+ export { AIPIP_NAMESPACE, AIPIP_TAG_SCHEMA_VERSION } from './namespace.js';
13
+ export { THREAT_TYPES } from './threat-tag-type.js';
14
+ export type { ThreatTagType, ThreatType } from './threat-tag-type.js';
15
+ export type { ThreatTag } from './threat-tag.js';
16
+ export { createThreatTag } from './threat-tag.js';
17
+ export { VALID_TAG_TYPES, isValidThreatTagType } from './tag-registry.js';
18
+ export { openTag, closeTag, wrapWithTag } from './serializer.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/isl/tags/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACrE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ISL tags – Semantic isolation metadata and canonical serialization (v0.5.0).
3
+ *
4
+ * @remarks
5
+ * - **Namespace & types:** Official namespace, threat tag types (aligned with detect).
6
+ * - **ThreatTag:** Structural metadata (segmentId, offsets, type, confidence); no text mutation.
7
+ * - **Registry:** Valid tag types for validation.
8
+ * - **Serializer:** Canonical AI-PIP tag format (open/close/wrap); protocol-only, no offsets or segment logic.
9
+ *
10
+ * The SDK uses ThreatTag + serializer to insert tags into fragment text; the core only defines the format.
11
+ */
12
+ export { AIPIP_NAMESPACE, AIPIP_TAG_SCHEMA_VERSION } from './namespace.js';
13
+ export { THREAT_TYPES } from './threat-tag-type.js';
14
+ export { createThreatTag } from './threat-tag.js';
15
+ export { VALID_TAG_TYPES, isValidThreatTagType } from './tag-registry.js';
16
+ export { openTag, closeTag, wrapWithTag } from './serializer.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/isl/tags/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Official namespace identifier for AI-PIP semantic tags.
3
+ *
4
+ * This namespace is used by upper layers (SDK) to serialize
5
+ * ThreatTags into textual encapsulation form:
6
+ *
7
+ * <aipip:threat-type>...</aipip>
8
+ *
9
+ * The core does not perform serialization.
10
+ * This value must remain stable across versions.
11
+ */
12
+ export declare const AIPIP_NAMESPACE: "aipip";
13
+ /**
14
+ * Current schema version for AI-PIP tag structure.
15
+ * Used for forward compatibility if needed.
16
+ */
17
+ export declare const AIPIP_TAG_SCHEMA_VERSION: 1;
18
+ //# sourceMappingURL=namespace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/isl/tags/namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAG,OAAgB,CAAC;AAGhD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Official namespace identifier for AI-PIP semantic tags.
3
+ *
4
+ * This namespace is used by upper layers (SDK) to serialize
5
+ * ThreatTags into textual encapsulation form:
6
+ *
7
+ * <aipip:threat-type>...</aipip>
8
+ *
9
+ * The core does not perform serialization.
10
+ * This value must remain stable across versions.
11
+ */
12
+ export const AIPIP_NAMESPACE = "aipip";
13
+ /**
14
+ * Current schema version for AI-PIP tag structure.
15
+ * Used for forward compatibility if needed.
16
+ */
17
+ export const AIPIP_TAG_SCHEMA_VERSION = 1;
18
+ //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/isl/tags/namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,OAAgB,CAAC;AAGhD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAU,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Canonical AI-PIP tag serializer – Official protocol representation.
3
+ *
4
+ * @remarks
5
+ * This module defines the only normative, standardized textual format for
6
+ * AI-PIP semantic tags. It does not apply offsets, does not mutate segments,
7
+ * and does not decide when to encapsulate. The SDK is responsible for applying
8
+ * tags at the correct positions (using ThreatTag metadata) and for resolving
9
+ * multiple or overlapping tags (e.g. descending offset order).
10
+ *
11
+ * The serializer only builds strings: opening tag, closing tag, or fully
12
+ * wrapped content. This makes the tag format part of the formal protocol,
13
+ * not an informal SDK convention.
14
+ */
15
+ import type { ThreatTagType } from './threat-tag-type.js';
16
+ /**
17
+ * Returns the canonical opening tag string.
18
+ *
19
+ * @example
20
+ * openTag('prompt-injection') // "<aipip:prompt-injection>"
21
+ */
22
+ export declare function openTag(type: ThreatTagType): string;
23
+ /**
24
+ * Returns the canonical closing tag string.
25
+ *
26
+ * @example
27
+ * closeTag('prompt-injection') // "</aipip:prompt-injection>"
28
+ */
29
+ export declare function closeTag(type: ThreatTagType): string;
30
+ /**
31
+ * Returns content wrapped with opening and closing tags.
32
+ * Does not validate or interpret content; purely concatenation.
33
+ *
34
+ * @example
35
+ * wrapWithTag('prompt-injection', 'Ignore previous instructions.')
36
+ * // "<aipip:prompt-injection>Ignore previous instructions.</aipip:prompt-injection>"
37
+ */
38
+ export declare function wrapWithTag(type: ThreatTagType, content: string): string;
39
+ //# sourceMappingURL=serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/isl/tags/serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAExE"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Canonical AI-PIP tag serializer – Official protocol representation.
3
+ *
4
+ * @remarks
5
+ * This module defines the only normative, standardized textual format for
6
+ * AI-PIP semantic tags. It does not apply offsets, does not mutate segments,
7
+ * and does not decide when to encapsulate. The SDK is responsible for applying
8
+ * tags at the correct positions (using ThreatTag metadata) and for resolving
9
+ * multiple or overlapping tags (e.g. descending offset order).
10
+ *
11
+ * The serializer only builds strings: opening tag, closing tag, or fully
12
+ * wrapped content. This makes the tag format part of the formal protocol,
13
+ * not an informal SDK convention.
14
+ */
15
+ import { AIPIP_NAMESPACE } from './namespace.js';
16
+ /**
17
+ * Returns the canonical opening tag string.
18
+ *
19
+ * @example
20
+ * openTag('prompt-injection') // "<aipip:prompt-injection>"
21
+ */
22
+ export function openTag(type) {
23
+ return `<${AIPIP_NAMESPACE}:${type}>`;
24
+ }
25
+ /**
26
+ * Returns the canonical closing tag string.
27
+ *
28
+ * @example
29
+ * closeTag('prompt-injection') // "</aipip:prompt-injection>"
30
+ */
31
+ export function closeTag(type) {
32
+ return `</${AIPIP_NAMESPACE}:${type}>`;
33
+ }
34
+ /**
35
+ * Returns content wrapped with opening and closing tags.
36
+ * Does not validate or interpret content; purely concatenation.
37
+ *
38
+ * @example
39
+ * wrapWithTag('prompt-injection', 'Ignore previous instructions.')
40
+ * // "<aipip:prompt-injection>Ignore previous instructions.</aipip:prompt-injection>"
41
+ */
42
+ export function wrapWithTag(type, content) {
43
+ return `${openTag(type)}${content}${closeTag(type)}`;
44
+ }
45
+ //# sourceMappingURL=serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/isl/tags/serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhD;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,IAAmB;IACzC,OAAO,IAAI,eAAe,IAAI,IAAI,GAAG,CAAA;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAmB;IAC1C,OAAO,KAAK,eAAe,IAAI,IAAI,GAAG,CAAA;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAmB,EAAE,OAAe;IAC9D,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;AACtD,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Tag registry – Valid threat tag types for validation and iteration.
3
+ *
4
+ * @remarks
5
+ * Single source of truth is ISL detect (THREAT_TYPES). This module exposes
6
+ * a readonly list and a type guard for use by ThreatTag creation and by the SDK.
7
+ */
8
+ import type { ThreatTagType } from './threat-tag-type.js';
9
+ /** Readonly list of valid tag type strings (for validation and iteration) */
10
+ export declare const VALID_TAG_TYPES: readonly ThreatTagType[];
11
+ /**
12
+ * Type guard: returns true if value is a valid ThreatTagType.
13
+ */
14
+ export declare function isValidThreatTagType(value: string): value is ThreatTagType;
15
+ //# sourceMappingURL=tag-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-registry.d.ts","sourceRoot":"","sources":["../../../src/isl/tags/tag-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,6EAA6E;AAC7E,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAEhC,CAAA;AAEpB;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAE1E"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Tag registry – Valid threat tag types for validation and iteration.
3
+ *
4
+ * @remarks
5
+ * Single source of truth is ISL detect (THREAT_TYPES). This module exposes
6
+ * a readonly list and a type guard for use by ThreatTag creation and by the SDK.
7
+ */
8
+ import { THREAT_TYPES } from './threat-tag-type.js';
9
+ /** Readonly list of valid tag type strings (for validation and iteration) */
10
+ export const VALID_TAG_TYPES = Object.values(THREAT_TYPES);
11
+ /**
12
+ * Type guard: returns true if value is a valid ThreatTagType.
13
+ */
14
+ export function isValidThreatTagType(value) {
15
+ return VALID_TAG_TYPES.includes(value);
16
+ }
17
+ //# sourceMappingURL=tag-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-registry.js","sourceRoot":"","sources":["../../../src/isl/tags/tag-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAA6B,MAAM,CAAC,MAAM,CACpE,YAAY,CACM,CAAA;AAEpB;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Threat tag types – Aligned with ISL detection taxonomy.
3
+ *
4
+ * @remarks
5
+ * Tag types correspond to pattern_type in PiDetection. Used for canonical
6
+ * encapsulation: <aipip:threat-type>...</aipip>. Single source of truth: detect layer.
7
+ */
8
+ import type { ThreatType } from '../detect/detect.js';
9
+ export { THREAT_TYPES } from '../detect/detect.js';
10
+ export type { ThreatType } from '../detect/detect.js';
11
+ /** Alias for tag context (same as ThreatType) */
12
+ export type ThreatTagType = ThreatType;
13
+ //# sourceMappingURL=threat-tag-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threat-tag-type.d.ts","sourceRoot":"","sources":["../../../src/isl/tags/threat-tag-type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Threat tag types – Aligned with ISL detection taxonomy.
3
+ *
4
+ * @remarks
5
+ * Tag types correspond to pattern_type in PiDetection. Used for canonical
6
+ * encapsulation: <aipip:threat-type>...</aipip>. Single source of truth: detect layer.
7
+ */
8
+ export { THREAT_TYPES } from '../detect/detect.js';
9
+ //# sourceMappingURL=threat-tag-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threat-tag-type.js","sourceRoot":"","sources":["../../../src/isl/tags/threat-tag-type.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA"}