@xtrape/capsule-contracts-node 0.2.0 → 0.4.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/index.js CHANGED
@@ -8,27 +8,16 @@ var DangerLevel = ["LOW", "MEDIUM", "HIGH"];
8
8
  var AuditActorType = ["USER", "AGENT", "SYSTEM"];
9
9
  var AuditResult = ["SUCCESS", "FAILURE"];
10
10
  var TokenStatus = ["ACTIVE", "REVOKED", "EXPIRED", "USED"];
11
- var ErrorCode = {
12
- INTERNAL_ERROR: "INTERNAL_ERROR",
13
- VALIDATION_FAILED: "VALIDATION_FAILED",
14
- UNAUTHORIZED: "UNAUTHORIZED",
15
- FORBIDDEN: "FORBIDDEN",
16
- NOT_FOUND: "NOT_FOUND",
17
- CONFLICT: "CONFLICT",
18
- CSRF_INVALID: "CSRF_INVALID",
19
- ACTION_REQUIRES_CONFIRMATION: "ACTION_REQUIRES_CONFIRMATION",
20
- COMMAND_EXPIRED: "COMMAND_EXPIRED",
21
- TOKEN_REVOKED: "TOKEN_REVOKED",
22
- TOKEN_EXPIRED: "TOKEN_EXPIRED",
23
- AGENT_REVOKED: "AGENT_REVOKED",
24
- AGENT_DISABLED: "AGENT_DISABLED"
25
- };
11
+ var AgentMode = ["embedded", "ophub"];
12
+ var ServiceKind = ["business", "infrastructure", "system"];
13
+ var ServiceKindSchema = z.enum(ServiceKind);
26
14
  var AnyJson = z.record(z.any());
27
15
  var AgentStatusSchema = z.enum(AgentStatus);
28
16
  var CapsuleServiceStatusSchema = z.enum(CapsuleServiceStatus);
29
17
  var HealthStatusSchema = z.enum(HealthStatus);
30
18
  var CommandStatusSchema = z.enum(CommandStatus);
31
19
  var DangerLevelSchema = z.enum(DangerLevel).default("LOW");
20
+ var AgentModeSchema = z.enum(AgentMode);
32
21
  var UserSchema = z.object({ id: z.string().startsWith("usr_"), username: z.string(), displayName: z.string().nullable().optional(), createdAt: z.string(), updatedAt: z.string() });
33
22
  var UserRole = z.enum(["owner", "operator", "viewer"]);
34
23
  var createUserRequestSchema = z.object({ username: z.string().min(1), password: z.string().min(12), displayName: z.string().optional(), role: UserRole.default("viewer") });
@@ -37,24 +26,41 @@ var resetUserPasswordRequestSchema = z.object({ password: z.string().min(12) });
37
26
  var AdminLoginRequestSchema = z.object({ username: z.string().min(1), password: z.string().min(1) });
38
27
  var adminLoginRequestSchema = AdminLoginRequestSchema;
39
28
  var AdminSessionSchema = z.object({ user: UserSchema, csrfToken: z.string(), expiresAt: z.string() });
40
- var AgentSchema = z.object({ id: z.string().startsWith("agt_"), code: z.string(), name: z.string().nullable().optional(), mode: z.enum(["embedded", "sidecar", "external"]), runtime: z.string().nullable().optional(), status: AgentStatusSchema, lastHeartbeatAt: z.string().nullable().optional(), createdAt: z.string(), updatedAt: z.string() });
29
+ var AgentSchema = z.object({ id: z.string().startsWith("agt_"), code: z.string(), name: z.string().nullable().optional(), mode: AgentModeSchema, runtime: z.string().nullable().optional(), status: AgentStatusSchema, lastHeartbeatAt: z.string().nullable().optional(), createdAt: z.string(), updatedAt: z.string() });
41
30
  var RegistrationTokenSchema = z.object({ id: z.string().startsWith("tok_"), name: z.string(), status: z.enum(TokenStatus), expiresAt: z.string().nullable().optional(), usedAt: z.string().nullable().optional(), createdAt: z.string() });
