@aigrc/core 0.1.0 → 0.2.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/air/index.d.mts +1669 -0
- package/dist/air/index.d.ts +1669 -0
- package/dist/air/index.js +450 -0
- package/dist/air/index.js.map +1 -0
- package/dist/air/index.mjs +410 -0
- package/dist/air/index.mjs.map +1 -0
- package/dist/governance-lock/index.d.mts +903 -0
- package/dist/governance-lock/index.d.ts +903 -0
- package/dist/governance-lock/index.js +444 -0
- package/dist/governance-lock/index.js.map +1 -0
- package/dist/governance-lock/index.mjs +389 -0
- package/dist/governance-lock/index.mjs.map +1 -0
- package/dist/index.d.mts +467 -4
- package/dist/index.d.ts +467 -4
- package/dist/index.js +2213 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2114 -2
- package/dist/index.mjs.map +1 -1
- package/dist/schemas/index.d.mts +1950 -29
- package/dist/schemas/index.d.ts +1950 -29
- package/dist/schemas/index.js +354 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/index.mjs +332 -1
- package/dist/schemas/index.mjs.map +1 -1
- package/package.json +11 -1
package/dist/schemas/index.mjs
CHANGED
|
@@ -140,6 +140,311 @@ var ConstraintsSchema = z.object({
|
|
|
140
140
|
logToolInvocations: z.boolean().default(true)
|
|
141
141
|
}).optional()
|
|
142
142
|
});
|
|
143
|
+
var RiskLevelSchema = z.enum(["minimal", "limited", "high", "unacceptable"]);
|
|
144
|
+
var GoldenThreadSchema = z.object({
|
|
145
|
+
/** Ticket ID from approval system (e.g., "FIN-1234") */
|
|
146
|
+
ticket_id: z.string().min(1),
|
|
147
|
+
/** Email of approver (e.g., "ciso@corp.com") */
|
|
148
|
+
approved_by: z.string().email(),
|
|
149
|
+
/** ISO 8601 timestamp of approval (e.g., "2025-01-15T10:30:00Z") */
|
|
150
|
+
approved_at: z.string().datetime(),
|
|
151
|
+
/** SHA-256 hash of canonical string: sha256:{64 hex chars} */
|
|
152
|
+
hash: z.string().regex(/^sha256:[a-f0-9]{64}$/).optional(),
|
|
153
|
+
/** Optional cryptographic signature: {ALGORITHM}:{BASE64_SIGNATURE} */
|
|
154
|
+
signature: z.string().regex(/^(RSA-SHA256|ECDSA-P256):[A-Za-z0-9+/=]+$/).optional()
|
|
155
|
+
});
|
|
156
|
+
var LineageSchema = z.object({
|
|
157
|
+
/** Parent agent's instance_id, null for root agents */
|
|
158
|
+
parent_instance_id: z.string().uuid().nullable(),
|
|
159
|
+
/** Depth in spawn tree: 0 for root, 1 for first child, etc. */
|
|
160
|
+
generation_depth: z.number().int().min(0),
|
|
161
|
+
/** Chain of ancestor instance_ids from root to parent */
|
|
162
|
+
ancestor_chain: z.array(z.string().uuid()),
|
|
163
|
+
/** When this agent was spawned */
|
|
164
|
+
spawned_at: z.string().datetime(),
|
|
165
|
+
/** Root agent's instance_id for tracing entire tree */
|
|
166
|
+
root_instance_id: z.string().uuid()
|
|
167
|
+
});
|
|
168
|
+
var CapabilitiesManifestSchema = z.object({
|
|
169
|
+
/** List of allowed tool/action identifiers (supports wildcards: *, prefix_*) */
|
|
170
|
+
allowed_tools: z.array(z.string()).default([]),
|
|
171
|
+
/** List of explicitly denied tools (takes precedence over allowed) */
|
|
172
|
+
denied_tools: z.array(z.string()).default([]),
|
|
173
|
+
/** Allowed domain patterns (regex) for external resources */
|
|
174
|
+
allowed_domains: z.array(z.string()).default([]),
|
|
175
|
+
/** Denied domain patterns (takes precedence over allowed) */
|
|
176
|
+
denied_domains: z.array(z.string()).default([]),
|
|
177
|
+
/** Maximum cost per session in USD */
|
|
178
|
+
max_cost_per_session: z.number().positive().nullable().optional(),
|
|
179
|
+
/** Maximum cost per day in USD */
|
|
180
|
+
max_cost_per_day: z.number().positive().nullable().optional(),
|
|
181
|
+
/** Maximum tokens per single API call */
|
|
182
|
+
max_tokens_per_call: z.number().int().positive().nullable().optional(),
|
|
183
|
+
/** Whether this agent can spawn child agents */
|
|
184
|
+
may_spawn_children: z.boolean().default(false),
|
|
185
|
+
/** Maximum depth of child agent spawning (0 = cannot spawn) */
|
|
186
|
+
max_child_depth: z.number().int().min(0).default(0),
|
|
187
|
+
/** Capability decay mode for children: decay, explicit, inherit */
|
|
188
|
+
capability_mode: z.enum(["decay", "explicit", "inherit"]).default("decay"),
|
|
189
|
+
/** Custom extension fields */
|
|
190
|
+
custom: z.record(z.unknown()).optional()
|
|
191
|
+
});
|
|
192
|
+
var OperatingModeSchema = z.enum(["NORMAL", "SANDBOX", "RESTRICTED"]);
|
|
193
|
+
var RuntimeIdentitySchema = z.object({
|
|
194
|
+
/** Unique UUIDv4 for this runtime instance */
|
|
195
|
+
instance_id: z.string().uuid(),
|
|
196
|
+
/** Asset ID from the Asset Card (e.g., "aigrc-2024-a1b2c3d4") */
|
|
197
|
+
asset_id: z.string().regex(/^aigrc-\d{4}-[a-f0-9]{8}$/),
|
|
198
|
+
/** Human-readable name from Asset Card */
|
|
199
|
+
asset_name: z.string().min(1).max(100),
|
|
200
|
+
/** Semantic version from Asset Card */
|
|
201
|
+
asset_version: z.string().regex(/^\d+\.\d+\.\d+/),
|
|
202
|
+
/** SHA-256 hash of Golden Thread data */
|
|
203
|
+
golden_thread_hash: z.string().regex(/^sha256:[a-f0-9]{64}$/),
|
|
204
|
+
/** Full Golden Thread authorization data */
|
|
205
|
+
golden_thread: GoldenThreadSchema,
|
|
206
|
+
/** Risk level from classification */
|
|
207
|
+
risk_level: RiskLevelSchema,
|
|
208
|
+
/** Agent lineage for spawned agents */
|
|
209
|
+
lineage: LineageSchema,
|
|
210
|
+
/** Capabilities manifest defining permissions */
|
|
211
|
+
capabilities_manifest: CapabilitiesManifestSchema,
|
|
212
|
+
/** When this identity was created */
|
|
213
|
+
created_at: z.string().datetime(),
|
|
214
|
+
/** Whether Golden Thread hash has been verified */
|
|
215
|
+
verified: z.boolean().default(false),
|
|
216
|
+
/** Current operating mode */
|
|
217
|
+
mode: OperatingModeSchema.default("NORMAL")
|
|
218
|
+
});
|
|
219
|
+
var KillSwitchCommandTypeSchema = z.enum(["TERMINATE", "PAUSE", "RESUME"]);
|
|
220
|
+
var KillSwitchCommandSchema = z.object({
|
|
221
|
+
/** Unique command ID for idempotency and replay prevention */
|
|
222
|
+
command_id: z.string().uuid(),
|
|
223
|
+
/** Type of command */
|
|
224
|
+
type: KillSwitchCommandTypeSchema,
|
|
225
|
+
/** Target instance_id (optional, for specific instance) */
|
|
226
|
+
instance_id: z.string().uuid().optional(),
|
|
227
|
+
/** Target asset_id (optional, for all instances of an asset) */
|
|
228
|
+
asset_id: z.string().regex(/^aigrc-\d{4}-[a-f0-9]{8}$/).optional(),
|
|
229
|
+
/** Target organization (optional, for org-wide kill) */
|
|
230
|
+
organization: z.string().optional(),
|
|
231
|
+
/** Cryptographic signature for verification */
|
|
232
|
+
signature: z.string(),
|
|
233
|
+
/** ISO 8601 timestamp for replay prevention */
|
|
234
|
+
timestamp: z.string().datetime(),
|
|
235
|
+
/** Human-readable reason for audit trail */
|
|
236
|
+
reason: z.string().max(500),
|
|
237
|
+
/** Issuer of the command (email or system ID) */
|
|
238
|
+
issued_by: z.string()
|
|
239
|
+
});
|
|
240
|
+
var GovernanceTokenIdentityClaimsSchema = z.object({
|
|
241
|
+
instance_id: z.string().uuid(),
|
|
242
|
+
asset_id: z.string(),
|
|
243
|
+
asset_name: z.string(),
|
|
244
|
+
asset_version: z.string()
|
|
245
|
+
});
|
|
246
|
+
var GovernanceTokenGovernanceClaimsSchema = z.object({
|
|
247
|
+
risk_level: RiskLevelSchema,
|
|
248
|
+
golden_thread: z.object({
|
|
249
|
+
hash: z.string().regex(/^sha256:[a-f0-9]{64}$/),
|
|
250
|
+
verified: z.boolean(),
|
|
251
|
+
ticket_id: z.string()
|
|
252
|
+
}),
|
|
253
|
+
mode: OperatingModeSchema
|
|
254
|
+
});
|
|
255
|
+
var GovernanceTokenControlClaimsSchema = z.object({
|
|
256
|
+
kill_switch: z.object({
|
|
257
|
+
enabled: z.boolean(),
|
|
258
|
+
channel: z.enum(["sse", "polling", "file"])
|
|
259
|
+
}),
|
|
260
|
+
paused: z.boolean(),
|
|
261
|
+
termination_pending: z.boolean()
|
|
262
|
+
});
|
|
263
|
+
var GovernanceTokenCapabilityClaimsSchema = z.object({
|
|
264
|
+
hash: z.string(),
|
|
265
|
+
tools: z.array(z.string()),
|
|
266
|
+
max_budget_usd: z.number().nullable(),
|
|
267
|
+
can_spawn: z.boolean(),
|
|
268
|
+
max_child_depth: z.number().int().min(0)
|
|
269
|
+
});
|
|
270
|
+
var GovernanceTokenLineageClaimsSchema = z.object({
|
|
271
|
+
generation_depth: z.number().int().min(0),
|
|
272
|
+
parent_instance_id: z.string().uuid().nullable(),
|
|
273
|
+
root_instance_id: z.string().uuid()
|
|
274
|
+
});
|
|
275
|
+
var GovernanceTokenPayloadSchema = z.object({
|
|
276
|
+
// Standard JWT claims
|
|
277
|
+
/** Issuer: "aigos-runtime" */
|
|
278
|
+
iss: z.literal("aigos-runtime"),
|
|
279
|
+
/** Subject: instance_id of the agent */
|
|
280
|
+
sub: z.string().uuid(),
|
|
281
|
+
/** Audience: "aigos-agents" or specific agent */
|
|
282
|
+
aud: z.union([z.string(), z.array(z.string())]),
|
|
283
|
+
/** Expiration timestamp (Unix epoch) */
|
|
284
|
+
exp: z.number().int().positive(),
|
|
285
|
+
/** Issued at timestamp (Unix epoch) */
|
|
286
|
+
iat: z.number().int().positive(),
|
|
287
|
+
/** Not before timestamp (Unix epoch) */
|
|
288
|
+
nbf: z.number().int().positive(),
|
|
289
|
+
/** Unique JWT ID */
|
|
290
|
+
jti: z.string().uuid(),
|
|
291
|
+
// AIGOS-specific claims
|
|
292
|
+
aigos: z.object({
|
|
293
|
+
identity: GovernanceTokenIdentityClaimsSchema,
|
|
294
|
+
governance: GovernanceTokenGovernanceClaimsSchema,
|
|
295
|
+
control: GovernanceTokenControlClaimsSchema,
|
|
296
|
+
capabilities: GovernanceTokenCapabilityClaimsSchema,
|
|
297
|
+
lineage: GovernanceTokenLineageClaimsSchema
|
|
298
|
+
})
|
|
299
|
+
});
|
|
300
|
+
var AssetCardRuntimeSchema = z.object({
|
|
301
|
+
/** Path to policy file for this asset */
|
|
302
|
+
policy_path: z.string().optional(),
|
|
303
|
+
/** Behavior when Golden Thread verification fails */
|
|
304
|
+
verification_failure_mode: z.enum(["SANDBOX", "FAIL"]).default("SANDBOX"),
|
|
305
|
+
/** Whether telemetry is enabled for this asset */
|
|
306
|
+
telemetry_enabled: z.boolean().default(true),
|
|
307
|
+
/** Kill switch configuration */
|
|
308
|
+
kill_switch: z.object({
|
|
309
|
+
enabled: z.boolean().default(true),
|
|
310
|
+
channel: z.enum(["sse", "polling", "file"]).default("sse"),
|
|
311
|
+
endpoint: z.string().url().optional()
|
|
312
|
+
}).optional()
|
|
313
|
+
});
|
|
314
|
+
var PolicyRuleEffectSchema = z.enum(["allow", "deny", "audit"]);
|
|
315
|
+
var PolicyRuleSchema = z.object({
|
|
316
|
+
/** Unique identifier for this rule */
|
|
317
|
+
id: z.string().min(1),
|
|
318
|
+
/** Human-readable description */
|
|
319
|
+
description: z.string().optional(),
|
|
320
|
+
/** Effect when rule matches: allow, deny, or audit */
|
|
321
|
+
effect: PolicyRuleEffectSchema,
|
|
322
|
+
/** Actions/tools this rule applies to (supports wildcards) */
|
|
323
|
+
actions: z.array(z.string()).default(["*"]),
|
|
324
|
+
/** Resources/domains this rule applies to (supports patterns) */
|
|
325
|
+
resources: z.array(z.string()).default(["*"]),
|
|
326
|
+
/** Conditions that must be true for rule to apply */
|
|
327
|
+
conditions: z.object({
|
|
328
|
+
/** Required risk levels for this rule to apply */
|
|
329
|
+
risk_levels: z.array(RiskLevelSchema).optional(),
|
|
330
|
+
/** Required operating modes */
|
|
331
|
+
modes: z.array(OperatingModeSchema).optional(),
|
|
332
|
+
/** Time-based conditions (ISO 8601 time ranges) */
|
|
333
|
+
time_ranges: z.array(z.object({
|
|
334
|
+
start: z.string(),
|
|
335
|
+
end: z.string()
|
|
336
|
+
})).optional(),
|
|
337
|
+
/** Custom condition expressions */
|
|
338
|
+
custom: z.record(z.unknown()).optional()
|
|
339
|
+
}).optional(),
|
|
340
|
+
/** Priority for rule ordering (higher = evaluated first) */
|
|
341
|
+
priority: z.number().int().default(0)
|
|
342
|
+
});
|
|
343
|
+
var PolicyCapabilitiesSchema = z.object({
|
|
344
|
+
/** Default effect when no rule matches */
|
|
345
|
+
default_effect: PolicyRuleEffectSchema.default("deny"),
|
|
346
|
+
/** Allowed tools (supports wildcards: *, prefix_*) */
|
|
347
|
+
allowed_tools: z.array(z.string()).default([]),
|
|
348
|
+
/** Denied tools (takes precedence) */
|
|
349
|
+
denied_tools: z.array(z.string()).default([]),
|
|
350
|
+
/** Allowed domain patterns */
|
|
351
|
+
allowed_domains: z.array(z.string()).default([]),
|
|
352
|
+
/** Denied domain patterns */
|
|
353
|
+
denied_domains: z.array(z.string()).default([]),
|
|
354
|
+
/** Maximum budget per session in USD */
|
|
355
|
+
max_budget_per_session: z.number().positive().nullable().optional(),
|
|
356
|
+
/** Maximum budget per day in USD */
|
|
357
|
+
max_budget_per_day: z.number().positive().nullable().optional(),
|
|
358
|
+
/** Whether agent can spawn children */
|
|
359
|
+
may_spawn: z.boolean().default(false),
|
|
360
|
+
/** Maximum spawn depth */
|
|
361
|
+
max_spawn_depth: z.number().int().min(0).default(0)
|
|
362
|
+
});
|
|
363
|
+
var PolicyFileSchema = z.object({
|
|
364
|
+
/** Schema version for forward compatibility */
|
|
365
|
+
version: z.literal("1.0"),
|
|
366
|
+
/** Unique policy identifier */
|
|
367
|
+
id: z.string().min(1),
|
|
368
|
+
/** Human-readable name */
|
|
369
|
+
name: z.string().min(1).max(100),
|
|
370
|
+
/** Description of this policy */
|
|
371
|
+
description: z.string().max(500).optional(),
|
|
372
|
+
/** Parent policy to inherit from */
|
|
373
|
+
extends: z.string().optional(),
|
|
374
|
+
/** Target asset IDs or patterns this policy applies to */
|
|
375
|
+
applies_to: z.array(z.string()).default(["*"]),
|
|
376
|
+
/** Default capabilities when no rules match */
|
|
377
|
+
capabilities: PolicyCapabilitiesSchema.optional(),
|
|
378
|
+
/** Ordered list of policy rules */
|
|
379
|
+
rules: z.array(PolicyRuleSchema).default([]),
|
|
380
|
+
/** Metadata */
|
|
381
|
+
metadata: z.object({
|
|
382
|
+
created_at: z.string().datetime().optional(),
|
|
383
|
+
updated_at: z.string().datetime().optional(),
|
|
384
|
+
created_by: z.string().optional(),
|
|
385
|
+
tags: z.array(z.string()).optional()
|
|
386
|
+
}).optional()
|
|
387
|
+
});
|
|
388
|
+
var AigrcRuntimeConfigSchema = z.object({
|
|
389
|
+
/** Default policy file path */
|
|
390
|
+
default_policy: z.string().optional(),
|
|
391
|
+
/** Policy search paths */
|
|
392
|
+
policy_paths: z.array(z.string()).default([".aigrc/policies"]),
|
|
393
|
+
/** Asset card search paths */
|
|
394
|
+
asset_paths: z.array(z.string()).default([".aigrc/assets"]),
|
|
395
|
+
/** Default verification failure mode */
|
|
396
|
+
verification_failure_mode: z.enum(["SANDBOX", "FAIL"]).default("SANDBOX"),
|
|
397
|
+
/** Telemetry configuration */
|
|
398
|
+
telemetry: z.object({
|
|
399
|
+
enabled: z.boolean().default(true),
|
|
400
|
+
endpoint: z.string().url().optional(),
|
|
401
|
+
sample_rate: z.number().min(0).max(1).default(1)
|
|
402
|
+
}).optional(),
|
|
403
|
+
/** Kill switch configuration */
|
|
404
|
+
kill_switch: z.object({
|
|
405
|
+
enabled: z.boolean().default(true),
|
|
406
|
+
channel: z.enum(["sse", "polling", "file"]).default("sse"),
|
|
407
|
+
endpoint: z.string().url().optional(),
|
|
408
|
+
poll_interval_ms: z.number().int().positive().default(5e3)
|
|
409
|
+
}).optional()
|
|
410
|
+
});
|
|
411
|
+
var AigrcIntegrationsConfigSchema = z.object({
|
|
412
|
+
/** JIRA integration */
|
|
413
|
+
jira: z.object({
|
|
414
|
+
enabled: z.boolean().default(false),
|
|
415
|
+
url: z.string().url().optional(),
|
|
416
|
+
project_key: z.string().optional()
|
|
417
|
+
}).optional(),
|
|
418
|
+
/** Azure DevOps integration */
|
|
419
|
+
azure_devops: z.object({
|
|
420
|
+
enabled: z.boolean().default(false),
|
|
421
|
+
organization: z.string().optional(),
|
|
422
|
+
project: z.string().optional()
|
|
423
|
+
}).optional(),
|
|
424
|
+
/** GitHub integration */
|
|
425
|
+
github: z.object({
|
|
426
|
+
enabled: z.boolean().default(false),
|
|
427
|
+
owner: z.string().optional(),
|
|
428
|
+
repo: z.string().optional()
|
|
429
|
+
}).optional()
|
|
430
|
+
});
|
|
431
|
+
var AigrcConfigSchema = z.object({
|
|
432
|
+
/** Schema version */
|
|
433
|
+
version: z.literal("1.0"),
|
|
434
|
+
/** Project name */
|
|
435
|
+
name: z.string().min(1).max(100).optional(),
|
|
436
|
+
/** Project description */
|
|
437
|
+
description: z.string().max(500).optional(),
|
|
438
|
+
/** Runtime governance configuration */
|
|
439
|
+
runtime: AigrcRuntimeConfigSchema.optional(),
|
|
440
|
+
/** External integrations */
|
|
441
|
+
integrations: AigrcIntegrationsConfigSchema.optional(),
|
|
442
|
+
/** Environment-specific overrides */
|
|
443
|
+
environments: z.record(z.object({
|
|
444
|
+
runtime: AigrcRuntimeConfigSchema.partial().optional(),
|
|
445
|
+
integrations: AigrcIntegrationsConfigSchema.partial().optional()
|
|
446
|
+
})).optional()
|
|
447
|
+
});
|
|
143
448
|
var AssetCardSchema = z.object({
|
|
144
449
|
$schema: z.string().optional(),
|
|
145
450
|
id: z.string().regex(/^aigrc-\d{4}-[a-f0-9]{8}$/),
|
|
@@ -156,19 +461,45 @@ var AssetCardSchema = z.object({
|
|
|
156
461
|
classification: ClassificationSchema,
|
|
157
462
|
intent: IntentSchema,
|
|
158
463
|
governance: GovernanceSchema,
|
|
159
|
-
constraints: ConstraintsSchema.optional()
|
|
464
|
+
constraints: ConstraintsSchema.optional(),
|
|
465
|
+
/** Golden Thread authorization data (SPEC-PRT-001) */
|
|
466
|
+
golden_thread: GoldenThreadSchema.optional(),
|
|
467
|
+
/** Runtime governance configuration (SPEC-RT) */
|
|
468
|
+
runtime: AssetCardRuntimeSchema.optional()
|
|
160
469
|
});
|
|
161
470
|
export {
|
|
471
|
+
AigrcConfigSchema,
|
|
472
|
+
AigrcIntegrationsConfigSchema,
|
|
473
|
+
AigrcRuntimeConfigSchema,
|
|
162
474
|
ApprovalSchema,
|
|
475
|
+
AssetCardRuntimeSchema,
|
|
163
476
|
AssetCardSchema,
|
|
477
|
+
CapabilitiesManifestSchema,
|
|
164
478
|
ClassificationSchema,
|
|
165
479
|
ConstraintsSchema,
|
|
166
480
|
ControlStatusSchema,
|
|
481
|
+
GoldenThreadSchema,
|
|
167
482
|
GovernanceSchema,
|
|
483
|
+
GovernanceTokenCapabilityClaimsSchema,
|
|
484
|
+
GovernanceTokenControlClaimsSchema,
|
|
485
|
+
GovernanceTokenGovernanceClaimsSchema,
|
|
486
|
+
GovernanceTokenIdentityClaimsSchema,
|
|
487
|
+
GovernanceTokenLineageClaimsSchema,
|
|
488
|
+
GovernanceTokenPayloadSchema,
|
|
168
489
|
IntentSchema,
|
|
169
490
|
JurisdictionClassificationSchema,
|
|
491
|
+
KillSwitchCommandSchema,
|
|
492
|
+
KillSwitchCommandTypeSchema,
|
|
493
|
+
LineageSchema,
|
|
494
|
+
OperatingModeSchema,
|
|
170
495
|
OwnerSchema,
|
|
496
|
+
PolicyCapabilitiesSchema,
|
|
497
|
+
PolicyFileSchema,
|
|
498
|
+
PolicyRuleEffectSchema,
|
|
499
|
+
PolicyRuleSchema,
|
|
171
500
|
RiskFactorsSchema,
|
|
501
|
+
RiskLevelSchema,
|
|
502
|
+
RuntimeIdentitySchema,
|
|
172
503
|
TechnicalSchema,
|
|
173
504
|
TrustworthinessCharacteristicSchema,
|
|
174
505
|
TrustworthinessSchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schemas/index.ts"],"sourcesContent":["import { z } from \"zod\";\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// OWNER SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const OwnerSchema = z.object({\r\n name: z.string().min(1),\r\n email: z.string().email(),\r\n team: z.string().optional(),\r\n});\r\n\r\nexport type Owner = z.infer<typeof OwnerSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// TECHNICAL SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const TechnicalSchema = z.object({\r\n type: z.enum([\"model\", \"agent\", \"api_client\", \"framework\", \"pipeline\"]),\r\n framework: z.string().optional(),\r\n frameworkVersion: z.string().optional(),\r\n components: z\r\n .array(\r\n z.object({\r\n type: z.string(),\r\n provider: z.string().optional(),\r\n model: z.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n sourceFiles: z.array(z.string()).optional(),\r\n});\r\n\r\nexport type Technical = z.infer<typeof TechnicalSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// RISK FACTORS SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const RiskFactorsSchema = z.object({\r\n autonomousDecisions: z.boolean().default(false),\r\n customerFacing: z.boolean().default(false),\r\n toolExecution: z.boolean().default(false),\r\n externalDataAccess: z.boolean().default(false),\r\n piiProcessing: z.enum([\"yes\", \"no\", \"unknown\"]).default(\"unknown\"),\r\n highStakesDecisions: z.boolean().default(false),\r\n});\r\n\r\nexport type RiskFactors = z.infer<typeof RiskFactorsSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// JURISDICTION CLASSIFICATION SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ControlStatusSchema = z.object({\r\n controlId: z.string(),\r\n status: z.enum([\"implemented\", \"partial\", \"not_implemented\", \"not_applicable\"]),\r\n evidence: z.string().optional(),\r\n notes: z.string().optional(),\r\n lastUpdated: z.string().datetime().optional(),\r\n});\r\n\r\nexport type ControlStatus = z.infer<typeof ControlStatusSchema>;\r\n\r\nexport const JurisdictionClassificationSchema = z.object({\r\n /** Profile/jurisdiction ID (e.g., \"eu-ai-act\", \"us-omb-m24\") */\r\n jurisdictionId: z.string(),\r\n /** Risk level mapped to this jurisdiction's terminology */\r\n riskLevel: z.string(),\r\n /** Jurisdiction-specific category (e.g., EU AI Act category) */\r\n category: z.string().optional(),\r\n /** Status of controls for this jurisdiction */\r\n controlStatuses: z.array(ControlStatusSchema).optional(),\r\n /** Required artifacts for this jurisdiction */\r\n requiredArtifacts: z\r\n .array(\r\n z.object({\r\n artifactId: z.string(),\r\n status: z.enum([\"pending\", \"complete\", \"not_applicable\"]),\r\n path: z.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n /** Last compliance check date */\r\n lastChecked: z.string().datetime().optional(),\r\n /** Compliance percentage for this jurisdiction */\r\n compliancePercentage: z.number().min(0).max(100).optional(),\r\n});\r\n\r\nexport type JurisdictionClassification = z.infer<typeof JurisdictionClassificationSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// TRUSTWORTHINESS CHARACTERISTICS SCHEMA (NIST AI RMF)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const TrustworthinessCharacteristicSchema = z.object({\r\n score: z.number().min(0).max(100).optional(),\r\n notes: z.string().optional(),\r\n lastAssessed: z.string().datetime().optional(),\r\n assessedBy: z.string().optional(),\r\n});\r\n\r\nexport type TrustworthinessCharacteristic = z.infer<typeof TrustworthinessCharacteristicSchema>;\r\n\r\nexport const TrustworthinessSchema = z.object({\r\n /** Valid and reliable: produces accurate, consistent results */\r\n valid: TrustworthinessCharacteristicSchema.optional(),\r\n reliable: TrustworthinessCharacteristicSchema.optional(),\r\n /** Safe: minimizes harm and risk */\r\n safe: TrustworthinessCharacteristicSchema.optional(),\r\n /** Secure: protected against threats */\r\n secure: TrustworthinessCharacteristicSchema.optional(),\r\n /** Accountable: clear responsibility and oversight */\r\n accountable: TrustworthinessCharacteristicSchema.optional(),\r\n /** Transparent: understandable and open about limitations */\r\n transparent: TrustworthinessCharacteristicSchema.optional(),\r\n /** Explainable: decisions can be understood */\r\n explainable: TrustworthinessCharacteristicSchema.optional(),\r\n /** Privacy-enhanced: protects personal information */\r\n privacyEnhanced: TrustworthinessCharacteristicSchema.optional(),\r\n /** Fair: avoids bias and discrimination */\r\n fair: TrustworthinessCharacteristicSchema.optional(),\r\n});\r\n\r\nexport type Trustworthiness = z.infer<typeof TrustworthinessSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// CLASSIFICATION SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ClassificationSchema = z.object({\r\n /** Primary AIGRC risk level */\r\n riskLevel: z.enum([\"minimal\", \"limited\", \"high\", \"unacceptable\"]),\r\n /** Risk factors that influenced the classification */\r\n riskFactors: RiskFactorsSchema,\r\n /** EU AI Act specific classification (legacy, prefer jurisdictions) */\r\n euAiAct: z\r\n .object({\r\n category: z.string(),\r\n transparencyRequired: z.boolean().default(false),\r\n })\r\n .optional(),\r\n /** Required artifacts based on classification */\r\n requiredArtifacts: z\r\n .array(\r\n z.object({\r\n type: z.string(),\r\n status: z.enum([\"pending\", \"complete\", \"not_applicable\"]),\r\n path: z.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n /** Per-jurisdiction classifications for multi-jurisdiction compliance */\r\n jurisdictions: z.array(JurisdictionClassificationSchema).optional(),\r\n /** NIST AI RMF trustworthiness characteristics */\r\n trustworthiness: TrustworthinessSchema.optional(),\r\n});\r\n\r\nexport type Classification = z.infer<typeof ClassificationSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// INTENT SCHEMA (Golden Thread)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const IntentSchema = z.object({\r\n linked: z.boolean().default(false),\r\n ticketSystem: z.enum([\"jira\", \"ado\", \"github\", \"gitlab\"]).nullable().optional(),\r\n ticketId: z.string().nullable().optional(),\r\n ticketUrl: z.string().url().nullable().optional(),\r\n businessJustification: z.string().nullable().optional(),\r\n riskTolerance: z.enum([\"low\", \"medium\", \"high\"]).nullable().optional(),\r\n importedAt: z.string().datetime().nullable().optional(),\r\n});\r\n\r\nexport type Intent = z.infer<typeof IntentSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// GOVERNANCE SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ApprovalSchema = z.object({\r\n role: z.string(),\r\n name: z.string(),\r\n email: z.string().email().optional(),\r\n date: z.string(),\r\n source: z.string().optional(),\r\n});\r\n\r\nexport const GovernanceSchema = z.object({\r\n status: z.enum([\"draft\", \"linked\", \"approved\", \"production\", \"deprecated\", \"revoked\"]),\r\n approvals: z.array(ApprovalSchema).default([]),\r\n deployment: z\r\n .object({\r\n environments: z.array(z.string()).default([]),\r\n lastDeployed: z.string().datetime().nullable().optional(),\r\n })\r\n .optional(),\r\n});\r\n\r\nexport type Governance = z.infer<typeof GovernanceSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// CONSTRAINTS SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ConstraintsSchema = z.object({\r\n runtime: z\r\n .object({\r\n maxIterations: z.number().positive().optional(),\r\n timeoutSeconds: z.number().positive().optional(),\r\n maxTokensPerRequest: z.number().positive().optional(),\r\n maxCostPerRequestUsd: z.number().positive().optional(),\r\n })\r\n .optional(),\r\n humanApprovalRequired: z.array(z.string()).optional(),\r\n monitoring: z\r\n .object({\r\n logAllDecisions: z.boolean().default(true),\r\n logToolInvocations: z.boolean().default(true),\r\n })\r\n .optional(),\r\n});\r\n\r\nexport type Constraints = z.infer<typeof ConstraintsSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// ASSET CARD SCHEMA (Main Schema)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const AssetCardSchema = z.object({\r\n $schema: z.string().optional(),\r\n id: z.string().regex(/^aigrc-\\d{4}-[a-f0-9]{8}$/),\r\n name: z.string().min(1).max(100),\r\n description: z.string().max(500).optional(),\r\n version: z.string().default(\"1.0.0\"),\r\n created: z.string().datetime(),\r\n updated: z.string().datetime(),\r\n ownership: z.object({\r\n owner: OwnerSchema,\r\n team: z.string().optional(),\r\n }),\r\n technical: TechnicalSchema,\r\n classification: ClassificationSchema,\r\n intent: IntentSchema,\r\n governance: GovernanceSchema,\r\n constraints: ConstraintsSchema.optional(),\r\n});\r\n\r\nexport type AssetCard = z.infer<typeof AssetCardSchema>;"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/index.ts"],"sourcesContent":["import { z } from \"zod\";\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// OWNER SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const OwnerSchema = z.object({\r\n name: z.string().min(1),\r\n email: z.string().email(),\r\n team: z.string().optional(),\r\n});\r\n\r\nexport type Owner = z.infer<typeof OwnerSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// TECHNICAL SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const TechnicalSchema = z.object({\r\n type: z.enum([\"model\", \"agent\", \"api_client\", \"framework\", \"pipeline\"]),\r\n framework: z.string().optional(),\r\n frameworkVersion: z.string().optional(),\r\n components: z\r\n .array(\r\n z.object({\r\n type: z.string(),\r\n provider: z.string().optional(),\r\n model: z.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n sourceFiles: z.array(z.string()).optional(),\r\n});\r\n\r\nexport type Technical = z.infer<typeof TechnicalSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// RISK FACTORS SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const RiskFactorsSchema = z.object({\r\n autonomousDecisions: z.boolean().default(false),\r\n customerFacing: z.boolean().default(false),\r\n toolExecution: z.boolean().default(false),\r\n externalDataAccess: z.boolean().default(false),\r\n piiProcessing: z.enum([\"yes\", \"no\", \"unknown\"]).default(\"unknown\"),\r\n highStakesDecisions: z.boolean().default(false),\r\n});\r\n\r\nexport type RiskFactors = z.infer<typeof RiskFactorsSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// JURISDICTION CLASSIFICATION SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ControlStatusSchema = z.object({\r\n controlId: z.string(),\r\n status: z.enum([\"implemented\", \"partial\", \"not_implemented\", \"not_applicable\"]),\r\n evidence: z.string().optional(),\r\n notes: z.string().optional(),\r\n lastUpdated: z.string().datetime().optional(),\r\n});\r\n\r\nexport type ControlStatus = z.infer<typeof ControlStatusSchema>;\r\n\r\nexport const JurisdictionClassificationSchema = z.object({\r\n /** Profile/jurisdiction ID (e.g., \"eu-ai-act\", \"us-omb-m24\") */\r\n jurisdictionId: z.string(),\r\n /** Risk level mapped to this jurisdiction's terminology */\r\n riskLevel: z.string(),\r\n /** Jurisdiction-specific category (e.g., EU AI Act category) */\r\n category: z.string().optional(),\r\n /** Status of controls for this jurisdiction */\r\n controlStatuses: z.array(ControlStatusSchema).optional(),\r\n /** Required artifacts for this jurisdiction */\r\n requiredArtifacts: z\r\n .array(\r\n z.object({\r\n artifactId: z.string(),\r\n status: z.enum([\"pending\", \"complete\", \"not_applicable\"]),\r\n path: z.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n /** Last compliance check date */\r\n lastChecked: z.string().datetime().optional(),\r\n /** Compliance percentage for this jurisdiction */\r\n compliancePercentage: z.number().min(0).max(100).optional(),\r\n});\r\n\r\nexport type JurisdictionClassification = z.infer<typeof JurisdictionClassificationSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// TRUSTWORTHINESS CHARACTERISTICS SCHEMA (NIST AI RMF)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const TrustworthinessCharacteristicSchema = z.object({\r\n score: z.number().min(0).max(100).optional(),\r\n notes: z.string().optional(),\r\n lastAssessed: z.string().datetime().optional(),\r\n assessedBy: z.string().optional(),\r\n});\r\n\r\nexport type TrustworthinessCharacteristic = z.infer<typeof TrustworthinessCharacteristicSchema>;\r\n\r\nexport const TrustworthinessSchema = z.object({\r\n /** Valid and reliable: produces accurate, consistent results */\r\n valid: TrustworthinessCharacteristicSchema.optional(),\r\n reliable: TrustworthinessCharacteristicSchema.optional(),\r\n /** Safe: minimizes harm and risk */\r\n safe: TrustworthinessCharacteristicSchema.optional(),\r\n /** Secure: protected against threats */\r\n secure: TrustworthinessCharacteristicSchema.optional(),\r\n /** Accountable: clear responsibility and oversight */\r\n accountable: TrustworthinessCharacteristicSchema.optional(),\r\n /** Transparent: understandable and open about limitations */\r\n transparent: TrustworthinessCharacteristicSchema.optional(),\r\n /** Explainable: decisions can be understood */\r\n explainable: TrustworthinessCharacteristicSchema.optional(),\r\n /** Privacy-enhanced: protects personal information */\r\n privacyEnhanced: TrustworthinessCharacteristicSchema.optional(),\r\n /** Fair: avoids bias and discrimination */\r\n fair: TrustworthinessCharacteristicSchema.optional(),\r\n});\r\n\r\nexport type Trustworthiness = z.infer<typeof TrustworthinessSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// CLASSIFICATION SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ClassificationSchema = z.object({\r\n /** Primary AIGRC risk level */\r\n riskLevel: z.enum([\"minimal\", \"limited\", \"high\", \"unacceptable\"]),\r\n /** Risk factors that influenced the classification */\r\n riskFactors: RiskFactorsSchema,\r\n /** EU AI Act specific classification (legacy, prefer jurisdictions) */\r\n euAiAct: z\r\n .object({\r\n category: z.string(),\r\n transparencyRequired: z.boolean().default(false),\r\n })\r\n .optional(),\r\n /** Required artifacts based on classification */\r\n requiredArtifacts: z\r\n .array(\r\n z.object({\r\n type: z.string(),\r\n status: z.enum([\"pending\", \"complete\", \"not_applicable\"]),\r\n path: z.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n /** Per-jurisdiction classifications for multi-jurisdiction compliance */\r\n jurisdictions: z.array(JurisdictionClassificationSchema).optional(),\r\n /** NIST AI RMF trustworthiness characteristics */\r\n trustworthiness: TrustworthinessSchema.optional(),\r\n});\r\n\r\nexport type Classification = z.infer<typeof ClassificationSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// INTENT SCHEMA (Golden Thread)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const IntentSchema = z.object({\r\n linked: z.boolean().default(false),\r\n ticketSystem: z.enum([\"jira\", \"ado\", \"github\", \"gitlab\"]).nullable().optional(),\r\n ticketId: z.string().nullable().optional(),\r\n ticketUrl: z.string().url().nullable().optional(),\r\n businessJustification: z.string().nullable().optional(),\r\n riskTolerance: z.enum([\"low\", \"medium\", \"high\"]).nullable().optional(),\r\n importedAt: z.string().datetime().nullable().optional(),\r\n});\r\n\r\nexport type Intent = z.infer<typeof IntentSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// GOVERNANCE SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ApprovalSchema = z.object({\r\n role: z.string(),\r\n name: z.string(),\r\n email: z.string().email().optional(),\r\n date: z.string(),\r\n source: z.string().optional(),\r\n});\r\n\r\nexport const GovernanceSchema = z.object({\r\n status: z.enum([\"draft\", \"linked\", \"approved\", \"production\", \"deprecated\", \"revoked\"]),\r\n approvals: z.array(ApprovalSchema).default([]),\r\n deployment: z\r\n .object({\r\n environments: z.array(z.string()).default([]),\r\n lastDeployed: z.string().datetime().nullable().optional(),\r\n })\r\n .optional(),\r\n});\r\n\r\nexport type Governance = z.infer<typeof GovernanceSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// CONSTRAINTS SCHEMA\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const ConstraintsSchema = z.object({\r\n runtime: z\r\n .object({\r\n maxIterations: z.number().positive().optional(),\r\n timeoutSeconds: z.number().positive().optional(),\r\n maxTokensPerRequest: z.number().positive().optional(),\r\n maxCostPerRequestUsd: z.number().positive().optional(),\r\n })\r\n .optional(),\r\n humanApprovalRequired: z.array(z.string()).optional(),\r\n monitoring: z\r\n .object({\r\n logAllDecisions: z.boolean().default(true),\r\n logToolInvocations: z.boolean().default(true),\r\n })\r\n .optional(),\r\n});\r\n\r\nexport type Constraints = z.infer<typeof ConstraintsSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// RISK LEVEL SCHEMA (for runtime governance)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const RiskLevelSchema = z.enum([\"minimal\", \"limited\", \"high\", \"unacceptable\"]);\r\nexport type RiskLevel = z.infer<typeof RiskLevelSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// GOLDEN THREAD SCHEMA (SPEC-PRT-001)\r\n// Cryptographic linking from runtime to business authorization\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const GoldenThreadSchema = z.object({\r\n /** Ticket ID from approval system (e.g., \"FIN-1234\") */\r\n ticket_id: z.string().min(1),\r\n /** Email of approver (e.g., \"ciso@corp.com\") */\r\n approved_by: z.string().email(),\r\n /** ISO 8601 timestamp of approval (e.g., \"2025-01-15T10:30:00Z\") */\r\n approved_at: z.string().datetime(),\r\n /** SHA-256 hash of canonical string: sha256:{64 hex chars} */\r\n hash: z.string().regex(/^sha256:[a-f0-9]{64}$/).optional(),\r\n /** Optional cryptographic signature: {ALGORITHM}:{BASE64_SIGNATURE} */\r\n signature: z.string().regex(/^(RSA-SHA256|ECDSA-P256):[A-Za-z0-9+/=]+$/).optional(),\r\n});\r\n\r\nexport type GoldenThread = z.infer<typeof GoldenThreadSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// LINEAGE SCHEMA (SPEC-RT-002: Agent Hierarchy)\r\n// Tracks parent-child relationships for spawned agents\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const LineageSchema = z.object({\r\n /** Parent agent's instance_id, null for root agents */\r\n parent_instance_id: z.string().uuid().nullable(),\r\n /** Depth in spawn tree: 0 for root, 1 for first child, etc. */\r\n generation_depth: z.number().int().min(0),\r\n /** Chain of ancestor instance_ids from root to parent */\r\n ancestor_chain: z.array(z.string().uuid()),\r\n /** When this agent was spawned */\r\n spawned_at: z.string().datetime(),\r\n /** Root agent's instance_id for tracing entire tree */\r\n root_instance_id: z.string().uuid(),\r\n});\r\n\r\nexport type Lineage = z.infer<typeof LineageSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// CAPABILITIES MANIFEST SCHEMA (SPEC-RT-002)\r\n// Defines what actions/resources an agent is allowed\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const CapabilitiesManifestSchema = z.object({\r\n /** List of allowed tool/action identifiers (supports wildcards: *, prefix_*) */\r\n allowed_tools: z.array(z.string()).default([]),\r\n /** List of explicitly denied tools (takes precedence over allowed) */\r\n denied_tools: z.array(z.string()).default([]),\r\n /** Allowed domain patterns (regex) for external resources */\r\n allowed_domains: z.array(z.string()).default([]),\r\n /** Denied domain patterns (takes precedence over allowed) */\r\n denied_domains: z.array(z.string()).default([]),\r\n /** Maximum cost per session in USD */\r\n max_cost_per_session: z.number().positive().nullable().optional(),\r\n /** Maximum cost per day in USD */\r\n max_cost_per_day: z.number().positive().nullable().optional(),\r\n /** Maximum tokens per single API call */\r\n max_tokens_per_call: z.number().int().positive().nullable().optional(),\r\n /** Whether this agent can spawn child agents */\r\n may_spawn_children: z.boolean().default(false),\r\n /** Maximum depth of child agent spawning (0 = cannot spawn) */\r\n max_child_depth: z.number().int().min(0).default(0),\r\n /** Capability decay mode for children: decay, explicit, inherit */\r\n capability_mode: z.enum([\"decay\", \"explicit\", \"inherit\"]).default(\"decay\"),\r\n /** Custom extension fields */\r\n custom: z.record(z.unknown()).optional(),\r\n});\r\n\r\nexport type CapabilitiesManifest = z.infer<typeof CapabilitiesManifestSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// OPERATING MODE SCHEMA (SPEC-RT-002)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const OperatingModeSchema = z.enum([\"NORMAL\", \"SANDBOX\", \"RESTRICTED\"]);\r\nexport type OperatingMode = z.infer<typeof OperatingModeSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// RUNTIME IDENTITY SCHEMA (SPEC-RT-002)\r\n// Cryptographic identity established at agent startup\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const RuntimeIdentitySchema = z.object({\r\n /** Unique UUIDv4 for this runtime instance */\r\n instance_id: z.string().uuid(),\r\n /** Asset ID from the Asset Card (e.g., \"aigrc-2024-a1b2c3d4\") */\r\n asset_id: z.string().regex(/^aigrc-\\d{4}-[a-f0-9]{8}$/),\r\n /** Human-readable name from Asset Card */\r\n asset_name: z.string().min(1).max(100),\r\n /** Semantic version from Asset Card */\r\n asset_version: z.string().regex(/^\\d+\\.\\d+\\.\\d+/),\r\n /** SHA-256 hash of Golden Thread data */\r\n golden_thread_hash: z.string().regex(/^sha256:[a-f0-9]{64}$/),\r\n /** Full Golden Thread authorization data */\r\n golden_thread: GoldenThreadSchema,\r\n /** Risk level from classification */\r\n risk_level: RiskLevelSchema,\r\n /** Agent lineage for spawned agents */\r\n lineage: LineageSchema,\r\n /** Capabilities manifest defining permissions */\r\n capabilities_manifest: CapabilitiesManifestSchema,\r\n /** When this identity was created */\r\n created_at: z.string().datetime(),\r\n /** Whether Golden Thread hash has been verified */\r\n verified: z.boolean().default(false),\r\n /** Current operating mode */\r\n mode: OperatingModeSchema.default(\"NORMAL\"),\r\n});\r\n\r\nexport type RuntimeIdentity = z.infer<typeof RuntimeIdentitySchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// KILL SWITCH COMMAND SCHEMA (SPEC-RT-005)\r\n// Remote termination command structure\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const KillSwitchCommandTypeSchema = z.enum([\"TERMINATE\", \"PAUSE\", \"RESUME\"]);\r\nexport type KillSwitchCommandType = z.infer<typeof KillSwitchCommandTypeSchema>;\r\n\r\nexport const KillSwitchCommandSchema = z.object({\r\n /** Unique command ID for idempotency and replay prevention */\r\n command_id: z.string().uuid(),\r\n /** Type of command */\r\n type: KillSwitchCommandTypeSchema,\r\n /** Target instance_id (optional, for specific instance) */\r\n instance_id: z.string().uuid().optional(),\r\n /** Target asset_id (optional, for all instances of an asset) */\r\n asset_id: z.string().regex(/^aigrc-\\d{4}-[a-f0-9]{8}$/).optional(),\r\n /** Target organization (optional, for org-wide kill) */\r\n organization: z.string().optional(),\r\n /** Cryptographic signature for verification */\r\n signature: z.string(),\r\n /** ISO 8601 timestamp for replay prevention */\r\n timestamp: z.string().datetime(),\r\n /** Human-readable reason for audit trail */\r\n reason: z.string().max(500),\r\n /** Issuer of the command (email or system ID) */\r\n issued_by: z.string(),\r\n});\r\n\r\nexport type KillSwitchCommand = z.infer<typeof KillSwitchCommandSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// GOVERNANCE TOKEN PAYLOAD SCHEMA (SPEC-PRT-003: A2A)\r\n// JWT payload for agent-to-agent mutual authentication\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const GovernanceTokenIdentityClaimsSchema = z.object({\r\n instance_id: z.string().uuid(),\r\n asset_id: z.string(),\r\n asset_name: z.string(),\r\n asset_version: z.string(),\r\n});\r\n\r\nexport const GovernanceTokenGovernanceClaimsSchema = z.object({\r\n risk_level: RiskLevelSchema,\r\n golden_thread: z.object({\r\n hash: z.string().regex(/^sha256:[a-f0-9]{64}$/),\r\n verified: z.boolean(),\r\n ticket_id: z.string(),\r\n }),\r\n mode: OperatingModeSchema,\r\n});\r\n\r\nexport const GovernanceTokenControlClaimsSchema = z.object({\r\n kill_switch: z.object({\r\n enabled: z.boolean(),\r\n channel: z.enum([\"sse\", \"polling\", \"file\"]),\r\n }),\r\n paused: z.boolean(),\r\n termination_pending: z.boolean(),\r\n});\r\n\r\nexport const GovernanceTokenCapabilityClaimsSchema = z.object({\r\n hash: z.string(),\r\n tools: z.array(z.string()),\r\n max_budget_usd: z.number().nullable(),\r\n can_spawn: z.boolean(),\r\n max_child_depth: z.number().int().min(0),\r\n});\r\n\r\nexport const GovernanceTokenLineageClaimsSchema = z.object({\r\n generation_depth: z.number().int().min(0),\r\n parent_instance_id: z.string().uuid().nullable(),\r\n root_instance_id: z.string().uuid(),\r\n});\r\n\r\nexport const GovernanceTokenPayloadSchema = z.object({\r\n // Standard JWT claims\r\n /** Issuer: \"aigos-runtime\" */\r\n iss: z.literal(\"aigos-runtime\"),\r\n /** Subject: instance_id of the agent */\r\n sub: z.string().uuid(),\r\n /** Audience: \"aigos-agents\" or specific agent */\r\n aud: z.union([z.string(), z.array(z.string())]),\r\n /** Expiration timestamp (Unix epoch) */\r\n exp: z.number().int().positive(),\r\n /** Issued at timestamp (Unix epoch) */\r\n iat: z.number().int().positive(),\r\n /** Not before timestamp (Unix epoch) */\r\n nbf: z.number().int().positive(),\r\n /** Unique JWT ID */\r\n jti: z.string().uuid(),\r\n\r\n // AIGOS-specific claims\r\n aigos: z.object({\r\n identity: GovernanceTokenIdentityClaimsSchema,\r\n governance: GovernanceTokenGovernanceClaimsSchema,\r\n control: GovernanceTokenControlClaimsSchema,\r\n capabilities: GovernanceTokenCapabilityClaimsSchema,\r\n lineage: GovernanceTokenLineageClaimsSchema,\r\n }),\r\n});\r\n\r\nexport type GovernanceTokenPayload = z.infer<typeof GovernanceTokenPayloadSchema>;\r\nexport type GovernanceTokenIdentityClaims = z.infer<typeof GovernanceTokenIdentityClaimsSchema>;\r\nexport type GovernanceTokenGovernanceClaims = z.infer<typeof GovernanceTokenGovernanceClaimsSchema>;\r\nexport type GovernanceTokenControlClaims = z.infer<typeof GovernanceTokenControlClaimsSchema>;\r\nexport type GovernanceTokenCapabilityClaims = z.infer<typeof GovernanceTokenCapabilityClaimsSchema>;\r\nexport type GovernanceTokenLineageClaims = z.infer<typeof GovernanceTokenLineageClaimsSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// ASSET CARD RUNTIME EXTENSION (SPEC-FMT-002)\r\n// Optional runtime section for Asset Cards\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const AssetCardRuntimeSchema = z.object({\r\n /** Path to policy file for this asset */\r\n policy_path: z.string().optional(),\r\n /** Behavior when Golden Thread verification fails */\r\n verification_failure_mode: z.enum([\"SANDBOX\", \"FAIL\"]).default(\"SANDBOX\"),\r\n /** Whether telemetry is enabled for this asset */\r\n telemetry_enabled: z.boolean().default(true),\r\n /** Kill switch configuration */\r\n kill_switch: z.object({\r\n enabled: z.boolean().default(true),\r\n channel: z.enum([\"sse\", \"polling\", \"file\"]).default(\"sse\"),\r\n endpoint: z.string().url().optional(),\r\n }).optional(),\r\n});\r\n\r\nexport type AssetCardRuntime = z.infer<typeof AssetCardRuntimeSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// POLICY FILE SCHEMA (SPEC-RT-003)\r\n// Defines runtime governance policies for AI agents\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const PolicyRuleEffectSchema = z.enum([\"allow\", \"deny\", \"audit\"]);\r\nexport type PolicyRuleEffect = z.infer<typeof PolicyRuleEffectSchema>;\r\n\r\nexport const PolicyRuleSchema = z.object({\r\n /** Unique identifier for this rule */\r\n id: z.string().min(1),\r\n /** Human-readable description */\r\n description: z.string().optional(),\r\n /** Effect when rule matches: allow, deny, or audit */\r\n effect: PolicyRuleEffectSchema,\r\n /** Actions/tools this rule applies to (supports wildcards) */\r\n actions: z.array(z.string()).default([\"*\"]),\r\n /** Resources/domains this rule applies to (supports patterns) */\r\n resources: z.array(z.string()).default([\"*\"]),\r\n /** Conditions that must be true for rule to apply */\r\n conditions: z.object({\r\n /** Required risk levels for this rule to apply */\r\n risk_levels: z.array(RiskLevelSchema).optional(),\r\n /** Required operating modes */\r\n modes: z.array(OperatingModeSchema).optional(),\r\n /** Time-based conditions (ISO 8601 time ranges) */\r\n time_ranges: z.array(z.object({\r\n start: z.string(),\r\n end: z.string(),\r\n })).optional(),\r\n /** Custom condition expressions */\r\n custom: z.record(z.unknown()).optional(),\r\n }).optional(),\r\n /** Priority for rule ordering (higher = evaluated first) */\r\n priority: z.number().int().default(0),\r\n});\r\n\r\nexport type PolicyRule = z.infer<typeof PolicyRuleSchema>;\r\n\r\nexport const PolicyCapabilitiesSchema = z.object({\r\n /** Default effect when no rule matches */\r\n default_effect: PolicyRuleEffectSchema.default(\"deny\"),\r\n /** Allowed tools (supports wildcards: *, prefix_*) */\r\n allowed_tools: z.array(z.string()).default([]),\r\n /** Denied tools (takes precedence) */\r\n denied_tools: z.array(z.string()).default([]),\r\n /** Allowed domain patterns */\r\n allowed_domains: z.array(z.string()).default([]),\r\n /** Denied domain patterns */\r\n denied_domains: z.array(z.string()).default([]),\r\n /** Maximum budget per session in USD */\r\n max_budget_per_session: z.number().positive().nullable().optional(),\r\n /** Maximum budget per day in USD */\r\n max_budget_per_day: z.number().positive().nullable().optional(),\r\n /** Whether agent can spawn children */\r\n may_spawn: z.boolean().default(false),\r\n /** Maximum spawn depth */\r\n max_spawn_depth: z.number().int().min(0).default(0),\r\n});\r\n\r\nexport type PolicyCapabilities = z.infer<typeof PolicyCapabilitiesSchema>;\r\n\r\nexport const PolicyFileSchema = z.object({\r\n /** Schema version for forward compatibility */\r\n version: z.literal(\"1.0\"),\r\n /** Unique policy identifier */\r\n id: z.string().min(1),\r\n /** Human-readable name */\r\n name: z.string().min(1).max(100),\r\n /** Description of this policy */\r\n description: z.string().max(500).optional(),\r\n /** Parent policy to inherit from */\r\n extends: z.string().optional(),\r\n /** Target asset IDs or patterns this policy applies to */\r\n applies_to: z.array(z.string()).default([\"*\"]),\r\n /** Default capabilities when no rules match */\r\n capabilities: PolicyCapabilitiesSchema.optional(),\r\n /** Ordered list of policy rules */\r\n rules: z.array(PolicyRuleSchema).default([]),\r\n /** Metadata */\r\n metadata: z.object({\r\n created_at: z.string().datetime().optional(),\r\n updated_at: z.string().datetime().optional(),\r\n created_by: z.string().optional(),\r\n tags: z.array(z.string()).optional(),\r\n }).optional(),\r\n});\r\n\r\nexport type PolicyFile = z.infer<typeof PolicyFileSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// AIGRC CONFIGURATION SCHEMA (.aigrc.yaml)\r\n// Root configuration file for AIGRC projects\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const AigrcRuntimeConfigSchema = z.object({\r\n /** Default policy file path */\r\n default_policy: z.string().optional(),\r\n /** Policy search paths */\r\n policy_paths: z.array(z.string()).default([\".aigrc/policies\"]),\r\n /** Asset card search paths */\r\n asset_paths: z.array(z.string()).default([\".aigrc/assets\"]),\r\n /** Default verification failure mode */\r\n verification_failure_mode: z.enum([\"SANDBOX\", \"FAIL\"]).default(\"SANDBOX\"),\r\n /** Telemetry configuration */\r\n telemetry: z.object({\r\n enabled: z.boolean().default(true),\r\n endpoint: z.string().url().optional(),\r\n sample_rate: z.number().min(0).max(1).default(1.0),\r\n }).optional(),\r\n /** Kill switch configuration */\r\n kill_switch: z.object({\r\n enabled: z.boolean().default(true),\r\n channel: z.enum([\"sse\", \"polling\", \"file\"]).default(\"sse\"),\r\n endpoint: z.string().url().optional(),\r\n poll_interval_ms: z.number().int().positive().default(5000),\r\n }).optional(),\r\n});\r\n\r\nexport type AigrcRuntimeConfig = z.infer<typeof AigrcRuntimeConfigSchema>;\r\n\r\nexport const AigrcIntegrationsConfigSchema = z.object({\r\n /** JIRA integration */\r\n jira: z.object({\r\n enabled: z.boolean().default(false),\r\n url: z.string().url().optional(),\r\n project_key: z.string().optional(),\r\n }).optional(),\r\n /** Azure DevOps integration */\r\n azure_devops: z.object({\r\n enabled: z.boolean().default(false),\r\n organization: z.string().optional(),\r\n project: z.string().optional(),\r\n }).optional(),\r\n /** GitHub integration */\r\n github: z.object({\r\n enabled: z.boolean().default(false),\r\n owner: z.string().optional(),\r\n repo: z.string().optional(),\r\n }).optional(),\r\n});\r\n\r\nexport type AigrcIntegrationsConfig = z.infer<typeof AigrcIntegrationsConfigSchema>;\r\n\r\nexport const AigrcConfigSchema = z.object({\r\n /** Schema version */\r\n version: z.literal(\"1.0\"),\r\n /** Project name */\r\n name: z.string().min(1).max(100).optional(),\r\n /** Project description */\r\n description: z.string().max(500).optional(),\r\n /** Runtime governance configuration */\r\n runtime: AigrcRuntimeConfigSchema.optional(),\r\n /** External integrations */\r\n integrations: AigrcIntegrationsConfigSchema.optional(),\r\n /** Environment-specific overrides */\r\n environments: z.record(z.object({\r\n runtime: AigrcRuntimeConfigSchema.partial().optional(),\r\n integrations: AigrcIntegrationsConfigSchema.partial().optional(),\r\n })).optional(),\r\n});\r\n\r\nexport type AigrcConfig = z.infer<typeof AigrcConfigSchema>;\r\n\r\n// ─────────────────────────────────────────────────────────────────\r\n// ASSET CARD SCHEMA (Main Schema)\r\n// ─────────────────────────────────────────────────────────────────\r\n\r\nexport const AssetCardSchema = z.object({\r\n $schema: z.string().optional(),\r\n id: z.string().regex(/^aigrc-\\d{4}-[a-f0-9]{8}$/),\r\n name: z.string().min(1).max(100),\r\n description: z.string().max(500).optional(),\r\n version: z.string().default(\"1.0.0\"),\r\n created: z.string().datetime(),\r\n updated: z.string().datetime(),\r\n ownership: z.object({\r\n owner: OwnerSchema,\r\n team: z.string().optional(),\r\n }),\r\n technical: TechnicalSchema,\r\n classification: ClassificationSchema,\r\n intent: IntentSchema,\r\n governance: GovernanceSchema,\r\n constraints: ConstraintsSchema.optional(),\r\n /** Golden Thread authorization data (SPEC-PRT-001) */\r\n golden_thread: GoldenThreadSchema.optional(),\r\n /** Runtime governance configuration (SPEC-RT) */\r\n runtime: AssetCardRuntimeSchema.optional(),\r\n});\r\n\r\nexport type AssetCard = z.infer<typeof AssetCardSchema>;"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aigrc/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Core logic for AIGRC - schemas, validation, risk classification",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "AIGRC <contact@aigrc.dev>",
|
|
@@ -44,6 +44,16 @@
|
|
|
44
44
|
"types": "./dist/schemas/index.d.ts",
|
|
45
45
|
"import": "./dist/schemas/index.mjs",
|
|
46
46
|
"require": "./dist/schemas/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./air": {
|
|
49
|
+
"types": "./dist/air/index.d.ts",
|
|
50
|
+
"import": "./dist/air/index.mjs",
|
|
51
|
+
"require": "./dist/air/index.js"
|
|
52
|
+
},
|
|
53
|
+
"./governance-lock": {
|
|
54
|
+
"types": "./dist/governance-lock/index.d.ts",
|
|
55
|
+
"import": "./dist/governance-lock/index.mjs",
|
|
56
|
+
"require": "./dist/governance-lock/index.js"
|
|
47
57
|
}
|
|
48
58
|
},
|
|
49
59
|
"files": ["dist"],
|