@vm0/cli 9.264.7 → 9.264.8

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.
Files changed (108) hide show
  1. package/{agent-7TQZ2JNP.js → agent-4MCHGF7N.js} +20 -15
  2. package/{agent-7TQZ2JNP.js.map → agent-4MCHGF7N.js.map} +1 -1
  3. package/{banking-XMPJDCX4.js → banking-GXQ7POKU.js} +4 -4
  4. package/{browser-EFDP23US.js → browser-KSZXTUQA.js} +4 -4
  5. package/{chat-3I3QSPCW.js → chat-5WGKZHMB.js} +5 -5
  6. package/{chunk-MIVNAXCC.js → chunk-2KEUNCZT.js} +2 -2
  7. package/{chunk-R6EQANV5.js → chunk-7WMNSSBC.js} +6 -6
  8. package/chunk-7WMNSSBC.js.map +1 -0
  9. package/{chunk-KD6CU6C6.js → chunk-AOHVC7EW.js} +2 -3
  10. package/chunk-AOHVC7EW.js.map +1 -0
  11. package/{chunk-SQ4ZYZMV.js → chunk-B5VQCVCY.js} +29 -24
  12. package/chunk-B5VQCVCY.js.map +1 -0
  13. package/{chunk-CTAGNU3W.js → chunk-IYS3T6IA.js} +2 -2
  14. package/{chunk-JQSR2FQW.js → chunk-KCVBW7AC.js} +88 -56
  15. package/chunk-KCVBW7AC.js.map +1 -0
  16. package/{chunk-O2ZRRF6W.js → chunk-TCZ2FX3X.js} +2 -2
  17. package/{chunk-4YEMIZDG.js → chunk-WUJWUDPD.js} +9 -9
  18. package/{chunk-4YEMIZDG.js.map → chunk-WUJWUDPD.js.map} +1 -1
  19. package/{chunk-DHADLTRS.js → chunk-XAVHX57D.js} +2 -2
  20. package/{chunk-D53LZEPV.js → chunk-YV3LWRZZ.js} +23 -8
  21. package/{chunk-D53LZEPV.js.map → chunk-YV3LWRZZ.js.map} +1 -1
  22. package/{computer-use-PLMPMCUY.js → computer-use-7IYJ2JNT.js} +4 -4
  23. package/{connector-45KWH4GF.js → connector-RUCYHNTI.js} +119 -108
  24. package/connector-RUCYHNTI.js.map +1 -0
  25. package/{credit-Q6RGVKM6.js → credit-SWBRMGXY.js} +5 -5
  26. package/{developer-support-RLFWS3US.js → developer-support-FTYPJJ6Q.js} +4 -4
  27. package/{doctor-NTJCG5E3.js → doctor-6AOKR5UU.js} +5 -5
  28. package/{feishu-KKWRQ2BO.js → feishu-VHY2XR6D.js} +4 -4
  29. package/{finance-OVJSFJE5.js → finance-4ZD3LPNN.js} +4 -4
  30. package/{generate-GKI4KYTD.js → generate-ULUL52MM.js} +31 -25
  31. package/generate-ULUL52MM.js.map +1 -0
  32. package/{github-WLWS3NDF.js → github-A3C3OGLD.js} +4 -4
  33. package/{goal-V7MRASUE.js → goal-EB5VK2GK.js} +4 -4
  34. package/{host-QRNSGCEI.js → host-BYHZZN2I.js} +4 -4
  35. package/{logs-4TC3XVNS.js → logs-IFUUWA54.js} +6 -6
  36. package/{mail-IEXIV6SF.js → mail-YI5KA3CI.js} +15 -15
  37. package/mail-YI5KA3CI.js.map +1 -0
  38. package/{maps-GR6M6KB4.js → maps-KTC5S7FA.js} +4 -4
  39. package/{model-UNL2R4ZB.js → model-AYKQFU7E.js} +5 -5
  40. package/{model-provider-T3PLIV44.js → model-provider-4MKVAZCR.js} +5 -5
  41. package/{org-RYVXLOYP.js → org-IZAWNWIE.js} +4 -4
  42. package/package.json +1 -1
  43. package/{people-search-VLZ7NPR7.js → people-search-J45HXJB3.js} +4 -4
  44. package/{phone-PPVFHJC2.js → phone-YSGX6TYA.js} +4 -4
  45. package/{preference-MNUW5R5G.js → preference-O6URTHMQ.js} +4 -4
  46. package/{resource-4SKQNOTT.js → resource-FKEP5R3M.js} +4 -4
  47. package/{scrape-W4DWXZ7B.js → scrape-TO3EO4NH.js} +4 -4
  48. package/{search-YHU5HQOW.js → search-PUZI5HRX.js} +6 -6
  49. package/{secret-A7VJZCL5.js → secret-6PYNLRMC.js} +4 -4
  50. package/{slack-O6RAMJBK.js → slack-6TBB72IQ.js} +4 -4
  51. package/{teams-BYZY4YZT.js → teams-TCTUKRSH.js} +4 -4
  52. package/{telegram-LOP4EISR.js → telegram-PD2GOYYR.js} +4 -4
  53. package/{upgrade-5VBTF5UN.js → upgrade-GOWPZRKS.js} +3 -3
  54. package/{variable-MGQ6QHX2.js → variable-RNHRIK7S.js} +4 -4
  55. package/{video-5H3CCX2T.js → video-HWANWKDT.js} +3 -3
  56. package/{weather-MVJYZQWZ.js → weather-IWQDSXJG.js} +4 -4
  57. package/{web-CQ2W6UFJ.js → web-5RDGLDVJ.js} +4 -4
  58. package/{web-search-JFBZWJPA.js → web-search-7SV3KXHO.js} +4 -4
  59. package/{whoami-ZPH3YLXD.js → whoami-CUHEGGL2.js} +12 -12
  60. package/whoami-CUHEGGL2.js.map +1 -0
  61. package/{workflow-3Q4DQDHW.js → workflow-UGDNPUJG.js} +5 -5
  62. package/zero.js +43 -43
  63. package/chunk-JQSR2FQW.js.map +0 -1
  64. package/chunk-KD6CU6C6.js.map +0 -1
  65. package/chunk-R6EQANV5.js.map +0 -1
  66. package/chunk-SQ4ZYZMV.js.map +0 -1
  67. package/connector-45KWH4GF.js.map +0 -1
  68. package/generate-GKI4KYTD.js.map +0 -1
  69. package/mail-IEXIV6SF.js.map +0 -1
  70. package/whoami-ZPH3YLXD.js.map +0 -1
  71. /package/{banking-XMPJDCX4.js.map → banking-GXQ7POKU.js.map} +0 -0
  72. /package/{browser-EFDP23US.js.map → browser-KSZXTUQA.js.map} +0 -0
  73. /package/{chat-3I3QSPCW.js.map → chat-5WGKZHMB.js.map} +0 -0
  74. /package/{chunk-MIVNAXCC.js.map → chunk-2KEUNCZT.js.map} +0 -0
  75. /package/{chunk-CTAGNU3W.js.map → chunk-IYS3T6IA.js.map} +0 -0
  76. /package/{chunk-O2ZRRF6W.js.map → chunk-TCZ2FX3X.js.map} +0 -0
  77. /package/{chunk-DHADLTRS.js.map → chunk-XAVHX57D.js.map} +0 -0
  78. /package/{computer-use-PLMPMCUY.js.map → computer-use-7IYJ2JNT.js.map} +0 -0
  79. /package/{credit-Q6RGVKM6.js.map → credit-SWBRMGXY.js.map} +0 -0
  80. /package/{developer-support-RLFWS3US.js.map → developer-support-FTYPJJ6Q.js.map} +0 -0
  81. /package/{doctor-NTJCG5E3.js.map → doctor-6AOKR5UU.js.map} +0 -0
  82. /package/{feishu-KKWRQ2BO.js.map → feishu-VHY2XR6D.js.map} +0 -0
  83. /package/{finance-OVJSFJE5.js.map → finance-4ZD3LPNN.js.map} +0 -0
  84. /package/{github-WLWS3NDF.js.map → github-A3C3OGLD.js.map} +0 -0
  85. /package/{goal-V7MRASUE.js.map → goal-EB5VK2GK.js.map} +0 -0
  86. /package/{host-QRNSGCEI.js.map → host-BYHZZN2I.js.map} +0 -0
  87. /package/{logs-4TC3XVNS.js.map → logs-IFUUWA54.js.map} +0 -0
  88. /package/{maps-GR6M6KB4.js.map → maps-KTC5S7FA.js.map} +0 -0
  89. /package/{model-UNL2R4ZB.js.map → model-AYKQFU7E.js.map} +0 -0
  90. /package/{model-provider-T3PLIV44.js.map → model-provider-4MKVAZCR.js.map} +0 -0
  91. /package/{org-RYVXLOYP.js.map → org-IZAWNWIE.js.map} +0 -0
  92. /package/{people-search-VLZ7NPR7.js.map → people-search-J45HXJB3.js.map} +0 -0
  93. /package/{phone-PPVFHJC2.js.map → phone-YSGX6TYA.js.map} +0 -0
  94. /package/{preference-MNUW5R5G.js.map → preference-O6URTHMQ.js.map} +0 -0
  95. /package/{resource-4SKQNOTT.js.map → resource-FKEP5R3M.js.map} +0 -0
  96. /package/{scrape-W4DWXZ7B.js.map → scrape-TO3EO4NH.js.map} +0 -0
  97. /package/{search-YHU5HQOW.js.map → search-PUZI5HRX.js.map} +0 -0
  98. /package/{secret-A7VJZCL5.js.map → secret-6PYNLRMC.js.map} +0 -0
  99. /package/{slack-O6RAMJBK.js.map → slack-6TBB72IQ.js.map} +0 -0
  100. /package/{teams-BYZY4YZT.js.map → teams-TCTUKRSH.js.map} +0 -0
  101. /package/{telegram-LOP4EISR.js.map → telegram-PD2GOYYR.js.map} +0 -0
  102. /package/{upgrade-5VBTF5UN.js.map → upgrade-GOWPZRKS.js.map} +0 -0
  103. /package/{variable-MGQ6QHX2.js.map → variable-RNHRIK7S.js.map} +0 -0
  104. /package/{video-5H3CCX2T.js.map → video-HWANWKDT.js.map} +0 -0
  105. /package/{weather-MVJYZQWZ.js.map → weather-IWQDSXJG.js.map} +0 -0
  106. /package/{web-CQ2W6UFJ.js.map → web-5RDGLDVJ.js.map} +0 -0
  107. /package/{web-search-JFBZWJPA.js.map → web-search-7SV3KXHO.js.map} +0 -0
  108. /package/{workflow-3Q4DQDHW.js.map → workflow-UGDNPUJG.js.map} +0 -0