42
31
  var CreateRegistrationTokenRequestSchema = z.object({ name: z.string().default("Default registration token").optional(), expiresInSeconds: z.number().int().min(60).optional() });
43
32
  var createRegistrationTokenRequestSchema = CreateRegistrationTokenRequestSchema;
44
33
  var CreateRegistrationTokenResponseSchema = RegistrationTokenSchema.extend({ rawToken: z.string().startsWith("opstage_reg_") });
45
- var CapsuleManifestSchema = z.object({ kind: z.literal("CapsuleService"), schemaVersion: z.string().default("1.0").optional(), code: z.string().min(1), name: z.string().min(1), description: z.string().optional(), version: z.string().min(1), runtime: z.enum(["nodejs", "java", "python", "go", "other"]), agentMode: z.enum(["embedded", "sidecar", "external"]), capabilities: z.array(z.string()).optional(), labels: z.record(z.string()).optional() }).passthrough();
34
+ var ServiceCapabilitySchema = z.object({ name: z.string().min(1).max(120), label: z.string().max(200).optional(), description: z.string().max(2e3).optional(), metadata: AnyJson.optional() });
35
+ var serviceCapabilitySchema = ServiceCapabilitySchema;
36
+ var EventMetadataSchema = z.object({ name: z.string().min(1).max(160), direction: z.enum(["publish", "subscribe"]).optional(), schema: AnyJson.optional(), designOnly: z.boolean().default(true), metadata: AnyJson.optional() });
37
+ var eventMetadataSchema = EventMetadataSchema;
38
+ var CapsuleManifestSchema = z.object({ kind: z.literal("CapsuleService"), schemaVersion: z.string().default("1.0").optional(), code: z.string().min(1), name: z.string().min(1), description: z.string().optional(), version: z.string().min(1), runtime: z.enum(["nodejs", "java", "python", "go", "other"]), agentMode: AgentModeSchema, capabilities: z.array(z.union([z.string(), ServiceCapabilitySchema])).optional(), events: z.array(EventMetadataSchema).optional(), labels: z.record(z.string()).optional() }).passthrough();
46
39
  var HealthReportInputSchema = z.object({ status: HealthStatusSchema, message: z.string().optional(), details: AnyJson.optional() });
47
40
  var healthReportInputSchema = HealthReportInputSchema;
48
41
  var ConfigItemInputSchema = z.object({ key: z.string(), label: z.string().optional(), type: z.string(), source: z.string().optional(), editable: z.boolean().optional(), sensitive: z.boolean().optional(), valuePreview: z.string().optional(), defaultValue: z.string().optional(), secretRef: z.string().optional() });
49
42
  var configItemInputSchema = ConfigItemInputSchema;
50
43
  var ActionDefinitionInputSchema = z.object({ name: z.string(), label: z.string(), description: z.string().optional(), dangerLevel: z.enum(DangerLevel).default("LOW").optional(), requiresConfirmation: z.boolean().optional(), category: z.string().optional(), order: z.number().int().optional(), inputSchema: AnyJson.optional(), outputSchema: AnyJson.optional(), timeoutSeconds: z.number().int().positive().optional() });
51
44
  var actionDefinitionInputSchema = ActionDefinitionInputSchema;
52
- var ReportedServiceSchema = z.object({ code: z.string().min(1).max(80), name: z.string().min(1).max(200), description: z.string().max(2e3).optional(), version: z.string().max(80).optional(), runtime: z.string().optional(), manifest: AnyJson, health: HealthReportInputSchema.optional(), configs: z.array(ConfigItemInputSchema).optional(), actions: z.array(ActionDefinitionInputSchema).optional() });
45
+ var ReportedServiceSchema = z.object({
46
+ code: z.string().min(1).max(80),
47
+ name: z.string().min(1).max(200),
48
+ description: z.string().max(2e3).optional(),
49
+ version: z.string().max(80).optional(),
50
+ runtime: z.string().optional(),
51
+ manifest: AnyJson,
52
+ capabilities: z.array(ServiceCapabilitySchema).optional(),
53
+ events: z.array(EventMetadataSchema).optional(),
54
+ health: HealthReportInputSchema.optional(),
55
+ configs: z.array(ConfigItemInputSchema).optional(),
56
+ actions: z.array(ActionDefinitionInputSchema).optional(),
57
+ serviceKind: ServiceKindSchema.optional()
58
+ });
53
59
  var reportedServiceSchema = ReportedServiceSchema;
