@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,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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"}
|