@@ -12,12 +12,12 @@ import {
12
12
  fetchComputerUseScreenshot,
13
13
  getComputerUseCommand,
14
14
  listComputerUseHosts
15
- } from "./chunk-JQSR2FQW.js";
16
- import "./chunk-O2ZRRF6W.js";
15
+ } from "./chunk-KCVBW7AC.js";
16
+ import "./chunk-TCZ2FX3X.js";
17
17
  import {
18
18
  ApiRequestError,
19
19
  withErrorHandler
20
- } from "./chunk-MIVNAXCC.js";
20
+ } from "./chunk-2KEUNCZT.js";
21
21
  import "./chunk-MD3YWUKO.js";
22
22
  import {
23
23
  Command
@@ -970,4 +970,4 @@ export {
970
970
  formatComputerUseResultForConsole,
971
971
  zeroComputerUseCommand
972
972
  };
973
- //# sourceMappingURL=computer-use-PLMPMCUY.js.map
973
+ //# sourceMappingURL=computer-use-7IYJ2JNT.js.map
@@ -3,11 +3,11 @@ import { createRequire as __createRequire } from "node:module";
3
3
  const require = __createRequire(import.meta.url);
4
4
  import {
5
5
  findFirewallMetadataPermission
6
- } from "./chunk-R6EQANV5.js";
6
+ } from "./chunk-7WMNSSBC.js";
7
7
  import {
8
8
  CALLBACK_PROMPT_PLACEHOLDER,
9
9
  addRequestedCallbackSearchParams,
10
- availableConnectorRefs,
10
+ availableConnectorSlugs,
11
11
  connectorActionCallbackAvailable,
12
12
  connectorActionUrl,
13
13
  currentChatSupportsActionCallback,
@@ -17,7 +17,7 @@ import {
17
17
  resolveAgentContext,
18
18
  resolveManualGrantAuthMethod,
19
19
  searchPublicConnectorCatalog
20
- } from "./chunk-4YEMIZDG.js";
20
+ } from "./chunk-WUJWUDPD.js";
21
21
  import {
22
22
  UNKNOWN_PERMISSION_GRANT,
23
23
  connectZeroConnectorManualGrant,
@@ -33,19 +33,19 @@ import {
33
33
  getZeroCustomConnector,
34
34
  listZeroConnectorCatalogStatus,
35
35
  listZeroCustomConnectors
36
- } from "./chunk-JQSR2FQW.js";
37
- import "./chunk-O2ZRRF6W.js";
36
+ } from "./chunk-KCVBW7AC.js";
37
+ import "./chunk-TCZ2FX3X.js";
38
38
  import {
39
39
  getPlatformOrigin,
40
40
  toPlatformUrl
41
- } from "./chunk-CTAGNU3W.js";
41
+ } from "./chunk-IYS3T6IA.js";
42
42
  import "./chunk-MA22KQYU.js";
