@vm0/cli 9.240.8 → 9.240.10
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/{agent-BXXZE3TR.js → agent-YHWAOX6U.js} +5 -5
- package/{banking-T6WVXPS3.js → banking-FGWHGOHN.js} +3 -3
- package/{chat-5JA2WPUV.js → chat-72GCKSHG.js} +4 -4
- package/chunk-3SVFEMEV.js +268 -0
- package/chunk-3SVFEMEV.js.map +1 -0
- package/{chunk-VHHBCODB.js → chunk-5W26XTGP.js} +3 -3
- package/{chunk-MBDP3H7R.js → chunk-GBODX3GS.js} +2 -2
- package/{chunk-W2NO4UOU.js → chunk-GQUSLMB4.js} +24 -4
- package/chunk-GQUSLMB4.js.map +1 -0
- package/{chunk-MUNQ3JVT.js → chunk-LPM2VOJ3.js} +2 -2
- package/{chunk-45WN4EOZ.js → chunk-RXF3RLBP.js} +2 -2
- package/{chunk-EEKVCESE.js → chunk-TTOETZE7.js} +2 -2
- package/{chunk-EEKVCESE.js.map → chunk-TTOETZE7.js.map} +1 -1
- package/{chunk-5REPUXEK.js → chunk-UETYUI63.js} +441 -214
- package/chunk-UETYUI63.js.map +1 -0
- package/{chunk-NDKMCR2L.js → chunk-UNH2BGTT.js} +4 -4
- package/{chunk-PYOL6QIR.js → chunk-WVBGQLF3.js} +4 -4
- package/{computer-use-FZUBY2HW.js → computer-use-6IVA23PH.js} +3 -3
- package/{connector-HNDICODR.js → connector-J2MZ3AL4.js} +11 -256
- package/connector-J2MZ3AL4.js.map +1 -0
- package/{credit-KNDQBTQT.js → credit-JSRDF6P3.js} +4 -4
- package/{developer-support-ADWX3PON.js → developer-support-QL4S75YO.js} +3 -3
- package/{doctor-5HDSW6OQ.js → doctor-3Z2KMZJB.js} +5 -5
- package/{generate-TWPZB6ND.js → generate-IJFB4QDG.js} +4 -4
- package/{github-UNFG6FZG.js → github-5Z3JWUTN.js} +3 -3
- package/{goal-ODLQHFCK.js → goal-Q6PYUXAL.js} +3 -3
- package/{host-53JHJUAT.js → host-2FFQ3HP5.js} +3 -3
- package/index.js +12 -12
- package/index.js.map +1 -1
- package/{logs-QZVSL4X2.js → logs-WPTN2IXD.js} +5 -5
- package/mail-EZQFQQUC.js +204 -0
- package/mail-EZQFQQUC.js.map +1 -0
- package/{maps-RCE2VSJD.js → maps-RGOTWAKE.js} +3 -3
- package/{memory-PZUCT4DA.js → memory-DJGTFSDZ.js} +3 -3
- package/{model-KSJZUJSR.js → model-GXWUD4OM.js} +4 -4
- package/{model-provider-P2BX5SV2.js → model-provider-M2U5M3JC.js} +4 -4
- package/{org-VVEFO22W.js → org-ZWRXUNPJ.js} +3 -3
- package/package.json +1 -1
- package/{phone-GVWFKXJH.js → phone-TX6CD66H.js} +3 -3
- package/{preference-X5OYQUKH.js → preference-A6KLUJMS.js} +3 -3
- package/{relationship-H3F7ESOM.js → relationship-5AO6TKVS.js} +3 -3
- package/{resource-YUTPAQBU.js → resource-3YQGO4UU.js} +3 -3
- package/{scrape-5YVOPMRJ.js → scrape-4WPXMW2U.js} +3 -3
- package/{search-23TRPXH5.js → search-OMZ4MW63.js} +5 -5
- package/{secret-V3UVNV35.js → secret-XFSWHP4C.js} +3 -3
- package/{slack-AXHPFNUU.js → slack-WWDNLHQN.js} +3 -3
- package/{teams-3YXMQU6U.js → teams-AFEA3K7D.js} +3 -3
- package/{telegram-V5TFKTFJ.js → telegram-NWGKHKRS.js} +3 -3
- package/{variable-ZADXE2QL.js → variable-JUFZL4MT.js} +3 -3
- package/{video-VLPAFGRT.js → video-UTBRSWQF.js} +2 -2
- package/{web-N7NCDUB3.js → web-UVAO77AR.js} +3 -3
- package/web-search-5ISND7NK.js +150 -0
- package/web-search-5ISND7NK.js.map +1 -0
- package/{whoami-FWAWGDHG.js → whoami-DG5CQGAI.js} +5 -5
- package/{workflow-6PZBORUD.js → workflow-FHENT3LN.js} +3 -3
- package/zero.js +53 -35
- package/zero.js.map +1 -1
- package/chunk-5REPUXEK.js.map +0 -1
- package/chunk-W2NO4UOU.js.map +0 -1
- package/connector-HNDICODR.js.map +0 -1
- /package/{agent-BXXZE3TR.js.map → agent-YHWAOX6U.js.map} +0 -0
- /package/{banking-T6WVXPS3.js.map → banking-FGWHGOHN.js.map} +0 -0
- /package/{chat-5JA2WPUV.js.map → chat-72GCKSHG.js.map} +0 -0
- /package/{chunk-VHHBCODB.js.map → chunk-5W26XTGP.js.map} +0 -0
- /package/{chunk-MBDP3H7R.js.map → chunk-GBODX3GS.js.map} +0 -0
- /package/{chunk-MUNQ3JVT.js.map → chunk-LPM2VOJ3.js.map} +0 -0
- /package/{chunk-45WN4EOZ.js.map → chunk-RXF3RLBP.js.map} +0 -0
- /package/{chunk-NDKMCR2L.js.map → chunk-UNH2BGTT.js.map} +0 -0
- /package/{chunk-PYOL6QIR.js.map → chunk-WVBGQLF3.js.map} +0 -0
- /package/{computer-use-FZUBY2HW.js.map → computer-use-6IVA23PH.js.map} +0 -0
- /package/{credit-KNDQBTQT.js.map → credit-JSRDF6P3.js.map} +0 -0
- /package/{developer-support-ADWX3PON.js.map → developer-support-QL4S75YO.js.map} +0 -0
- /package/{doctor-5HDSW6OQ.js.map → doctor-3Z2KMZJB.js.map} +0 -0
- /package/{generate-TWPZB6ND.js.map → generate-IJFB4QDG.js.map} +0 -0
- /package/{github-UNFG6FZG.js.map → github-5Z3JWUTN.js.map} +0 -0
- /package/{goal-ODLQHFCK.js.map → goal-Q6PYUXAL.js.map} +0 -0
- /package/{host-53JHJUAT.js.map → host-2FFQ3HP5.js.map} +0 -0
- /package/{logs-QZVSL4X2.js.map → logs-WPTN2IXD.js.map} +0 -0
- /package/{maps-RCE2VSJD.js.map → maps-RGOTWAKE.js.map} +0 -0
- /package/{memory-PZUCT4DA.js.map → memory-DJGTFSDZ.js.map} +0 -0
- /package/{model-KSJZUJSR.js.map → model-GXWUD4OM.js.map} +0 -0
- /package/{model-provider-P2BX5SV2.js.map → model-provider-M2U5M3JC.js.map} +0 -0
- /package/{org-VVEFO22W.js.map → org-ZWRXUNPJ.js.map} +0 -0
- /package/{phone-GVWFKXJH.js.map → phone-TX6CD66H.js.map} +0 -0
- /package/{preference-X5OYQUKH.js.map → preference-A6KLUJMS.js.map} +0 -0
- /package/{relationship-H3F7ESOM.js.map → relationship-5AO6TKVS.js.map} +0 -0
- /package/{resource-YUTPAQBU.js.map → resource-3YQGO4UU.js.map} +0 -0
- /package/{scrape-5YVOPMRJ.js.map → scrape-4WPXMW2U.js.map} +0 -0
- /package/{search-23TRPXH5.js.map → search-OMZ4MW63.js.map} +0 -0
- /package/{secret-V3UVNV35.js.map → secret-XFSWHP4C.js.map} +0 -0
- /package/{slack-AXHPFNUU.js.map → slack-WWDNLHQN.js.map} +0 -0
- /package/{teams-3YXMQU6U.js.map → teams-AFEA3K7D.js.map} +0 -0
- /package/{telegram-V5TFKTFJ.js.map → telegram-NWGKHKRS.js.map} +0 -0
- /package/{variable-ZADXE2QL.js.map → variable-JUFZL4MT.js.map} +0 -0
- /package/{video-VLPAFGRT.js.map → video-UTBRSWQF.js.map} +0 -0
- /package/{web-N7NCDUB3.js.map → web-UVAO77AR.js.map} +0 -0
- /package/{whoami-FWAWGDHG.js.map → whoami-DG5CQGAI.js.map} +0 -0
- /package/{workflow-6PZBORUD.js.map → workflow-FHENT3LN.js.map} +0 -0
|
@@ -4,10 +4,10 @@ const require = __createRequire(import.meta.url);
|
|
|
4
4
|
import {
|
|
5
5
|
loadConnectorPermissionInfos,
|
|
6
6
|
policyIcon
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WVBGQLF3.js";
|
|
8
8
|
import {
|
|
9
9
|
permissionGrantsToFirewallPolicies
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LPM2VOJ3.js";
|
|
11
11
|
import {
|
|
12
12
|
isInteractive,
|
|
13
13
|
promptConfirm
|
|
@@ -23,12 +23,12 @@ import {
|
|
|
23
23
|
listZeroUserPermissionGrants,
|
|
24
24
|
updateZeroAgent,
|
|
25
25
|
updateZeroAgentInstructions
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-UETYUI63.js";
|
|
27
27
|
import "./chunk-LTDQISD7.js";
|
|
28
28
|
import {
|
|
29
29
|
source_default,
|
|
30
30
|
withErrorHandler
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-TTOETZE7.js";
|
|
32
32
|
import "./chunk-LRHXR7JT.js";
|
|
33
33
|
import {
|
|
34
34
|
Command
|
|
@@ -593,4 +593,4 @@ Notes:
|
|
|
593
593
|
export {
|
|
594
594
|
zeroAgentCommand
|
|
595
595
|
};
|
|
596
|
-
//# sourceMappingURL=agent-
|
|
596
|
+
//# sourceMappingURL=agent-YHWAOX6U.js.map
|
|
@@ -3,12 +3,12 @@ import { createRequire as __createRequire } from "node:module";
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
callZeroBanking
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-UETYUI63.js";
|
|
7
7
|
import "./chunk-LTDQISD7.js";
|
|
8
8
|
import {
|
|
9
9
|
source_default,
|
|
10
10
|
withErrorHandler
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-TTOETZE7.js";
|
|
12
12
|
import "./chunk-LRHXR7JT.js";
|
|
13
13
|
import {
|
|
14
14
|
Command,
|
|
@@ -113,4 +113,4 @@ Notes:
|
|
|
113
113
|
export {
|
|
114
114
|
zeroBankingCommand
|
|
115
115
|
};
|
|
116
|
-
//# sourceMappingURL=banking-
|
|
116
|
+
//# sourceMappingURL=banking-FGWHGOHN.js.map
|
|
@@ -3,18 +3,18 @@ import { createRequire as __createRequire } from "node:module";
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
formatModelProviderRoute
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RXF3RLBP.js";
|
|
7
7
|
import {
|
|
8
8
|
getZeroChatThread,
|
|
9
9
|
listZeroModelPolicies,
|
|
10
10
|
renameZeroChatThread,
|
|
11
11
|
updateZeroChatThreadModelSelection
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-UETYUI63.js";
|
|
13
13
|
import "./chunk-LTDQISD7.js";
|
|
14
14
|
import {
|
|
15
15
|
source_default,
|
|
16
16
|
withErrorHandler
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-TTOETZE7.js";
|
|
18
18
|
import "./chunk-LRHXR7JT.js";
|
|
19
19
|
import {
|
|
20
20
|
Command
|
|
@@ -242,4 +242,4 @@ Examples:
|
|
|
242
242
|
export {
|
|
243
243
|
zeroChatCommand
|
|
244
244
|
};
|
|
245
|
-
//# sourceMappingURL=chat-
|
|
245
|
+
//# sourceMappingURL=chat-72GCKSHG.js.map
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __createRequire } from "node:module";
|
|
3
|
+
const require = __createRequire(import.meta.url);
|
|
4
|
+
import {
|
|
5
|
+
getZeroAgent,
|
|
6
|
+
getZeroAgentUserConnectors
|
|
7
|
+
} from "./chunk-UETYUI63.js";
|
|
8
|
+
import {
|
|
9
|
+
init_esm_shims
|
|
10
|
+
} from "./chunk-DIRAZ3YX.js";
|
|
11
|
+
|
|
12
|
+
// src/commands/zero/connector/public-catalog.ts
|
|
13
|
+
init_esm_shims();
|
|
14
|
+
var TOKEN_BOUNDARY = /[_\-\s]+/;
|
|
15
|
+
var CASE_BOUNDARY = /(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/;
|
|
16
|
+
var MIN_SCORE = 10;
|
|
17
|
+
function tokenize(input) {
|
|
18
|
+
const tokens = /* @__PURE__ */ new Set();
|
|
19
|
+
for (const chunk of input.split(TOKEN_BOUNDARY)) {
|
|
20
|
+
if (!chunk) continue;
|
|
21
|
+
for (const sub of chunk.split(CASE_BOUNDARY)) {
|
|
22
|
+
const lower = sub.toLowerCase();
|
|
23
|
+
if (lower) tokens.add(lower);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return tokens;
|
|
27
|
+
}
|
|
28
|
+
function publicStrings(connector) {
|
|
29
|
+
return [
|
|
30
|
+
connector.connectorRef,
|
|
31
|
+
connector.label,
|
|
32
|
+
connector.description,
|
|
33
|
+
connector.category,
|
|
34
|
+
...connector.tags,
|
|
35
|
+
...connector.generation,
|
|
36
|
+
...connector.authMethods.flatMap((authMethod) => {
|
|
37
|
+
return [
|
|
38
|
+
authMethod.id,
|
|
39
|
+
authMethod.label,
|
|
40
|
+
...authMethod.description ? [authMethod.description] : []
|
|
41
|
+
];
|
|
42
|
+
})
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
function best(candidates) {
|
|
46
|
+
return candidates.reduce((bestHit, hit) => {
|
|
47
|
+
if (!hit) return bestHit;
|
|
48
|
+
if (!bestHit || hit.score > bestHit.score) return hit;
|
|
49
|
+
return bestHit;
|
|
50
|
+
}, null);
|
|
51
|
+
}
|
|
52
|
+
function scoreExact(keywordLower, skipPrivateIdentifierMatches, connector) {
|
|
53
|
+
if (connector.connectorRef.toLowerCase() === keywordLower) {
|
|
54
|
+
return { score: 100, matchedField: "connectorRef" };
|
|
55
|
+
}
|
|
56
|
+
if (connector.label.toLowerCase() === keywordLower) {
|
|
57
|
+
return { score: 80, matchedField: "label" };
|
|
58
|
+
}
|
|
59
|
+
for (const tag of connector.tags) {
|
|
60
|
+
if (skipPrivateIdentifierMatches && tag.includes("_")) continue;
|
|
61
|
+
if (tag.toLowerCase() === keywordLower) {
|
|
62
|
+
return { score: 70, matchedField: `tag:${tag}` };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
for (const generationType of connector.generation) {
|
|
66
|
+
if (generationType.toLowerCase() === keywordLower) {
|
|
67
|
+
return { score: 65, matchedField: `generation:${generationType}` };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
for (const authMethod of connector.authMethods) {
|
|
71
|
+
if (authMethod.id.toLowerCase() === keywordLower) {
|
|
72
|
+
return { score: 60, matchedField: `auth-method:${authMethod.id}` };
|
|
73
|
+
}
|
|
74
|
+
if (authMethod.label.toLowerCase() === keywordLower) {
|
|
75
|
+
return { score: 60, matchedField: `auth-method:${authMethod.label}` };
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (connector.category.toLowerCase() === keywordLower) {
|
|
79
|
+
return { score: 55, matchedField: "category" };
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
function scoreSubstring(keywordLower, skipPrivateIdentifierMatches, connector) {
|
|
84
|
+
const candidates = [];
|
|
85
|
+
if (connector.connectorRef.toLowerCase().includes(keywordLower)) {
|
|
86
|
+
candidates.push({ score: 50, matchedField: "connectorRef" });
|
|
87
|
+
}
|
|
88
|
+
if (connector.label.toLowerCase().includes(keywordLower)) {
|
|
89
|
+
candidates.push({ score: 50, matchedField: "label" });
|
|
90
|
+
}
|
|
91
|
+
for (const tag of connector.tags) {
|
|
92
|
+
if (skipPrivateIdentifierMatches && tag.includes("_")) continue;
|
|
93
|
+
if (tag.toLowerCase().includes(keywordLower)) {
|
|
94
|
+
candidates.push({ score: 25, matchedField: `tag:${tag}` });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
for (const generationType of connector.generation) {
|
|
98
|
+
if (generationType.toLowerCase().includes(keywordLower)) {
|
|
99
|
+
candidates.push({
|
|
100
|
+
score: 25,
|
|
101
|
+
matchedField: `generation:${generationType}`
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
for (const authMethod of connector.authMethods) {
|
|
106
|
+
if (authMethod.id.toLowerCase().includes(keywordLower) || authMethod.label.toLowerCase().includes(keywordLower)) {
|
|
107
|
+
candidates.push({
|
|
108
|
+
score: 20,
|
|
109
|
+
matchedField: `auth-method:${authMethod.id}`
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (connector.category.toLowerCase().includes(keywordLower)) {
|
|
114
|
+
candidates.push({ score: 20, matchedField: "category" });
|
|
115
|
+
}
|
|
116
|
+
if (connector.description.toLowerCase().includes(keywordLower)) {
|
|
117
|
+
candidates.push({ score: 15, matchedField: "description" });
|
|
118
|
+
}
|
|
119
|
+
return best(candidates);
|
|
120
|
+
}
|
|
121
|
+
function scoreTokens(keywordTokens, connector) {
|
|
122
|
+
const candidateTokens = /* @__PURE__ */ new Set();
|
|
123
|
+
for (const source of publicStrings(connector)) {
|
|
124
|
+
for (const token of tokenize(source)) {
|
|
125
|
+
candidateTokens.add(token);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
let intersection = 0;
|
|
129
|
+
let firstCommon = "";
|
|
130
|
+
for (const token of keywordTokens) {
|
|
131
|
+
if (candidateTokens.has(token)) {
|
|
132
|
+
intersection++;
|
|
133
|
+
if (!firstCommon) firstCommon = token;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (intersection === 0) return null;
|
|
137
|
+
return { score: 10 * intersection, matchedField: `token:${firstCommon}` };
|
|
138
|
+
}
|
|
139
|
+
function scoreConnector(keywordLower, keyword, keywordTokens, connector) {
|
|
140
|
+
const skipPrivateIdentifierMatches = /^[A-Za-z0-9_]+$/.test(keyword) && keyword.includes("_");
|
|
141
|
+
const tokenHit = skipPrivateIdentifierMatches ? null : scoreTokens(keywordTokens, connector);
|
|
142
|
+
const hit = best([
|
|
143
|
+
scoreExact(keywordLower, skipPrivateIdentifierMatches, connector),
|
|
144
|
+
scoreSubstring(keywordLower, skipPrivateIdentifierMatches, connector),
|
|
145
|
+
tokenHit
|
|
146
|
+
]);
|
|
147
|
+
if (!hit || hit.score < MIN_SCORE) return null;
|
|
148
|
+
return hit;
|
|
149
|
+
}
|
|
150
|
+
function searchPublicConnectorCatalog(connectors, keyword, limit) {
|
|
151
|
+
const trimmed = keyword.trim();
|
|
152
|
+
if (!trimmed) return { results: [], total: 0 };
|
|
153
|
+
const keywordLower = trimmed.toLowerCase();
|
|
154
|
+
const keywordTokens = tokenize(trimmed);
|
|
155
|
+
const hits = connectors.flatMap(
|
|
156
|
+
(connector) => {
|
|
157
|
+
const hit = scoreConnector(
|
|
158
|
+
keywordLower,
|
|
159
|
+
trimmed,
|
|
160
|
+
keywordTokens,
|
|
161
|
+
connector
|
|
162
|
+
);
|
|
163
|
+
if (!hit) return [];
|
|
164
|
+
return [
|
|
165
|
+
{
|
|
166
|
+
connector,
|
|
167
|
+
score: hit.score,
|
|
168
|
+
matchedField: hit.matchedField
|
|
169
|
+
}
|
|
170
|
+
];
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
hits.sort((a, b) => {
|
|
174
|
+
if (b.score !== a.score) return b.score - a.score;
|
|
175
|
+
return a.connector.connectorRef.localeCompare(b.connector.connectorRef);
|
|
176
|
+
});
|
|
177
|
+
return {
|
|
178
|
+
results: hits.slice(0, limit),
|
|
179
|
+
total: hits.length
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
function findConnectorStatusItem(connectors, connectorRef) {
|
|
183
|
+
const exact = connectors.find((connector) => {
|
|
184
|
+
return connector.connectorRef === connectorRef;
|
|
185
|
+
});
|
|
186
|
+
if (exact) return exact;
|
|
187
|
+
const lower = connectorRef.toLowerCase();
|
|
188
|
+
return connectors.find((connector) => {
|
|
189
|
+
return connector.connectorRef.toLowerCase() === lower;
|
|
190
|
+
}) ?? null;
|
|
191
|
+
}
|
|
192
|
+
function availableConnectorRefs(connectors) {
|
|
193
|
+
return connectors.map((connector) => {
|
|
194
|
+
return connector.connectorRef;
|
|
195
|
+
}).join(", ");
|
|
196
|
+
}
|
|
197
|
+
function resolveManualGrantAuthMethod(connector, rawAuthMethod) {
|
|
198
|
+
if (rawAuthMethod) {
|
|
199
|
+
const authMethod2 = connector.authMethods.find((method) => {
|
|
200
|
+
return method.id === rawAuthMethod;
|
|
201
|
+
});
|
|
202
|
+
if (!authMethod2) {
|
|
203
|
+
throw new Error(
|
|
204
|
+
`${connector.connectorRef} connector does not have ${rawAuthMethod} auth method`,
|
|
205
|
+
{
|
|
206
|
+
cause: new Error(
|
|
207
|
+
`Available auth methods: ${connector.authMethods.map((method) => {
|
|
208
|
+
return method.id;
|
|
209
|
+
}).join(", ")}`
|
|
210
|
+
)
|
|
211
|
+
}
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
if (authMethod2.grantKind === "manual") {
|
|
215
|
+
return authMethod2;
|
|
216
|
+
}
|
|
217
|
+
throw new Error(
|
|
218
|
+
`${connector.connectorRef} ${authMethod2.id} auth method does not use a manual grant`
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
const manualAuthMethods = connector.authMethods.filter((method) => {
|
|
222
|
+
return method.grantKind === "manual";
|
|
223
|
+
});
|
|
224
|
+
const authMethod = manualAuthMethods[0];
|
|
225
|
+
if (manualAuthMethods.length === 1 && authMethod) {
|
|
226
|
+
return authMethod;
|
|
227
|
+
}
|
|
228
|
+
if (manualAuthMethods.length === 0) {
|
|
229
|
+
throw new Error(
|
|
230
|
+
`${connector.connectorRef} connector does not use a manual grant`
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
throw new Error(
|
|
234
|
+
`${connector.connectorRef} connector has multiple manual grant auth methods`,
|
|
235
|
+
{
|
|
236
|
+
cause: new Error(
|
|
237
|
+
`Pass --auth-method ${manualAuthMethods.map((method) => {
|
|
238
|
+
return method.id;
|
|
239
|
+
}).join("|")}`
|
|
240
|
+
)
|
|
241
|
+
}
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// src/commands/zero/connector/agent-context.ts
|
|
246
|
+
init_esm_shims();
|
|
247
|
+
async function resolveAgentContext(flagAgentId) {
|
|
248
|
+
const agentId = flagAgentId ?? process.env.ZERO_AGENT_ID;
|
|
249
|
+
if (!agentId) return null;
|
|
250
|
+
const [agent, enabledTypes] = await Promise.all([
|
|
251
|
+
getZeroAgent(agentId),
|
|
252
|
+
getZeroAgentUserConnectors(agentId)
|
|
253
|
+
]);
|
|
254
|
+
return {
|
|
255
|
+
agentId: agent.agentId,
|
|
256
|
+
displayName: agent.displayName ?? agent.agentId,
|
|
257
|
+
authorizedTypes: new Set(enabledTypes)
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export {
|
|
262
|
+
searchPublicConnectorCatalog,
|
|
263
|
+
findConnectorStatusItem,
|
|
264
|
+
availableConnectorRefs,
|
|
265
|
+
resolveManualGrantAuthMethod,
|
|
266
|
+
resolveAgentContext
|
|
267
|
+
};
|
|
268
|
+
//# sourceMappingURL=chunk-3SVFEMEV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/zero/connector/public-catalog.ts","../src/commands/zero/connector/agent-context.ts"],"sourcesContent":["import type {\n PublicConnectorCatalogAuthMethodDetail,\n PublicConnectorCatalogItem,\n PublicConnectorCatalogStatusItem,\n} from \"@vm0/api-contracts/contracts/zero-connector-catalog\";\n\nexport type PublicConnectorStatus = PublicConnectorCatalogStatusItem;\n\ninterface PublicConnectorSearchResult {\n readonly connector: PublicConnectorStatus;\n readonly score: number;\n readonly matchedField: string;\n}\n\ninterface PublicConnectorSearchOutput {\n readonly results: readonly PublicConnectorSearchResult[];\n readonly total: number;\n}\n\nconst TOKEN_BOUNDARY = /[_\\-\\s]+/;\nconst CASE_BOUNDARY = /(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/;\nconst MIN_SCORE = 10;\n\nfunction tokenize(input: string): Set<string> {\n const tokens = new Set<string>();\n for (const chunk of input.split(TOKEN_BOUNDARY)) {\n if (!chunk) continue;\n for (const sub of chunk.split(CASE_BOUNDARY)) {\n const lower = sub.toLowerCase();\n if (lower) tokens.add(lower);\n }\n }\n return tokens;\n}\n\nfunction publicStrings(connector: PublicConnectorCatalogItem): string[] {\n return [\n connector.connectorRef,\n connector.label,\n connector.description,\n connector.category,\n ...connector.tags,\n ...connector.generation,\n ...connector.authMethods.flatMap((authMethod) => {\n return [\n authMethod.id,\n authMethod.label,\n ...(authMethod.description ? [authMethod.description] : []),\n ];\n }),\n ];\n}\n\ntype ScoreHit = { score: number; matchedField: string };\n\nfunction best(candidates: readonly (ScoreHit | null)[]): ScoreHit | null {\n return candidates.reduce<ScoreHit | null>((bestHit, hit) => {\n if (!hit) return bestHit;\n if (!bestHit || hit.score > bestHit.score) return hit;\n return bestHit;\n }, null);\n}\n\nfunction scoreExact(\n keywordLower: string,\n skipPrivateIdentifierMatches: boolean,\n connector: PublicConnectorStatus,\n): ScoreHit | null {\n if (connector.connectorRef.toLowerCase() === keywordLower) {\n return { score: 100, matchedField: \"connectorRef\" };\n }\n if (connector.label.toLowerCase() === keywordLower) {\n return { score: 80, matchedField: \"label\" };\n }\n for (const tag of connector.tags) {\n if (skipPrivateIdentifierMatches && tag.includes(\"_\")) continue;\n if (tag.toLowerCase() === keywordLower) {\n return { score: 70, matchedField: `tag:${tag}` };\n }\n }\n for (const generationType of connector.generation) {\n if (generationType.toLowerCase() === keywordLower) {\n return { score: 65, matchedField: `generation:${generationType}` };\n }\n }\n for (const authMethod of connector.authMethods) {\n if (authMethod.id.toLowerCase() === keywordLower) {\n return { score: 60, matchedField: `auth-method:${authMethod.id}` };\n }\n if (authMethod.label.toLowerCase() === keywordLower) {\n return { score: 60, matchedField: `auth-method:${authMethod.label}` };\n }\n }\n if (connector.category.toLowerCase() === keywordLower) {\n return { score: 55, matchedField: \"category\" };\n }\n return null;\n}\n\nfunction scoreSubstring(\n keywordLower: string,\n skipPrivateIdentifierMatches: boolean,\n connector: PublicConnectorStatus,\n): ScoreHit | null {\n const candidates: ScoreHit[] = [];\n if (connector.connectorRef.toLowerCase().includes(keywordLower)) {\n candidates.push({ score: 50, matchedField: \"connectorRef\" });\n }\n if (connector.label.toLowerCase().includes(keywordLower)) {\n candidates.push({ score: 50, matchedField: \"label\" });\n }\n for (const tag of connector.tags) {\n if (skipPrivateIdentifierMatches && tag.includes(\"_\")) continue;\n if (tag.toLowerCase().includes(keywordLower)) {\n candidates.push({ score: 25, matchedField: `tag:${tag}` });\n }\n }\n for (const generationType of connector.generation) {\n if (generationType.toLowerCase().includes(keywordLower)) {\n candidates.push({\n score: 25,\n matchedField: `generation:${generationType}`,\n });\n }\n }\n for (const authMethod of connector.authMethods) {\n if (\n authMethod.id.toLowerCase().includes(keywordLower) ||\n authMethod.label.toLowerCase().includes(keywordLower)\n ) {\n candidates.push({\n score: 20,\n matchedField: `auth-method:${authMethod.id}`,\n });\n }\n }\n if (connector.category.toLowerCase().includes(keywordLower)) {\n candidates.push({ score: 20, matchedField: \"category\" });\n }\n if (connector.description.toLowerCase().includes(keywordLower)) {\n candidates.push({ score: 15, matchedField: \"description\" });\n }\n\n return best(candidates);\n}\n\nfunction scoreTokens(\n keywordTokens: ReadonlySet<string>,\n connector: PublicConnectorStatus,\n): ScoreHit | null {\n const candidateTokens = new Set<string>();\n for (const source of publicStrings(connector)) {\n for (const token of tokenize(source)) {\n candidateTokens.add(token);\n }\n }\n\n let intersection = 0;\n let firstCommon = \"\";\n for (const token of keywordTokens) {\n if (candidateTokens.has(token)) {\n intersection++;\n if (!firstCommon) firstCommon = token;\n }\n }\n if (intersection === 0) return null;\n return { score: 10 * intersection, matchedField: `token:${firstCommon}` };\n}\n\nfunction scoreConnector(\n keywordLower: string,\n keyword: string,\n keywordTokens: ReadonlySet<string>,\n connector: PublicConnectorStatus,\n): ScoreHit | null {\n const skipPrivateIdentifierMatches =\n /^[A-Za-z0-9_]+$/.test(keyword) && keyword.includes(\"_\");\n const tokenHit = skipPrivateIdentifierMatches\n ? null\n : scoreTokens(keywordTokens, connector);\n const hit = best([\n scoreExact(keywordLower, skipPrivateIdentifierMatches, connector),\n scoreSubstring(keywordLower, skipPrivateIdentifierMatches, connector),\n tokenHit,\n ]);\n if (!hit || hit.score < MIN_SCORE) return null;\n return hit;\n}\n\nexport function searchPublicConnectorCatalog(\n connectors: readonly PublicConnectorStatus[],\n keyword: string,\n limit: number,\n): PublicConnectorSearchOutput {\n const trimmed = keyword.trim();\n if (!trimmed) return { results: [], total: 0 };\n\n const keywordLower = trimmed.toLowerCase();\n const keywordTokens = tokenize(trimmed);\n const hits = connectors.flatMap(\n (connector): PublicConnectorSearchResult[] => {\n const hit = scoreConnector(\n keywordLower,\n trimmed,\n keywordTokens,\n connector,\n );\n if (!hit) return [];\n return [\n {\n connector,\n score: hit.score,\n matchedField: hit.matchedField,\n },\n ];\n },\n );\n\n hits.sort((a, b) => {\n if (b.score !== a.score) return b.score - a.score;\n return a.connector.connectorRef.localeCompare(b.connector.connectorRef);\n });\n\n return {\n results: hits.slice(0, limit),\n total: hits.length,\n };\n}\n\nexport function findConnectorStatusItem(\n connectors: readonly PublicConnectorStatus[],\n connectorRef: string,\n): PublicConnectorStatus | null {\n const exact = connectors.find((connector) => {\n return connector.connectorRef === connectorRef;\n });\n if (exact) return exact;\n\n const lower = connectorRef.toLowerCase();\n return (\n connectors.find((connector) => {\n return connector.connectorRef.toLowerCase() === lower;\n }) ?? null\n );\n}\n\nexport function availableConnectorRefs(\n connectors: readonly PublicConnectorStatus[],\n): string {\n return connectors\n .map((connector) => {\n return connector.connectorRef;\n })\n .join(\", \");\n}\n\nexport function resolveManualGrantAuthMethod(\n connector: PublicConnectorStatus,\n rawAuthMethod: string | undefined,\n): PublicConnectorCatalogAuthMethodDetail {\n if (rawAuthMethod) {\n const authMethod = connector.authMethods.find((method) => {\n return method.id === rawAuthMethod;\n });\n if (!authMethod) {\n throw new Error(\n `${connector.connectorRef} connector does not have ${rawAuthMethod} auth method`,\n {\n cause: new Error(\n `Available auth methods: ${connector.authMethods\n .map((method) => {\n return method.id;\n })\n .join(\", \")}`,\n ),\n },\n );\n }\n\n if (authMethod.grantKind === \"manual\") {\n return authMethod;\n }\n\n throw new Error(\n `${connector.connectorRef} ${authMethod.id} auth method does not use a manual grant`,\n );\n }\n\n const manualAuthMethods = connector.authMethods.filter((method) => {\n return method.grantKind === \"manual\";\n });\n const authMethod = manualAuthMethods[0];\n if (manualAuthMethods.length === 1 && authMethod) {\n return authMethod;\n }\n if (manualAuthMethods.length === 0) {\n throw new Error(\n `${connector.connectorRef} connector does not use a manual grant`,\n );\n }\n\n throw new Error(\n `${connector.connectorRef} connector has multiple manual grant auth methods`,\n {\n cause: new Error(\n `Pass --auth-method ${manualAuthMethods\n .map((method) => {\n return method.id;\n })\n .join(\"|\")}`,\n ),\n },\n );\n}\n","import { getZeroAgent, getZeroAgentUserConnectors } from \"../../../lib/api\";\n\ninterface AgentContext {\n agentId: string;\n displayName: string;\n authorizedTypes: Set<string>;\n}\n\nexport async function resolveAgentContext(\n flagAgentId: string | undefined,\n): Promise<AgentContext | null> {\n const agentId = flagAgentId ?? process.env.ZERO_AGENT_ID;\n if (!agentId) return null;\n\n const [agent, enabledTypes] = await Promise.all([\n getZeroAgent(agentId),\n getZeroAgentUserConnectors(agentId),\n ]);\n\n return {\n agentId: agent.agentId,\n displayName: agent.displayName ?? agent.agentId,\n authorizedTypes: new Set(enabledTypes),\n };\n}\n"],"mappings":"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","names":["authMethod"]}
|
|
@@ -50,7 +50,7 @@ if (DSN) {
|
|
|
50
50
|
Sentry.init({
|
|
51
51
|
dsn: DSN,
|
|
52
52
|
environment: process.env.SENTRY_ENVIRONMENT ?? "production",
|
|
53
|
-
release: "9.240.
|
|
53
|
+
release: "9.240.10",
|
|
54
54
|
sendDefaultPii: false,
|
|
55
55
|
tracesSampleRate: 0,
|
|
56
56
|
shutdownTimeout: 500,
|
|
@@ -69,7 +69,7 @@ if (DSN) {
|
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
71
|
Sentry.setContext("cli", {
|
|
72
|
-
version: "9.240.
|
|
72
|
+
version: "9.240.10",
|
|
73
73
|
command: process.argv.slice(2).join(" ")
|
|
74
74
|
});
|
|
75
75
|
Sentry.setContext("runtime", {
|
|
@@ -146,4 +146,4 @@ async function configureGlobalProxyFromEnv() {
|
|
|
146
146
|
export {
|
|
147
147
|
configureGlobalProxyFromEnv
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-5W26XTGP.js.map
|
|
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
getApiUrl
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TTOETZE7.js";
|
|
7
7
|
import {
|
|
8
8
|
init_esm_shims
|
|
9
9
|
} from "./chunk-DIRAZ3YX.js";
|
|
@@ -35,4 +35,4 @@ export {
|
|
|
35
35
|
toPlatformUrl,
|
|
36
36
|
getPlatformOrigin
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=chunk-
|
|
38
|
+
//# sourceMappingURL=chunk-GBODX3GS.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
getEvents,
|
|
13
13
|
runnerGroupSchema,
|
|
14
14
|
zeroAgentVisibilitySchema
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UETYUI63.js";
|
|
16
16
|
import {
|
|
17
17
|
apiErrorSchema,
|
|
18
18
|
external_exports,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
supportedRunModelSchema,
|
|
25
25
|
upsertModelProviderRequestSchema,
|
|
26
26
|
upsertModelProviderResponseSchema
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-TTOETZE7.js";
|
|
28
28
|
import {
|
|
29
29
|
__commonJS,
|
|
30
30
|
__require,
|
|
@@ -29473,6 +29473,7 @@ var teamsInboundMessageActivitySchema = teamsActivityBaseSchema.extend(
|
|
|
29473
29473
|
var teamsConversationUpdateActivitySchema = teamsActivityBaseSchema.extend({
|
|
29474
29474
|
kind: external_exports.literal("conversation_update"),
|
|
29475
29475
|
action: external_exports.enum(["members_added", "members_removed", "unknown"]),
|
|
29476
|
+
sender: teamsActorSchema,
|
|
29476
29477
|
recipient: teamsActorSchema,
|
|
29477
29478
|
membersAdded: external_exports.array(teamsActorSchema),
|
|
29478
29479
|
membersRemoved: external_exports.array(teamsActorSchema)
|
|
@@ -29486,6 +29487,7 @@ var teamsBotRemovedActivitySchema = teamsActivityBaseSchema.extend({
|
|
|
29486
29487
|
var teamsInstallationUpdateActivitySchema = teamsActivityBaseSchema.extend({
|
|
29487
29488
|
kind: external_exports.literal("installation_update"),
|
|
29488
29489
|
action: external_exports.enum(["add", "unknown"]),
|
|
29490
|
+
sender: teamsActorSchema,
|
|
29489
29491
|
recipient: teamsActorSchema.nullable()
|
|
29490
29492
|
});
|
|
29491
29493
|
var teamsUnsupportedActivitySchema = external_exports.object({
|
|
@@ -31395,6 +31397,12 @@ var FEATURE_SWITCHES = {
|
|
|
31395
31397
|
enabled: false,
|
|
31396
31398
|
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
31397
31399
|
},
|
|
31400
|
+
["zeroWebSearch" /* ZeroWebSearch */]: {
|
|
31401
|
+
maintainer: "liangyou@vm0.ai",
|
|
31402
|
+
description: "Enable the managed Perplexity-backed Zero Web Search API and web-search:read ZERO_TOKEN capability.",
|
|
31403
|
+
enabled: false,
|
|
31404
|
+
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
31405
|
+
},
|
|
31398
31406
|
["banking" /* Banking */]: {
|
|
31399
31407
|
maintainer: "linghan@vm0.ai",
|
|
31400
31408
|
description: "Enable the managed Zero Banking gateway and banking:read ZERO_TOKEN capability for Finicity-backed accounts, balances, and transactions.",
|
|
@@ -31535,6 +31543,12 @@ var FEATURE_SWITCHES = {
|
|
|
31535
31543
|
enabled: false,
|
|
31536
31544
|
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
31537
31545
|
},
|
|
31546
|
+
["composerChatThreadSuggestions" /* ComposerChatThreadSuggestions */]: {
|
|
31547
|
+
maintainer: "ethan@vm0.ai",
|
|
31548
|
+
description: "Suggest titled chat threads from the current agent when typing @ in the chat composer.",
|
|
31549
|
+
enabled: false,
|
|
31550
|
+
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
31551
|
+
},
|
|
31538
31552
|
["sidebarManageIconCollapse" /* SidebarManageIconCollapse */]: {
|
|
31539
31553
|
maintainer: "ming@vm0.ai",
|
|
31540
31554
|
description: "Show icon-only manage navigation buttons when the expanded sidebar manage section is collapsed.",
|
|
@@ -31598,7 +31612,7 @@ var FEATURE_SWITCHES = {
|
|
|
31598
31612
|
["chatMessageQueue" /* ChatMessageQueue */]: {
|
|
31599
31613
|
maintainer: "lancy@vm0.ai",
|
|
31600
31614
|
description: "Queue-first user message dispatch: sends enqueue a chat_message_queue item and claim it in place instead of the legacy revoke-claim convention.",
|
|
31601
|
-
enabled:
|
|
31615
|
+
enabled: false,
|
|
31602
31616
|
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
31603
31617
|
},
|
|
31604
31618
|
["orgPlanEntitlementReads" /* OrgPlanEntitlementReads */]: {
|
|
@@ -31614,6 +31628,12 @@ var FEATURE_SWITCHES = {
|
|
|
31614
31628
|
enabled: false,
|
|
31615
31629
|
enabledOrgIdHashes: STAFF_ORG_ID_HASHES,
|
|
31616
31630
|
userOverridable: false
|
|
31631
|
+
},
|
|
31632
|
+
["zeroMail" /* ZeroMail */]: {
|
|
31633
|
+
maintainer: "yuma@vm0.ai",
|
|
31634
|
+
description: "Enable persistent Gmail and Outlook draft cards created through the Zero Mail CLI.",
|
|
31635
|
+
enabled: false,
|
|
31636
|
+
enabledOrgIdHashes: STAFF_ORG_ID_HASHES
|
|
31617
31637
|
}
|
|
31618
31638
|
};
|
|
31619
31639
|
|
|
@@ -33946,4 +33966,4 @@ export {
|
|
|
33946
33966
|
collectLogItems,
|
|
33947
33967
|
parseSearchQuery
|
|
33948
33968
|
};
|
|
33949
|
-
//# sourceMappingURL=chunk-
|
|
33969
|
+
//# sourceMappingURL=chunk-GQUSLMB4.js.map
|