@kya-os/contracts 1.3.5 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/agentshield-api/endpoints.d.ts +50 -0
  2. package/dist/agentshield-api/endpoints.js +46 -0
  3. package/dist/agentshield-api/index.d.ts +13 -0
  4. package/dist/agentshield-api/index.js +38 -0
  5. package/dist/agentshield-api/schemas.d.ts +9914 -0
  6. package/dist/agentshield-api/schemas.js +165 -0
  7. package/dist/agentshield-api/types.d.ts +168 -0
  8. package/dist/agentshield-api/types.js +27 -0
  9. package/dist/cli.d.ts +13 -0
  10. package/dist/cli.js +13 -1
  11. package/dist/config/base.d.ts +96 -0
  12. package/dist/config/base.js +11 -0
  13. package/dist/config/delegation.d.ts +194 -0
  14. package/dist/config/delegation.js +10 -0
  15. package/dist/config/identity.d.ts +117 -0
  16. package/dist/config/identity.js +11 -0
  17. package/dist/config/index.d.ts +33 -0
  18. package/dist/config/index.js +11 -0
  19. package/dist/config/proofing.d.ts +120 -0
  20. package/dist/config/proofing.js +10 -0
  21. package/dist/config/tool-protection.d.ts +139 -0
  22. package/dist/config/tool-protection.js +10 -0
  23. package/dist/dashboard-config/default-config.d.ts +49 -0
  24. package/dist/dashboard-config/default-config.js +225 -0
  25. package/dist/dashboard-config/index.d.ts +10 -0
  26. package/dist/dashboard-config/index.js +35 -0
  27. package/dist/dashboard-config/schemas.d.ts +5847 -0
  28. package/dist/dashboard-config/schemas.js +251 -0
  29. package/dist/dashboard-config/types.d.ts +331 -0
  30. package/dist/dashboard-config/types.js +11 -0
  31. package/dist/delegation/constraints.d.ts +991 -0
  32. package/dist/delegation/constraints.js +209 -0
  33. package/dist/delegation/index.d.ts +7 -0
  34. package/dist/delegation/index.js +23 -0
  35. package/dist/delegation/schemas.d.ts +8381 -0
  36. package/dist/delegation/schemas.js +475 -0
  37. package/dist/did/index.d.ts +8 -0
  38. package/dist/did/index.js +24 -0
  39. package/dist/did/resolve-contract.d.ts +219 -0
  40. package/dist/did/resolve-contract.js +31 -0
  41. package/dist/did/schemas.d.ts +112 -0
  42. package/dist/did/schemas.js +172 -0
  43. package/dist/did/types.d.ts +163 -0
  44. package/dist/did/types.js +70 -0
  45. package/dist/env/constants.d.ts +57 -0
  46. package/dist/env/constants.js +59 -0
  47. package/dist/env/index.d.ts +4 -0
  48. package/dist/env/index.js +20 -0
  49. package/dist/handshake.d.ts +20 -0
  50. package/dist/handshake.js +10 -3
  51. package/dist/index.d.ts +14 -0
  52. package/dist/index.js +28 -0
  53. package/dist/proof/index.d.ts +8 -0
  54. package/dist/proof/index.js +24 -0
  55. package/dist/proof/proof-record.d.ts +837 -0
  56. package/dist/proof/proof-record.js +133 -0
  57. package/dist/proof/signing-spec.d.ts +146 -0
  58. package/dist/proof/signing-spec.js +122 -0
  59. package/dist/proof.d.ts +53 -16
  60. package/dist/proof.js +27 -3
  61. package/dist/registry.d.ts +16 -0
  62. package/dist/registry.js +29 -9
  63. package/dist/runtime/errors.d.ts +347 -0
  64. package/dist/runtime/errors.js +119 -0
  65. package/dist/runtime/headers.d.ts +83 -0
  66. package/dist/runtime/headers.js +81 -0
  67. package/dist/runtime/index.d.ts +5 -0
  68. package/dist/runtime/index.js +21 -0
  69. package/dist/test.d.ts +36 -0
  70. package/dist/test.js +36 -0
  71. package/dist/tlkrc/index.d.ts +4 -0
  72. package/dist/tlkrc/index.js +20 -0
  73. package/dist/tlkrc/rotation.d.ts +245 -0
  74. package/dist/tlkrc/rotation.js +126 -0
  75. package/dist/tool-protection/index.d.ts +227 -0
  76. package/dist/tool-protection/index.js +113 -0
  77. package/dist/utils/validation.d.ts +16 -0
  78. package/dist/utils/validation.js +13 -0
  79. package/dist/vc/index.d.ts +7 -0
  80. package/dist/vc/index.js +23 -0
  81. package/dist/vc/schemas.d.ts +2483 -0
  82. package/dist/vc/schemas.js +224 -0
  83. package/dist/vc/statuslist.d.ts +493 -0
  84. package/dist/vc/statuslist.js +132 -0
  85. package/dist/verifier.d.ts +3 -0
  86. package/dist/verifier.js +7 -0
  87. package/dist/well-known/index.d.ts +308 -0
  88. package/dist/well-known/index.js +134 -0
  89. package/package.json +6 -1
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ /**
3
+ * Dashboard Configuration Zod Schemas
4
+ *
5
+ * Runtime validation schemas for dashboard configuration types.
6
+ * Used for validating API requests and responses.
7
+ *
8
+ * @package @kya-os/contracts/dashboard-config
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.validateServerConfigResponseSchema = exports.validateServerConfigRequestSchema = exports.updateServerConfigResponseSchema = exports.updateServerConfigRequestSchema = exports.getServerConfigResponseSchema = exports.getServerConfigRequestSchema = exports.mcpIServerConfigSchema = exports.configMetadataSchema = exports.platformConfigSchema = exports.vercelPlatformConfigSchema = exports.nodePlatformConfigSchema = exports.cloudflarePlatformConfigSchema = exports.sessionConfigSchema = exports.auditConfigSchema = exports.toolProtectionConfigSchema = exports.delegationConfigSchema = exports.proofingConfigSchema = exports.identityConfigSchema = void 0;
12
+ const zod_1 = require("zod");
13
+ const index_js_1 = require("../tool-protection/index.js");
14
+ /**
15
+ * Identity configuration schema
16
+ */
17
+ exports.identityConfigSchema = zod_1.z.object({
18
+ agentDid: zod_1.z.string().min(1),
19
+ environment: zod_1.z.enum(['development', 'production']),
20
+ storageLocation: zod_1.z.enum(['cloudflare-kv', 'file-system', 'env-vars']),
21
+ });
22
+ /**
23
+ * Proofing configuration schema
24
+ */
25
+ exports.proofingConfigSchema = zod_1.z.object({
26
+ enabled: zod_1.z.boolean(),
27
+ destinations: zod_1.z.array(zod_1.z.object({
28
+ type: zod_1.z.enum(['agentshield', 'kta', 'custom']),
29
+ apiUrl: zod_1.z.string().url(),
30
+ apiKey: zod_1.z.string().optional(),
31
+ })),
32
+ batchQueue: zod_1.z.object({
33
+ maxBatchSize: zod_1.z.number().int().positive().default(10),
34
+ flushIntervalMs: zod_1.z.number().int().positive().default(5000),
35
+ maxRetries: zod_1.z.number().int().nonnegative().default(3),
36
+ }),
37
+ });
38
+ /**
39
+ * Delegation verifier type schema
40
+ */
41
+ const delegationVerifierTypeSchema = zod_1.z.enum([
42
+ 'agentshield',
43
+ 'kta',
44
+ 'memory',
45
+ 'cloudflare-kv',
46
+ 'redis',
47
+ 'dynamodb',
48
+ 'custom',
49
+ ]);
50
+ /**
51
+ * Delegation configuration schema
52
+ */
53
+ exports.delegationConfigSchema = zod_1.z.object({
54
+ enabled: zod_1.z.boolean(),
55
+ enforceStrictly: zod_1.z.boolean(),
56
+ verifier: zod_1.z.object({
57
+ type: delegationVerifierTypeSchema,
58
+ apiUrl: zod_1.z.string().url().optional(),
59
+ cacheTtl: zod_1.z.number().int().positive().optional(),
60
+ }),
61
+ authorization: zod_1.z.object({
62
+ authorizationUrl: zod_1.z.string().url().optional(),
63
+ minReputationScore: zod_1.z.number().int().min(0).max(100).optional(),
64
+ resumeTokenTtl: zod_1.z.number().int().positive().optional(),
65
+ requireAuthForUnknown: zod_1.z.boolean().optional(),
66
+ }),
67
+ });
68
+ /**
69
+ * Tool protection configuration schema
70
+ */
71
+ exports.toolProtectionConfigSchema = zod_1.z.object({
72
+ source: zod_1.z.enum(['agentshield', 'inline', 'file']),
73
+ agentShield: zod_1.z.object({
74
+ apiUrl: zod_1.z.string().url(),
75
+ cacheTtl: zod_1.z.number().int().positive(),
76
+ }).optional(),
77
+ fallback: index_js_1.ToolProtectionMapSchema.optional(),
78
+ });
79
+ /**
80
+ * Audit configuration schema
81
+ */
82
+ exports.auditConfigSchema = zod_1.z.object({
83
+ enabled: zod_1.z.boolean(),
84
+ includeProofHashes: zod_1.z.boolean(),
85
+ includePayloads: zod_1.z.boolean(),
86
+ });
87
+ /**
88
+ * Session configuration schema
89
+ */
90
+ exports.sessionConfigSchema = zod_1.z.object({
91
+ timestampSkewSeconds: zod_1.z.number().int().positive().default(120),
92
+ ttlMinutes: zod_1.z.number().int().positive().default(30),
93
+ absoluteLifetime: zod_1.z.number().int().positive().optional(),
94
+ });
95
+ /**
96
+ * Cloudflare platform configuration schema
97
+ */
98
+ exports.cloudflarePlatformConfigSchema = zod_1.z.object({
99
+ workers: zod_1.z.object({
100
+ cpuMs: zod_1.z.number().int().positive().default(50),
101
+ memoryMb: zod_1.z.number().int().positive().default(128),
102
+ }),
103
+ kvNamespaces: zod_1.z.array(zod_1.z.object({
104
+ name: zod_1.z.string().min(1),
105
+ purpose: zod_1.z.enum(['sessions', 'delegations', 'cache', 'general']),
106
+ })),
107
+ environmentVariables: zod_1.z.array(zod_1.z.object({
108
+ name: zod_1.z.string().min(1),
109
+ value: zod_1.z.string(),
110
+ source: zod_1.z.enum(['wrangler.toml', 'secrets', '.dev.vars']),
111
+ })),
112
+ });
113
+ /**
114
+ * Node.js platform configuration schema
115
+ */
116
+ exports.nodePlatformConfigSchema = zod_1.z.object({
117
+ server: zod_1.z.object({
118
+ port: zod_1.z.number().int().positive().default(3000),
119
+ host: zod_1.z.string().default('0.0.0.0'),
120
+ cors: zod_1.z.boolean().default(true),
121
+ timeout: zod_1.z.number().int().positive().default(30000),
122
+ }),
123
+ storage: zod_1.z.object({
124
+ type: zod_1.z.enum(['memory', 'redis', 'postgres', 'mongodb']),
125
+ connection: zod_1.z.object({
126
+ host: zod_1.z.string().optional(),
127
+ port: zod_1.z.number().int().positive().optional(),
128
+ database: zod_1.z.string().optional(),
129
+ }).optional(),
130
+ }),
131
+ });
132
+ /**
133
+ * Vercel platform configuration schema
134
+ */
135
+ exports.vercelPlatformConfigSchema = zod_1.z.object({
136
+ environmentVariables: zod_1.z.array(zod_1.z.object({
137
+ name: zod_1.z.string().min(1),
138
+ value: zod_1.z.string(),
139
+ source: zod_1.z.enum(['vercel-dashboard', '.env.local']),
140
+ })),
141
+ edgeRuntime: zod_1.z.object({
142
+ maxDuration: zod_1.z.number().int().positive().optional(),
143
+ regions: zod_1.z.array(zod_1.z.string()).optional(),
144
+ }).optional(),
145
+ });
146
+ /**
147
+ * Platform configuration schema
148
+ */
149
+ exports.platformConfigSchema = zod_1.z.object({
150
+ type: zod_1.z.enum(['cloudflare', 'node', 'vercel']),
151
+ cloudflare: exports.cloudflarePlatformConfigSchema.optional(),
152
+ node: exports.nodePlatformConfigSchema.optional(),
153
+ vercel: exports.vercelPlatformConfigSchema.optional(),
154
+ });
155
+ /**
156
+ * Metadata schema
157
+ */
158
+ exports.configMetadataSchema = zod_1.z.object({
159
+ version: zod_1.z.string(),
160
+ lastUpdated: zod_1.z.string(),
161
+ source: zod_1.z.enum(['dashboard', 'code', 'mixed']),
162
+ serverUrl: zod_1.z.string().url().optional(),
163
+ deploymentStatus: zod_1.z.enum(['active', 'inactive', 'error']).optional(),
164
+ });
165
+ /**
166
+ * Complete MCP-I Server Configuration schema
167
+ */
168
+ exports.mcpIServerConfigSchema = zod_1.z.object({
169
+ identity: exports.identityConfigSchema,
170
+ proofing: exports.proofingConfigSchema,
171
+ delegation: exports.delegationConfigSchema,
172
+ toolProtection: exports.toolProtectionConfigSchema,
173
+ audit: exports.auditConfigSchema,
174
+ session: exports.sessionConfigSchema,
175
+ platform: exports.platformConfigSchema,
176
+ metadata: exports.configMetadataSchema,
177
+ });
178
+ /**
179
+ * Get server config request schema
180
+ */
181
+ exports.getServerConfigRequestSchema = zod_1.z.object({
182
+ projectId: zod_1.z.string().min(1),
183
+ });
184
+ /**
185
+ * Get server config response schema
186
+ */
187
+ exports.getServerConfigResponseSchema = zod_1.z.object({
188
+ success: zod_1.z.boolean(),
189
+ data: zod_1.z.object({
190
+ config: exports.mcpIServerConfigSchema,
191
+ }),
192
+ metadata: zod_1.z.object({
193
+ requestId: zod_1.z.string().optional(),
194
+ timestamp: zod_1.z.string().optional(),
195
+ }).optional(),
196
+ });
197
+ /**
198
+ * Update server config request schema
199
+ */
200
+ exports.updateServerConfigRequestSchema = zod_1.z.object({
201
+ projectId: zod_1.z.string().min(1),
202
+ config: exports.mcpIServerConfigSchema.partial(),
203
+ });
204
+ /**
205
+ * Update server config response schema
206
+ */
207
+ exports.updateServerConfigResponseSchema = zod_1.z.object({
208
+ success: zod_1.z.boolean(),
209
+ data: zod_1.z.object({
210
+ config: exports.mcpIServerConfigSchema,
211
+ changes: zod_1.z.array(zod_1.z.object({
212
+ path: zod_1.z.string(),
213
+ oldValue: zod_1.z.unknown(),
214
+ newValue: zod_1.z.unknown(),
215
+ })),
216
+ }),
217
+ metadata: zod_1.z.object({
218
+ requestId: zod_1.z.string().optional(),
219
+ timestamp: zod_1.z.string().optional(),
220
+ }).optional(),
221
+ });
222
+ /**
223
+ * Validate server config request schema
224
+ */
225
+ exports.validateServerConfigRequestSchema = zod_1.z.object({
226
+ projectId: zod_1.z.string().min(1),
227
+ config: exports.mcpIServerConfigSchema.partial(),
228
+ });
229
+ /**
230
+ * Validate server config response schema
231
+ */
232
+ exports.validateServerConfigResponseSchema = zod_1.z.object({
233
+ success: zod_1.z.boolean(),
234
+ data: zod_1.z.object({
235
+ valid: zod_1.z.boolean(),
236
+ errors: zod_1.z.array(zod_1.z.object({
237
+ path: zod_1.z.string(),
238
+ message: zod_1.z.string(),
239
+ code: zod_1.z.string(),
240
+ })).optional(),
241
+ warnings: zod_1.z.array(zod_1.z.object({
242
+ path: zod_1.z.string(),
243
+ message: zod_1.z.string(),
244
+ })).optional(),
245
+ }),
246
+ metadata: zod_1.z.object({
247
+ requestId: zod_1.z.string().optional(),
248
+ timestamp: zod_1.z.string().optional(),
249
+ }).optional(),
250
+ });
251
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1,331 @@
1
+ /**
2
+ * Dashboard Configuration Types
3
+ *
4
+ * Type definitions for AgentShield dashboard server configuration management API.
5
+ * These types ensure parity between xmcp-i and AgentShield dashboard implementations.
6
+ *
7
+ * @package @kya-os/contracts/dashboard-config
8
+ */
9
+ import type { ToolProtectionMap } from '../tool-protection/index.js';
10
+ import type { DelegationVerifierType } from '../config/delegation.js';
11
+ /**
12
+ * MCP-I Server Configuration (Dashboard View Model)
13
+ *
14
+ * This is a flattened, UI-friendly representation of server configuration
15
+ * used by the AgentShield dashboard for configuration management.
16
+ *
17
+ * This type differs from MCPIConfig in that it:
18
+ * - Includes platform-specific details
19
+ * - Includes read-only metadata
20
+ * - Flattens nested structures for easier UI rendering
21
+ * - Includes deployment status information
22
+ */
23
+ export interface MCPIServerConfig {
24
+ identity: {
25
+ /**
26
+ * Agent DID (public identifier)
27
+ * Read-only, displayed for reference
28
+ */
29
+ agentDid: string;
30
+ /**
31
+ * Environment mode
32
+ * Controls identity source: 'development' | 'production'
33
+ */
34
+ environment: 'development' | 'production';
35
+ /**
36
+ * Identity storage location (read-only)
37
+ * Shows where identity is stored based on platform
38
+ */
39
+ storageLocation: 'cloudflare-kv' | 'file-system' | 'env-vars';
40
+ };
41
+ proofing: {
42
+ /**
43
+ * Enable proof submission
44
+ */
45
+ enabled: boolean;
46
+ /**
47
+ * Proof destinations
48
+ * Where proofs are sent (AgentShield, KTA, etc.)
49
+ */
50
+ destinations: Array<{
51
+ type: 'agentshield' | 'kta' | 'custom';
52
+ apiUrl: string;
53
+ apiKey?: string;
54
+ }>;
55
+ /**
56
+ * Batch queue settings
57
+ */
58
+ batchQueue: {
59
+ maxBatchSize: number;
60
+ flushIntervalMs: number;
61
+ maxRetries: number;
62
+ };
63
+ };
64
+ delegation: {
65
+ /**
66
+ * Enable delegation enforcement
67
+ */
68
+ enabled: boolean;
69
+ /**
70
+ * Strict enforcement mode
71
+ * When true, blocks tools without delegation
72
+ * When false, logs warnings but allows execution
73
+ */
74
+ enforceStrictly: boolean;
75
+ /**
76
+ * Delegation verifier settings
77
+ */
78
+ verifier: {
79
+ type: DelegationVerifierType;
80
+ apiUrl?: string;
81
+ cacheTtl?: number;
82
+ };
83
+ /**
84
+ * Authorization flow settings
85
+ */
86
+ authorization: {
87
+ authorizationUrl?: string;
88
+ minReputationScore?: number;
89
+ resumeTokenTtl?: number;
90
+ requireAuthForUnknown?: boolean;
91
+ };
92
+ };
93
+ toolProtection: {
94
+ /**
95
+ * Source of tool protection config
96
+ * 'agentshield' = Fetched from AgentShield API (dashboard-controlled)
97
+ * 'inline' = Defined in code/config file
98
+ * 'file' = Loaded from external file
99
+ */
100
+ source: 'agentshield' | 'inline' | 'file';
101
+ /**
102
+ * AgentShield API settings (if source is 'agentshield')
103
+ */
104
+ agentShield?: {
105
+ apiUrl: string;
106
+ cacheTtl: number;
107
+ };
108
+ /**
109
+ * Fallback configuration
110
+ * Used when API is unavailable
111
+ * Displayed as read-only (managed via /tools page)
112
+ */
113
+ fallback?: ToolProtectionMap;
114
+ };
115
+ audit: {
116
+ /**
117
+ * Enable audit logging
118
+ */
119
+ enabled: boolean;
120
+ /**
121
+ * Include proof hashes in logs
122
+ */
123
+ includeProofHashes: boolean;
124
+ /**
125
+ * Include full payloads in logs
126
+ * WARNING: May include sensitive data
127
+ */
128
+ includePayloads: boolean;
129
+ };
130
+ session: {
131
+ /**
132
+ * Maximum time skew allowed (seconds)
133
+ * Default: 120
134
+ */
135
+ timestampSkewSeconds: number;
136
+ /**
137
+ * Session TTL (minutes)
138
+ * Default: 30
139
+ */
140
+ ttlMinutes: number;
141
+ /**
142
+ * Absolute session lifetime (minutes)
143
+ * Optional, max lifetime regardless of activity
144
+ */
145
+ absoluteLifetime?: number;
146
+ };
147
+ platform: {
148
+ /**
149
+ * Platform type
150
+ */
151
+ type: 'cloudflare' | 'node' | 'vercel';
152
+ /**
153
+ * Cloudflare-specific settings
154
+ */
155
+ cloudflare?: {
156
+ /**
157
+ * Workers runtime settings
158
+ */
159
+ workers: {
160
+ cpuMs: number;
161
+ memoryMb: number;
162
+ };
163
+ /**
164
+ * KV namespace bindings (read-only)
165
+ * Shows which KV namespaces are configured
166
+ */
167
+ kvNamespaces: Array<{
168
+ name: string;
169
+ purpose: 'sessions' | 'delegations' | 'cache' | 'general';
170
+ }>;
171
+ /**
172
+ * Environment variables (masked)
173
+ */
174
+ environmentVariables: Array<{
175
+ name: string;
176
+ value: string;
177
+ source: 'wrangler.toml' | 'secrets' | '.dev.vars';
178
+ }>;
179
+ };
180
+ /**
181
+ * Node.js-specific settings
182
+ */
183
+ node?: {
184
+ /**
185
+ * Server configuration
186
+ */
187
+ server: {
188
+ port: number;
189
+ host: string;
190
+ cors: boolean;
191
+ timeout: number;
192
+ };
193
+ /**
194
+ * Storage configuration
195
+ */
196
+ storage: {
197
+ type: 'memory' | 'redis' | 'postgres' | 'mongodb';
198
+ connection?: {
199
+ host?: string;
200
+ port?: number;
201
+ database?: string;
202
+ };
203
+ };
204
+ };
205
+ /**
206
+ * Vercel-specific settings
207
+ */
208
+ vercel?: {
209
+ /**
210
+ * Environment variables (masked)
211
+ */
212
+ environmentVariables: Array<{
213
+ name: string;
214
+ value: string;
215
+ source: 'vercel-dashboard' | '.env.local';
216
+ }>;
217
+ /**
218
+ * Edge runtime configuration
219
+ */
220
+ edgeRuntime?: {
221
+ maxDuration?: number;
222
+ regions?: string[];
223
+ };
224
+ };
225
+ };
226
+ metadata: {
227
+ /**
228
+ * Configuration version
229
+ */
230
+ version: string;
231
+ /**
232
+ * Last updated timestamp
233
+ */
234
+ lastUpdated: string;
235
+ /**
236
+ * Configuration source
237
+ * 'dashboard' = Managed via AgentShield dashboard
238
+ * 'code' = Defined in code (mcpi-runtime-config.ts)
239
+ * 'mixed' = Partially managed via dashboard
240
+ */
241
+ source: 'dashboard' | 'code' | 'mixed';
242
+ /**
243
+ * Server deployment URL
244
+ */
245
+ serverUrl?: string;
246
+ /**
247
+ * Server deployment status
248
+ */
249
+ deploymentStatus?: 'active' | 'inactive' | 'error';
250
+ };
251
+ }
252
+ /**
253
+ * API Request/Response types for dashboard config endpoints
254
+ */
255
+ /**
256
+ * Request to get server configuration
257
+ * GET /api/v1/projects/{projectId}/config
258
+ */
259
+ export interface GetServerConfigRequest {
260
+ projectId: string;
261
+ }
262
+ /**
263
+ * Response from get server configuration endpoint
264
+ */
265
+ export interface GetServerConfigResponse {
266
+ success: boolean;
267
+ data: {
268
+ config: MCPIServerConfig;
269
+ };
270
+ metadata?: {
271
+ requestId?: string;
272
+ timestamp?: string;
273
+ };
274
+ }
275
+ /**
276
+ * Request to update server configuration
277
+ * PUT /api/v1/projects/{projectId}/config
278
+ */
279
+ export interface UpdateServerConfigRequest {
280
+ projectId: string;
281
+ config: Partial<MCPIServerConfig>;
282
+ }
283
+ /**
284
+ * Response from update server configuration endpoint
285
+ */
286
+ export interface UpdateServerConfigResponse {
287
+ success: boolean;
288
+ data: {
289
+ config: MCPIServerConfig;
290
+ changes: Array<{
291
+ path: string;
292
+ oldValue: unknown;
293
+ newValue: unknown;
294
+ }>;
295
+ };
296
+ metadata?: {
297
+ requestId?: string;
298
+ timestamp?: string;
299
+ };
300
+ }
301
+ /**
302
+ * Request to validate server configuration without saving
303
+ * POST /api/v1/projects/{projectId}/config/validate
304
+ */
305
+ export interface ValidateServerConfigRequest {
306
+ projectId: string;
307
+ config: Partial<MCPIServerConfig>;
308
+ }
309
+ /**
310
+ * Response from validate server configuration endpoint
311
+ */
312
+ export interface ValidateServerConfigResponse {
313
+ success: boolean;
314
+ data: {
315
+ valid: boolean;
316
+ errors?: Array<{
317
+ path: string;
318
+ message: string;
319
+ code: string;
320
+ }>;
321
+ warnings?: Array<{
322
+ path: string;
323
+ message: string;
324
+ }>;
325
+ };
326
+ metadata?: {
327
+ requestId?: string;
328
+ timestamp?: string;
329
+ };
330
+ }
331
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Dashboard Configuration Types
4
+ *
5
+ * Type definitions for AgentShield dashboard server configuration management API.
6
+ * These types ensure parity between xmcp-i and AgentShield dashboard implementations.
7
+ *
8
+ * @package @kya-os/contracts/dashboard-config
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=types.js.map