@domino-sdk/relay-cli 0.1.0 → 0.2.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/cli/agents.mjs +3 -0
- package/cli/capabilities.json +82 -0
- package/cli/commands/agents.mjs +1 -0
- package/cli/commands/discovery.mjs +45 -0
- package/cli/commands/hosting.mjs +25 -2
- package/cli/commands/staging.mjs +9 -1
- package/cli/connected-dev.mjs +223 -0
- package/cli/connector.mjs +109 -0
- package/cli/dev.mjs +8 -18
- package/cli/development-sync.mjs +28 -0
- package/cli/doctor.mjs +90 -3
- package/cli/skills/domino/SKILL.md +6 -2
- package/cli/skills/domino/references/hosted.md +2 -2
- package/cli/skills/domino/references/participant-api.md +28 -0
- package/cli/skills/domino/references/referrals.md +15 -0
- package/cli/skills/domino/references/troubleshooting.md +11 -0
- package/cli.mjs +5 -1
- package/dist/index.d.ts +85 -14
- package/dist/index.js +153 -116
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
saveQuestDraftSchema,
|
|
13
13
|
publishQuestDraftSchema
|
|
14
14
|
} from "@domino-sdk/relay";
|
|
15
|
-
import { z as
|
|
15
|
+
import { z as z3 } from "zod";
|
|
16
16
|
|
|
17
17
|
// src/hosting.ts
|
|
18
18
|
import { z } from "zod";
|
|
@@ -45,6 +45,7 @@ var stageRequestSchema = z.object({
|
|
|
45
45
|
requestId: z.string().uuid()
|
|
46
46
|
}).strict();
|
|
47
47
|
var buildIdentitySchema = z.object({
|
|
48
|
+
runtime: z.enum(["simulation", "hosted-test"]).default("simulation"),
|
|
48
49
|
id: z.string().uuid(),
|
|
49
50
|
repository: z.string().uuid(),
|
|
50
51
|
organization: identifier,
|
|
@@ -112,9 +113,34 @@ import {
|
|
|
112
113
|
snapshotSchema,
|
|
113
114
|
memberProgressSchema
|
|
114
115
|
} from "@domino-sdk/relay";
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
|
|
117
|
+
// src/development.ts
|
|
118
|
+
import { z as z2 } from "zod";
|
|
119
|
+
var developmentPreflightSchema = z2.object({
|
|
120
|
+
organization: z2.string(),
|
|
121
|
+
project: z2.string(),
|
|
122
|
+
environment: z2.enum(["test", "live"]),
|
|
123
|
+
staging: z2.enum(["configured", "blocked"]),
|
|
124
|
+
development: z2.object({
|
|
125
|
+
status: z2.enum(["configured", "blocked"]),
|
|
126
|
+
missing: z2.array(z2.string()),
|
|
127
|
+
authentication: z2.array(z2.string())
|
|
128
|
+
}),
|
|
129
|
+
checks: z2.array(
|
|
130
|
+
z2.object({
|
|
131
|
+
id: z2.string(),
|
|
132
|
+
status: z2.enum(["ok", "error"]),
|
|
133
|
+
message: z2.string(),
|
|
134
|
+
missing: z2.array(z2.string()).optional(),
|
|
135
|
+
issues: z2.array(z2.string()).optional()
|
|
136
|
+
})
|
|
137
|
+
)
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
// src/index.ts
|
|
141
|
+
var environmentSchema = z3.enum(["test", "live"]);
|
|
142
|
+
var roleSchema = z3.enum(["editor", "reviewer", "staff"]);
|
|
143
|
+
var permissionSchema = z3.enum([
|
|
118
144
|
"read",
|
|
119
145
|
"publish",
|
|
120
146
|
"review",
|
|
@@ -128,155 +154,164 @@ var rolePermissions = {
|
|
|
128
154
|
reviewer: ["read", "review"],
|
|
129
155
|
staff: ["read", "confirm", "handover"]
|
|
130
156
|
};
|
|
131
|
-
var
|
|
132
|
-
|
|
157
|
+
var projectSetupSchema = z3.object({
|
|
158
|
+
mode: z3.enum(["new", "existing"]),
|
|
159
|
+
brief: z3.string().trim().min(1).max(4e3)
|
|
160
|
+
}).strict();
|
|
161
|
+
var projectSchema = z3.object({
|
|
162
|
+
setup: projectSetupSchema.optional(),
|
|
163
|
+
id: z3.string().min(1),
|
|
133
164
|
organization: identifier2,
|
|
134
165
|
project: identifier2,
|
|
135
|
-
name:
|
|
136
|
-
subtitle:
|
|
137
|
-
initials:
|
|
138
|
-
color:
|
|
139
|
-
permissions:
|
|
140
|
-
environments:
|
|
166
|
+
name: z3.string(),
|
|
167
|
+
subtitle: z3.string(),
|
|
168
|
+
initials: z3.string(),
|
|
169
|
+
color: z3.string(),
|
|
170
|
+
permissions: z3.array(permissionSchema),
|
|
171
|
+
environments: z3.array(environmentSchema)
|
|
141
172
|
});
|
|
142
|
-
var projectInputSchema =
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
environments: z2.array(environmentSchema)
|
|
173
|
+
var projectInputSchema = z3.object({
|
|
174
|
+
project: identifier2,
|
|
175
|
+
name: z3.string().trim().min(1).max(80),
|
|
176
|
+
setup: projectSetupSchema.optional()
|
|
147
177
|
}).strict();
|
|
148
|
-
var
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
178
|
+
var grantSchema = z3.object({
|
|
179
|
+
subject: z3.string().min(1).max(200),
|
|
180
|
+
roles: z3.array(roleSchema),
|
|
181
|
+
environments: z3.array(environmentSchema)
|
|
182
|
+
}).strict();
|
|
183
|
+
var accessSchema = z3.object({
|
|
184
|
+
actor: z3.string(),
|
|
185
|
+
organization: z3.string(),
|
|
186
|
+
admin: z3.boolean(),
|
|
187
|
+
local: z3.boolean(),
|
|
188
|
+
projects: z3.array(projectSchema)
|
|
154
189
|
});
|
|
155
|
-
var querySchema =
|
|
156
|
-
q:
|
|
157
|
-
filter:
|
|
158
|
-
offset:
|
|
159
|
-
limit:
|
|
190
|
+
var querySchema = z3.object({
|
|
191
|
+
q: z3.string().max(200).default(""),
|
|
192
|
+
filter: z3.string().max(50).default("all"),
|
|
193
|
+
offset: z3.coerce.number().int().min(0).max(1e6).default(0),
|
|
194
|
+
limit: z3.coerce.number().int().min(1).max(100).default(25)
|
|
160
195
|
});
|
|
161
|
-
var accountProfileSchema =
|
|
162
|
-
name:
|
|
163
|
-
email:
|
|
164
|
-
emailVerified:
|
|
165
|
-
imageUrl:
|
|
196
|
+
var accountProfileSchema = z3.object({
|
|
197
|
+
name: z3.string().optional(),
|
|
198
|
+
email: z3.string().optional(),
|
|
199
|
+
emailVerified: z3.boolean().default(false),
|
|
200
|
+
imageUrl: z3.string().url().optional()
|
|
166
201
|
});
|
|
167
|
-
var memberAccountSchema =
|
|
168
|
-
provider:
|
|
169
|
-
subject:
|
|
170
|
-
signInEnabled:
|
|
202
|
+
var memberAccountSchema = z3.object({
|
|
203
|
+
provider: z3.string(),
|
|
204
|
+
subject: z3.string(),
|
|
205
|
+
signInEnabled: z3.boolean(),
|
|
171
206
|
profile: accountProfileSchema.optional()
|
|
172
207
|
});
|
|
173
|
-
var operationSchema =
|
|
174
|
-
target:
|
|
175
|
-
paused:
|
|
176
|
-
revision:
|
|
177
|
-
reason:
|
|
178
|
-
actor:
|
|
179
|
-
changedAt:
|
|
208
|
+
var operationSchema = z3.object({
|
|
209
|
+
target: z3.string(),
|
|
210
|
+
paused: z3.boolean(),
|
|
211
|
+
revision: z3.number().int(),
|
|
212
|
+
reason: z3.string(),
|
|
213
|
+
actor: z3.string().nullable(),
|
|
214
|
+
changedAt: z3.number()
|
|
180
215
|
});
|
|
181
|
-
var operationInputSchema =
|
|
182
|
-
target:
|
|
183
|
-
|
|
184
|
-
|
|
216
|
+
var operationInputSchema = z3.object({
|
|
217
|
+
target: z3.union([
|
|
218
|
+
z3.literal("redemptions"),
|
|
219
|
+
z3.string().regex(/^quest:[\w-]+$/)
|
|
185
220
|
]),
|
|
186
|
-
paused:
|
|
187
|
-
revision:
|
|
188
|
-
reason:
|
|
221
|
+
paused: z3.boolean(),
|
|
222
|
+
revision: z3.number().int().nonnegative(),
|
|
223
|
+
reason: z3.string().trim().min(1).max(500),
|
|
189
224
|
actionId: identifier2
|
|
190
225
|
}).strict();
|
|
191
|
-
var memberSchema =
|
|
192
|
-
id:
|
|
193
|
-
accounts:
|
|
194
|
-
attempts:
|
|
195
|
-
completions:
|
|
196
|
-
rewards:
|
|
197
|
-
lastActivity:
|
|
226
|
+
var memberSchema = z3.object({
|
|
227
|
+
id: z3.string(),
|
|
228
|
+
accounts: z3.array(memberAccountSchema).default([]),
|
|
229
|
+
attempts: z3.number(),
|
|
230
|
+
completions: z3.number(),
|
|
231
|
+
rewards: z3.number(),
|
|
232
|
+
lastActivity: z3.number().nullable()
|
|
198
233
|
});
|
|
199
|
-
var metricsSchema =
|
|
200
|
-
quests:
|
|
201
|
-
members:
|
|
202
|
-
attempts:
|
|
203
|
-
completions:
|
|
204
|
-
review:
|
|
205
|
-
failed:
|
|
206
|
-
entitlements:
|
|
234
|
+
var metricsSchema = z3.object({
|
|
235
|
+
quests: z3.number(),
|
|
236
|
+
members: z3.number(),
|
|
237
|
+
attempts: z3.number(),
|
|
238
|
+
completions: z3.number(),
|
|
239
|
+
review: z3.number(),
|
|
240
|
+
failed: z3.number(),
|
|
241
|
+
entitlements: z3.number()
|
|
207
242
|
});
|
|
208
|
-
var readinessSchema =
|
|
209
|
-
checks:
|
|
210
|
-
|
|
211
|
-
id:
|
|
212
|
-
status:
|
|
213
|
-
title:
|
|
214
|
-
detail:
|
|
243
|
+
var readinessSchema = z3.object({
|
|
244
|
+
checks: z3.array(
|
|
245
|
+
z3.object({
|
|
246
|
+
id: z3.string(),
|
|
247
|
+
status: z3.enum(["ready", "blocked"]),
|
|
248
|
+
title: z3.string(),
|
|
249
|
+
detail: z3.string()
|
|
215
250
|
})
|
|
216
251
|
)
|
|
217
252
|
});
|
|
218
|
-
var inventorySchema =
|
|
219
|
-
item:
|
|
220
|
-
available:
|
|
221
|
-
reserved:
|
|
222
|
-
allocated:
|
|
253
|
+
var inventorySchema = z3.object({
|
|
254
|
+
item: z3.string(),
|
|
255
|
+
available: z3.number(),
|
|
256
|
+
reserved: z3.number(),
|
|
257
|
+
allocated: z3.number().default(0)
|
|
223
258
|
});
|
|
224
|
-
var auditRecordSchema =
|
|
225
|
-
id:
|
|
226
|
-
action:
|
|
227
|
-
actor:
|
|
228
|
-
detail:
|
|
229
|
-
at:
|
|
230
|
-
attempt:
|
|
259
|
+
var auditRecordSchema = z3.object({
|
|
260
|
+
id: z3.string(),
|
|
261
|
+
action: z3.string(),
|
|
262
|
+
actor: z3.string().nullable(),
|
|
263
|
+
detail: z3.string(),
|
|
264
|
+
at: z3.number(),
|
|
265
|
+
attempt: z3.string().nullable()
|
|
231
266
|
});
|
|
232
|
-
var pageSchema =
|
|
267
|
+
var pageSchema = z3.object({
|
|
233
268
|
snapshot: snapshotSchema,
|
|
234
|
-
members:
|
|
269
|
+
members: z3.array(memberSchema),
|
|
235
270
|
metrics: metricsSchema,
|
|
236
|
-
total:
|
|
237
|
-
offset:
|
|
238
|
-
limit:
|
|
239
|
-
inventory:
|
|
240
|
-
operations:
|
|
241
|
-
audit:
|
|
242
|
-
questCounts:
|
|
271
|
+
total: z3.number(),
|
|
272
|
+
offset: z3.number(),
|
|
273
|
+
limit: z3.number(),
|
|
274
|
+
inventory: z3.array(inventorySchema),
|
|
275
|
+
operations: z3.array(operationSchema).default([]),
|
|
276
|
+
audit: z3.array(auditRecordSchema).default([]),
|
|
277
|
+
questCounts: z3.record(z3.string(), z3.number())
|
|
243
278
|
});
|
|
244
|
-
var memberDetailSchema =
|
|
279
|
+
var memberDetailSchema = z3.object({
|
|
245
280
|
snapshot: snapshotSchema,
|
|
246
281
|
member: memberSchema,
|
|
247
282
|
progress: memberProgressSchema,
|
|
248
|
-
passes:
|
|
249
|
-
|
|
250
|
-
provider:
|
|
251
|
-
event:
|
|
252
|
-
subject:
|
|
283
|
+
passes: z3.array(
|
|
284
|
+
z3.object({
|
|
285
|
+
provider: z3.string(),
|
|
286
|
+
event: z3.string(),
|
|
287
|
+
subject: z3.string(),
|
|
253
288
|
attempt: identifier2.nullable()
|
|
254
289
|
})
|
|
255
290
|
).default([]),
|
|
256
|
-
wallet:
|
|
291
|
+
wallet: z3.object({
|
|
257
292
|
connection: walletConnectionSchema.nullable(),
|
|
258
|
-
observation:
|
|
293
|
+
observation: z3.object({ attempt: identifier2, balance: solanaBalanceSchema }).nullable()
|
|
259
294
|
}).default({ connection: null, observation: null })
|
|
260
295
|
});
|
|
261
|
-
var stockInputSchema =
|
|
296
|
+
var stockInputSchema = z3.object({
|
|
262
297
|
item: identifier2,
|
|
263
|
-
quantity:
|
|
298
|
+
quantity: z3.number().int().positive().max(1e6),
|
|
264
299
|
actionId: identifier2
|
|
265
300
|
}).strict();
|
|
266
|
-
var tokenInputSchema =
|
|
267
|
-
name:
|
|
301
|
+
var tokenInputSchema = z3.object({
|
|
302
|
+
name: z3.string().trim().min(1).max(80),
|
|
268
303
|
project: identifier2,
|
|
269
304
|
environment: environmentSchema,
|
|
270
|
-
permissions:
|
|
271
|
-
days:
|
|
305
|
+
permissions: z3.array(permissionSchema).min(1),
|
|
306
|
+
days: z3.number().int().min(1).max(90).default(30)
|
|
272
307
|
}).strict();
|
|
273
|
-
var tokenSchema =
|
|
274
|
-
id:
|
|
275
|
-
name:
|
|
276
|
-
project:
|
|
308
|
+
var tokenSchema = z3.object({
|
|
309
|
+
id: z3.string(),
|
|
310
|
+
name: z3.string(),
|
|
311
|
+
project: z3.string(),
|
|
277
312
|
environment: environmentSchema,
|
|
278
|
-
permissions:
|
|
279
|
-
expiresAt:
|
|
313
|
+
permissions: z3.array(permissionSchema),
|
|
314
|
+
expiresAt: z3.number()
|
|
280
315
|
});
|
|
281
316
|
function createManagementClient(options) {
|
|
282
317
|
async function raw(path, init) {
|
|
@@ -293,7 +328,7 @@ function createManagementClient(options) {
|
|
|
293
328
|
headers
|
|
294
329
|
});
|
|
295
330
|
if (!response.ok) {
|
|
296
|
-
const error =
|
|
331
|
+
const error = z3.object({ error: z3.string() }).safeParse(await response.json().catch(() => null));
|
|
297
332
|
throw new Error(
|
|
298
333
|
error.success ? error.data.error : `Request failed (${response.status})`
|
|
299
334
|
);
|
|
@@ -367,7 +402,7 @@ function createManagementClient(options) {
|
|
|
367
402
|
)
|
|
368
403
|
},
|
|
369
404
|
inventory: {
|
|
370
|
-
catalog: () => request("/pickup-inventory",
|
|
405
|
+
catalog: () => request("/pickup-inventory", z3.array(pickupCatalogSchema)),
|
|
371
406
|
configure: (input) => request(
|
|
372
407
|
"/pickup-inventory",
|
|
373
408
|
pickupCatalogSchema,
|
|
@@ -400,6 +435,7 @@ export {
|
|
|
400
435
|
commitSchema,
|
|
401
436
|
createManagementClient,
|
|
402
437
|
createRepositorySchema,
|
|
438
|
+
developmentPreflightSchema,
|
|
403
439
|
deviceApproveSchema,
|
|
404
440
|
deviceRedeemSchema,
|
|
405
441
|
deviceStartSchema,
|
|
@@ -416,6 +452,7 @@ export {
|
|
|
416
452
|
permissionSchema,
|
|
417
453
|
projectInputSchema,
|
|
418
454
|
projectSchema,
|
|
455
|
+
projectSetupSchema,
|
|
419
456
|
querySchema,
|
|
420
457
|
readinessSchema,
|
|
421
458
|
repositorySchema,
|
package/package.json
CHANGED