@duvoai/cli 1.1.0 → 1.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 +9 -1
- package/dist/bin/duvo.js +994 -460
- package/dist/bin/duvo.js.map +4 -4
- package/package.json +1 -1
package/dist/bin/duvo.js
CHANGED
|
@@ -863,7 +863,7 @@ var PLAN_VERSIONS = {
|
|
|
863
863
|
maxAgents: "unlimited",
|
|
864
864
|
maxAgentRunsPerMonth: 500,
|
|
865
865
|
runCountingMode: "monthly",
|
|
866
|
-
maxConcurrentRuns:
|
|
866
|
+
maxConcurrentRuns: 20,
|
|
867
867
|
features: [
|
|
868
868
|
PLAN_FEATURE.BROWSER_AUTOMATION,
|
|
869
869
|
PLAN_FEATURE.ADVANCED_INTEGRATIONS,
|
|
@@ -1965,6 +1965,31 @@ var ClaudeModelIdSchema = z11.enum([
|
|
|
1965
1965
|
...CLAUDE_MODEL_IDS,
|
|
1966
1966
|
...LEGACY_MODEL_IDS
|
|
1967
1967
|
]);
|
|
1968
|
+
var AVAILABLE_AGENT_MODELS = {
|
|
1969
|
+
"claude-sonnet-4-6": {
|
|
1970
|
+
displayName: "Claude Sonnet 4.6"
|
|
1971
|
+
},
|
|
1972
|
+
"claude-sonnet-4-6[1m]": {
|
|
1973
|
+
displayName: "Claude Sonnet 4.6",
|
|
1974
|
+
description: "Fast and capable for everyday tasks"
|
|
1975
|
+
},
|
|
1976
|
+
"claude-opus-4-6": {
|
|
1977
|
+
displayName: "Claude Opus 4.6",
|
|
1978
|
+
description: "Advanced model for complex work"
|
|
1979
|
+
},
|
|
1980
|
+
"claude-opus-4-6[1m]": {
|
|
1981
|
+
displayName: "Claude Opus 4.6",
|
|
1982
|
+
description: "Advanced model for complex work"
|
|
1983
|
+
},
|
|
1984
|
+
"claude-opus-4-7": {
|
|
1985
|
+
displayName: "Claude Opus 4.7",
|
|
1986
|
+
description: "Our most capable model \u2014 best for complex work"
|
|
1987
|
+
},
|
|
1988
|
+
"claude-opus-4-7[1m]": {
|
|
1989
|
+
displayName: "Claude Opus 4.7",
|
|
1990
|
+
description: "Our most capable model \u2014 best for complex work"
|
|
1991
|
+
}
|
|
1992
|
+
};
|
|
1968
1993
|
var BrowsingModelIdSchema = z11.enum([
|
|
1969
1994
|
"gemini-2.5-pro",
|
|
1970
1995
|
"gemini-2.5-flash",
|
|
@@ -3176,6 +3201,66 @@ function refineStepGraph(steps, ctx) {
|
|
|
3176
3201
|
}
|
|
3177
3202
|
__name(refineStepGraph, "refineStepGraph");
|
|
3178
3203
|
__name2(refineStepGraph, "refineStepGraph");
|
|
3204
|
+
var STRING_ARRAY_FIELDS = ["assumptions", "openQuestions"];
|
|
3205
|
+
var NULLABLE_STRING_FIELDS = [
|
|
3206
|
+
"action",
|
|
3207
|
+
"role",
|
|
3208
|
+
"system",
|
|
3209
|
+
"input",
|
|
3210
|
+
"output",
|
|
3211
|
+
"condition",
|
|
3212
|
+
"exception",
|
|
3213
|
+
"handling"
|
|
3214
|
+
];
|
|
3215
|
+
function isPlainObject(value) {
|
|
3216
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3217
|
+
}
|
|
3218
|
+
__name(isPlainObject, "isPlainObject");
|
|
3219
|
+
__name2(isPlainObject, "isPlainObject");
|
|
3220
|
+
function coerceStringArrayField(value) {
|
|
3221
|
+
if (Array.isArray(value)) {
|
|
3222
|
+
return value;
|
|
3223
|
+
}
|
|
3224
|
+
if (typeof value === "string") {
|
|
3225
|
+
const trimmed = value.trim();
|
|
3226
|
+
return trimmed.length === 0 ? null : [trimmed];
|
|
3227
|
+
}
|
|
3228
|
+
return value;
|
|
3229
|
+
}
|
|
3230
|
+
__name(coerceStringArrayField, "coerceStringArrayField");
|
|
3231
|
+
__name2(coerceStringArrayField, "coerceStringArrayField");
|
|
3232
|
+
function coerceNullableStringField(value) {
|
|
3233
|
+
if (typeof value === "string" && value.trim().length === 0) {
|
|
3234
|
+
return null;
|
|
3235
|
+
}
|
|
3236
|
+
return value;
|
|
3237
|
+
}
|
|
3238
|
+
__name(coerceNullableStringField, "coerceNullableStringField");
|
|
3239
|
+
__name2(coerceNullableStringField, "coerceNullableStringField");
|
|
3240
|
+
function coerceStepOutput(step) {
|
|
3241
|
+
if (!isPlainObject(step)) {
|
|
3242
|
+
return step;
|
|
3243
|
+
}
|
|
3244
|
+
const next = { ...step };
|
|
3245
|
+
for (const field of STRING_ARRAY_FIELDS) {
|
|
3246
|
+
if (field in next) {
|
|
3247
|
+
next[field] = coerceStringArrayField(next[field]);
|
|
3248
|
+
}
|
|
3249
|
+
}
|
|
3250
|
+
for (const field of NULLABLE_STRING_FIELDS) {
|
|
3251
|
+
if (field in next) {
|
|
3252
|
+
next[field] = coerceNullableStringField(next[field]);
|
|
3253
|
+
}
|
|
3254
|
+
}
|
|
3255
|
+
return next;
|
|
3256
|
+
}
|
|
3257
|
+
__name(coerceStepOutput, "coerceStepOutput");
|
|
3258
|
+
__name2(coerceStepOutput, "coerceStepOutput");
|
|
3259
|
+
function coerceStepsOutput(steps) {
|
|
3260
|
+
return steps.map(coerceStepOutput);
|
|
3261
|
+
}
|
|
3262
|
+
__name(coerceStepsOutput, "coerceStepsOutput");
|
|
3263
|
+
__name2(coerceStepsOutput, "coerceStepsOutput");
|
|
3179
3264
|
var stepSourceSchema = z14.object({
|
|
3180
3265
|
attribution: z14.string().min(1).describe(
|
|
3181
3266
|
'Human-readable source label identifying who or what the evidence comes from. Examples: "Anna (sales interview)", "Onboarding SOP \xA73.2", "Slack #ops 2024-06-12"'
|
|
@@ -3712,6 +3797,151 @@ var artifactChatMessageUpsertEventDataSchema = z18.object({
|
|
|
3712
3797
|
conversation: clarityProcessChatConversationSchema,
|
|
3713
3798
|
message: clarityProcessChatMessageSchema
|
|
3714
3799
|
});
|
|
3800
|
+
function isJsonObject(value) {
|
|
3801
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3802
|
+
}
|
|
3803
|
+
__name(isJsonObject, "isJsonObject");
|
|
3804
|
+
__name2(isJsonObject, "isJsonObject");
|
|
3805
|
+
function clarityStepsToEaseDocument(steps) {
|
|
3806
|
+
const stepOrder = steps.map((step) => step.id);
|
|
3807
|
+
const stepsById = Object.fromEntries(
|
|
3808
|
+
steps.map((step) => {
|
|
3809
|
+
const {
|
|
3810
|
+
id,
|
|
3811
|
+
readiness: _readiness,
|
|
3812
|
+
readinessRationale: _readinessRationale,
|
|
3813
|
+
extraCaptureNeeded: _extraCaptureNeeded,
|
|
3814
|
+
...baseStep
|
|
3815
|
+
} = step;
|
|
3816
|
+
return [id, baseStep];
|
|
3817
|
+
})
|
|
3818
|
+
);
|
|
3819
|
+
return { stepOrder, stepsById };
|
|
3820
|
+
}
|
|
3821
|
+
__name(clarityStepsToEaseDocument, "clarityStepsToEaseDocument");
|
|
3822
|
+
__name2(clarityStepsToEaseDocument, "clarityStepsToEaseDocument");
|
|
3823
|
+
function assertEaseDocument(value) {
|
|
3824
|
+
if (!isJsonObject(value)) {
|
|
3825
|
+
throw new Error("EASE document must be an object");
|
|
3826
|
+
}
|
|
3827
|
+
if (!Array.isArray(value.stepOrder)) {
|
|
3828
|
+
throw new Error("EASE document stepOrder must be an array");
|
|
3829
|
+
}
|
|
3830
|
+
if (!isJsonObject(value.stepsById)) {
|
|
3831
|
+
throw new Error("EASE document stepsById must be an object");
|
|
3832
|
+
}
|
|
3833
|
+
const stepOrder = value.stepOrder.map((stepId, index) => {
|
|
3834
|
+
if (typeof stepId !== "string" || stepId.length === 0) {
|
|
3835
|
+
throw new Error(`stepOrder[${index}] must be a non-empty string`);
|
|
3836
|
+
}
|
|
3837
|
+
return stepId;
|
|
3838
|
+
});
|
|
3839
|
+
const duplicateStepIds = stepOrder.filter(
|
|
3840
|
+
(stepId, index) => stepOrder.indexOf(stepId) !== index
|
|
3841
|
+
);
|
|
3842
|
+
if (duplicateStepIds.length > 0) {
|
|
3843
|
+
throw new Error(`stepOrder contains duplicate id "${duplicateStepIds[0]}"`);
|
|
3844
|
+
}
|
|
3845
|
+
const stepOrderSet = new Set(stepOrder);
|
|
3846
|
+
const stepEntries = Object.entries(value.stepsById).map(([stepId, step]) => {
|
|
3847
|
+
if (!stepOrderSet.has(stepId)) {
|
|
3848
|
+
throw new Error(`stepsById contains "${stepId}" but stepOrder does not`);
|
|
3849
|
+
}
|
|
3850
|
+
if (!isJsonObject(step)) {
|
|
3851
|
+
throw new Error(`stepsById.${stepId} must be an object`);
|
|
3852
|
+
}
|
|
3853
|
+
if ("id" in step) {
|
|
3854
|
+
throw new Error(`stepsById.${stepId} must not contain an id field`);
|
|
3855
|
+
}
|
|
3856
|
+
const targetSteps = step.targetSteps;
|
|
3857
|
+
if (!Array.isArray(targetSteps)) {
|
|
3858
|
+
throw new Error(`stepsById.${stepId}.targetSteps must be an array`);
|
|
3859
|
+
}
|
|
3860
|
+
targetSteps.forEach((edge, edgeIndex) => {
|
|
3861
|
+
if (!isJsonObject(edge)) {
|
|
3862
|
+
throw new Error(
|
|
3863
|
+
`stepsById.${stepId}.targetSteps[${edgeIndex}] must be an object`
|
|
3864
|
+
);
|
|
3865
|
+
}
|
|
3866
|
+
if (typeof edge.stepId !== "string" || !stepOrderSet.has(edge.stepId)) {
|
|
3867
|
+
throw new Error(
|
|
3868
|
+
`stepsById.${stepId}.targetSteps[${edgeIndex}].stepId "${String(edge.stepId)}" does not match any step id`
|
|
3869
|
+
);
|
|
3870
|
+
}
|
|
3871
|
+
});
|
|
3872
|
+
return [stepId, step];
|
|
3873
|
+
});
|
|
3874
|
+
for (const stepId of stepOrder) {
|
|
3875
|
+
if (!(stepId in value.stepsById)) {
|
|
3876
|
+
throw new Error(`stepOrder contains "${stepId}" but stepsById does not`);
|
|
3877
|
+
}
|
|
3878
|
+
}
|
|
3879
|
+
return {
|
|
3880
|
+
stepOrder,
|
|
3881
|
+
stepsById: Object.fromEntries(stepEntries)
|
|
3882
|
+
};
|
|
3883
|
+
}
|
|
3884
|
+
__name(assertEaseDocument, "assertEaseDocument");
|
|
3885
|
+
__name2(assertEaseDocument, "assertEaseDocument");
|
|
3886
|
+
function materializeEaseDocument(easeDocument) {
|
|
3887
|
+
const ease = assertEaseDocument(easeDocument);
|
|
3888
|
+
return {
|
|
3889
|
+
steps: ease.stepOrder.map((stepId) => ({
|
|
3890
|
+
id: stepId,
|
|
3891
|
+
...ease.stepsById[stepId]
|
|
3892
|
+
}))
|
|
3893
|
+
};
|
|
3894
|
+
}
|
|
3895
|
+
__name(materializeEaseDocument, "materializeEaseDocument");
|
|
3896
|
+
__name2(materializeEaseDocument, "materializeEaseDocument");
|
|
3897
|
+
function mergeCurrentProcessPostprocessSlices(previous, steps) {
|
|
3898
|
+
return { ...previous, steps: mergeSteps(previous.steps, steps) };
|
|
3899
|
+
}
|
|
3900
|
+
__name(mergeCurrentProcessPostprocessSlices, "mergeCurrentProcessPostprocessSlices");
|
|
3901
|
+
__name2(mergeCurrentProcessPostprocessSlices, "mergeCurrentProcessPostprocessSlices");
|
|
3902
|
+
function mergeTransformationProposalPostprocessSlices(previous, steps) {
|
|
3903
|
+
return { ...previous, steps: mergeSteps(previous.steps, steps) };
|
|
3904
|
+
}
|
|
3905
|
+
__name(mergeTransformationProposalPostprocessSlices, "mergeTransformationProposalPostprocessSlices");
|
|
3906
|
+
__name2(mergeTransformationProposalPostprocessSlices, "mergeTransformationProposalPostprocessSlices");
|
|
3907
|
+
function createBaseCurrentProcessData(previous, steps) {
|
|
3908
|
+
return postprocessClarityCurrentProcessDataSchema.parse({
|
|
3909
|
+
version: previous.version,
|
|
3910
|
+
steps: steps.map((step) => clarityStepBaseSchema.parse(step))
|
|
3911
|
+
});
|
|
3912
|
+
}
|
|
3913
|
+
__name(createBaseCurrentProcessData, "createBaseCurrentProcessData");
|
|
3914
|
+
__name2(createBaseCurrentProcessData, "createBaseCurrentProcessData");
|
|
3915
|
+
function createBaseTransformationProposalData(previous, steps) {
|
|
3916
|
+
return postprocessClarityTransformationProposalDataSchema.parse({
|
|
3917
|
+
version: previous.version,
|
|
3918
|
+
steps: steps.map((step) => clarityStepBaseSchema.parse(step))
|
|
3919
|
+
});
|
|
3920
|
+
}
|
|
3921
|
+
__name(createBaseTransformationProposalData, "createBaseTransformationProposalData");
|
|
3922
|
+
__name2(createBaseTransformationProposalData, "createBaseTransformationProposalData");
|
|
3923
|
+
function mergeSteps(previousSteps, steps) {
|
|
3924
|
+
const previousById = new Map(previousSteps.map((step) => [step.id, step]));
|
|
3925
|
+
return steps.map((step) => {
|
|
3926
|
+
const prev = previousById.get(step.id);
|
|
3927
|
+
if (!prev) {
|
|
3928
|
+
return step;
|
|
3929
|
+
}
|
|
3930
|
+
return {
|
|
3931
|
+
...step,
|
|
3932
|
+
readiness: step.readiness ?? prev.readiness,
|
|
3933
|
+
readinessRationale: nonEmptyString(step.readinessRationale) ? step.readinessRationale : prev.readinessRationale,
|
|
3934
|
+
extraCaptureNeeded: step.extraCaptureNeeded ?? prev.extraCaptureNeeded
|
|
3935
|
+
};
|
|
3936
|
+
});
|
|
3937
|
+
}
|
|
3938
|
+
__name(mergeSteps, "mergeSteps");
|
|
3939
|
+
__name2(mergeSteps, "mergeSteps");
|
|
3940
|
+
function nonEmptyString(value) {
|
|
3941
|
+
return value != null && value.length > 0;
|
|
3942
|
+
}
|
|
3943
|
+
__name(nonEmptyString, "nonEmptyString");
|
|
3944
|
+
__name2(nonEmptyString, "nonEmptyString");
|
|
3715
3945
|
var MAX_PROCESS_GUIDANCE_PROMPT_CHARS = 500;
|
|
3716
3946
|
function removeControlCharacters(value) {
|
|
3717
3947
|
return [...value].map((character) => {
|
|
@@ -6322,6 +6552,11 @@ var FEATURE_FLAG_CATALOGUE = {
|
|
|
6322
6552
|
defaultValue: true,
|
|
6323
6553
|
description: "Grants a team access to the Windows Remote Desktop beta. Default-on day-one (no known scaling limit); flip off to hide the Enable form and show a Request Access flow on the tile's detail page."
|
|
6324
6554
|
},
|
|
6555
|
+
CROSS_TEAM_AGENT_MOVE: {
|
|
6556
|
+
key: "cross_team_agent_move",
|
|
6557
|
+
defaultValue: false,
|
|
6558
|
+
description: "Enables the Move Assignment to another team flow. Default-off while we monitor multi-table move semantics in prod; flip on for individual teams to grant access."
|
|
6559
|
+
},
|
|
6325
6560
|
TEAM_ONTOLOGY: {
|
|
6326
6561
|
key: "team_ontology",
|
|
6327
6562
|
defaultValue: false,
|
|
@@ -6356,6 +6591,11 @@ var FEATURE_FLAG_CATALOGUE = {
|
|
|
6356
6591
|
key: "portfolio_intelligence",
|
|
6357
6592
|
defaultValue: false,
|
|
6358
6593
|
description: "Enables portfolio intelligence analysis in the Clarity sidebar, providing cross-process insights and recommendations."
|
|
6594
|
+
},
|
|
6595
|
+
SHARED_CONNECTIONS: {
|
|
6596
|
+
key: "shared_connections",
|
|
6597
|
+
defaultValue: false,
|
|
6598
|
+
description: "Grants connection sharing to teams that are NOT part of an organization (org-less teams have no org-level `connections_sharing_enabled` kill-switch). Resolved with team > global precedence; a global override turns it on for every org-less team. Teams inside an organization are governed solely by their org's setting and are unaffected by this flag."
|
|
6359
6599
|
}
|
|
6360
6600
|
};
|
|
6361
6601
|
var FEATURE_FLAGS = Object.fromEntries(
|
|
@@ -10028,40 +10268,56 @@ import { readFile as readFile2 } from "node:fs/promises";
|
|
|
10028
10268
|
import { confirm as confirm2, isCancel as isCancel2, text } from "@clack/prompts";
|
|
10029
10269
|
|
|
10030
10270
|
// src/api/agent-schemas.ts
|
|
10271
|
+
import { z as z68 } from "zod";
|
|
10272
|
+
|
|
10273
|
+
// src/api/json-value.ts
|
|
10031
10274
|
import { z as z67 } from "zod";
|
|
10032
|
-
var
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
|
|
10036
|
-
|
|
10037
|
-
|
|
10038
|
-
|
|
10039
|
-
|
|
10040
|
-
|
|
10041
|
-
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
|
|
10047
|
-
|
|
10048
|
-
|
|
10049
|
-
|
|
10050
|
-
|
|
10051
|
-
|
|
10052
|
-
|
|
10053
|
-
|
|
10054
|
-
|
|
10055
|
-
|
|
10056
|
-
|
|
10275
|
+
var jsonValueSchema = z67.lazy(
|
|
10276
|
+
() => z67.union([
|
|
10277
|
+
z67.string(),
|
|
10278
|
+
z67.number(),
|
|
10279
|
+
z67.boolean(),
|
|
10280
|
+
z67.null(),
|
|
10281
|
+
z67.array(jsonValueSchema),
|
|
10282
|
+
z67.record(z67.string(), jsonValueSchema)
|
|
10283
|
+
])
|
|
10284
|
+
);
|
|
10285
|
+
|
|
10286
|
+
// src/api/agent-schemas.ts
|
|
10287
|
+
var publicAgentSchema = z68.object({
|
|
10288
|
+
id: z68.string(),
|
|
10289
|
+
name: z68.string(),
|
|
10290
|
+
slack_enabled: z68.boolean().nullish(),
|
|
10291
|
+
microsoft_teams_enabled: z68.boolean().nullish(),
|
|
10292
|
+
agentic_memory_enabled: z68.boolean().nullish(),
|
|
10293
|
+
thread_id: z68.string().nullish(),
|
|
10294
|
+
created_at: z68.string().nullish(),
|
|
10295
|
+
updated_at: z68.string().nullish(),
|
|
10296
|
+
latest_build: z68.object({ config: jsonValueSchema.nullish() }).nullish()
|
|
10297
|
+
});
|
|
10298
|
+
var publicBuildSchema = z68.object({
|
|
10299
|
+
id: z68.string(),
|
|
10300
|
+
agent_id: z68.string(),
|
|
10301
|
+
name: z68.string(),
|
|
10302
|
+
revision_number: z68.number().nullish(),
|
|
10303
|
+
created_at: z68.string().nullish(),
|
|
10304
|
+
updated_at: z68.string().nullish()
|
|
10305
|
+
});
|
|
10306
|
+
var listAgentsResponseSchema = z68.object({
|
|
10307
|
+
agents: z68.array(publicAgentSchema),
|
|
10308
|
+
total: z68.number().nullish(),
|
|
10309
|
+
limit: z68.number().nullish(),
|
|
10310
|
+
offset: z68.number().nullish()
|
|
10311
|
+
});
|
|
10312
|
+
var getAgentResponseSchema = z68.object({
|
|
10057
10313
|
agent: publicAgentSchema
|
|
10058
10314
|
});
|
|
10059
|
-
var createAgentResponseSchema =
|
|
10315
|
+
var createAgentResponseSchema = z68.object({
|
|
10060
10316
|
agent: publicAgentSchema,
|
|
10061
10317
|
build: publicBuildSchema.optional()
|
|
10062
10318
|
});
|
|
10063
|
-
var deleteAgentResponseSchema =
|
|
10064
|
-
success:
|
|
10319
|
+
var deleteAgentResponseSchema = z68.object({
|
|
10320
|
+
success: z68.literal(true)
|
|
10065
10321
|
});
|
|
10066
10322
|
var buildConfigSchema = StoredAgentConfigSchemaV2;
|
|
10067
10323
|
var DEFAULT_NEW_AGENT_NAME = DEFAULT_AGENT_NAME;
|
|
@@ -10071,6 +10327,77 @@ var DEFAULT_BUILD_CONFIG = {
|
|
|
10071
10327
|
data: DEFAULT_AGENT_CONFIG
|
|
10072
10328
|
};
|
|
10073
10329
|
|
|
10330
|
+
// src/commands/shared/is-interactive-terminal.ts
|
|
10331
|
+
function isInteractiveTerminal() {
|
|
10332
|
+
return process.stdin.isTTY === true && process.stdout.isTTY === true;
|
|
10333
|
+
}
|
|
10334
|
+
__name(isInteractiveTerminal, "isInteractiveTerminal");
|
|
10335
|
+
|
|
10336
|
+
// src/commands/agents/model-option.ts
|
|
10337
|
+
var MODEL_IDS = CLAUDE_MODEL_IDS;
|
|
10338
|
+
var NO_MODEL_LABEL = "\u2014";
|
|
10339
|
+
function modelFromConfig(config) {
|
|
10340
|
+
if (config === null || config === void 0) {
|
|
10341
|
+
return NO_MODEL_LABEL;
|
|
10342
|
+
}
|
|
10343
|
+
const { config: parsed } = parseAgentConfig(config);
|
|
10344
|
+
return parsed ? parsed.models.agent.model : NO_MODEL_LABEL;
|
|
10345
|
+
}
|
|
10346
|
+
__name(modelFromConfig, "modelFromConfig");
|
|
10347
|
+
function isCoreClaudeModelId(value) {
|
|
10348
|
+
return MODEL_IDS.includes(value);
|
|
10349
|
+
}
|
|
10350
|
+
__name(isCoreClaudeModelId, "isCoreClaudeModelId");
|
|
10351
|
+
function formatModelChoices() {
|
|
10352
|
+
return MODEL_IDS.map(
|
|
10353
|
+
(id) => ` ${id} \u2014 ${AVAILABLE_AGENT_MODELS[id].displayName}`
|
|
10354
|
+
).join("\n");
|
|
10355
|
+
}
|
|
10356
|
+
__name(formatModelChoices, "formatModelChoices");
|
|
10357
|
+
function resolveModelFlag(flag) {
|
|
10358
|
+
const trimmed = flag.trim();
|
|
10359
|
+
if (trimmed.length === 0) {
|
|
10360
|
+
throw new CliError("--model must not be empty");
|
|
10361
|
+
}
|
|
10362
|
+
if (!isCoreClaudeModelId(trimmed)) {
|
|
10363
|
+
throw new CliError(
|
|
10364
|
+
`Unknown model "${trimmed}". Available models:
|
|
10365
|
+
${formatModelChoices()}`
|
|
10366
|
+
);
|
|
10367
|
+
}
|
|
10368
|
+
return trimmed;
|
|
10369
|
+
}
|
|
10370
|
+
__name(resolveModelFlag, "resolveModelFlag");
|
|
10371
|
+
function listAgentModels() {
|
|
10372
|
+
return MODEL_IDS.map((id) => ({
|
|
10373
|
+
id,
|
|
10374
|
+
displayName: AVAILABLE_AGENT_MODELS[id].displayName,
|
|
10375
|
+
description: AVAILABLE_AGENT_MODELS[id].description ?? "",
|
|
10376
|
+
isDefault: id === PLATFORM_DEFAULT_MODELS.agent.model
|
|
10377
|
+
}));
|
|
10378
|
+
}
|
|
10379
|
+
__name(listAgentModels, "listAgentModels");
|
|
10380
|
+
function buildModelPickerOptions() {
|
|
10381
|
+
return MODEL_IDS.map((id) => ({
|
|
10382
|
+
value: id,
|
|
10383
|
+
label: `${AVAILABLE_AGENT_MODELS[id].displayName} (${id})`
|
|
10384
|
+
}));
|
|
10385
|
+
}
|
|
10386
|
+
__name(buildModelPickerOptions, "buildModelPickerOptions");
|
|
10387
|
+
function applyModelToConfig(config, model) {
|
|
10388
|
+
return {
|
|
10389
|
+
...config,
|
|
10390
|
+
data: {
|
|
10391
|
+
...config.data,
|
|
10392
|
+
models: {
|
|
10393
|
+
...config.data.models,
|
|
10394
|
+
agent: { ...config.data.models.agent, model }
|
|
10395
|
+
}
|
|
10396
|
+
}
|
|
10397
|
+
};
|
|
10398
|
+
}
|
|
10399
|
+
__name(applyModelToConfig, "applyModelToConfig");
|
|
10400
|
+
|
|
10074
10401
|
// src/commands/agents/create.ts
|
|
10075
10402
|
function registerAgentsCreate(agents) {
|
|
10076
10403
|
agents.command("create").description("Create a new agent").option("--name <name>", "human-readable agent name").option(
|
|
@@ -10079,11 +10406,18 @@ function registerAgentsCreate(agents) {
|
|
|
10079
10406
|
).option(
|
|
10080
10407
|
"--config <path>",
|
|
10081
10408
|
"path to a JSON file with the full build config (overrides --input)"
|
|
10409
|
+
).option(
|
|
10410
|
+
"--model <model>",
|
|
10411
|
+
"Claude model the agent should use (overrides the model in --config)"
|
|
10082
10412
|
).option("--no-build", "create the agent without an initial build").option("--json", "output raw JSON from the API").action(/* @__PURE__ */ __name(async function createAction(options) {
|
|
10083
10413
|
const resolved = await requireAuthenticatedConfig(this);
|
|
10084
10414
|
const teamId = await resolveRequiredTeamId(resolved, {
|
|
10085
10415
|
override: getTeamFlag(this)
|
|
10086
10416
|
});
|
|
10417
|
+
const model = options.model !== void 0 ? resolveModelFlag(options.model) : void 0;
|
|
10418
|
+
if (options.build === false && model !== void 0) {
|
|
10419
|
+
throw new CliError("--model cannot be combined with --no-build.");
|
|
10420
|
+
}
|
|
10087
10421
|
const name = await resolveName(options.name);
|
|
10088
10422
|
const body = { name };
|
|
10089
10423
|
if (options.build !== false) {
|
|
@@ -10091,7 +10425,7 @@ function registerAgentsCreate(agents) {
|
|
|
10091
10425
|
if (config) {
|
|
10092
10426
|
body.build = {
|
|
10093
10427
|
name: DEFAULT_BUILD_NAME,
|
|
10094
|
-
config
|
|
10428
|
+
config: model ? applyModelToConfig(config, model) : config
|
|
10095
10429
|
};
|
|
10096
10430
|
}
|
|
10097
10431
|
}
|
|
@@ -10120,6 +10454,12 @@ function registerAgentsCreate(agents) {
|
|
|
10120
10454
|
];
|
|
10121
10455
|
if (build) {
|
|
10122
10456
|
entries.push({ label: "Build", value: `${build.id} (${build.name})` });
|
|
10457
|
+
if (body.build) {
|
|
10458
|
+
entries.push({
|
|
10459
|
+
label: "Model",
|
|
10460
|
+
value: modelFromConfig(body.build.config)
|
|
10461
|
+
});
|
|
10462
|
+
}
|
|
10123
10463
|
}
|
|
10124
10464
|
console.log(green("Agent created!"));
|
|
10125
10465
|
console.log();
|
|
@@ -10127,10 +10467,6 @@ function registerAgentsCreate(agents) {
|
|
|
10127
10467
|
}, "createAction"));
|
|
10128
10468
|
}
|
|
10129
10469
|
__name(registerAgentsCreate, "registerAgentsCreate");
|
|
10130
|
-
function isInteractiveTerminal() {
|
|
10131
|
-
return process.stdin.isTTY === true && process.stdout.isTTY === true;
|
|
10132
|
-
}
|
|
10133
|
-
__name(isInteractiveTerminal, "isInteractiveTerminal");
|
|
10134
10470
|
async function resolveName(flag) {
|
|
10135
10471
|
if (flag !== void 0) {
|
|
10136
10472
|
const trimmed2 = flag.trim();
|
|
@@ -10289,7 +10625,56 @@ function registerAgentsDelete(agents) {
|
|
|
10289
10625
|
}
|
|
10290
10626
|
__name(registerAgentsDelete, "registerAgentsDelete");
|
|
10291
10627
|
|
|
10628
|
+
// src/api/build-schemas.ts
|
|
10629
|
+
import { z as z69 } from "zod";
|
|
10630
|
+
var publicBuildSchema2 = z69.object({
|
|
10631
|
+
id: z69.string(),
|
|
10632
|
+
agent_id: z69.string(),
|
|
10633
|
+
name: z69.string(),
|
|
10634
|
+
status: z69.string().nullish(),
|
|
10635
|
+
config: jsonValueSchema.nullish(),
|
|
10636
|
+
revision_number: z69.number().nullish(),
|
|
10637
|
+
created_at: z69.string().nullish(),
|
|
10638
|
+
updated_at: z69.string().nullish()
|
|
10639
|
+
});
|
|
10640
|
+
var listBuildsResponseSchema2 = z69.object({
|
|
10641
|
+
builds: z69.array(publicBuildSchema2),
|
|
10642
|
+
total: z69.number().nullish(),
|
|
10643
|
+
limit: z69.number().nullish(),
|
|
10644
|
+
offset: z69.number().nullish()
|
|
10645
|
+
});
|
|
10646
|
+
var getBuildResponseSchema = z69.object({
|
|
10647
|
+
build: publicBuildSchema2
|
|
10648
|
+
});
|
|
10649
|
+
var createBuildResponseSchema = z69.object({
|
|
10650
|
+
build: publicBuildSchema2,
|
|
10651
|
+
agent: z69.object({ id: z69.string() })
|
|
10652
|
+
});
|
|
10653
|
+
|
|
10292
10654
|
// src/commands/agents/get.ts
|
|
10655
|
+
async function fetchLatestModel(agentId, apiKey, apiBaseUrl) {
|
|
10656
|
+
const searchParams = new URLSearchParams();
|
|
10657
|
+
searchParams.append("limit", "1");
|
|
10658
|
+
searchParams.append("offset", "0");
|
|
10659
|
+
try {
|
|
10660
|
+
const raw = await httpRequest({
|
|
10661
|
+
method: "GET",
|
|
10662
|
+
path: `/v2/agents/${encodeURIComponent(agentId)}/revisions`,
|
|
10663
|
+
apiKey,
|
|
10664
|
+
apiBaseUrl,
|
|
10665
|
+
searchParams
|
|
10666
|
+
});
|
|
10667
|
+
const parsed = listBuildsResponseSchema2.safeParse(raw);
|
|
10668
|
+
if (!parsed.success) {
|
|
10669
|
+
return NO_MODEL_LABEL;
|
|
10670
|
+
}
|
|
10671
|
+
const latest = parsed.data.builds[0];
|
|
10672
|
+
return latest ? modelFromConfig(latest.config) : NO_MODEL_LABEL;
|
|
10673
|
+
} catch {
|
|
10674
|
+
return NO_MODEL_LABEL;
|
|
10675
|
+
}
|
|
10676
|
+
}
|
|
10677
|
+
__name(fetchLatestModel, "fetchLatestModel");
|
|
10293
10678
|
function registerAgentsGet(agents) {
|
|
10294
10679
|
agents.command("get <id>").description("Get an agent by ID").option("--json", "output raw JSON from the API").action(/* @__PURE__ */ __name(async function getAction(id, options) {
|
|
10295
10680
|
const { apiKey, apiBaseUrl } = await requireAuthenticatedConfig(this);
|
|
@@ -10310,10 +10695,12 @@ function registerAgentsGet(agents) {
|
|
|
10310
10695
|
);
|
|
10311
10696
|
}
|
|
10312
10697
|
const { agent } = parsed.data;
|
|
10698
|
+
const model = await fetchLatestModel(agent.id, apiKey, apiBaseUrl);
|
|
10313
10699
|
console.log(
|
|
10314
10700
|
renderKeyValue([
|
|
10315
10701
|
{ label: "ID", value: agent.id },
|
|
10316
10702
|
{ label: "Name", value: agent.name },
|
|
10703
|
+
{ label: "Model", value: model },
|
|
10317
10704
|
{ label: "Created", value: agent.created_at ?? "" },
|
|
10318
10705
|
{ label: "Updated", value: agent.updated_at ?? "" }
|
|
10319
10706
|
])
|
|
@@ -10356,6 +10743,10 @@ var MAX_LIMIT = 100;
|
|
|
10356
10743
|
var TABLE_COLUMNS4 = [
|
|
10357
10744
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
10358
10745
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
10746
|
+
{
|
|
10747
|
+
header: "MODEL",
|
|
10748
|
+
cell: /* @__PURE__ */ __name((row) => modelFromConfig(row.latest_build?.config), "cell")
|
|
10749
|
+
},
|
|
10359
10750
|
{ header: "CREATED", cell: /* @__PURE__ */ __name((row) => row.created_at ?? "", "cell") }
|
|
10360
10751
|
];
|
|
10361
10752
|
function registerAgentsList(agents) {
|
|
@@ -10479,31 +10870,58 @@ function registerAgentsMemory(agents) {
|
|
|
10479
10870
|
}
|
|
10480
10871
|
__name(registerAgentsMemory, "registerAgentsMemory");
|
|
10481
10872
|
|
|
10873
|
+
// src/commands/agents/models.ts
|
|
10874
|
+
var DEFAULT_MARKER = "\u2713";
|
|
10875
|
+
var TABLE_COLUMNS6 = [
|
|
10876
|
+
{ header: "MODEL", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
10877
|
+
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.displayName, "cell") },
|
|
10878
|
+
{
|
|
10879
|
+
header: "DEFAULT",
|
|
10880
|
+
cell: /* @__PURE__ */ __name((row) => row.isDefault ? DEFAULT_MARKER : "", "cell")
|
|
10881
|
+
},
|
|
10882
|
+
{ header: "DESCRIPTION", cell: /* @__PURE__ */ __name((row) => row.description, "cell") }
|
|
10883
|
+
];
|
|
10884
|
+
function registerAgentsModels(agents) {
|
|
10885
|
+
agents.command("models").description("List the LLM models available for agents").option("--json", "output raw JSON").action(/* @__PURE__ */ __name(function modelsAction(options) {
|
|
10886
|
+
const models = listAgentModels();
|
|
10887
|
+
if (options.json) {
|
|
10888
|
+
printJson(models);
|
|
10889
|
+
return;
|
|
10890
|
+
}
|
|
10891
|
+
console.log(renderTable(TABLE_COLUMNS6, models));
|
|
10892
|
+
console.log();
|
|
10893
|
+
console.log(
|
|
10894
|
+
`Use a MODEL value with \`duvo agents create --model <model>\` or \`duvo agents set-model <id> --model <model>\`.`
|
|
10895
|
+
);
|
|
10896
|
+
}, "modelsAction"));
|
|
10897
|
+
}
|
|
10898
|
+
__name(registerAgentsModels, "registerAgentsModels");
|
|
10899
|
+
|
|
10482
10900
|
// src/api/schedule-schemas.ts
|
|
10483
|
-
import { z as
|
|
10484
|
-
var publicScheduleSchema =
|
|
10485
|
-
id:
|
|
10486
|
-
build_id:
|
|
10487
|
-
agent_id:
|
|
10488
|
-
user_id:
|
|
10489
|
-
enabled:
|
|
10490
|
-
frequency:
|
|
10491
|
-
time:
|
|
10492
|
-
timezone:
|
|
10493
|
-
day:
|
|
10494
|
-
day_of_month:
|
|
10495
|
-
cron:
|
|
10496
|
-
source:
|
|
10497
|
-
task:
|
|
10498
|
-
recurring:
|
|
10499
|
-
created_at:
|
|
10500
|
-
updated_at:
|
|
10501
|
-
});
|
|
10502
|
-
var listSchedulesResponseSchema =
|
|
10503
|
-
schedules:
|
|
10504
|
-
});
|
|
10505
|
-
var deleteScheduleResponseSchema =
|
|
10506
|
-
success:
|
|
10901
|
+
import { z as z70 } from "zod";
|
|
10902
|
+
var publicScheduleSchema = z70.object({
|
|
10903
|
+
id: z70.string(),
|
|
10904
|
+
build_id: z70.string(),
|
|
10905
|
+
agent_id: z70.string(),
|
|
10906
|
+
user_id: z70.string(),
|
|
10907
|
+
enabled: z70.boolean(),
|
|
10908
|
+
frequency: z70.string(),
|
|
10909
|
+
time: z70.string().nullish(),
|
|
10910
|
+
timezone: z70.string(),
|
|
10911
|
+
day: z70.string().nullish(),
|
|
10912
|
+
day_of_month: z70.number().nullish(),
|
|
10913
|
+
cron: z70.string().nullish(),
|
|
10914
|
+
source: z70.string().nullish(),
|
|
10915
|
+
task: z70.string().nullish(),
|
|
10916
|
+
recurring: z70.boolean().nullish(),
|
|
10917
|
+
created_at: z70.string(),
|
|
10918
|
+
updated_at: z70.string()
|
|
10919
|
+
});
|
|
10920
|
+
var listSchedulesResponseSchema = z70.object({
|
|
10921
|
+
schedules: z70.array(publicScheduleSchema)
|
|
10922
|
+
});
|
|
10923
|
+
var deleteScheduleResponseSchema = z70.object({
|
|
10924
|
+
success: z70.literal(true)
|
|
10507
10925
|
});
|
|
10508
10926
|
|
|
10509
10927
|
// src/commands/agents/schedules/render-schedule.ts
|
|
@@ -10682,7 +11100,7 @@ __name(registerAgentsSchedulesDelete, "registerAgentsSchedulesDelete");
|
|
|
10682
11100
|
|
|
10683
11101
|
// src/commands/agents/schedules/list.ts
|
|
10684
11102
|
var TASK_PREVIEW_WIDTH = 40;
|
|
10685
|
-
var
|
|
11103
|
+
var TABLE_COLUMNS7 = [
|
|
10686
11104
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
10687
11105
|
{
|
|
10688
11106
|
header: "ENABLED",
|
|
@@ -10741,7 +11159,7 @@ function registerAgentsSchedulesList(schedules) {
|
|
|
10741
11159
|
console.log("No schedules found.");
|
|
10742
11160
|
return;
|
|
10743
11161
|
}
|
|
10744
|
-
console.log(renderTable(
|
|
11162
|
+
console.log(renderTable(TABLE_COLUMNS7, rows));
|
|
10745
11163
|
console.log(`Showing ${rows.length}`);
|
|
10746
11164
|
}, "listAction"));
|
|
10747
11165
|
}
|
|
@@ -10860,39 +11278,129 @@ function registerAgentsSchedules(agents) {
|
|
|
10860
11278
|
}
|
|
10861
11279
|
__name(registerAgentsSchedules, "registerAgentsSchedules");
|
|
10862
11280
|
|
|
11281
|
+
// src/commands/agents/set-model.ts
|
|
11282
|
+
import { isCancel as isCancel3, select } from "@clack/prompts";
|
|
11283
|
+
async function resolveModel(flag) {
|
|
11284
|
+
if (flag !== void 0) {
|
|
11285
|
+
return resolveModelFlag(flag);
|
|
11286
|
+
}
|
|
11287
|
+
if (!isInteractiveTerminal()) {
|
|
11288
|
+
throw new CliError(
|
|
11289
|
+
"--model is required in non-interactive shells (e.g. --model claude-opus-4-7)."
|
|
11290
|
+
);
|
|
11291
|
+
}
|
|
11292
|
+
const answer = await select({
|
|
11293
|
+
message: "Select a model for this agent",
|
|
11294
|
+
options: buildModelPickerOptions()
|
|
11295
|
+
});
|
|
11296
|
+
if (isCancel3(answer)) {
|
|
11297
|
+
throw new CancelCliError("Model switch cancelled.");
|
|
11298
|
+
}
|
|
11299
|
+
return answer;
|
|
11300
|
+
}
|
|
11301
|
+
__name(resolveModel, "resolveModel");
|
|
11302
|
+
function buildConfigWithModel(rawConfig, model) {
|
|
11303
|
+
const { config } = parseAgentConfig(rawConfig);
|
|
11304
|
+
const data = config ?? DEFAULT_AGENT_CONFIG;
|
|
11305
|
+
return {
|
|
11306
|
+
version: AGENT_CONFIG_VERSION,
|
|
11307
|
+
data: {
|
|
11308
|
+
...data,
|
|
11309
|
+
models: {
|
|
11310
|
+
...data.models,
|
|
11311
|
+
agent: { ...data.models.agent, model }
|
|
11312
|
+
}
|
|
11313
|
+
}
|
|
11314
|
+
};
|
|
11315
|
+
}
|
|
11316
|
+
__name(buildConfigWithModel, "buildConfigWithModel");
|
|
11317
|
+
function registerAgentsSetModel(agents) {
|
|
11318
|
+
agents.command("set-model <id>").description("Switch the LLM model used by an agent's latest revision").option(
|
|
11319
|
+
"--model <model>",
|
|
11320
|
+
"Claude model to switch to (interactive picker when omitted)"
|
|
11321
|
+
).option("--json", "output raw JSON from the API").action(/* @__PURE__ */ __name(async function setModelAction(id, options) {
|
|
11322
|
+
const agentId = trimRequired(id, "<id>");
|
|
11323
|
+
const { apiKey, apiBaseUrl } = await requireAuthenticatedConfig(this);
|
|
11324
|
+
const model = await resolveModel(options.model);
|
|
11325
|
+
const searchParams = new URLSearchParams();
|
|
11326
|
+
searchParams.append("limit", "1");
|
|
11327
|
+
searchParams.append("offset", "0");
|
|
11328
|
+
const listRaw = await httpRequest({
|
|
11329
|
+
method: "GET",
|
|
11330
|
+
path: `/v2/agents/${encodeURIComponent(agentId)}/revisions`,
|
|
11331
|
+
apiKey,
|
|
11332
|
+
apiBaseUrl,
|
|
11333
|
+
searchParams
|
|
11334
|
+
});
|
|
11335
|
+
const listParsed = listBuildsResponseSchema2.safeParse(listRaw);
|
|
11336
|
+
if (!listParsed.success) {
|
|
11337
|
+
throw new CliError(
|
|
11338
|
+
`Unexpected response from the API: ${listParsed.error.message}`
|
|
11339
|
+
);
|
|
11340
|
+
}
|
|
11341
|
+
const latest = listParsed.data.builds[0];
|
|
11342
|
+
if (!latest) {
|
|
11343
|
+
throw new CliError(
|
|
11344
|
+
"This agent has no revisions yet. Create one with `duvo builds create` first."
|
|
11345
|
+
);
|
|
11346
|
+
}
|
|
11347
|
+
const config = buildConfigWithModel(latest.config, model);
|
|
11348
|
+
const raw = await httpRequest({
|
|
11349
|
+
method: "PATCH",
|
|
11350
|
+
path: `/v2/revisions/${encodeURIComponent(latest.id)}`,
|
|
11351
|
+
apiKey,
|
|
11352
|
+
apiBaseUrl,
|
|
11353
|
+
body: { config }
|
|
11354
|
+
});
|
|
11355
|
+
if (options.json) {
|
|
11356
|
+
printJson(raw);
|
|
11357
|
+
return;
|
|
11358
|
+
}
|
|
11359
|
+
console.log(green("Model updated!"));
|
|
11360
|
+
console.log(
|
|
11361
|
+
renderKeyValue([
|
|
11362
|
+
{ label: "Agent", value: agentId },
|
|
11363
|
+
{ label: "Revision", value: latest.id },
|
|
11364
|
+
{ label: "Model", value: model }
|
|
11365
|
+
])
|
|
11366
|
+
);
|
|
11367
|
+
}, "setModelAction"));
|
|
11368
|
+
}
|
|
11369
|
+
__name(registerAgentsSetModel, "registerAgentsSetModel");
|
|
11370
|
+
|
|
10863
11371
|
// src/api/trigger-schemas.ts
|
|
10864
|
-
import { z as
|
|
10865
|
-
var triggerSchema =
|
|
10866
|
-
id:
|
|
10867
|
-
agent_id:
|
|
10868
|
-
user_id:
|
|
10869
|
-
integration_slug:
|
|
10870
|
-
trigger_type:
|
|
10871
|
-
filter_config:
|
|
10872
|
-
integration_instance_id:
|
|
10873
|
-
enabled:
|
|
10874
|
-
created_at:
|
|
10875
|
-
updated_at:
|
|
10876
|
-
});
|
|
10877
|
-
var listTriggersResponseSchema =
|
|
10878
|
-
triggers:
|
|
10879
|
-
});
|
|
10880
|
-
var triggerTypeSchema =
|
|
10881
|
-
integration_slug:
|
|
10882
|
-
integration_name:
|
|
10883
|
-
icon_url:
|
|
10884
|
-
trigger_type:
|
|
10885
|
-
label:
|
|
10886
|
-
description:
|
|
10887
|
-
filter_schema:
|
|
10888
|
-
});
|
|
10889
|
-
var listTriggerTypesResponseSchema =
|
|
10890
|
-
trigger_types:
|
|
11372
|
+
import { z as z71 } from "zod";
|
|
11373
|
+
var triggerSchema = z71.object({
|
|
11374
|
+
id: z71.string(),
|
|
11375
|
+
agent_id: z71.string(),
|
|
11376
|
+
user_id: z71.string(),
|
|
11377
|
+
integration_slug: z71.string(),
|
|
11378
|
+
trigger_type: z71.string(),
|
|
11379
|
+
filter_config: z71.record(z71.string(), z71.unknown()),
|
|
11380
|
+
integration_instance_id: z71.string(),
|
|
11381
|
+
enabled: z71.boolean(),
|
|
11382
|
+
created_at: z71.string(),
|
|
11383
|
+
updated_at: z71.string()
|
|
11384
|
+
});
|
|
11385
|
+
var listTriggersResponseSchema = z71.object({
|
|
11386
|
+
triggers: z71.array(triggerSchema)
|
|
11387
|
+
});
|
|
11388
|
+
var triggerTypeSchema = z71.object({
|
|
11389
|
+
integration_slug: z71.string(),
|
|
11390
|
+
integration_name: z71.string(),
|
|
11391
|
+
icon_url: z71.string(),
|
|
11392
|
+
trigger_type: z71.string(),
|
|
11393
|
+
label: z71.string(),
|
|
11394
|
+
description: z71.string(),
|
|
11395
|
+
filter_schema: z71.record(z71.string(), z71.unknown())
|
|
11396
|
+
});
|
|
11397
|
+
var listTriggerTypesResponseSchema = z71.object({
|
|
11398
|
+
trigger_types: z71.array(triggerTypeSchema)
|
|
10891
11399
|
});
|
|
10892
11400
|
|
|
10893
11401
|
// src/commands/agents/triggers/list.ts
|
|
10894
11402
|
var FILTER_PREVIEW_WIDTH = 40;
|
|
10895
|
-
var
|
|
11403
|
+
var TABLE_COLUMNS8 = [
|
|
10896
11404
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
10897
11405
|
{ header: "INTEGRATION", cell: /* @__PURE__ */ __name((row) => row.integration_slug, "cell") },
|
|
10898
11406
|
{ header: "TRIGGER TYPE", cell: /* @__PURE__ */ __name((row) => row.trigger_type, "cell") },
|
|
@@ -10936,7 +11444,7 @@ function registerAgentsTriggersList(triggers) {
|
|
|
10936
11444
|
console.log("No triggers found.");
|
|
10937
11445
|
return;
|
|
10938
11446
|
}
|
|
10939
|
-
console.log(renderTable(
|
|
11447
|
+
console.log(renderTable(TABLE_COLUMNS8, rows));
|
|
10940
11448
|
console.log(`Showing ${rows.length}`);
|
|
10941
11449
|
}, "listAction"));
|
|
10942
11450
|
}
|
|
@@ -11018,7 +11526,7 @@ __name(registerAgentsTriggersSet, "registerAgentsTriggersSet");
|
|
|
11018
11526
|
|
|
11019
11527
|
// src/commands/agents/triggers/types.ts
|
|
11020
11528
|
var DESCRIPTION_PREVIEW_WIDTH = 50;
|
|
11021
|
-
var
|
|
11529
|
+
var TABLE_COLUMNS9 = [
|
|
11022
11530
|
{ header: "INTEGRATION", cell: /* @__PURE__ */ __name((row) => row.integration_slug, "cell") },
|
|
11023
11531
|
{ header: "TRIGGER TYPE", cell: /* @__PURE__ */ __name((row) => row.trigger_type, "cell") },
|
|
11024
11532
|
{ header: "LABEL", cell: /* @__PURE__ */ __name((row) => row.label, "cell") },
|
|
@@ -11055,7 +11563,7 @@ function registerAgentsTriggersTypes(triggers) {
|
|
|
11055
11563
|
console.log("No trigger types available.");
|
|
11056
11564
|
return;
|
|
11057
11565
|
}
|
|
11058
|
-
console.log(renderTable(
|
|
11566
|
+
console.log(renderTable(TABLE_COLUMNS9, rows));
|
|
11059
11567
|
console.log(`Showing ${rows.length}`);
|
|
11060
11568
|
}, "typesAction"));
|
|
11061
11569
|
}
|
|
@@ -11201,6 +11709,8 @@ function registerAgents(program) {
|
|
|
11201
11709
|
registerAgentsGet(agents);
|
|
11202
11710
|
registerAgentsCreate(agents);
|
|
11203
11711
|
registerAgentsUpdate(agents);
|
|
11712
|
+
registerAgentsModels(agents);
|
|
11713
|
+
registerAgentsSetModel(agents);
|
|
11204
11714
|
registerAgentsDelete(agents);
|
|
11205
11715
|
registerAgentsSchedules(agents);
|
|
11206
11716
|
registerAgentsCaseTriggers(agents);
|
|
@@ -11507,55 +12017,55 @@ function fieldsToSearchParams(fields) {
|
|
|
11507
12017
|
__name(fieldsToSearchParams, "fieldsToSearchParams");
|
|
11508
12018
|
|
|
11509
12019
|
// src/api/integration-schemas.ts
|
|
11510
|
-
import { z as
|
|
11511
|
-
var integrationSchema =
|
|
11512
|
-
id:
|
|
11513
|
-
name:
|
|
11514
|
-
type:
|
|
11515
|
-
provider:
|
|
11516
|
-
user_id:
|
|
11517
|
-
team_id:
|
|
11518
|
-
server_url:
|
|
11519
|
-
transport_type:
|
|
11520
|
-
auth_method:
|
|
11521
|
-
composio_mcp_id:
|
|
11522
|
-
custom_integration_id:
|
|
11523
|
-
icon_url:
|
|
11524
|
-
oauth_provider:
|
|
11525
|
-
oauth_provider_key:
|
|
11526
|
-
oauth_scopes:
|
|
11527
|
-
integration_id:
|
|
11528
|
-
created_at:
|
|
11529
|
-
updated_at:
|
|
11530
|
-
});
|
|
11531
|
-
var integrationsListResponseSchema2 =
|
|
11532
|
-
integrations:
|
|
12020
|
+
import { z as z72 } from "zod";
|
|
12021
|
+
var integrationSchema = z72.object({
|
|
12022
|
+
id: z72.string(),
|
|
12023
|
+
name: z72.string(),
|
|
12024
|
+
type: z72.string(),
|
|
12025
|
+
provider: z72.string(),
|
|
12026
|
+
user_id: z72.string().nullable(),
|
|
12027
|
+
team_id: z72.string(),
|
|
12028
|
+
server_url: z72.string().optional(),
|
|
12029
|
+
transport_type: z72.string().optional(),
|
|
12030
|
+
auth_method: z72.string().nullish(),
|
|
12031
|
+
composio_mcp_id: z72.string().nullish(),
|
|
12032
|
+
custom_integration_id: z72.string().nullish(),
|
|
12033
|
+
icon_url: z72.string().nullish(),
|
|
12034
|
+
oauth_provider: z72.string().nullish(),
|
|
12035
|
+
oauth_provider_key: z72.string().nullish(),
|
|
12036
|
+
oauth_scopes: z72.array(z72.string()).nullish(),
|
|
12037
|
+
integration_id: z72.string().nullish(),
|
|
12038
|
+
created_at: z72.string(),
|
|
12039
|
+
updated_at: z72.string()
|
|
12040
|
+
});
|
|
12041
|
+
var integrationsListResponseSchema2 = z72.object({
|
|
12042
|
+
integrations: z72.array(integrationSchema)
|
|
11533
12043
|
});
|
|
11534
12044
|
var connectionResponseSchema = integrationSchema;
|
|
11535
|
-
var buildIntegrationConfigSchema2 =
|
|
11536
|
-
id:
|
|
11537
|
-
integration_id:
|
|
11538
|
-
custom_integration_id:
|
|
11539
|
-
integration_type:
|
|
11540
|
-
integration_name:
|
|
11541
|
-
created_at:
|
|
12045
|
+
var buildIntegrationConfigSchema2 = z72.object({
|
|
12046
|
+
id: z72.string(),
|
|
12047
|
+
integration_id: z72.string().nullable(),
|
|
12048
|
+
custom_integration_id: z72.string().nullable(),
|
|
12049
|
+
integration_type: z72.string(),
|
|
12050
|
+
integration_name: z72.string(),
|
|
12051
|
+
created_at: z72.string()
|
|
11542
12052
|
});
|
|
11543
|
-
var listBuildIntegrationsResponseSchema2 =
|
|
11544
|
-
integrations:
|
|
12053
|
+
var listBuildIntegrationsResponseSchema2 = z72.object({
|
|
12054
|
+
integrations: z72.array(buildIntegrationConfigSchema2)
|
|
11545
12055
|
});
|
|
11546
|
-
var attachBuildIntegrationsResponseSchema =
|
|
11547
|
-
success:
|
|
11548
|
-
count:
|
|
12056
|
+
var attachBuildIntegrationsResponseSchema = z72.object({
|
|
12057
|
+
success: z72.boolean(),
|
|
12058
|
+
count: z72.number()
|
|
11549
12059
|
});
|
|
11550
|
-
var buildIntegrationConnectionSchema =
|
|
11551
|
-
connection_id:
|
|
11552
|
-
created_at:
|
|
12060
|
+
var buildIntegrationConnectionSchema = z72.object({
|
|
12061
|
+
connection_id: z72.string(),
|
|
12062
|
+
created_at: z72.string()
|
|
11553
12063
|
});
|
|
11554
|
-
var listBuildIntegrationConnectionsResponseSchema =
|
|
11555
|
-
connections:
|
|
12064
|
+
var listBuildIntegrationConnectionsResponseSchema = z72.object({
|
|
12065
|
+
connections: z72.array(buildIntegrationConnectionSchema)
|
|
11556
12066
|
});
|
|
11557
|
-
var successResponseSchema =
|
|
11558
|
-
success:
|
|
12067
|
+
var successResponseSchema = z72.object({
|
|
12068
|
+
success: z72.boolean()
|
|
11559
12069
|
});
|
|
11560
12070
|
|
|
11561
12071
|
// src/commands/build-integrations/attach.ts
|
|
@@ -11597,8 +12107,72 @@ function registerBuildIntegrationsAttach(buildIntegrations) {
|
|
|
11597
12107
|
}
|
|
11598
12108
|
__name(registerBuildIntegrationsAttach, "registerBuildIntegrationsAttach");
|
|
11599
12109
|
|
|
12110
|
+
// src/commands/build-integrations/case-queue-setup.ts
|
|
12111
|
+
import { z as z73 } from "zod";
|
|
12112
|
+
var slotSchema = z73.object({
|
|
12113
|
+
config_id: z73.string(),
|
|
12114
|
+
integration_type: z73.string(),
|
|
12115
|
+
linked_queue_count: z73.number()
|
|
12116
|
+
});
|
|
12117
|
+
var responseSchema2 = z73.object({
|
|
12118
|
+
configs: z73.array(slotSchema),
|
|
12119
|
+
has_available_queues: z73.boolean()
|
|
12120
|
+
});
|
|
12121
|
+
var TABLE_COLUMNS10 = [
|
|
12122
|
+
{ header: "SLOT ID", cell: /* @__PURE__ */ __name((row) => row.config_id, "cell") },
|
|
12123
|
+
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.integration_type, "cell") },
|
|
12124
|
+
{ header: "QUEUES", cell: /* @__PURE__ */ __name((row) => String(row.linked_queue_count), "cell") },
|
|
12125
|
+
{
|
|
12126
|
+
header: "STATUS",
|
|
12127
|
+
cell: /* @__PURE__ */ __name((row) => row.linked_queue_count === 0 ? "no queue linked \u2014 will fail" : "ok", "cell")
|
|
12128
|
+
}
|
|
12129
|
+
];
|
|
12130
|
+
function registerBuildIntegrationsCaseQueueSetup(buildIntegrations) {
|
|
12131
|
+
buildIntegrations.command("case-queue-setup").description(
|
|
12132
|
+
"Check that a revision's case-queue integration slots each point at a queue"
|
|
12133
|
+
).requiredOption("--agent <id>", "ID of the agent the revision belongs to").requiredOption("--revision <id>", "ID of the revision").option("--json", "output raw JSON from the API").action(/* @__PURE__ */ __name(async function setupAction(options) {
|
|
12134
|
+
const { apiKey, apiBaseUrl } = await requireAuthenticatedConfig(this);
|
|
12135
|
+
const raw = await httpRequest({
|
|
12136
|
+
method: "GET",
|
|
12137
|
+
path: `/v2/agents/${encodeURIComponent(options.agent)}/revisions/${encodeURIComponent(options.revision)}/case-queue-validation`,
|
|
12138
|
+
apiKey,
|
|
12139
|
+
apiBaseUrl
|
|
12140
|
+
});
|
|
12141
|
+
if (options.json) {
|
|
12142
|
+
printJson(raw);
|
|
12143
|
+
return;
|
|
12144
|
+
}
|
|
12145
|
+
const parsed = responseSchema2.safeParse(raw);
|
|
12146
|
+
if (!parsed.success) {
|
|
12147
|
+
throw new CliError(
|
|
12148
|
+
`Unexpected response from the API: ${parsed.error.message}`
|
|
12149
|
+
);
|
|
12150
|
+
}
|
|
12151
|
+
const { configs, has_available_queues: hasAvailableQueues } = parsed.data;
|
|
12152
|
+
if (configs.length === 0) {
|
|
12153
|
+
console.log("No case-queue integration slots on this revision.");
|
|
12154
|
+
return;
|
|
12155
|
+
}
|
|
12156
|
+
console.log(renderTable(TABLE_COLUMNS10, configs));
|
|
12157
|
+
const unmapped = configs.filter((slot) => slot.linked_queue_count === 0);
|
|
12158
|
+
if (unmapped.length > 0) {
|
|
12159
|
+
console.log(
|
|
12160
|
+
`${unmapped.length} slot(s) point at no queue and will fail at runtime \u2014 link a queue with "revision-integrations queues set".`
|
|
12161
|
+
);
|
|
12162
|
+
if (!hasAvailableQueues) {
|
|
12163
|
+
console.log(
|
|
12164
|
+
'Your team owns no case queues yet \u2014 create one with "queues create" first.'
|
|
12165
|
+
);
|
|
12166
|
+
}
|
|
12167
|
+
} else {
|
|
12168
|
+
console.log("All case-queue slots are linked to at least one queue.");
|
|
12169
|
+
}
|
|
12170
|
+
}, "setupAction"));
|
|
12171
|
+
}
|
|
12172
|
+
__name(registerBuildIntegrationsCaseQueueSetup, "registerBuildIntegrationsCaseQueueSetup");
|
|
12173
|
+
|
|
11600
12174
|
// src/commands/build-integrations/connections-list.ts
|
|
11601
|
-
var
|
|
12175
|
+
var TABLE_COLUMNS11 = [
|
|
11602
12176
|
{
|
|
11603
12177
|
header: "CONNECTION ID",
|
|
11604
12178
|
cell: /* @__PURE__ */ __name((row) => row.connection_id, "cell")
|
|
@@ -11637,7 +12211,7 @@ function registerBuildIntegrationsConnectionsList(connections) {
|
|
|
11637
12211
|
console.log("No connections pinned to this slot.");
|
|
11638
12212
|
return;
|
|
11639
12213
|
}
|
|
11640
|
-
console.log(renderTable(
|
|
12214
|
+
console.log(renderTable(TABLE_COLUMNS11, rows));
|
|
11641
12215
|
console.log(`Showing ${rows.length}`);
|
|
11642
12216
|
}, "listAction"));
|
|
11643
12217
|
}
|
|
@@ -11707,7 +12281,7 @@ function registerBuildIntegrationsConnectionsUnpin(connections) {
|
|
|
11707
12281
|
__name(registerBuildIntegrationsConnectionsUnpin, "registerBuildIntegrationsConnectionsUnpin");
|
|
11708
12282
|
|
|
11709
12283
|
// src/commands/build-integrations/list.ts
|
|
11710
|
-
var
|
|
12284
|
+
var TABLE_COLUMNS12 = [
|
|
11711
12285
|
{
|
|
11712
12286
|
header: "INTEGRATION ID",
|
|
11713
12287
|
cell: /* @__PURE__ */ __name((row) => row.integration_id ?? row.custom_integration_id ?? "", "cell")
|
|
@@ -11747,14 +12321,14 @@ function registerBuildIntegrationsList(buildIntegrations) {
|
|
|
11747
12321
|
console.log("No integrations attached to this revision.");
|
|
11748
12322
|
return;
|
|
11749
12323
|
}
|
|
11750
|
-
console.log(renderTable(
|
|
12324
|
+
console.log(renderTable(TABLE_COLUMNS12, integrations));
|
|
11751
12325
|
console.log(`Showing ${integrations.length}`);
|
|
11752
12326
|
}, "listAction"));
|
|
11753
12327
|
}
|
|
11754
12328
|
__name(registerBuildIntegrationsList, "registerBuildIntegrationsList");
|
|
11755
12329
|
|
|
11756
12330
|
// src/commands/build-integrations/queues-list.ts
|
|
11757
|
-
var
|
|
12331
|
+
var TABLE_COLUMNS13 = [
|
|
11758
12332
|
{ header: "QUEUE ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
11759
12333
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") }
|
|
11760
12334
|
];
|
|
@@ -11786,14 +12360,14 @@ function registerBuildIntegrationsQueuesList(queues) {
|
|
|
11786
12360
|
console.log("No case queues linked to this integration slot.");
|
|
11787
12361
|
return;
|
|
11788
12362
|
}
|
|
11789
|
-
console.log(renderTable(
|
|
12363
|
+
console.log(renderTable(TABLE_COLUMNS13, parsed.data.queues));
|
|
11790
12364
|
console.log(`Showing ${parsed.data.queues.length}`);
|
|
11791
12365
|
}, "listAction"));
|
|
11792
12366
|
}
|
|
11793
12367
|
__name(registerBuildIntegrationsQueuesList, "registerBuildIntegrationsQueuesList");
|
|
11794
12368
|
|
|
11795
12369
|
// src/commands/build-integrations/queues-set.ts
|
|
11796
|
-
var
|
|
12370
|
+
var TABLE_COLUMNS14 = [
|
|
11797
12371
|
{ header: "QUEUE ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
11798
12372
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") }
|
|
11799
12373
|
];
|
|
@@ -11835,7 +12409,7 @@ function registerBuildIntegrationsQueuesSet(queues) {
|
|
|
11835
12409
|
green(`Linked ${parsed.data.queues.length} case queue(s) to the slot.`)
|
|
11836
12410
|
);
|
|
11837
12411
|
if (parsed.data.queues.length > 0) {
|
|
11838
|
-
console.log(renderTable(
|
|
12412
|
+
console.log(renderTable(TABLE_COLUMNS14, parsed.data.queues));
|
|
11839
12413
|
}
|
|
11840
12414
|
}, "setAction"));
|
|
11841
12415
|
}
|
|
@@ -11878,6 +12452,7 @@ function registerBuildIntegrations(program) {
|
|
|
11878
12452
|
registerBuildIntegrationsList(buildIntegrations);
|
|
11879
12453
|
registerBuildIntegrationsAttach(buildIntegrations);
|
|
11880
12454
|
registerBuildIntegrationsRemove(buildIntegrations);
|
|
12455
|
+
registerBuildIntegrationsCaseQueueSetup(buildIntegrations);
|
|
11881
12456
|
const connections = buildIntegrations.command("connections").description(
|
|
11882
12457
|
"Manage your pinned connections for a revision's integration slot"
|
|
11883
12458
|
);
|
|
@@ -11892,47 +12467,6 @@ function registerBuildIntegrations(program) {
|
|
|
11892
12467
|
}
|
|
11893
12468
|
__name(registerBuildIntegrations, "registerBuildIntegrations");
|
|
11894
12469
|
|
|
11895
|
-
// src/api/build-schemas.ts
|
|
11896
|
-
import { z as z72 } from "zod";
|
|
11897
|
-
|
|
11898
|
-
// src/api/json-value.ts
|
|
11899
|
-
import { z as z71 } from "zod";
|
|
11900
|
-
var jsonValueSchema = z71.lazy(
|
|
11901
|
-
() => z71.union([
|
|
11902
|
-
z71.string(),
|
|
11903
|
-
z71.number(),
|
|
11904
|
-
z71.boolean(),
|
|
11905
|
-
z71.null(),
|
|
11906
|
-
z71.array(jsonValueSchema),
|
|
11907
|
-
z71.record(z71.string(), jsonValueSchema)
|
|
11908
|
-
])
|
|
11909
|
-
);
|
|
11910
|
-
|
|
11911
|
-
// src/api/build-schemas.ts
|
|
11912
|
-
var publicBuildSchema2 = z72.object({
|
|
11913
|
-
id: z72.string(),
|
|
11914
|
-
agent_id: z72.string(),
|
|
11915
|
-
name: z72.string(),
|
|
11916
|
-
status: z72.string().nullish(),
|
|
11917
|
-
config: jsonValueSchema.nullish(),
|
|
11918
|
-
revision_number: z72.number().nullish(),
|
|
11919
|
-
created_at: z72.string().nullish(),
|
|
11920
|
-
updated_at: z72.string().nullish()
|
|
11921
|
-
});
|
|
11922
|
-
var listBuildsResponseSchema2 = z72.object({
|
|
11923
|
-
builds: z72.array(publicBuildSchema2),
|
|
11924
|
-
total: z72.number().nullish(),
|
|
11925
|
-
limit: z72.number().nullish(),
|
|
11926
|
-
offset: z72.number().nullish()
|
|
11927
|
-
});
|
|
11928
|
-
var getBuildResponseSchema = z72.object({
|
|
11929
|
-
build: publicBuildSchema2
|
|
11930
|
-
});
|
|
11931
|
-
var createBuildResponseSchema = z72.object({
|
|
11932
|
-
build: publicBuildSchema2,
|
|
11933
|
-
agent: z72.object({ id: z72.string() })
|
|
11934
|
-
});
|
|
11935
|
-
|
|
11936
12470
|
// src/commands/builds/create.ts
|
|
11937
12471
|
function registerBuildsCreate(builds) {
|
|
11938
12472
|
builds.command("create").description("Create a new revision for an existing agent").requiredOption("--agent <id>", "ID of the agent this revision belongs to").requiredOption("--name <text>", "revision name").requiredOption(
|
|
@@ -12024,7 +12558,7 @@ __name(registerBuildsGet, "registerBuildsGet");
|
|
|
12024
12558
|
var DEFAULT_LIMIT2 = 20;
|
|
12025
12559
|
var MIN_LIMIT2 = 1;
|
|
12026
12560
|
var MAX_LIMIT2 = 100;
|
|
12027
|
-
var
|
|
12561
|
+
var TABLE_COLUMNS15 = [
|
|
12028
12562
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
12029
12563
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
12030
12564
|
{
|
|
@@ -12067,7 +12601,7 @@ function registerBuildsList(builds) {
|
|
|
12067
12601
|
console.log("No revisions found.");
|
|
12068
12602
|
return;
|
|
12069
12603
|
}
|
|
12070
|
-
console.log(renderTable(
|
|
12604
|
+
console.log(renderTable(TABLE_COLUMNS15, response.builds));
|
|
12071
12605
|
const resolvedOffset = response.offset ?? offset;
|
|
12072
12606
|
const total = response.total ?? null;
|
|
12073
12607
|
const summary = total === null ? `Showing ${response.builds.length} \xB7 offset ${resolvedOffset}` : `Showing ${response.builds.length} of ${total} \xB7 offset ${resolvedOffset}`;
|
|
@@ -12077,9 +12611,9 @@ function registerBuildsList(builds) {
|
|
|
12077
12611
|
__name(registerBuildsList, "registerBuildsList");
|
|
12078
12612
|
|
|
12079
12613
|
// src/commands/builds/promote.ts
|
|
12080
|
-
import { z as
|
|
12081
|
-
var promoteResponseSchema =
|
|
12082
|
-
success:
|
|
12614
|
+
import { z as z74 } from "zod";
|
|
12615
|
+
var promoteResponseSchema = z74.object({
|
|
12616
|
+
success: z74.boolean()
|
|
12083
12617
|
});
|
|
12084
12618
|
function registerBuildsPromote(builds) {
|
|
12085
12619
|
builds.command("promote <id>").description(
|
|
@@ -12538,7 +13072,7 @@ __name(fetchQueueCaseCount, "fetchQueueCaseCount");
|
|
|
12538
13072
|
|
|
12539
13073
|
// src/commands/cases/create.ts
|
|
12540
13074
|
import { readFile as readFile4 } from "node:fs/promises";
|
|
12541
|
-
var
|
|
13075
|
+
var TABLE_COLUMNS16 = [
|
|
12542
13076
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
12543
13077
|
{ header: "TITLE", cell: /* @__PURE__ */ __name((row) => row.title, "cell"), maxWidth: 50 },
|
|
12544
13078
|
{ header: "STATUS", cell: /* @__PURE__ */ __name((row) => row.status, "cell") }
|
|
@@ -12581,7 +13115,7 @@ function registerCasesCreate(cases) {
|
|
|
12581
13115
|
)
|
|
12582
13116
|
);
|
|
12583
13117
|
console.log();
|
|
12584
|
-
console.log(renderTable(
|
|
13118
|
+
console.log(renderTable(TABLE_COLUMNS16, addedCases));
|
|
12585
13119
|
}, "createAction"));
|
|
12586
13120
|
}
|
|
12587
13121
|
__name(registerCasesCreate, "registerCasesCreate");
|
|
@@ -12816,7 +13350,7 @@ __name(registerCasesGet, "registerCasesGet");
|
|
|
12816
13350
|
|
|
12817
13351
|
// src/commands/cases/labels.ts
|
|
12818
13352
|
var MAX_LABELS_PER_REQUEST = 50;
|
|
12819
|
-
var
|
|
13353
|
+
var TABLE_COLUMNS17 = [
|
|
12820
13354
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
12821
13355
|
{ header: "KEY", cell: /* @__PURE__ */ __name((row) => row.key, "cell") },
|
|
12822
13356
|
{ header: "VALUE", cell: /* @__PURE__ */ __name((row) => row.value, "cell") },
|
|
@@ -12846,7 +13380,7 @@ function registerCasesLabels(cases) {
|
|
|
12846
13380
|
console.log("No labels assigned.");
|
|
12847
13381
|
return;
|
|
12848
13382
|
}
|
|
12849
|
-
console.log(renderTable(
|
|
13383
|
+
console.log(renderTable(TABLE_COLUMNS17, parsed.data.labels));
|
|
12850
13384
|
console.log(`Showing ${parsed.data.labels.length}`);
|
|
12851
13385
|
}, "listAction"));
|
|
12852
13386
|
labels.command("assign <case-id>").description(
|
|
@@ -12886,7 +13420,7 @@ function registerCasesLabels(cases) {
|
|
|
12886
13420
|
);
|
|
12887
13421
|
}
|
|
12888
13422
|
console.log(green("Labels assigned!"));
|
|
12889
|
-
console.log(renderTable(
|
|
13423
|
+
console.log(renderTable(TABLE_COLUMNS17, parsed.data.labels));
|
|
12890
13424
|
}, "assignAction"));
|
|
12891
13425
|
labels.command("unlink <case-id>").description(
|
|
12892
13426
|
"Remove one or more labels from a case (by --label-id or --label key=value, for symmetry with assign)"
|
|
@@ -13004,7 +13538,7 @@ var MIN_LIMIT3 = 1;
|
|
|
13004
13538
|
var MAX_LIMIT3 = 100;
|
|
13005
13539
|
var SORT_FIELDS = ["created_at", "updated_at", "postponed_to"];
|
|
13006
13540
|
var SORT_ORDERS = ["asc", "desc"];
|
|
13007
|
-
var
|
|
13541
|
+
var TABLE_COLUMNS18 = [
|
|
13008
13542
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
13009
13543
|
{ header: "TITLE", cell: /* @__PURE__ */ __name((row) => row.title, "cell"), maxWidth: 50 },
|
|
13010
13544
|
{ header: "STATUS", cell: /* @__PURE__ */ __name((row) => row.status, "cell") },
|
|
@@ -13077,7 +13611,7 @@ function registerCasesList(cases) {
|
|
|
13077
13611
|
console.log("No cases found.");
|
|
13078
13612
|
return;
|
|
13079
13613
|
}
|
|
13080
|
-
console.log(renderTable(
|
|
13614
|
+
console.log(renderTable(TABLE_COLUMNS18, response.cases));
|
|
13081
13615
|
const resolvedOffset = response.offset ?? offset;
|
|
13082
13616
|
const total = response.total ?? null;
|
|
13083
13617
|
const summary = total === null ? `Showing ${response.cases.length} \xB7 offset ${resolvedOffset}` : `Showing ${response.cases.length} of ${total} \xB7 offset ${resolvedOffset}`;
|
|
@@ -13131,7 +13665,7 @@ function parseSortOrder(raw) {
|
|
|
13131
13665
|
__name(parseSortOrder, "parseSortOrder");
|
|
13132
13666
|
|
|
13133
13667
|
// src/commands/cases/runs.ts
|
|
13134
|
-
import { z as
|
|
13668
|
+
import { z as z75 } from "zod";
|
|
13135
13669
|
var MIN_LIMIT4 = 1;
|
|
13136
13670
|
var MAX_LIMIT4 = 10;
|
|
13137
13671
|
var DEFAULT_LIMIT4 = 3;
|
|
@@ -13149,17 +13683,17 @@ var RUNS_TABLE_COLUMNS = [
|
|
|
13149
13683
|
cell: /* @__PURE__ */ __name((row) => row.has_pending_human_request ? row.pending_human_request_title ?? "(unknown)" : "", "cell")
|
|
13150
13684
|
}
|
|
13151
13685
|
];
|
|
13152
|
-
var recentMessageSchema =
|
|
13153
|
-
id:
|
|
13154
|
-
type:
|
|
13155
|
-
role:
|
|
13156
|
-
timestamp:
|
|
13157
|
-
text_content:
|
|
13158
|
-
tool_call:
|
|
13159
|
-
tool_result:
|
|
13160
|
-
});
|
|
13161
|
-
var recentMessagesResponseSchema =
|
|
13162
|
-
messages:
|
|
13686
|
+
var recentMessageSchema = z75.object({
|
|
13687
|
+
id: z75.string(),
|
|
13688
|
+
type: z75.string(),
|
|
13689
|
+
role: z75.string(),
|
|
13690
|
+
timestamp: z75.string(),
|
|
13691
|
+
text_content: z75.string().nullish(),
|
|
13692
|
+
tool_call: z75.object({ id: z75.string(), name: z75.string() }).passthrough().nullish(),
|
|
13693
|
+
tool_result: z75.object({ tool_call_id: z75.string() }).passthrough().nullish()
|
|
13694
|
+
});
|
|
13695
|
+
var recentMessagesResponseSchema = z75.object({
|
|
13696
|
+
messages: z75.array(recentMessageSchema)
|
|
13163
13697
|
});
|
|
13164
13698
|
var TEXT_PREVIEW_WIDTH = 60;
|
|
13165
13699
|
var MESSAGES_TABLE_COLUMNS = [
|
|
@@ -13289,7 +13823,7 @@ function registerCases(program) {
|
|
|
13289
13823
|
__name(registerCases, "registerCases");
|
|
13290
13824
|
|
|
13291
13825
|
// src/commands/clarity/index.ts
|
|
13292
|
-
import { z as
|
|
13826
|
+
import { z as z79 } from "zod";
|
|
13293
13827
|
|
|
13294
13828
|
// src/commands/clarity/render.ts
|
|
13295
13829
|
var DEFAULT_HUMAN_SUMMARY_LIMIT = 1200;
|
|
@@ -14283,16 +14817,16 @@ function formatOptionalBoolean(value) {
|
|
|
14283
14817
|
__name(formatOptionalBoolean, "formatOptionalBoolean");
|
|
14284
14818
|
|
|
14285
14819
|
// src/commands/clarity/get-current-process.ts
|
|
14286
|
-
import { z as
|
|
14287
|
-
var snapshotSchema =
|
|
14288
|
-
snapshot:
|
|
14289
|
-
id:
|
|
14290
|
-
status:
|
|
14291
|
-
creator_type:
|
|
14292
|
-
user_id:
|
|
14293
|
-
sandbox_id:
|
|
14294
|
-
created_at:
|
|
14295
|
-
updated_at:
|
|
14820
|
+
import { z as z76 } from "zod";
|
|
14821
|
+
var snapshotSchema = z76.object({
|
|
14822
|
+
snapshot: z76.object({
|
|
14823
|
+
id: z76.string(),
|
|
14824
|
+
status: z76.string(),
|
|
14825
|
+
creator_type: z76.string(),
|
|
14826
|
+
user_id: z76.string().nullable(),
|
|
14827
|
+
sandbox_id: z76.string().nullable(),
|
|
14828
|
+
created_at: z76.string(),
|
|
14829
|
+
updated_at: z76.string()
|
|
14296
14830
|
})
|
|
14297
14831
|
});
|
|
14298
14832
|
function registerClarityGetCurrentProcess(clarity) {
|
|
@@ -14331,16 +14865,16 @@ function registerClarityGetCurrentProcess(clarity) {
|
|
|
14331
14865
|
__name(registerClarityGetCurrentProcess, "registerClarityGetCurrentProcess");
|
|
14332
14866
|
|
|
14333
14867
|
// src/commands/clarity/get-transformation-proposal.ts
|
|
14334
|
-
import { z as
|
|
14335
|
-
var snapshotSchema2 =
|
|
14336
|
-
snapshot:
|
|
14337
|
-
id:
|
|
14338
|
-
status:
|
|
14339
|
-
creator_type:
|
|
14340
|
-
user_id:
|
|
14341
|
-
sandbox_id:
|
|
14342
|
-
created_at:
|
|
14343
|
-
updated_at:
|
|
14868
|
+
import { z as z77 } from "zod";
|
|
14869
|
+
var snapshotSchema2 = z77.object({
|
|
14870
|
+
snapshot: z77.object({
|
|
14871
|
+
id: z77.string(),
|
|
14872
|
+
status: z77.string(),
|
|
14873
|
+
creator_type: z77.string(),
|
|
14874
|
+
user_id: z77.string().nullable(),
|
|
14875
|
+
sandbox_id: z77.string().nullable(),
|
|
14876
|
+
created_at: z77.string(),
|
|
14877
|
+
updated_at: z77.string()
|
|
14344
14878
|
})
|
|
14345
14879
|
});
|
|
14346
14880
|
function registerClarityGetTransformationProposal(clarity) {
|
|
@@ -14445,7 +14979,7 @@ __name(registerClarityGet, "registerClarityGet");
|
|
|
14445
14979
|
var DEFAULT_LIMIT5 = 20;
|
|
14446
14980
|
var MIN_LIMIT5 = 1;
|
|
14447
14981
|
var MAX_LIMIT5 = 100;
|
|
14448
|
-
var
|
|
14982
|
+
var TABLE_COLUMNS19 = [
|
|
14449
14983
|
{
|
|
14450
14984
|
header: "ID",
|
|
14451
14985
|
cell: /* @__PURE__ */ __name((row) => row.id, "cell")
|
|
@@ -14506,7 +15040,7 @@ function registerClarityListExtraCaptureRequests(clarity) {
|
|
|
14506
15040
|
console.log("No extra-capture requests found.");
|
|
14507
15041
|
return;
|
|
14508
15042
|
}
|
|
14509
|
-
console.log(renderTable(
|
|
15043
|
+
console.log(renderTable(TABLE_COLUMNS19, response.requests));
|
|
14510
15044
|
console.log(
|
|
14511
15045
|
`Showing ${response.requests.length} of ${response.total} \xB7 offset ${response.offset}`
|
|
14512
15046
|
);
|
|
@@ -14515,33 +15049,33 @@ function registerClarityListExtraCaptureRequests(clarity) {
|
|
|
14515
15049
|
__name(registerClarityListExtraCaptureRequests, "registerClarityListExtraCaptureRequests");
|
|
14516
15050
|
|
|
14517
15051
|
// src/api/clarity-schemas.ts
|
|
14518
|
-
import { z as
|
|
14519
|
-
var clarityListProcessSchema =
|
|
14520
|
-
id:
|
|
14521
|
-
name:
|
|
15052
|
+
import { z as z78 } from "zod";
|
|
15053
|
+
var clarityListProcessSchema = z78.object({
|
|
15054
|
+
id: z78.guid(),
|
|
15055
|
+
name: z78.string(),
|
|
14522
15056
|
status: clarityProcessStatusSchema,
|
|
14523
|
-
version:
|
|
14524
|
-
capture_count:
|
|
14525
|
-
capture_counts:
|
|
14526
|
-
video:
|
|
14527
|
-
interview:
|
|
14528
|
-
document:
|
|
15057
|
+
version: z78.number().int(),
|
|
15058
|
+
capture_count: z78.number().int(),
|
|
15059
|
+
capture_counts: z78.object({
|
|
15060
|
+
video: z78.number().int(),
|
|
15061
|
+
interview: z78.number().int(),
|
|
15062
|
+
document: z78.number().int()
|
|
14529
15063
|
}).optional(),
|
|
14530
|
-
pending_invitation_count:
|
|
14531
|
-
contributors:
|
|
14532
|
-
|
|
14533
|
-
user_id:
|
|
14534
|
-
user_name:
|
|
15064
|
+
pending_invitation_count: z78.number().int(),
|
|
15065
|
+
contributors: z78.array(
|
|
15066
|
+
z78.object({
|
|
15067
|
+
user_id: z78.string(),
|
|
15068
|
+
user_name: z78.string()
|
|
14535
15069
|
})
|
|
14536
15070
|
),
|
|
14537
|
-
created_at:
|
|
14538
|
-
created_by_name:
|
|
15071
|
+
created_at: z78.string(),
|
|
15072
|
+
created_by_name: z78.string().nullable()
|
|
14539
15073
|
});
|
|
14540
|
-
var listClarityProcessesResponseSchema =
|
|
14541
|
-
processes:
|
|
14542
|
-
total:
|
|
14543
|
-
limit:
|
|
14544
|
-
offset:
|
|
15074
|
+
var listClarityProcessesResponseSchema = z78.object({
|
|
15075
|
+
processes: z78.array(clarityListProcessSchema),
|
|
15076
|
+
total: z78.number().int(),
|
|
15077
|
+
limit: z78.number().int(),
|
|
15078
|
+
offset: z78.number().int()
|
|
14545
15079
|
});
|
|
14546
15080
|
var legacyClarityProcessResponseSchema = legacyClarityProcessDetailSchema;
|
|
14547
15081
|
|
|
@@ -15552,8 +16086,8 @@ async function buildTeamContextCheck(config) {
|
|
|
15552
16086
|
}
|
|
15553
16087
|
}
|
|
15554
16088
|
__name(buildTeamContextCheck, "buildTeamContextCheck");
|
|
15555
|
-
var listMyTeamsResponseSchema2 =
|
|
15556
|
-
teams:
|
|
16089
|
+
var listMyTeamsResponseSchema2 = z79.object({
|
|
16090
|
+
teams: z79.array(z79.object({ id: z79.string() }))
|
|
15557
16091
|
});
|
|
15558
16092
|
async function buildClarityApiReachableCheck(command, config) {
|
|
15559
16093
|
let teamId;
|
|
@@ -16254,7 +16788,7 @@ function registerConnectionsGet(connections) {
|
|
|
16254
16788
|
__name(registerConnectionsGet, "registerConnectionsGet");
|
|
16255
16789
|
|
|
16256
16790
|
// src/commands/connections/list.ts
|
|
16257
|
-
var
|
|
16791
|
+
var TABLE_COLUMNS20 = [
|
|
16258
16792
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
16259
16793
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
16260
16794
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
@@ -16294,26 +16828,26 @@ function registerConnectionsList(connections) {
|
|
|
16294
16828
|
console.log("No connections found.");
|
|
16295
16829
|
return;
|
|
16296
16830
|
}
|
|
16297
|
-
console.log(renderTable(
|
|
16831
|
+
console.log(renderTable(TABLE_COLUMNS20, rows));
|
|
16298
16832
|
console.log(`Showing ${rows.length}`);
|
|
16299
16833
|
}, "listAction"));
|
|
16300
16834
|
}
|
|
16301
16835
|
__name(registerConnectionsList, "registerConnectionsList");
|
|
16302
16836
|
|
|
16303
16837
|
// src/commands/connections/probe.ts
|
|
16304
|
-
import { z as
|
|
16305
|
-
var toolSchema =
|
|
16306
|
-
name:
|
|
16307
|
-
description:
|
|
16308
|
-
input_schema:
|
|
16838
|
+
import { z as z80 } from "zod";
|
|
16839
|
+
var toolSchema = z80.object({
|
|
16840
|
+
name: z80.string(),
|
|
16841
|
+
description: z80.string().optional(),
|
|
16842
|
+
input_schema: z80.record(z80.string(), z80.unknown()).optional()
|
|
16309
16843
|
});
|
|
16310
|
-
var probeResponseSchema =
|
|
16311
|
-
success:
|
|
16312
|
-
tools:
|
|
16313
|
-
error:
|
|
16844
|
+
var probeResponseSchema = z80.object({
|
|
16845
|
+
success: z80.boolean(),
|
|
16846
|
+
tools: z80.array(toolSchema).optional(),
|
|
16847
|
+
error: z80.string().optional()
|
|
16314
16848
|
});
|
|
16315
16849
|
var DESCRIPTION_MAX_WIDTH = 80;
|
|
16316
|
-
var
|
|
16850
|
+
var TABLE_COLUMNS21 = [
|
|
16317
16851
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
16318
16852
|
{
|
|
16319
16853
|
header: "DESCRIPTION",
|
|
@@ -16373,7 +16907,7 @@ function registerConnectionsProbe(connections) {
|
|
|
16373
16907
|
console.log("No tools found.");
|
|
16374
16908
|
return;
|
|
16375
16909
|
}
|
|
16376
|
-
console.log(renderTable(
|
|
16910
|
+
console.log(renderTable(TABLE_COLUMNS21, tools));
|
|
16377
16911
|
console.log(
|
|
16378
16912
|
`Showing ${tools.length} tool${tools.length === 1 ? "" : "s"}`
|
|
16379
16913
|
);
|
|
@@ -16529,48 +17063,48 @@ function registerConnections(program) {
|
|
|
16529
17063
|
__name(registerConnections, "registerConnections");
|
|
16530
17064
|
|
|
16531
17065
|
// src/api/credential-schemas.ts
|
|
16532
|
-
import { z as
|
|
16533
|
-
var dateLike =
|
|
16534
|
-
var secretSchema =
|
|
16535
|
-
id:
|
|
16536
|
-
team_id:
|
|
16537
|
-
user_id:
|
|
16538
|
-
name:
|
|
16539
|
-
service_slug:
|
|
16540
|
-
env_var_keys:
|
|
16541
|
-
created_by:
|
|
17066
|
+
import { z as z81 } from "zod";
|
|
17067
|
+
var dateLike = z81.string();
|
|
17068
|
+
var secretSchema = z81.object({
|
|
17069
|
+
id: z81.string(),
|
|
17070
|
+
team_id: z81.string(),
|
|
17071
|
+
user_id: z81.string().nullable(),
|
|
17072
|
+
name: z81.string(),
|
|
17073
|
+
service_slug: z81.string().nullable(),
|
|
17074
|
+
env_var_keys: z81.array(z81.string()),
|
|
17075
|
+
created_by: z81.string(),
|
|
16542
17076
|
created_at: dateLike,
|
|
16543
17077
|
updated_at: dateLike
|
|
16544
17078
|
});
|
|
16545
|
-
var secretsListResponseSchema =
|
|
17079
|
+
var secretsListResponseSchema = z81.array(secretSchema);
|
|
16546
17080
|
var secretResponseSchema = secretSchema;
|
|
16547
|
-
var browserLoginSchema =
|
|
16548
|
-
id:
|
|
16549
|
-
user_id:
|
|
16550
|
-
team_id:
|
|
16551
|
-
domain:
|
|
16552
|
-
username:
|
|
17081
|
+
var browserLoginSchema = z81.object({
|
|
17082
|
+
id: z81.string(),
|
|
17083
|
+
user_id: z81.string().nullable(),
|
|
17084
|
+
team_id: z81.string(),
|
|
17085
|
+
domain: z81.string(),
|
|
17086
|
+
username: z81.string().nullable(),
|
|
16553
17087
|
password: encryptedDataSchema.nullable(),
|
|
16554
17088
|
otp_secret: encryptedDataSchema.nullable(),
|
|
16555
17089
|
created_at: dateLike,
|
|
16556
17090
|
updated_at: dateLike
|
|
16557
17091
|
});
|
|
16558
|
-
var browserLoginsListResponseSchema =
|
|
16559
|
-
var revisionLoginSummarySchema =
|
|
16560
|
-
id:
|
|
16561
|
-
user_id:
|
|
16562
|
-
team_id:
|
|
16563
|
-
domain:
|
|
16564
|
-
username:
|
|
17092
|
+
var browserLoginsListResponseSchema = z81.array(credentialPreviewSchema);
|
|
17093
|
+
var revisionLoginSummarySchema = z81.object({
|
|
17094
|
+
id: z81.string(),
|
|
17095
|
+
user_id: z81.string().nullable(),
|
|
17096
|
+
team_id: z81.string().nullable(),
|
|
17097
|
+
domain: z81.string(),
|
|
17098
|
+
username: z81.string().nullable(),
|
|
16565
17099
|
created_at: dateLike,
|
|
16566
17100
|
updated_at: dateLike
|
|
16567
17101
|
});
|
|
16568
|
-
var revisionLoginsListResponseSchema =
|
|
17102
|
+
var revisionLoginsListResponseSchema = z81.array(
|
|
16569
17103
|
revisionLoginSummarySchema
|
|
16570
17104
|
);
|
|
16571
|
-
var revisionSecretsListResponseSchema =
|
|
16572
|
-
var successResponseSchema2 =
|
|
16573
|
-
success:
|
|
17105
|
+
var revisionSecretsListResponseSchema = z81.array(secretSchema);
|
|
17106
|
+
var successResponseSchema2 = z81.object({
|
|
17107
|
+
success: z81.boolean()
|
|
16574
17108
|
});
|
|
16575
17109
|
var attachSuccessResponseSchema = successResponseSchema2;
|
|
16576
17110
|
var deleteSecretResponseSchema = successResponseSchema2;
|
|
@@ -16764,7 +17298,7 @@ function registerCredentialsGet(credentials) {
|
|
|
16764
17298
|
__name(registerCredentialsGet, "registerCredentialsGet");
|
|
16765
17299
|
|
|
16766
17300
|
// src/commands/credentials/list.ts
|
|
16767
|
-
var
|
|
17301
|
+
var TABLE_COLUMNS22 = [
|
|
16768
17302
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
16769
17303
|
{ header: "DOMAIN", cell: /* @__PURE__ */ __name((row) => row.domain, "cell") },
|
|
16770
17304
|
{
|
|
@@ -16823,7 +17357,7 @@ function registerCredentialsList(credentials) {
|
|
|
16823
17357
|
console.log("No credentials found.");
|
|
16824
17358
|
return;
|
|
16825
17359
|
}
|
|
16826
|
-
console.log(renderTable(
|
|
17360
|
+
console.log(renderTable(TABLE_COLUMNS22, rows));
|
|
16827
17361
|
console.log(`Showing ${rows.length}`);
|
|
16828
17362
|
}, "listAction"));
|
|
16829
17363
|
}
|
|
@@ -17103,7 +17637,7 @@ function registerFilesDownloadUrl(files) {
|
|
|
17103
17637
|
__name(registerFilesDownloadUrl, "registerFilesDownloadUrl");
|
|
17104
17638
|
|
|
17105
17639
|
// src/commands/files/list.ts
|
|
17106
|
-
var
|
|
17640
|
+
var TABLE_COLUMNS23 = [
|
|
17107
17641
|
{ header: "PATH", cell: /* @__PURE__ */ __name((row) => row.path, "cell") },
|
|
17108
17642
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
17109
17643
|
{
|
|
@@ -17146,7 +17680,7 @@ function registerFilesList(files) {
|
|
|
17146
17680
|
console.log("No files found.");
|
|
17147
17681
|
return;
|
|
17148
17682
|
}
|
|
17149
|
-
console.log(renderTable(
|
|
17683
|
+
console.log(renderTable(TABLE_COLUMNS23, parsed.data.files));
|
|
17150
17684
|
console.log(`Showing ${parsed.data.files.length}`);
|
|
17151
17685
|
}, "listAction"));
|
|
17152
17686
|
}
|
|
@@ -17408,7 +17942,7 @@ function registerIntegrationsCustom(integrations) {
|
|
|
17408
17942
|
__name(registerIntegrationsCustom, "registerIntegrationsCustom");
|
|
17409
17943
|
|
|
17410
17944
|
// src/commands/integrations/list.ts
|
|
17411
|
-
var
|
|
17945
|
+
var TABLE_COLUMNS24 = [
|
|
17412
17946
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
17413
17947
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
17414
17948
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
@@ -17450,7 +17984,7 @@ function registerIntegrationsList(integrations) {
|
|
|
17450
17984
|
console.log("No integrations found.");
|
|
17451
17985
|
return;
|
|
17452
17986
|
}
|
|
17453
|
-
console.log(renderTable(
|
|
17987
|
+
console.log(renderTable(TABLE_COLUMNS24, rows));
|
|
17454
17988
|
console.log(`Showing ${rows.length}`);
|
|
17455
17989
|
}, "listAction"));
|
|
17456
17990
|
}
|
|
@@ -17467,7 +18001,7 @@ function registerIntegrations(program) {
|
|
|
17467
18001
|
__name(registerIntegrations, "registerIntegrations");
|
|
17468
18002
|
|
|
17469
18003
|
// src/commands/login.ts
|
|
17470
|
-
import { isCancel as
|
|
18004
|
+
import { isCancel as isCancel4, password, spinner, text as text2 } from "@clack/prompts";
|
|
17471
18005
|
|
|
17472
18006
|
// src/oauth/auth0-config.ts
|
|
17473
18007
|
var BAKED_DOMAIN = "login.duvo.ai" ? "login.duvo.ai" : "login.dev.duvo.ai";
|
|
@@ -17859,7 +18393,7 @@ async function resolveProfileName(flag, existingCount) {
|
|
|
17859
18393
|
return void 0;
|
|
17860
18394
|
}, "validate")
|
|
17861
18395
|
});
|
|
17862
|
-
if (
|
|
18396
|
+
if (isCancel4(answer)) {
|
|
17863
18397
|
throw new CancelCliError("Login cancelled.");
|
|
17864
18398
|
}
|
|
17865
18399
|
return answer;
|
|
@@ -17878,7 +18412,7 @@ async function resolveApiKey(flag) {
|
|
|
17878
18412
|
return void 0;
|
|
17879
18413
|
}, "validate")
|
|
17880
18414
|
});
|
|
17881
|
-
if (
|
|
18415
|
+
if (isCancel4(answer)) {
|
|
17882
18416
|
throw new CancelCliError("Login cancelled.");
|
|
17883
18417
|
}
|
|
17884
18418
|
return answer;
|
|
@@ -18289,7 +18823,7 @@ function parseHeaders(raw) {
|
|
|
18289
18823
|
return result;
|
|
18290
18824
|
}
|
|
18291
18825
|
__name(parseHeaders, "parseHeaders");
|
|
18292
|
-
var
|
|
18826
|
+
var TABLE_COLUMNS25 = [
|
|
18293
18827
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
18294
18828
|
{ header: "DESCRIPTION", cell: /* @__PURE__ */ __name((row) => row.description, "cell") }
|
|
18295
18829
|
];
|
|
@@ -18347,7 +18881,7 @@ function registerOauthMcpProbe(mcp) {
|
|
|
18347
18881
|
console.log("No tools advertised by this MCP server.");
|
|
18348
18882
|
return;
|
|
18349
18883
|
}
|
|
18350
|
-
console.log(renderTable(
|
|
18884
|
+
console.log(renderTable(TABLE_COLUMNS25, rows));
|
|
18351
18885
|
console.log(`Showing ${rows.length}`);
|
|
18352
18886
|
}, "probeMcpAction"));
|
|
18353
18887
|
}
|
|
@@ -18429,7 +18963,7 @@ function registerOauth(program) {
|
|
|
18429
18963
|
__name(registerOauth, "registerOauth");
|
|
18430
18964
|
|
|
18431
18965
|
// src/commands/plugins/list.ts
|
|
18432
|
-
var
|
|
18966
|
+
var TABLE_COLUMNS26 = [
|
|
18433
18967
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
18434
18968
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
18435
18969
|
{
|
|
@@ -18463,7 +18997,7 @@ function registerPluginsList(plugins) {
|
|
|
18463
18997
|
console.log("No plugins found.");
|
|
18464
18998
|
return;
|
|
18465
18999
|
}
|
|
18466
|
-
console.log(renderTable(
|
|
19000
|
+
console.log(renderTable(TABLE_COLUMNS26, parsed.data.plugins));
|
|
18467
19001
|
console.log(`Showing ${parsed.data.plugins.length}`);
|
|
18468
19002
|
}, "listAction"));
|
|
18469
19003
|
}
|
|
@@ -18500,12 +19034,12 @@ function padRight(value, width) {
|
|
|
18500
19034
|
__name(padRight, "padRight");
|
|
18501
19035
|
|
|
18502
19036
|
// src/commands/profiles/render-list.ts
|
|
18503
|
-
var
|
|
19037
|
+
var DEFAULT_MARKER2 = "\u25B6";
|
|
18504
19038
|
var NON_DEFAULT_MARKER = " ";
|
|
18505
19039
|
var COLUMNS = [
|
|
18506
19040
|
{
|
|
18507
19041
|
header: "",
|
|
18508
|
-
cell: /* @__PURE__ */ __name((item) => item.isDefault ?
|
|
19042
|
+
cell: /* @__PURE__ */ __name((item) => item.isDefault ? DEFAULT_MARKER2 : NON_DEFAULT_MARKER, "cell")
|
|
18509
19043
|
},
|
|
18510
19044
|
{ header: "NAME", cell: /* @__PURE__ */ __name((item) => item.name, "cell") },
|
|
18511
19045
|
{
|
|
@@ -18588,7 +19122,7 @@ function registerRename(profiles) {
|
|
|
18588
19122
|
__name(registerRename, "registerRename");
|
|
18589
19123
|
|
|
18590
19124
|
// src/commands/profiles/use.ts
|
|
18591
|
-
import { isCancel as
|
|
19125
|
+
import { isCancel as isCancel5, select as select2 } from "@clack/prompts";
|
|
18592
19126
|
var NAME_HEADER = "NAME";
|
|
18593
19127
|
function registerUse(profiles) {
|
|
18594
19128
|
profiles.command("use [name]").description(
|
|
@@ -18620,12 +19154,12 @@ async function pickProfileInteractively(config) {
|
|
|
18620
19154
|
);
|
|
18621
19155
|
}
|
|
18622
19156
|
const options = buildPickerOptions(profiles);
|
|
18623
|
-
const answer = await
|
|
19157
|
+
const answer = await select2({
|
|
18624
19158
|
message: "Select default profile",
|
|
18625
19159
|
initialValue: config.defaultProfile ?? profiles[0].name,
|
|
18626
19160
|
options
|
|
18627
19161
|
});
|
|
18628
|
-
if (
|
|
19162
|
+
if (isCancel5(answer)) {
|
|
18629
19163
|
throw new CancelCliError("Profile switch cancelled.");
|
|
18630
19164
|
}
|
|
18631
19165
|
return answer;
|
|
@@ -18640,7 +19174,7 @@ function buildPickerOptions(profiles) {
|
|
|
18640
19174
|
...profiles.map((profile) => profile.name.length)
|
|
18641
19175
|
);
|
|
18642
19176
|
return profiles.map((profile, index) => {
|
|
18643
|
-
const marker = profile.isDefault ?
|
|
19177
|
+
const marker = profile.isDefault ? DEFAULT_MARKER2 : NON_DEFAULT_MARKER;
|
|
18644
19178
|
const label = `${marker} ${padRight(profile.name, nameWidth)} ${maskedKeys[index]}`;
|
|
18645
19179
|
return {
|
|
18646
19180
|
value: profile.name,
|
|
@@ -18661,7 +19195,7 @@ function registerProfiles(program) {
|
|
|
18661
19195
|
__name(registerProfiles, "registerProfiles");
|
|
18662
19196
|
|
|
18663
19197
|
// src/commands/queue-labels/index.ts
|
|
18664
|
-
var
|
|
19198
|
+
var TABLE_COLUMNS27 = [
|
|
18665
19199
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
18666
19200
|
{ header: "KEY", cell: /* @__PURE__ */ __name((row) => row.key, "cell") },
|
|
18667
19201
|
{ header: "VALUE", cell: /* @__PURE__ */ __name((row) => row.value, "cell") },
|
|
@@ -18715,7 +19249,7 @@ function registerList3(labels) {
|
|
|
18715
19249
|
console.log("No labels defined on this queue.");
|
|
18716
19250
|
return;
|
|
18717
19251
|
}
|
|
18718
|
-
console.log(renderTable(
|
|
19252
|
+
console.log(renderTable(TABLE_COLUMNS27, parsed.data.labels));
|
|
18719
19253
|
console.log(`Showing ${parsed.data.labels.length}`);
|
|
18720
19254
|
}, "listAction"));
|
|
18721
19255
|
}
|
|
@@ -19469,7 +20003,7 @@ __name(registerQueuesLinkAgent, "registerQueuesLinkAgent");
|
|
|
19469
20003
|
var DEFAULT_LIMIT7 = 20;
|
|
19470
20004
|
var MIN_LIMIT7 = 1;
|
|
19471
20005
|
var MAX_LIMIT7 = 100;
|
|
19472
|
-
var
|
|
20006
|
+
var TABLE_COLUMNS28 = [
|
|
19473
20007
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
19474
20008
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
19475
20009
|
{
|
|
@@ -19517,7 +20051,7 @@ function registerQueuesList(queues) {
|
|
|
19517
20051
|
console.log("No queues found.");
|
|
19518
20052
|
return;
|
|
19519
20053
|
}
|
|
19520
|
-
console.log(renderTable(
|
|
20054
|
+
console.log(renderTable(TABLE_COLUMNS28, response.queues));
|
|
19521
20055
|
const resolvedOffset = response.offset ?? offset;
|
|
19522
20056
|
const total = response.total ?? null;
|
|
19523
20057
|
const summary = total === null ? `Showing ${response.queues.length} \xB7 offset ${resolvedOffset}` : `Showing ${response.queues.length} of ${total} \xB7 offset ${resolvedOffset}`;
|
|
@@ -19775,7 +20309,7 @@ function registerRevisionLoginsDetach(revisionLogins) {
|
|
|
19775
20309
|
__name(registerRevisionLoginsDetach, "registerRevisionLoginsDetach");
|
|
19776
20310
|
|
|
19777
20311
|
// src/commands/revision-logins/list.ts
|
|
19778
|
-
var
|
|
20312
|
+
var TABLE_COLUMNS29 = [
|
|
19779
20313
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
19780
20314
|
{ header: "DOMAIN", cell: /* @__PURE__ */ __name((row) => row.domain, "cell") },
|
|
19781
20315
|
{
|
|
@@ -19811,7 +20345,7 @@ function registerRevisionLoginsList(revisionLogins) {
|
|
|
19811
20345
|
console.log("No browser logins attached to this revision.");
|
|
19812
20346
|
return;
|
|
19813
20347
|
}
|
|
19814
|
-
console.log(renderTable(
|
|
20348
|
+
console.log(renderTable(TABLE_COLUMNS29, rows));
|
|
19815
20349
|
console.log(`Showing ${rows.length}`);
|
|
19816
20350
|
}, "listAction"));
|
|
19817
20351
|
}
|
|
@@ -19884,7 +20418,7 @@ function registerRevisionSecretsDetach(revisionSecrets) {
|
|
|
19884
20418
|
__name(registerRevisionSecretsDetach, "registerRevisionSecretsDetach");
|
|
19885
20419
|
|
|
19886
20420
|
// src/commands/revision-secrets/list.ts
|
|
19887
|
-
var
|
|
20421
|
+
var TABLE_COLUMNS30 = [
|
|
19888
20422
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
19889
20423
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
19890
20424
|
{
|
|
@@ -19922,7 +20456,7 @@ function registerRevisionSecretsList(revisionSecrets) {
|
|
|
19922
20456
|
console.log("No secrets attached to this revision.");
|
|
19923
20457
|
return;
|
|
19924
20458
|
}
|
|
19925
|
-
console.log(renderTable(
|
|
20459
|
+
console.log(renderTable(TABLE_COLUMNS30, rows));
|
|
19926
20460
|
console.log(`Showing ${rows.length}`);
|
|
19927
20461
|
}, "listAction"));
|
|
19928
20462
|
}
|
|
@@ -19938,91 +20472,91 @@ function registerRevisionSecrets(program) {
|
|
|
19938
20472
|
__name(registerRevisionSecrets, "registerRevisionSecrets");
|
|
19939
20473
|
|
|
19940
20474
|
// src/api/run-schemas.ts
|
|
19941
|
-
import { z as
|
|
19942
|
-
var publicRunSchema =
|
|
19943
|
-
id:
|
|
19944
|
-
agent_id:
|
|
19945
|
-
build_id:
|
|
19946
|
-
status:
|
|
19947
|
-
source:
|
|
19948
|
-
sandbox_id:
|
|
19949
|
-
started_at:
|
|
19950
|
-
completed_at:
|
|
19951
|
-
created_at:
|
|
19952
|
-
updated_at:
|
|
19953
|
-
human_in_the_loop_enabled:
|
|
19954
|
-
});
|
|
19955
|
-
var startRunResponseSchema =
|
|
20475
|
+
import { z as z82 } from "zod";
|
|
20476
|
+
var publicRunSchema = z82.object({
|
|
20477
|
+
id: z82.string(),
|
|
20478
|
+
agent_id: z82.string(),
|
|
20479
|
+
build_id: z82.string(),
|
|
20480
|
+
status: z82.string(),
|
|
20481
|
+
source: z82.string().nullish(),
|
|
20482
|
+
sandbox_id: z82.string().nullish(),
|
|
20483
|
+
started_at: z82.string().nullish(),
|
|
20484
|
+
completed_at: z82.string().nullish(),
|
|
20485
|
+
created_at: z82.string(),
|
|
20486
|
+
updated_at: z82.string().nullish(),
|
|
20487
|
+
human_in_the_loop_enabled: z82.boolean().nullish()
|
|
20488
|
+
});
|
|
20489
|
+
var startRunResponseSchema = z82.object({
|
|
19956
20490
|
run: publicRunSchema
|
|
19957
20491
|
});
|
|
19958
|
-
var questionOptionSchema =
|
|
19959
|
-
label:
|
|
19960
|
-
description:
|
|
19961
|
-
});
|
|
19962
|
-
var questionSchema =
|
|
19963
|
-
question:
|
|
19964
|
-
header:
|
|
19965
|
-
options:
|
|
19966
|
-
multi_select:
|
|
19967
|
-
});
|
|
19968
|
-
var pendingHumanRequestSchema =
|
|
19969
|
-
id:
|
|
19970
|
-
title:
|
|
19971
|
-
description:
|
|
19972
|
-
created_at:
|
|
19973
|
-
type:
|
|
19974
|
-
questions:
|
|
19975
|
-
});
|
|
19976
|
-
var getRunResponseSchema =
|
|
20492
|
+
var questionOptionSchema = z82.object({
|
|
20493
|
+
label: z82.string(),
|
|
20494
|
+
description: z82.string().nullish()
|
|
20495
|
+
});
|
|
20496
|
+
var questionSchema = z82.object({
|
|
20497
|
+
question: z82.string(),
|
|
20498
|
+
header: z82.string().nullish(),
|
|
20499
|
+
options: z82.array(questionOptionSchema).nullish(),
|
|
20500
|
+
multi_select: z82.boolean().nullish()
|
|
20501
|
+
});
|
|
20502
|
+
var pendingHumanRequestSchema = z82.object({
|
|
20503
|
+
id: z82.string(),
|
|
20504
|
+
title: z82.string(),
|
|
20505
|
+
description: z82.string().nullish(),
|
|
20506
|
+
created_at: z82.string(),
|
|
20507
|
+
type: z82.string(),
|
|
20508
|
+
questions: z82.array(questionSchema).nullish()
|
|
20509
|
+
});
|
|
20510
|
+
var getRunResponseSchema = z82.object({
|
|
19977
20511
|
run: publicRunSchema.nullable(),
|
|
19978
20512
|
pending_human_request: pendingHumanRequestSchema.nullish()
|
|
19979
20513
|
});
|
|
19980
|
-
var stopRunResponseSchema =
|
|
19981
|
-
success:
|
|
19982
|
-
message:
|
|
19983
|
-
});
|
|
19984
|
-
var runMessageSchema =
|
|
19985
|
-
id:
|
|
19986
|
-
type:
|
|
19987
|
-
role:
|
|
19988
|
-
timestamp:
|
|
19989
|
-
text_content:
|
|
19990
|
-
tool_call:
|
|
19991
|
-
id:
|
|
19992
|
-
name:
|
|
19993
|
-
arguments:
|
|
20514
|
+
var stopRunResponseSchema = z82.object({
|
|
20515
|
+
success: z82.boolean(),
|
|
20516
|
+
message: z82.string().nullish()
|
|
20517
|
+
});
|
|
20518
|
+
var runMessageSchema = z82.object({
|
|
20519
|
+
id: z82.string(),
|
|
20520
|
+
type: z82.string(),
|
|
20521
|
+
role: z82.string(),
|
|
20522
|
+
timestamp: z82.string(),
|
|
20523
|
+
text_content: z82.string().nullish(),
|
|
20524
|
+
tool_call: z82.object({
|
|
20525
|
+
id: z82.string(),
|
|
20526
|
+
name: z82.string(),
|
|
20527
|
+
arguments: z82.record(z82.string(), z82.unknown()).nullish()
|
|
19994
20528
|
}).nullish(),
|
|
19995
|
-
tool_result:
|
|
19996
|
-
tool_call_id:
|
|
19997
|
-
result:
|
|
19998
|
-
error:
|
|
20529
|
+
tool_result: z82.object({
|
|
20530
|
+
tool_call_id: z82.string(),
|
|
20531
|
+
result: z82.unknown().nullish(),
|
|
20532
|
+
error: z82.string().nullish()
|
|
19999
20533
|
}).nullish()
|
|
20000
20534
|
});
|
|
20001
|
-
var listRunMessagesResponseSchema =
|
|
20002
|
-
messages:
|
|
20003
|
-
total:
|
|
20004
|
-
limit:
|
|
20005
|
-
offset:
|
|
20535
|
+
var listRunMessagesResponseSchema = z82.object({
|
|
20536
|
+
messages: z82.array(runMessageSchema),
|
|
20537
|
+
total: z82.number().nullish(),
|
|
20538
|
+
limit: z82.number().nullish(),
|
|
20539
|
+
offset: z82.number().nullish()
|
|
20006
20540
|
});
|
|
20007
|
-
var postedMessageSchema =
|
|
20008
|
-
id:
|
|
20009
|
-
type:
|
|
20010
|
-
role:
|
|
20011
|
-
timestamp:
|
|
20012
|
-
text_content:
|
|
20541
|
+
var postedMessageSchema = z82.object({
|
|
20542
|
+
id: z82.string(),
|
|
20543
|
+
type: z82.string(),
|
|
20544
|
+
role: z82.string(),
|
|
20545
|
+
timestamp: z82.string(),
|
|
20546
|
+
text_content: z82.string()
|
|
20013
20547
|
});
|
|
20014
|
-
var postRunMessageResponseSchema =
|
|
20548
|
+
var postRunMessageResponseSchema = z82.object({
|
|
20015
20549
|
message: postedMessageSchema
|
|
20016
20550
|
});
|
|
20017
|
-
var respondHumanRequestResponseSchema =
|
|
20018
|
-
human_request:
|
|
20019
|
-
id:
|
|
20020
|
-
run_id:
|
|
20021
|
-
title:
|
|
20022
|
-
description:
|
|
20023
|
-
response:
|
|
20024
|
-
responded_at:
|
|
20025
|
-
created_at:
|
|
20551
|
+
var respondHumanRequestResponseSchema = z82.object({
|
|
20552
|
+
human_request: z82.object({
|
|
20553
|
+
id: z82.string(),
|
|
20554
|
+
run_id: z82.string(),
|
|
20555
|
+
title: z82.string(),
|
|
20556
|
+
description: z82.string().nullish(),
|
|
20557
|
+
response: z82.string().nullish(),
|
|
20558
|
+
responded_at: z82.string().nullish(),
|
|
20559
|
+
created_at: z82.string()
|
|
20026
20560
|
})
|
|
20027
20561
|
});
|
|
20028
20562
|
|
|
@@ -20091,7 +20625,7 @@ var MAX_LIMIT8 = 100;
|
|
|
20091
20625
|
var SORT_ORDERS2 = ["asc", "desc"];
|
|
20092
20626
|
var HAS_ISSUES_VALUES = ["true", "false"];
|
|
20093
20627
|
var TITLE_PREVIEW_WIDTH = 50;
|
|
20094
|
-
var
|
|
20628
|
+
var TABLE_COLUMNS31 = [
|
|
20095
20629
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
20096
20630
|
{ header: "RUN#", cell: /* @__PURE__ */ __name((row) => String(row.run_number), "cell") },
|
|
20097
20631
|
{ header: "STATUS", cell: /* @__PURE__ */ __name((row) => row.status, "cell") },
|
|
@@ -20192,7 +20726,7 @@ function registerRunsList(runs) {
|
|
|
20192
20726
|
console.log("No runs found.");
|
|
20193
20727
|
return;
|
|
20194
20728
|
}
|
|
20195
|
-
console.log(renderTable(
|
|
20729
|
+
console.log(renderTable(TABLE_COLUMNS31, response.data));
|
|
20196
20730
|
console.log(
|
|
20197
20731
|
`Showing ${response.data.length} of ${response.total} \xB7 offset ${offset}`
|
|
20198
20732
|
);
|
|
@@ -20302,7 +20836,7 @@ var DEFAULT_LIMIT9 = 20;
|
|
|
20302
20836
|
var MIN_LIMIT9 = 1;
|
|
20303
20837
|
var MAX_LIMIT9 = 50;
|
|
20304
20838
|
var TEXT_PREVIEW_WIDTH2 = 60;
|
|
20305
|
-
var
|
|
20839
|
+
var TABLE_COLUMNS32 = [
|
|
20306
20840
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
20307
20841
|
{ header: "ROLE", cell: /* @__PURE__ */ __name((row) => row.role, "cell") },
|
|
20308
20842
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
@@ -20367,7 +20901,7 @@ function registerRunsMessages(runs) {
|
|
|
20367
20901
|
console.log("No messages found.");
|
|
20368
20902
|
return;
|
|
20369
20903
|
}
|
|
20370
|
-
console.log(renderTable(
|
|
20904
|
+
console.log(renderTable(TABLE_COLUMNS32, response.messages));
|
|
20371
20905
|
const resolvedOffset = response.offset ?? offset;
|
|
20372
20906
|
const summary = response.total === null || response.total === void 0 ? `Showing ${response.messages.length} \xB7 offset ${resolvedOffset}` : `Showing ${response.messages.length} of ${response.total} \xB7 offset ${resolvedOffset}`;
|
|
20373
20907
|
console.log(summary);
|
|
@@ -20634,28 +21168,28 @@ function registerRuns(program) {
|
|
|
20634
21168
|
__name(registerRuns, "registerRuns");
|
|
20635
21169
|
|
|
20636
21170
|
// src/api/sandbox-schemas.ts
|
|
20637
|
-
import { z as
|
|
20638
|
-
var createSandboxResponseSchema =
|
|
20639
|
-
sandbox_id:
|
|
20640
|
-
expires_at:
|
|
21171
|
+
import { z as z83 } from "zod";
|
|
21172
|
+
var createSandboxResponseSchema = z83.object({
|
|
21173
|
+
sandbox_id: z83.string(),
|
|
21174
|
+
expires_at: z83.string()
|
|
20641
21175
|
});
|
|
20642
|
-
var createSandboxUploadUrlResponseSchema =
|
|
20643
|
-
upload_url:
|
|
20644
|
-
path:
|
|
20645
|
-
expires_in_seconds:
|
|
21176
|
+
var createSandboxUploadUrlResponseSchema = z83.object({
|
|
21177
|
+
upload_url: z83.string(),
|
|
21178
|
+
path: z83.string(),
|
|
21179
|
+
expires_in_seconds: z83.number()
|
|
20646
21180
|
});
|
|
20647
|
-
var sandboxFileSchema =
|
|
20648
|
-
name:
|
|
20649
|
-
path:
|
|
20650
|
-
type:
|
|
20651
|
-
size_bytes:
|
|
21181
|
+
var sandboxFileSchema = z83.object({
|
|
21182
|
+
name: z83.string(),
|
|
21183
|
+
path: z83.string(),
|
|
21184
|
+
type: z83.enum(["file", "dir"]),
|
|
21185
|
+
size_bytes: z83.number()
|
|
20652
21186
|
});
|
|
20653
|
-
var listSandboxFilesResponseSchema =
|
|
20654
|
-
files:
|
|
21187
|
+
var listSandboxFilesResponseSchema = z83.object({
|
|
21188
|
+
files: z83.array(sandboxFileSchema)
|
|
20655
21189
|
});
|
|
20656
|
-
var uploadSandboxFileResponseSchema =
|
|
20657
|
-
path:
|
|
20658
|
-
size_bytes:
|
|
21190
|
+
var uploadSandboxFileResponseSchema = z83.object({
|
|
21191
|
+
path: z83.string(),
|
|
21192
|
+
size_bytes: z83.number()
|
|
20659
21193
|
});
|
|
20660
21194
|
var DEFAULT_SANDBOX_FILES_PATH = "/workspace";
|
|
20661
21195
|
|
|
@@ -20692,7 +21226,7 @@ function registerSandboxesCreate(sandboxes) {
|
|
|
20692
21226
|
__name(registerSandboxesCreate, "registerSandboxesCreate");
|
|
20693
21227
|
|
|
20694
21228
|
// src/commands/sandboxes/files.ts
|
|
20695
|
-
var
|
|
21229
|
+
var TABLE_COLUMNS33 = [
|
|
20696
21230
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
20697
21231
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
20698
21232
|
{ header: "PATH", cell: /* @__PURE__ */ __name((row) => row.path, "cell") },
|
|
@@ -20730,7 +21264,7 @@ function registerSandboxesFiles(sandboxes) {
|
|
|
20730
21264
|
console.log("No files found.");
|
|
20731
21265
|
return;
|
|
20732
21266
|
}
|
|
20733
|
-
console.log(renderTable(
|
|
21267
|
+
console.log(renderTable(TABLE_COLUMNS33, files));
|
|
20734
21268
|
console.log(`Showing ${files.length}`);
|
|
20735
21269
|
}, "filesAction"));
|
|
20736
21270
|
}
|
|
@@ -21075,7 +21609,7 @@ function registerSecretsGet(secrets) {
|
|
|
21075
21609
|
__name(registerSecretsGet, "registerSecretsGet");
|
|
21076
21610
|
|
|
21077
21611
|
// src/commands/secrets/list.ts
|
|
21078
|
-
var
|
|
21612
|
+
var TABLE_COLUMNS34 = [
|
|
21079
21613
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
21080
21614
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
21081
21615
|
{
|
|
@@ -21119,7 +21653,7 @@ function registerSecretsList(secrets) {
|
|
|
21119
21653
|
console.log("No secrets found.");
|
|
21120
21654
|
return;
|
|
21121
21655
|
}
|
|
21122
|
-
console.log(renderTable(
|
|
21656
|
+
console.log(renderTable(TABLE_COLUMNS34, rows));
|
|
21123
21657
|
console.log(`Showing ${rows.length}`);
|
|
21124
21658
|
}, "listAction"));
|
|
21125
21659
|
}
|
|
@@ -21230,7 +21764,7 @@ function registerSecrets(program) {
|
|
|
21230
21764
|
__name(registerSecrets, "registerSecrets");
|
|
21231
21765
|
|
|
21232
21766
|
// src/commands/skills/assignments.ts
|
|
21233
|
-
var
|
|
21767
|
+
var TABLE_COLUMNS35 = [
|
|
21234
21768
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
21235
21769
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") }
|
|
21236
21770
|
];
|
|
@@ -21258,7 +21792,7 @@ function registerSkillsAssignments(skills) {
|
|
|
21258
21792
|
console.log("No assignments use this skill.");
|
|
21259
21793
|
return;
|
|
21260
21794
|
}
|
|
21261
|
-
console.log(renderTable(
|
|
21795
|
+
console.log(renderTable(TABLE_COLUMNS35, assignments));
|
|
21262
21796
|
console.log(`Showing ${assignments.length} of ${total}`);
|
|
21263
21797
|
}, "assignmentsAction"));
|
|
21264
21798
|
}
|
|
@@ -21266,13 +21800,13 @@ __name(registerSkillsAssignments, "registerSkillsAssignments");
|
|
|
21266
21800
|
|
|
21267
21801
|
// src/commands/skills/create.ts
|
|
21268
21802
|
import { readFileSync as readFileSync4 } from "node:fs";
|
|
21269
|
-
import { z as
|
|
21270
|
-
var createSkillResponseSchema =
|
|
21271
|
-
skill:
|
|
21272
|
-
id:
|
|
21273
|
-
name:
|
|
21274
|
-
description:
|
|
21275
|
-
team_id:
|
|
21803
|
+
import { z as z84 } from "zod";
|
|
21804
|
+
var createSkillResponseSchema = z84.object({
|
|
21805
|
+
skill: z84.object({
|
|
21806
|
+
id: z84.string(),
|
|
21807
|
+
name: z84.string(),
|
|
21808
|
+
description: z84.string(),
|
|
21809
|
+
team_id: z84.string()
|
|
21276
21810
|
})
|
|
21277
21811
|
});
|
|
21278
21812
|
function registerSkillsCreate(skills) {
|
|
@@ -21540,7 +22074,7 @@ function readContent2(options) {
|
|
|
21540
22074
|
__name(readContent2, "readContent");
|
|
21541
22075
|
|
|
21542
22076
|
// src/commands/skills/files.ts
|
|
21543
|
-
var
|
|
22077
|
+
var TABLE_COLUMNS36 = [
|
|
21544
22078
|
{ header: "PATH", cell: /* @__PURE__ */ __name((row) => row.path, "cell") },
|
|
21545
22079
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
21546
22080
|
{
|
|
@@ -21579,7 +22113,7 @@ function registerSkillsFiles(skills) {
|
|
|
21579
22113
|
console.log("No files found.");
|
|
21580
22114
|
return;
|
|
21581
22115
|
}
|
|
21582
|
-
console.log(renderTable(
|
|
22116
|
+
console.log(renderTable(TABLE_COLUMNS36, parsed.data.files));
|
|
21583
22117
|
console.log(`Showing ${parsed.data.files.length}`);
|
|
21584
22118
|
}, "filesAction"));
|
|
21585
22119
|
}
|
|
@@ -21636,13 +22170,13 @@ function readExistingContent(source) {
|
|
|
21636
22170
|
__name(readExistingContent, "readExistingContent");
|
|
21637
22171
|
|
|
21638
22172
|
// src/commands/skills/install.ts
|
|
21639
|
-
import { z as
|
|
21640
|
-
var installSkillResponseSchema =
|
|
21641
|
-
skill:
|
|
21642
|
-
id:
|
|
21643
|
-
name:
|
|
21644
|
-
description:
|
|
21645
|
-
team_id:
|
|
22173
|
+
import { z as z85 } from "zod";
|
|
22174
|
+
var installSkillResponseSchema = z85.object({
|
|
22175
|
+
skill: z85.object({
|
|
22176
|
+
id: z85.string(),
|
|
22177
|
+
name: z85.string(),
|
|
22178
|
+
description: z85.string(),
|
|
22179
|
+
team_id: z85.string()
|
|
21646
22180
|
})
|
|
21647
22181
|
});
|
|
21648
22182
|
function registerSkillsInstall(skills) {
|
|
@@ -21832,13 +22366,13 @@ __name(registerSkillsSystem, "registerSkillsSystem");
|
|
|
21832
22366
|
// src/commands/skills/upload.ts
|
|
21833
22367
|
import { readFile as readFile6, stat as stat2 } from "node:fs/promises";
|
|
21834
22368
|
import { basename as basename2 } from "node:path";
|
|
21835
|
-
import { z as
|
|
21836
|
-
var uploadSkillResponseSchema =
|
|
21837
|
-
skill:
|
|
21838
|
-
id:
|
|
21839
|
-
name:
|
|
21840
|
-
description:
|
|
21841
|
-
team_id:
|
|
22369
|
+
import { z as z86 } from "zod";
|
|
22370
|
+
var uploadSkillResponseSchema = z86.object({
|
|
22371
|
+
skill: z86.object({
|
|
22372
|
+
id: z86.string(),
|
|
22373
|
+
name: z86.string(),
|
|
22374
|
+
description: z86.string(),
|
|
22375
|
+
team_id: z86.string()
|
|
21842
22376
|
})
|
|
21843
22377
|
});
|
|
21844
22378
|
function registerSkillsUpload(skills) {
|
|
@@ -21993,7 +22527,7 @@ __name(registerTeamGet, "registerTeamGet");
|
|
|
21993
22527
|
var DEFAULT_LIMIT10 = 50;
|
|
21994
22528
|
var MIN_LIMIT10 = 1;
|
|
21995
22529
|
var MAX_LIMIT10 = 100;
|
|
21996
|
-
var
|
|
22530
|
+
var TABLE_COLUMNS37 = [
|
|
21997
22531
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
21998
22532
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name ?? "", "cell") },
|
|
21999
22533
|
{ header: "EMAIL", cell: /* @__PURE__ */ __name((row) => row.email, "cell") },
|
|
@@ -22044,7 +22578,7 @@ function registerTeamMembers(team) {
|
|
|
22044
22578
|
console.log("No members found.");
|
|
22045
22579
|
return;
|
|
22046
22580
|
}
|
|
22047
|
-
console.log(renderTable(
|
|
22581
|
+
console.log(renderTable(TABLE_COLUMNS37, response.members));
|
|
22048
22582
|
console.log(
|
|
22049
22583
|
`Showing ${response.members.length} of ${response.total} \xB7 offset ${response.offset}`
|
|
22050
22584
|
);
|
|
@@ -22053,11 +22587,11 @@ function registerTeamMembers(team) {
|
|
|
22053
22587
|
__name(registerTeamMembers, "registerTeamMembers");
|
|
22054
22588
|
|
|
22055
22589
|
// src/commands/team/use.ts
|
|
22056
|
-
import { z as
|
|
22590
|
+
import { z as z87 } from "zod";
|
|
22057
22591
|
var TEAM_ID_SHAPE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
22058
|
-
var teamIdSchema =
|
|
22059
|
-
var listMyTeamsResponseSchema3 =
|
|
22060
|
-
teams:
|
|
22592
|
+
var teamIdSchema = z87.string().regex(TEAM_ID_SHAPE);
|
|
22593
|
+
var listMyTeamsResponseSchema3 = z87.object({
|
|
22594
|
+
teams: z87.array(z87.object({ id: z87.string() }))
|
|
22061
22595
|
});
|
|
22062
22596
|
function registerTeamUse(team) {
|
|
22063
22597
|
team.command("use <team-id>").description(
|
|
@@ -22139,14 +22673,14 @@ function registerTeam(program) {
|
|
|
22139
22673
|
__name(registerTeam, "registerTeam");
|
|
22140
22674
|
|
|
22141
22675
|
// src/commands/teams/list.ts
|
|
22142
|
-
import { z as
|
|
22143
|
-
var teamApiSchema2 =
|
|
22144
|
-
id:
|
|
22145
|
-
name:
|
|
22146
|
-
organization_id:
|
|
22676
|
+
import { z as z88 } from "zod";
|
|
22677
|
+
var teamApiSchema2 = z88.object({
|
|
22678
|
+
id: z88.string(),
|
|
22679
|
+
name: z88.string(),
|
|
22680
|
+
organization_id: z88.string().nullable()
|
|
22147
22681
|
});
|
|
22148
|
-
var listMyTeamsResponseSchema4 =
|
|
22149
|
-
teams:
|
|
22682
|
+
var listMyTeamsResponseSchema4 = z88.object({
|
|
22683
|
+
teams: z88.array(teamApiSchema2)
|
|
22150
22684
|
});
|
|
22151
22685
|
function registerTeamsList(program) {
|
|
22152
22686
|
const teams = program.command("teams").description("Inspect the teams your credentials can act on");
|
|
@@ -22242,7 +22776,7 @@ __name(resolveActiveTeamId, "resolveActiveTeamId");
|
|
|
22242
22776
|
var version = resolveVersion();
|
|
22243
22777
|
function resolveVersion() {
|
|
22244
22778
|
if (true) {
|
|
22245
|
-
return "1.
|
|
22779
|
+
return "1.3.0";
|
|
22246
22780
|
}
|
|
22247
22781
|
const packageJsonPath = join2(
|
|
22248
22782
|
dirname2(fileURLToPath(import.meta.url)),
|
|
@@ -22311,7 +22845,7 @@ function checkForUpdate() {
|
|
|
22311
22845
|
__name(checkForUpdate, "checkForUpdate");
|
|
22312
22846
|
function loadPackageMeta() {
|
|
22313
22847
|
if (true) {
|
|
22314
|
-
return { name: "@duvoai/cli", version: "1.
|
|
22848
|
+
return { name: "@duvoai/cli", version: "1.3.0" };
|
|
22315
22849
|
}
|
|
22316
22850
|
const require2 = createRequire(import.meta.url);
|
|
22317
22851
|
const raw = require2("../package.json");
|