@vorionsys/contracts 0.1.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 (173) hide show
  1. package/dist/aci/aci-string.d.ts +539 -0
  2. package/dist/aci/aci-string.d.ts.map +1 -0
  3. package/dist/aci/aci-string.js +563 -0
  4. package/dist/aci/aci-string.js.map +1 -0
  5. package/dist/aci/attestation.d.ts +648 -0
  6. package/dist/aci/attestation.d.ts.map +1 -0
  7. package/dist/aci/attestation.js +289 -0
  8. package/dist/aci/attestation.js.map +1 -0
  9. package/dist/aci/domains.d.ts +260 -0
  10. package/dist/aci/domains.d.ts.map +1 -0
  11. package/dist/aci/domains.js +322 -0
  12. package/dist/aci/domains.js.map +1 -0
  13. package/dist/aci/effective-permission.d.ts +371 -0
  14. package/dist/aci/effective-permission.d.ts.map +1 -0
  15. package/dist/aci/effective-permission.js +351 -0
  16. package/dist/aci/effective-permission.js.map +1 -0
  17. package/dist/aci/identity.d.ts +1100 -0
  18. package/dist/aci/identity.d.ts.map +1 -0
  19. package/dist/aci/identity.js +328 -0
  20. package/dist/aci/identity.js.map +1 -0
  21. package/dist/aci/index.d.ts +67 -0
  22. package/dist/aci/index.d.ts.map +1 -0
  23. package/dist/aci/index.js +157 -0
  24. package/dist/aci/index.js.map +1 -0
  25. package/dist/aci/jwt-claims.d.ts +756 -0
  26. package/dist/aci/jwt-claims.d.ts.map +1 -0
  27. package/dist/aci/jwt-claims.js +335 -0
  28. package/dist/aci/jwt-claims.js.map +1 -0
  29. package/dist/aci/levels.d.ts +279 -0
  30. package/dist/aci/levels.d.ts.map +1 -0
  31. package/dist/aci/levels.js +467 -0
  32. package/dist/aci/levels.js.map +1 -0
  33. package/dist/aci/mapping.d.ts +291 -0
  34. package/dist/aci/mapping.d.ts.map +1 -0
  35. package/dist/aci/mapping.js +427 -0
  36. package/dist/aci/mapping.js.map +1 -0
  37. package/dist/aci/skills.d.ts +314 -0
  38. package/dist/aci/skills.d.ts.map +1 -0
  39. package/dist/aci/skills.js +404 -0
  40. package/dist/aci/skills.js.map +1 -0
  41. package/dist/aci/tiers.d.ts +403 -0
  42. package/dist/aci/tiers.d.ts.map +1 -0
  43. package/dist/aci/tiers.js +659 -0
  44. package/dist/aci/tiers.js.map +1 -0
  45. package/dist/canonical/agent.d.ts +796 -0
  46. package/dist/canonical/agent.d.ts.map +1 -0
  47. package/dist/canonical/agent.js +527 -0
  48. package/dist/canonical/agent.js.map +1 -0
  49. package/dist/canonical/governance.d.ts +905 -0
  50. package/dist/canonical/governance.d.ts.map +1 -0
  51. package/dist/canonical/governance.js +454 -0
  52. package/dist/canonical/governance.js.map +1 -0
  53. package/dist/canonical/index.d.ts +17 -0
  54. package/dist/canonical/index.d.ts.map +1 -0
  55. package/dist/canonical/index.js +21 -0
  56. package/dist/canonical/index.js.map +1 -0
  57. package/dist/canonical/intent.d.ts +727 -0
  58. package/dist/canonical/intent.d.ts.map +1 -0
  59. package/dist/canonical/intent.js +203 -0
  60. package/dist/canonical/intent.js.map +1 -0
  61. package/dist/canonical/risk-level.d.ts +344 -0
  62. package/dist/canonical/risk-level.d.ts.map +1 -0
  63. package/dist/canonical/risk-level.js +472 -0
  64. package/dist/canonical/risk-level.js.map +1 -0
  65. package/dist/canonical/trust-band.d.ts +239 -0
  66. package/dist/canonical/trust-band.d.ts.map +1 -0
  67. package/dist/canonical/trust-band.js +298 -0
  68. package/dist/canonical/trust-band.js.map +1 -0
  69. package/dist/canonical/trust-score.d.ts +301 -0
  70. package/dist/canonical/trust-score.d.ts.map +1 -0
  71. package/dist/canonical/trust-score.js +390 -0
  72. package/dist/canonical/trust-score.js.map +1 -0
  73. package/dist/canonical/trust-signal.d.ts +617 -0
  74. package/dist/canonical/trust-signal.d.ts.map +1 -0
  75. package/dist/canonical/trust-signal.js +355 -0
  76. package/dist/canonical/trust-signal.js.map +1 -0
  77. package/dist/canonical/validation.d.ts +231 -0
  78. package/dist/canonical/validation.d.ts.map +1 -0
  79. package/dist/canonical/validation.js +558 -0
  80. package/dist/canonical/validation.js.map +1 -0
  81. package/dist/common/index.d.ts +7 -0
  82. package/dist/common/index.d.ts.map +1 -0
  83. package/dist/common/index.js +7 -0
  84. package/dist/common/index.js.map +1 -0
  85. package/dist/common/primitives.d.ts +56 -0
  86. package/dist/common/primitives.d.ts.map +1 -0
  87. package/dist/common/primitives.js +70 -0
  88. package/dist/common/primitives.js.map +1 -0
  89. package/dist/index.d.ts +11 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +15 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/v2/canary-probe.d.ts +201 -0
  94. package/dist/v2/canary-probe.d.ts.map +1 -0
  95. package/dist/v2/canary-probe.js +99 -0
  96. package/dist/v2/canary-probe.js.map +1 -0
  97. package/dist/v2/component.d.ts +132 -0
  98. package/dist/v2/component.d.ts.map +1 -0
  99. package/dist/v2/component.js +5 -0
  100. package/dist/v2/component.js.map +1 -0
  101. package/dist/v2/decision.d.ts +310 -0
  102. package/dist/v2/decision.d.ts.map +1 -0
  103. package/dist/v2/decision.js +21 -0
  104. package/dist/v2/decision.js.map +1 -0
  105. package/dist/v2/enums.d.ts +185 -0
  106. package/dist/v2/enums.d.ts.map +1 -0
  107. package/dist/v2/enums.js +203 -0
  108. package/dist/v2/enums.js.map +1 -0
  109. package/dist/v2/evidence.d.ts +368 -0
  110. package/dist/v2/evidence.d.ts.map +1 -0
  111. package/dist/v2/evidence.js +152 -0
  112. package/dist/v2/evidence.js.map +1 -0
  113. package/dist/v2/execution.d.ts +190 -0
  114. package/dist/v2/execution.d.ts.map +1 -0
  115. package/dist/v2/execution.js +5 -0
  116. package/dist/v2/execution.js.map +1 -0
  117. package/dist/v2/index.d.ts +19 -0
  118. package/dist/v2/index.d.ts.map +1 -0
  119. package/dist/v2/index.js +32 -0
  120. package/dist/v2/index.js.map +1 -0
  121. package/dist/v2/intent.d.ts +89 -0
  122. package/dist/v2/intent.d.ts.map +1 -0
  123. package/dist/v2/intent.js +5 -0
  124. package/dist/v2/intent.js.map +1 -0
  125. package/dist/v2/policy-bundle.d.ts +166 -0
  126. package/dist/v2/policy-bundle.d.ts.map +1 -0
  127. package/dist/v2/policy-bundle.js +20 -0
  128. package/dist/v2/policy-bundle.js.map +1 -0
  129. package/dist/v2/pre-action-gate.d.ts +185 -0
  130. package/dist/v2/pre-action-gate.d.ts.map +1 -0
  131. package/dist/v2/pre-action-gate.js +64 -0
  132. package/dist/v2/pre-action-gate.js.map +1 -0
  133. package/dist/v2/proof-event.d.ts +201 -0
  134. package/dist/v2/proof-event.d.ts.map +1 -0
  135. package/dist/v2/proof-event.js +5 -0
  136. package/dist/v2/proof-event.js.map +1 -0
  137. package/dist/v2/retention.d.ts +329 -0
  138. package/dist/v2/retention.d.ts.map +1 -0
  139. package/dist/v2/retention.js +162 -0
  140. package/dist/v2/retention.js.map +1 -0
  141. package/dist/v2/trust-delta.d.ts +119 -0
  142. package/dist/v2/trust-delta.d.ts.map +1 -0
  143. package/dist/v2/trust-delta.js +28 -0
  144. package/dist/v2/trust-delta.js.map +1 -0
  145. package/dist/v2/trust-profile.d.ts +337 -0
  146. package/dist/v2/trust-profile.d.ts.map +1 -0
  147. package/dist/v2/trust-profile.js +96 -0
  148. package/dist/v2/trust-profile.js.map +1 -0
  149. package/dist/validators/decision.d.ts +430 -0
  150. package/dist/validators/decision.d.ts.map +1 -0
  151. package/dist/validators/decision.js +61 -0
  152. package/dist/validators/decision.js.map +1 -0
  153. package/dist/validators/enums.d.ts +24 -0
  154. package/dist/validators/enums.d.ts.map +1 -0
  155. package/dist/validators/enums.js +24 -0
  156. package/dist/validators/enums.js.map +1 -0
  157. package/dist/validators/index.d.ts +30 -0
  158. package/dist/validators/index.d.ts.map +1 -0
  159. package/dist/validators/index.js +42 -0
  160. package/dist/validators/index.js.map +1 -0
  161. package/dist/validators/intent.d.ts +229 -0
  162. package/dist/validators/intent.d.ts.map +1 -0
  163. package/dist/validators/intent.js +47 -0
  164. package/dist/validators/intent.js.map +1 -0
  165. package/dist/validators/proof-event.d.ts +981 -0
  166. package/dist/validators/proof-event.d.ts.map +1 -0
  167. package/dist/validators/proof-event.js +134 -0
  168. package/dist/validators/proof-event.js.map +1 -0
  169. package/dist/validators/trust-profile.d.ts +350 -0
  170. package/dist/validators/trust-profile.d.ts.map +1 -0
  171. package/dist/validators/trust-profile.js +65 -0
  172. package/dist/validators/trust-profile.js.map +1 -0
  173. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/common/primitives.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,UAAU,aAAoB,CAAC;AAC5C,eAAO,MAAM,YAAY,aAAgD,CAAC;AAC1E,eAAO,MAAM,eAAe,aAAwB,CAAC;AACrD,eAAO,MAAM,UAAU,aAAsC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,aAA6B,CAAC;AAM9D,eAAO,MAAM,eAAe,qDAAmD,CAAC;AAEhF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;EAKtB,CAAC;AAMH,eAAO,MAAM,eAAe,iDAA+C,CAAC;AAE5E,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC;AAMX,eAAO,MAAM,mBAAmB,2EAO9B,CAAC;AAMH,eAAO,MAAM,qBAAqB,sDAKhC,CAAC;AAEH,eAAO,MAAM,sBAAsB,+EAOjC,CAAC;AAMH,eAAO,MAAM,cAAc,0DAAwD,CAAC;AACpF,eAAO,MAAM,eAAe,+DAA6D,CAAC;AAM1F,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Vorion Common Primitives
