@vorionsys/atsf-core 0.1.0 → 0.2.1

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 (215) hide show
  1. package/README.md +12 -12
  2. package/dist/api/server.d.ts.map +1 -1
  3. package/dist/api/server.js +463 -35
  4. package/dist/api/server.js.map +1 -1
  5. package/dist/arbitration/index.d.ts.map +1 -1
  6. package/dist/arbitration/index.js +8 -6
  7. package/dist/arbitration/index.js.map +1 -1
  8. package/dist/audit/key-manager.d.ts +118 -0
  9. package/dist/audit/key-manager.d.ts.map +1 -0
  10. package/dist/audit/key-manager.js +565 -0
  11. package/dist/audit/key-manager.js.map +1 -0
  12. package/dist/basis/evaluator.d.ts +31 -0
  13. package/dist/basis/evaluator.d.ts.map +1 -1
  14. package/dist/basis/evaluator.js +205 -10
  15. package/dist/basis/evaluator.js.map +1 -1
  16. package/dist/basis/parser.d.ts +210 -210
  17. package/dist/basis/parser.js.map +1 -1
  18. package/dist/carbon-aware/carbon-metrics.d.ts +151 -0
  19. package/dist/carbon-aware/carbon-metrics.d.ts.map +1 -0
  20. package/dist/carbon-aware/carbon-metrics.js +370 -0
  21. package/dist/carbon-aware/carbon-metrics.js.map +1 -0
  22. package/dist/carbon-aware/carbon-router.d.ts +101 -0
  23. package/dist/carbon-aware/carbon-router.d.ts.map +1 -0
  24. package/dist/carbon-aware/carbon-router.js +400 -0
  25. package/dist/carbon-aware/carbon-router.js.map +1 -0
  26. package/dist/chain/index.d.ts +147 -0
  27. package/dist/chain/index.d.ts.map +1 -0
  28. package/dist/chain/index.js +219 -0
  29. package/dist/chain/index.js.map +1 -0
  30. package/dist/cognigate/index.d.ts +33 -4
  31. package/dist/cognigate/index.d.ts.map +1 -1
  32. package/dist/cognigate/index.js +199 -24
  33. package/dist/cognigate/index.js.map +1 -1
  34. package/dist/common/adapters.d.ts +172 -0
  35. package/dist/common/adapters.d.ts.map +1 -0
  36. package/dist/common/adapters.js +329 -0
  37. package/dist/common/adapters.js.map +1 -0
  38. package/dist/common/config.d.ts +168 -163
  39. package/dist/common/config.d.ts.map +1 -1
  40. package/dist/common/config.js +2 -0
  41. package/dist/common/config.js.map +1 -1
  42. package/dist/common/index.d.ts +1 -0
  43. package/dist/common/index.d.ts.map +1 -1
  44. package/dist/common/index.js +1 -0
  45. package/dist/common/index.js.map +1 -1
  46. package/dist/common/types.d.ts +67 -16
  47. package/dist/common/types.d.ts.map +1 -1
  48. package/dist/common/types.js +4 -0
  49. package/dist/common/types.js.map +1 -1
  50. package/dist/enforce/index.d.ts +226 -16
  51. package/dist/enforce/index.d.ts.map +1 -1
  52. package/dist/enforce/index.js +196 -49
  53. package/dist/enforce/index.js.map +1 -1
  54. package/dist/governance/fluid-workflow.d.ts +217 -0
  55. package/dist/governance/fluid-workflow.d.ts.map +1 -0
  56. package/dist/governance/fluid-workflow.js +491 -0
  57. package/dist/governance/fluid-workflow.js.map +1 -0
  58. package/dist/governance/index.d.ts +1 -0
  59. package/dist/governance/index.d.ts.map +1 -1
  60. package/dist/governance/index.js +1 -0
  61. package/dist/governance/index.js.map +1 -1
  62. package/dist/index.d.ts +9 -3
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +14 -3
  65. package/dist/index.js.map +1 -1
  66. package/dist/intent/index.d.ts +127 -10
  67. package/dist/intent/index.d.ts.map +1 -1
  68. package/dist/intent/index.js +121 -16
  69. package/dist/intent/index.js.map +1 -1
  70. package/dist/langchain/executor.d.ts +19 -5
  71. package/dist/langchain/executor.d.ts.map +1 -1
  72. package/dist/langchain/executor.js +287 -36
  73. package/dist/langchain/executor.js.map +1 -1
  74. package/dist/langchain/index.d.ts +2 -1
  75. package/dist/langchain/index.d.ts.map +1 -1
  76. package/dist/langchain/index.js +3 -1
  77. package/dist/langchain/index.js.map +1 -1
  78. package/dist/langchain/tools.d.ts.map +1 -1
  79. package/dist/langchain/tools.js +2 -1
  80. package/dist/langchain/tools.js.map +1 -1
  81. package/dist/langchain/types.d.ts +41 -0
  82. package/dist/langchain/types.d.ts.map +1 -1
  83. package/dist/layers/index.d.ts +1 -1
  84. package/dist/layers/index.d.ts.map +1 -1
  85. package/dist/persistence/file.d.ts +35 -3
  86. package/dist/persistence/file.d.ts.map +1 -1
  87. package/dist/persistence/file.js +138 -11
  88. package/dist/persistence/file.js.map +1 -1
  89. package/dist/persistence/index.d.ts +11 -1
  90. package/dist/persistence/index.d.ts.map +1 -1
  91. package/dist/persistence/index.js +25 -1
  92. package/dist/persistence/index.js.map +1 -1
  93. package/dist/persistence/sqlite.d.ts +135 -0
  94. package/dist/persistence/sqlite.d.ts.map +1 -0
  95. package/dist/persistence/sqlite.js +372 -0
  96. package/dist/persistence/sqlite.js.map +1 -0
  97. package/dist/persistence/supabase.d.ts +93 -0
  98. package/dist/persistence/supabase.d.ts.map +1 -0
  99. package/dist/persistence/supabase.js +219 -0
  100. package/dist/persistence/supabase.js.map +1 -0
  101. package/dist/persistence/types.d.ts +5 -1
  102. package/dist/persistence/types.d.ts.map +1 -1
  103. package/dist/phase6/ceiling.d.ts +177 -0
  104. package/dist/phase6/ceiling.d.ts.map +1 -0
  105. package/dist/phase6/ceiling.js +463 -0
  106. package/dist/phase6/ceiling.js.map +1 -0
  107. package/dist/phase6/context.d.ts +207 -0
  108. package/dist/phase6/context.d.ts.map +1 -0
  109. package/dist/phase6/context.js +603 -0
  110. package/dist/phase6/context.js.map +1 -0
  111. package/dist/phase6/index.d.ts +79 -0
  112. package/dist/phase6/index.d.ts.map +1 -0
  113. package/dist/phase6/index.js +152 -0
  114. package/dist/phase6/index.js.map +1 -0
  115. package/dist/phase6/presets.d.ts +148 -0
  116. package/dist/phase6/presets.d.ts.map +1 -0
  117. package/dist/phase6/presets.js +467 -0
  118. package/dist/phase6/presets.js.map +1 -0
  119. package/dist/phase6/provenance.d.ts +148 -0
  120. package/dist/phase6/provenance.d.ts.map +1 -0
  121. package/dist/phase6/provenance.js +545 -0
  122. package/dist/phase6/provenance.js.map +1 -0
  123. package/dist/phase6/role-gates/index.d.ts +7 -0
  124. package/dist/phase6/role-gates/index.d.ts.map +1 -0
  125. package/dist/phase6/role-gates/index.js +7 -0
  126. package/dist/phase6/role-gates/index.js.map +1 -0
  127. package/dist/phase6/role-gates/kernel.d.ts +84 -0
  128. package/dist/phase6/role-gates/kernel.d.ts.map +1 -0
  129. package/dist/phase6/role-gates/kernel.js +258 -0
  130. package/dist/phase6/role-gates/kernel.js.map +1 -0
  131. package/dist/phase6/role-gates/policy.d.ts +110 -0
  132. package/dist/phase6/role-gates/policy.d.ts.map +1 -0
  133. package/dist/phase6/role-gates/policy.js +157 -0
  134. package/dist/phase6/role-gates/policy.js.map +1 -0
  135. package/dist/phase6/role-gates.d.ts +164 -0
  136. package/dist/phase6/role-gates.d.ts.map +1 -0
  137. package/dist/phase6/role-gates.js +536 -0
  138. package/dist/phase6/role-gates.js.map +1 -0
  139. package/dist/phase6/types.d.ts +1827 -0
  140. package/dist/phase6/types.d.ts.map +1 -0
  141. package/dist/phase6/types.js +450 -0
  142. package/dist/phase6/types.js.map +1 -0
  143. package/dist/phase6/weight-presets/canonical.d.ts +93 -0
  144. package/dist/phase6/weight-presets/canonical.d.ts.map +1 -0
  145. package/dist/phase6/weight-presets/canonical.js +122 -0
  146. package/dist/phase6/weight-presets/canonical.js.map +1 -0
  147. package/dist/phase6/weight-presets/deltas.d.ts +144 -0
  148. package/dist/phase6/weight-presets/deltas.d.ts.map +1 -0
  149. package/dist/phase6/weight-presets/deltas.js +184 -0
  150. package/dist/phase6/weight-presets/deltas.js.map +1 -0
  151. package/dist/phase6/weight-presets/index.d.ts +8 -0
  152. package/dist/phase6/weight-presets/index.d.ts.map +1 -0
  153. package/dist/phase6/weight-presets/index.js +8 -0
  154. package/dist/phase6/weight-presets/index.js.map +1 -0
  155. package/dist/phase6/weight-presets/merger.d.ts +79 -0
  156. package/dist/phase6/weight-presets/merger.d.ts.map +1 -0
  157. package/dist/phase6/weight-presets/merger.js +161 -0
  158. package/dist/phase6/weight-presets/merger.js.map +1 -0
  159. package/dist/proof/index.d.ts +50 -1
  160. package/dist/proof/index.d.ts.map +1 -1
  161. package/dist/proof/index.js +122 -3
  162. package/dist/proof/index.js.map +1 -1
  163. package/dist/proof/merkle.d.ts +195 -0
  164. package/dist/proof/merkle.d.ts.map +1 -0
  165. package/dist/proof/merkle.js +412 -0
  166. package/dist/proof/merkle.js.map +1 -0
  167. package/dist/proof/zk-proofs.d.ts +218 -0
  168. package/dist/proof/zk-proofs.d.ts.map +1 -0
  169. package/dist/proof/zk-proofs.js +531 -0
  170. package/dist/proof/zk-proofs.js.map +1 -0
  171. package/dist/trust-engine/ceiling-enforcement/audit.d.ts +98 -0
  172. package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -0
  173. package/dist/trust-engine/ceiling-enforcement/audit.js +160 -0
  174. package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -0
  175. package/dist/trust-engine/ceiling-enforcement/index.d.ts +6 -0
  176. package/dist/trust-engine/ceiling-enforcement/index.d.ts.map +1 -0
  177. package/dist/trust-engine/ceiling-enforcement/index.js +6 -0
  178. package/dist/trust-engine/ceiling-enforcement/index.js.map +1 -0
  179. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +112 -0
  180. package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -0
  181. package/dist/trust-engine/ceiling-enforcement/kernel.js +158 -0
  182. package/dist/trust-engine/ceiling-enforcement/kernel.js.map +1 -0
  183. package/dist/trust-engine/context-policy/enforcement.d.ts +62 -0
  184. package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -0
  185. package/dist/trust-engine/context-policy/enforcement.js +104 -0
  186. package/dist/trust-engine/context-policy/enforcement.js.map +1 -0
  187. package/dist/trust-engine/context-policy/factory.d.ts +75 -0
  188. package/dist/trust-engine/context-policy/factory.d.ts.map +1 -0
  189. package/dist/trust-engine/context-policy/factory.js +130 -0
  190. package/dist/trust-engine/context-policy/factory.js.map +1 -0
  191. package/dist/trust-engine/context-policy/index.d.ts +6 -0
  192. package/dist/trust-engine/context-policy/index.d.ts.map +1 -0
  193. package/dist/trust-engine/context-policy/index.js +6 -0
  194. package/dist/trust-engine/context-policy/index.js.map +1 -0
  195. package/dist/trust-engine/creation-modifiers/index.d.ts +5 -0
  196. package/dist/trust-engine/creation-modifiers/index.d.ts.map +1 -0
  197. package/dist/trust-engine/creation-modifiers/index.js +5 -0
  198. package/dist/trust-engine/creation-modifiers/index.js.map +1 -0
  199. package/dist/trust-engine/creation-modifiers/types.d.ts +112 -0
  200. package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -0
  201. package/dist/trust-engine/creation-modifiers/types.js +166 -0
  202. package/dist/trust-engine/creation-modifiers/types.js.map +1 -0
  203. package/dist/trust-engine/decay-profiles.d.ts +159 -0
  204. package/dist/trust-engine/decay-profiles.d.ts.map +1 -0
  205. package/dist/trust-engine/decay-profiles.js +210 -0
  206. package/dist/trust-engine/decay-profiles.js.map +1 -0
  207. package/dist/trust-engine/index.d.ts +144 -5
  208. package/dist/trust-engine/index.d.ts.map +1 -1
  209. package/dist/trust-engine/index.js +320 -15
  210. package/dist/trust-engine/index.js.map +1 -1
  211. package/dist/trust-engine/phase6-types.d.ts +123 -0
  212. package/dist/trust-engine/phase6-types.d.ts.map +1 -0
  213. package/dist/trust-engine/phase6-types.js +88 -0
  214. package/dist/trust-engine/phase6-types.js.map +1 -0
  215. package/package.json +26 -10
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Type Adapters for Legacy to Canonical Conversion
3
+ *
4
+ * Provides adapter functions to convert between legacy atsf-core types
5
+ * and canonical types from @vorionsys/contracts for backwards compatibility.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { TrustBand, TrustDimensions, RiskProfile } from '@vorionsys/contracts';
10
+ import type { ID, Timestamp, TrustLevel, TrustComponents, IntentStatus, RiskLevel } from './types.js';
11
+ /**
12
+ * Legacy intent structure used in older atsf-core code
13
+ */
14
+ export interface LegacyIntent {
15
+ id: ID;
16
+ entityId: ID;
17
+ goal: string;
18
+ context: Record<string, unknown>;
19
+ metadata: Record<string, unknown>;
20
+ status: IntentStatus;
21
+ createdAt: Timestamp;
22
+ updatedAt: Timestamp;
23
+ }
24
+ /**
25
+ * Legacy trust signal structure
26
+ */
27
+ export interface LegacySignal {
28
+ id: ID;
29
+ entityId: ID;
30
+ type: string;
31
+ value: number;
32
+ source?: string;
33
+ timestamp: Timestamp;
34
+ metadata?: Record<string, unknown>;
35
+ }
36
+ /**
37
+ * Canonical intent structure from @vorionsys/contracts
38
+ */
39
+ export interface CanonicalIntent {
40
+ intentId: string;
41
+ agentId: string;
42
+ correlationId: string;
43
+ action: string;
44
+ actionType: string;
45
+ resourceScope: string[];
46
+ dataSensitivity: string;
47
+ reversibility: string;
48
+ context: Record<string, unknown>;
49
+ createdAt: Date;
50
+ expiresAt?: Date;
51
+ source?: string;
52
+ }
53
+ /**
54
+ * Canonical trust signal (TrustEvidence) from @vorionsys/contracts
55
+ */
56
+ export interface CanonicalTrustSignal {
57
+ evidenceId: string;
58
+ dimension: keyof TrustDimensions;
59
+ impact: number;
60
+ source: string;
61
+ collectedAt: Date;
62
+ expiresAt?: Date;
63
+ metadata?: Record<string, unknown>;
64
+ }
65
+ /**
66
+ * Adapts a legacy numeric trust level (0-7) to canonical TrustBand enum
67
+ *
68
+ * @param level - Legacy trust level (0-7)
69
+ * @returns Canonical TrustBand value
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * const band = adaptLegacyTrustLevel(3);
74
+ * // Returns TrustBand.T3_MONITORED (value: 3)
75
+ * ```
76
+ */
77
+ export declare function adaptLegacyTrustLevel(level: TrustLevel | number): TrustBand;
78
+ /**
79
+ * Adapts a canonical TrustBand to legacy numeric trust level
80
+ *
81
+ * @param band - Canonical TrustBand enum value
82
+ * @returns Legacy trust level (0-5)
83
+ */
84
+ export declare function adaptTrustBandToLevel(band: TrustBand): TrustLevel;
85
+ /**
86
+ * Converts a trust score (0-100 or 0-1000) to canonical TrustBand (8-tier model)
87
+ *
88
+ * @param score - Trust score (auto-detects 0-100 vs 0-1000 scale)
89
+ * @returns Canonical TrustBand value
90
+ */
91
+ export declare function adaptScoreToTrustBand(score: number): TrustBand;
92
+ /**
93
+ * Adapts a legacy Intent to canonical Intent structure
94
+ *
95
+ * @param intent - Legacy intent from atsf-core
96
+ * @returns Canonical intent compatible with @vorionsys/contracts
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * const legacyIntent: LegacyIntent = { id: '123', entityId: 'agent-1', ... };
101
+ * const canonical = adaptLegacyIntent(legacyIntent);
102
+ * ```
103
+ */
104
+ export declare function adaptLegacyIntent(intent: LegacyIntent): CanonicalIntent;
105
+ /**
106
+ * Adapts a canonical Intent back to legacy Intent structure
107
+ *
108
+ * @param intent - Canonical intent from @vorionsys/contracts
109
+ * @returns Legacy intent compatible with atsf-core
110
+ */
111
+ export declare function adaptCanonicalIntent(intent: CanonicalIntent): LegacyIntent;
112
+ /**
113
+ * Adapts a legacy TrustSignal to canonical TrustEvidence
114
+ *
115
+ * @param signal - Legacy trust signal from atsf-core
116
+ * @returns Canonical TrustEvidence compatible with @vorionsys/contracts
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * const legacySignal: LegacySignal = { id: '123', type: 'behavioral', value: 0.8, ... };
121
+ * const evidence = adaptLegacyTrustSignal(legacySignal);
122
+ * ```
123
+ */
124
+ export declare function adaptLegacyTrustSignal(signal: LegacySignal): CanonicalTrustSignal;
125
+ /**
126
+ * Adapts canonical TrustEvidence back to legacy TrustSignal
127
+ *
128
+ * @param evidence - Canonical TrustEvidence from @vorionsys/contracts
129
+ * @param entityId - Entity ID to associate with the signal
130
+ * @returns Legacy TrustSignal compatible with atsf-core
131
+ */
132
+ export declare function adaptCanonicalTrustSignal(evidence: CanonicalTrustSignal, entityId: ID): LegacySignal;
133
+ /**
134
+ * Maps numeric risk values to RiskLevel
135
+ */
136
+ export declare function adaptRiskLevelFromNumber(n: number): RiskLevel;
137
+ /**
138
+ * Maps RiskLevel to numeric value
139
+ */
140
+ export declare function adaptRiskLevelToNumber(level: RiskLevel): number;
141
+ /**
142
+ * Maps legacy RiskLevel to canonical RiskProfile
143
+ *
144
+ * @param level - Legacy risk level
145
+ * @returns Canonical RiskProfile value
146
+ */
147
+ export declare function adaptRiskLevelToProfile(level: RiskLevel): RiskProfile;
148
+ /**
149
+ * Adapts legacy 4-dimension TrustComponents to canonical 5-dimension TrustDimensions
150
+ *
151
+ * @param components - Legacy TrustComponents (behavioral, compliance, identity, context)
152
+ * @returns Canonical TrustDimensions (CT, BT, GT, XT, AC)
153
+ */
154
+ export declare function adaptLegacyTrustComponents(components: TrustComponents): TrustDimensions;
155
+ /**
156
+ * Adapts canonical 5-dimension TrustDimensions to legacy 4-dimension TrustComponents
157
+ *
158
+ * @param dimensions - Canonical TrustDimensions (CT, BT, GT, XT, AC)
159
+ * @returns Legacy TrustComponents (behavioral, compliance, identity, context)
160
+ */
161
+ export declare function adaptCanonicalTrustDimensions(dimensions: TrustDimensions): TrustComponents;
162
+ /**
163
+ * Batch adapt multiple legacy intents
164
+ */
165
+ export declare function adaptLegacyIntents(intents: LegacyIntent[]): CanonicalIntent[];
166
+ /**
167
+ * Batch adapt multiple legacy signals
168
+ */
169
+ export declare function adaptLegacyTrustSignals(signals: LegacySignal[]): CanonicalTrustSignal[];
170
+ export type { TrustBand, TrustDimensions, TrustEvidence, RiskProfile, } from '@vorionsys/contracts';
171
+ export type { TrustLevel, TrustScore, TrustSignal, TrustComponents, Intent, IntentStatus, RiskLevel, } from './types.js';
172
+ //# sourceMappingURL=adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/common/adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,329 @@
1
+ /**
2
+ * Type Adapters for Legacy to Canonical Conversion
3
+ *
4
+ * Provides adapter functions to convert between legacy atsf-core types
5
+ * and canonical types from @vorionsys/contracts for backwards compatibility.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ // ============================================================================
10
+ // Trust Level / Trust Band Adapters
11
+ // ============================================================================
12
+ /**
13
+ * Trust band thresholds for score-to-band mapping (0-1000 scale)
14
+ * Aligned with canonical DEFAULT_BAND_THRESHOLDS from @vorionsys/contracts (8-tier model)
15
+ */
16
+ const TRUST_BAND_THRESHOLDS = {
17
+ T0: { min: 0, max: 199 },
18
+ T1: { min: 200, max: 349 },
19
+ T2: { min: 350, max: 499 },
20
+ T3: { min: 500, max: 649 },
21
+ T4: { min: 650, max: 799 },
22
+ T5: { min: 800, max: 875 },
23
+ T6: { min: 876, max: 950 },
24
+ T7: { min: 951, max: 1000 },
25
+ };
26
+ /**
27
+ * Adapts a legacy numeric trust level (0-7) to canonical TrustBand enum
28
+ *
29
+ * @param level - Legacy trust level (0-7)
30
+ * @returns Canonical TrustBand value
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const band = adaptLegacyTrustLevel(3);
35
+ * // Returns TrustBand.T3_MONITORED (value: 3)
36
+ * ```
37
+ */
38
+ export function adaptLegacyTrustLevel(level) {
39
+ // TrustBand enum values are 0-7, same as legacy TrustLevel
40
+ const clampedLevel = Math.max(0, Math.min(7, Math.floor(level)));
41
+ return clampedLevel;
42
+ }
43
+ /**
44
+ * Adapts a canonical TrustBand to legacy numeric trust level
45
+ *
46
+ * @param band - Canonical TrustBand enum value
47
+ * @returns Legacy trust level (0-5)
48
+ */
49
+ export function adaptTrustBandToLevel(band) {
50
+ return band;
51
+ }
52
+ /**
53
+ * Converts a trust score (0-100 or 0-1000) to canonical TrustBand (8-tier model)
54
+ *
55
+ * @param score - Trust score (auto-detects 0-100 vs 0-1000 scale)
56
+ * @returns Canonical TrustBand value
57
+ */
58
+ export function adaptScoreToTrustBand(score) {
59
+ // Normalize to 0-1000 scale if score appears to be on 0-100 scale
60
+ const normalizedScore = score <= 100 ? score * 10 : score;
61
+ const clampedScore = Math.max(0, Math.min(1000, normalizedScore));
62
+ if (clampedScore <= TRUST_BAND_THRESHOLDS.T0.max)
63
+ return 0;
64
+ if (clampedScore <= TRUST_BAND_THRESHOLDS.T1.max)
65
+ return 1;
66
+ if (clampedScore <= TRUST_BAND_THRESHOLDS.T2.max)
67
+ return 2;
68
+ if (clampedScore <= TRUST_BAND_THRESHOLDS.T3.max)
69
+ return 3;
70
+ if (clampedScore <= TRUST_BAND_THRESHOLDS.T4.max)
71
+ return 4;
72
+ if (clampedScore <= TRUST_BAND_THRESHOLDS.T5.max)
73
+ return 5;
74
+ if (clampedScore <= TRUST_BAND_THRESHOLDS.T6.max)
75
+ return 6;
76
+ return 7;
77
+ }
78
+ // ============================================================================
79
+ // Intent Adapters
80
+ // ============================================================================
81
+ /**
82
+ * Adapts a legacy Intent to canonical Intent structure
83
+ *
84
+ * @param intent - Legacy intent from atsf-core
85
+ * @returns Canonical intent compatible with @vorionsys/contracts
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * const legacyIntent: LegacyIntent = { id: '123', entityId: 'agent-1', ... };
90
+ * const canonical = adaptLegacyIntent(legacyIntent);
91
+ * ```
92
+ */
93
+ export function adaptLegacyIntent(intent) {
94
+ return {
95
+ intentId: intent.id,
96
+ agentId: intent.entityId,
97
+ correlationId: intent.metadata?.correlationId ?? intent.id,
98
+ action: intent.goal,
99
+ actionType: intent.context?.actionType ?? 'execute',
100
+ resourceScope: intent.context?.resources ?? [],
101
+ dataSensitivity: intent.context?.dataSensitivity ?? 'INTERNAL',
102
+ reversibility: intent.context?.reversibility ?? 'REVERSIBLE',
103
+ context: {
104
+ ...intent.context,
105
+ metadata: intent.metadata,
106
+ legacyStatus: intent.status,
107
+ },
108
+ createdAt: new Date(intent.createdAt),
109
+ expiresAt: intent.metadata?.expiresAt
110
+ ? new Date(intent.metadata.expiresAt)
111
+ : undefined,
112
+ source: intent.metadata?.source ?? 'atsf-core-legacy',
113
+ };
114
+ }
115
+ /**
116
+ * Adapts a canonical Intent back to legacy Intent structure
117
+ *
118
+ * @param intent - Canonical intent from @vorionsys/contracts
119
+ * @returns Legacy intent compatible with atsf-core
120
+ */
121
+ export function adaptCanonicalIntent(intent) {
122
+ return {
123
+ id: intent.intentId,
124
+ entityId: intent.agentId,
125
+ goal: intent.action,
126
+ context: {
127
+ actionType: intent.actionType,
128
+ resources: intent.resourceScope,
129
+ dataSensitivity: intent.dataSensitivity,
130
+ reversibility: intent.reversibility,
131
+ ...intent.context,
132
+ },
133
+ metadata: {
134
+ correlationId: intent.correlationId,
135
+ source: intent.source,
136
+ ...(intent.context.metadata ?? {}),
137
+ },
138
+ status: intent.context.legacyStatus ?? 'pending',
139
+ createdAt: intent.createdAt.toISOString(),
140
+ updatedAt: new Date().toISOString(),
141
+ };
142
+ }
143
+ // ============================================================================
144
+ // Trust Signal / Evidence Adapters
145
+ // ============================================================================
146
+ /**
147
+ * Maps legacy signal types to canonical trust dimensions
148
+ */
149
+ const SIGNAL_TYPE_TO_DIMENSION = {
150
+ // Behavioral signals -> BT
151
+ 'behavioral': 'BT',
152
+ 'behavioral.task_completed': 'BT',
153
+ 'behavioral.task_failed': 'BT',
154
+ 'behavioral.api_success': 'BT',
155
+ 'behavioral.api_error': 'BT',
156
+ 'action': 'BT',
157
+ 'error': 'BT',
158
+ // Compliance/Governance signals -> GT
159
+ 'compliance': 'GT',
160
+ 'credential': 'GT',
161
+ 'policy': 'GT',
162
+ 'governance': 'GT',
163
+ // Identity/Capability signals -> CT
164
+ 'identity': 'CT',
165
+ 'capability': 'CT',
166
+ 'skill': 'CT',
167
+ // Context signals -> XT
168
+ 'context': 'XT',
169
+ 'environment': 'XT',
170
+ 'temporal': 'XT',
171
+ // Assurance signals -> AC
172
+ 'assurance': 'AC',
173
+ 'verification': 'AC',
174
+ 'audit': 'AC',
175
+ };
176
+ /**
177
+ * Adapts a legacy TrustSignal to canonical TrustEvidence
178
+ *
179
+ * @param signal - Legacy trust signal from atsf-core
180
+ * @returns Canonical TrustEvidence compatible with @vorionsys/contracts
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * const legacySignal: LegacySignal = { id: '123', type: 'behavioral', value: 0.8, ... };
185
+ * const evidence = adaptLegacyTrustSignal(legacySignal);
186
+ * ```
187
+ */
188
+ export function adaptLegacyTrustSignal(signal) {
189
+ // Determine dimension from signal type
190
+ const signalTypeKey = signal.type.toLowerCase();
191
+ const basePart = signalTypeKey.split('.')[0] ?? signalTypeKey;
192
+ const dimension = SIGNAL_TYPE_TO_DIMENSION[signalTypeKey]
193
+ ?? SIGNAL_TYPE_TO_DIMENSION[basePart]
194
+ ?? 'BT'; // Default to Behavioral Trust
195
+ // Convert value to impact (-100 to +100 scale)
196
+ // Legacy values are typically 0-1 or 0-100
197
+ let impact;
198
+ if (signal.value >= -1 && signal.value <= 1) {
199
+ // 0-1 scale, convert to -100 to +100
200
+ impact = (signal.value - 0.5) * 200;
201
+ }
202
+ else if (signal.value >= -100 && signal.value <= 100) {
203
+ // Already in correct range
204
+ impact = signal.value;
205
+ }
206
+ else {
207
+ // 0-100 scale, convert to -100 to +100
208
+ impact = (signal.value - 50) * 2;
209
+ }
210
+ return {
211
+ evidenceId: signal.id,
212
+ dimension,
213
+ impact: Math.max(-100, Math.min(100, impact)),
214
+ source: signal.source ?? 'atsf-core-legacy',
215
+ collectedAt: new Date(signal.timestamp),
216
+ metadata: signal.metadata,
217
+ };
218
+ }
219
+ /**
220
+ * Adapts canonical TrustEvidence back to legacy TrustSignal
221
+ *
222
+ * @param evidence - Canonical TrustEvidence from @vorionsys/contracts
223
+ * @param entityId - Entity ID to associate with the signal
224
+ * @returns Legacy TrustSignal compatible with atsf-core
225
+ */
226
+ export function adaptCanonicalTrustSignal(evidence, entityId) {
227
+ // Convert impact back to 0-1 value scale
228
+ const value = (evidence.impact + 100) / 200;
229
+ return {
230
+ id: evidence.evidenceId,
231
+ entityId,
232
+ type: `${evidence.dimension.toLowerCase()}.evidence`,
233
+ value: Math.max(0, Math.min(1, value)),
234
+ source: evidence.source,
235
+ timestamp: evidence.collectedAt.toISOString(),
236
+ metadata: evidence.metadata,
237
+ };
238
+ }
239
+ // ============================================================================
240
+ // Risk Level Adapters
241
+ // ============================================================================
242
+ /**
243
+ * Maps numeric risk values to RiskLevel
244
+ */
245
+ export function adaptRiskLevelFromNumber(n) {
246
+ if (n <= 0.25)
247
+ return 'low';
248
+ if (n <= 0.5)
249
+ return 'medium';
250
+ if (n <= 0.75)
251
+ return 'high';
252
+ return 'critical';
253
+ }
254
+ /**
255
+ * Maps RiskLevel to numeric value
256
+ */
257
+ export function adaptRiskLevelToNumber(level) {
258
+ switch (level) {
259
+ case 'low': return 0.125;
260
+ case 'medium': return 0.375;
261
+ case 'high': return 0.625;
262
+ case 'critical': return 0.875;
263
+ default: return 0.5;
264
+ }
265
+ }
266
+ /**
267
+ * Maps legacy RiskLevel to canonical RiskProfile
268
+ *
269
+ * @param level - Legacy risk level
270
+ * @returns Canonical RiskProfile value
271
+ */
272
+ export function adaptRiskLevelToProfile(level) {
273
+ switch (level) {
274
+ case 'low': return 'IMMEDIATE';
275
+ case 'medium': return 'SHORT_TERM';
276
+ case 'high': return 'MEDIUM_TERM';
277
+ case 'critical': return 'LONG_TERM';
278
+ default: return 'SHORT_TERM';
279
+ }
280
+ }
281
+ // ============================================================================
282
+ // Trust Components / Dimensions Adapters
283
+ // ============================================================================
284
+ /**
285
+ * Adapts legacy 4-dimension TrustComponents to canonical 5-dimension TrustDimensions
286
+ *
287
+ * @param components - Legacy TrustComponents (behavioral, compliance, identity, context)
288
+ * @returns Canonical TrustDimensions (CT, BT, GT, XT, AC)
289
+ */
290
+ export function adaptLegacyTrustComponents(components) {
291
+ return {
292
+ CT: components.identity, // Capability Trust <- identity
293
+ BT: components.behavioral, // Behavioral Trust <- behavioral
294
+ GT: components.compliance, // Governance Trust <- compliance
295
+ XT: components.context, // Contextual Trust <- context
296
+ AC: 50, // Assurance Confidence - default neutral (no legacy equivalent)
297
+ };
298
+ }
299
+ /**
300
+ * Adapts canonical 5-dimension TrustDimensions to legacy 4-dimension TrustComponents
301
+ *
302
+ * @param dimensions - Canonical TrustDimensions (CT, BT, GT, XT, AC)
303
+ * @returns Legacy TrustComponents (behavioral, compliance, identity, context)
304
+ */
305
+ export function adaptCanonicalTrustDimensions(dimensions) {
306
+ return {
307
+ behavioral: dimensions.BT,
308
+ compliance: dimensions.GT,
309
+ identity: dimensions.CT,
310
+ context: dimensions.XT,
311
+ // AC (Assurance Confidence) is lost in conversion
312
+ };
313
+ }
314
+ // ============================================================================
315
+ // Batch Adapters
316
+ // ============================================================================
317
+ /**
318
+ * Batch adapt multiple legacy intents
319
+ */
320
+ export function adaptLegacyIntents(intents) {
321
+ return intents.map(adaptLegacyIntent);
322
+ }
323
+ /**
324
+ * Batch adapt multiple legacy signals
325
+ */
326
+ export function adaptLegacyTrustSignals(signals) {
327
+ return signals.map(adaptLegacyTrustSignal);
328
+ }
329
+ //# sourceMappingURL=adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/common/adapters.ts"],"names":[],"mappings":"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"}