@cognidesk/studio-contracts 0.0.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.
package/dist/index.js ADDED
@@ -0,0 +1,498 @@
1
+ // src/index.ts
2
+ import { z } from "zod";
3
+ var StudioRoleSchema = z.enum(["viewer", "dashboard_editor", "operator", "admin"]);
4
+ var StudioPermissionSchema = z.enum([
5
+ "studio:view",
6
+ "dashboards:edit",
7
+ "dashboards:publish",
8
+ "operator:use",
9
+ "operator:publish_code",
10
+ "admin:manage"
11
+ ]);
12
+ var permissionsByRole = {
13
+ viewer: ["studio:view"],
14
+ dashboard_editor: ["studio:view", "dashboards:edit", "dashboards:publish"],
15
+ operator: ["studio:view", "dashboards:edit", "dashboards:publish", "operator:use", "operator:publish_code"],
16
+ admin: ["studio:view", "dashboards:edit", "dashboards:publish", "operator:use", "operator:publish_code", "admin:manage"]
17
+ };
18
+ function roleHasPermission(role, permission) {
19
+ return permissionsByRole[role].includes(permission);
20
+ }
21
+ var StudioTargetManifestSchema = z.object({
22
+ version: z.literal(1),
23
+ target: z.object({
24
+ id: z.string().min(1),
25
+ name: z.string().min(1),
26
+ environment: z.string().default("local")
27
+ }),
28
+ runtime: z.object({
29
+ baseUrl: z.string().url(),
30
+ apiBasePath: z.string().default("/api"),
31
+ studioAdapterBasePath: z.string().default("/api/studio"),
32
+ serviceAuthHeader: z.string().default("authorization")
33
+ }),
34
+ telemetry: z.object({
35
+ sources: z.array(z.object({
36
+ id: z.string().min(1),
37
+ label: z.string().min(1),
38
+ kind: z.enum(["prometheus", "tempo", "otel-http"]),
39
+ baseUrl: z.string().url(),
40
+ headers: z.record(z.string(), z.string()).optional()
41
+ })).default([])
42
+ }).default({ sources: [] }),
43
+ source: z.object({
44
+ provider: z.literal("github"),
45
+ owner: z.string().min(1),
46
+ repo: z.string().min(1),
47
+ defaultBranch: z.string().default("main"),
48
+ root: z.string().default(".")
49
+ }),
50
+ code: z.object({
51
+ allowedPaths: z.array(z.string()).default([]),
52
+ validationCommands: z.array(z.object({
53
+ id: z.string().min(1),
54
+ label: z.string().min(1),
55
+ command: z.string().min(1),
56
+ workingDirectory: z.string().default(".")
57
+ })).default([])
58
+ }).default({ allowedPaths: [], validationCommands: [] }),
59
+ dashboards: z.object({
60
+ artifactBucket: z.string().min(1),
61
+ artifactPrefix: z.string().default("studio/dashboards")
62
+ }),
63
+ operator: z.object({
64
+ instructionsPath: z.string().default("AGENTS.md"),
65
+ skillPacks: z.array(z.string()).default(["@cognidesk/studio-operator-skills"]),
66
+ models: z.array(z.object({
67
+ id: z.string().min(1),
68
+ label: z.string().min(1),
69
+ provider: z.string().min(1),
70
+ model: z.string().min(1),
71
+ default: z.boolean().optional()
72
+ })).default([]),
73
+ allowedCredentialGrants: z.array(z.enum([
74
+ "github",
75
+ "package_registry",
76
+ "telemetry",
77
+ "artifact_store",
78
+ "studio_adapter",
79
+ "backend_service"
80
+ ])).default([])
81
+ }).default({
82
+ instructionsPath: "AGENTS.md",
83
+ skillPacks: ["@cognidesk/studio-operator-skills"],
84
+ models: [],
85
+ allowedCredentialGrants: []
86
+ })
87
+ });
88
+ var StudioTargetOverlaySchema = z.object({
89
+ version: z.literal(1).optional(),
90
+ target: z.object({
91
+ id: z.string().min(1).optional(),
92
+ name: z.string().min(1).optional(),
93
+ environment: z.string().optional()
94
+ }).optional(),
95
+ runtime: z.object({
96
+ baseUrl: z.string().url().optional(),
97
+ apiBasePath: z.string().optional(),
98
+ studioAdapterBasePath: z.string().optional(),
99
+ serviceAuthHeader: z.string().optional()
100
+ }).optional(),
101
+ telemetry: z.object({
102
+ sources: z.array(z.object({
103
+ id: z.string().min(1),
104
+ label: z.string().min(1),
105
+ kind: z.enum(["prometheus", "tempo", "otel-http"]),
106
+ baseUrl: z.string().url(),
107
+ headers: z.record(z.string(), z.string()).optional()
108
+ })).optional()
109
+ }).optional(),
110
+ source: z.object({
111
+ provider: z.literal("github").optional(),
112
+ owner: z.string().min(1).optional(),
113
+ repo: z.string().min(1).optional(),
114
+ defaultBranch: z.string().optional(),
115
+ root: z.string().optional()
116
+ }).optional(),
117
+ code: z.object({
118
+ allowedPaths: z.array(z.string()).optional(),
119
+ validationCommands: z.array(z.object({
120
+ id: z.string().min(1),
121
+ label: z.string().min(1),
122
+ command: z.string().min(1),
123
+ workingDirectory: z.string().default(".")
124
+ })).optional()
125
+ }).optional(),
126
+ dashboards: z.object({
127
+ artifactBucket: z.string().min(1).optional(),
128
+ artifactPrefix: z.string().optional()
129
+ }).optional(),
130
+ operator: z.object({
131
+ instructionsPath: z.string().optional(),
132
+ skillPacks: z.array(z.string()).optional(),
133
+ models: z.array(z.object({
134
+ id: z.string().min(1),
135
+ label: z.string().min(1),
136
+ provider: z.string().min(1),
137
+ model: z.string().min(1),
138
+ default: z.boolean().optional()
139
+ })).optional(),
140
+ allowedCredentialGrants: z.array(z.enum([
141
+ "github",
142
+ "package_registry",
143
+ "telemetry",
144
+ "artifact_store",
145
+ "studio_adapter",
146
+ "backend_service"
147
+ ])).optional()
148
+ }).optional()
149
+ });
150
+ function mergeStudioTargetManifest(base, overlay = {}) {
151
+ return StudioTargetManifestSchema.parse(deepMerge(base, overlay));
152
+ }
153
+ function deepMerge(base, overlay) {
154
+ const result = { ...base };
155
+ for (const [key, value] of Object.entries(overlay)) {
156
+ if (value === void 0) continue;
157
+ const baseValue = result[key];
158
+ result[key] = isPlainRecord(baseValue) && isPlainRecord(value) ? deepMerge(baseValue, value) : value;
159
+ }
160
+ return result;
161
+ }
162
+ function isPlainRecord(value) {
163
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
164
+ }
165
+ var StudioToolSummarySchema = z.object({
166
+ name: z.string(),
167
+ description: z.string().optional(),
168
+ sideEffect: z.boolean()
169
+ });
170
+ var StudioKnowledgeSummarySchema = z.object({
171
+ name: z.string()
172
+ });
173
+ var StudioWidgetSummarySchema = z.object({
174
+ kind: z.string()
175
+ });
176
+ var StudioJourneyGraphStateSchema = z.object({
177
+ id: z.string(),
178
+ parentId: z.string().optional(),
179
+ initialStateId: z.string().optional(),
180
+ type: z.enum(["state", "parallel", "final"]),
181
+ instructions: z.string().optional(),
182
+ summary: z.string().optional(),
183
+ collected: z.array(z.object({
184
+ path: z.string(),
185
+ required: z.boolean(),
186
+ extract: z.boolean()
187
+ })),
188
+ transitions: z.array(z.object({
189
+ kind: z.enum(["event", "conversational"]),
190
+ targetId: z.string(),
191
+ eventName: z.string().optional(),
192
+ description: z.string().optional(),
193
+ priority: z.number().optional()
194
+ })),
195
+ actions: z.array(z.object({
196
+ type: z.enum(["entry", "exit", "transition"]),
197
+ name: z.string()
198
+ })),
199
+ requiresVisit: z.boolean()
200
+ });
201
+ var StudioJourneyGraphSchema = z.object({
202
+ id: z.string(),
203
+ kind: z.enum(["stateMachine", "delegation"]),
204
+ initialStateId: z.string().optional(),
205
+ alternateEntries: z.array(z.object({
206
+ stateId: z.string(),
207
+ description: z.string().optional(),
208
+ priority: z.number().optional()
209
+ })).optional(),
210
+ states: z.array(StudioJourneyGraphStateSchema)
211
+ });
212
+ var StudioJourneySummarySchema = z.object({
213
+ id: z.string(),
214
+ kind: z.enum(["stateMachine", "delegation"]),
215
+ condition: z.string(),
216
+ examples: z.array(z.string()),
217
+ tags: z.array(z.string()),
218
+ priority: z.number(),
219
+ stickiness: z.enum(["low", "medium", "high"]),
220
+ alwaysInclude: z.boolean(),
221
+ graph: StudioJourneyGraphSchema,
222
+ mermaid: z.string(),
223
+ delegation: z.object({
224
+ goal: z.string(),
225
+ instructions: z.string().optional(),
226
+ completeWhen: z.array(z.string()),
227
+ tools: z.array(StudioToolSummarySchema)
228
+ }).optional(),
229
+ tools: z.array(StudioToolSummarySchema),
230
+ knowledge: z.array(StudioKnowledgeSummarySchema)
231
+ });
232
+ var StudioAgentIntrospectionSchema = z.object({
233
+ targetId: z.string(),
234
+ agent: z.object({
235
+ id: z.string(),
236
+ instructions: z.string(),
237
+ logLevel: z.string().optional(),
238
+ journeyCount: z.number().int(),
239
+ toolCount: z.number().int(),
240
+ knowledgeCount: z.number().int(),
241
+ widgetCount: z.number().int()
242
+ }),
243
+ journeys: z.array(StudioJourneySummarySchema),
244
+ tools: z.array(StudioToolSummarySchema),
245
+ knowledge: z.array(StudioKnowledgeSummarySchema),
246
+ widgets: z.array(StudioWidgetSummarySchema),
247
+ capturedAt: z.string()
248
+ });
249
+ var StudioConversationSummarySchema = z.object({
250
+ id: z.string(),
251
+ agentId: z.string(),
252
+ lifecycle: z.enum(["active", "handoff", "closed"]),
253
+ createdAt: z.string(),
254
+ updatedAt: z.string(),
255
+ activeJourneyId: z.string().optional(),
256
+ activeStateIds: z.array(z.string()).default([]),
257
+ eventCount: z.number().int().optional(),
258
+ traceIds: z.array(z.string()).default([])
259
+ });
260
+ var StudioTelemetryMetricPointSchema = z.object({
261
+ timestamp: z.string(),
262
+ value: z.number(),
263
+ labels: z.record(z.string(), z.string()).default({})
264
+ });
265
+ var StudioTraceSummarySchema = z.object({
266
+ traceId: z.string(),
267
+ rootSpanName: z.string().optional(),
268
+ serviceName: z.string().optional(),
269
+ startedAt: z.string().optional(),
270
+ durationMs: z.number().optional(),
271
+ status: z.enum(["ok", "error", "unknown"]).default("unknown"),
272
+ spanCount: z.number().int().optional()
273
+ });
274
+ var StudioDashboardDataCapabilitySchema = z.enum([
275
+ "telemetry.traces",
276
+ "telemetry.metrics",
277
+ "cognidesk.agent",
278
+ "cognidesk.conversations",
279
+ "cognidesk.events",
280
+ "cognidesk.snapshots"
281
+ ]);
282
+ var StudioDashboardDataQuerySchema = z.object({
283
+ capability: StudioDashboardDataCapabilitySchema,
284
+ targetId: z.string(),
285
+ params: z.record(z.string(), z.unknown()).default({})
286
+ });
287
+ var StudioDashboardDatasetSchema = z.object({
288
+ id: z.string(),
289
+ title: z.string(),
290
+ description: z.string().optional(),
291
+ mode: z.enum(["static", "live"]).default("static"),
292
+ refreshMs: z.number().int().positive().optional(),
293
+ source: StudioDashboardDataQuerySchema,
294
+ capturedAt: z.string(),
295
+ data: z.unknown()
296
+ });
297
+ var StudioDashboardWidgetSchema = z.object({
298
+ id: z.string(),
299
+ title: z.string(),
300
+ kind: z.enum(["metric", "line", "bar", "donut", "table", "insight"]),
301
+ datasetId: z.string().optional(),
302
+ description: z.string().optional(),
303
+ valuePath: z.string().optional(),
304
+ labelPath: z.string().optional(),
305
+ xPath: z.string().optional(),
306
+ yPath: z.string().optional(),
307
+ series: z.array(z.object({
308
+ label: z.string(),
309
+ path: z.string()
310
+ })).optional(),
311
+ unit: z.string().optional(),
312
+ tone: z.enum(["slate", "blue", "green", "amber", "red", "violet", "teal"]).optional(),
313
+ limit: z.number().int().positive().optional(),
314
+ columns: z.array(z.object({
315
+ label: z.string(),
316
+ path: z.string()
317
+ })).optional()
318
+ }).passthrough();
319
+ var StudioDashboardSpecSchema = z.object({
320
+ layout: z.enum(["overview", "timeseries", "comparison", "operations"]).default("overview"),
321
+ summary: z.string().optional(),
322
+ widgets: z.array(StudioDashboardWidgetSchema).default([])
323
+ }).passthrough();
324
+ var StudioDashboardArtifactSchema = z.object({
325
+ id: z.string(),
326
+ title: z.string(),
327
+ slug: z.string(),
328
+ description: z.string().optional(),
329
+ version: z.number().int().positive(),
330
+ status: z.enum(["draft", "published", "archived"]),
331
+ ownerUserId: z.string(),
332
+ targetId: z.string(),
333
+ artifactKey: z.string(),
334
+ renderer: z.object({
335
+ kind: z.literal("react-component"),
336
+ entry: z.string().default("Dashboard"),
337
+ spec: StudioDashboardSpecSchema.optional()
338
+ }),
339
+ datasets: z.array(StudioDashboardDatasetSchema).default([]),
340
+ createdAt: z.string(),
341
+ updatedAt: z.string(),
342
+ publishedAt: z.string().optional()
343
+ });
344
+ var StudioOperatorSurfaceSchema = z.enum([
345
+ "conversation",
346
+ "evidence",
347
+ "artifacts",
348
+ "sandbox_diff",
349
+ "validation_runs",
350
+ "approvals"
351
+ ]);
352
+ var StudioOperatorReasoningEffortSchema = z.enum(["none", "minimal", "low", "medium", "high", "xhigh"]);
353
+ var StudioOperatorClientEventSchema = z.discriminatedUnion("type", [
354
+ z.object({
355
+ type: z.literal("session.start"),
356
+ sessionId: z.string().optional(),
357
+ targetId: z.string(),
358
+ modelId: z.string().optional(),
359
+ reasoningEffort: StudioOperatorReasoningEffortSchema.optional(),
360
+ message: z.string().optional()
361
+ }),
362
+ z.object({
363
+ type: z.literal("turn.start"),
364
+ sessionId: z.string(),
365
+ message: z.string(),
366
+ modelId: z.string().optional(),
367
+ reasoningEffort: StudioOperatorReasoningEffortSchema.optional()
368
+ }),
369
+ z.object({
370
+ type: z.literal("turn.interrupt"),
371
+ sessionId: z.string()
372
+ }),
373
+ z.object({
374
+ type: z.literal("approval.resolve"),
375
+ sessionId: z.string(),
376
+ approvalId: z.string(),
377
+ approved: z.boolean(),
378
+ payload: z.unknown().optional()
379
+ })
380
+ ]);
381
+ var StudioOperatorServerEventSchema = z.discriminatedUnion("type", [
382
+ z.object({
383
+ type: z.literal("session.ready"),
384
+ sessionId: z.string(),
385
+ targetId: z.string(),
386
+ modelId: z.string().optional()
387
+ }),
388
+ z.object({
389
+ type: z.literal("activity"),
390
+ sessionId: z.string(),
391
+ message: z.string(),
392
+ detail: z.string().optional(),
393
+ category: z.string().optional(),
394
+ input: z.unknown().optional(),
395
+ output: z.unknown().optional(),
396
+ surface: StudioOperatorSurfaceSchema.optional()
397
+ }),
398
+ z.object({
399
+ type: z.literal("assistant.delta"),
400
+ sessionId: z.string(),
401
+ delta: z.string()
402
+ }),
403
+ z.object({
404
+ type: z.literal("artifact.upserted"),
405
+ sessionId: z.string(),
406
+ artifact: z.record(z.string(), z.unknown())
407
+ }),
408
+ z.object({
409
+ type: z.literal("reasoning.summary"),
410
+ sessionId: z.string(),
411
+ summary: z.string()
412
+ }),
413
+ z.object({
414
+ type: z.literal("tool.started"),
415
+ sessionId: z.string(),
416
+ name: z.string(),
417
+ input: z.unknown().optional()
418
+ }),
419
+ z.object({
420
+ type: z.literal("tool.completed"),
421
+ sessionId: z.string(),
422
+ name: z.string(),
423
+ output: z.unknown().optional()
424
+ }),
425
+ z.object({
426
+ type: z.literal("sandbox.diff.updated"),
427
+ sessionId: z.string(),
428
+ summary: z.string(),
429
+ files: z.array(z.object({
430
+ path: z.string(),
431
+ status: z.enum(["added", "modified", "deleted", "renamed"])
432
+ }))
433
+ }),
434
+ z.object({
435
+ type: z.literal("validation.completed"),
436
+ sessionId: z.string(),
437
+ commandId: z.string(),
438
+ exitCode: z.number().int(),
439
+ output: z.string()
440
+ }),
441
+ z.object({
442
+ type: z.literal("approval.required"),
443
+ sessionId: z.string(),
444
+ approvalId: z.string(),
445
+ action: z.enum(["publish_dashboard", "create_pr", "grant_credentials"]),
446
+ title: z.string(),
447
+ payload: z.unknown()
448
+ }),
449
+ z.object({
450
+ type: z.literal("turn.completed"),
451
+ sessionId: z.string()
452
+ }),
453
+ z.object({
454
+ type: z.literal("error"),
455
+ sessionId: z.string().optional(),
456
+ message: z.string()
457
+ })
458
+ ]);
459
+ function jsonResponse(value, init) {
460
+ return new Response(JSON.stringify(value), {
461
+ ...init,
462
+ headers: {
463
+ "content-type": "application/json",
464
+ ...init?.headers ?? {}
465
+ }
466
+ });
467
+ }
468
+ export {
469
+ StudioAgentIntrospectionSchema,
470
+ StudioConversationSummarySchema,
471
+ StudioDashboardArtifactSchema,
472
+ StudioDashboardDataCapabilitySchema,
473
+ StudioDashboardDataQuerySchema,
474
+ StudioDashboardDatasetSchema,
475
+ StudioDashboardSpecSchema,
476
+ StudioDashboardWidgetSchema,
477
+ StudioJourneyGraphSchema,
478
+ StudioJourneyGraphStateSchema,
479
+ StudioJourneySummarySchema,
480
+ StudioKnowledgeSummarySchema,
481
+ StudioOperatorClientEventSchema,
482
+ StudioOperatorReasoningEffortSchema,
483
+ StudioOperatorServerEventSchema,
484
+ StudioOperatorSurfaceSchema,
485
+ StudioPermissionSchema,
486
+ StudioRoleSchema,
487
+ StudioTargetManifestSchema,
488
+ StudioTargetOverlaySchema,
489
+ StudioTelemetryMetricPointSchema,
490
+ StudioToolSummarySchema,
491
+ StudioTraceSummarySchema,
492
+ StudioWidgetSummarySchema,
493
+ jsonResponse,
494
+ mergeStudioTargetManifest,
495
+ permissionsByRole,
496
+ roleHasPermission
497
+ };
498
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const StudioRoleSchema = z.enum([\"viewer\", \"dashboard_editor\", \"operator\", \"admin\"]);\nexport type StudioRole = z.infer<typeof StudioRoleSchema>;\n\nexport const StudioPermissionSchema = z.enum([\n \"studio:view\",\n \"dashboards:edit\",\n \"dashboards:publish\",\n \"operator:use\",\n \"operator:publish_code\",\n \"admin:manage\",\n]);\nexport type StudioPermission = z.infer<typeof StudioPermissionSchema>;\n\nexport const permissionsByRole: Record<StudioRole, StudioPermission[]> = {\n viewer: [\"studio:view\"],\n dashboard_editor: [\"studio:view\", \"dashboards:edit\", \"dashboards:publish\"],\n operator: [\"studio:view\", \"dashboards:edit\", \"dashboards:publish\", \"operator:use\", \"operator:publish_code\"],\n admin: [\"studio:view\", \"dashboards:edit\", \"dashboards:publish\", \"operator:use\", \"operator:publish_code\", \"admin:manage\"],\n};\n\nexport function roleHasPermission(role: StudioRole, permission: StudioPermission) {\n return permissionsByRole[role].includes(permission);\n}\n\nexport const StudioTargetManifestSchema = z.object({\n version: z.literal(1),\n target: z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n environment: z.string().default(\"local\"),\n }),\n runtime: z.object({\n baseUrl: z.string().url(),\n apiBasePath: z.string().default(\"/api\"),\n studioAdapterBasePath: z.string().default(\"/api/studio\"),\n serviceAuthHeader: z.string().default(\"authorization\"),\n }),\n telemetry: z.object({\n sources: z.array(z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n kind: z.enum([\"prometheus\", \"tempo\", \"otel-http\"]),\n baseUrl: z.string().url(),\n headers: z.record(z.string(), z.string()).optional(),\n })).default([]),\n }).default({ sources: [] }),\n source: z.object({\n provider: z.literal(\"github\"),\n owner: z.string().min(1),\n repo: z.string().min(1),\n defaultBranch: z.string().default(\"main\"),\n root: z.string().default(\".\"),\n }),\n code: z.object({\n allowedPaths: z.array(z.string()).default([]),\n validationCommands: z.array(z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n command: z.string().min(1),\n workingDirectory: z.string().default(\".\"),\n })).default([]),\n }).default({ allowedPaths: [], validationCommands: [] }),\n dashboards: z.object({\n artifactBucket: z.string().min(1),\n artifactPrefix: z.string().default(\"studio/dashboards\"),\n }),\n operator: z.object({\n instructionsPath: z.string().default(\"AGENTS.md\"),\n skillPacks: z.array(z.string()).default([\"@cognidesk/studio-operator-skills\"]),\n models: z.array(z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n provider: z.string().min(1),\n model: z.string().min(1),\n default: z.boolean().optional(),\n })).default([]),\n allowedCredentialGrants: z.array(z.enum([\n \"github\",\n \"package_registry\",\n \"telemetry\",\n \"artifact_store\",\n \"studio_adapter\",\n \"backend_service\",\n ])).default([]),\n }).default({\n instructionsPath: \"AGENTS.md\",\n skillPacks: [\"@cognidesk/studio-operator-skills\"],\n models: [],\n allowedCredentialGrants: [],\n }),\n});\nexport type StudioTargetManifest = z.infer<typeof StudioTargetManifestSchema>;\nexport type StudioTargetManifestInput = z.input<typeof StudioTargetManifestSchema>;\n\nexport const StudioTargetOverlaySchema = z.object({\n version: z.literal(1).optional(),\n target: z.object({\n id: z.string().min(1).optional(),\n name: z.string().min(1).optional(),\n environment: z.string().optional(),\n }).optional(),\n runtime: z.object({\n baseUrl: z.string().url().optional(),\n apiBasePath: z.string().optional(),\n studioAdapterBasePath: z.string().optional(),\n serviceAuthHeader: z.string().optional(),\n }).optional(),\n telemetry: z.object({\n sources: z.array(z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n kind: z.enum([\"prometheus\", \"tempo\", \"otel-http\"]),\n baseUrl: z.string().url(),\n headers: z.record(z.string(), z.string()).optional(),\n })).optional(),\n }).optional(),\n source: z.object({\n provider: z.literal(\"github\").optional(),\n owner: z.string().min(1).optional(),\n repo: z.string().min(1).optional(),\n defaultBranch: z.string().optional(),\n root: z.string().optional(),\n }).optional(),\n code: z.object({\n allowedPaths: z.array(z.string()).optional(),\n validationCommands: z.array(z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n command: z.string().min(1),\n workingDirectory: z.string().default(\".\"),\n })).optional(),\n }).optional(),\n dashboards: z.object({\n artifactBucket: z.string().min(1).optional(),\n artifactPrefix: z.string().optional(),\n }).optional(),\n operator: z.object({\n instructionsPath: z.string().optional(),\n skillPacks: z.array(z.string()).optional(),\n models: z.array(z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n provider: z.string().min(1),\n model: z.string().min(1),\n default: z.boolean().optional(),\n })).optional(),\n allowedCredentialGrants: z.array(z.enum([\n \"github\",\n \"package_registry\",\n \"telemetry\",\n \"artifact_store\",\n \"studio_adapter\",\n \"backend_service\",\n ])).optional(),\n }).optional(),\n});\nexport type StudioTargetOverlay = z.infer<typeof StudioTargetOverlaySchema>;\n\nexport function mergeStudioTargetManifest(\n base: StudioTargetManifestInput,\n overlay: StudioTargetOverlay = {},\n): StudioTargetManifest {\n return StudioTargetManifestSchema.parse(deepMerge(base as Record<string, unknown>, overlay as Record<string, unknown>));\n}\n\nfunction deepMerge(base: Record<string, unknown>, overlay: Record<string, unknown>): Record<string, unknown> {\n const result: Record<string, unknown> = { ...base };\n for (const [key, value] of Object.entries(overlay)) {\n if (value === undefined) continue;\n const baseValue = result[key];\n result[key] = isPlainRecord(baseValue) && isPlainRecord(value)\n ? deepMerge(baseValue, value)\n : value;\n }\n return result;\n}\n\nfunction isPlainRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport const StudioToolSummarySchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n sideEffect: z.boolean(),\n});\nexport type StudioToolSummary = z.infer<typeof StudioToolSummarySchema>;\n\nexport const StudioKnowledgeSummarySchema = z.object({\n name: z.string(),\n});\nexport type StudioKnowledgeSummary = z.infer<typeof StudioKnowledgeSummarySchema>;\n\nexport const StudioWidgetSummarySchema = z.object({\n kind: z.string(),\n});\nexport type StudioWidgetSummary = z.infer<typeof StudioWidgetSummarySchema>;\n\nexport const StudioJourneyGraphStateSchema = z.object({\n id: z.string(),\n parentId: z.string().optional(),\n initialStateId: z.string().optional(),\n type: z.enum([\"state\", \"parallel\", \"final\"]),\n instructions: z.string().optional(),\n summary: z.string().optional(),\n collected: z.array(z.object({\n path: z.string(),\n required: z.boolean(),\n extract: z.boolean(),\n })),\n transitions: z.array(z.object({\n kind: z.enum([\"event\", \"conversational\"]),\n targetId: z.string(),\n eventName: z.string().optional(),\n description: z.string().optional(),\n priority: z.number().optional(),\n })),\n actions: z.array(z.object({\n type: z.enum([\"entry\", \"exit\", \"transition\"]),\n name: z.string(),\n })),\n requiresVisit: z.boolean(),\n});\n\nexport const StudioJourneyGraphSchema = z.object({\n id: z.string(),\n kind: z.enum([\"stateMachine\", \"delegation\"]),\n initialStateId: z.string().optional(),\n alternateEntries: z.array(z.object({\n stateId: z.string(),\n description: z.string().optional(),\n priority: z.number().optional(),\n })).optional(),\n states: z.array(StudioJourneyGraphStateSchema),\n});\nexport type StudioJourneyGraph = z.infer<typeof StudioJourneyGraphSchema>;\n\nexport const StudioJourneySummarySchema = z.object({\n id: z.string(),\n kind: z.enum([\"stateMachine\", \"delegation\"]),\n condition: z.string(),\n examples: z.array(z.string()),\n tags: z.array(z.string()),\n priority: z.number(),\n stickiness: z.enum([\"low\", \"medium\", \"high\"]),\n alwaysInclude: z.boolean(),\n graph: StudioJourneyGraphSchema,\n mermaid: z.string(),\n delegation: z.object({\n goal: z.string(),\n instructions: z.string().optional(),\n completeWhen: z.array(z.string()),\n tools: z.array(StudioToolSummarySchema),\n }).optional(),\n tools: z.array(StudioToolSummarySchema),\n knowledge: z.array(StudioKnowledgeSummarySchema),\n});\nexport type StudioJourneySummary = z.infer<typeof StudioJourneySummarySchema>;\n\nexport const StudioAgentIntrospectionSchema = z.object({\n targetId: z.string(),\n agent: z.object({\n id: z.string(),\n instructions: z.string(),\n logLevel: z.string().optional(),\n journeyCount: z.number().int(),\n toolCount: z.number().int(),\n knowledgeCount: z.number().int(),\n widgetCount: z.number().int(),\n }),\n journeys: z.array(StudioJourneySummarySchema),\n tools: z.array(StudioToolSummarySchema),\n knowledge: z.array(StudioKnowledgeSummarySchema),\n widgets: z.array(StudioWidgetSummarySchema),\n capturedAt: z.string(),\n});\nexport type StudioAgentIntrospection = z.infer<typeof StudioAgentIntrospectionSchema>;\n\nexport const StudioConversationSummarySchema = z.object({\n id: z.string(),\n agentId: z.string(),\n lifecycle: z.enum([\"active\", \"handoff\", \"closed\"]),\n createdAt: z.string(),\n updatedAt: z.string(),\n activeJourneyId: z.string().optional(),\n activeStateIds: z.array(z.string()).default([]),\n eventCount: z.number().int().optional(),\n traceIds: z.array(z.string()).default([]),\n});\nexport type StudioConversationSummary = z.infer<typeof StudioConversationSummarySchema>;\n\nexport const StudioTelemetryMetricPointSchema = z.object({\n timestamp: z.string(),\n value: z.number(),\n labels: z.record(z.string(), z.string()).default({}),\n});\nexport type StudioTelemetryMetricPoint = z.infer<typeof StudioTelemetryMetricPointSchema>;\n\nexport const StudioTraceSummarySchema = z.object({\n traceId: z.string(),\n rootSpanName: z.string().optional(),\n serviceName: z.string().optional(),\n startedAt: z.string().optional(),\n durationMs: z.number().optional(),\n status: z.enum([\"ok\", \"error\", \"unknown\"]).default(\"unknown\"),\n spanCount: z.number().int().optional(),\n});\nexport type StudioTraceSummary = z.infer<typeof StudioTraceSummarySchema>;\n\nexport const StudioDashboardDataCapabilitySchema = z.enum([\n \"telemetry.traces\",\n \"telemetry.metrics\",\n \"cognidesk.agent\",\n \"cognidesk.conversations\",\n \"cognidesk.events\",\n \"cognidesk.snapshots\",\n]);\nexport type StudioDashboardDataCapability = z.infer<typeof StudioDashboardDataCapabilitySchema>;\n\nexport const StudioDashboardDataQuerySchema = z.object({\n capability: StudioDashboardDataCapabilitySchema,\n targetId: z.string(),\n params: z.record(z.string(), z.unknown()).default({}),\n});\nexport type StudioDashboardDataQuery = z.infer<typeof StudioDashboardDataQuerySchema>;\n\nexport const StudioDashboardDatasetSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string().optional(),\n mode: z.enum([\"static\", \"live\"]).default(\"static\"),\n refreshMs: z.number().int().positive().optional(),\n source: StudioDashboardDataQuerySchema,\n capturedAt: z.string(),\n data: z.unknown(),\n});\nexport type StudioDashboardDataset = z.infer<typeof StudioDashboardDatasetSchema>;\n\nexport const StudioDashboardWidgetSchema = z.object({\n id: z.string(),\n title: z.string(),\n kind: z.enum([\"metric\", \"line\", \"bar\", \"donut\", \"table\", \"insight\"]),\n datasetId: z.string().optional(),\n description: z.string().optional(),\n valuePath: z.string().optional(),\n labelPath: z.string().optional(),\n xPath: z.string().optional(),\n yPath: z.string().optional(),\n series: z.array(z.object({\n label: z.string(),\n path: z.string(),\n })).optional(),\n unit: z.string().optional(),\n tone: z.enum([\"slate\", \"blue\", \"green\", \"amber\", \"red\", \"violet\", \"teal\"]).optional(),\n limit: z.number().int().positive().optional(),\n columns: z.array(z.object({\n label: z.string(),\n path: z.string(),\n })).optional(),\n}).passthrough();\nexport type StudioDashboardWidget = z.infer<typeof StudioDashboardWidgetSchema>;\n\nexport const StudioDashboardSpecSchema = z.object({\n layout: z.enum([\"overview\", \"timeseries\", \"comparison\", \"operations\"]).default(\"overview\"),\n summary: z.string().optional(),\n widgets: z.array(StudioDashboardWidgetSchema).default([]),\n}).passthrough();\nexport type StudioDashboardSpec = z.infer<typeof StudioDashboardSpecSchema>;\n\nexport const StudioDashboardArtifactSchema = z.object({\n id: z.string(),\n title: z.string(),\n slug: z.string(),\n description: z.string().optional(),\n version: z.number().int().positive(),\n status: z.enum([\"draft\", \"published\", \"archived\"]),\n ownerUserId: z.string(),\n targetId: z.string(),\n artifactKey: z.string(),\n renderer: z.object({\n kind: z.literal(\"react-component\"),\n entry: z.string().default(\"Dashboard\"),\n spec: StudioDashboardSpecSchema.optional(),\n }),\n datasets: z.array(StudioDashboardDatasetSchema).default([]),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string().optional(),\n});\nexport type StudioDashboardArtifact = z.infer<typeof StudioDashboardArtifactSchema>;\n\nexport const StudioOperatorSurfaceSchema = z.enum([\n \"conversation\",\n \"evidence\",\n \"artifacts\",\n \"sandbox_diff\",\n \"validation_runs\",\n \"approvals\",\n]);\nexport type StudioOperatorSurface = z.infer<typeof StudioOperatorSurfaceSchema>;\n\nexport const StudioOperatorReasoningEffortSchema = z.enum([\"none\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"]);\nexport type StudioOperatorReasoningEffort = z.infer<typeof StudioOperatorReasoningEffortSchema>;\n\nexport const StudioOperatorClientEventSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"session.start\"),\n sessionId: z.string().optional(),\n targetId: z.string(),\n modelId: z.string().optional(),\n reasoningEffort: StudioOperatorReasoningEffortSchema.optional(),\n message: z.string().optional(),\n }),\n z.object({\n type: z.literal(\"turn.start\"),\n sessionId: z.string(),\n message: z.string(),\n modelId: z.string().optional(),\n reasoningEffort: StudioOperatorReasoningEffortSchema.optional(),\n }),\n z.object({\n type: z.literal(\"turn.interrupt\"),\n sessionId: z.string(),\n }),\n z.object({\n type: z.literal(\"approval.resolve\"),\n sessionId: z.string(),\n approvalId: z.string(),\n approved: z.boolean(),\n payload: z.unknown().optional(),\n }),\n]);\nexport type StudioOperatorClientEvent = z.infer<typeof StudioOperatorClientEventSchema>;\n\nexport const StudioOperatorServerEventSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"session.ready\"),\n sessionId: z.string(),\n targetId: z.string(),\n modelId: z.string().optional(),\n }),\n z.object({\n type: z.literal(\"activity\"),\n sessionId: z.string(),\n message: z.string(),\n detail: z.string().optional(),\n category: z.string().optional(),\n input: z.unknown().optional(),\n output: z.unknown().optional(),\n surface: StudioOperatorSurfaceSchema.optional(),\n }),\n z.object({\n type: z.literal(\"assistant.delta\"),\n sessionId: z.string(),\n delta: z.string(),\n }),\n z.object({\n type: z.literal(\"artifact.upserted\"),\n sessionId: z.string(),\n artifact: z.record(z.string(), z.unknown()),\n }),\n z.object({\n type: z.literal(\"reasoning.summary\"),\n sessionId: z.string(),\n summary: z.string(),\n }),\n z.object({\n type: z.literal(\"tool.started\"),\n sessionId: z.string(),\n name: z.string(),\n input: z.unknown().optional(),\n }),\n z.object({\n type: z.literal(\"tool.completed\"),\n sessionId: z.string(),\n name: z.string(),\n output: z.unknown().optional(),\n }),\n z.object({\n type: z.literal(\"sandbox.diff.updated\"),\n sessionId: z.string(),\n summary: z.string(),\n files: z.array(z.object({\n path: z.string(),\n status: z.enum([\"added\", \"modified\", \"deleted\", \"renamed\"]),\n })),\n }),\n z.object({\n type: z.literal(\"validation.completed\"),\n sessionId: z.string(),\n commandId: z.string(),\n exitCode: z.number().int(),\n output: z.string(),\n }),\n z.object({\n type: z.literal(\"approval.required\"),\n sessionId: z.string(),\n approvalId: z.string(),\n action: z.enum([\"publish_dashboard\", \"create_pr\", \"grant_credentials\"]),\n title: z.string(),\n payload: z.unknown(),\n }),\n z.object({\n type: z.literal(\"turn.completed\"),\n sessionId: z.string(),\n }),\n z.object({\n type: z.literal(\"error\"),\n sessionId: z.string().optional(),\n message: z.string(),\n }),\n]);\nexport type StudioOperatorServerEvent = z.infer<typeof StudioOperatorServerEventSchema>;\n\nexport function jsonResponse<T>(value: T, init?: ResponseInit) {\n return new Response(JSON.stringify(value), {\n ...init,\n headers: {\n \"content-type\": \"application/json\",\n ...(init?.headers ?? {}),\n },\n });\n}\n"],"mappings":"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","names":[]}
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@cognidesk/studio-contracts",
3
+ "version": "0.0.1",
4
+ "license": "Apache-2.0",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsup src/index.ts --format esm --dts --sourcemap",
16
+ "typecheck": "tsc -p tsconfig.json --noEmit",
17
+ "test": "vitest run --passWithNoTests",
18
+ "lint": "tsc -p tsconfig.json --noEmit"
19
+ },
20
+ "dependencies": {
21
+ "zod": "^4.3.6"
22
+ },
23
+ "devDependencies": {
24
+ "tsup": "^8.5.0",
25
+ "typescript": "^5.9.3",
26
+ "vitest": "^4.0.14"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public",
30
+ "registry": "https://registry.npmjs.org/"
31
+ },
32
+ "files": [
33
+ "dist"
34
+ ]
35
+ }