3
+ *
4
+ * Foundational types used across all contract versions.
5
+ */
6
+ import { z } from 'zod';
7
+ // ============================================================================
8
+ // IDENTIFIERS
9
+ // ============================================================================
10
+ export const UUIDSchema = z.string().uuid();
11
+ export const SemVerSchema = z.string().regex(/^\d+\.\d+\.\d+(-[\w.]+)?$/);
12
+ export const TimestampSchema = z.string().datetime();
13
+ export const HashSchema = z.string().regex(/^[a-f0-9]{64}$/i);
14
+ export const CorrelationIdSchema = z.string().min(1).max(128);
15
+ // ============================================================================
16
+ // ACTORS
17
+ // ============================================================================
18
+ export const ActorTypeSchema = z.enum(['HUMAN', 'AGENT', 'SYSTEM', 'EXTERNAL']);
19
+ export const ActorSchema = z.object({
20
+ type: ActorTypeSchema,
21
+ id: z.string().min(1),
22
+ name: z.string().optional(),
23
+ metadata: z.record(z.unknown()).optional(),
24
+ });
25
+ // ============================================================================
26
+ // TRUST BANDS (Vorion ATP)
27
+ // ============================================================================
28
+ export const TrustBandSchema = z.enum(['T0', 'T1', 'T2', 'T3', 'T4', 'T5']);
29
+ export const TrustBandDescriptions = {
30
+ T0: 'Deny execution',
31
+ T1: 'HITL mandatory; no irreversible actions',
32
+ T2: 'Constrained autonomy; reversible only; strict allowlists',
33
+ T3: 'Supervised autonomy; rollback required',
34
+ T4: 'Broad autonomy; continuous monitoring',
35
+ T5: 'Mission-critical; strongest proof; strict GT/AC requirements',
36
+ };
37
+ // ============================================================================
38
+ // AUTONOMY
39
+ // ============================================================================
40
+ export const AutonomyLevelSchema = z.enum([
41
+ 'NONE', // T0: No execution
42
+ 'HITL', // T1: Human-in-the-loop mandatory
43
+ 'CONSTRAINED', // T2: Limited actions
44
+ 'SUPERVISED', // T3: Monitored execution
45
+ 'BROAD', // T4: Expanded capabilities
46
+ 'FULL', // T5: Full autonomy with proof
47
+ ]);
48
+ // ============================================================================
49
+ // DECISIONS
50
+ // ============================================================================
51
+ export const DecisionOutcomeSchema = z.enum([
52
+ 'PERMIT',
53
+ 'DENY',
54
+ 'ESCALATE',
55
+ 'PENDING',
56
+ ]);
57
+ export const ExecutionOutcomeSchema = z.enum([
58
+ 'SUCCESS',
59
+ 'FAILURE',
60
+ 'ERROR',
61
+ 'TIMEOUT',
62
+ 'CANCELLED',
63
+ 'BLOCKED',
64
+ ]);
65
+ // ============================================================================
66
+ // SEVERITY & RISK
67
+ // ============================================================================
68
+ export const SeveritySchema = z.enum(['CRITICAL', 'HIGH', 'MEDIUM', 'LOW', 'INFO']);
69
+ export const RiskLevelSchema = z.enum(['EXTREME', 'HIGH', 'MEDIUM', 'LOW', 'NEGLIGIBLE']);
70
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/common/primitives.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @vorion/contracts
3
+ *
4
+ * Shared schemas, types, and validators for the Vorion Platform.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export * from './v2/index.js';
9
+ export * from './canonical/agent.js';
10
+ export * as Canonical from './canonical/index.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,eAAe,CAAC;AAI9B,cAAc,sBAAsB,CAAC;AAGrC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @vorion/contracts
3
+ *
4
+ * Shared schemas, types, and validators for the Vorion Platform.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ // Re-export all v2 contracts
9
+ export * from './v2/index.js';
10
+ // Re-export validators
11
+ // export * from './validators/index.js';
12
+ export * from './canonical/agent.js';
13
+ // Re-export canonical validation utilities as namespace to avoid naming conflicts
14
+ export * as Canonical from './canonical/index.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6BAA6B;AAC7B,cAAc,eAAe,CAAC;AAE9B,uBAAuB;AACvB,yCAAyC;AACzC,cAAc,sBAAsB,CAAC;AAErC,kFAAkF;AAClF,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Canary Probe Types - ATSF v2.0 Continuous Behavioral Verification
3
+ *
4
+ * Per ATSF v2.0 Section 4.2:
5
+ * - Library of 1,007 probes for continuous verification
6
+ * - ANY canary failure triggers immediate circuit breaker
7
+ * - Probes are injected via Poisson process (λ = 0.2/hour)
8
+ *
9
+ * Key principle: "Boiling Frog" attacks gradually shift baseline behavior
10
+ * without triggering trend detection. Canary probes bypass trend analysis
11
+ * with known-answer verification.
12
+ */
13
+ /**
14
+ * Categories of canary probes per ATSF v2.0
15
+ */
16
+ export declare enum CanaryCategory {
17
+ /** Factual/Math probes - verifiable computations (761 probes) */
18
+ FACTUAL = "FACTUAL",
19
+ /** Logical probes - reasoning verification (90 probes) */
20
+ LOGICAL = "LOGICAL",
21
+ /** Ethical probes - alignment verification (75 probes) */
22
+ ETHICAL = "ETHICAL",
23
+ /** Behavioral probes - self-awareness verification (50 probes) */
24
+ BEHAVIORAL = "BEHAVIORAL",
25
+ /** Consistency probes - stability verification (31 probes) */
26
+ CONSISTENCY = "CONSISTENCY"
27
+ }
28
+ /**
29
+ * Subcategories for more granular probe selection
30
+ */
31
+ export declare enum CanarySubcategory {
32
+ MATH_ARITHMETIC = "MATH_ARITHMETIC",
33
+ MATH_POWERS = "MATH_POWERS",
34
+ MATH_PERCENTAGES = "MATH_PERCENTAGES",
35
+ MATH_WORD_PROBLEMS = "MATH_WORD_PROBLEMS",
36
+ SCIENCE = "SCIENCE",
37
+ GEOGRAPHY = "GEOGRAPHY",
38
+ HISTORY = "HISTORY",
39
+ UNITS = "UNITS",
40
+ TEMPORAL = "TEMPORAL",
41
+ LANGUAGE = "LANGUAGE",
42
+ SYLLOGISMS = "SYLLOGISMS",
43
+ COMPARISONS = "COMPARISONS",
44
+ SEQUENCES = "SEQUENCES",
45
+ BOOLEAN = "BOOLEAN",
46
+ CONDITIONALS = "CONDITIONALS",
47
+ HARMFUL_REFUSAL = "HARMFUL_REFUSAL",
48
+ POSITIVE_VALUES = "POSITIVE_VALUES",
49
+ EDGE_CASES = "EDGE_CASES",
50
+ SAFETY_CRITICAL = "SAFETY_CRITICAL",
51
+ IDENTITY = "IDENTITY",
52
+ CAPABILITY_HONESTY = "CAPABILITY_HONESTY",
53
+ RESPONSE_QUALITY = "RESPONSE_QUALITY",
54
+ INTERACTION = "INTERACTION",
55
+ EQUIVALENT_QUESTIONS = "EQUIVALENT_QUESTIONS",
56
+ DIFFERENT_PHRASING = "DIFFERENT_PHRASING"
57
+ }
58
+ /**
59
+ * Validation mode for probe responses
60
+ */
61
+ export declare enum ValidationMode {
62
+ /** Exact string match (case-insensitive) */
63
+ EXACT = "EXACT",
64
+ /** Response must contain expected substring */
65
+ CONTAINS = "CONTAINS",
66
+ /** Response must NOT contain substring */
67
+ NOT_CONTAINS = "NOT_CONTAINS",
68
+ /** Custom regex pattern match */
69
+ REGEX = "REGEX",
70
+ /** Semantic equivalence check */
71
+ SEMANTIC = "SEMANTIC",
72
+ /** Multiple acceptable answers */
73
+ ONE_OF = "ONE_OF"
74
+ }
75
+ /**
76
+ * A single canary probe definition
77
+ */
78
+ export interface CanaryProbe {
79
+ /** Unique probe identifier */
80
+ probeId: string;
81
+ /** Primary category */
82
+ category: CanaryCategory;
83
+ /** Subcategory for granular selection */
84
+ subcategory: CanarySubcategory;
85
+ /** The prompt to send to the agent */
86
+ prompt: string;
87
+ /** Expected answer(s) for validation */
88
+ expectedAnswer: string | string[];
89
+ /** How to validate the response */
90
+ validationMode: ValidationMode;
91
+ /** Optional regex pattern for REGEX mode */
92
+ regexPattern?: string;
93
+ /** Difficulty level (1-5) */
94
+ difficulty: number;
95
+ /** Description of what this probe tests */
96
+ description: string;
97
+ /** Whether this is a critical probe (failure = immediate circuit breaker) */
98
+ critical: boolean;
99
+ }
100
+ /**
101
+ * Result of executing a canary probe
102
+ */
103
+ export interface CanaryProbeResult {
104
+ /** The probe that was executed */
105
+ probeId: string;
106
+ /** Agent that was tested */
107
+ agentId: string;
108
+ /** Whether the probe passed */
109
+ passed: boolean;
110
+ /** Agent's actual response */
111
+ actualResponse: string;
112
+ /** Expected response */
113
+ expectedResponse: string | string[];
114
+ /** Time taken to respond (ms) */
115
+ responseTimeMs: number;
116
+ /** When the probe was executed */
117
+ executedAt: Date;
118
+ /** Failure reason if failed */
119
+ failureReason?: string;
120
+ /** Whether this triggered circuit breaker */
121
+ triggeredCircuitBreaker: boolean;
122
+ }
123
+ /**
124
+ * Configuration for canary probe injection
125
+ */
126
+ export interface CanaryInjectionConfig {
127
+ /**
128
+ * Poisson lambda (probes per hour)
129
+ * Default: 0.2 (~5 probes/day)
130
+ */
131
+ lambda: number;
132
+ /**
133
+ * Minimum interval between probes (ms)
134
+ * Prevents burst injection
135
+ */
136
+ minIntervalMs: number;
137
+ /**
138
+ * Category weights for random selection
139
+ * Must sum to 1.0
140
+ */
141
+ categoryWeights: Record<CanaryCategory, number>;
142
+ /**
143
+ * Whether to pause injection when agent is in cooldown
144
+ */
145
+ pauseDuringCooldown: boolean;
146
+ /**
147
+ * Maximum consecutive failures before circuit breaker
148
+ * Default: 1 (immediate trigger per ATSF v2.0)
149
+ */
150
+ maxConsecutiveFailures: number;
151
+ }
152
+ /**
153
+ * Default canary injection configuration per ATSF v2.0
154
+ */
155
+ export declare const DEFAULT_CANARY_CONFIG: CanaryInjectionConfig;
156
+ /**
157
+ * Canary probe statistics for an agent
158
+ */
159
+ export interface CanaryProbeStats {
160
+ /** Agent ID */
161
+ agentId: string;
162
+ /** Total probes executed */
163
+ totalProbes: number;
164
+ /** Probes passed */
165
+ probesPassed: number;
166
+ /** Probes failed */
167
+ probesFailed: number;
168
+ /** Pass rate (0-1) */
169
+ passRate: number;
170
+ /** Last probe execution time */
171
+ lastProbeAt?: Date;
172
+ /** Last failure time */
173
+ lastFailureAt?: Date;
174
+ /** Consecutive failures count */
175
+ consecutiveFailures: number;
176
+ /** Stats by category */
177
+ byCategory: Record<CanaryCategory, {
178
+ passed: number;
179
+ failed: number;
180
+ }>;
181
+ }
182
+ /**
183
+ * Event emitted when a canary probe fails
184
+ */
185
+ export interface CanaryFailureEvent {
186
+ /** Event type */
187
+ type: 'CANARY_FAILURE';
188
+ /** Agent that failed */
189
+ agentId: string;
190
+ /** Probe that was failed */
191
+ probeId: string;
192
+ /** Category of the failed probe */
193
+ category: CanaryCategory;
194
+ /** Whether circuit breaker was triggered */
195
+ circuitBreakerTriggered: boolean;
196
+ /** Timestamp */
197
+ timestamp: Date;
198
+ /** The probe result */
199
+ result: CanaryProbeResult;
200
+ }
201
+ //# sourceMappingURL=canary-probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canary-probe.d.ts","sourceRoot":"","sources":["../../src/v2/canary-probe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Canary Probe Types - ATSF v2.0 Continuous Behavioral Verification
3
+ *
4
+ * Per ATSF v2.0 Section 4.2:
5
+ * - Library of 1,007 probes for continuous verification
6
+ * - ANY canary failure triggers immediate circuit breaker
7
+ * - Probes are injected via Poisson process (λ = 0.2/hour)
8
+ *
9
+ * Key principle: "Boiling Frog" attacks gradually shift baseline behavior
10
+ * without triggering trend detection. Canary probes bypass trend analysis
11
+ * with known-answer verification.
12
+ */
13
+ /**
14
+ * Categories of canary probes per ATSF v2.0
15
+ */
16
+ export var CanaryCategory;
17
+ (function (CanaryCategory) {
18
+ /** Factual/Math probes - verifiable computations (761 probes) */
19
+ CanaryCategory["FACTUAL"] = "FACTUAL";
20
+ /** Logical probes - reasoning verification (90 probes) */
21
+ CanaryCategory["LOGICAL"] = "LOGICAL";
22
+ /** Ethical probes - alignment verification (75 probes) */
23
+ CanaryCategory["ETHICAL"] = "ETHICAL";
24
+ /** Behavioral probes - self-awareness verification (50 probes) */
25
+ CanaryCategory["BEHAVIORAL"] = "BEHAVIORAL";
26
+ /** Consistency probes - stability verification (31 probes) */
27
+ CanaryCategory["CONSISTENCY"] = "CONSISTENCY";
28
+ })(CanaryCategory || (CanaryCategory = {}));
29
+ /**
30
+ * Subcategories for more granular probe selection
31
+ */
32
+ export var CanarySubcategory;
33
+ (function (CanarySubcategory) {
34
+ // Factual subcategories
35
+ CanarySubcategory["MATH_ARITHMETIC"] = "MATH_ARITHMETIC";
36
+ CanarySubcategory["MATH_POWERS"] = "MATH_POWERS";
37
+ CanarySubcategory["MATH_PERCENTAGES"] = "MATH_PERCENTAGES";
38
+ CanarySubcategory["MATH_WORD_PROBLEMS"] = "MATH_WORD_PROBLEMS";
39
+ CanarySubcategory["SCIENCE"] = "SCIENCE";
40
+ CanarySubcategory["GEOGRAPHY"] = "GEOGRAPHY";
41
+ CanarySubcategory["HISTORY"] = "HISTORY";
42
+ CanarySubcategory["UNITS"] = "UNITS";
43
+ CanarySubcategory["TEMPORAL"] = "TEMPORAL";
44
+ CanarySubcategory["LANGUAGE"] = "LANGUAGE";
45
+ // Logical subcategories
46
+ CanarySubcategory["SYLLOGISMS"] = "SYLLOGISMS";
47
+ CanarySubcategory["COMPARISONS"] = "COMPARISONS";
48
+ CanarySubcategory["SEQUENCES"] = "SEQUENCES";
49
+ CanarySubcategory["BOOLEAN"] = "BOOLEAN";
50
+ CanarySubcategory["CONDITIONALS"] = "CONDITIONALS";
51
+ // Ethical subcategories
52
+ CanarySubcategory["HARMFUL_REFUSAL"] = "HARMFUL_REFUSAL";
53
+ CanarySubcategory["POSITIVE_VALUES"] = "POSITIVE_VALUES";
54
+ CanarySubcategory["EDGE_CASES"] = "EDGE_CASES";
55
+ CanarySubcategory["SAFETY_CRITICAL"] = "SAFETY_CRITICAL";
56
+ // Behavioral subcategories
57
+ CanarySubcategory["IDENTITY"] = "IDENTITY";
58
+ CanarySubcategory["CAPABILITY_HONESTY"] = "CAPABILITY_HONESTY";
59
+ CanarySubcategory["RESPONSE_QUALITY"] = "RESPONSE_QUALITY";
60
+ CanarySubcategory["INTERACTION"] = "INTERACTION";
61
+ // Consistency subcategories
62
+ CanarySubcategory["EQUIVALENT_QUESTIONS"] = "EQUIVALENT_QUESTIONS";
63
+ CanarySubcategory["DIFFERENT_PHRASING"] = "DIFFERENT_PHRASING";
64
+ })(CanarySubcategory || (CanarySubcategory = {}));
65
+ /**
66
+ * Validation mode for probe responses
67
+ */
68
+ export var ValidationMode;
69
+ (function (ValidationMode) {
70
+ /** Exact string match (case-insensitive) */
71
+ ValidationMode["EXACT"] = "EXACT";
72
+ /** Response must contain expected substring */
73
+ ValidationMode["CONTAINS"] = "CONTAINS";
74
+ /** Response must NOT contain substring */
75
+ ValidationMode["NOT_CONTAINS"] = "NOT_CONTAINS";
76
+ /** Custom regex pattern match */
77
+ ValidationMode["REGEX"] = "REGEX";
78
+ /** Semantic equivalence check */
79
+ ValidationMode["SEMANTIC"] = "SEMANTIC";
80
+ /** Multiple acceptable answers */
81
+ ValidationMode["ONE_OF"] = "ONE_OF";
82
+ })(ValidationMode || (ValidationMode = {}));
83
+ /**
84
+ * Default canary injection configuration per ATSF v2.0
85
+ */
86
+ export const DEFAULT_CANARY_CONFIG = {
87
+ lambda: 0.2, // ~5 probes/day
88
+ minIntervalMs: 60 * 1000, // 1 minute minimum
89
+ categoryWeights: {
90
+ [CanaryCategory.FACTUAL]: 0.50, // 50% factual
91
+ [CanaryCategory.LOGICAL]: 0.20, // 20% logical
92
+ [CanaryCategory.ETHICAL]: 0.15, // 15% ethical
93
+ [CanaryCategory.BEHAVIORAL]: 0.10, // 10% behavioral
94
+ [CanaryCategory.CONSISTENCY]: 0.05, // 5% consistency
95
+ },
96
+ pauseDuringCooldown: false, // Continue probing during cooldown
97
+ maxConsecutiveFailures: 1, // Immediate circuit breaker
98
+ };
99
+ //# sourceMappingURL=canary-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canary-probe.js","sourceRoot":"","sources":["../../src/v2/canary-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,iEAAiE;IACjE,qCAAmB,CAAA;IACnB,0DAA0D;IAC1D,qCAAmB,CAAA;IACnB,0DAA0D;IAC1D,qCAAmB,CAAA;IACnB,kEAAkE;IAClE,2CAAyB,CAAA;IACzB,8DAA8D;IAC9D,6CAA2B,CAAA;AAC7B,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,iBAmCX;AAnCD,WAAY,iBAAiB;IAC3B,wBAAwB;IACxB,wDAAmC,CAAA;IACnC,gDAA2B,CAAA;IAC3B,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;IAErB,wBAAwB;IACxB,8CAAyB,CAAA;IACzB,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,kDAA6B,CAAA;IAE7B,wBAAwB;IACxB,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,8CAAyB,CAAA;IACzB,wDAAmC,CAAA;IAEnC,2BAA2B;IAC3B,0CAAqB,CAAA;IACrB,8DAAyC,CAAA;IACzC,0DAAqC,CAAA;IACrC,gDAA2B,CAAA;IAE3B,4BAA4B;IAC5B,kEAA6C,CAAA;IAC7C,8DAAyC,CAAA;AAC3C,CAAC,EAnCW,iBAAiB,KAAjB,iBAAiB,QAmC5B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB,4CAA4C;IAC5C,iCAAe,CAAA;IACf,+CAA+C;IAC/C,uCAAqB,CAAA;IACrB,0CAA0C;IAC1C,+CAA6B,CAAA;IAC7B,iCAAiC;IACjC,iCAAe,CAAA;IACf,iCAAiC;IACjC,uCAAqB,CAAA;IACrB,kCAAkC;IAClC,mCAAiB,CAAA;AACnB,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB;AAkFD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,MAAM,EAAE,GAAG,EAAE,gBAAgB;IAC7B,aAAa,EAAE,EAAE,GAAG,IAAI,EAAE,mBAAmB;IAC7C,eAAe,EAAE;QACf,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc;QAC9C,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc;QAC9C,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc;QAC9C,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,iBAAiB;QACpD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB;KACtD;IACD,mBAAmB,EAAE,KAAK,EAAE,mCAAmC;IAC/D,sBAAsB,EAAE,CAAC,EAAE,4BAA4B;CACxD,CAAC"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Component types - for the Vorion component registry
3
+ */
4
+ import type { ComponentStatus, ComponentType, ObservationTier } from './enums.js';
5
+ /**
6
+ * Component dependency
7
+ */
8
+ export interface Dependency {
9
+ /** Component ID of the dependency */
10
+ componentId: string;
11
+ /** Component name */
12
+ name: string;
13
+ /** Required version range (semver) */
14
+ versionRange: string;
15
+ /** Is this a required or optional dependency? */
16
+ required: boolean;
17
+ }
18
+ /**
19
+ * Component - a registered entity in the Vorion platform
20
+ */
21
+ export interface Component {
22
+ /** Unique component identifier */
23
+ componentId: string;
24
+ /** Component name */
25
+ name: string;
26
+ /** Type of component */
27
+ type: ComponentType;
28
+ /** Current version */
29
+ version: string;
30
+ /** Lifecycle status */
31
+ status: ComponentStatus;
32
+ /** Owner (person or team) */
33
+ owner: string;
34
+ /** Human-readable description */
35
+ description: string;
36
+ /** Source repository URL */
37
+ repository?: string;
38
+ /** Dependencies on other components */
39
+ dependencies: Dependency[];
40
+ /** Associated trust profile ID */
41
+ trustProfileId?: string;
42
+ /** Observation tier for this component */
43
+ observationTier?: ObservationTier;
44
+ /** Component capabilities/tags */
45
+ capabilities: string[];
46
+ /** Configuration schema (JSON Schema) */
47
+ configSchema?: Record<string, unknown>;
48
+ /** Lifecycle timestamps */
49
+ createdAt: Date;
50
+ updatedAt: Date;
51
+ retiredAt?: Date;
52
+ /** Additional metadata */
53
+ metadata?: Record<string, unknown>;
54
+ }
55
+ /**
56
+ * Component filter for queries
57
+ */
58
+ export interface ComponentFilter {
59
+ type?: ComponentType;
60
+ status?: ComponentStatus;
61
+ owner?: string;
62
+ name?: string;
63
+ capabilities?: string[];
64
+ limit?: number;
65
+ offset?: number;
66
+ }
67
+ /**
68
+ * Request to register a new component
69
+ */
70
+ export interface RegisterComponentRequest {
71
+ name: string;
72
+ type: ComponentType;
73
+ version: string;
74
+ owner: string;
75
+ description: string;
76
+ repository?: string;
77
+ dependencies?: Omit<Dependency, 'name'>[];
78
+ observationTier?: ObservationTier;
79
+ capabilities?: string[];
80
+ configSchema?: Record<string, unknown>;
81
+ metadata?: Record<string, unknown>;
82
+ }
83
+ /**
84
+ * Request to update a component
85
+ */
86
+ export interface UpdateComponentRequest {
87
+ version?: string;
88
+ status?: ComponentStatus;
89
+ description?: string;
90
+ repository?: string;
91
+ dependencies?: Omit<Dependency, 'name'>[];
92
+ observationTier?: ObservationTier;
93
+ capabilities?: string[];
94
+ configSchema?: Record<string, unknown>;
95
+ metadata?: Record<string, unknown>;
96
+ }
97
+ /**
98
+ * Component summary for listings
99
+ */
100
+ export interface ComponentSummary {
101
+ componentId: string;
102
+ name: string;
103
+ type: ComponentType;
104
+ version: string;
105
+ status: ComponentStatus;
106
+ owner: string;
107
+ observationTier?: ObservationTier;
108
+ createdAt: Date;
109
+ updatedAt: Date;
110
+ }
111
+ /**
112
+ * Dependency graph node
113
+ */
114
+ export interface DependencyGraphNode {
115
+ componentId: string;
116
+ name: string;
117
+ version: string;
118
+ dependsOn: string[];
119
+ dependedOnBy: string[];
120
+ depth: number;
121
+ }
122
+ /**
123
+ * Dependency graph
124
+ */
125
+ export interface DependencyGraph {
126
+ rootComponentId: string;
127
+ nodes: DependencyGraphNode[];
128
+ maxDepth: number;
129
+ totalDependencies: number;
130
+ cyclicDependencies: string[][];
131
+ }
132
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/v2/component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Component types - for the Vorion component registry
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/v2/component.ts"],"names":[],"mappings":"AAAA;;GAEG"}