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