@aspectlylabs/mikka 0.0.58 → 0.0.60

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
@@ -4308,7 +4308,7 @@ import { join as join3 } from "node:path";
4308
4308
  // package.json
4309
4309
  var package_default = {
4310
4310
  name: "@mikka/daemon",
4311
- version: "0.0.58",
4311
+ version: "0.0.60",
4312
4312
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
4313
4313
  type: "module",
4314
4314
  private: true,
@@ -4367,7 +4367,7 @@ var package_default = {
4367
4367
  engines: {
4368
4368
  node: ">=24"
4369
4369
  },
4370
- gitHead: "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408"
4370
+ gitHead: "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc"
4371
4371
  };
4372
4372
 
4373
4373
  // src/paths.ts
@@ -14829,13 +14829,19 @@ var Daemon = class {
14829
14829
  0,
14830
14830
  COMMANDS_MAX_SKIP
14831
14831
  );
14832
+ const started = performance.now();
14832
14833
  const commands = await link.fetchCommands(deviceId, wait, {
14833
14834
  signal,
14834
14835
  skipRuns
14835
14836
  });
14837
+ if (this.stopped || signal.aborted) return;
14838
+ backoff = 1e3;
14836
14839
  const acted = await this.applyCommands(commands);
14837
14840
  if (this.unacked.size > 0) continue;
14838
- backoff = 1e3;
14841
+ if (commands.length === 0 && !signal.aborted) {
14842
+ const remaining = Math.max(1e3, wait * 1e3) - (performance.now() - started);
14843
+ if (remaining > 0) await this.pauseCommands(remaining, signal);
14844
+ }
14839
14845
  if (commands.length > 0 && !acted) await this.pauseCommands(500, signal);
14840
14846
  } catch (error) {
14841
14847
  if (this.stopped || signal.aborted) return;
@@ -14856,6 +14862,7 @@ var Daemon = class {
14856
14862
  const { link } = this.options;
14857
14863
  if (!link.fetchFsRequests || !link.answerFsRequest) return;
14858
14864
  const signal = this.commandsAbort.signal;
14865
+ const wait = this.options.commandsWaitSeconds ?? FS_REQUESTS_MAX_WAIT_SECONDS;
14859
14866
  let backoff = 1e3;
14860
14867
  while (!this.stopped) {
14861
14868
  const deviceId = this.device.deviceId;
@@ -14865,12 +14872,18 @@ var Daemon = class {
14865
14872
  await this.pauseCommands(1e3, signal);
14866
14873
  continue;
14867
14874
  }
14875
+ const started = performance.now();
14868
14876
  const requests = await link.fetchFsRequests(
14869
14877
  deviceId,
14870
- this.options.commandsWaitSeconds ?? FS_REQUESTS_MAX_WAIT_SECONDS,
14878
+ wait,
14871
14879
  { signal }
14872
14880
  );
14881
+ if (this.stopped || signal.aborted) return;
14873
14882
  backoff = 1e3;
14883
+ if (requests.length === 0 && !signal.aborted) {
14884
+ const remaining = Math.max(1e3, wait * 1e3) - (performance.now() - started);
14885
+ if (remaining > 0) await this.pauseCommands(remaining, signal);
14886
+ }
14874
14887
  await Promise.all(
14875
14888
  requests.map(async ({ id: id3, ...request }) => {
14876
14889
  const result = await browseFolder(request).catch(() => ({
@@ -14893,6 +14906,7 @@ var Daemon = class {
14893
14906
  }
14894
14907
  /** Waits `ms`, or less if the daemon stops or the device registers. */
14895
14908
  pauseCommands(ms, signal) {
14909
+ if (signal.aborted) return Promise.resolve();
14896
14910
  return new Promise((resolve11) => {
14897
14911
  const done = () => {
14898
14912
  clearTimeout(timer);
package/client.js CHANGED
@@ -3641,7 +3641,7 @@ import { join } from "node:path";
3641
3641
  // package.json
3642
3642
  var package_default = {
3643
3643
  name: "@mikka/daemon",
3644
- version: "0.0.58",
3644
+ version: "0.0.60",
3645
3645
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
3646
3646
  type: "module",
3647
3647
  private: true,
@@ -3700,7 +3700,7 @@ var package_default = {
3700
3700
  engines: {
3701
3701
  node: ">=24"
3702
3702
  },
3703
- gitHead: "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408"
3703
+ gitHead: "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc"
3704
3704
  };
3705
3705
 
3706
3706
  // src/paths.ts
package/http-link.js CHANGED
@@ -3943,7 +3943,7 @@ var InvalidIdError = class extends DaemonError {
3943
3943
  // package.json
3944
3944
  var package_default = {
3945
3945
  name: "@mikka/daemon",
3946
- version: "0.0.58",
3946
+ version: "0.0.60",
3947
3947
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
3948
3948
  type: "module",
3949
3949
  private: true,
@@ -4002,7 +4002,7 @@ var package_default = {
4002
4002
  engines: {
4003
4003
  node: ">=24"
4004
4004
  },
4005
- gitHead: "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408"
4005
+ gitHead: "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc"
4006
4006
  };
4007
4007
 
4008
4008
  // src/paths.ts
package/login.js CHANGED
@@ -3648,7 +3648,7 @@ var ServerUnreachableError = class extends DaemonError {
3648
3648
  // package.json
3649
3649
  var package_default = {
3650
3650
  name: "@mikka/daemon",
3651
- version: "0.0.58",
3651
+ version: "0.0.60",
3652
3652
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
3653
3653
  type: "module",
3654
3654
  private: true,
@@ -3707,7 +3707,7 @@ var package_default = {
3707
3707
  engines: {
3708
3708
  node: ">=24"
3709
3709
  },
3710
- gitHead: "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408"
3710
+ gitHead: "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc"
3711
3711
  };
3712
3712
 
3713
3713
  // src/paths.ts
package/main.js CHANGED
@@ -3501,7 +3501,7 @@ import { join as join5 } from "node:path";
3501
3501
  // package.json
3502
3502
  var package_default = {
3503
3503
  name: "@mikka/daemon",
3504
- version: "0.0.58",
3504
+ version: "0.0.60",
3505
3505
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
3506
3506
  type: "module",
3507
3507
  private: true,
@@ -3560,7 +3560,7 @@ var package_default = {
3560
3560
  engines: {
3561
3561
  node: ">=24"
3562
3562
  },
3563
- gitHead: "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408"
3563
+ gitHead: "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc"
3564
3564
  };
3565
3565
 
3566
3566
  // src/paths.ts
@@ -13990,13 +13990,19 @@ var Daemon = class {
13990
13990
  0,
13991
13991
  COMMANDS_MAX_SKIP
13992
13992
  );
13993
+ const started = performance.now();
13993
13994
  const commands = await link.fetchCommands(deviceId, wait, {
13994
13995
  signal,
13995
13996
  skipRuns
13996
13997
  });
13998
+ if (this.stopped || signal.aborted) return;
13999
+ backoff = 1e3;
13997
14000
  const acted = await this.applyCommands(commands);
13998
14001
  if (this.unacked.size > 0) continue;
13999
- backoff = 1e3;
14002
+ if (commands.length === 0 && !signal.aborted) {
14003
+ const remaining = Math.max(1e3, wait * 1e3) - (performance.now() - started);
14004
+ if (remaining > 0) await this.pauseCommands(remaining, signal);
14005
+ }
14000
14006
  if (commands.length > 0 && !acted) await this.pauseCommands(500, signal);
14001
14007
  } catch (error) {
14002
14008
  if (this.stopped || signal.aborted) return;
@@ -14017,6 +14023,7 @@ var Daemon = class {
14017
14023
  const { link } = this.options;
14018
14024
  if (!link.fetchFsRequests || !link.answerFsRequest) return;
14019
14025
  const signal = this.commandsAbort.signal;
14026
+ const wait = this.options.commandsWaitSeconds ?? FS_REQUESTS_MAX_WAIT_SECONDS;
14020
14027
  let backoff = 1e3;
14021
14028
  while (!this.stopped) {
14022
14029
  const deviceId = this.device.deviceId;
@@ -14026,12 +14033,18 @@ var Daemon = class {
14026
14033
  await this.pauseCommands(1e3, signal);
14027
14034
  continue;
14028
14035
  }
14036
+ const started = performance.now();
14029
14037
  const requests = await link.fetchFsRequests(
14030
14038
  deviceId,
14031
- this.options.commandsWaitSeconds ?? FS_REQUESTS_MAX_WAIT_SECONDS,
14039
+ wait,
14032
14040
  { signal }
14033
14041
  );
14042
+ if (this.stopped || signal.aborted) return;
14034
14043
  backoff = 1e3;
14044
+ if (requests.length === 0 && !signal.aborted) {
14045
+ const remaining = Math.max(1e3, wait * 1e3) - (performance.now() - started);
14046
+ if (remaining > 0) await this.pauseCommands(remaining, signal);
14047
+ }
14035
14048
  await Promise.all(
14036
14049
  requests.map(async ({ id: id3, ...request }) => {
14037
14050
  const result = await browseFolder(request).catch(() => ({
@@ -14054,6 +14067,7 @@ var Daemon = class {
14054
14067
  }
14055
14068
  /** Waits `ms`, or less if the daemon stops or the device registers. */
14056
14069
  pauseCommands(ms, signal) {
14070
+ if (signal.aborted) return Promise.resolve();
14057
14071
  return new Promise((resolve11) => {
14058
14072
  const done = () => {
14059
14073
  clearTimeout(timer);
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": 1,
3
- "sourceSha": "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408",
3
+ "sourceSha": "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc",
4
4
  "repository": "alexj11324/Mikka",
5
- "buildRunId": "41211336463",
5
+ "buildRunId": "41213553110",
6
6
  "buildKind": "github-actions-main",
7
7
  "sourceLockSha256": "333de14ab33e455ec8a3a699f59b49d7a125caebb37d557cc6cfa5024f0c15f7",
8
- "createdAt": "2026-10-31T15:13:06.817Z",
8
+ "createdAt": "2026-10-31T15:23:07.223Z",
9
9
  "sbom": "sbom.cdx.json",
10
10
  "files": [
11
11
  {
@@ -35,13 +35,13 @@
35
35
  },
36
36
  {
37
37
  "path": "cli.js",
38
- "size": 607889,
39
- "sha256": "cc21506dc7d80c64c3eb081a4821b4589dfd8e8b50d619100b5b2ee8fb4dc2e1"
38
+ "size": 608606,
39
+ "sha256": "d18d818ad6ecb35318613d239a6d0eaeb04237a0eeb50d93b291265d4e3cbce4"
40
40
  },
41
41
  {
42
42
  "path": "client.js",
43
43
  "size": 136857,
44
- "sha256": "b89f2c5d0df257dddb8df51bb82f26216d214b92f84bd66d7a9bdf8370a1516f"
44
+ "sha256": "750e15775eae0068ec807761fa09a1c455f084737d65f03d70819c20d04b9b69"
45
45
  },
46
46
  {
47
47
  "path": "computer/driver.mjs",
@@ -146,7 +146,7 @@
146
146
  {
147
147
  "path": "http-link.js",
148
148
  "size": 169380,
149
- "sha256": "10f1a09a1d6c511a4e78be7608446c2b905091b768d17bbe530cdae313e911be"
149
+ "sha256": "57d72bf6bd24b35a904c942d7f5dc077d3c314cd7ff2986a329c4bcd860c0054"
150
150
  },
151
151
  {
152
152
  "path": "log.js",
@@ -156,12 +156,12 @@
156
156
  {
157
157
  "path": "login.js",
158
158
  "size": 141426,
159
- "sha256": "b32b8ac9d4738170b604d65498da61b04d7c6bd857d7b09f20cb16b3bf3ec5eb"
159
+ "sha256": "1c750134d9eecf3a6a1277a8e5387c1b5e2b74eb87369fc3394913a016275684"
160
160
  },
161
161
  {
162
162
  "path": "main.js",
163
- "size": 560381,
164
- "sha256": "dd170c71b83f128ac9d71bc86743016fd12be4d66fdae17c064d2b80c675dfe6"
163
+ "size": 561098,
164
+ "sha256": "d67d2c611077950024c22faffe6fdde7991a24a4bb55935a732b845b04590fa1"
165
165
  },
166
166
  {
167
167
  "path": "mikka-mcp.mjs",
@@ -170,23 +170,23 @@
170
170
  },
171
171
  {
172
172
  "path": "mikka.js",
173
- "size": 607905,
174
- "sha256": "9cc12c3a3024bfb2f0c3a51dd0e2c64f298f8925d0d21a02d5f54d6d7d2756f9"
173
+ "size": 608622,
174
+ "sha256": "e5bc31b2d8d4b530a53afff1cc110ac942c27a238f9cd7e30986f21a9b646105"
175
175
  },
176
176
  {
177
177
  "path": "npm-shrinkwrap.json",
178
178
  "size": 78115,
179
- "sha256": "912ce11d14ccfaa179a40cbf98a1e476ff5c9b06acb3ab58c72639462c387096"
179
+ "sha256": "99aa2c8d84cc36971f869d36c542611f93599e4f528c7510ec24fe7cc14b03f3"
180
180
  },
181
181
  {
182
182
  "path": "package.json",
183
183
  "size": 1246,
184
- "sha256": "99a66b393ccb81b4630bce8d260789c920be1e71b2bc89141c9c4ea62336014e"
184
+ "sha256": "a57eb0c307f49ae351e62a3bad4199d6bc90d78a36f4fbb48af7c69e3265ae74"
185
185
  },
186
186
  {
187
187
  "path": "paths.js",
188
188
  "size": 3914,
189
- "sha256": "48efb4b12f0ba228fa71537f74c9508210d4520b6b0bc9d3b26f88baabbf757b"
189
+ "sha256": "0d31b6241548b0afd7474599b2298e1b86e1c13e1b417a06948490b432e0b785"
190
190
  },
191
191
  {
192
192
  "path": "sandbox.js",
@@ -196,7 +196,7 @@
196
196
  {
197
197
  "path": "sbom.cdx.json",
198
198
  "size": 144310,
199
- "sha256": "263dc547c8b2b132475c5b96343f5ade7bea0809d137313d530cbd588c9a004d"
199
+ "sha256": "5de40bca39afc399353f86c02d7208e5609ef80246c16a4f1a3c2fe3329d2afd"
200
200
  }
201
201
  ]
202
202
  }
package/mikka.js CHANGED
@@ -4309,7 +4309,7 @@ import { join as join3 } from "node:path";
4309
4309
  // package.json
4310
4310
  var package_default = {
4311
4311
  name: "@mikka/daemon",
4312
- version: "0.0.58",
4312
+ version: "0.0.60",
4313
4313
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
4314
4314
  type: "module",
4315
4315
  private: true,
@@ -4368,7 +4368,7 @@ var package_default = {
4368
4368
  engines: {
4369
4369
  node: ">=24"
4370
4370
  },
4371
- gitHead: "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408"
4371
+ gitHead: "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc"
4372
4372
  };
4373
4373
 
4374
4374
  // src/paths.ts
@@ -14830,13 +14830,19 @@ var Daemon = class {
14830
14830
  0,
14831
14831
  COMMANDS_MAX_SKIP
14832
14832
  );
14833
+ const started = performance.now();
14833
14834
  const commands = await link.fetchCommands(deviceId, wait, {
14834
14835
  signal,
14835
14836
  skipRuns
14836
14837
  });
14838
+ if (this.stopped || signal.aborted) return;
14839
+ backoff = 1e3;
14837
14840
  const acted = await this.applyCommands(commands);
14838
14841
  if (this.unacked.size > 0) continue;
14839
- backoff = 1e3;
14842
+ if (commands.length === 0 && !signal.aborted) {
14843
+ const remaining = Math.max(1e3, wait * 1e3) - (performance.now() - started);
14844
+ if (remaining > 0) await this.pauseCommands(remaining, signal);
14845
+ }
14840
14846
  if (commands.length > 0 && !acted) await this.pauseCommands(500, signal);
14841
14847
  } catch (error) {
14842
14848
  if (this.stopped || signal.aborted) return;
@@ -14857,6 +14863,7 @@ var Daemon = class {
14857
14863
  const { link } = this.options;
14858
14864
  if (!link.fetchFsRequests || !link.answerFsRequest) return;
14859
14865
  const signal = this.commandsAbort.signal;
14866
+ const wait = this.options.commandsWaitSeconds ?? FS_REQUESTS_MAX_WAIT_SECONDS;
14860
14867
  let backoff = 1e3;
14861
14868
  while (!this.stopped) {
14862
14869
  const deviceId = this.device.deviceId;
@@ -14866,12 +14873,18 @@ var Daemon = class {
14866
14873
  await this.pauseCommands(1e3, signal);
14867
14874
  continue;
14868
14875
  }
14876
+ const started = performance.now();
14869
14877
  const requests = await link.fetchFsRequests(
14870
14878
  deviceId,
14871
- this.options.commandsWaitSeconds ?? FS_REQUESTS_MAX_WAIT_SECONDS,
14879
+ wait,
14872
14880
  { signal }
14873
14881
  );
14882
+ if (this.stopped || signal.aborted) return;
14874
14883
  backoff = 1e3;
14884
+ if (requests.length === 0 && !signal.aborted) {
14885
+ const remaining = Math.max(1e3, wait * 1e3) - (performance.now() - started);
14886
+ if (remaining > 0) await this.pauseCommands(remaining, signal);
14887
+ }
14875
14888
  await Promise.all(
14876
14889
  requests.map(async ({ id: id3, ...request }) => {
14877
14890
  const result = await browseFolder(request).catch(() => ({
@@ -14894,6 +14907,7 @@ var Daemon = class {
14894
14907
  }
14895
14908
  /** Waits `ms`, or less if the daemon stops or the device registers. */
14896
14909
  pauseCommands(ms, signal) {
14910
+ if (signal.aborted) return Promise.resolve();
14897
14911
  return new Promise((resolve11) => {
14898
14912
  const done = () => {
14899
14913
  clearTimeout(timer);
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@aspectlylabs/mikka",
3
- "version": "0.0.58",
3
+ "version": "0.0.60",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@aspectlylabs/mikka",
9
- "version": "0.0.58",
9
+ "version": "0.0.60",
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.58",
3
+ "version": "0.0.60",
4
4
  "description": "Local Mikka daemon: runs agents through the user's own CLIs",
5
- "gitHead": "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408",
5
+ "gitHead": "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc",
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.58",
9
+ version: "0.0.60",
10
10
  description: "Local Mikka daemon: runs agents through the user's own CLIs",
11
11
  type: "module",
12
12
  private: true,
@@ -65,7 +65,7 @@ var package_default = {
65
65
  engines: {
66
66
  node: ">=24"
67
67
  },
68
- gitHead: "eb40b4e68e64b4aee57e3f848a9fa9e60acb4408"
68
+ gitHead: "0f3993ba5160e439f4f035ae69cbd8bcee25e0bc"
69
69
  };
70
70
 
71
71
  // 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:9b1b7431-9f4d-47d8-adba-e9d8813731a3",
5
+ "serialNumber": "urn:uuid:cbbf3f5b-7736-4090-b3dd-530fd49ae1b5",
6
6
  "version": 1,
7
7
  "metadata": {
8
- "timestamp": "2026-10-31T15:13:05.932Z",
8
+ "timestamp": "2026-10-31T15:23:06.501Z",
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.58",
22
+ "bom-ref": "@aspectlylabs/mikka@0.0.60",
23
23
  "type": "library",
24
- "name": ".retained-build-M4eUZL",
25
- "version": "0.0.58",
24
+ "name": ".retained-build-jNkm6A",
25
+ "version": "0.0.60",
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.58",
28
+ "purl": "pkg:npm/%40aspectlylabs/mikka@0.0.60",
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.58",
4630
+ "ref": "@aspectlylabs/mikka@0.0.60",
4631
4631
  "dependsOn": [
4632
4632
  "@agentclientprotocol/sdk@1.9.0",
4633
4633
  "@anthropic-ai/claude-agent-sdk@0.3.305",