43
43
  import {
44
44
  ApiRequestError,
45
45
  getApiUrl,
46
46
  source_default,
47
47
  withErrorHandler
48
- } from "./chunk-MIVNAXCC.js";
48
+ } from "./chunk-2KEUNCZT.js";
49
49
  import "./chunk-MD3YWUKO.js";
50
50
  import {
51
51
  Command,
@@ -63,12 +63,12 @@ init_esm_shims();
63
63
 
64
64
  // src/commands/zero/connector/computer-use-guidance.ts
65
65
  init_esm_shims();
66
- var COMPUTER_USE_CONNECTOR_REF = "computer-use";
66
+ var COMPUTER_USE_CONNECTOR_SLUG = "computer-use";
67
67
  var COMPUTER_USE_CAPABILITY = "computer-use:write";
68
68
  var COMPUTER_USE_PATH_PREFIX = "/computer-use";
69
69
  var COMPUTER_USE_PATH_PREFIX_WITH_SLASH = `${COMPUTER_USE_PATH_PREFIX}/`;
70
70
  function isComputerUsePermissionTarget(target) {
71
- return target.connectorRef === COMPUTER_USE_CONNECTOR_REF || target.permission === COMPUTER_USE_CAPABILITY || target.path === COMPUTER_USE_PATH_PREFIX || target.path?.startsWith(COMPUTER_USE_PATH_PREFIX_WITH_SLASH) === true;
71
+ return target.connectorSlug === COMPUTER_USE_CONNECTOR_SLUG || target.permission === COMPUTER_USE_CAPABILITY || target.path === COMPUTER_USE_PATH_PREFIX || target.path?.startsWith(COMPUTER_USE_PATH_PREFIX_WITH_SLASH) === true;
72
72
  }
73
73
  function printComputerUsePermissionGuidance() {
74
74
  console.log("Computer Use access is not managed as a connector permission.");
@@ -108,10 +108,10 @@ function rawUrlAuthorityHasUserinfo(url) {
108
108
  function shellQuoteArg(value) {
109
109
  return `'${value.replaceAll("'", "'\\''")}'`;
110
110
  }
111
- function connectorSelectionCommand(url, method, connectorRef) {
111
+ function connectorSelectionCommand(url, method, connectorSlug) {
112
112
  const args = [
113
113
  `--url ${shellQuoteArg(url)}`,
114
- `--connector ${shellQuoteArg(connectorRef)}`
114
+ `--connector ${shellQuoteArg(connectorSlug)}`
115
115
  ];
116
116
  if (method !== "GET") {
117
117
  args.push(`--method ${shellQuoteArg(method)}`);
@@ -127,7 +127,7 @@ function rawPathFromUrl(url) {
127
127
  }
128
128
  function isComputerUseCheckTarget(opts) {
129
129
  return isComputerUsePermissionTarget({
130
- connectorRef: opts.connector ?? "",
130
+ connectorSlug: opts.connector ?? "",
131
131
  path: opts.url === void 0 ? void 0 : rawPathFromUrl(opts.url),
132
132
  permission: opts.checkPermission
133
133
  });
@@ -239,9 +239,9 @@ function noMatchError(result) {
239
239
  );
240
240
  }
241
241
  function connectorMismatchError(request, result) {
242
- const requestedRef = request.connectorRef ?? "the requested connector";
242
+ const requestedSlug = request.connectorRef ?? "the requested connector";
243
243
  return new Error(
244
- `Connector ${requestedRef} does not own ${request.method} ${request.url}; the matching connector is ${result.connector.connectorRef}
244
+ `Connector ${requestedSlug} does not own ${request.method} ${request.url}; the matching connector is ${result.connector.connectorRef}
245
245
  Run: ${connectorSelectionCommand(request.url, request.method, result.connector.connectorRef)}`
246
246
  );
247
247
  }
@@ -327,7 +327,7 @@ function printConnectorConnectionStatus(ctx, isConnected, isExpired, hasPermissi
327
327
  if (ctx.agentId && hasPermission) {
328
328
  const connectUrl = connectorActionUrl({
329
329
  origin: ctx.platformOrigin,
330
- path: `/connectors/${ctx.connectorRef}/connect`,
330
+ path: `/connectors/${ctx.connectorSlug}/connect`,
331
331
  agentId: ctx.agentId
332
332
  });
333
333
  console.log(`Connect it at: [Connect ${ctx.label}](${connectUrl})`);
@@ -335,14 +335,14 @@ function printConnectorConnectionStatus(ctx, isConnected, isExpired, hasPermissi
335
335
  } else if (!ctx.agentId) {
336
336
  const connectUrl = connectorActionUrl({
337
337
  origin: ctx.platformOrigin,
338
- path: `/connectors/${ctx.connectorRef}/connect`
338
+ path: `/connectors/${ctx.connectorSlug}/connect`
339
339
  });
340
340
  console.log(`Connect it at: [Connect ${ctx.label}](${connectUrl})`);
341
341
  }
342
342
  } else if (isExpired) {
343
343
  const url = connectorActionUrl({
344
344
  origin: ctx.platformOrigin,
345
- path: `/connectors/${ctx.connectorRef}/connect`,
345
+ path: `/connectors/${ctx.connectorSlug}/connect`,
346
346
  agentId: ctx.agentId
347
347
  });
348
348
  console.log(
@@ -369,7 +369,7 @@ function printAgentAuthorizationStatus(ctx, isConnected, isExpired, hasPermissio
369
369
  } else {
370
370
  const url = connectorActionUrl({
371
371
  origin: ctx.platformOrigin,
372
- path: `/connectors/${ctx.connectorRef}/authorize`,
372
+ path: `/connectors/${ctx.connectorSlug}/authorize`,
373
373
  agentId: ctx.agentId
374
374
  });
375
375
  console.log(
@@ -439,13 +439,13 @@ async function checkConnectorStatus(ctx) {
439
439
  "A Connector holds the real credentials (OAuth tokens or API keys) for an external service. These credentials are never injected into the sandbox. Instead, when the sandbox sends an HTTP request to a base URL registered by the Connector, the network boundary intercepts the request and replaces the auth headers with real credentials. For this to work, three conditions must be met:"
440
440
  );
441
441
  console.log("");
442
- const [connector, enabledTypes] = await Promise.all([
443
- getZeroConnector(ctx.connectorRef),
442
+ const [connector, enabledConnectorSlugs] = await Promise.all([
443
+ getZeroConnector(ctx.connectorSlug),
444
444
  ctx.agentId ? getZeroAgentUserConnectors(ctx.agentId) : Promise.resolve(null)
445
445
  ]);
446
446
  const isConnected = connector !== null;
447
447
  const isExpired = connector?.connectionStatus === "reconnect-required";
448
- const hasPermission = enabledTypes !== null && enabledTypes.includes(ctx.connectorRef);
448
+ const hasPermission = enabledConnectorSlugs !== null && enabledConnectorSlugs.includes(ctx.connectorSlug);
449
449
  printConnectorConnectionStatus(ctx, isConnected, isExpired, hasPermission);
450
450
  printConnectorAuthorizationStatus(ctx, isConnected, isExpired, hasPermission);
451
451
  return { isConnected, isExpired, hasPermission };
@@ -507,7 +507,7 @@ function printUnavailablePolicy(policy) {
507
507
  return;
508
508
  }
509
509
  }
510
- function printNamedPolicyResult(connectorRef, permission, policy, agentId) {
510
+ function printNamedPolicyResult(connectorSlug, permission, policy, agentId) {
511
511
  switch (policy.outcome) {
512
512
  case "allow": {
513
513
  switch (policy.basis) {
@@ -539,7 +539,7 @@ function printNamedPolicyResult(connectorRef, permission, policy, agentId) {
539
539
  policy.basis === "deny-list" ? `Result: "${permission}" is in the deny list \u2014 denied.` : `Result: The unknown-endpoint policy denies "${permission}".`
540
540
  );
541
541
  printPermissionRequestCommands(
542
- connectorRef,
542
+ connectorSlug,
543
543
  permission,
544
544
  agentId,
545
545
  "To request this permission, run"
@@ -550,7 +550,7 @@ function printNamedPolicyResult(connectorRef, permission, policy, agentId) {
550
550
  policy.basis === "ask-list" ? `Result: "${permission}" is in the ask list \u2014 blocked until approval.` : `Result: The unknown-endpoint policy blocks "${permission}" until approval.`
551
551
  );
552
552
  printPermissionRequestCommands(
553
- connectorRef,
553
+ connectorSlug,
554
554
  permission,
555
555
  agentId,
556
556
  "To request this permission, run"
@@ -561,11 +561,11 @@ function printNamedPolicyResult(connectorRef, permission, policy, agentId) {
561
561
  return;
562
562
  }
563
563
  }
564
- function permissionRequestCommand(connectorRef, permission) {
565
- return `zero connector permission-request ${connectorRef} --permission ${permission}`;
564
+ function permissionRequestCommand(connectorSlug, permission) {
565
+ return `zero connector permission-request ${connectorSlug} --permission ${permission}`;
566
566
  }
567
- function printPermissionRequestCommands(connectorRef, permission, agentId, introduction) {
568
- const command = permissionRequestCommand(connectorRef, permission);
567
+ function printPermissionRequestCommands(connectorSlug, permission, agentId, introduction) {
568
+ const command = permissionRequestCommand(connectorSlug, permission);
569
569
  console.log(`${introduction}: ${command}`);
570
570
  if (!currentChatSupportsActionCallback(agentId)) {
571
571
  return;
@@ -576,7 +576,7 @@ function printPermissionRequestCommands(connectorRef, permission, agentId, intro
576
576
  );
577
577
  console.log(`${command} --callback-prompt "${CALLBACK_PROMPT_PLACEHOLDER}"`);
578
578
  }
579
- function printUnknownEndpointPolicy(connectorRef, policy, agentId) {
579
+ function printUnknownEndpointPolicy(connectorSlug, policy, agentId) {
580
580
  switch (policy.outcome) {
581
581
  case "allow":
582
582
  console.log(
@@ -588,7 +588,7 @@ function printUnknownEndpointPolicy(connectorRef, policy, agentId) {
588
588
  "Result: No permission matched. The unknown endpoint policy denies this request."
589
589
  );
590
590
  printPermissionRequestCommands(
591
- connectorRef,
591
+ connectorSlug,
592
592
  "__unknown__",
593
593
  agentId,
594
594
  "To request access to unknown endpoints, run"
@@ -599,7 +599,7 @@ function printUnknownEndpointPolicy(connectorRef, policy, agentId) {
599
599
  "Result: No permission matched. The unknown endpoint policy requires approval."
600
600
  );
601
601
  printPermissionRequestCommands(
602
- connectorRef,
602
+ connectorSlug,
603
603
  "__unknown__",
604
604
  agentId,
605
605
  "To request access to unknown endpoints, run"
@@ -704,6 +704,7 @@ var checkConnectorCommand = new Command().name("check").description(
704
704
  "A full URL to diagnose \u2014 matches connector ownership, route environment names, and permission (e.g. https://api.github.com/repos/owner/repo)"
705
705
  )
706
706
  ).addOption(
707
+ // TODO(#23619): Rename this stable CLI option value label in the CLI rollout.
707
708
  new Option(
708
709
  "--connector <type>",
709
710
  "Select the connector when multiple connectors own the same URL route"
@@ -751,7 +752,7 @@ How connectors work:
751
752
  const platformUrl = toPlatformUrl(await getApiUrl());
752
753
  const ctx = {
753
754
  environmentNames: diagnosticEnvironmentNames(result),
754
- connectorRef: result.connector.connectorRef,
755
+ connectorSlug: result.connector.connectorRef,
755
756
  label: result.connector.label,
756
757
  connectorAvailable: result.connector.visibility === "available",
757
758
  credentialResolution: result.connector.credentialResolution,
@@ -822,17 +823,17 @@ var connectCommand = new Command().name("connect").description("Connect a connec
822
823
  collectValue,
823
824
  []
824
825
  ).option("--json", "Print the connector response as JSON").action(
825
- withErrorHandler(async (type, options) => {
826
+ withErrorHandler(async (connectorSlug, options) => {
826
827
  const values = parseConnectorValues(options.value);
827
828
  const catalog = await listZeroConnectorCatalogStatus();
828
829
  const connectorMetadata = findConnectorStatusItem(
829
830
  catalog.connectors,
830
- type
831
+ connectorSlug
831
832
  );
832
833
  if (!connectorMetadata) {
833
- throw new Error(`Unknown or unavailable connector: ${type}`, {
834
+ throw new Error(`Unknown or unavailable connector: ${connectorSlug}`, {
834
835
  cause: new Error(
835
- `Available connectors: ${availableConnectorRefs(catalog.connectors)}`
836
+ `Available connectors: ${availableConnectorSlugs(catalog.connectors)}`
836
837
  )
837
838
  });
838
839
  }
@@ -899,13 +900,13 @@ var listCommand = new Command().name("list").alias("ls").description("List all c
899
900
  listZeroConnectorCatalogStatus(),
900
901
  resolveAgentContext(options.agent)
901
902
  ]);
902
- const allTypes = connectors.map((connector) => {
903
+ const connectorSlugs = connectors.map((connector) => {
903
904
  return connector.connectorRef;
904
905
  });
905
- const typeWidth = Math.max(
906
+ const connectorSlugWidth = Math.max(
906
907
  4,
907
- ...allTypes.map((t) => {
908
- return t.length;
908
+ ...connectorSlugs.map((connectorSlug) => {
909
+ return connectorSlug.length;
909
910
  })
910
911
  );
911
912
  const connectedAsHeader = "CONNECTED AS";
@@ -920,18 +921,18 @@ var listCommand = new Command().name("list").alias("ls").description("List all c
920
921
  );
921
922
  const authorizedHeader = agentCtx ? `AUTHORIZED FOR ${agentCtx.displayName}` : null;
922
923
  const headerParts = [
923
- "TYPE".padEnd(typeWidth),
924
+ "TYPE".padEnd(connectorSlugWidth),
924
925
  connectedAsHeader.padEnd(connectedAsWidth)
925
926
  ];
926
927
  if (authorizedHeader) headerParts.push(authorizedHeader);
927
928
  console.log(source_default.dim(headerParts.join(" ")));
928
- for (let i = 0; i < allTypes.length; i++) {
929
- const type = allTypes[i];
929
+ for (let i = 0; i < connectorSlugs.length; i++) {
930
+ const connectorSlug = connectorSlugs[i];
930
931
  const connectedCell = padEndAnsi(connectedCells[i], connectedAsWidth);
931
- const parts = [type.padEnd(typeWidth), connectedCell];
932
+ const parts = [connectorSlug.padEnd(connectorSlugWidth), connectedCell];
932
933
  if (agentCtx) {
933
934
  parts.push(
934
- agentCtx.authorizedTypes.has(type) ? source_default.green("\u2713") : source_default.dim("-")
935
+ agentCtx.authorizedConnectorSlugs.has(connectorSlug) ? source_default.green("\u2713") : source_default.dim("-")
935
936
  );
936
937
  }
937
938
  console.log(parts.join(" "));
@@ -985,13 +986,13 @@ var searchCommand = new Command().name("search").description(
985
986
  if (total > options.limit) {
986
987
  console.log(`Too many results (top ${options.limit} of ${total}):`);
987
988
  }
988
- const typeHeader = "TYPE";
989
+ const connectorSlugHeader = "TYPE";
989
990
  const connectedAsHeader = "CONNECTED AS";
990
991
  const connectedCells = results.map((r) => {
991
992
  return renderConnectedAsCell(r.connector);
992
993
  });
993
- const typeWidth = Math.max(
994
- typeHeader.length,
994
+ const connectorSlugWidth = Math.max(
995
+ connectorSlugHeader.length,
995
996
  ...results.map((r) => {
996
997
  return r.connector.connectorRef.length;
997
998
  })
@@ -1003,7 +1004,7 @@ var searchCommand = new Command().name("search").description(
1003
1004
  })
1004
1005
  );
1005
1006
  const headerParts = [
1006
- typeHeader.padEnd(typeWidth),
1007
+ connectorSlugHeader.padEnd(connectorSlugWidth),
1007
1008
  connectedAsHeader.padEnd(connectedAsWidth)
1008
1009
  ];
1009
1010
  if (agentCtx) {
@@ -1013,12 +1014,14 @@ var searchCommand = new Command().name("search").description(
1013
1014
  for (let i = 0; i < results.length; i++) {
1014
1015
  const result = results[i];
1015
1016
  const parts = [
1016
- result.connector.connectorRef.padEnd(typeWidth),
1017
+ result.connector.connectorRef.padEnd(connectorSlugWidth),
1017
1018
  padEndAnsi(connectedCells[i], connectedAsWidth)
1018
1019
  ];
1019
1020
  if (agentCtx) {
1020
1021
  parts.push(
1021
- agentCtx.authorizedTypes.has(result.connector.connectorRef) ? source_default.green("\u2713") : source_default.dim("-")
1022
+ agentCtx.authorizedConnectorSlugs.has(
1023
+ result.connector.connectorRef
1024
+ ) ? source_default.green("\u2713") : source_default.dim("-")
1022
1025
  );
1023
1026
  }
1024
1027
  console.log(parts.join(" "));
@@ -1066,8 +1069,8 @@ function printConnectorDetails(connector) {
1066
1069
  }
1067
1070
  }
1068
1071
  async function printAgentAction(connector, agentCtx) {
1069
- const connectorRef = connector.connectorRef;
1070
- const authorized = agentCtx.authorizedTypes.has(connectorRef);
1072
+ const connectorSlug = connector.connectorRef;
1073
+ const authorized = agentCtx.authorizedConnectorSlugs.has(connectorSlug);
1071
1074
  const isConnected = connector.connected;
1072
1075
  const needsReconnect = connector.connectionStatus === "reconnect-required";
1073
1076
  const agentLabel = agentCtx.displayName === agentCtx.agentId ? agentCtx.agentId : `${agentCtx.displayName} (${agentCtx.agentId})`;
@@ -1076,60 +1079,60 @@ async function printAgentAction(connector, agentCtx) {
1076
1079
  const origin = await getPlatformOrigin();
1077
1080
  const url = connectorActionUrl({
1078
1081
  origin,
1079
- path: `/connectors/${connectorRef}/connect`,
1082
+ path: `/connectors/${connectorSlug}/connect`,
1080
1083
  agentId: agentCtx.agentId
1081
1084
  });
1082
1085
  console.log(
1083
- `The ${connectorRef} connector is connected but needs to be reconnected before agent ${agentLabel} can use it.`
1086
+ `The ${connectorSlug} connector is connected but needs to be reconnected before agent ${agentLabel} can use it.`
1084
1087
  );
1085
- console.log(`Reconnect it at: [Reconnect ${connectorRef}](${url})`);
1088
+ console.log(`Reconnect it at: [Reconnect ${connectorSlug}](${url})`);
1086
1089
  printCallbackActionUrlExample(url, agentCtx.agentId);
1087
1090
  } else if (authorized && !isConnected) {
1088
1091
  const origin = await getPlatformOrigin();
1089
1092
  const url = connectorActionUrl({
1090
1093
  origin,
1091
- path: `/connectors/${connectorRef}/connect`,
1094
+ path: `/connectors/${connectorSlug}/connect`,
1092
1095
  agentId: agentCtx.agentId
1093
1096
  });
1094
1097
  console.log(
1095
- `The ${connectorRef} connector is authorized for agent ${agentLabel}, but it is not connected.`
1098
+ `The ${connectorSlug} connector is authorized for agent ${agentLabel}, but it is not connected.`
1096
1099
  );
1097
- console.log(`Connect it at: [Connect ${connectorRef}](${url})`);
1100
+ console.log(`Connect it at: [Connect ${connectorSlug}](${url})`);
1098
1101
  printCallbackActionUrlExample(url, agentCtx.agentId);
1099
1102
  } else if (authorized) {
1100
1103
  console.log(
1101
- `The ${connectorRef} connector is authorized for agent ${agentLabel}.`
1104
+ `The ${connectorSlug} connector is authorized for agent ${agentLabel}.`
1102
1105
  );
1103
1106
  } else if (!isConnected) {
1104
1107
  const origin = await getPlatformOrigin();
1105
1108
  const url = connectorActionUrl({
1106
1109
  origin,
1107
- path: `/connectors/${connectorRef}/connect`,
1110
+ path: `/connectors/${connectorSlug}/connect`,
1108
1111
  agentId: agentCtx.agentId
1109
1112
  });
1110
1113
  console.log(
1111
- `The ${connectorRef} connector is not connected. Once connected, it will be authorized for agent ${agentLabel}.`
1114
+ `The ${connectorSlug} connector is not connected. Once connected, it will be authorized for agent ${agentLabel}.`
1112
1115
  );
1113
1116
  console.log(
1114
- `Connect and authorize it at: [Connect ${connectorRef}](${url})`
1117
+ `Connect and authorize it at: [Connect ${connectorSlug}](${url})`
1115
1118
  );
1116
1119
  printCallbackActionUrlExample(url, agentCtx.agentId);
1117
1120
  } else {
1118
1121
  const origin = await getPlatformOrigin();
1119
1122
  const url = connectorActionUrl({
1120
1123
  origin,
1121
- path: `/connectors/${connectorRef}/authorize`,
1124
+ path: `/connectors/${connectorSlug}/authorize`,
1122
1125
  agentId: agentCtx.agentId
1123
1126
  });
1124
1127
  console.log(
1125
- `The ${connectorRef} connector is not authorized for agent ${agentLabel}.`
1128
+ `The ${connectorSlug} connector is not authorized for agent ${agentLabel}.`
1126
1129
  );
1127
- console.log(`Authorize it at: [Authorize ${connectorRef}](${url})`);
1130
+ console.log(`Authorize it at: [Authorize ${connectorSlug}](${url})`);
1128
1131
  printCallbackActionUrlExample(url, agentCtx.agentId);
1129
1132
  }
1130
1133
  }
1131
1134
  async function printStandaloneAction(connector) {
1132
- const connectorRef = connector.connectorRef;
1135
+ const connectorSlug = connector.connectorRef;
1133
1136
  if (connector.connectionStatus === "connected" || connector.connectionStatus === "scope-mismatch") {
1134
1137
  return;
1135
1138
  }
@@ -1138,37 +1141,45 @@ async function printStandaloneAction(connector) {
1138
1141
  if (connector.connectionStatus === "reconnect-required") {
1139
1142
  const url = `${origin}/connectors`;
1140
1143
  console.log(
1141
- `The ${connectorRef} connector is connected but needs to be reconnected.`
1144
+ `The ${connectorSlug} connector is connected but needs to be reconnected.`
1142
1145
  );
1143
- console.log(`Reconnect it at: [Reconnect ${connectorRef}](${url})`);
1146
+ console.log(`Reconnect it at: [Reconnect ${connectorSlug}](${url})`);
1144
1147
  } else {
1145
- const url = `${origin}/connectors/${connectorRef}/connect`;
1146
- console.log(`Connect it at: [Connect ${connectorRef}](${url})`);
1148
+ const url = `${origin}/connectors/${connectorSlug}/connect`;
1149
+ console.log(`Connect it at: [Connect ${connectorSlug}](${url})`);
1147
1150
  }
1148
1151
  }
1149
1152
  var statusCommand = new Command().name("status").description("Show detailed status of a connector").argument("<type>", "Connector type (e.g., github)").option("--agent <id>", "Show authorization state for the given agent").action(
1150
- withErrorHandler(async (type, options) => {
1151
- const [catalog, agentCtx] = await Promise.all([
1152
- listZeroConnectorCatalogStatus(),
1153
- resolveAgentContext(options.agent)
1154
- ]);
1155
- const connector = findConnectorStatusItem(catalog.connectors, type);
1156
- if (!connector) {
1157
- throw new Error(`Unknown or unavailable connector: ${type}`, {
1158
- cause: new Error(
1159
- `Available connectors: ${availableConnectorRefs(catalog.connectors)}`
1160
- )
1161
- });
1162
- }
1163
- console.log(`Connector: ${source_default.cyan(connector.connectorRef)}`);
1164
- console.log();
1165
- printConnectorDetails(connector);
1166
- if (agentCtx) {
1167
- await printAgentAction(connector, agentCtx);
1168
- } else {
1169
- await printStandaloneAction(connector);
1153
+ withErrorHandler(
1154
+ async (connectorSlug, options) => {
1155
+ const [catalog, agentCtx] = await Promise.all([
1156
+ listZeroConnectorCatalogStatus(),
1157
+ resolveAgentContext(options.agent)
1158
+ ]);
1159
+ const connector = findConnectorStatusItem(
1160
+ catalog.connectors,
1161
+ connectorSlug
1162
+ );
1163
+ if (!connector) {
1164
+ throw new Error(
1165
+ `Unknown or unavailable connector: ${connectorSlug}`,
1166
+ {
1167
+ cause: new Error(
1168
+ `Available connectors: ${availableConnectorSlugs(catalog.connectors)}`
1169
+ )
1170
+ }
1171
+ );
1172
+ }
1173
+ console.log(`Connector: ${source_default.cyan(connector.connectorRef)}`);
1174
+ console.log();
1175
+ printConnectorDetails(connector);
1176
+ if (agentCtx) {
1177
+ await printAgentAction(connector, agentCtx);
1178
+ } else {
1179
+ await printStandaloneAction(connector);
1180
+ }
1170
1181
  }
1171
- })
1182
+ )
1172
1183
  );
1173
1184
 
1174
1185
  // src/commands/zero/connector/custom/index.ts
@@ -1325,10 +1336,10 @@ init_esm_shims();
1325
1336
 
1326
1337
  // src/commands/zero/connector/browser-guidance.ts
1327
1338
  init_esm_shims();
1328
- var BROWSER_CONNECTOR_REF = "browser";
1339
+ var BROWSER_CONNECTOR_SLUG = "browser";
1329
1340
  var BROWSER_WRITE_CAPABILITY = "browser:write";
1330
1341
  function isBrowserPermissionTarget(args) {
1331
- return args.connectorRef === BROWSER_CONNECTOR_REF || args.permission === BROWSER_WRITE_CAPABILITY;
1342
+ return args.connectorSlug === BROWSER_CONNECTOR_SLUG || args.permission === BROWSER_WRITE_CAPABILITY;
1332
1343
  }
1333
1344
  function printBrowserPermissionGuidance() {
1334
1345
  console.log(
@@ -1343,8 +1354,8 @@ function printBrowserPermissionGuidance() {
1343
1354
  function permissionDescription(permission) {
1344
1355
  return permission === UNKNOWN_PERMISSION_GRANT ? "unknown endpoints" : `the "${permission}" permission`;
1345
1356
  }
1346
- function printSensitivePermissionGuidance(connectorRef, permission) {
1347
- if (connectorRef === "slack" && permission === "chat:write") {
1357
+ function printSensitivePermissionGuidance(connectorSlug, permission) {
1358
+ if (connectorSlug === "slack" && permission === "chat:write") {
1348
1359
  console.log("");
1349
1360
  console.log(
1350
1361
  "IMPORTANT: Granting chat:write allows sending messages AS THE USER's identity, not as a bot."
@@ -1357,7 +1368,7 @@ function printSensitivePermissionGuidance(connectorRef, permission) {
1357
1368
  );
1358
1369
  console.log("");
1359
1370
  }
1360
- if (connectorRef === "gmail" && (permission === "messages.send" || permission === "drafts.send")) {
1371
+ if (connectorSlug === "gmail" && (permission === "messages.send" || permission === "drafts.send")) {
1361
1372
  console.log("");
1362
1373
  console.log(
1363
1374
  "IMPORTANT: Granting Gmail send permissions allows the agent to send emails directly as the user."
@@ -1445,17 +1456,17 @@ async function printBrowserPermissionRequestMessage() {
1445
1456
  printBrowserPermissionGuidance();
1446
1457
  }
1447
1458
  }
1448
- async function outputPermissionRequestMessage(connectorRef, label, permission, agentId, callbackPrompt) {
1459
+ async function outputPermissionRequestMessage(connectorSlug, label, permission, agentId, callbackPrompt) {
1449
1460
  const platformOrigin = await getPlatformOrigin();
1450
1461
  const urlParams = new URLSearchParams({
1451
- ref: connectorRef,
1462
+ ref: connectorSlug,
1452
1463
  permission,
1453
1464
  action: "allow"
1454
1465
  });
1455
1466
  addRequestedCallbackSearchParams(urlParams, callbackPrompt, agentId);
1456
1467
  const pagePath = agentId ? `/agents/${agentId}/permissions` : "/agents";
1457
1468
  const url = `${platformOrigin}${pagePath}?${urlParams.toString()}`;
1458
- printSensitivePermissionGuidance(connectorRef, permission);
1469
+ printSensitivePermissionGuidance(connectorSlug, permission);
1459
1470
  printPermissionRequestMessage({
1460
1471
  permission,
1461
1472
  label,
@@ -1503,9 +1514,9 @@ Notes:
1503
1514
  ${callbackPromptNotes} - Permission requests update the current user's connector grants after confirmation`
1504
1515
  ).action(
1505
1516
  withErrorHandler(
1506
- async (connectorRef, opts) => {
1517
+ async (connectorSlug, opts) => {
1507
1518
  if (isBrowserPermissionTarget({
1508
- connectorRef,
1519
+ connectorSlug,
1509
1520
  permission: opts.permission
1510
1521
  })) {
1511
1522
  if (opts.callbackPrompt !== void 0) {
@@ -1517,7 +1528,7 @@ ${callbackPromptNotes} - Permission requests update the current user's connecto
1517
1528
  return;
1518
1529
  }
1519
1530
  if (isComputerUsePermissionTarget({
1520
- connectorRef,
1531
+ connectorSlug,
1521
1532
  permission: opts.permission
1522
1533
  })) {
1523
1534
  if (opts.callbackPrompt !== void 0) {
@@ -1529,17 +1540,17 @@ ${callbackPromptNotes} - Permission requests update the current user's connecto
1529
1540
  return;
1530
1541
  }
1531
1542
  const agentId = opts.agent ?? process.env.ZERO_AGENT_ID;
1532
- const metadata = await getZeroConnectorCatalogPermissions(connectorRef);
1543
+ const metadata = await getZeroConnectorCatalogPermissions(connectorSlug);
1533
1544
  if (!metadata) {
1534
- throw new Error(`Unknown connector type: ${connectorRef}`);
1545
+ throw new Error(`Unknown connector type: ${connectorSlug}`);
1535
1546
  }
1536
1547
  if (opts.permission !== UNKNOWN_PERMISSION_GRANT && !findFirewallMetadataPermission(metadata, opts.permission)) {
1537
1548
  throw new Error(
1538
- `Unknown permission "${opts.permission}" for ${connectorRef}`
1549
+ `Unknown permission "${opts.permission}" for ${connectorSlug}`
1539
1550
  );
1540
1551
  }
1541
1552
  await outputPermissionRequestMessage(
1542
- connectorRef,
1553
+ connectorSlug,
1543
1554
  metadata.label,
1544
1555
  opts.permission,
1545
1556
  agentId,
@@ -1554,4 +1565,4 @@ var zeroConnectorCommand = new Command().name("connector").description("Manage a
1554
1565
  export {
1555
1566
  zeroConnectorCommand
1556
1567
  };
1557
- //# sourceMappingURL=connector-45KWH4GF.js.map
1568
+ //# sourceMappingURL=connector-RUCYHNTI.js.map