@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,539 @@
1
+ /**
2
+ * @fileoverview ACI String Parser and Generator
3
+ *
4
+ * Provides parsing, generation, and validation for Agent Classification
5
+ * Identifier (ACI) strings. ACI strings follow the format:
6
+ *
7
+ * `{registry}.{organization}.{agentClass}:{domains}-L{level}@{version}[#extensions]`
8
+ *
9
+ * Example: `a3i.acme-corp.invoice-bot:ABF-L3@1.0.0`
10
+ *
11
+ * **CRITICAL DESIGN PRINCIPLE:**
12
+ * The ACI is an IMMUTABLE identifier (like a certificate or passport number).
13
+ * Trust is NOT encoded in the ACI - it is computed at RUNTIME based on:
14
+ * - Attestations (stored separately)
15
+ * - Behavioral signals
16
+ * - Deployment context policies
17
+ *
18
+ * The optional extensions (section 5+) are mutable and can be defined by
19
+ * industry or community standards.
20
+ *
21
+ * @module @vorion/contracts/aci/aci-string
22
+ */
23
+ import { z } from 'zod';
24
+ import { type DomainCode } from './domains.js';
25
+ import { CapabilityLevel } from './levels.js';
26
+ /**
27
+ * Regular expression for parsing ACI strings.
28
+ *
29
+ * Format: `{registry}.{organization}.{agentClass}:{domains}-L{level}@{version}[#extensions]`
30
+ *
31
+ * Groups:
32
+ * 1. registry - Certifying registry (e.g., 'a3i')
33
+ * 2. organization - Operating organization (e.g., 'acme-corp')
34
+ * 3. agentClass - Agent classification (e.g., 'invoice-bot')
35
+ * 4. domains - Capability domain codes (e.g., 'ABF')
36
+ * 5. level - Autonomy level (0-5)
37
+ * 6. version - Semantic version (e.g., '1.0.0')
38
+ * 7. extensions - Optional comma-separated extensions (e.g., 'gov,audit')
39
+ *
40
+ * NOTE: Trust tier is NOT part of the ACI. Trust is computed at runtime
41
+ * from attestations, behavioral signals, and deployment context.
42
+ */
43
+ export declare const ACI_REGEX: RegExp;
44
+ /**
45
+ * Looser regex for partial ACI validation.
46
+ */
47
+ export declare const ACI_PARTIAL_REGEX: RegExp;
48
+ /**
49
+ * Legacy regex for parsing old-format ACI strings that include trust tier.
50
+ * Used for migration/compatibility only.
51
+ * @deprecated Use ACI_REGEX instead - trust tier should not be in the identifier
52
+ */
53
+ export declare const ACI_LEGACY_REGEX: RegExp;
54
+ /**
55
+ * Parsed components of an ACI string.
56
+ *
57
+ * NOTE: Trust tier is NOT included because the ACI is an immutable identifier.
58
+ * Trust is computed at runtime from:
59
+ * - Attestations (external certifications)
60
+ * - Behavioral signals (runtime observations)
61
+ * - Deployment context policies
62
+ */
63
+ export interface ParsedACI {
64
+ /** Full ACI string */
65
+ readonly aci: string;
66
+ /** Certifying registry (e.g., 'a3i') */
67
+ readonly registry: string;
68
+ /** Operating organization */
69
+ readonly organization: string;
70
+ /** Agent classification */
71
+ readonly agentClass: string;
72
+ /** Capability domain codes */
73
+ readonly domains: readonly DomainCode[];
74
+ /** Domain bitmask for efficient queries */
75
+ readonly domainsBitmask: number;
76
+ /** Autonomy/capability level */
77
+ readonly level: CapabilityLevel;
78
+ /** Semantic version string */
79
+ readonly version: string;
80
+ /** Optional extensions (mutable, industry/community defined) */
81
+ readonly extensions: readonly string[];
82
+ }
83
+ /**
84
+ * Unique identity portion of the ACI (immutable core).
85
+ * Format: {registry}.{organization}.{agentClass}
86
+ */
87
+ export type ACIIdentity = `${string}.${string}.${string}`;
88
+ /**
89
+ * Extracts the identity portion from a parsed ACI.
90
+ */
91
+ export declare function getACIIdentity(parsed: ParsedACI): ACIIdentity;
92
+ /**
93
+ * Zod schema for ParsedACI validation.
94
+ */
95
+ export declare const parsedACISchema: z.ZodObject<{
96
+ aci: z.ZodString;
97
+ registry: z.ZodString;
98
+ organization: z.ZodString;
99
+ agentClass: z.ZodString;
100
+ domains: z.ZodArray<z.ZodEnum<["A", "B", "C", "D", "E", "F", "G", "H", "I", "S"]>, "many">;
101
+ domainsBitmask: z.ZodNumber;
102
+ level: z.ZodNativeEnum<typeof CapabilityLevel>;
103
+ version: z.ZodString;
104
+ extensions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
105
+ }, "strip", z.ZodTypeAny, {
106
+ version: string;
107
+ level: CapabilityLevel;
108
+ aci: string;
109
+ registry: string;
110
+ organization: string;
111
+ agentClass: string;
112
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
113
+ domainsBitmask: number;
114
+ extensions: string[];
115
+ }, {
116
+ version: string;
117
+ level: CapabilityLevel;
118
+ aci: string;
119
+ registry: string;
120
+ organization: string;
121
+ agentClass: string;
122
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
123
+ domainsBitmask: number;
124
+ extensions?: string[] | undefined;
125
+ }>;
126
+ /**
127
+ * Error thrown when ACI parsing fails.
128
+ */
129
+ export declare class ACIParseError extends Error {
130
+ /** The invalid ACI string that caused the error */
131
+ readonly aci: string;
132
+ /** Error code for programmatic handling */
133
+ readonly code: ACIParseErrorCode;
134
+ constructor(message: string, aci: string, code?: ACIParseErrorCode);
135
+ }
136
+ /**
137
+ * Error codes for ACI parse errors.
138
+ */
139
+ export type ACIParseErrorCode = 'INVALID_FORMAT' | 'INVALID_REGISTRY' | 'INVALID_ORGANIZATION' | 'INVALID_AGENT_CLASS' | 'INVALID_DOMAINS' | 'NO_DOMAINS' | 'INVALID_LEVEL' | 'INVALID_VERSION' | 'INVALID_EXTENSIONS' | 'LEGACY_FORMAT';
140
+ /**
141
+ * Parses an ACI string into its components.
142
+ *
143
+ * @param aci - The ACI string to parse
144
+ * @returns Parsed ACI components
145
+ * @throws ACIParseError if the ACI string is invalid
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const parsed = parseACI('a3i.acme-corp.invoice-bot:ABF-L3@1.0.0');
150
+ * // {
151
+ * // aci: 'a3i.acme-corp.invoice-bot:ABF-L3@1.0.0',
152
+ * // registry: 'a3i',
153
+ * // organization: 'acme-corp',
154
+ * // agentClass: 'invoice-bot',
155
+ * // domains: ['A', 'B', 'F'],
156
+ * // domainsBitmask: 0x023,
157
+ * // level: CapabilityLevel.L3_EXECUTE,
158
+ * // version: '1.0.0',
159
+ * // extensions: []
160
+ * // }
161
+ * ```
162
+ */
163
+ export declare function parseACI(aci: string): ParsedACI;
164
+ /**
165
+ * Parses a legacy ACI string that includes trust tier.
166
+ * Returns the parsed ACI (without tier) plus the extracted tier value.
167
+ *
168
+ * @deprecated Use parseACI() - trust should not be in the identifier
169
+ * @param aci - Legacy ACI string with embedded tier
170
+ * @returns Parsed ACI plus extracted tier
171
+ */
172
+ export declare function parseLegacyACI(aci: string): {
173
+ parsed: ParsedACI;
174
+ legacyTier: number;
175
+ };
176
+ /**
177
+ * Safely parses an ACI string, returning null on failure.
178
+ *
179
+ * @param aci - The ACI string to parse
180
+ * @returns Parsed ACI or null if invalid
181
+ */
182
+ export declare function tryParseACI(aci: string): ParsedACI | null;
183
+ /**
184
+ * Safely parses an ACI string, returning a result object.
185
+ *
186
+ * @param aci - The ACI string to parse
187
+ * @returns Result object with success flag and parsed ACI or error
188
+ */
189
+ export declare function safeParseACI(aci: string): {
190
+ success: true;
191
+ data: ParsedACI;
192
+ } | {
193
+ success: false;
194
+ error: ACIParseError;
195
+ };
196
+ /**
197
+ * Options for generating an ACI string.
198
+ *
199
+ * NOTE: Trust tier is NOT included because ACI is an immutable identifier.
200
+ * Trust is computed at runtime from attestations and behavioral signals.
201
+ */
202
+ export interface GenerateACIOptions {
203
+ /** Certifying registry (e.g., 'a3i') */
204
+ registry: string;
205
+ /** Operating organization */
206
+ organization: string;
207
+ /** Agent classification */
208
+ agentClass: string;
209
+ /** Capability domains */
210
+ domains: readonly DomainCode[];
211
+ /** Autonomy level */
212
+ level: CapabilityLevel;
213
+ /** Semantic version */
214
+ version: string;
215
+ /** Optional extensions (mutable, industry/community defined) */
216
+ extensions?: readonly string[];
217
+ }
218
+ /**
219
+ * Generates an ACI string from components.
220
+ *
221
+ * @param options - ACI components
222
+ * @returns Generated ACI string
223
+ *
224
+ * @example
225
+ * ```typescript
226
+ * const aci = generateACI({
227
+ * registry: 'a3i',
228
+ * organization: 'acme-corp',
229
+ * agentClass: 'invoice-bot',
230
+ * domains: ['A', 'B', 'F'],
231
+ * level: CapabilityLevel.L3_EXECUTE,
232
+ * version: '1.0.0',
233
+ * });
234
+ * // 'a3i.acme-corp.invoice-bot:ABF-L3@1.0.0'
235
+ *
236
+ * // With extensions:
237
+ * const aciWithExt = generateACI({
238
+ * registry: 'a3i',
239
+ * organization: 'acme-corp',
240
+ * agentClass: 'invoice-bot',
241
+ * domains: ['A', 'B', 'F'],
242
+ * level: CapabilityLevel.L3_EXECUTE,
243
+ * version: '1.0.0',
244
+ * extensions: ['gov', 'audit'],
245
+ * });
246
+ * // 'a3i.acme-corp.invoice-bot:ABF-L3@1.0.0#gov,audit'
247
+ * ```
248
+ */
249
+ export declare function generateACI(options: GenerateACIOptions): string;
250
+ /**
251
+ * Generates an ACI string from individual parameters.
252
+ *
253
+ * @param registry - Certifying registry
254
+ * @param organization - Operating organization
255
+ * @param agentClass - Agent classification
256
+ * @param domains - Capability domains
257
+ * @param level - Autonomy level
258
+ * @param version - Semantic version
259
+ * @param extensions - Optional extensions
260
+ * @returns Generated ACI string
261
+ */
262
+ export declare function generateACIString(registry: string, organization: string, agentClass: string, domains: readonly DomainCode[], level: CapabilityLevel, version: string, extensions?: readonly string[]): string;
263
+ /**
264
+ * Validation error for ACI strings.
265
+ */
266
+ export interface ACIValidationError {
267
+ /** Error code */
268
+ code: string;
269
+ /** Human-readable message */
270
+ message: string;
271
+ /** Path to the error (if applicable) */
272
+ path?: string;
273
+ }
274
+ /**
275
+ * Validation warning for ACI strings.
276
+ */
277
+ export interface ACIValidationWarning {
278
+ /** Warning code */
279
+ code: string;
280
+ /** Human-readable message */
281
+ message: string;
282
+ /** Path to the warning (if applicable) */
283
+ path?: string;
284
+ }
285
+ /**
286
+ * Result of ACI validation.
287
+ */
288
+ export interface ACIValidationResult {
289
+ /** Whether the ACI is valid */
290
+ valid: boolean;
291
+ /** Validation errors */
292
+ errors: ACIValidationError[];
293
+ /** Validation warnings */
294
+ warnings: ACIValidationWarning[];
295
+ /** Parsed ACI if valid */
296
+ parsed?: ParsedACI;
297
+ }
298
+ /**
299
+ * Validates an ACI string.
300
+ *
301
+ * @param aci - The ACI string to validate
302
+ * @returns Validation result
303
+ *
304
+ * @example
305
+ * ```typescript
306
+ * const result = validateACI('a3i.acme-corp.bot:A-L5@1.0.0');
307
+ * // {
308
+ * // valid: true,
309
+ * // errors: [],
310
+ * // warnings: [],
311
+ * // parsed: { ... }
312
+ * // }
313
+ * ```
314
+ */
315
+ export declare function validateACI(aci: string): ACIValidationResult;
316
+ /**
317
+ * Checks if a string is a valid ACI format.
318
+ *
319
+ * @param aci - String to check
320
+ * @returns True if the string is a valid ACI
321
+ */
322
+ export declare function isValidACI(aci: string): boolean;
323
+ /**
324
+ * Type guard to check if a value is a valid ACI string.
325
+ *
326
+ * @param value - Value to check
327
+ * @returns True if value is a valid ACI string
328
+ */
329
+ export declare function isACIString(value: unknown): value is string;
330
+ /**
331
+ * Updates specific fields in an ACI and returns a new ACI string.
332
+ *
333
+ * @param aci - Original ACI string
334
+ * @param updates - Fields to update
335
+ * @returns New ACI string with updates applied
336
+ */
337
+ export declare function updateACI(aci: string, updates: Partial<Omit<GenerateACIOptions, 'registry' | 'organization' | 'agentClass'>>): string;
338
+ /**
339
+ * Adds extensions to an ACI string.
340
+ *
341
+ * @param aci - Original ACI string
342
+ * @param newExtensions - Extensions to add
343
+ * @returns New ACI string with extensions added
344
+ */
345
+ export declare function addACIExtensions(aci: string, newExtensions: readonly string[]): string;
346
+ /**
347
+ * Removes extensions from an ACI string.
348
+ *
349
+ * @param aci - Original ACI string
350
+ * @param extensionsToRemove - Extensions to remove
351
+ * @returns New ACI string with extensions removed
352
+ */
353
+ export declare function removeACIExtensions(aci: string, extensionsToRemove: readonly string[]): string;
354
+ /**
355
+ * Increments the version in an ACI string.
356
+ *
357
+ * @param aci - Original ACI string
358
+ * @param type - Version component to increment ('major' | 'minor' | 'patch')
359
+ * @returns New ACI string with incremented version
360
+ */
361
+ export declare function incrementACIVersion(aci: string, type?: 'major' | 'minor' | 'patch'): string;
362
+ /**
363
+ * Zod schema for ACI string validation.
364
+ */
365
+ export declare const aciStringSchema: z.ZodEffects<z.ZodString, string, string>;
366
+ /**
367
+ * Zod schema for ACI string with parsing transform.
368
+ */
369
+ export declare const aciSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, ParsedACI, string>;
370
+ /**
371
+ * Zod schema for GenerateACIOptions.
372
+ */
373
+ export declare const generateACIOptionsSchema: z.ZodObject<{
374
+ registry: z.ZodString;
375
+ organization: z.ZodString;
376
+ agentClass: z.ZodString;
377
+ domains: z.ZodArray<z.ZodEnum<["A", "B", "C", "D", "E", "F", "G", "H", "I", "S"]>, "many">;
378
+ level: z.ZodNativeEnum<typeof CapabilityLevel>;
379
+ version: z.ZodString;
380
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
381
+ }, "strip", z.ZodTypeAny, {
382
+ version: string;
383
+ level: CapabilityLevel;
384
+ registry: string;
385
+ organization: string;
386
+ agentClass: string;
387
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
388
+ extensions?: string[] | undefined;
389
+ }, {
390
+ version: string;
391
+ level: CapabilityLevel;
392
+ registry: string;
393
+ organization: string;
394
+ agentClass: string;
395
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
396
+ extensions?: string[] | undefined;
397
+ }>;
398
+ /**
399
+ * Zod schema for ACIValidationError.
400
+ */
401
+ export declare const aciValidationErrorSchema: z.ZodObject<{
402
+ code: z.ZodString;
403
+ message: z.ZodString;
404
+ path: z.ZodOptional<z.ZodString>;
405
+ }, "strip", z.ZodTypeAny, {
406
+ code: string;
407
+ message: string;
408
+ path?: string | undefined;
409
+ }, {
410
+ code: string;
411
+ message: string;
412
+ path?: string | undefined;
413
+ }>;
414
+ /**
415
+ * Zod schema for ACIValidationWarning.
416
+ */
417
+ export declare const aciValidationWarningSchema: z.ZodObject<{
418
+ code: z.ZodString;
419
+ message: z.ZodString;
420
+ path: z.ZodOptional<z.ZodString>;
421
+ }, "strip", z.ZodTypeAny, {
422
+ code: string;
423
+ message: string;
424
+ path?: string | undefined;
425
+ }, {
426
+ code: string;
427
+ message: string;
428
+ path?: string | undefined;
429
+ }>;
430
+ /**
431
+ * Zod schema for ACIValidationResult.
432
+ */
433
+ export declare const aciValidationResultSchema: z.ZodObject<{
434
+ valid: z.ZodBoolean;
435
+ errors: z.ZodArray<z.ZodObject<{
436
+ code: z.ZodString;
437
+ message: z.ZodString;
438
+ path: z.ZodOptional<z.ZodString>;
439
+ }, "strip", z.ZodTypeAny, {
440
+ code: string;
441
+ message: string;
442
+ path?: string | undefined;
443
+ }, {
444
+ code: string;
445
+ message: string;
446
+ path?: string | undefined;
447
+ }>, "many">;
448
+ warnings: z.ZodArray<z.ZodObject<{
449
+ code: z.ZodString;
450
+ message: z.ZodString;
451
+ path: z.ZodOptional<z.ZodString>;
452
+ }, "strip", z.ZodTypeAny, {
453
+ code: string;
454
+ message: string;
455
+ path?: string | undefined;
456
+ }, {
457
+ code: string;
458
+ message: string;
459
+ path?: string | undefined;
460
+ }>, "many">;
461
+ parsed: z.ZodOptional<z.ZodObject<{
462
+ aci: z.ZodString;
463
+ registry: z.ZodString;
464
+ organization: z.ZodString;
465
+ agentClass: z.ZodString;
466
+ domains: z.ZodArray<z.ZodEnum<["A", "B", "C", "D", "E", "F", "G", "H", "I", "S"]>, "many">;
467
+ domainsBitmask: z.ZodNumber;
468
+ level: z.ZodNativeEnum<typeof CapabilityLevel>;
469
+ version: z.ZodString;
470
+ extensions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
471
+ }, "strip", z.ZodTypeAny, {
472
+ version: string;
473
+ level: CapabilityLevel;
474
+ aci: string;
475
+ registry: string;
476
+ organization: string;
477
+ agentClass: string;
478
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
479
+ domainsBitmask: number;
480
+ extensions: string[];
481
+ }, {
482
+ version: string;
483
+ level: CapabilityLevel;
484
+ aci: string;
485
+ registry: string;
486
+ organization: string;
487
+ agentClass: string;
488
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
489
+ domainsBitmask: number;
490
+ extensions?: string[] | undefined;
491
+ }>>;
492
+ }, "strip", z.ZodTypeAny, {
493
+ valid: boolean;
494
+ errors: {
495
+ code: string;
496
+ message: string;
497
+ path?: string | undefined;
498
+ }[];
499
+ warnings: {
500
+ code: string;
501
+ message: string;
502
+ path?: string | undefined;
503
+ }[];
504
+ parsed?: {
505
+ version: string;
506
+ level: CapabilityLevel;
507
+ aci: string;
508
+ registry: string;
509
+ organization: string;
510
+ agentClass: string;
511
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
512
+ domainsBitmask: number;
513
+ extensions: string[];
514
+ } | undefined;
515
+ }, {
516
+ valid: boolean;
517
+ errors: {
518
+ code: string;
519
+ message: string;
520
+ path?: string | undefined;
521
+ }[];
522
+ warnings: {
523
+ code: string;
524
+ message: string;
525
+ path?: string | undefined;
526
+ }[];
527
+ parsed?: {
528
+ version: string;
529
+ level: CapabilityLevel;
530
+ aci: string;
531
+ registry: string;
532
+ organization: string;
533
+ agentClass: string;
534
+ domains: ("A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "S")[];
535
+ domainsBitmask: number;
536
+ extensions?: string[] | undefined;
537
+ } | undefined;
538
+ }>;
539
+ //# sourceMappingURL=aci-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aci-string.d.ts","sourceRoot":"","sources":["../../src/aci/aci-string.ts"],"names":[],"mappings":"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"}