@duvoai/cli 1.2.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 +719 -250
- 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
|
|
@@ -11598,17 +12108,17 @@ function registerBuildIntegrationsAttach(buildIntegrations) {
|
|
|
11598
12108
|
__name(registerBuildIntegrationsAttach, "registerBuildIntegrationsAttach");
|
|
11599
12109
|
|
|
11600
12110
|
// src/commands/build-integrations/case-queue-setup.ts
|
|
11601
|
-
import { z as
|
|
11602
|
-
var slotSchema =
|
|
11603
|
-
config_id:
|
|
11604
|
-
integration_type:
|
|
11605
|
-
linked_queue_count:
|
|
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()
|
|
11606
12116
|
});
|
|
11607
|
-
var responseSchema2 =
|
|
11608
|
-
configs:
|
|
11609
|
-
has_available_queues:
|
|
12117
|
+
var responseSchema2 = z73.object({
|
|
12118
|
+
configs: z73.array(slotSchema),
|
|
12119
|
+
has_available_queues: z73.boolean()
|
|
11610
12120
|
});
|
|
11611
|
-
var
|
|
12121
|
+
var TABLE_COLUMNS10 = [
|
|
11612
12122
|
{ header: "SLOT ID", cell: /* @__PURE__ */ __name((row) => row.config_id, "cell") },
|
|
11613
12123
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.integration_type, "cell") },
|
|
11614
12124
|
{ header: "QUEUES", cell: /* @__PURE__ */ __name((row) => String(row.linked_queue_count), "cell") },
|
|
@@ -11643,7 +12153,7 @@ function registerBuildIntegrationsCaseQueueSetup(buildIntegrations) {
|
|
|
11643
12153
|
console.log("No case-queue integration slots on this revision.");
|
|
11644
12154
|
return;
|
|
11645
12155
|
}
|
|
11646
|
-
console.log(renderTable(
|
|
12156
|
+
console.log(renderTable(TABLE_COLUMNS10, configs));
|
|
11647
12157
|
const unmapped = configs.filter((slot) => slot.linked_queue_count === 0);
|
|
11648
12158
|
if (unmapped.length > 0) {
|
|
11649
12159
|
console.log(
|
|
@@ -11662,7 +12172,7 @@ function registerBuildIntegrationsCaseQueueSetup(buildIntegrations) {
|
|
|
11662
12172
|
__name(registerBuildIntegrationsCaseQueueSetup, "registerBuildIntegrationsCaseQueueSetup");
|
|
11663
12173
|
|
|
11664
12174
|
// src/commands/build-integrations/connections-list.ts
|
|
11665
|
-
var
|
|
12175
|
+
var TABLE_COLUMNS11 = [
|
|
11666
12176
|
{
|
|
11667
12177
|
header: "CONNECTION ID",
|
|
11668
12178
|
cell: /* @__PURE__ */ __name((row) => row.connection_id, "cell")
|
|
@@ -11701,7 +12211,7 @@ function registerBuildIntegrationsConnectionsList(connections) {
|
|
|
11701
12211
|
console.log("No connections pinned to this slot.");
|
|
11702
12212
|
return;
|
|
11703
12213
|
}
|
|
11704
|
-
console.log(renderTable(
|
|
12214
|
+
console.log(renderTable(TABLE_COLUMNS11, rows));
|
|
11705
12215
|
console.log(`Showing ${rows.length}`);
|
|
11706
12216
|
}, "listAction"));
|
|
11707
12217
|
}
|
|
@@ -11771,7 +12281,7 @@ function registerBuildIntegrationsConnectionsUnpin(connections) {
|
|
|
11771
12281
|
__name(registerBuildIntegrationsConnectionsUnpin, "registerBuildIntegrationsConnectionsUnpin");
|
|
11772
12282
|
|
|
11773
12283
|
// src/commands/build-integrations/list.ts
|
|
11774
|
-
var
|
|
12284
|
+
var TABLE_COLUMNS12 = [
|
|
11775
12285
|
{
|
|
11776
12286
|
header: "INTEGRATION ID",
|
|
11777
12287
|
cell: /* @__PURE__ */ __name((row) => row.integration_id ?? row.custom_integration_id ?? "", "cell")
|
|
@@ -11811,14 +12321,14 @@ function registerBuildIntegrationsList(buildIntegrations) {
|
|
|
11811
12321
|
console.log("No integrations attached to this revision.");
|
|
11812
12322
|
return;
|
|
11813
12323
|
}
|
|
11814
|
-
console.log(renderTable(
|
|
12324
|
+
console.log(renderTable(TABLE_COLUMNS12, integrations));
|
|
11815
12325
|
console.log(`Showing ${integrations.length}`);
|
|
11816
12326
|
}, "listAction"));
|
|
11817
12327
|
}
|
|
11818
12328
|
__name(registerBuildIntegrationsList, "registerBuildIntegrationsList");
|
|
11819
12329
|
|
|
11820
12330
|
// src/commands/build-integrations/queues-list.ts
|
|
11821
|
-
var
|
|
12331
|
+
var TABLE_COLUMNS13 = [
|
|
11822
12332
|
{ header: "QUEUE ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
11823
12333
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") }
|
|
11824
12334
|
];
|
|
@@ -11850,14 +12360,14 @@ function registerBuildIntegrationsQueuesList(queues) {
|
|
|
11850
12360
|
console.log("No case queues linked to this integration slot.");
|
|
11851
12361
|
return;
|
|
11852
12362
|
}
|
|
11853
|
-
console.log(renderTable(
|
|
12363
|
+
console.log(renderTable(TABLE_COLUMNS13, parsed.data.queues));
|
|
11854
12364
|
console.log(`Showing ${parsed.data.queues.length}`);
|
|
11855
12365
|
}, "listAction"));
|
|
11856
12366
|
}
|
|
11857
12367
|
__name(registerBuildIntegrationsQueuesList, "registerBuildIntegrationsQueuesList");
|
|
11858
12368
|
|
|
11859
12369
|
// src/commands/build-integrations/queues-set.ts
|
|
11860
|
-
var
|
|
12370
|
+
var TABLE_COLUMNS14 = [
|
|
11861
12371
|
{ header: "QUEUE ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
11862
12372
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") }
|
|
11863
12373
|
];
|
|
@@ -11899,7 +12409,7 @@ function registerBuildIntegrationsQueuesSet(queues) {
|
|
|
11899
12409
|
green(`Linked ${parsed.data.queues.length} case queue(s) to the slot.`)
|
|
11900
12410
|
);
|
|
11901
12411
|
if (parsed.data.queues.length > 0) {
|
|
11902
|
-
console.log(renderTable(
|
|
12412
|
+
console.log(renderTable(TABLE_COLUMNS14, parsed.data.queues));
|
|
11903
12413
|
}
|
|
11904
12414
|
}, "setAction"));
|
|
11905
12415
|
}
|
|
@@ -11957,47 +12467,6 @@ function registerBuildIntegrations(program) {
|
|
|
11957
12467
|
}
|
|
11958
12468
|
__name(registerBuildIntegrations, "registerBuildIntegrations");
|
|
11959
12469
|
|
|
11960
|
-
// src/api/build-schemas.ts
|
|
11961
|
-
import { z as z73 } from "zod";
|
|
11962
|
-
|
|
11963
|
-
// src/api/json-value.ts
|
|
11964
|
-
import { z as z72 } from "zod";
|
|
11965
|
-
var jsonValueSchema = z72.lazy(
|
|
11966
|
-
() => z72.union([
|
|
11967
|
-
z72.string(),
|
|
11968
|
-
z72.number(),
|
|
11969
|
-
z72.boolean(),
|
|
11970
|
-
z72.null(),
|
|
11971
|
-
z72.array(jsonValueSchema),
|
|
11972
|
-
z72.record(z72.string(), jsonValueSchema)
|
|
11973
|
-
])
|
|
11974
|
-
);
|
|
11975
|
-
|
|
11976
|
-
// src/api/build-schemas.ts
|
|
11977
|
-
var publicBuildSchema2 = z73.object({
|
|
11978
|
-
id: z73.string(),
|
|
11979
|
-
agent_id: z73.string(),
|
|
11980
|
-
name: z73.string(),
|
|
11981
|
-
status: z73.string().nullish(),
|
|
11982
|
-
config: jsonValueSchema.nullish(),
|
|
11983
|
-
revision_number: z73.number().nullish(),
|
|
11984
|
-
created_at: z73.string().nullish(),
|
|
11985
|
-
updated_at: z73.string().nullish()
|
|
11986
|
-
});
|
|
11987
|
-
var listBuildsResponseSchema2 = z73.object({
|
|
11988
|
-
builds: z73.array(publicBuildSchema2),
|
|
11989
|
-
total: z73.number().nullish(),
|
|
11990
|
-
limit: z73.number().nullish(),
|
|
11991
|
-
offset: z73.number().nullish()
|
|
11992
|
-
});
|
|
11993
|
-
var getBuildResponseSchema = z73.object({
|
|
11994
|
-
build: publicBuildSchema2
|
|
11995
|
-
});
|
|
11996
|
-
var createBuildResponseSchema = z73.object({
|
|
11997
|
-
build: publicBuildSchema2,
|
|
11998
|
-
agent: z73.object({ id: z73.string() })
|
|
11999
|
-
});
|
|
12000
|
-
|
|
12001
12470
|
// src/commands/builds/create.ts
|
|
12002
12471
|
function registerBuildsCreate(builds) {
|
|
12003
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(
|
|
@@ -12089,7 +12558,7 @@ __name(registerBuildsGet, "registerBuildsGet");
|
|
|
12089
12558
|
var DEFAULT_LIMIT2 = 20;
|
|
12090
12559
|
var MIN_LIMIT2 = 1;
|
|
12091
12560
|
var MAX_LIMIT2 = 100;
|
|
12092
|
-
var
|
|
12561
|
+
var TABLE_COLUMNS15 = [
|
|
12093
12562
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
12094
12563
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
12095
12564
|
{
|
|
@@ -12132,7 +12601,7 @@ function registerBuildsList(builds) {
|
|
|
12132
12601
|
console.log("No revisions found.");
|
|
12133
12602
|
return;
|
|
12134
12603
|
}
|
|
12135
|
-
console.log(renderTable(
|
|
12604
|
+
console.log(renderTable(TABLE_COLUMNS15, response.builds));
|
|
12136
12605
|
const resolvedOffset = response.offset ?? offset;
|
|
12137
12606
|
const total = response.total ?? null;
|
|
12138
12607
|
const summary = total === null ? `Showing ${response.builds.length} \xB7 offset ${resolvedOffset}` : `Showing ${response.builds.length} of ${total} \xB7 offset ${resolvedOffset}`;
|
|
@@ -12603,7 +13072,7 @@ __name(fetchQueueCaseCount, "fetchQueueCaseCount");
|
|
|
12603
13072
|
|
|
12604
13073
|
// src/commands/cases/create.ts
|
|
12605
13074
|
import { readFile as readFile4 } from "node:fs/promises";
|
|
12606
|
-
var
|
|
13075
|
+
var TABLE_COLUMNS16 = [
|
|
12607
13076
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
12608
13077
|
{ header: "TITLE", cell: /* @__PURE__ */ __name((row) => row.title, "cell"), maxWidth: 50 },
|
|
12609
13078
|
{ header: "STATUS", cell: /* @__PURE__ */ __name((row) => row.status, "cell") }
|
|
@@ -12646,7 +13115,7 @@ function registerCasesCreate(cases) {
|
|
|
12646
13115
|
)
|
|
12647
13116
|
);
|
|
12648
13117
|
console.log();
|
|
12649
|
-
console.log(renderTable(
|
|
13118
|
+
console.log(renderTable(TABLE_COLUMNS16, addedCases));
|
|
12650
13119
|
}, "createAction"));
|
|
12651
13120
|
}
|
|
12652
13121
|
__name(registerCasesCreate, "registerCasesCreate");
|
|
@@ -12881,7 +13350,7 @@ __name(registerCasesGet, "registerCasesGet");
|
|
|
12881
13350
|
|
|
12882
13351
|
// src/commands/cases/labels.ts
|
|
12883
13352
|
var MAX_LABELS_PER_REQUEST = 50;
|
|
12884
|
-
var
|
|
13353
|
+
var TABLE_COLUMNS17 = [
|
|
12885
13354
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
12886
13355
|
{ header: "KEY", cell: /* @__PURE__ */ __name((row) => row.key, "cell") },
|
|
12887
13356
|
{ header: "VALUE", cell: /* @__PURE__ */ __name((row) => row.value, "cell") },
|
|
@@ -12911,7 +13380,7 @@ function registerCasesLabels(cases) {
|
|
|
12911
13380
|
console.log("No labels assigned.");
|
|
12912
13381
|
return;
|
|
12913
13382
|
}
|
|
12914
|
-
console.log(renderTable(
|
|
13383
|
+
console.log(renderTable(TABLE_COLUMNS17, parsed.data.labels));
|
|
12915
13384
|
console.log(`Showing ${parsed.data.labels.length}`);
|
|
12916
13385
|
}, "listAction"));
|
|
12917
13386
|
labels.command("assign <case-id>").description(
|
|
@@ -12951,7 +13420,7 @@ function registerCasesLabels(cases) {
|
|
|
12951
13420
|
);
|
|
12952
13421
|
}
|
|
12953
13422
|
console.log(green("Labels assigned!"));
|
|
12954
|
-
console.log(renderTable(
|
|
13423
|
+
console.log(renderTable(TABLE_COLUMNS17, parsed.data.labels));
|
|
12955
13424
|
}, "assignAction"));
|
|
12956
13425
|
labels.command("unlink <case-id>").description(
|
|
12957
13426
|
"Remove one or more labels from a case (by --label-id or --label key=value, for symmetry with assign)"
|
|
@@ -13069,7 +13538,7 @@ var MIN_LIMIT3 = 1;
|
|
|
13069
13538
|
var MAX_LIMIT3 = 100;
|
|
13070
13539
|
var SORT_FIELDS = ["created_at", "updated_at", "postponed_to"];
|
|
13071
13540
|
var SORT_ORDERS = ["asc", "desc"];
|
|
13072
|
-
var
|
|
13541
|
+
var TABLE_COLUMNS18 = [
|
|
13073
13542
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
13074
13543
|
{ header: "TITLE", cell: /* @__PURE__ */ __name((row) => row.title, "cell"), maxWidth: 50 },
|
|
13075
13544
|
{ header: "STATUS", cell: /* @__PURE__ */ __name((row) => row.status, "cell") },
|
|
@@ -13142,7 +13611,7 @@ function registerCasesList(cases) {
|
|
|
13142
13611
|
console.log("No cases found.");
|
|
13143
13612
|
return;
|
|
13144
13613
|
}
|
|
13145
|
-
console.log(renderTable(
|
|
13614
|
+
console.log(renderTable(TABLE_COLUMNS18, response.cases));
|
|
13146
13615
|
const resolvedOffset = response.offset ?? offset;
|
|
13147
13616
|
const total = response.total ?? null;
|
|
13148
13617
|
const summary = total === null ? `Showing ${response.cases.length} \xB7 offset ${resolvedOffset}` : `Showing ${response.cases.length} of ${total} \xB7 offset ${resolvedOffset}`;
|
|
@@ -14510,7 +14979,7 @@ __name(registerClarityGet, "registerClarityGet");
|
|
|
14510
14979
|
var DEFAULT_LIMIT5 = 20;
|
|
14511
14980
|
var MIN_LIMIT5 = 1;
|
|
14512
14981
|
var MAX_LIMIT5 = 100;
|
|
14513
|
-
var
|
|
14982
|
+
var TABLE_COLUMNS19 = [
|
|
14514
14983
|
{
|
|
14515
14984
|
header: "ID",
|
|
14516
14985
|
cell: /* @__PURE__ */ __name((row) => row.id, "cell")
|
|
@@ -14571,7 +15040,7 @@ function registerClarityListExtraCaptureRequests(clarity) {
|
|
|
14571
15040
|
console.log("No extra-capture requests found.");
|
|
14572
15041
|
return;
|
|
14573
15042
|
}
|
|
14574
|
-
console.log(renderTable(
|
|
15043
|
+
console.log(renderTable(TABLE_COLUMNS19, response.requests));
|
|
14575
15044
|
console.log(
|
|
14576
15045
|
`Showing ${response.requests.length} of ${response.total} \xB7 offset ${response.offset}`
|
|
14577
15046
|
);
|
|
@@ -16319,7 +16788,7 @@ function registerConnectionsGet(connections) {
|
|
|
16319
16788
|
__name(registerConnectionsGet, "registerConnectionsGet");
|
|
16320
16789
|
|
|
16321
16790
|
// src/commands/connections/list.ts
|
|
16322
|
-
var
|
|
16791
|
+
var TABLE_COLUMNS20 = [
|
|
16323
16792
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
16324
16793
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
16325
16794
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
@@ -16359,7 +16828,7 @@ function registerConnectionsList(connections) {
|
|
|
16359
16828
|
console.log("No connections found.");
|
|
16360
16829
|
return;
|
|
16361
16830
|
}
|
|
16362
|
-
console.log(renderTable(
|
|
16831
|
+
console.log(renderTable(TABLE_COLUMNS20, rows));
|
|
16363
16832
|
console.log(`Showing ${rows.length}`);
|
|
16364
16833
|
}, "listAction"));
|
|
16365
16834
|
}
|
|
@@ -16378,7 +16847,7 @@ var probeResponseSchema = z80.object({
|
|
|
16378
16847
|
error: z80.string().optional()
|
|
16379
16848
|
});
|
|
16380
16849
|
var DESCRIPTION_MAX_WIDTH = 80;
|
|
16381
|
-
var
|
|
16850
|
+
var TABLE_COLUMNS21 = [
|
|
16382
16851
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
16383
16852
|
{
|
|
16384
16853
|
header: "DESCRIPTION",
|
|
@@ -16438,7 +16907,7 @@ function registerConnectionsProbe(connections) {
|
|
|
16438
16907
|
console.log("No tools found.");
|
|
16439
16908
|
return;
|
|
16440
16909
|
}
|
|
16441
|
-
console.log(renderTable(
|
|
16910
|
+
console.log(renderTable(TABLE_COLUMNS21, tools));
|
|
16442
16911
|
console.log(
|
|
16443
16912
|
`Showing ${tools.length} tool${tools.length === 1 ? "" : "s"}`
|
|
16444
16913
|
);
|
|
@@ -16829,7 +17298,7 @@ function registerCredentialsGet(credentials) {
|
|
|
16829
17298
|
__name(registerCredentialsGet, "registerCredentialsGet");
|
|
16830
17299
|
|
|
16831
17300
|
// src/commands/credentials/list.ts
|
|
16832
|
-
var
|
|
17301
|
+
var TABLE_COLUMNS22 = [
|
|
16833
17302
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
16834
17303
|
{ header: "DOMAIN", cell: /* @__PURE__ */ __name((row) => row.domain, "cell") },
|
|
16835
17304
|
{
|
|
@@ -16888,7 +17357,7 @@ function registerCredentialsList(credentials) {
|
|
|
16888
17357
|
console.log("No credentials found.");
|
|
16889
17358
|
return;
|
|
16890
17359
|
}
|
|
16891
|
-
console.log(renderTable(
|
|
17360
|
+
console.log(renderTable(TABLE_COLUMNS22, rows));
|
|
16892
17361
|
console.log(`Showing ${rows.length}`);
|
|
16893
17362
|
}, "listAction"));
|
|
16894
17363
|
}
|
|
@@ -17168,7 +17637,7 @@ function registerFilesDownloadUrl(files) {
|
|
|
17168
17637
|
__name(registerFilesDownloadUrl, "registerFilesDownloadUrl");
|
|
17169
17638
|
|
|
17170
17639
|
// src/commands/files/list.ts
|
|
17171
|
-
var
|
|
17640
|
+
var TABLE_COLUMNS23 = [
|
|
17172
17641
|
{ header: "PATH", cell: /* @__PURE__ */ __name((row) => row.path, "cell") },
|
|
17173
17642
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
17174
17643
|
{
|
|
@@ -17211,7 +17680,7 @@ function registerFilesList(files) {
|
|
|
17211
17680
|
console.log("No files found.");
|
|
17212
17681
|
return;
|
|
17213
17682
|
}
|
|
17214
|
-
console.log(renderTable(
|
|
17683
|
+
console.log(renderTable(TABLE_COLUMNS23, parsed.data.files));
|
|
17215
17684
|
console.log(`Showing ${parsed.data.files.length}`);
|
|
17216
17685
|
}, "listAction"));
|
|
17217
17686
|
}
|
|
@@ -17473,7 +17942,7 @@ function registerIntegrationsCustom(integrations) {
|
|
|
17473
17942
|
__name(registerIntegrationsCustom, "registerIntegrationsCustom");
|
|
17474
17943
|
|
|
17475
17944
|
// src/commands/integrations/list.ts
|
|
17476
|
-
var
|
|
17945
|
+
var TABLE_COLUMNS24 = [
|
|
17477
17946
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
17478
17947
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
17479
17948
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
@@ -17515,7 +17984,7 @@ function registerIntegrationsList(integrations) {
|
|
|
17515
17984
|
console.log("No integrations found.");
|
|
17516
17985
|
return;
|
|
17517
17986
|
}
|
|
17518
|
-
console.log(renderTable(
|
|
17987
|
+
console.log(renderTable(TABLE_COLUMNS24, rows));
|
|
17519
17988
|
console.log(`Showing ${rows.length}`);
|
|
17520
17989
|
}, "listAction"));
|
|
17521
17990
|
}
|
|
@@ -17532,7 +18001,7 @@ function registerIntegrations(program) {
|
|
|
17532
18001
|
__name(registerIntegrations, "registerIntegrations");
|
|
17533
18002
|
|
|
17534
18003
|
// src/commands/login.ts
|
|
17535
|
-
import { isCancel as
|
|
18004
|
+
import { isCancel as isCancel4, password, spinner, text as text2 } from "@clack/prompts";
|
|
17536
18005
|
|
|
17537
18006
|
// src/oauth/auth0-config.ts
|
|
17538
18007
|
var BAKED_DOMAIN = "login.duvo.ai" ? "login.duvo.ai" : "login.dev.duvo.ai";
|
|
@@ -17924,7 +18393,7 @@ async function resolveProfileName(flag, existingCount) {
|
|
|
17924
18393
|
return void 0;
|
|
17925
18394
|
}, "validate")
|
|
17926
18395
|
});
|
|
17927
|
-
if (
|
|
18396
|
+
if (isCancel4(answer)) {
|
|
17928
18397
|
throw new CancelCliError("Login cancelled.");
|
|
17929
18398
|
}
|
|
17930
18399
|
return answer;
|
|
@@ -17943,7 +18412,7 @@ async function resolveApiKey(flag) {
|
|
|
17943
18412
|
return void 0;
|
|
17944
18413
|
}, "validate")
|
|
17945
18414
|
});
|
|
17946
|
-
if (
|
|
18415
|
+
if (isCancel4(answer)) {
|
|
17947
18416
|
throw new CancelCliError("Login cancelled.");
|
|
17948
18417
|
}
|
|
17949
18418
|
return answer;
|
|
@@ -18354,7 +18823,7 @@ function parseHeaders(raw) {
|
|
|
18354
18823
|
return result;
|
|
18355
18824
|
}
|
|
18356
18825
|
__name(parseHeaders, "parseHeaders");
|
|
18357
|
-
var
|
|
18826
|
+
var TABLE_COLUMNS25 = [
|
|
18358
18827
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
18359
18828
|
{ header: "DESCRIPTION", cell: /* @__PURE__ */ __name((row) => row.description, "cell") }
|
|
18360
18829
|
];
|
|
@@ -18412,7 +18881,7 @@ function registerOauthMcpProbe(mcp) {
|
|
|
18412
18881
|
console.log("No tools advertised by this MCP server.");
|
|
18413
18882
|
return;
|
|
18414
18883
|
}
|
|
18415
|
-
console.log(renderTable(
|
|
18884
|
+
console.log(renderTable(TABLE_COLUMNS25, rows));
|
|
18416
18885
|
console.log(`Showing ${rows.length}`);
|
|
18417
18886
|
}, "probeMcpAction"));
|
|
18418
18887
|
}
|
|
@@ -18494,7 +18963,7 @@ function registerOauth(program) {
|
|
|
18494
18963
|
__name(registerOauth, "registerOauth");
|
|
18495
18964
|
|
|
18496
18965
|
// src/commands/plugins/list.ts
|
|
18497
|
-
var
|
|
18966
|
+
var TABLE_COLUMNS26 = [
|
|
18498
18967
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
18499
18968
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
18500
18969
|
{
|
|
@@ -18528,7 +18997,7 @@ function registerPluginsList(plugins) {
|
|
|
18528
18997
|
console.log("No plugins found.");
|
|
18529
18998
|
return;
|
|
18530
18999
|
}
|
|
18531
|
-
console.log(renderTable(
|
|
19000
|
+
console.log(renderTable(TABLE_COLUMNS26, parsed.data.plugins));
|
|
18532
19001
|
console.log(`Showing ${parsed.data.plugins.length}`);
|
|
18533
19002
|
}, "listAction"));
|
|
18534
19003
|
}
|
|
@@ -18565,12 +19034,12 @@ function padRight(value, width) {
|
|
|
18565
19034
|
__name(padRight, "padRight");
|
|
18566
19035
|
|
|
18567
19036
|
// src/commands/profiles/render-list.ts
|
|
18568
|
-
var
|
|
19037
|
+
var DEFAULT_MARKER2 = "\u25B6";
|
|
18569
19038
|
var NON_DEFAULT_MARKER = " ";
|
|
18570
19039
|
var COLUMNS = [
|
|
18571
19040
|
{
|
|
18572
19041
|
header: "",
|
|
18573
|
-
cell: /* @__PURE__ */ __name((item) => item.isDefault ?
|
|
19042
|
+
cell: /* @__PURE__ */ __name((item) => item.isDefault ? DEFAULT_MARKER2 : NON_DEFAULT_MARKER, "cell")
|
|
18574
19043
|
},
|
|
18575
19044
|
{ header: "NAME", cell: /* @__PURE__ */ __name((item) => item.name, "cell") },
|
|
18576
19045
|
{
|
|
@@ -18653,7 +19122,7 @@ function registerRename(profiles) {
|
|
|
18653
19122
|
__name(registerRename, "registerRename");
|
|
18654
19123
|
|
|
18655
19124
|
// src/commands/profiles/use.ts
|
|
18656
|
-
import { isCancel as
|
|
19125
|
+
import { isCancel as isCancel5, select as select2 } from "@clack/prompts";
|
|
18657
19126
|
var NAME_HEADER = "NAME";
|
|
18658
19127
|
function registerUse(profiles) {
|
|
18659
19128
|
profiles.command("use [name]").description(
|
|
@@ -18685,12 +19154,12 @@ async function pickProfileInteractively(config) {
|
|
|
18685
19154
|
);
|
|
18686
19155
|
}
|
|
18687
19156
|
const options = buildPickerOptions(profiles);
|
|
18688
|
-
const answer = await
|
|
19157
|
+
const answer = await select2({
|
|
18689
19158
|
message: "Select default profile",
|
|
18690
19159
|
initialValue: config.defaultProfile ?? profiles[0].name,
|
|
18691
19160
|
options
|
|
18692
19161
|
});
|
|
18693
|
-
if (
|
|
19162
|
+
if (isCancel5(answer)) {
|
|
18694
19163
|
throw new CancelCliError("Profile switch cancelled.");
|
|
18695
19164
|
}
|
|
18696
19165
|
return answer;
|
|
@@ -18705,7 +19174,7 @@ function buildPickerOptions(profiles) {
|
|
|
18705
19174
|
...profiles.map((profile) => profile.name.length)
|
|
18706
19175
|
);
|
|
18707
19176
|
return profiles.map((profile, index) => {
|
|
18708
|
-
const marker = profile.isDefault ?
|
|
19177
|
+
const marker = profile.isDefault ? DEFAULT_MARKER2 : NON_DEFAULT_MARKER;
|
|
18709
19178
|
const label = `${marker} ${padRight(profile.name, nameWidth)} ${maskedKeys[index]}`;
|
|
18710
19179
|
return {
|
|
18711
19180
|
value: profile.name,
|
|
@@ -18726,7 +19195,7 @@ function registerProfiles(program) {
|
|
|
18726
19195
|
__name(registerProfiles, "registerProfiles");
|
|
18727
19196
|
|
|
18728
19197
|
// src/commands/queue-labels/index.ts
|
|
18729
|
-
var
|
|
19198
|
+
var TABLE_COLUMNS27 = [
|
|
18730
19199
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
18731
19200
|
{ header: "KEY", cell: /* @__PURE__ */ __name((row) => row.key, "cell") },
|
|
18732
19201
|
{ header: "VALUE", cell: /* @__PURE__ */ __name((row) => row.value, "cell") },
|
|
@@ -18780,7 +19249,7 @@ function registerList3(labels) {
|
|
|
18780
19249
|
console.log("No labels defined on this queue.");
|
|
18781
19250
|
return;
|
|
18782
19251
|
}
|
|
18783
|
-
console.log(renderTable(
|
|
19252
|
+
console.log(renderTable(TABLE_COLUMNS27, parsed.data.labels));
|
|
18784
19253
|
console.log(`Showing ${parsed.data.labels.length}`);
|
|
18785
19254
|
}, "listAction"));
|
|
18786
19255
|
}
|
|
@@ -19534,7 +20003,7 @@ __name(registerQueuesLinkAgent, "registerQueuesLinkAgent");
|
|
|
19534
20003
|
var DEFAULT_LIMIT7 = 20;
|
|
19535
20004
|
var MIN_LIMIT7 = 1;
|
|
19536
20005
|
var MAX_LIMIT7 = 100;
|
|
19537
|
-
var
|
|
20006
|
+
var TABLE_COLUMNS28 = [
|
|
19538
20007
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
19539
20008
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
19540
20009
|
{
|
|
@@ -19582,7 +20051,7 @@ function registerQueuesList(queues) {
|
|
|
19582
20051
|
console.log("No queues found.");
|
|
19583
20052
|
return;
|
|
19584
20053
|
}
|
|
19585
|
-
console.log(renderTable(
|
|
20054
|
+
console.log(renderTable(TABLE_COLUMNS28, response.queues));
|
|
19586
20055
|
const resolvedOffset = response.offset ?? offset;
|
|
19587
20056
|
const total = response.total ?? null;
|
|
19588
20057
|
const summary = total === null ? `Showing ${response.queues.length} \xB7 offset ${resolvedOffset}` : `Showing ${response.queues.length} of ${total} \xB7 offset ${resolvedOffset}`;
|
|
@@ -19840,7 +20309,7 @@ function registerRevisionLoginsDetach(revisionLogins) {
|
|
|
19840
20309
|
__name(registerRevisionLoginsDetach, "registerRevisionLoginsDetach");
|
|
19841
20310
|
|
|
19842
20311
|
// src/commands/revision-logins/list.ts
|
|
19843
|
-
var
|
|
20312
|
+
var TABLE_COLUMNS29 = [
|
|
19844
20313
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
19845
20314
|
{ header: "DOMAIN", cell: /* @__PURE__ */ __name((row) => row.domain, "cell") },
|
|
19846
20315
|
{
|
|
@@ -19876,7 +20345,7 @@ function registerRevisionLoginsList(revisionLogins) {
|
|
|
19876
20345
|
console.log("No browser logins attached to this revision.");
|
|
19877
20346
|
return;
|
|
19878
20347
|
}
|
|
19879
|
-
console.log(renderTable(
|
|
20348
|
+
console.log(renderTable(TABLE_COLUMNS29, rows));
|
|
19880
20349
|
console.log(`Showing ${rows.length}`);
|
|
19881
20350
|
}, "listAction"));
|
|
19882
20351
|
}
|
|
@@ -19949,7 +20418,7 @@ function registerRevisionSecretsDetach(revisionSecrets) {
|
|
|
19949
20418
|
__name(registerRevisionSecretsDetach, "registerRevisionSecretsDetach");
|
|
19950
20419
|
|
|
19951
20420
|
// src/commands/revision-secrets/list.ts
|
|
19952
|
-
var
|
|
20421
|
+
var TABLE_COLUMNS30 = [
|
|
19953
20422
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
19954
20423
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
19955
20424
|
{
|
|
@@ -19987,7 +20456,7 @@ function registerRevisionSecretsList(revisionSecrets) {
|
|
|
19987
20456
|
console.log("No secrets attached to this revision.");
|
|
19988
20457
|
return;
|
|
19989
20458
|
}
|
|
19990
|
-
console.log(renderTable(
|
|
20459
|
+
console.log(renderTable(TABLE_COLUMNS30, rows));
|
|
19991
20460
|
console.log(`Showing ${rows.length}`);
|
|
19992
20461
|
}, "listAction"));
|
|
19993
20462
|
}
|
|
@@ -20156,7 +20625,7 @@ var MAX_LIMIT8 = 100;
|
|
|
20156
20625
|
var SORT_ORDERS2 = ["asc", "desc"];
|
|
20157
20626
|
var HAS_ISSUES_VALUES = ["true", "false"];
|
|
20158
20627
|
var TITLE_PREVIEW_WIDTH = 50;
|
|
20159
|
-
var
|
|
20628
|
+
var TABLE_COLUMNS31 = [
|
|
20160
20629
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
20161
20630
|
{ header: "RUN#", cell: /* @__PURE__ */ __name((row) => String(row.run_number), "cell") },
|
|
20162
20631
|
{ header: "STATUS", cell: /* @__PURE__ */ __name((row) => row.status, "cell") },
|
|
@@ -20257,7 +20726,7 @@ function registerRunsList(runs) {
|
|
|
20257
20726
|
console.log("No runs found.");
|
|
20258
20727
|
return;
|
|
20259
20728
|
}
|
|
20260
|
-
console.log(renderTable(
|
|
20729
|
+
console.log(renderTable(TABLE_COLUMNS31, response.data));
|
|
20261
20730
|
console.log(
|
|
20262
20731
|
`Showing ${response.data.length} of ${response.total} \xB7 offset ${offset}`
|
|
20263
20732
|
);
|
|
@@ -20367,7 +20836,7 @@ var DEFAULT_LIMIT9 = 20;
|
|
|
20367
20836
|
var MIN_LIMIT9 = 1;
|
|
20368
20837
|
var MAX_LIMIT9 = 50;
|
|
20369
20838
|
var TEXT_PREVIEW_WIDTH2 = 60;
|
|
20370
|
-
var
|
|
20839
|
+
var TABLE_COLUMNS32 = [
|
|
20371
20840
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
20372
20841
|
{ header: "ROLE", cell: /* @__PURE__ */ __name((row) => row.role, "cell") },
|
|
20373
20842
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
@@ -20432,7 +20901,7 @@ function registerRunsMessages(runs) {
|
|
|
20432
20901
|
console.log("No messages found.");
|
|
20433
20902
|
return;
|
|
20434
20903
|
}
|
|
20435
|
-
console.log(renderTable(
|
|
20904
|
+
console.log(renderTable(TABLE_COLUMNS32, response.messages));
|
|
20436
20905
|
const resolvedOffset = response.offset ?? offset;
|
|
20437
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}`;
|
|
20438
20907
|
console.log(summary);
|
|
@@ -20757,7 +21226,7 @@ function registerSandboxesCreate(sandboxes) {
|
|
|
20757
21226
|
__name(registerSandboxesCreate, "registerSandboxesCreate");
|
|
20758
21227
|
|
|
20759
21228
|
// src/commands/sandboxes/files.ts
|
|
20760
|
-
var
|
|
21229
|
+
var TABLE_COLUMNS33 = [
|
|
20761
21230
|
{ header: "TYPE", cell: /* @__PURE__ */ __name((row) => row.type, "cell") },
|
|
20762
21231
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
20763
21232
|
{ header: "PATH", cell: /* @__PURE__ */ __name((row) => row.path, "cell") },
|
|
@@ -20795,7 +21264,7 @@ function registerSandboxesFiles(sandboxes) {
|
|
|
20795
21264
|
console.log("No files found.");
|
|
20796
21265
|
return;
|
|
20797
21266
|
}
|
|
20798
|
-
console.log(renderTable(
|
|
21267
|
+
console.log(renderTable(TABLE_COLUMNS33, files));
|
|
20799
21268
|
console.log(`Showing ${files.length}`);
|
|
20800
21269
|
}, "filesAction"));
|
|
20801
21270
|
}
|
|
@@ -21140,7 +21609,7 @@ function registerSecretsGet(secrets) {
|
|
|
21140
21609
|
__name(registerSecretsGet, "registerSecretsGet");
|
|
21141
21610
|
|
|
21142
21611
|
// src/commands/secrets/list.ts
|
|
21143
|
-
var
|
|
21612
|
+
var TABLE_COLUMNS34 = [
|
|
21144
21613
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
21145
21614
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
21146
21615
|
{
|
|
@@ -21184,7 +21653,7 @@ function registerSecretsList(secrets) {
|
|
|
21184
21653
|
console.log("No secrets found.");
|
|
21185
21654
|
return;
|
|
21186
21655
|
}
|
|
21187
|
-
console.log(renderTable(
|
|
21656
|
+
console.log(renderTable(TABLE_COLUMNS34, rows));
|
|
21188
21657
|
console.log(`Showing ${rows.length}`);
|
|
21189
21658
|
}, "listAction"));
|
|
21190
21659
|
}
|
|
@@ -21295,7 +21764,7 @@ function registerSecrets(program) {
|
|
|
21295
21764
|
__name(registerSecrets, "registerSecrets");
|
|
21296
21765
|
|
|
21297
21766
|
// src/commands/skills/assignments.ts
|
|
21298
|
-
var
|
|
21767
|
+
var TABLE_COLUMNS35 = [
|
|
21299
21768
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
21300
21769
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") }
|
|
21301
21770
|
];
|
|
@@ -21323,7 +21792,7 @@ function registerSkillsAssignments(skills) {
|
|
|
21323
21792
|
console.log("No assignments use this skill.");
|
|
21324
21793
|
return;
|
|
21325
21794
|
}
|
|
21326
|
-
console.log(renderTable(
|
|
21795
|
+
console.log(renderTable(TABLE_COLUMNS35, assignments));
|
|
21327
21796
|
console.log(`Showing ${assignments.length} of ${total}`);
|
|
21328
21797
|
}, "assignmentsAction"));
|
|
21329
21798
|
}
|
|
@@ -21605,7 +22074,7 @@ function readContent2(options) {
|
|
|
21605
22074
|
__name(readContent2, "readContent");
|
|
21606
22075
|
|
|
21607
22076
|
// src/commands/skills/files.ts
|
|
21608
|
-
var
|
|
22077
|
+
var TABLE_COLUMNS36 = [
|
|
21609
22078
|
{ header: "PATH", cell: /* @__PURE__ */ __name((row) => row.path, "cell") },
|
|
21610
22079
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name, "cell") },
|
|
21611
22080
|
{
|
|
@@ -21644,7 +22113,7 @@ function registerSkillsFiles(skills) {
|
|
|
21644
22113
|
console.log("No files found.");
|
|
21645
22114
|
return;
|
|
21646
22115
|
}
|
|
21647
|
-
console.log(renderTable(
|
|
22116
|
+
console.log(renderTable(TABLE_COLUMNS36, parsed.data.files));
|
|
21648
22117
|
console.log(`Showing ${parsed.data.files.length}`);
|
|
21649
22118
|
}, "filesAction"));
|
|
21650
22119
|
}
|
|
@@ -22058,7 +22527,7 @@ __name(registerTeamGet, "registerTeamGet");
|
|
|
22058
22527
|
var DEFAULT_LIMIT10 = 50;
|
|
22059
22528
|
var MIN_LIMIT10 = 1;
|
|
22060
22529
|
var MAX_LIMIT10 = 100;
|
|
22061
|
-
var
|
|
22530
|
+
var TABLE_COLUMNS37 = [
|
|
22062
22531
|
{ header: "ID", cell: /* @__PURE__ */ __name((row) => row.id, "cell") },
|
|
22063
22532
|
{ header: "NAME", cell: /* @__PURE__ */ __name((row) => row.name ?? "", "cell") },
|
|
22064
22533
|
{ header: "EMAIL", cell: /* @__PURE__ */ __name((row) => row.email, "cell") },
|
|
@@ -22109,7 +22578,7 @@ function registerTeamMembers(team) {
|
|
|
22109
22578
|
console.log("No members found.");
|
|
22110
22579
|
return;
|
|
22111
22580
|
}
|
|
22112
|
-
console.log(renderTable(
|
|
22581
|
+
console.log(renderTable(TABLE_COLUMNS37, response.members));
|
|
22113
22582
|
console.log(
|
|
22114
22583
|
`Showing ${response.members.length} of ${response.total} \xB7 offset ${response.offset}`
|
|
22115
22584
|
);
|
|
@@ -22307,7 +22776,7 @@ __name(resolveActiveTeamId, "resolveActiveTeamId");
|
|
|
22307
22776
|
var version = resolveVersion();
|
|
22308
22777
|
function resolveVersion() {
|
|
22309
22778
|
if (true) {
|
|
22310
|
-
return "1.
|
|
22779
|
+
return "1.3.0";
|
|
22311
22780
|
}
|
|
22312
22781
|
const packageJsonPath = join2(
|
|
22313
22782
|
dirname2(fileURLToPath(import.meta.url)),
|
|
@@ -22376,7 +22845,7 @@ function checkForUpdate() {
|
|
|
22376
22845
|
__name(checkForUpdate, "checkForUpdate");
|
|
22377
22846
|
function loadPackageMeta() {
|
|
22378
22847
|
if (true) {
|
|
22379
|
-
return { name: "@duvoai/cli", version: "1.
|
|
22848
|
+
return { name: "@duvoai/cli", version: "1.3.0" };
|
|
22380
22849
|
}
|
|
22381
22850
|
const require2 = createRequire(import.meta.url);
|
|
22382
22851
|
const raw = require2("../package.json");
|