@vm0/cli 9.111.1 → 9.111.3

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.3",
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.3",
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
 
@@ -68446,7 +68496,8 @@ var orgResponseSchema = external_exports.object({
68446
68496
  slug: external_exports.string(),
68447
68497
  name: external_exports.string(),
68448
68498
  tier: external_exports.string().optional(),
68449
- role: orgRoleSchema.optional()
68499
+ role: orgRoleSchema.optional(),
68500
+ createdBy: external_exports.string().optional()
68450
68501
  });
68451
68502
  var updateOrgRequestSchema = external_exports.object({
68452
68503
  slug: orgSlugSchema.optional(),
@@ -70566,8 +70617,8 @@ var storedExecutionContextSchema = external_exports.object({
70566
70617
  memoryName: external_exports.string().optional(),
70567
70618
  // Firewall for proxy-side token replacement (complete config, all permissions)
70568
70619
  firewalls: firewallsSchema.optional(),
70569
- // Per-firewall grant config: which permissions are granted + allowUnknown flag
70570
- grantedPermissions: grantedPermissionsSchema.optional(),
70620
+ // Per-firewall network policies: which permissions are granted + unknownPolicy
70621
+ networkPolicies: networkPoliciesSchema.optional(),
70571
70622
  // Tools to disable in Claude CLI (passed as --disallowed-tools)
70572
70623
  disallowedTools: external_exports.array(external_exports.string()).optional(),
70573
70624
  // Tools to make available in Claude CLI (passed as --tools)
@@ -70608,8 +70659,8 @@ var executionContextSchema = external_exports.object({
70608
70659
  memoryName: external_exports.string().optional(),
70609
70660
  // Firewall for proxy-side token replacement (complete config, all permissions)
70610
70661
  firewalls: firewallsSchema.optional(),
70611
- // Per-firewall grant config: which permissions are granted + allowUnknown flag
70612
- grantedPermissions: grantedPermissionsSchema.optional(),
70662
+ // Per-firewall network policies: which permissions are granted + unknownPolicy
70663
+ networkPolicies: networkPoliciesSchema.optional(),
70613
70664
  // Tools to disable in Claude CLI (passed as --disallowed-tools)
70614
70665
  disallowedTools: external_exports.array(external_exports.string()).optional(),
70615
70666
  // Tools to make available in Claude CLI (passed as --tools)
@@ -71050,7 +71101,6 @@ var zeroAgentResponseSchema = external_exports.object({
71050
71101
  sound: external_exports.string().nullable(),
71051
71102
  avatarUrl: external_exports.string().nullable(),
71052
71103
  permissionPolicies: firewallPoliciesSchema.nullable(),
71053
- allowUnknownEndpoints: external_exports.record(external_exports.string(), external_exports.boolean()).nullable(),
71054
71104
  customSkills: external_exports.array(external_exports.string()).default([])
71055
71105
  });
71056
71106
  var zeroAgentRequestSchema = external_exports.object({
@@ -71162,8 +71212,7 @@ var zeroAgentsByIdContract = c17.router({
71162
71212
  });
71163
71213
  var zeroAgentPermissionPoliciesRequestSchema = external_exports.object({
71164
71214
  agentId: external_exports.string().uuid(),
71165
- policies: firewallPoliciesSchema,
71166
- allowUnknownEndpoints: external_exports.record(external_exports.string(), external_exports.boolean()).optional()
71215
+ policies: firewallPoliciesSchema
71167
71216
  });
71168
71217
  var zeroAgentPermissionPoliciesContract = c17.router({
71169
71218
  update: {
@@ -72077,7 +72126,7 @@ var runContextResponseSchema = external_exports.object({
72077
72126
  vars: external_exports.record(external_exports.string(), external_exports.string()).nullable(),
72078
72127
  environment: external_exports.record(external_exports.string(), external_exports.string()),
72079
72128
  firewalls: external_exports.array(runContextFirewallSchema),
72080
- grantedPermissions: grantedPermissionsSchema.nullable().optional(),
72129
+ networkPolicies: networkPoliciesSchema.nullable().optional(),
72081
72130
  volumes: external_exports.array(runContextVolumeSchema),
72082
72131
  artifact: runContextArtifactSchema.nullable(),
72083
72132
  memory: runContextArtifactSchema.nullable()
@@ -75519,7 +75568,7 @@ function parsePermissionPolicies(json2) {
75519
75568
  } catch {
75520
75569
  throw new Error(
75521
75570
  `Invalid --permission-policies JSON: ${json2}
75522
- Expected format: '{"ref": {"permission": "allow|deny|ask"}}'`
75571
+ Expected format: '{"ref": {"permissions": {"perm": "allow|deny|ask"}}}'`
75523
75572
  );
75524
75573
  }
75525
75574
  const result = firewallPoliciesSchema.safeParse(parsed);
@@ -75926,4 +75975,4 @@ undici/lib/web/fetch/body.js:
75926
75975
  undici/lib/web/websocket/frame.js:
75927
75976
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
75928
75977
  */
75929
- //# sourceMappingURL=chunk-H56HRDOU.js.map
75978
+ //# sourceMappingURL=chunk-JZJGXOGN.js.map