54
60
  var ServiceReportRequestSchema = z.object({ services: z.array(ReportedServiceSchema).min(1) });
55
61
  var serviceReportRequestSchema = ServiceReportRequestSchema;
56
62
  var RuntimeKindSchema = z.enum(["nodejs", "java", "python", "go", "other"]);
57
- var RegisterAgentRequestSchema = z.object({ registrationToken: z.string().startsWith("opstage_reg_"), agent: z.object({ code: z.string(), name: z.string().optional(), mode: z.literal("embedded"), runtime: RuntimeKindSchema.optional() }), service: ReportedServiceSchema.optional() });
63
+ var RegisterAgentRequestSchema = z.object({ registrationToken: z.string().startsWith("opstage_reg_"), agent: z.object({ code: z.string(), name: z.string().optional(), mode: AgentModeSchema.default("embedded"), runtime: RuntimeKindSchema.or(z.string()).optional() }), service: ReportedServiceSchema.optional() });
58
64
  var registerAgentRequestSchema = RegisterAgentRequestSchema;
59
65
  var RegisterAgentResponseSchema = z.object({ agentId: z.string().startsWith("agt_"), agentToken: z.string().startsWith("opstage_agent_"), heartbeatIntervalSeconds: z.number().int(), commandPollIntervalSeconds: z.number().int() });
60
66
  var AgentHeartbeatResponseSchema = z.object({ heartbeatIntervalSeconds: z.number().int(), commandPollIntervalSeconds: z.number().int() });
@@ -72,6 +78,87 @@ var ActionPrepareResultSchema = z.object({
72
78
  currentState: AnyJson.optional()
73
79
  });
74
80
  var actionPrepareResultSchema = ActionPrepareResultSchema;
