@vm0/cli 9.125.0 → 9.125.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.
@@ -73642,7 +73642,7 @@ if (DSN) {
73642
73642
  init2({
73643
73643
  dsn: DSN,
73644
73644
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
73645
- release: "9.125.0",
73645
+ release: "9.125.1",
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.125.0",
73664
+ version: "9.125.1",
73665
73665
  command: process.argv.slice(2).join(" ")
73666
73666
  });
73667
73667
  setContext("runtime", {
@@ -92883,6 +92883,20 @@ var CONNECTOR_TYPES_DEF = {
92883
92883
  }
92884
92884
  },
92885
92885
  defaultAuthMethod: "api-token"
92886
+ },
92887
+ "nano-banana": {
92888
+ label: "Nano Banana",
92889
+ environmentMapping: {},
92890
+ helpText: "Google Gemini image generation, billed to your org credits",
92891
+ featureFlag: "nanoBananaConnector" /* NanoBananaConnector */,
92892
+ authMethods: {
92893
+ platform: {
92894
+ label: "Enable",
92895
+ helpText: "Image generations are billed to your organization's credits. By enabling, you agree that prompts and reference images are sent to the Google Gemini API.",
92896
+ secrets: {}
92897
+ }
92898
+ },
92899
+ defaultAuthMethod: "platform"
92886
92900
  }
92887
92901
  };
92888
92902
  var CONNECTOR_TYPES = CONNECTOR_TYPES_DEF;
@@ -100685,6 +100699,45 @@ var n8nFirewall = {
100685
100699
  ]
100686
100700
  };
100687
100701
 
100702
+ // ../../packages/core/src/firewalls/nano-banana.generated.ts
100703
+ init_esm_shims();
100704
+ var nanoBananaFirewall = {
100705
+ name: "nano-banana",
100706
+ description: "Google Gemini image generation (Nano Banana)",
100707
+ placeholders: {
100708
+ NANO_BANANA_TOKEN: "CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLocalCoffeeSaf"
100709
+ },
100710
+ apis: [
100711
+ {
100712
+ base: "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent",
100713
+ auth: {
100714
+ headers: {
100715
+ "x-goog-api-key": "${{ secrets.NANO_BANANA_TOKEN }}"
100716
+ }
100717
+ },
100718
+ permissions: []
100719
+ },
100720
+ {
100721
+ base: "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
100722
+ auth: {
100723
+ headers: {
100724
+ "x-goog-api-key": "${{ secrets.NANO_BANANA_TOKEN }}"
100725
+ }
100726
+ },
100727
+ permissions: []
100728
+ },
100729
+ {
100730
+ base: "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent",
100731
+ auth: {
100732
+ headers: {
100733
+ "x-goog-api-key": "${{ secrets.NANO_BANANA_TOKEN }}"
100734
+ }
100735
+ },
100736
+ permissions: []
100737
+ }
100738
+ ]
100739
+ };
100740
+
100688
100741
  // ../../packages/core/src/firewalls/neon.generated.ts
100689
100742
  init_esm_shims();
