@xtrape/capsule-contracts-node 0.2.0 → 0.3.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 +48 -2
- package/dist/index.cjs +56 -19
- package/dist/index.d.cts +728 -52
- package/dist/index.d.ts +728 -52
- package/dist/index.js +48 -19
- 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() });
|
|
@@ -110,6 +116,21 @@ function parseSort(value, allowed) {
|
|
|
110
116
|
function paginate(items, page, pageSize, total) {
|
|
111
117
|
return { data: items, pagination: { page, pageSize, total } };
|
|
112
118
|
}
|
|
119
|
+
var ErrorCode = {
|
|
120
|
+
INTERNAL_ERROR: "INTERNAL_ERROR",
|
|
121
|
+
VALIDATION_FAILED: "VALIDATION_FAILED",
|
|
122
|
+
UNAUTHORIZED: "UNAUTHORIZED",
|
|
123
|
+
FORBIDDEN: "FORBIDDEN",
|
|
124
|
+
NOT_FOUND: "NOT_FOUND",
|
|
125
|
+
CONFLICT: "CONFLICT",
|
|
126
|
+
CSRF_INVALID: "CSRF_INVALID",
|
|
127
|
+
ACTION_REQUIRES_CONFIRMATION: "ACTION_REQUIRES_CONFIRMATION",
|
|
128
|
+
COMMAND_EXPIRED: "COMMAND_EXPIRED",
|
|
129
|
+
TOKEN_REVOKED: "TOKEN_REVOKED",
|
|
130
|
+
TOKEN_EXPIRED: "TOKEN_EXPIRED",
|
|
131
|
+
AGENT_REVOKED: "AGENT_REVOKED",
|
|
132
|
+
AGENT_DISABLED: "AGENT_DISABLED"
|
|
133
|
+
};
|
|
113
134
|
export {
|
|
114
135
|
ActionDefinitionInputSchema,
|
|
115
136
|
ActionDefinitionSchema,
|
|
@@ -118,6 +139,8 @@ export {
|
|
|
118
139
|
AdminSessionSchema,
|
|
119
140
|
AgentHeartbeatRequestSchema,
|
|
120
141
|
AgentHeartbeatResponseSchema,
|
|
142
|
+
AgentMode,
|
|
143
|
+
AgentModeSchema,
|
|
121
144
|
AgentSchema,
|
|
122
145
|
AgentStatus,
|
|
123
146
|
AgentStatusSchema,
|
|
@@ -145,6 +168,7 @@ export {
|
|
|
145
168
|
DangerLevelSchema,
|
|
146
169
|
DashboardSummarySchema,
|
|
147
170
|
ErrorCode,
|
|
171
|
+
EventMetadataSchema,
|
|
148
172
|
HealthReportInputSchema,
|
|
149
173
|
HealthReportSchema,
|
|
150
174
|
HealthStatus,
|
|
@@ -157,6 +181,9 @@ export {
|
|
|
157
181
|
ReportCommandResultRequestSchema,
|
|
158
182
|
ReportedServiceSchema,
|
|
159
183
|
RuntimeKindSchema,
|
|
184
|
+
ServiceCapabilitySchema,
|
|
185
|
+
ServiceKind,
|
|
186
|
+
ServiceKindSchema,
|
|
160
187
|
ServiceReportRequestSchema,
|
|
161
188
|
SystemHealthSchema,
|
|
162
189
|
SystemVersionSchema,
|
|
@@ -171,6 +198,7 @@ export {
|
|
|
171
198
|
createActionCommandRequestSchema,
|
|
172
199
|
createRegistrationTokenRequestSchema,
|
|
173
200
|
createUserRequestSchema,
|
|
201
|
+
eventMetadataSchema,
|
|
174
202
|
healthReportInputSchema,
|
|
175
203
|
paginate,
|
|
176
204
|
parseSort,
|
|
@@ -178,6 +206,7 @@ export {
|
|
|
178
206
|
reportCommandResultRequestSchema,
|
|
179
207
|
reportedServiceSchema,
|
|
180
208
|
resetUserPasswordRequestSchema,
|
|
209
|
+
serviceCapabilitySchema,
|
|
181
210
|
serviceReportRequestSchema,
|
|
182
211
|
updateUserRequestSchema,
|
|
183
212
|
z
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xtrape/capsule-contracts-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "TypeScript contracts and Zod schemas for Xtrape Capsule and Opstage wire protocols.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xtrape",
|
|
@@ -36,6 +36,13 @@
|
|
|
36
36
|
"LICENSE",
|
|
37
37
|
"NOTICE"
|
|
38
38
|
],
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsup src/index.ts --format esm,cjs --dts",
|
|
41
|
+
"prepack": "pnpm build",
|
|
42
|
+
"test": "vitest run",
|
|
43
|
+
"typecheck": "tsc --noEmit",
|
|
44
|
+
"lint": "tsc --noEmit"
|
|
45
|
+
},
|
|
39
46
|
"dependencies": {
|
|
40
47
|
"zod": "^3.25.0"
|
|
41
48
|
},
|
|
@@ -51,11 +58,5 @@
|
|
|
51
58
|
"registry": "https://registry.npmjs.org/",
|
|
52
59
|
"access": "public"
|
|
53
60
|
},
|
|
54
|
-
"license": "Apache-2.0"
|
|
55
|
-
|
|
56
|
-
"build": "tsup src/index.ts --format esm,cjs --dts",
|
|
57
|
-
"test": "vitest run",
|
|
58
|
-
"typecheck": "tsc --noEmit",
|
|
59
|
-
"lint": "tsc --noEmit"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
61
|
+
"license": "Apache-2.0"
|
|
62
|
+
}
|