81
+ var CapsuleBusExperimentalSchema = z.literal("v0.4-experimental");
82
+ var BusRouteStatus = ["ENABLED", "DISABLED", "DRY_RUN"];
83
+ var BusRouteStatusSchema = z.enum(BusRouteStatus);
84
+ var BusEventEnvelopeSchema = z.object({
85
+ id: z.string().startsWith("bev_").optional(),
86
+ experimental: CapsuleBusExperimentalSchema.default("v0.4-experimental"),
87
+ eventType: z.string().min(1).max(160),
88
+ sourceServiceCode: z.string().min(1).max(80),
89
+ sourceServiceId: z.string().startsWith("svc_").optional(),
90
+ occurredAt: z.string().datetime().optional(),
91
+ correlationId: z.string().min(1).max(160).optional(),
92
+ causationId: z.string().min(1).max(160).optional(),
93
+ payload: AnyJson.default({}).optional(),
94
+ metadata: AnyJson.default({}).optional()
95
+ });
96
+ var PublishBusEventRequestSchema = BusEventEnvelopeSchema.omit({ id: true }).extend({
97
+ routePolicy: z.object({ dryRun: z.boolean().optional() }).optional()
98
+ });
99
+ var BusRouteRuleSchema = z.object({
100
+ id: z.string().startsWith("brt_").optional(),
101
+ name: z.string().min(1).max(160),
102
+ description: z.string().max(1e3).optional(),
103
+ status: BusRouteStatusSchema.optional().default("DISABLED"),
104
+ match: z.object({
105
+ eventType: z.string().min(1).max(160),
106
+ sourceServiceCode: z.string().min(1).max(80).optional()
107
+ }),
108
+ target: z.object({
109
+ serviceCode: z.string().min(1).max(80),
110
+ actionName: z.string().min(1).max(128)
111
+ }),
112
+ inputMapping: AnyJson.default({}).optional(),
113
+ metadata: AnyJson.default({}).optional()
114
+ });
115
+ var CreateBusRouteRuleRequestSchema = BusRouteRuleSchema.omit({ id: true });
116
+ var BusCommandRequestSchema = z.object({
117
+ commandId: z.string().startsWith("cmd_").optional(),
118
+ commandType: z.literal("ACTION_EXECUTE").default("ACTION_EXECUTE"),
119
+ targetService: z.string().min(1).max(80),
120
+ actionName: z.string().min(1).max(128),
121
+ sourceEventId: z.string().startsWith("bev_").optional(),
122
+ payload: AnyJson.default({}).optional(),
123
+ metadata: z.object({
124
+ routingRuleId: z.string().startsWith("brt_").optional(),
125
+ correlationId: z.string().min(1).max(160).optional()
126
+ }).catchall(z.any()).optional()
127
+ });
128
+ var busCommandRequestSchema = BusCommandRequestSchema;
129
+ var BusRoutingRuleSchema = BusRouteRuleSchema;
130
+ var busRoutingRuleSchema = BusRoutingRuleSchema;
131
+ var BusRoutedCommandSchema = z.object({
132
+ routeId: z.string().startsWith("brt_"),
133
+ commandId: z.string().startsWith("cmd_").optional(),
134
+ dryRun: z.boolean(),
135
+ targetServiceCode: z.string(),
136
+ actionName: z.string(),
137
+ status: z.enum(["CREATED", "DRY_RUN", "SKIPPED", "FAILED"]),
138
+ errorCode: z.string().optional(),
139
+ errorMessage: z.string().optional()
140
+ });
141
+ var PublishBusEventResponseSchema = z.object({
142
+ eventId: z.string().startsWith("bev_"),
143
+ experimental: CapsuleBusExperimentalSchema,
144
+ routedCommands: z.array(BusRoutedCommandSchema)
145
+ });
146
+ var BusEventRecordSchema = BusEventEnvelopeSchema.extend({
147
+ id: z.string().startsWith("bev_"),
148
+ agentId: z.string().startsWith("agt_"),
149
+ acceptedAt: z.string(),
150
+ routeCount: z.number().int()
151
+ });
152
+ var BusErrorCode = {
153
+ CAPSULE_BUS_DISABLED: "CAPSULE_BUS_DISABLED",
154
+ BUS_RATE_LIMITED: "BUS_RATE_LIMITED",
155
+ BUS_DEPTH_EXCEEDED: "BUS_DEPTH_EXCEEDED"
156
+ };
157
+ var publishBusEventRequestSchema = PublishBusEventRequestSchema;
158
+ var publishBusEventResponseSchema = PublishBusEventResponseSchema;
159
+ var busEventEnvelopeSchema = BusEventEnvelopeSchema;
160
+ var busRouteRuleSchema = BusRouteRuleSchema;
161
+ var createBusRouteRuleRequestSchema = CreateBusRouteRuleRequestSchema;
75
162
  var CreateActionCommandRequestSchema = z.object({ payload: AnyJson.optional(), confirmation: z.boolean().optional() });
76
163
  var createActionCommandRequestSchema = CreateActionCommandRequestSchema;
77
164
  var CommandTypeSchema = z.enum(["ACTION_PREPARE", "ACTION_EXECUTE"]);