100690
100743
  var neonFirewall = {
@@ -104619,6 +104672,7 @@ var CONNECTOR_FIREWALLS = {
104619
104672
  monday: mondayFirewall,
104620
104673
  msg9: msg9Firewall,
104621
104674
  n8n: n8nFirewall,
104675
+ "nano-banana": nanoBananaFirewall,
104622
104676
  neon: neonFirewall,
104623
104677
  notion: notionFirewall,
104624
104678
  openai: openaiFirewall,
@@ -111831,6 +111885,48 @@ var chatMessagesContract = c11.router({
111831
111885
  summary: "Send a chat message (create thread + run + association)"
111832
111886
  }
111833
111887
  });
111888
+ var chatSearchMessageSchema = external_exports.object({
111889
+ messageId: external_exports.string(),
111890
+ chatThreadId: external_exports.string(),
111891
+ role: external_exports.enum(["user", "assistant"]),
111892
+ content: external_exports.string(),
111893
+ createdAt: external_exports.string(),
111894
+ sequenceNumber: external_exports.number().nullable(),
111895
+ runId: external_exports.string().nullable()
111896
+ });
111897
+ var chatSearchResultSchema = external_exports.object({
111898
+ chatThreadId: external_exports.string(),
111899
+ agentName: external_exports.string(),
111900
+ matchedMessage: chatSearchMessageSchema,
111901
+ contextBefore: external_exports.array(chatSearchMessageSchema),
111902
+ contextAfter: external_exports.array(chatSearchMessageSchema)
111903
+ });
111904
+ var chatSearchResponseSchema = external_exports.object({
111905
+ results: external_exports.array(chatSearchResultSchema),
111906
+ hasMore: external_exports.boolean()
111907
+ });
111908
+ var chatSearchContract = c11.router({
111909
+ search: {
111910
+ method: "GET",
111911
+ path: "/api/zero/chat/search",
111912
+ headers: authHeadersSchema,
111913
+ query: external_exports.object({
111914
+ keyword: external_exports.string().min(1),
111915
+ agent: external_exports.string().optional(),
111916
+ since: external_exports.coerce.number().optional(),
111917
+ limit: external_exports.coerce.number().min(1).max(50).default(20),
111918
+ before: external_exports.coerce.number().min(0).max(10).default(0),
111919
+ after: external_exports.coerce.number().min(0).max(10).default(0)
111920
+ }),
111921
+ responses: {
111922
+ 200: chatSearchResponseSchema,
111923
+ 400: apiErrorSchema,
111924
+ 401: apiErrorSchema,
111925
+ 403: apiErrorSchema
111926
+ },
111927
+ summary: "Search chat messages within caller's org (zero proxy)"
111928
+ }
111929
+ });
111834
111930
  var pagedChatMessageSchema = external_exports.object({
111835
111931
  id: external_exports.string(),
111836
111932
  role: external_exports.enum(["user", "assistant"]),
@@ -111838,6 +111934,7 @@ var pagedChatMessageSchema = external_exports.object({
111838
111934
  runId: external_exports.string().optional(),
111839
111935
  error: external_exports.string().optional(),
111840
111936
  status: external_exports.string().optional(),
111937
+ attachFiles: external_exports.array(resolvedAttachFileSchema).optional(),
111841
111938
  createdAt: external_exports.string()
111842
111939
  });
111843
111940
  var chatThreadMessagesContract = c11.router({
@@ -112978,6 +113075,21 @@ var zeroConnectorsByTypeContract = c19.router({
112978
113075
  summary: "Disconnect a connector (zero proxy)"
112979
113076
  }
112980
113077
  });
113078
+ var zeroPlatformConnectorContract = c19.router({
113079
+ create: {
113080
+ method: "POST",
113081
+ path: "/api/zero/platform-connectors/:type",
113082
+ headers: authHeadersSchema,
113083
+ pathParams: external_exports.object({ type: connectorTypeSchema }),
113084
+ body: external_exports.object({}).optional(),
113085
+ responses: {
113086
+ 200: connectorResponseSchema,
113087
+ 400: apiErrorSchema,
113088
+ 401: apiErrorSchema
113089
+ },
113090
+ summary: "Enable a platform-supplied connector (idempotent)"
113091
+ }
113092
+ });
112981
113093
  var zeroConnectorScopeDiffContract = c19.router({
112982
113094
  getScopeDiff: {
112983
113095
  method: "GET",
@@ -112992,7 +113104,11 @@ var zeroConnectorScopeDiffContract = c19.router({
112992
113104
  summary: "Get scope diff for a connector"
112993
113105
  }
112994
113106
  });
112995
- var connectorSearchAuthMethodSchema = external_exports.enum(["oauth", "api-token"]);
113107
+ var connectorSearchAuthMethodSchema = external_exports.enum([
113108
+ "oauth",
113109
+ "api-token",
113110
+ "platform"
113111
+ ]);
112996
113112
  var connectorSearchItemSchema = external_exports.object({
112997
113113
  id: external_exports.string(),
112998
113114
  label: external_exports.string(),
@@ -115798,7 +115914,8 @@ var FEATURE_SWITCHES = {
115798
115914
  ["slackAgentSwitch" /* SlackAgentSwitch */]: {
115799
115915
  maintainer: "yuma@vm0.ai",
115800
115916
  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`.",
115801
- enabled: false
115917
+ enabled: false,
115918
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
115802
115919
  },
115803
115920
  ["modelProviderSelection" /* ModelProviderSelection */]: {
115804
115921
  maintainer: "ethan@vm0.ai",
@@ -115811,6 +115928,12 @@ var FEATURE_SWITCHES = {
115811
115928
  description: "Show redeem-code gift icon and dialog in the agent chat page header",
115812
115929
  enabled: false,
115813
115930
  enabledOrgIdHashes: STAFF_ORG_ID_HASHES
115931
+ },
115932
+ ["nanoBananaConnector" /* NanoBananaConnector */]: {
115933
+ maintainer: "liangyou@vm0.ai",
115934
+ description: "Show the Nano Banana (Google Gemini image generation) platform-managed connector",
115935
+ enabled: false,
115936
+ enabledOrgIdHashes: STAFF_ORG_ID_HASHES
115814
115937
  }
115815
115938
  };
115816
115939
  function isFeatureEnabled(key, ctx) {
@@ -116247,6 +116370,25 @@ async function getZeroRunContext(id) {
116247
116370
  handleError(result, `Failed to get zero run context for "${id}"`);
116248
116371
  }
116249
116372
 
116373
+ // src/lib/api/domains/zero-chat.ts
116374
+ init_esm_shims();
116375
+ async function searchZeroChat(options) {
116376
+ const config4 = await getClientConfig();
116377
+ const client = initClient(chatSearchContract, config4);
116378
+ const result = await client.search({
116379
+ query: {
116380
+ keyword: options.keyword,
116381
+ agent: options.agent,
116382
+ since: options.since,
116383
+ limit: options.limit,
116384
+ before: options.before,
116385
+ after: options.after
116386
+ }
116387
+ });
116388
+ if (result.status === 200) return result.body;
116389
+ handleError(result, "Failed to search chat messages");
116390
+ }
116391
+
116250
116392
  // src/lib/api/domains/logs.ts
116251
116393
  init_esm_shims();
116252
116394
  async function getSystemLog(runId, options) {
@@ -118331,6 +118473,7 @@ export {
118331
118473
  getZeroRunContext,
118332
118474
  listZeroLogs,
118333
118475
  searchZeroLogs,
118476
+ searchZeroChat,
118334
118477
  getSystemLog,
118335
118478
  getMetrics,
118336
118479
  getAgentEvents,
@@ -118382,4 +118525,4 @@ undici/lib/web/fetch/body.js:
118382
118525
  undici/lib/web/websocket/frame.js:
118383
118526
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
118384
118527
  */
118385
- //# sourceMappingURL=chunk-WAL2RDDA.js.map
118528
+ //# sourceMappingURL=chunk-HUFHEBPZ.js.map