@vm0/cli 9.169.1 → 9.170.1
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/{chunk-RWNXCBAW.js → chunk-32G2S2HY.js} +33 -145
- package/{chunk-RWNXCBAW.js.map → chunk-32G2S2HY.js.map} +1 -1
- package/index.js +9 -9
- package/package.json +1 -1
- package/zero.js +268 -38
- package/zero.js.map +1 -1
|
@@ -74083,7 +74083,7 @@ if (DSN) {
|
|
|
74083
74083
|
init2({
|
|
74084
74084
|
dsn: DSN,
|
|
74085
74085
|
environment: process.env.SENTRY_ENVIRONMENT ?? "production",
|
|
74086
|
-
release: "9.
|
|
74086
|
+
release: "9.170.1",
|
|
74087
74087
|
sendDefaultPii: false,
|
|
74088
74088
|
tracesSampleRate: 0,
|
|
74089
74089
|
shutdownTimeout: 500,
|
|
@@ -74102,7 +74102,7 @@ if (DSN) {
|
|
|
74102
74102
|
}
|
|
74103
74103
|
});
|
|
74104
74104
|
setContext("cli", {
|
|
74105
|
-
version: "9.
|
|
74105
|
+
version: "9.170.1",
|
|
74106
74106
|
command: process.argv.slice(2).join(" ")
|
|
74107
74107
|
});
|
|
74108
74108
|
setContext("runtime", {
|
|
@@ -74477,6 +74477,12 @@ var FEATURE_SWITCHES = {
|
|
|
74477
74477
|
maintainer: "ethan@vm0.ai",
|
|
74478
74478
|
description: "Enable managed Zero Maps CLI access for geocoding, directions, and places.",
|
|
74479
74479
|
enabled: true
|
|
74480
|
+
},
|
|
74481
|
+
["chatArtifactSidebar" /* ChatArtifactSidebar */]: {
|
|
74482
|
+
maintainer: "ethan@vm0.ai",
|
|
74483
|
+
description: "Replace the inline attachment text editor and modal lightbox with a single page-level artifact sidebar (50/50 with the chat thread area, URL-routed via ?artifact=, fullscreen-capable). When on, inline text/markdown attachments render as anchor chips, all preview chips route to the sidebar, and the artifacts drawer is hidden.",
|
|
74484
|
+
enabled: false,
|
|
74485
|
+
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
74480
74486
|
}
|
|
74481
74487
|
};
|
|
74482
74488
|
function isFeatureEnabled(key, ctx) {
|
|
@@ -94943,6 +94949,28 @@ var directRunModelProviderTypeSchema = modelProviderTypeSchema.refine(
|
|
|
94943
94949
|
},
|
|
94944
94950
|
{ message: "vm0 model provider is only supported by zero runs" }
|
|
94945
94951
|
);
|
|
94952
|
+
var claudeToolEntrySchema = external_exports.string().refine(
|
|
94953
|
+
(tool) => {
|
|
94954
|
+
return tool.trim().length > 0;
|
|
94955
|
+
},
|
|
94956
|
+
{
|
|
94957
|
+
message: "Claude tool name must not be empty"
|
|
94958
|
+
}
|
|
94959
|
+
).refine(
|
|
94960
|
+
(tool) => {
|
|
94961
|
+
return !tool.includes(",");
|
|
94962
|
+
},
|
|
94963
|
+
{
|
|
94964
|
+
message: "Claude tool name must not contain commas"
|
|
94965
|
+
}
|
|
94966
|
+
).refine(
|
|
94967
|
+
(tool) => {
|
|
94968
|
+
return !tool.trimStart().startsWith("-");
|
|
94969
|
+
},
|
|
94970
|
+
{
|
|
94971
|
+
message: "Claude tool name must not start with a hyphen"
|
|
94972
|
+
}
|
|
94973
|
+
);
|
|
94946
94974
|
var MAX_EVENT_SEQUENCE_NUMBER = 2147483647;
|
|
94947
94975
|
var eventSequenceNumberSchema = external_exports.number().int().nonnegative().max(MAX_EVENT_SEQUENCE_NUMBER);
|
|
94948
94976
|
var eventSequenceCursorSchema = external_exports.number().int().min(-1).max(MAX_EVENT_SEQUENCE_NUMBER);
|
|
@@ -94995,9 +95023,9 @@ var unifiedRunRequestSchema = external_exports.object({
|
|
|
94995
95023
|
// Optional system prompt to append to the agent's system prompt
|
|
94996
95024
|
appendSystemPrompt: external_exports.string().optional(),
|
|
94997
95025
|
// Optional list of tools to disable in Claude CLI (passed as --disallowed-tools)
|
|
94998
|
-
disallowedTools: external_exports.array(
|
|
95026
|
+
disallowedTools: external_exports.array(claudeToolEntrySchema).optional(),
|
|
94999
95027
|
// Optional list of tools to make available in Claude CLI (passed as --tools)
|
|
95000
|
-
tools: external_exports.array(
|
|
95028
|
+
tools: external_exports.array(claudeToolEntrySchema).optional(),
|
|
95001
95029
|
// Settings JSON to pass to Claude CLI (passed as --settings)
|
|
95002
95030
|
settings: external_exports.string().optional(),
|
|
95003
95031
|
// How the run was triggered (defaults to "cli" on the server if not provided)
|
|
@@ -117894,145 +117922,6 @@ function getConnectorTypeForSecretName(name) {
|
|
|
117894
117922
|
}
|
|
117895
117923
|
return null;
|
|
117896
117924
|
}
|
|
117897
|
-
var TOKEN_BOUNDARY = /[_\-\s]+/;
|
|
117898
|
-
var CASE_BOUNDARY = /(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/;
|
|
117899
|
-
var MIN_SCORE = 10;
|
|
117900
|
-
function tokenize(input) {
|
|
117901
|
-
const tokens = /* @__PURE__ */ new Set();
|
|
117902
|
-
for (const chunk of input.split(TOKEN_BOUNDARY)) {
|
|
117903
|
-
if (!chunk) continue;
|
|
117904
|
-
for (const sub of chunk.split(CASE_BOUNDARY)) {
|
|
117905
|
-
const lower = sub.toLowerCase();
|
|
117906
|
-
if (lower) tokens.add(lower);
|
|
117907
|
-
}
|
|
117908
|
-
}
|
|
117909
|
-
return tokens;
|
|
117910
|
-
}
|
|
117911
|
-
function listSecretNames(config4) {
|
|
117912
|
-
const names = [];
|
|
117913
|
-
for (const method of Object.values(config4.authMethods)) {
|
|
117914
|
-
for (const name of Object.keys(getManualGrantFields(method) ?? {})) {
|
|
117915
|
-
names.push(name);
|
|
117916
|
-
}
|
|
117917
|
-
for (const valueRef of Object.values(
|
|
117918
|
-
connectorAccessEnvBindings(method.access)
|
|
117919
|
-
)) {
|
|
117920
|
-
if (valueRef.startsWith("$secrets.")) {
|
|
117921
|
-
names.push(valueRef.slice("$secrets.".length));
|
|
117922
|
-
}
|
|
117923
|
-
}
|
|
117924
|
-
}
|
|
117925
|
-
return names;
|
|
117926
|
-
}
|
|
117927
|
-
function findExactMatch(keywordLower, type, config4) {
|
|
117928
|
-
if (type.toLowerCase() === keywordLower) {
|
|
117929
|
-
return { score: 100, matchedField: "type" };
|
|
117930
|
-
}
|
|
117931
|
-
for (const envName of Object.keys(getConnectorEnvBindings(type))) {
|
|
117932
|
-
if (envName.toLowerCase() === keywordLower) {
|
|
117933
|
-
return { score: 90, matchedField: `env:${envName}` };
|
|
117934
|
-
}
|
|
117935
|
-
}
|
|
117936
|
-
if (config4.label.toLowerCase() === keywordLower) {
|
|
117937
|
-
return { score: 80, matchedField: "label" };
|
|
117938
|
-
}
|
|
117939
|
-
const tags = config4.tags ?? [];
|
|
117940
|
-
for (const tag of tags) {
|
|
117941
|
-
if (tag === keywordLower) {
|
|
117942
|
-
return { score: 70, matchedField: `tag:${tag}` };
|
|
117943
|
-
}
|
|
117944
|
-
}
|
|
117945
|
-
return null;
|
|
117946
|
-
}
|
|
117947
|
-
function findSubstringMatch(keywordLower, type, config4) {
|
|
117948
|
-
if (type.toLowerCase().includes(keywordLower)) {
|
|
117949
|
-
return { score: 50, matchedField: "type" };
|
|
117950
|
-
}
|
|
117951
|
-
if (config4.label.toLowerCase().includes(keywordLower)) {
|
|
117952
|
-
return { score: 50, matchedField: "label" };
|
|
117953
|
-
}
|
|
117954
|
-
for (const envName of Object.keys(getConnectorEnvBindings(type))) {
|
|
117955
|
-
if (envName.toLowerCase().includes(keywordLower)) {
|
|
117956
|
-
return { score: 40, matchedField: `env:${envName}` };
|
|
117957
|
-
}
|
|
117958
|
-
}
|
|
117959
|
-
for (const name of listSecretNames(config4)) {
|
|
117960
|
-
if (name.toLowerCase().includes(keywordLower)) {
|
|
117961
|
-
return { score: 30, matchedField: `secret:${name}` };
|
|
117962
|
-
}
|
|
117963
|
-
}
|
|
117964
|
-
const tags = config4.tags ?? [];
|
|
117965
|
-
for (const tag of tags) {
|
|
117966
|
-
if (tag.includes(keywordLower)) {
|
|
117967
|
-
return { score: 25, matchedField: `tag:${tag}` };
|
|
117968
|
-
}
|
|
117969
|
-
}
|
|
117970
|
-
return null;
|
|
117971
|
-
}
|
|
117972
|
-
function collectCandidateTokens(type, config4) {
|
|
117973
|
-
const tokens = /* @__PURE__ */ new Set();
|
|
117974
|
-
const sources = [
|
|
117975
|
-
type,
|
|
117976
|
-
config4.label,
|
|
117977
|
-
...Object.keys(getConnectorEnvBindings(type)),
|
|
117978
|
-
...listSecretNames(config4),
|
|
117979
|
-
...config4.tags ?? []
|
|
117980
|
-
];
|
|
117981
|
-
for (const source of sources) {
|
|
117982
|
-
for (const token of tokenize(source)) {
|
|
117983
|
-
tokens.add(token);
|
|
117984
|
-
}
|
|
117985
|
-
}
|
|
117986
|
-
return tokens;
|
|
117987
|
-
}
|
|
117988
|
-
function findTokenIntersection(keywordTokens, type, config4) {
|
|
117989
|
-
const candidateTokens = collectCandidateTokens(type, config4);
|
|
117990
|
-
let intersection2 = 0;
|
|
117991
|
-
let firstCommon = "";
|
|
117992
|
-
for (const token of keywordTokens) {
|
|
117993
|
-
if (candidateTokens.has(token)) {
|
|
117994
|
-
intersection2++;
|
|
117995
|
-
if (!firstCommon) firstCommon = token;
|
|
117996
|
-
}
|
|
117997
|
-
}
|
|
117998
|
-
if (intersection2 === 0) return null;
|
|
117999
|
-
return { score: 10 * intersection2, matchedField: `token:${firstCommon}` };
|
|
118000
|
-
}
|
|
118001
|
-
function scoreConnector(keywordLower, keywordTokens, type, config4) {
|
|
118002
|
-
const exact = findExactMatch(keywordLower, type, config4);
|
|
118003
|
-
if (exact) return exact;
|
|
118004
|
-
const candidates = [];
|
|
118005
|
-
const substring = findSubstringMatch(keywordLower, type, config4);
|
|
118006
|
-
if (substring) candidates.push(substring);
|
|
118007
|
-
const token = findTokenIntersection(keywordTokens, type, config4);
|
|
118008
|
-
if (token) candidates.push(token);
|
|
118009
|
-
if (candidates.length === 0) return null;
|
|
118010
|
-
const best = candidates.reduce((a, b) => {
|
|
118011
|
-
return a.score >= b.score ? a : b;
|
|
118012
|
-
});
|
|
118013
|
-
if (best.score < MIN_SCORE) return null;
|
|
118014
|
-
return best;
|
|
118015
|
-
}
|
|
118016
|
-
function searchConnectors(keyword, limit, filter) {
|
|
118017
|
-
const trimmed = keyword.trim();
|
|
118018
|
-
if (!trimmed) return { results: [], total: 0 };
|
|
118019
|
-
const keywordLower = trimmed.toLowerCase();
|
|
118020
|
-
const keywordTokens = tokenize(trimmed);
|
|
118021
|
-
const hits = [];
|
|
118022
|
-
for (const type of CONNECTOR_TYPE_KEYS) {
|
|
118023
|
-
if (filter && !filter(type)) continue;
|
|
118024
|
-
const config4 = CONNECTOR_TYPES[type];
|
|
118025
|
-
const hit = scoreConnector(keywordLower, keywordTokens, type, config4);
|
|
118026
|
-
if (!hit) continue;
|
|
118027
|
-
hits.push({ type, score: hit.score, matchedField: hit.matchedField });
|
|
118028
|
-
}
|
|
118029
|
-
hits.sort((a, b) => {
|
|
118030
|
-
if (b.score !== a.score) return b.score - a.score;
|
|
118031
|
-
return a.type.localeCompare(b.type);
|
|
118032
|
-
});
|
|
118033
|
-
const capped = limit > 0 ? hits.slice(0, limit) : hits;
|
|
118034
|
-
return { results: capped, total: hits.length };
|
|
118035
|
-
}
|
|
118036
117925
|
|
|
118037
117926
|
// ../../packages/connectors/src/firewalls/agentmail.generated.ts
|
|
118038
117927
|
init_esm_shims();
|
|
@@ -135195,7 +135084,6 @@ export {
|
|
|
135195
135084
|
hasRequiredScopes,
|
|
135196
135085
|
getScopeDiff,
|
|
135197
135086
|
getConnectorTypeForSecretName,
|
|
135198
|
-
searchConnectors,
|
|
135199
135087
|
isFirewallConnectorType,
|
|
135200
135088
|
getConnectorFirewall,
|
|
135201
135089
|
resolveFirewallPolicies,
|
|
@@ -135229,4 +135117,4 @@ undici/lib/web/fetch/body.js:
|
|
|
135229
135117
|
undici/lib/web/websocket/frame.js:
|
|
135230
135118
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
135231
135119
|
*/
|
|
135232
|
-
//# sourceMappingURL=chunk-
|
|
135120
|
+
//# sourceMappingURL=chunk-32G2S2HY.js.map
|