@aspectlylabs/mikka 0.0.155 → 0.0.156

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/cli.js CHANGED
@@ -4480,7 +4480,7 @@ import { join as join4 } from "node:path";
4480
4480
  // package.json
4481
4481
  var package_default = {
4482
4482
  name: "@mikka/daemon",
4483
- version: "0.0.155",
4483
+ version: "0.0.156",
4484
4484
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
4485
4485
  type: "module",
4486
4486
  private: true,
@@ -4540,7 +4540,7 @@ var package_default = {
4540
4540
  engines: {
4541
4541
  node: ">=24"
4542
4542
  },
4543
- gitHead: "a0295ff9031591fc84944f77c47074e8345d129e"
4543
+ gitHead: "3fe02256b52ef29ce2581173987f01d3b2054448"
4544
4544
  };
4545
4545
 
4546
4546
  // src/paths.ts
@@ -4815,7 +4815,7 @@ function classifySegment(segment, depth) {
4815
4815
  if (entry && verb && entry[1].includes(verb)) return "install_dependency";
4816
4816
  return null;
4817
4817
  }
4818
- function claudePermissionRules(policy) {
4818
+ function claudePermissionRules(policy, agentDelivers = false) {
4819
4819
  const install2 = INSTALL_COMMANDS.flatMap(
4820
4820
  ([tool2, verbs]) => verbs.map((verb) => `Bash(${tool2} ${verb}:*)`)
4821
4821
  );
@@ -4825,7 +4825,7 @@ function claudePermissionRules(policy) {
4825
4825
  ask: decision === "ask" ? install2 : [],
4826
4826
  deny: [
4827
4827
  ...!rawCliShellAvailable(policy) ? ["Bash", "PowerShell", "Monitor"] : [],
4828
- "Bash(git push:*)",
4828
+ ...agentDelivers && !policy.readOnly ? [] : ["Bash(git push:*)"],
4829
4829
  ...policy.readOnly ? READ_ONLY_TOOLS : [],
4830
4830
  ...decision === "deny" ? install2 : []
4831
4831
  ]
@@ -7230,6 +7230,14 @@ var RunContext = class {
7230
7230
  tempEnv() {
7231
7231
  return { TMPDIR: this.tmpDir, TMPPREFIX: join11(this.tmpDir, "zsh"), ...withGitConfig(this.githubEnv, RUN_GIT_CONFIG), ...this.options.policyHash ? { MIKKA_POLICY_HASH: this.options.policyHash } : {} };
7232
7232
  }
7233
+ /**
7234
+ * The agent delivers this run itself: it commits, pushes to the issue
7235
+ * branch and opens the pull request with run-scoped GitHub credentials. The
7236
+ * server sends GitHub delivery only for a run whose push is allowed.
7237
+ */
7238
+ get agentDelivers() {
7239
+ return Object.keys(this.githubEnv).length > 0;
7240
+ }
7233
7241
  /** A hand-in from an earlier session would end this one at once. */
7234
7242
  clearHandoff() {
7235
7243
  rmSync8(this.handoffFile, { force: true });
@@ -8252,10 +8260,10 @@ function claudeSandboxSettings(policy) {
8252
8260
  }
8253
8261
  };
8254
8262
  }
8255
- function claudeSettings(policy, workspace) {
8263
+ function claudeSettings(policy, workspace, agentDelivers = false) {
8256
8264
  return {
8257
8265
  sandbox: claudeSandboxSettings(policy),
8258
- permissions: claudePermissionRules(runPolicy(workspace))
8266
+ permissions: claudePermissionRules(runPolicy(workspace), agentDelivers)
8259
8267
  };
8260
8268
  }
8261
8269
  function claudeChunks(message) {
@@ -8595,7 +8603,7 @@ var ClaudeAdapter = class {
8595
8603
  },
8596
8604
  settingSources: [],
8597
8605
  settings: {
8598
- ...claudeSettings(ctx.policy(), options.policy),
8606
+ ...claudeSettings(ctx.policy(), options.policy, ctx.agentDelivers),
8599
8607
  // The official runtime launcher encloses the entire CLI. Nesting
8600
8608
  // the CLI's Bash-only sandbox is unsupported on macOS.
8601
8609
  ...outerLocal ? { sandbox: { enabled: false, allowUnsandboxedCommands: true, autoAllowBashIfSandboxed: false } } : {},
@@ -9450,7 +9458,7 @@ var CodexAdapter = class {
9450
9458
  import { Readable, Writable } from "node:stream";
9451
9459
  import * as acp from "@agentclientprotocol/sdk";
9452
9460
  import { join as join16 } from "node:path";
9453
- function acpPermissionResponse(params, policy) {
9461
+ function acpPermissionResponse(params, policy, agentDelivers = false) {
9454
9462
  const pick = (kinds) => {
9455
9463
  for (const kind of kinds) {
9456
9464
  const option = params.options.find((o) => o.kind === kind);
@@ -9462,7 +9470,7 @@ function acpPermissionResponse(params, policy) {
9462
9470
  const raw = params.toolCall.rawInput;
9463
9471
  const command = Array.isArray(raw?.command) ? raw.command.join(" ") : typeof raw?.command === "string" ? raw.command : params.toolCall.title ?? "";
9464
9472
  const action = classifyCommand(command);
9465
- const refused = action === "git_push" || action !== null && decide(action, { policy: runPolicy(policy) }) !== "allow";
9473
+ const refused = action === "git_push" && !agentDelivers || action !== null && decide(action, { policy: runPolicy(policy) }) !== "allow";
9466
9474
  if (refused)
9467
9475
  return { response: pick(["reject_once", "reject_always"]), refused };
9468
9476
  const allowed = pick(["allow_always", "allow_once"]);
@@ -9645,7 +9653,8 @@ var CursorAdapter = class {
9645
9653
  async requestPermission(params) {
9646
9654
  const { response, refused } = acpPermissionResponse(
9647
9655
  params,
9648
- options.policy
9656
+ options.policy,
9657
+ ctx.agentDelivers
9649
9658
  );
9650
9659
  if (refused)
9651
9660
  log.info(
package/client.js CHANGED
@@ -3741,7 +3741,7 @@ import { join } from "node:path";
3741
3741
  // package.json
3742
3742
  var package_default = {
3743
3743
  name: "@mikka/daemon",
3744
- version: "0.0.155",
3744
+ version: "0.0.156",
3745
3745
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
3746
3746
  type: "module",
3747
3747
  private: true,
@@ -3801,7 +3801,7 @@ var package_default = {
3801
3801
  engines: {
3802
3802
  node: ">=24"
3803
3803
  },
3804
- gitHead: "a0295ff9031591fc84944f77c47074e8345d129e"
3804
+ gitHead: "3fe02256b52ef29ce2581173987f01d3b2054448"
3805
3805
  };
3806
3806
 
3807
3807
  // src/paths.ts
package/http-link.js CHANGED
@@ -4144,7 +4144,7 @@ var InvalidIdError = class extends DaemonError {
4144
4144
  // package.json
4145
4145
  var package_default = {
4146
4146
  name: "@mikka/daemon",
4147
- version: "0.0.155",
4147
+ version: "0.0.156",
4148
4148
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
4149
4149
  type: "module",
4150
4150
  private: true,
@@ -4204,7 +4204,7 @@ var package_default = {
4204
4204
  engines: {
4205
4205
  node: ">=24"
4206
4206
  },
4207
- gitHead: "a0295ff9031591fc84944f77c47074e8345d129e"
4207
+ gitHead: "3fe02256b52ef29ce2581173987f01d3b2054448"
4208
4208
  };
4209
4209
 
4210
4210
  // src/paths.ts
package/login.js CHANGED
@@ -3748,7 +3748,7 @@ var ServerUnreachableError = class extends DaemonError {
3748
3748
  // package.json
3749
3749
  var package_default = {
3750
3750
  name: "@mikka/daemon",
3751
- version: "0.0.155",
3751
+ version: "0.0.156",
3752
3752
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
3753
3753
  type: "module",
3754
3754
  private: true,
@@ -3808,7 +3808,7 @@ var package_default = {
3808
3808
  engines: {
3809
3809
  node: ">=24"
3810
3810
  },
3811
- gitHead: "a0295ff9031591fc84944f77c47074e8345d129e"
3811
+ gitHead: "3fe02256b52ef29ce2581173987f01d3b2054448"
3812
3812
  };
3813
3813
 
3814
3814
  // src/paths.ts
package/main.js CHANGED
@@ -3785,7 +3785,7 @@ import { join as join5 } from "node:path";
3785
3785
  // package.json
3786
3786
  var package_default = {
3787
3787
  name: "@mikka/daemon",
3788
- version: "0.0.155",
3788
+ version: "0.0.156",
3789
3789
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
3790
3790
  type: "module",
3791
3791
  private: true,
@@ -3845,7 +3845,7 @@ var package_default = {
3845
3845
  engines: {
3846
3846
  node: ">=24"
3847
3847
  },
3848
- gitHead: "a0295ff9031591fc84944f77c47074e8345d129e"
3848
+ gitHead: "3fe02256b52ef29ce2581173987f01d3b2054448"
3849
3849
  };
3850
3850
 
3851
3851
  // src/paths.ts
@@ -3985,7 +3985,7 @@ function classifySegment(segment, depth) {
3985
3985
  if (entry && verb && entry[1].includes(verb)) return "install_dependency";
3986
3986
  return null;
3987
3987
  }
3988
- function claudePermissionRules(policy) {
3988
+ function claudePermissionRules(policy, agentDelivers = false) {
3989
3989
  const install2 = INSTALL_COMMANDS.flatMap(
3990
3990
  ([tool2, verbs]) => verbs.map((verb) => `Bash(${tool2} ${verb}:*)`)
3991
3991
  );
@@ -3995,7 +3995,7 @@ function claudePermissionRules(policy) {
3995
3995
  ask: decision === "ask" ? install2 : [],
3996
3996
  deny: [
3997
3997
  ...!rawCliShellAvailable(policy) ? ["Bash", "PowerShell", "Monitor"] : [],
3998
- "Bash(git push:*)",
3998
+ ...agentDelivers && !policy.readOnly ? [] : ["Bash(git push:*)"],
3999
3999
  ...policy.readOnly ? READ_ONLY_TOOLS : [],
4000
4000
  ...decision === "deny" ? install2 : []
4001
4001
  ]
@@ -6015,6 +6015,14 @@ var RunContext = class {
6015
6015
  tempEnv() {
6016
6016
  return { TMPDIR: this.tmpDir, TMPPREFIX: join8(this.tmpDir, "zsh"), ...withGitConfig(this.githubEnv, RUN_GIT_CONFIG), ...this.options.policyHash ? { MIKKA_POLICY_HASH: this.options.policyHash } : {} };
6017
6017
  }
6018
+ /**
6019
+ * The agent delivers this run itself: it commits, pushes to the issue
6020
+ * branch and opens the pull request with run-scoped GitHub credentials. The
6021
+ * server sends GitHub delivery only for a run whose push is allowed.
6022
+ */
6023
+ get agentDelivers() {
6024
+ return Object.keys(this.githubEnv).length > 0;
6025
+ }
6018
6026
  /** A hand-in from an earlier session would end this one at once. */
6019
6027
  clearHandoff() {
6020
6028
  rmSync7(this.handoffFile, { force: true });
@@ -7072,10 +7080,10 @@ function claudeSandboxSettings(policy) {
7072
7080
  }
7073
7081
  };
7074
7082
  }
7075
- function claudeSettings(policy, workspace) {
7083
+ function claudeSettings(policy, workspace, agentDelivers = false) {
7076
7084
  return {
7077
7085
  sandbox: claudeSandboxSettings(policy),
7078
- permissions: claudePermissionRules(runPolicy(workspace))
7086
+ permissions: claudePermissionRules(runPolicy(workspace), agentDelivers)
7079
7087
  };
7080
7088
  }
7081
7089
  function claudeChunks(message) {
@@ -7415,7 +7423,7 @@ var ClaudeAdapter = class {
7415
7423
  },
7416
7424
  settingSources: [],
7417
7425
  settings: {
7418
- ...claudeSettings(ctx.policy(), options.policy),
7426
+ ...claudeSettings(ctx.policy(), options.policy, ctx.agentDelivers),
7419
7427
  // The official runtime launcher encloses the entire CLI. Nesting
7420
7428
  // the CLI's Bash-only sandbox is unsupported on macOS.
7421
7429
  ...outerLocal ? { sandbox: { enabled: false, allowUnsandboxedCommands: true, autoAllowBashIfSandboxed: false } } : {},
@@ -8270,7 +8278,7 @@ var CodexAdapter = class {
8270
8278
  import { Readable, Writable } from "node:stream";
8271
8279
  import * as acp from "@agentclientprotocol/sdk";
8272
8280
  import { join as join13 } from "node:path";
8273
- function acpPermissionResponse(params, policy) {
8281
+ function acpPermissionResponse(params, policy, agentDelivers = false) {
8274
8282
  const pick = (kinds) => {
8275
8283
  for (const kind of kinds) {
8276
8284
  const option = params.options.find((o) => o.kind === kind);
@@ -8282,7 +8290,7 @@ function acpPermissionResponse(params, policy) {
8282
8290
  const raw = params.toolCall.rawInput;
8283
8291
  const command = Array.isArray(raw?.command) ? raw.command.join(" ") : typeof raw?.command === "string" ? raw.command : params.toolCall.title ?? "";
8284
8292
  const action = classifyCommand(command);
8285
- const refused = action === "git_push" || action !== null && decide(action, { policy: runPolicy(policy) }) !== "allow";
8293
+ const refused = action === "git_push" && !agentDelivers || action !== null && decide(action, { policy: runPolicy(policy) }) !== "allow";
8286
8294
  if (refused)
8287
8295
  return { response: pick(["reject_once", "reject_always"]), refused };
8288
8296
  const allowed = pick(["allow_always", "allow_once"]);
@@ -8465,7 +8473,8 @@ var CursorAdapter = class {
8465
8473
  async requestPermission(params) {
8466
8474
  const { response, refused } = acpPermissionResponse(
8467
8475
  params,
8468
- options.policy
8476
+ options.policy,
8477
+ ctx.agentDelivers
8469
8478
  );
8470
8479
  if (refused)
8471
8480
  log.info(
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": 1,
3
- "sourceSha": "a0295ff9031591fc84944f77c47074e8345d129e",
3
+ "sourceSha": "3fe02256b52ef29ce2581173987f01d3b2054448",
4
4
  "repository": "alexj11324/Mikka",
5
- "buildRunId": "41301858649",
5
+ "buildRunId": "41301873626",
6
6
  "buildKind": "github-actions-main",
7
7
  "sourceLockSha256": "c99f1e4f641d8e004cfe807653478e10f91e53fcf47102add5f4c154cdc1cb57",
8
- "createdAt": "2026-11-01T11:31:02.333Z",
8
+ "createdAt": "2026-11-01T11:34:59.039Z",
9
9
  "sbom": "sbom.cdx.json",
10
10
  "files": [
11
11
  {
@@ -40,13 +40,13 @@
40
40
  },
41
41
  {
42
42
  "path": "cli.js",
43
- "size": 649393,
44
- "sha256": "80d315deabf491b19d9fd4c4c7504538b9a61384c6657f5e1366f046d51f0599"
43
+ "size": 649906,
44
+ "sha256": "ea0a5d8f7d1729d9a7febf4a1474182ea867594b08bba034046ce9e1660ea88a"
45
45
  },
46
46
  {
47
47
  "path": "client.js",
48
48
  "size": 141206,
49
- "sha256": "3ec2e556beec11fe31d93aa0b7556b44262f6649635a0ee824d32583c357af52"
49
+ "sha256": "186de19be0c69837ec16496844d3fce1054404df99236b0c632751ae004a6d9f"
50
50
  },
51
51
  {
52
52
  "path": "computer/driver.mjs",
@@ -176,7 +176,7 @@
176
176
  {
177
177
  "path": "http-link.js",
178
178
  "size": 182550,
179
- "sha256": "c508932885e19e4799d1cdcc7520d53bdd4f0ed252e0bf49290f80fa87c95145"
179
+ "sha256": "b16fcb4cc7efaeb1d01b7737d7d398736c080e99b77510f42539c00cde8865a7"
180
180
  },
181
181
  {
182
182
  "path": "log.js",
@@ -186,12 +186,12 @@
186
186
  {
187
187
  "path": "login.js",
188
188
  "size": 145941,
189
- "sha256": "3eb7143f66eca50a633fd5392a831428b82066e797411e6e2b7edac440920315"
189
+ "sha256": "fc3edd9d7e5c7d59028e288c6f18c1f53380da713b49a63476d0742e2aabf1d0"
190
190
  },
191
191
  {
192
192
  "path": "main.js",
193
- "size": 594919,
194
- "sha256": "d291c36403b253623ab236a7c11e753d62ce7fc9bdb8131935bc1e838e4f4254"
193
+ "size": 595432,
194
+ "sha256": "056bb0f88e08eacfdc643f775a2d101593e0f722d076006515358c05f99f8b90"
195
195
  },
196
196
  {
197
197
  "path": "mikka-mcp.mjs",
@@ -200,23 +200,23 @@
200
200
  },
201
201
  {
202
202
  "path": "mikka.js",
203
- "size": 649409,
204
- "sha256": "c2487ea75f1c0e96b48b6769a9a90c389fffa6fb6f179aa204cea7f9305dc621"
203
+ "size": 649922,
204
+ "sha256": "8e03efbabb2d9a8ff443ebfbab63fd859e4b05fff4340f8543d3003eb0731053"
205
205
  },
206
206
  {
207
207
  "path": "npm-shrinkwrap.json",
208
208
  "size": 78117,
209
- "sha256": "31ea2bd8080c86920394085e7bf8ee590f876c900749e7183061e2b07dc3b7e5"
209
+ "sha256": "7a9077f4872f82c1b74dab4c0d5abe22862bcc4cf0b349560439bd51df7f1c11"
210
210
  },
211
211
  {
212
212
  "path": "package.json",
213
213
  "size": 1247,
214
- "sha256": "7f037c1026312bdc90f1df4e56467e4abb2edf1263140529708d3cc498d447c5"
214
+ "sha256": "10cd534abaa4aedba3968f2000a3dfe0738ef5af654a76567b15edfbdb9a1db4"
215
215
  },
216
216
  {
217
217
  "path": "paths.js",
218
218
  "size": 4138,
219
- "sha256": "be92460dc50121d80c377f23017f6a8e92a1e91f4df91a7aad0208bf45595a12"
219
+ "sha256": "3f687c02d1b5442dd6243b682e8d2db4902bdf4354e4fe9b9507ff3966b9e27d"
220
220
  },
221
221
  {
222
222
  "path": "sandbox.js",
@@ -226,7 +226,7 @@
226
226
  {
227
227
  "path": "sbom.cdx.json",
228
228
  "size": 144314,
229
- "sha256": "054e7e065839261ed3371a9b2f5347d43dc7d056a985813dec2f0df280eaf531"
229
+ "sha256": "93003336a8e6c7f2520b064b5250af5188aad04e25550daee8d6fdf89164ff17"
230
230
  }
231
231
  ]
232
232
  }
package/mikka.js CHANGED
@@ -4481,7 +4481,7 @@ import { join as join4 } from "node:path";
4481
4481
  // package.json
4482
4482
  var package_default = {
4483
4483
  name: "@mikka/daemon",
4484
- version: "0.0.155",
4484
+ version: "0.0.156",
4485
4485
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
4486
4486
  type: "module",
4487
4487
  private: true,
@@ -4541,7 +4541,7 @@ var package_default = {
4541
4541
  engines: {
4542
4542
  node: ">=24"
4543
4543
  },
4544
- gitHead: "a0295ff9031591fc84944f77c47074e8345d129e"
4544
+ gitHead: "3fe02256b52ef29ce2581173987f01d3b2054448"
4545
4545
  };
4546
4546
 
4547
4547
  // src/paths.ts
@@ -4816,7 +4816,7 @@ function classifySegment(segment, depth) {
4816
4816
  if (entry && verb && entry[1].includes(verb)) return "install_dependency";
4817
4817
  return null;
4818
4818
  }
4819
- function claudePermissionRules(policy) {
4819
+ function claudePermissionRules(policy, agentDelivers = false) {
4820
4820
  const install2 = INSTALL_COMMANDS.flatMap(
4821
4821
  ([tool2, verbs]) => verbs.map((verb) => `Bash(${tool2} ${verb}:*)`)
4822
4822
  );
@@ -4826,7 +4826,7 @@ function claudePermissionRules(policy) {
4826
4826
  ask: decision === "ask" ? install2 : [],
4827
4827
  deny: [
4828
4828
  ...!rawCliShellAvailable(policy) ? ["Bash", "PowerShell", "Monitor"] : [],
4829
- "Bash(git push:*)",
4829
+ ...agentDelivers && !policy.readOnly ? [] : ["Bash(git push:*)"],
4830
4830
  ...policy.readOnly ? READ_ONLY_TOOLS : [],
4831
4831
  ...decision === "deny" ? install2 : []
4832
4832
  ]
@@ -7231,6 +7231,14 @@ var RunContext = class {
7231
7231
  tempEnv() {
7232
7232
  return { TMPDIR: this.tmpDir, TMPPREFIX: join11(this.tmpDir, "zsh"), ...withGitConfig(this.githubEnv, RUN_GIT_CONFIG), ...this.options.policyHash ? { MIKKA_POLICY_HASH: this.options.policyHash } : {} };
7233
7233
  }
7234
+ /**
7235
+ * The agent delivers this run itself: it commits, pushes to the issue
7236
+ * branch and opens the pull request with run-scoped GitHub credentials. The
7237
+ * server sends GitHub delivery only for a run whose push is allowed.
7238
+ */
7239
+ get agentDelivers() {
7240
+ return Object.keys(this.githubEnv).length > 0;
7241
+ }
7234
7242
  /** A hand-in from an earlier session would end this one at once. */
7235
7243
  clearHandoff() {
7236
7244
  rmSync8(this.handoffFile, { force: true });
@@ -8253,10 +8261,10 @@ function claudeSandboxSettings(policy) {
8253
8261
  }
8254
8262
  };
8255
8263
  }
8256
- function claudeSettings(policy, workspace) {
8264
+ function claudeSettings(policy, workspace, agentDelivers = false) {
8257
8265
  return {
8258
8266
  sandbox: claudeSandboxSettings(policy),
8259
- permissions: claudePermissionRules(runPolicy(workspace))
8267
+ permissions: claudePermissionRules(runPolicy(workspace), agentDelivers)
8260
8268
  };
8261
8269
  }
8262
8270
  function claudeChunks(message) {
@@ -8596,7 +8604,7 @@ var ClaudeAdapter = class {
8596
8604
  },
8597
8605
  settingSources: [],
8598
8606
  settings: {
8599
- ...claudeSettings(ctx.policy(), options.policy),
8607
+ ...claudeSettings(ctx.policy(), options.policy, ctx.agentDelivers),
8600
8608
  // The official runtime launcher encloses the entire CLI. Nesting
8601
8609
  // the CLI's Bash-only sandbox is unsupported on macOS.
8602
8610
  ...outerLocal ? { sandbox: { enabled: false, allowUnsandboxedCommands: true, autoAllowBashIfSandboxed: false } } : {},
@@ -9451,7 +9459,7 @@ var CodexAdapter = class {
9451
9459
  import { Readable, Writable } from "node:stream";
9452
9460
  import * as acp from "@agentclientprotocol/sdk";
9453
9461
  import { join as join16 } from "node:path";
9454
- function acpPermissionResponse(params, policy) {
9462
+ function acpPermissionResponse(params, policy, agentDelivers = false) {
9455
9463
  const pick = (kinds) => {
9456
9464
  for (const kind of kinds) {
9457
9465
  const option = params.options.find((o) => o.kind === kind);
@@ -9463,7 +9471,7 @@ function acpPermissionResponse(params, policy) {
9463
9471
  const raw = params.toolCall.rawInput;
9464
9472
  const command = Array.isArray(raw?.command) ? raw.command.join(" ") : typeof raw?.command === "string" ? raw.command : params.toolCall.title ?? "";
9465
9473
  const action = classifyCommand(command);
9466
- const refused = action === "git_push" || action !== null && decide(action, { policy: runPolicy(policy) }) !== "allow";
9474
+ const refused = action === "git_push" && !agentDelivers || action !== null && decide(action, { policy: runPolicy(policy) }) !== "allow";
9467
9475
  if (refused)
9468
9476
  return { response: pick(["reject_once", "reject_always"]), refused };
9469
9477
  const allowed = pick(["allow_always", "allow_once"]);
@@ -9646,7 +9654,8 @@ var CursorAdapter = class {
9646
9654
  async requestPermission(params) {
9647
9655
  const { response, refused } = acpPermissionResponse(
9648
9656
  params,
9649
- options.policy
9657
+ options.policy,
9658
+ ctx.agentDelivers
9650
9659
  );
9651
9660
  if (refused)
9652
9661
  log.info(
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@aspectlylabs/mikka",
3
- "version": "0.0.155",
3
+ "version": "0.0.156",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@aspectlylabs/mikka",
9
- "version": "0.0.155",
9
+ "version": "0.0.156",
10
10
  "license": "AGPL-3.0-only",
11
11
  "dependencies": {
12
12
  "@agentclientprotocol/sdk": "1.9.0",
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@aspectlylabs/mikka",
3
- "version": "0.0.155",
3
+ "version": "0.0.156",
4
4
  "description": "Local Mikka daemon: runs agents through the user's own CLIs",
5
- "gitHead": "a0295ff9031591fc84944f77c47074e8345d129e",
5
+ "gitHead": "3fe02256b52ef29ce2581173987f01d3b2054448",
6
6
  "type": "module",
7
7
  "private": false,
8
8
  "license": "AGPL-3.0-only",
package/paths.js CHANGED
@@ -6,7 +6,7 @@ import { join } from "node:path";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "@mikka/daemon",
9
- version: "0.0.155",
9
+ version: "0.0.156",
10
10
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
11
11
  type: "module",
12
12
  private: true,
@@ -66,7 +66,7 @@ var package_default = {
66
66
  engines: {
67
67
  node: ">=24"
68
68
  },
69
- gitHead: "a0295ff9031591fc84944f77c47074e8345d129e"
69
+ gitHead: "3fe02256b52ef29ce2581173987f01d3b2054448"
70
70
  };
71
71
 
72
72
  // src/paths.ts
package/sbom.cdx.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
3
3
  "bomFormat": "CycloneDX",
4
4
  "specVersion": "1.5",
5
- "serialNumber": "urn:uuid:e7394798-8931-48d8-bf37-b1552788707f",
5
+ "serialNumber": "urn:uuid:8d063e4c-21da-49c9-a7fa-c1346a8fad06",
6
6
  "version": 1,
7
7
  "metadata": {
8
- "timestamp": "2026-11-01T11:31:01.301Z",
8
+ "timestamp": "2026-11-01T11:34:58.062Z",
9
9
  "lifecycles": [
10
10
  {
11
11
  "phase": "pre-build"
@@ -19,13 +19,13 @@
19
19
  }
20
20
  ],
21
21
  "component": {
22
- "bom-ref": "@aspectlylabs/mikka@0.0.155",
22
+ "bom-ref": "@aspectlylabs/mikka@0.0.156",
23
23
  "type": "library",
24
- "name": ".retained-build-CZssE9",
25
- "version": "0.0.155",
24
+ "name": ".retained-build-SsBNoF",
25
+ "version": "0.0.156",
26
26
  "scope": "required",
27
27
  "description": "Local Mikka daemon: runs agents through the user's own CLIs",
28
- "purl": "pkg:npm/%40aspectlylabs/mikka@0.0.155",
28
+ "purl": "pkg:npm/%40aspectlylabs/mikka@0.0.156",
29
29
  "properties": [],
30
30
  "externalReferences": [
31
31
  {
@@ -4627,7 +4627,7 @@
4627
4627
  ],
4628
4628
  "dependencies": [
4629
4629
  {
4630
- "ref": "@aspectlylabs/mikka@0.0.155",
4630
+ "ref": "@aspectlylabs/mikka@0.0.156",
4631
4631
  "dependsOn": [
4632
4632
  "@agentclientprotocol/sdk@1.9.0",
4633
4633
  "@anthropic-ai/claude-agent-sdk@0.3.305",