@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.
- package/dist/aci/aci-string.d.ts +539 -0
- package/dist/aci/aci-string.d.ts.map +1 -0
- package/dist/aci/aci-string.js +563 -0
- package/dist/aci/aci-string.js.map +1 -0
- package/dist/aci/attestation.d.ts +648 -0
- package/dist/aci/attestation.d.ts.map +1 -0
- package/dist/aci/attestation.js +289 -0
- package/dist/aci/attestation.js.map +1 -0
- package/dist/aci/domains.d.ts +260 -0
- package/dist/aci/domains.d.ts.map +1 -0
- package/dist/aci/domains.js +322 -0
- package/dist/aci/domains.js.map +1 -0
- package/dist/aci/effective-permission.d.ts +371 -0
- package/dist/aci/effective-permission.d.ts.map +1 -0
- package/dist/aci/effective-permission.js +351 -0
- package/dist/aci/effective-permission.js.map +1 -0
- package/dist/aci/identity.d.ts +1100 -0
- package/dist/aci/identity.d.ts.map +1 -0
- package/dist/aci/identity.js +328 -0
- package/dist/aci/identity.js.map +1 -0
- package/dist/aci/index.d.ts +67 -0
- package/dist/aci/index.d.ts.map +1 -0
- package/dist/aci/index.js +157 -0
- package/dist/aci/index.js.map +1 -0
- package/dist/aci/jwt-claims.d.ts +756 -0
- package/dist/aci/jwt-claims.d.ts.map +1 -0
- package/dist/aci/jwt-claims.js +335 -0
- package/dist/aci/jwt-claims.js.map +1 -0
- package/dist/aci/levels.d.ts +279 -0
- package/dist/aci/levels.d.ts.map +1 -0
- package/dist/aci/levels.js +467 -0
- package/dist/aci/levels.js.map +1 -0
- package/dist/aci/mapping.d.ts +291 -0
- package/dist/aci/mapping.d.ts.map +1 -0
- package/dist/aci/mapping.js +427 -0
- package/dist/aci/mapping.js.map +1 -0
- package/dist/aci/skills.d.ts +314 -0
- package/dist/aci/skills.d.ts.map +1 -0
- package/dist/aci/skills.js +404 -0
- package/dist/aci/skills.js.map +1 -0
- package/dist/aci/tiers.d.ts +403 -0
- package/dist/aci/tiers.d.ts.map +1 -0
- package/dist/aci/tiers.js +659 -0
- package/dist/aci/tiers.js.map +1 -0
- package/dist/canonical/agent.d.ts +796 -0
- package/dist/canonical/agent.d.ts.map +1 -0
- package/dist/canonical/agent.js +527 -0
- package/dist/canonical/agent.js.map +1 -0
- package/dist/canonical/governance.d.ts +905 -0
- package/dist/canonical/governance.d.ts.map +1 -0
- package/dist/canonical/governance.js +454 -0
- package/dist/canonical/governance.js.map +1 -0
- package/dist/canonical/index.d.ts +17 -0
- package/dist/canonical/index.d.ts.map +1 -0
- package/dist/canonical/index.js +21 -0
- package/dist/canonical/index.js.map +1 -0
- package/dist/canonical/intent.d.ts +727 -0
- package/dist/canonical/intent.d.ts.map +1 -0
- package/dist/canonical/intent.js +203 -0
- package/dist/canonical/intent.js.map +1 -0
- package/dist/canonical/risk-level.d.ts +344 -0
- package/dist/canonical/risk-level.d.ts.map +1 -0
- package/dist/canonical/risk-level.js +472 -0
- package/dist/canonical/risk-level.js.map +1 -0
- package/dist/canonical/trust-band.d.ts +239 -0
- package/dist/canonical/trust-band.d.ts.map +1 -0
- package/dist/canonical/trust-band.js +298 -0
- package/dist/canonical/trust-band.js.map +1 -0
- package/dist/canonical/trust-score.d.ts +301 -0
- package/dist/canonical/trust-score.d.ts.map +1 -0
- package/dist/canonical/trust-score.js +390 -0
- package/dist/canonical/trust-score.js.map +1 -0
- package/dist/canonical/trust-signal.d.ts +617 -0
- package/dist/canonical/trust-signal.d.ts.map +1 -0
- package/dist/canonical/trust-signal.js +355 -0
- package/dist/canonical/trust-signal.js.map +1 -0
- package/dist/canonical/validation.d.ts +231 -0
- package/dist/canonical/validation.d.ts.map +1 -0
- package/dist/canonical/validation.js +558 -0
- package/dist/canonical/validation.js.map +1 -0
- package/dist/common/index.d.ts +7 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +7 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/primitives.d.ts +56 -0
- package/dist/common/primitives.d.ts.map +1 -0
- package/dist/common/primitives.js +70 -0
- package/dist/common/primitives.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/v2/canary-probe.d.ts +201 -0
- package/dist/v2/canary-probe.d.ts.map +1 -0
- package/dist/v2/canary-probe.js +99 -0
- package/dist/v2/canary-probe.js.map +1 -0
- package/dist/v2/component.d.ts +132 -0
- package/dist/v2/component.d.ts.map +1 -0
- package/dist/v2/component.js +5 -0
- package/dist/v2/component.js.map +1 -0
- package/dist/v2/decision.d.ts +310 -0
- package/dist/v2/decision.d.ts.map +1 -0
- package/dist/v2/decision.js +21 -0
- package/dist/v2/decision.js.map +1 -0
- package/dist/v2/enums.d.ts +185 -0
- package/dist/v2/enums.d.ts.map +1 -0
- package/dist/v2/enums.js +203 -0
- package/dist/v2/enums.js.map +1 -0
- package/dist/v2/evidence.d.ts +368 -0
- package/dist/v2/evidence.d.ts.map +1 -0
- package/dist/v2/evidence.js +152 -0
- package/dist/v2/evidence.js.map +1 -0
- package/dist/v2/execution.d.ts +190 -0
- package/dist/v2/execution.d.ts.map +1 -0
- package/dist/v2/execution.js +5 -0
- package/dist/v2/execution.js.map +1 -0
- package/dist/v2/index.d.ts +19 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/index.js +32 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/intent.d.ts +89 -0
- package/dist/v2/intent.d.ts.map +1 -0
- package/dist/v2/intent.js +5 -0
- package/dist/v2/intent.js.map +1 -0
- package/dist/v2/policy-bundle.d.ts +166 -0
- package/dist/v2/policy-bundle.d.ts.map +1 -0
- package/dist/v2/policy-bundle.js +20 -0
- package/dist/v2/policy-bundle.js.map +1 -0
- package/dist/v2/pre-action-gate.d.ts +185 -0
- package/dist/v2/pre-action-gate.d.ts.map +1 -0
- package/dist/v2/pre-action-gate.js +64 -0
- package/dist/v2/pre-action-gate.js.map +1 -0
- package/dist/v2/proof-event.d.ts +201 -0
- package/dist/v2/proof-event.d.ts.map +1 -0
- package/dist/v2/proof-event.js +5 -0
- package/dist/v2/proof-event.js.map +1 -0
- package/dist/v2/retention.d.ts +329 -0
- package/dist/v2/retention.d.ts.map +1 -0
- package/dist/v2/retention.js +162 -0
- package/dist/v2/retention.js.map +1 -0
- package/dist/v2/trust-delta.d.ts +119 -0
- package/dist/v2/trust-delta.d.ts.map +1 -0
- package/dist/v2/trust-delta.js +28 -0
- package/dist/v2/trust-delta.js.map +1 -0
- package/dist/v2/trust-profile.d.ts +337 -0
- package/dist/v2/trust-profile.d.ts.map +1 -0
- package/dist/v2/trust-profile.js +96 -0
- package/dist/v2/trust-profile.js.map +1 -0
- package/dist/validators/decision.d.ts +430 -0
- package/dist/validators/decision.d.ts.map +1 -0
- package/dist/validators/decision.js +61 -0
- package/dist/validators/decision.js.map +1 -0
- package/dist/validators/enums.d.ts +24 -0
- package/dist/validators/enums.d.ts.map +1 -0
- package/dist/validators/enums.js +24 -0
- package/dist/validators/enums.js.map +1 -0
- package/dist/validators/index.d.ts +30 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/dist/validators/index.js +42 -0
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/intent.d.ts +229 -0
- package/dist/validators/intent.d.ts.map +1 -0
- package/dist/validators/intent.js +47 -0
- package/dist/validators/intent.js.map +1 -0
- package/dist/validators/proof-event.d.ts +981 -0
- package/dist/validators/proof-event.d.ts.map +1 -0
- package/dist/validators/proof-event.js +134 -0
- package/dist/validators/proof-event.js.map +1 -0
- package/dist/validators/trust-profile.d.ts +350 -0
- package/dist/validators/trust-profile.d.ts.map +1 -0
- package/dist/validators/trust-profile.js +65 -0
- package/dist/validators/trust-profile.js.map +1 -0
- 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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/v2/component.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|