@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/README.md +72 -2
- package/dist/index.cjs +177 -19
- package/dist/index.d.cts +1535 -67
- package/dist/index.d.ts +1535 -67
- package/dist/index.js +149 -19
- package/dist/src/index.d.ts +4245 -0
- package/dist/src/index.js +210 -0
- package/dist/tests/bus.spec.d.ts +1 -0
- package/dist/tests/bus.spec.js +52 -0
- package/dist/tests/schema-validation.spec.d.ts +1 -0
- package/dist/tests/schema-validation.spec.js +155 -0
- package/dist/tests/schema.spec.d.ts +1 -0
- package/dist/tests/schema.spec.js +223 -0
- package/package.json +10 -9
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
|
|
12
|
-
|
|
13
|
-
|
|
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:
|
|
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
|
|
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({
|
|
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:
|
|
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
|