@vm0/cli 9.111.1 → 9.111.2

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.
@@ -34652,7 +34652,7 @@ if (DSN) {
34652
34652
  Sentry.init({
34653
34653
  dsn: DSN,
34654
34654
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
34655
- release: "9.111.1",
34655
+ release: "9.111.2",
34656
34656
  sendDefaultPii: false,
34657
34657
  tracesSampleRate: 0,
34658
34658
  shutdownTimeout: 500,
@@ -34671,7 +34671,7 @@ if (DSN) {
34671
34671
  }
34672
34672
  });
34673
34673
  Sentry.setContext("cli", {
34674
- version: "9.111.1",
34674
+ version: "9.111.2",
34675
34675
  command: process.argv.slice(2).join(" ")
34676
34676
  });
34677
34677
  Sentry.setContext("runtime", {
@@ -53351,6 +53351,27 @@ var CONNECTOR_TYPES_DEF = {
53351
53351
  },
53352
53352
  defaultAuthMethod: "api-token"
53353
53353
  },
53354
+ plain: {
53355
+ label: "Plain",
53356
+ environmentMapping: {
53357
+ PLAIN_TOKEN: "$secrets.PLAIN_TOKEN"
53358
+ },
53359
+ helpText: "Connect your Plain account to manage customer support threads, customers, and labels via Plain's GraphQL API",
53360
+ authMethods: {
53361
+ "api-token": {
53362
+ label: "API Key",
53363
+ helpText: "1. Log in to [Plain](https://app.plain.com)\n2. Go to **Settings \u2192 Machine Users**\n3. Click **New machine user** and generate an API key\n4. Copy the API key",
53364
+ secrets: {
53365
+ PLAIN_TOKEN: {
53366
+ label: "API Key",
53367
+ required: true,
53368
+ placeholder: "plainApiKey__..."
53369
+ }
53370
+ }
53371
+ }
53372
+ },
53373
+ defaultAuthMethod: "api-token"
53374
+ },
53354
53375
  plausible: {
53355
53376
  label: "Plausible",
53356
53377
  environmentMapping: {
@@ -59464,6 +59485,27 @@ var perplexityFirewall = {
59464
59485
  ]
59465
59486
  };
59466
59487
 
59488
+ // ../../packages/core/src/firewalls/plain.generated.ts
59489
+ init_esm_shims();
59490
+ var plainFirewall = {
59491
+ name: "plain",
59492
+ description: "Plain",
59493
+ placeholders: {
59494
+ PLAIN_TOKEN: "plainApiKey__CoffeeSafeLocalCoffeeSafeLocalCoffeeSafeLo"
59495
+ },
59496
+ apis: [
59497
+ {
59498
+ base: "https://core-api.uk.plain.com",
59499
+ auth: {
59500
+ headers: {
59501
+ Authorization: "Bearer ${{ secrets.PLAIN_TOKEN }}"
59502
+ }
59503
+ },
59504
+ permissions: []
59505
+ }
59506
+ ]
59507
+ };
59508
+
59467
59509
  // ../../packages/core/src/firewalls/plausible.generated.ts
59468
59510
  init_esm_shims();
59469
59511
  var plausibleFirewall = {
@@ -63545,6 +63587,7 @@ var CONNECTOR_FIREWALLS = {
63545
63587
  pdfco: pdfcoFirewall,
63546
63588
  pdforge: pdforgeFirewall,
63547
63589
  perplexity: perplexityFirewall,
63590
+ plain: plainFirewall,
63548
63591
  plausible: plausibleFirewall,
63549
63592
  podchaser: podchaserFirewall,
63550
63593
  posthog: posthogFirewall,
@@ -63635,24 +63678,28 @@ function getDefaultFirewallPolicies(type) {
63635
63678
  const allowed = DEFAULT_ALLOWED[type];
63636
63679
  const allowSet = allowed ? new Set(allowed) : null;
63637
63680
  const config2 = getConnectorFirewall(type);
63638
- const result = {};
63681
+ const policies = {};
63639
63682
  for (const api of config2.apis) {
63640
63683
  if (api.permissions) {
63641
63684
  for (const p of api.permissions) {
63642
- result[p.name] = !allowSet || allowSet.has(p.name) ? "allow" : "deny";
63685
+ policies[p.name] = !allowSet || allowSet.has(p.name) ? "allow" : "deny";
63643
63686
  }
63644
63687
  }
63645
63688
  }
63646
- return result;
63689
+ return { policies, unknownPolicy: "allow" };
63647
63690
  }
63648
63691
  function resolveFirewallPolicies(stored, connectors) {
63649
63692
  let resolved = stored;
63650
63693
  for (const connector of connectors) {
63651
63694
  if (!isFirewallConnectorType(connector)) continue;
63652
63695
  const defaults = getDefaultFirewallPolicies(connector);
63696
+ const existing = resolved?.[connector];
63653
63697
  resolved = {
63654
63698
  ...resolved,
63655
- [connector]: { ...defaults, ...resolved?.[connector] }
63699
+ [connector]: {
63700
+ policies: { ...defaults.policies, ...existing?.policies },
63701
+ ...existing?.unknownPolicy !== void 0 ? { unknownPolicy: existing.unknownPolicy } : { unknownPolicy: defaults.unknownPolicy }
63702
+ }
63656
63703
  };
63657
63704
  }
63658
63705
  return resolved;
@@ -68208,18 +68255,21 @@ var firewallConfigSchema = external_exports.object({
68208
68255
  placeholders: external_exports.record(external_exports.string(), external_exports.string()).optional()
68209
68256
  });
68210
68257
  var firewallPolicyValueSchema = external_exports.enum(["allow", "deny", "ask"]);
68258
+ var firewallPolicySchema = external_exports.object({
68259
+ policies: external_exports.record(external_exports.string(), firewallPolicyValueSchema),
68260
+ unknownPolicy: firewallPolicyValueSchema.optional()
68261
+ });
68211
68262
  var firewallPoliciesSchema = external_exports.record(
68212
68263
  external_exports.string(),
68213
- external_exports.record(external_exports.string(), firewallPolicyValueSchema)
68264
+ firewallPolicySchema
68214
68265
  );
68215
- var grantedPermissionSchema = external_exports.object({
68266
+ var networkPolicySchema = external_exports.object({
68216
68267
  allow: external_exports.array(external_exports.string()),
68217
- allowUnknown: external_exports.boolean()
68268
+ deny: external_exports.array(external_exports.string()),
68269
+ ask: external_exports.array(external_exports.string()),
68270
+ unknownPolicy: firewallPolicyValueSchema
68218
68271
  });
68219
- var grantedPermissionsSchema = external_exports.record(
68220
- external_exports.string(),
68221
- grantedPermissionSchema
68222
- );
68272
+ var networkPoliciesSchema = external_exports.record(external_exports.string(), networkPolicySchema);
68223
68273
  var BASE_URL_VARS_PATTERN = /\$\{\{\s*vars\.([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}/;
68224
68274
  var BASE_URL_VARS_PATTERN_G = new RegExp(BASE_URL_VARS_PATTERN.source, "g");
68225
68275
 
@@ -70566,8 +70616,8 @@ var storedExecutionContextSchema = external_exports.object({
70566
70616
  memoryName: external_exports.string().optional(),
70567
70617
  // Firewall for proxy-side token replacement (complete config, all permissions)
70568
70618
  firewalls: firewallsSchema.optional(),
70569
- // Per-firewall grant config: which permissions are granted + allowUnknown flag
70570
- grantedPermissions: grantedPermissionsSchema.optional(),
70619
+ // Per-firewall network policies: which permissions are granted + unknownPolicy
70620
+ networkPolicies: networkPoliciesSchema.optional(),
70571
70621
  // Tools to disable in Claude CLI (passed as --disallowed-tools)
70572
70622
  disallowedTools: external_exports.array(external_exports.string()).optional(),
70573
70623
  // Tools to make available in Claude CLI (passed as --tools)
@@ -70608,8 +70658,8 @@ var executionContextSchema = external_exports.object({
70608
70658
  memoryName: external_exports.string().optional(),
70609
70659
  // Firewall for proxy-side token replacement (complete config, all permissions)
70610
70660
  firewalls: firewallsSchema.optional(),
70611
- // Per-firewall grant config: which permissions are granted + allowUnknown flag
70612
- grantedPermissions: grantedPermissionsSchema.optional(),
70661
+ // Per-firewall network policies: which permissions are granted + unknownPolicy
70662
+ networkPolicies: networkPoliciesSchema.optional(),
70613
70663
  // Tools to disable in Claude CLI (passed as --disallowed-tools)
70614
70664
  disallowedTools: external_exports.array(external_exports.string()).optional(),
70615
70665
  // Tools to make available in Claude CLI (passed as --tools)
@@ -71050,7 +71100,6 @@ var zeroAgentResponseSchema = external_exports.object({
71050
71100
  sound: external_exports.string().nullable(),
71051
71101
  avatarUrl: external_exports.string().nullable(),
71052
71102
  permissionPolicies: firewallPoliciesSchema.nullable(),
71053
- allowUnknownEndpoints: external_exports.record(external_exports.string(), external_exports.boolean()).nullable(),
71054
71103
  customSkills: external_exports.array(external_exports.string()).default([])
71055
71104
  });
71056
71105
  var zeroAgentRequestSchema = external_exports.object({
@@ -71162,8 +71211,7 @@ var zeroAgentsByIdContract = c17.router({
71162
71211
  });
71163
71212
  var zeroAgentPermissionPoliciesRequestSchema = external_exports.object({
71164
71213
  agentId: external_exports.string().uuid(),
71165
- policies: firewallPoliciesSchema,
71166
- allowUnknownEndpoints: external_exports.record(external_exports.string(), external_exports.boolean()).optional()
71214
+ policies: firewallPoliciesSchema
71167
71215
  });
71168
71216
  var zeroAgentPermissionPoliciesContract = c17.router({
71169
71217
  update: {
@@ -72077,7 +72125,7 @@ var runContextResponseSchema = external_exports.object({
72077
72125
  vars: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
72078
72126
  environment: external_exports.record(external_exports.string(), external_exports.string()),
72079
72127
  firewalls: external_exports.array(runContextFirewallSchema),
72080
- grantedPermissions: grantedPermissionsSchema.nullable().optional(),
72128
+ networkPolicies: networkPoliciesSchema.nullable().optional(),
72081
72129
  volumes: external_exports.array(runContextVolumeSchema),
72082
72130
  artifact: runContextArtifactSchema.nullable(),
72083
72131
  memory: runContextArtifactSchema.nullable()
@@ -75519,7 +75567,7 @@ function parsePermissionPolicies(json2) {
75519
75567
  } catch {
75520
75568
  throw new Error(
75521
75569
  `Invalid --permission-policies JSON: ${json2}
75522
- Expected format: '{"ref": {"permission": "allow|deny|ask"}}'`
75570
+ Expected format: '{"ref": {"permissions": {"perm": "allow|deny|ask"}}}'`
75523
75571
  );
75524
75572
  }
75525
75573
  const result = firewallPoliciesSchema.safeParse(parsed);
@@ -75926,4 +75974,4 @@ undici/lib/web/fetch/body.js:
75926
75974
  undici/lib/web/websocket/frame.js:
75927
75975
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
75928
75976
  */
75929
- //# sourceMappingURL=chunk-H56HRDOU.js.map
75977
+ //# sourceMappingURL=chunk-EZQQVFEQ.js.map