@@ -110,6 +197,21 @@ function parseSort(value, allowed) {
110
197
  function paginate(items, page, pageSize, total) {
111
198
  return { data: items, pagination: { page, pageSize, total } };
112
199
  }
200
+ var ErrorCode = {
201
+ INTERNAL_ERROR: "INTERNAL_ERROR",
202
+ VALIDATION_FAILED: "VALIDATION_FAILED",
203
+ UNAUTHORIZED: "UNAUTHORIZED",
204
+ FORBIDDEN: "FORBIDDEN",
205
+ NOT_FOUND: "NOT_FOUND",
206
+ CONFLICT: "CONFLICT",
207
+ CSRF_INVALID: "CSRF_INVALID",
208
+ ACTION_REQUIRES_CONFIRMATION: "ACTION_REQUIRES_CONFIRMATION",
209
+ COMMAND_EXPIRED: "COMMAND_EXPIRED",
210
+ TOKEN_REVOKED: "TOKEN_REVOKED",
211
+ TOKEN_EXPIRED: "TOKEN_EXPIRED",
212
+ AGENT_REVOKED: "AGENT_REVOKED",
213
+ AGENT_DISABLED: "AGENT_DISABLED"
214
+ };
113
215
  export {
114
216
  ActionDefinitionInputSchema,
115
217
  ActionDefinitionSchema,
@@ -118,6 +220,8 @@ export {
118
220
  AdminSessionSchema,
119
221
  AgentHeartbeatRequestSchema,
120
222
  AgentHeartbeatResponseSchema,
223
+ AgentMode,
224
+ AgentModeSchema,
121
225
  AgentSchema,
122
226
  AgentStatus,
123
227
  AgentStatusSchema,
@@ -125,6 +229,16 @@ export {
125
229
  AuditActorType,
126
230
  AuditEventSchema,
127
231
  AuditResult,
232
+ BusCommandRequestSchema,
233
+ BusErrorCode,
234
+ BusEventEnvelopeSchema,
235
+ BusEventRecordSchema,
236
+ BusRouteRuleSchema,
237
+ BusRouteStatus,
238
+ BusRouteStatusSchema,
239
+ BusRoutedCommandSchema,
240
+ BusRoutingRuleSchema,
241
+ CapsuleBusExperimentalSchema,
128
242
  CapsuleManifestSchema,
129
243
  CapsuleServiceDetailSchema,
130
244
  CapsuleServiceSchema,
@@ -139,24 +253,31 @@ export {
139
253
  ConfigItemInputSchema,
140
254
  ConfigItemSchema,
141
255
  CreateActionCommandRequestSchema,
256
+ CreateBusRouteRuleRequestSchema,
142
257
  CreateRegistrationTokenRequestSchema,
143
258
  CreateRegistrationTokenResponseSchema,
144
259
  DangerLevel,
145
260
  DangerLevelSchema,
146
261
  DashboardSummarySchema,
147
262
  ErrorCode,
263
+ EventMetadataSchema,
148
264
  HealthReportInputSchema,
149
265
  HealthReportSchema,
150
266
  HealthStatus,
151
267
  HealthStatusSchema,
152
268
  HttpError,
153
269
  ListQueryBase,
270
+ PublishBusEventRequestSchema,
271
+ PublishBusEventResponseSchema,
154
272
  RegisterAgentRequestSchema,
155
273
  RegisterAgentResponseSchema,
156
274
  RegistrationTokenSchema,
157
275
  ReportCommandResultRequestSchema,
158
276
  ReportedServiceSchema,
159
277
  RuntimeKindSchema,
278
+ ServiceCapabilitySchema,
279
+ ServiceKind,
280
+ ServiceKindSchema,
160
281
  ServiceReportRequestSchema,
161
282
  SystemHealthSchema,
162
283
  SystemVersionSchema,
@@ -167,17 +288,26 @@ export {
167
288
  actionPrepareResultSchema,
168
289
  adminLoginRequestSchema,
169
290
  agentHeartbeatRequestSchema,
291
+ busCommandRequestSchema,
292
+ busEventEnvelopeSchema,
293
+ busRouteRuleSchema,
294
+ busRoutingRuleSchema,
170
295
  configItemInputSchema,
171
296
  createActionCommandRequestSchema,
297
+ createBusRouteRuleRequestSchema,
172
298
  createRegistrationTokenRequestSchema,
173
299
  createUserRequestSchema,
300
+ eventMetadataSchema,
174
301
  healthReportInputSchema,
175
302
  paginate,
176
303
  parseSort,
304
+ publishBusEventRequestSchema,
305
+ publishBusEventResponseSchema,
177
306
  registerAgentRequestSchema,
178
307
  reportCommandResultRequestSchema,
179
308
  reportedServiceSchema,
180
309
  resetUserPasswordRequestSchema,
310
+ serviceCapabilitySchema,
181
311
  serviceReportRequestSchema,
182
312
  updateUserRequestSchema,
183
313
  z