@alook/daemon 0.1.22 → 0.1.24

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/dist/cli/index.js CHANGED
@@ -16892,6 +16892,7 @@ var HostCommandSchema = exports_external.discriminatedUnion("type", [
16892
16892
  import * as fs from "fs";
16893
16893
  import * as path from "path";
16894
16894
  // ../shared/src/constants/community.ts
16895
+ var MAX_FOLDER_NAME_LENGTH = 100;
16895
16896
  var MAX_PROFILE_NAME_LENGTH = 100;
16896
16897
  var MAX_PROFILE_ABOUT_LENGTH = 1000;
16897
16898
  var MAX_MESSAGE_CONTENT_LENGTH = 4000;
@@ -17063,10 +17064,13 @@ var ActivateTokenRuntimeSchema = exports_external.object({
17063
17064
  type: exports_external.string().min(1),
17064
17065
  version: exports_external.string().optional().default("")
17065
17066
  });
17067
+ var COMMUNITY_RUNTIME_ID_MAX = 64;
17068
+ var COMMUNITY_RUNTIME_VERSION_MAX = 64;
17069
+ var COMMUNITY_RUNTIME_LIST_MAX = 64;
17066
17070
  var ActivateTokenRequestSchema = exports_external.object({
17067
17071
  token: exports_external.string().min(1),
17068
17072
  hostname: exports_external.string().min(1),
17069
- runtimes: exports_external.array(ActivateTokenRuntimeSchema).min(1)
17073
+ runtimes: exports_external.array(ActivateTokenRuntimeSchema).min(1).max(COMMUNITY_RUNTIME_LIST_MAX)
17070
17074
  });
17071
17075
  var RegisterDaemonRequestSchema = exports_external.object({
17072
17076
  workspace_id: exports_external.string().min(1).optional(),
@@ -17074,7 +17078,7 @@ var RegisterDaemonRequestSchema = exports_external.object({
17074
17078
  device_name: exports_external.string().optional().default(""),
17075
17079
  cli_version: exports_external.string().optional().default(""),
17076
17080
  workspaces_root: exports_external.string().optional().default(""),
17077
- runtimes: exports_external.array(DaemonRuntimeItemSchema).min(1)
17081
+ runtimes: exports_external.array(DaemonRuntimeItemSchema).min(1).max(COMMUNITY_RUNTIME_LIST_MAX)
17078
17082
  });
17079
17083
  var DeregisterRequestSchema = exports_external.object({
17080
17084
  daemon_id: exports_external.string().min(1)
@@ -17417,9 +17421,6 @@ var CreateThreadRequestSchema = exports_external.object({
17417
17421
  content: exports_external.string().optional().default(""),
17418
17422
  attachment_ids: exports_external.array(exports_external.string()).optional()
17419
17423
  });
17420
- var COMMUNITY_RUNTIME_ID_MAX = 64;
17421
- var COMMUNITY_RUNTIME_VERSION_MAX = 64;
17422
- var COMMUNITY_RUNTIME_LIST_MAX = 64;
17423
17424
  var RUNTIME_ID_RE = /^[A-Za-z0-9._@/-]+$/;
17424
17425
  var CommunityMachineRuntimeSchema = exports_external.object({
17425
17426
  id: exports_external.string().min(1).max(COMMUNITY_RUNTIME_ID_MAX).regex(RUNTIME_ID_RE, "invalid runtime id charset"),
@@ -17439,6 +17440,17 @@ var CommunityMachineRuntimeListSchema = exports_external.array(CommunityMachineR
17439
17440
  }
17440
17441
  return out;
17441
17442
  });
17443
+ var CommunityRunningAgentListSchema = exports_external.array(exports_external.string()).transform((list) => {
17444
+ const seen = new Set;
17445
+ const out = [];
17446
+ for (const id of list) {
17447
+ if (seen.has(id))
17448
+ continue;
17449
+ seen.add(id);
17450
+ out.push(id);
17451
+ }
17452
+ return out;
17453
+ });
17442
17454
  var CommunityMachineSummarySchema = exports_external.object({
17443
17455
  id: exports_external.string(),
17444
17456
  hostname: exports_external.string(),
@@ -17462,7 +17474,7 @@ var HostReadyMessageSchema = exports_external.object({
17462
17474
  type: exports_external.literal("ready"),
17463
17475
  runtimeReport: CommunityMachineRuntimeListSchema,
17464
17476
  capabilities: exports_external.array(exports_external.string().min(1).max(64)).max(16).optional().default([]),
17465
- runningAgents: exports_external.array(exports_external.string()).default([]),
17477
+ runningAgents: CommunityRunningAgentListSchema.default([]),
17466
17478
  hostname: exports_external.string().optional(),
17467
17479
  platform: exports_external.string().optional(),
17468
17480
  arch: exports_external.string().optional(),
@@ -17471,7 +17483,7 @@ var HostReadyMessageSchema = exports_external.object({
17471
17483
  });
17472
17484
  var CommunityDaemonReadySchema = exports_external.object({
17473
17485
  runtimeReport: CommunityMachineRuntimeListSchema.optional(),
17474
- runningAgents: exports_external.array(exports_external.string()).default([]),
17486
+ runningAgents: CommunityRunningAgentListSchema.default([]),
17475
17487
  hostname: exports_external.string().optional(),
17476
17488
  os: exports_external.string().optional(),
17477
17489
  arch: exports_external.string().optional(),
@@ -18760,6 +18772,43 @@ var COMMUNITY_BROWSER_EVENT_BATCH_ENVELOPE_BYTES = 1024;
18760
18772
  var COMMUNITY_BROWSER_EVENT_BATCH_MAX_BYTES = MESSAGE_DELIVERY_MAX_EVENTS_PER_USER * COMMUNITY_BROWSER_EVENT_MAX_BYTES + COMMUNITY_BROWSER_EVENT_BATCH_ENVELOPE_BYTES;
18761
18773
  // ../shared/src/db/index.ts
18762
18774
  var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema };
18775
+ // ../shared/src/community-server-rail.ts
18776
+ var MAX_SERVER_RAIL_COMMANDS = 3;
18777
+ var idSchema = exports_external.string().trim().min(1);
18778
+ var idsSchema = exports_external.array(idSchema);
18779
+ var reorderServersSchema = exports_external.strictObject({
18780
+ kind: exports_external.literal("reorder-servers"),
18781
+ serverIds: idsSchema
18782
+ });
18783
+ var reorderFoldersSchema = exports_external.strictObject({
18784
+ kind: exports_external.literal("reorder-folders"),
18785
+ folderIds: idsSchema
18786
+ });
18787
+ var replaceFolderItemsSchema = exports_external.strictObject({
18788
+ kind: exports_external.literal("replace-folder-items"),
18789
+ folderId: idSchema,
18790
+ serverIds: idsSchema.min(1)
18791
+ });
18792
+ var deleteFolderSchema = exports_external.strictObject({
18793
+ kind: exports_external.literal("delete-folder"),
18794
+ folderId: idSchema
18795
+ });
18796
+ var createFolderSchema = exports_external.strictObject({
18797
+ kind: exports_external.literal("create-folder"),
18798
+ clientId: idSchema,
18799
+ name: exports_external.string().trim().min(1).max(MAX_FOLDER_NAME_LENGTH),
18800
+ serverIds: idsSchema.min(1)
18801
+ });
18802
+ var serverRailCommandSchema = exports_external.discriminatedUnion("kind", [
18803
+ reorderServersSchema,
18804
+ reorderFoldersSchema,
18805
+ replaceFolderItemsSchema,
18806
+ deleteFolderSchema,
18807
+ createFolderSchema
18808
+ ]);
18809
+ var serverRailCommitRequestSchema = exports_external.strictObject({
18810
+ commands: exports_external.array(serverRailCommandSchema).min(1).max(MAX_SERVER_RAIL_COMMANDS)
18811
+ });
18763
18812
  // ../shared/src/db/queries/task.ts
18764
18813
  var DEFAULT_STALE_SECONDS = Number(process.env.ALOOK_STALE_DISPATCH_TIMEOUT_S) || 20;
18765
18814
  var DEFAULT_STALE_RUNNING_SECONDS = Number(process.env.ALOOK_STALE_RUNNING_TIMEOUT_S) || 3600;
package/dist/index.js CHANGED
@@ -27048,6 +27048,7 @@ function writeStatusFile(path9, snapshot) {
27048
27048
  } catch {}
27049
27049
  }
27050
27050
  // ../shared/src/constants/community.ts
27051
+ var MAX_FOLDER_NAME_LENGTH = 100;
27051
27052
  var MAX_PROFILE_NAME_LENGTH = 100;
27052
27053
  var MAX_PROFILE_ABOUT_LENGTH = 1000;
27053
27054
  var MAX_MESSAGE_CONTENT_LENGTH = 4000;
@@ -27218,10 +27219,13 @@ var ActivateTokenRuntimeSchema = exports_external.object({
27218
27219
  type: exports_external.string().min(1),
27219
27220
  version: exports_external.string().optional().default("")
27220
27221
  });
27222
+ var COMMUNITY_RUNTIME_ID_MAX = 64;
27223
+ var COMMUNITY_RUNTIME_VERSION_MAX = 64;
27224
+ var COMMUNITY_RUNTIME_LIST_MAX = 64;
27221
27225
  var ActivateTokenRequestSchema = exports_external.object({
27222
27226
  token: exports_external.string().min(1),
27223
27227
  hostname: exports_external.string().min(1),
27224
- runtimes: exports_external.array(ActivateTokenRuntimeSchema).min(1)
27228
+ runtimes: exports_external.array(ActivateTokenRuntimeSchema).min(1).max(COMMUNITY_RUNTIME_LIST_MAX)
27225
27229
  });
27226
27230
  var RegisterDaemonRequestSchema = exports_external.object({
27227
27231
  workspace_id: exports_external.string().min(1).optional(),
@@ -27229,7 +27233,7 @@ var RegisterDaemonRequestSchema = exports_external.object({
27229
27233
  device_name: exports_external.string().optional().default(""),
27230
27234
  cli_version: exports_external.string().optional().default(""),
27231
27235
  workspaces_root: exports_external.string().optional().default(""),
27232
- runtimes: exports_external.array(DaemonRuntimeItemSchema).min(1)
27236
+ runtimes: exports_external.array(DaemonRuntimeItemSchema).min(1).max(COMMUNITY_RUNTIME_LIST_MAX)
27233
27237
  });
27234
27238
  var DeregisterRequestSchema = exports_external.object({
27235
27239
  daemon_id: exports_external.string().min(1)
@@ -27572,9 +27576,6 @@ var CreateThreadRequestSchema = exports_external.object({
27572
27576
  content: exports_external.string().optional().default(""),
27573
27577
  attachment_ids: exports_external.array(exports_external.string()).optional()
27574
27578
  });
27575
- var COMMUNITY_RUNTIME_ID_MAX = 64;
27576
- var COMMUNITY_RUNTIME_VERSION_MAX = 64;
27577
- var COMMUNITY_RUNTIME_LIST_MAX = 64;
27578
27579
  var RUNTIME_ID_RE = /^[A-Za-z0-9._@/-]+$/;
27579
27580
  var CommunityMachineRuntimeSchema = exports_external.object({
27580
27581
  id: exports_external.string().min(1).max(COMMUNITY_RUNTIME_ID_MAX).regex(RUNTIME_ID_RE, "invalid runtime id charset"),
@@ -27594,6 +27595,17 @@ var CommunityMachineRuntimeListSchema = exports_external.array(CommunityMachineR
27594
27595
  }
27595
27596
  return out;
27596
27597
  });
27598
+ var CommunityRunningAgentListSchema = exports_external.array(exports_external.string()).transform((list) => {
27599
+ const seen = new Set;
27600
+ const out = [];
27601
+ for (const id of list) {
27602
+ if (seen.has(id))
27603
+ continue;
27604
+ seen.add(id);
27605
+ out.push(id);
27606
+ }
27607
+ return out;
27608
+ });
27597
27609
  var CommunityMachineSummarySchema = exports_external.object({
27598
27610
  id: exports_external.string(),
27599
27611
  hostname: exports_external.string(),
@@ -27617,7 +27629,7 @@ var HostReadyMessageSchema = exports_external.object({
27617
27629
  type: exports_external.literal("ready"),
27618
27630
  runtimeReport: CommunityMachineRuntimeListSchema,
27619
27631
  capabilities: exports_external.array(exports_external.string().min(1).max(64)).max(16).optional().default([]),
27620
- runningAgents: exports_external.array(exports_external.string()).default([]),
27632
+ runningAgents: CommunityRunningAgentListSchema.default([]),
27621
27633
  hostname: exports_external.string().optional(),
27622
27634
  platform: exports_external.string().optional(),
27623
27635
  arch: exports_external.string().optional(),
@@ -27626,7 +27638,7 @@ var HostReadyMessageSchema = exports_external.object({
27626
27638
  });
27627
27639
  var CommunityDaemonReadySchema = exports_external.object({
27628
27640
  runtimeReport: CommunityMachineRuntimeListSchema.optional(),
27629
- runningAgents: exports_external.array(exports_external.string()).default([]),
27641
+ runningAgents: CommunityRunningAgentListSchema.default([]),
27630
27642
  hostname: exports_external.string().optional(),
27631
27643
  os: exports_external.string().optional(),
27632
27644
  arch: exports_external.string().optional(),
@@ -28915,6 +28927,43 @@ var COMMUNITY_BROWSER_EVENT_BATCH_ENVELOPE_BYTES = 1024;
28915
28927
  var COMMUNITY_BROWSER_EVENT_BATCH_MAX_BYTES = MESSAGE_DELIVERY_MAX_EVENTS_PER_USER * COMMUNITY_BROWSER_EVENT_MAX_BYTES + COMMUNITY_BROWSER_EVENT_BATCH_ENVELOPE_BYTES;
28916
28928
  // ../shared/src/db/index.ts
28917
28929
  var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema };
28930
+ // ../shared/src/community-server-rail.ts
28931
+ var MAX_SERVER_RAIL_COMMANDS = 3;
28932
+ var idSchema = exports_external.string().trim().min(1);
28933
+ var idsSchema = exports_external.array(idSchema);
28934
+ var reorderServersSchema = exports_external.strictObject({
28935
+ kind: exports_external.literal("reorder-servers"),
28936
+ serverIds: idsSchema
28937
+ });
28938
+ var reorderFoldersSchema = exports_external.strictObject({
28939
+ kind: exports_external.literal("reorder-folders"),
28940
+ folderIds: idsSchema
28941
+ });
28942
+ var replaceFolderItemsSchema = exports_external.strictObject({
28943
+ kind: exports_external.literal("replace-folder-items"),
28944
+ folderId: idSchema,
28945
+ serverIds: idsSchema.min(1)
28946
+ });
28947
+ var deleteFolderSchema = exports_external.strictObject({
28948
+ kind: exports_external.literal("delete-folder"),
28949
+ folderId: idSchema
28950
+ });
28951
+ var createFolderSchema = exports_external.strictObject({
28952
+ kind: exports_external.literal("create-folder"),
28953
+ clientId: idSchema,
28954
+ name: exports_external.string().trim().min(1).max(MAX_FOLDER_NAME_LENGTH),
28955
+ serverIds: idsSchema.min(1)
28956
+ });
28957
+ var serverRailCommandSchema = exports_external.discriminatedUnion("kind", [
28958
+ reorderServersSchema,
28959
+ reorderFoldersSchema,
28960
+ replaceFolderItemsSchema,
28961
+ deleteFolderSchema,
28962
+ createFolderSchema
28963
+ ]);
28964
+ var serverRailCommitRequestSchema = exports_external.strictObject({
28965
+ commands: exports_external.array(serverRailCommandSchema).min(1).max(MAX_SERVER_RAIL_COMMANDS)
28966
+ });
28918
28967
  // ../shared/src/db/queries/task.ts
28919
28968
  var DEFAULT_STALE_SECONDS = Number(process.env.ALOOK_STALE_DISPATCH_TIMEOUT_S) || 20;
28920
28969
  var DEFAULT_STALE_RUNNING_SECONDS = Number(process.env.ALOOK_STALE_RUNNING_TIMEOUT_S) || 3600;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alook/daemon",
3
- "version": "0.1.22",
3
+ "version": "0.1.24",
4
4
  "description": "Alook agent daemon — host-side runtime backend, process manager, credential proxy, and control plane.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/alookai/alook#readme",
@@ -40,7 +40,9 @@
40
40
  "build": "bun build src/index.ts --outdir dist --target node --format esm --external commander --external ws --external sharp && bun build src/cli/index.ts --outdir dist/cli --target node --format esm --external commander --external ws --external sharp && node scripts/prepare-dist.mjs",
41
41
  "prepack": "pnpm run build",
42
42
  "typecheck": "tsc --noEmit",
43
- "test": "vitest run",
43
+ "test": "pnpm test:unit && pnpm test:packed",
44
+ "test:unit": "vitest run --exclude src/version.packed.test.ts --exclude src/agent-driver-bundle.packed.test.ts --exclude src/cli/daemonSelfUpdate.real.test.ts",
45
+ "test:packed": "vitest run --no-file-parallelism src/version.packed.test.ts src/agent-driver-bundle.packed.test.ts src/cli/daemonSelfUpdate.real.test.ts",
44
46
  "test:watch": "vitest",
45
47
  "test:integration": "vitest run --config ../../tests/integration/daemon/vitest.config.ts --passWithNoTests",
46
48
  "lint": "eslint .",