@vm0/cli 9.122.8 → 9.122.9
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.
|
@@ -73642,7 +73642,7 @@ if (DSN) {
|
|
|
73642
73642
|
init2({
|
|
73643
73643
|
dsn: DSN,
|
|
73644
73644
|
environment: process.env.SENTRY_ENVIRONMENT ?? "production",
|
|
73645
|
-
release: "9.122.
|
|
73645
|
+
release: "9.122.9",
|
|
73646
73646
|
sendDefaultPii: false,
|
|
73647
73647
|
tracesSampleRate: 0,
|
|
73648
73648
|
shutdownTimeout: 500,
|
|
@@ -73661,7 +73661,7 @@ if (DSN) {
|
|
|
73661
73661
|
}
|
|
73662
73662
|
});
|
|
73663
73663
|
setContext("cli", {
|
|
73664
|
-
version: "9.122.
|
|
73664
|
+
version: "9.122.9",
|
|
73665
73665
|
command: process.argv.slice(2).join(" ")
|
|
73666
73666
|
});
|
|
73667
73667
|
setContext("runtime", {
|
|
@@ -108474,6 +108474,78 @@ init_esm_shims();
|
|
|
108474
108474
|
|
|
108475
108475
|
// ../../packages/core/src/contracts/firewalls.ts
|
|
108476
108476
|
init_esm_shims();
|
|
108477
|
+
|
|
108478
|
+
// ../../packages/core/src/contracts/segment-parser.ts
|
|
108479
|
+
init_esm_shims();
|
|
108480
|
+
var ERROR_HINT = 'use "{name}", "prefix{name}", "{name}suffix", or "prefix{name}suffix"';
|
|
108481
|
+
function parseSegment(seg) {
|
|
108482
|
+
const openCount = countChar(seg, "{");
|
|
108483
|
+
const closeCount = countChar(seg, "}");
|
|
108484
|
+
if (openCount === 0 && closeCount === 0) {
|
|
108485
|
+
return { kind: "literal", value: seg };
|
|
108486
|
+
}
|
|
108487
|
+
if (openCount !== closeCount) {
|
|
108488
|
+
return {
|
|
108489
|
+
kind: "error",
|
|
108490
|
+
reason: `unbalanced brace in segment "${seg}" \u2014 ${ERROR_HINT}`
|
|
108491
|
+
};
|
|
108492
|
+
}
|
|
108493
|
+
const open1 = seg.indexOf("{");
|
|
108494
|
+
const close1 = seg.indexOf("}");
|
|
108495
|
+
if (close1 < open1) {
|
|
108496
|
+
return {
|
|
108497
|
+
kind: "error",
|
|
108498
|
+
reason: `unbalanced brace in segment "${seg}" \u2014 ${ERROR_HINT}`
|
|
108499
|
+
};
|
|
108500
|
+
}
|
|
108501
|
+
if (openCount >= 2) {
|
|
108502
|
+
const open2 = seg.indexOf("{", close1 + 1);
|
|
108503
|
+
if (close1 + 1 === open2) {
|
|
108504
|
+
return {
|
|
108505
|
+
kind: "error",
|
|
108506
|
+
reason: `adjacent parameters in segment "${seg}" \u2014 only one parameter per segment is allowed; ${ERROR_HINT}`
|
|
108507
|
+
};
|
|
108508
|
+
}
|
|
108509
|
+
return {
|
|
108510
|
+
kind: "error",
|
|
108511
|
+
reason: `literal-separated parameters in segment "${seg}" \u2014 only one parameter per segment is allowed; ${ERROR_HINT}`
|
|
108512
|
+
};
|
|
108513
|
+
}
|
|
108514
|
+
const prefix = seg.slice(0, open1);
|
|
108515
|
+
const content = seg.slice(open1 + 1, close1);
|
|
108516
|
+
const suffix = seg.slice(close1 + 1);
|
|
108517
|
+
if (prefix.includes("{") || prefix.includes("}") || suffix.includes("{") || suffix.includes("}")) {
|
|
108518
|
+
return {
|
|
108519
|
+
kind: "error",
|
|
108520
|
+
reason: `unbalanced brace in segment "${seg}" \u2014 ${ERROR_HINT}`
|
|
108521
|
+
};
|
|
108522
|
+
}
|
|
108523
|
+
let greedy = "";
|
|
108524
|
+
let name = content;
|
|
108525
|
+
if (content.length > 0) {
|
|
108526
|
+
const last = content[content.length - 1];
|
|
108527
|
+
if (last === "+" || last === "*") {
|
|
108528
|
+
greedy = last;
|
|
108529
|
+
name = content.slice(0, -1);
|
|
108530
|
+
}
|
|
108531
|
+
}
|
|
108532
|
+
if (name.length === 0) {
|
|
108533
|
+
return {
|
|
108534
|
+
kind: "error",
|
|
108535
|
+
reason: `empty parameter name in segment "${seg}" \u2014 ${ERROR_HINT}`
|
|
108536
|
+
};
|
|
108537
|
+
}
|
|
108538
|
+
return { kind: "param", prefix, name, suffix, greedy };
|
|
108539
|
+
}
|
|
108540
|
+
function countChar(s, ch) {
|
|
108541
|
+
let n = 0;
|
|
108542
|
+
for (let i = 0; i < s.length; i++) {
|
|
108543
|
+
if (s[i] === ch) n++;
|
|
108544
|
+
}
|
|
108545
|
+
return n;
|
|
108546
|
+
}
|
|
108547
|
+
|
|
108548
|
+
// ../../packages/core/src/contracts/firewalls.ts
|
|
108477
108549
|
var firewallPermissionSchema = external_exports.object({
|
|
108478
108550
|
name: external_exports.string(),
|
|
108479
108551
|
description: external_exports.string().optional(),
|
|
@@ -110721,7 +110793,14 @@ var chatThreadListItemSchema = external_exports.object({
|
|
|
110721
110793
|
* Threads whose last message is archived are filtered out server-side.
|
|
110722
110794
|
*/
|
|
110723
110795
|
isRead: external_exports.boolean(),
|
|
110724
|
-
isArchived: external_exports.boolean()
|
|
110796
|
+
isArchived: external_exports.boolean(),
|
|
110797
|
+
/**
|
|
110798
|
+
* True when the thread has at least one non-terminal run
|
|
110799
|
+
* (queued / pending / running). Drives the sidebar running indicator,
|
|
110800
|
+
* which is mutually exclusive with the unread dot and shares the
|
|
110801
|
+
* `ChatThreadReadIndicator` feature switch gate.
|
|
110802
|
+
*/
|
|
110803
|
+
running: external_exports.boolean()
|
|
110725
110804
|
});
|
|
110726
110805
|
var toolSummaryEntrySchema = external_exports.object({
|
|
110727
110806
|
kind: external_exports.literal("tool"),
|
|
@@ -110915,8 +110994,7 @@ var chatThreadMessagesContract = c11.router({
|
|
|
110915
110994
|
}),
|
|
110916
110995
|
responses: {
|
|
110917
110996
|
200: external_exports.object({
|
|
110918
|
-
messages: external_exports.array(pagedChatMessageSchema)
|
|
110919
|
-
hasMore: external_exports.boolean()
|
|
110997
|
+
messages: external_exports.array(pagedChatMessageSchema)
|
|
110920
110998
|
}),
|
|
110921
110999
|
401: apiErrorSchema,
|
|
110922
111000
|
404: apiErrorSchema
|
|
@@ -111269,32 +111347,45 @@ var MAX_RESPONSE_SIZE = 128 * 1024;
|
|
|
111269
111347
|
|
|
111270
111348
|
// ../../packages/core/src/contracts/firewall-rule-matcher.ts
|
|
111271
111349
|
init_esm_shims();
|
|
111272
|
-
|
|
111350
|
+
function matchMixedSegment(runtime, prefix, suffix) {
|
|
111351
|
+
if (!runtime.startsWith(prefix)) return null;
|
|
111352
|
+
if (!runtime.endsWith(suffix)) return null;
|
|
111353
|
+
if (runtime.length <= prefix.length + suffix.length) return null;
|
|
111354
|
+
return runtime.slice(prefix.length, runtime.length - suffix.length);
|
|
111355
|
+
}
|
|
111273
111356
|
function matchFirewallPath(path3, pattern) {
|
|
111274
111357
|
const pathSegs = path3.split("/").filter(Boolean);
|
|
111275
111358
|
const patternSegs = pattern.split("/").filter(Boolean);
|
|
111276
111359
|
const params = {};
|
|
111277
111360
|
let pi = 0;
|
|
111278
111361
|
for (const seg of patternSegs) {
|
|
111279
|
-
const
|
|
111280
|
-
if (
|
|
111281
|
-
|
|
111282
|
-
if (
|
|
111283
|
-
if (pi >= pathSegs.length) return null;
|
|
111284
|
-
params[name.slice(0, -1)] = pathSegs.slice(pi).join("/");
|
|
111285
|
-
return params;
|
|
111286
|
-
}
|
|
111287
|
-
if (name.endsWith("*")) {
|
|
111288
|
-
params[name.slice(0, -1)] = pathSegs.slice(pi).join("/");
|
|
111289
|
-
return params;
|
|
111290
|
-
}
|
|
111291
|
-
if (pi >= pathSegs.length) return null;
|
|
111292
|
-
params[name] = pathSegs[pi];
|
|
111362
|
+
const parsed = parseSegment(seg);
|
|
111363
|
+
if (parsed.kind === "error") return null;
|
|
111364
|
+
if (parsed.kind === "literal") {
|
|
111365
|
+
if (pi >= pathSegs.length || pathSegs[pi] !== parsed.value) return null;
|
|
111293
111366
|
pi++;
|
|
111367
|
+
continue;
|
|
111368
|
+
}
|
|
111369
|
+
const { name, prefix, suffix, greedy } = parsed;
|
|
111370
|
+
if (greedy === "+") {
|
|
111371
|
+
if (pi >= pathSegs.length) return null;
|
|
111372
|
+
params[name] = pathSegs.slice(pi).join("/");
|
|
111373
|
+
return params;
|
|
111374
|
+
}
|
|
111375
|
+
if (greedy === "*") {
|
|
111376
|
+
params[name] = pathSegs.slice(pi).join("/");
|
|
111377
|
+
return params;
|
|
111378
|
+
}
|
|
111379
|
+
if (pi >= pathSegs.length) return null;
|
|
111380
|
+
const runtime = pathSegs[pi];
|
|
111381
|
+
if (prefix === "" && suffix === "") {
|
|
111382
|
+
params[name] = runtime;
|
|
111294
111383
|
} else {
|
|
111295
|
-
|
|
111296
|
-
|
|
111384
|
+
const captured = matchMixedSegment(runtime, prefix, suffix);
|
|
111385
|
+
if (captured === null) return null;
|
|
111386
|
+
params[name] = captured;
|
|
111297
111387
|
}
|
|
111388
|
+
pi++;
|
|
111298
111389
|
}
|
|
111299
111390
|
if (pi !== pathSegs.length) return null;
|
|
111300
111391
|
return params;
|
|
@@ -111562,20 +111653,26 @@ var zeroAgentResponseSchema = external_exports.object({
|
|
|
111562
111653
|
sound: external_exports.string().nullable(),
|
|
111563
111654
|
avatarUrl: external_exports.string().nullable(),
|
|
111564
111655
|
permissionPolicies: firewallPoliciesSchema.nullable(),
|
|
111565
|
-
customSkills: external_exports.array(external_exports.string()).default([])
|
|
111656
|
+
customSkills: external_exports.array(external_exports.string()).default([]),
|
|
111657
|
+
modelProviderId: external_exports.string().uuid().nullable().default(null),
|
|
111658
|
+
selectedModel: external_exports.string().nullable().default(null)
|
|
111566
111659
|
});
|
|
111567
111660
|
var zeroAgentRequestSchema = external_exports.object({
|
|
111568
111661
|
description: external_exports.string().optional(),
|
|
111569
111662
|
displayName: external_exports.string().optional(),
|
|
111570
111663
|
sound: external_exports.string().optional(),
|
|
111571
111664
|
avatarUrl: external_exports.string().optional(),
|
|
111572
|
-
customSkills: external_exports.array(zeroAgentCustomSkillNameSchema).optional()
|
|
111665
|
+
customSkills: external_exports.array(zeroAgentCustomSkillNameSchema).optional(),
|
|
111666
|
+
modelProviderId: external_exports.string().uuid().nullable().optional(),
|
|
111667
|
+
selectedModel: external_exports.string().nullable().optional()
|
|
111573
111668
|
});
|
|
111574
111669
|
var zeroAgentMetadataRequestSchema = external_exports.object({
|
|
111575
111670
|
displayName: external_exports.string().optional(),
|
|
111576
111671
|
description: external_exports.string().optional(),
|
|
111577
111672
|
sound: external_exports.string().optional(),
|
|
111578
|
-
avatarUrl: external_exports.string().nullable().optional()
|
|
111673
|
+
avatarUrl: external_exports.string().nullable().optional(),
|
|
111674
|
+
modelProviderId: external_exports.string().uuid().nullable().optional(),
|
|
111675
|
+
selectedModel: external_exports.string().nullable().optional()
|
|
111579
111676
|
});
|
|
111580
111677
|
var zeroAgentInstructionsResponseSchema = external_exports.object({
|
|
111581
111678
|
content: external_exports.string().nullable(),
|
|
@@ -112682,7 +112779,9 @@ var scheduleResponseSchema = external_exports.object({
|
|
|
112682
112779
|
retryStartedAt: external_exports.string().nullable(),
|
|
112683
112780
|
consecutiveFailures: external_exports.number(),
|
|
112684
112781
|
createdAt: external_exports.string(),
|
|
112685
|
-
updatedAt: external_exports.string()
|
|
112782
|
+
updatedAt: external_exports.string(),
|
|
112783
|
+
modelProviderId: external_exports.string().uuid().nullable().default(null),
|
|
112784
|
+
selectedModel: external_exports.string().nullable().default(null)
|
|
112686
112785
|
});
|
|
112687
112786
|
var scheduleListResponseSchema = external_exports.object({
|
|
112688
112787
|
schedules: external_exports.array(scheduleResponseSchema)
|
|
@@ -112702,7 +112801,9 @@ var zeroDeployScheduleRequestSchema = external_exports.object({
|
|
|
112702
112801
|
appendSystemPrompt: external_exports.string().optional(),
|
|
112703
112802
|
volumeVersions: external_exports.record(external_exports.string(), external_exports.string()).optional(),
|
|
112704
112803
|
agentId: external_exports.string().uuid("Invalid agent ID"),
|
|
112705
|
-
enabled: external_exports.boolean().optional()
|
|
112804
|
+
enabled: external_exports.boolean().optional(),
|
|
112805
|
+
modelProviderId: external_exports.string().uuid().nullable().optional(),
|
|
112806
|
+
selectedModel: external_exports.string().nullable().optional()
|
|
112706
112807
|
}).refine(
|
|
112707
112808
|
(data) => {
|
|
112708
112809
|
const triggers = [
|
|
@@ -114729,6 +114830,12 @@ var FEATURE_SWITCHES = {
|
|
|
114729
114830
|
maintainer: "yuma@vm0.ai",
|
|
114730
114831
|
description: "Per-user agent override in the org-aware Slack app. When enabled for an org, members can choose which agent replies to their Slack mentions / DMs via `/zero switch` (opens an agent picker modal) or the Switch button on the App Home tab. The help text for `/zero help` also lists the switch subcommand. Selecting an alternate agent persists a row in `slack_user_agent_preferences` so the preference follows the user across every Slack workspace joined under the same org, and subsequent mention / DM replies from a non-default agent carry a `Sent via <agent>` footer so it's clear which agent produced the reply. When gated off, the modal, slash subcommand, App Home button, and help line are hidden AND any existing DB preferences are ignored at read time \u2014 every user falls back to the org default agent with no footer. Staff-only during the rollout window defined by `enabledOrgIdHashes`.",
|
|
114731
114832
|
enabled: false
|
|
114833
|
+
},
|
|
114834
|
+
["modelProviderSelection" /* ModelProviderSelection */]: {
|
|
114835
|
+
maintainer: "ethan@vm0.ai",
|
|
114836
|
+
description: "Show the model provider + model picker on the agent profile page and schedule dialog. Allows per-agent and per-schedule model selection, overriding the org default. Staff-only during initial rollout.",
|
|
114837
|
+
enabled: false,
|
|
114838
|
+
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
114732
114839
|
}
|
|
114733
114840
|
};
|
|
114734
114841
|
function isFeatureEnabled(key, ctx) {
|
|
@@ -117199,4 +117306,4 @@ undici/lib/web/fetch/body.js:
|
|
|
117199
117306
|
undici/lib/web/websocket/frame.js:
|
|
117200
117307
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
117201
117308
|
*/
|
|
117202
|
-
//# sourceMappingURL=chunk-
|
|
117309
|
+
//# sourceMappingURL=chunk-4PF2QGDE.js.map
|