@alook/cli 0.0.157 → 0.0.159

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/index.js CHANGED
@@ -15182,29 +15182,52 @@ var CommunityAgentListChannelsRequestSchema = exports_external.object({
15182
15182
  var CommunityAgentListMembersRequestSchema = exports_external.object({
15183
15183
  server: exports_external.string().min(1)
15184
15184
  });
15185
+ var CommunityAgentChannelMemberRequestSchema = exports_external.object({
15186
+ channel: exports_external.string().min(1),
15187
+ agentId: exports_external.string().optional()
15188
+ });
15185
15189
  var CommunityAgentJoinServerRequestSchema = exports_external.object({
15186
15190
  invite: exports_external.string().min(1)
15187
15191
  });
15192
+ var CommunityAgentReactAddRequestSchema = exports_external.object({
15193
+ channel: exports_external.string().min(1),
15194
+ seq: CommunityAgentPositiveSeqSchema,
15195
+ emoji: exports_external.string().min(1)
15196
+ });
15188
15197
  var AuditLogCliInvocationPayloadSchema = exports_external.object({
15189
15198
  subcommand: exports_external.string().min(1)
15190
15199
  });
15191
15200
  var AuditLogToolCallPayloadSchema = exports_external.object({
15192
- name: exports_external.string().min(1)
15201
+ name: exports_external.string().min(1),
15202
+ target: exports_external.string().max(240).optional()
15193
15203
  });
15194
15204
  var AuditLogThinkingPayloadSchema = exports_external.object({
15195
15205
  text: exports_external.string(),
15196
15206
  truncated: exports_external.boolean(),
15197
15207
  chars: exports_external.number().int().nonnegative()
15198
15208
  });
15209
+ var AuditLogWakeTriggerPayloadSchema = exports_external.object({
15210
+ messageId: exports_external.string().min(1),
15211
+ channel: exports_external.string().min(1),
15212
+ seq: CommunityAgentPositiveSeqSchema,
15213
+ senderId: exports_external.string().min(1),
15214
+ senderHandle: exports_external.string().min(1),
15215
+ reason: exports_external.enum(["unread", "mention"])
15216
+ });
15217
+ var AuditLogSessionResetPayloadSchema = exports_external.object({});
15199
15218
  var BotAuditEventSchema = exports_external.discriminatedUnion("kind", [
15200
15219
  exports_external.object({ kind: exports_external.literal("cli_invocation"), payload: AuditLogCliInvocationPayloadSchema }),
15201
15220
  exports_external.object({ kind: exports_external.literal("tool_call"), payload: AuditLogToolCallPayloadSchema }),
15202
- exports_external.object({ kind: exports_external.literal("thinking"), payload: AuditLogThinkingPayloadSchema })
15221
+ exports_external.object({ kind: exports_external.literal("thinking"), payload: AuditLogThinkingPayloadSchema }),
15222
+ exports_external.object({ kind: exports_external.literal("wake_trigger"), payload: AuditLogWakeTriggerPayloadSchema }),
15223
+ exports_external.object({ kind: exports_external.literal("session_reset"), payload: AuditLogSessionResetPayloadSchema })
15203
15224
  ]);
15204
15225
  var BotAuditEventKindSchema = exports_external.enum([
15205
15226
  "cli_invocation",
15206
15227
  "tool_call",
15207
- "thinking"
15228
+ "thinking",
15229
+ "wake_trigger",
15230
+ "session_reset"
15208
15231
  ]);
15209
15232
  var HostBotAuditEventFrameSchema = exports_external.object({
15210
15233
  type: exports_external.literal("bot_audit_event"),
@@ -15213,7 +15236,7 @@ var HostBotAuditEventFrameSchema = exports_external.object({
15213
15236
  launchId: exports_external.string().nullable().optional(),
15214
15237
  event: BotAuditEventSchema
15215
15238
  });
15216
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/entity.js
15239
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/entity.js
15217
15240
  var entityKind = Symbol.for("drizzle:entityKind");
15218
15241
  var hasOwnEntityKind = Symbol.for("drizzle:hasOwnEntityKind");
15219
15242
  function is(value, type) {
@@ -15238,7 +15261,7 @@ function is(value, type) {
15238
15261
  return false;
15239
15262
  }
15240
15263
 
15241
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/column.js
15264
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/column.js
15242
15265
  class Column {
15243
15266
  constructor(table, config2) {
15244
15267
  this.table = table;
@@ -15288,7 +15311,7 @@ class Column {
15288
15311
  }
15289
15312
  }
15290
15313
 
15291
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/column-builder.js
15314
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/column-builder.js
15292
15315
  class ColumnBuilder {
15293
15316
  static [entityKind] = "ColumnBuilder";
15294
15317
  config;
@@ -15344,20 +15367,20 @@ class ColumnBuilder {
15344
15367
  }
15345
15368
  }
15346
15369
 
15347
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/table.utils.js
15370
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/table.utils.js
15348
15371
  var TableName = Symbol.for("drizzle:Name");
15349
15372
 
15350
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/tracing-utils.js
15373
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/tracing-utils.js
15351
15374
  function iife(fn, ...args) {
15352
15375
  return fn(...args);
15353
15376
  }
15354
15377
 
15355
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/pg-core/unique-constraint.js
15378
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/pg-core/unique-constraint.js
15356
15379
  function uniqueKeyName(table, columns) {
15357
15380
  return `${table[TableName]}_${columns.join("_")}_unique`;
15358
15381
  }
15359
15382
 
15360
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/pg-core/columns/common.js
15383
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/pg-core/columns/common.js
15361
15384
  class PgColumn extends Column {
15362
15385
  constructor(table, config2) {
15363
15386
  if (!config2.uniqueName) {
@@ -15406,7 +15429,7 @@ class ExtraConfigColumn extends PgColumn {
15406
15429
  }
15407
15430
  }
15408
15431
 
15409
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/pg-core/columns/enum.js
15432
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/pg-core/columns/enum.js
15410
15433
  class PgEnumObjectColumn extends PgColumn {
15411
15434
  static [entityKind] = "PgEnumObjectColumn";
15412
15435
  enum;
@@ -15436,7 +15459,7 @@ class PgEnumColumn extends PgColumn {
15436
15459
  }
15437
15460
  }
15438
15461
 
15439
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/subquery.js
15462
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/subquery.js
15440
15463
  class Subquery {
15441
15464
  static [entityKind] = "Subquery";
15442
15465
  constructor(sql, fields, alias, isWith = false, usedTables = []) {
@@ -15451,10 +15474,10 @@ class Subquery {
15451
15474
  }
15452
15475
  }
15453
15476
 
15454
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/version.js
15477
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/version.js
15455
15478
  var version2 = "0.45.2";
15456
15479
 
15457
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/tracing.js
15480
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/tracing.js
15458
15481
  var otel;
15459
15482
  var rawTracer;
15460
15483
  var tracer = {
@@ -15481,10 +15504,10 @@ var tracer = {
15481
15504
  }
15482
15505
  };
15483
15506
 
15484
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/view-common.js
15507
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/view-common.js
15485
15508
  var ViewBaseConfig = Symbol.for("drizzle:ViewBaseConfig");
15486
15509
 
15487
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/table.js
15510
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/table.js
15488
15511
  var Schema = Symbol.for("drizzle:Schema");
15489
15512
  var Columns = Symbol.for("drizzle:Columns");
15490
15513
  var ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");
@@ -15522,7 +15545,7 @@ class Table {
15522
15545
  }
15523
15546
  }
15524
15547
 
15525
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sql/sql.js
15548
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sql/sql.js
15526
15549
  function isSQLWrapper(value) {
15527
15550
  return value !== null && value !== undefined && typeof value.getSQL === "function";
15528
15551
  }
@@ -15882,7 +15905,7 @@ Subquery.prototype.getSQL = function() {
15882
15905
  return new SQL([this]);
15883
15906
  };
15884
15907
 
15885
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/utils.js
15908
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/utils.js
15886
15909
  function getColumnNameAndConfig(a, b) {
15887
15910
  return {
15888
15911
  name: typeof a === "string" && a.length > 0 ? a : "",
@@ -15919,7 +15942,7 @@ __export(exports_community_schema, {
15919
15942
  communityAttachment: () => communityAttachment
15920
15943
  });
15921
15944
 
15922
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
15945
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
15923
15946
  class ForeignKeyBuilder {
15924
15947
  static [entityKind] = "SQLiteForeignKeyBuilder";
15925
15948
  reference;
@@ -15987,7 +16010,7 @@ function foreignKey(config2) {
15987
16010
  return new ForeignKeyBuilder(mappedConfig);
15988
16011
  }
15989
16012
 
15990
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
16013
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
15991
16014
  function uniqueKeyName2(table, columns) {
15992
16015
  return `${table[TableName]}_${columns.join("_")}_unique`;
15993
16016
  }
@@ -16032,7 +16055,7 @@ class UniqueConstraint {
16032
16055
  }
16033
16056
  }
16034
16057
 
16035
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/common.js
16058
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/common.js
16036
16059
  class SQLiteColumnBuilder extends ColumnBuilder {
16037
16060
  static [entityKind] = "SQLiteColumnBuilder";
16038
16061
  foreignKeyConfigs = [];
@@ -16083,7 +16106,7 @@ class SQLiteColumn extends Column {
16083
16106
  static [entityKind] = "SQLiteColumn";
16084
16107
  }
16085
16108
 
16086
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/blob.js
16109
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/blob.js
16087
16110
  class SQLiteBigIntBuilder extends SQLiteColumnBuilder {
16088
16111
  static [entityKind] = "SQLiteBigIntBuilder";
16089
16112
  constructor(name) {
@@ -16171,7 +16194,7 @@ function blob(a, b) {
16171
16194
  return new SQLiteBlobBufferBuilder(name);
16172
16195
  }
16173
16196
 
16174
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/custom.js
16197
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/custom.js
16175
16198
  class SQLiteCustomColumnBuilder extends SQLiteColumnBuilder {
16176
16199
  static [entityKind] = "SQLiteCustomColumnBuilder";
16177
16200
  constructor(name, fieldConfig, customTypeParams) {
@@ -16212,7 +16235,7 @@ function customType(customTypeParams) {
16212
16235
  };
16213
16236
  }
16214
16237
 
16215
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/integer.js
16238
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/integer.js
16216
16239
  class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {
16217
16240
  static [entityKind] = "SQLiteBaseIntegerBuilder";
16218
16241
  constructor(name, dataType, columnType) {
@@ -16314,7 +16337,7 @@ function integer2(a, b) {
16314
16337
  return new SQLiteIntegerBuilder(name);
16315
16338
  }
16316
16339
 
16317
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
16340
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
16318
16341
  class SQLiteNumericBuilder extends SQLiteColumnBuilder {
16319
16342
  static [entityKind] = "SQLiteNumericBuilder";
16320
16343
  constructor(name) {
@@ -16384,7 +16407,7 @@ function numeric(a, b) {
16384
16407
  return mode === "number" ? new SQLiteNumericNumberBuilder(name) : mode === "bigint" ? new SQLiteNumericBigIntBuilder(name) : new SQLiteNumericBuilder(name);
16385
16408
  }
16386
16409
 
16387
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/real.js
16410
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/real.js
16388
16411
  class SQLiteRealBuilder extends SQLiteColumnBuilder {
16389
16412
  static [entityKind] = "SQLiteRealBuilder";
16390
16413
  constructor(name) {
@@ -16405,7 +16428,7 @@ function real(name) {
16405
16428
  return new SQLiteRealBuilder(name ?? "");
16406
16429
  }
16407
16430
 
16408
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/text.js
16431
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/text.js
16409
16432
  class SQLiteTextBuilder extends SQLiteColumnBuilder {
16410
16433
  static [entityKind] = "SQLiteTextBuilder";
16411
16434
  constructor(name, config2) {
@@ -16460,7 +16483,7 @@ function text(a, b = {}) {
16460
16483
  return new SQLiteTextBuilder(name, config2);
16461
16484
  }
16462
16485
 
16463
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/all.js
16486
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/all.js
16464
16487
  function getSQLiteColumnBuilders() {
16465
16488
  return {
16466
16489
  blob,
@@ -16472,7 +16495,7 @@ function getSQLiteColumnBuilders() {
16472
16495
  };
16473
16496
  }
16474
16497
 
16475
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/table.js
16498
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/table.js
16476
16499
  var InlineForeignKeys = Symbol.for("drizzle:SQLiteInlineForeignKeys");
16477
16500
 
16478
16501
  class SQLiteTable extends Table {
@@ -16506,7 +16529,7 @@ var sqliteTable = (name, columns, extraConfig) => {
16506
16529
  return sqliteTableBase(name, columns, extraConfig);
16507
16530
  };
16508
16531
 
16509
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/indexes.js
16532
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/indexes.js
16510
16533
  class IndexBuilderOn {
16511
16534
  constructor(name, unique2) {
16512
16535
  this.name = name;
@@ -16552,7 +16575,7 @@ function uniqueIndex(name) {
16552
16575
  return new IndexBuilderOn(name, true);
16553
16576
  }
16554
16577
 
16555
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/primary-keys.js
16578
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/primary-keys.js
16556
16579
  function primaryKey(...config2) {
16557
16580
  if (config2[0].columns) {
16558
16581
  return new PrimaryKeyBuilder(config2[0].columns, config2[0].name);
@@ -17680,6 +17703,9 @@ var RUNNING_PRESETS = [
17680
17703
  { emoji: "\uD83D\uDE80", text: "On it" },
17681
17704
  { emoji: "\uD83D\uDD25", text: "In the zone" }
17682
17705
  ];
17706
+ // ../shared/src/db/resilience.ts
17707
+ var defaultLogger = createLogger({ service: "d1-resilience" });
17708
+
17683
17709
  // ../shared/src/db/index.ts
17684
17710
  var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema };
17685
17711
  // ../shared/src/db/queries/task.ts
@@ -17816,6 +17842,39 @@ import { dirname as dirname4 } from "path";
17816
17842
  import { readFileSync, writeFileSync, mkdirSync } from "fs";
17817
17843
  import { join } from "path";
17818
17844
  import { homedir } from "os";
17845
+ function workspaceStatus(ws) {
17846
+ return ws.status ?? (ws.id ? "active" : "deleted");
17847
+ }
17848
+ function activeWorkspaces(workspaces) {
17849
+ return (workspaces || []).filter((ws) => workspaceStatus(ws) === "active" && !!ws.id);
17850
+ }
17851
+ function markWorkspaceActive(watched, fields) {
17852
+ const existing = watched.find((w) => w.id === fields.id);
17853
+ if (existing) {
17854
+ existing.status = "active";
17855
+ existing.name = fields.name;
17856
+ if (fields.token !== undefined)
17857
+ existing.token = fields.token;
17858
+ if (fields.agent_ids !== undefined)
17859
+ existing.agent_ids = fields.agent_ids;
17860
+ } else {
17861
+ watched.push({
17862
+ id: fields.id,
17863
+ name: fields.name,
17864
+ token: fields.token ?? "",
17865
+ status: "active",
17866
+ agent_ids: fields.agent_ids ?? []
17867
+ });
17868
+ }
17869
+ return watched;
17870
+ }
17871
+ function markWorkspaceDeletedInList(watched, workspaceId) {
17872
+ const entry = watched.find((w) => w.id === workspaceId);
17873
+ if (!entry)
17874
+ return false;
17875
+ entry.status = "deleted";
17876
+ return true;
17877
+ }
17819
17878
  function configDir() {
17820
17879
  return process.env.ALOOK_PROJECT_ROOT || join(homedir(), ".alook");
17821
17880
  }
@@ -17842,7 +17901,7 @@ function loadCLIConfigForProfile(profile) {
17842
17901
  };
17843
17902
  for (const ws of result.watched_workspaces) {
17844
17903
  if (!ws.status)
17845
- ws.status = ws.id ? "active" : "deleted";
17904
+ ws.status = workspaceStatus(ws);
17846
17905
  }
17847
17906
  return result;
17848
17907
  }
@@ -22307,6 +22366,11 @@ class DaemonWsClient {
22307
22366
  this.opts.onConnected();
22308
22367
  return;
22309
22368
  }
22369
+ if (msg.type === "error" && msg.code === "AUTH_REJECTED") {
22370
+ log10.warn("machine token rejected by server (AUTH_REJECTED)", { reason: msg.reason });
22371
+ this.opts.onAuthRejected?.(msg.reason);
22372
+ return;
22373
+ }
22310
22374
  const parsed = DaemonPushMessageSchema.safeParse(msg);
22311
22375
  if (!parsed.success) {
22312
22376
  log10.warn("invalid push message", { err: parsed.error.message });
@@ -22317,13 +22381,16 @@ class DaemonWsClient {
22317
22381
  log10.debug("message parse error", { err: String(err) });
22318
22382
  }
22319
22383
  });
22320
- this.ws.addEventListener("error", () => {
22321
- log10.debug("ws error");
22384
+ this.ws.addEventListener("error", (event) => {
22385
+ const err = event;
22386
+ log10.warn("ws error", { err: String(err?.message ?? err?.error ?? "unknown") });
22322
22387
  });
22323
- this.ws.addEventListener("close", () => {
22388
+ this.ws.addEventListener("close", (event) => {
22389
+ const { code, reason } = event;
22324
22390
  const wasConnected = this.connected;
22325
22391
  this.connected = false;
22326
22392
  this.stopHeartbeat();
22393
+ log10.info("ws closed", { code, reason, wasConnected });
22327
22394
  if (wasConnected) {
22328
22395
  this.opts.onDisconnected();
22329
22396
  }
@@ -22356,7 +22423,7 @@ class DaemonWsClient {
22356
22423
  const delay = Math.min(this.reconnectDelay, WS_RECONNECT_MAX);
22357
22424
  this.reconnectDelay = Math.min(delay * 2, WS_RECONNECT_MAX);
22358
22425
  const jitter = Math.random() * 500;
22359
- log10.debug("reconnecting", { delayMs: Math.round(delay + jitter) });
22426
+ log10.info("reconnecting", { delayMs: Math.round(delay + jitter) });
22360
22427
  this.reconnectTimer = setTimeout(() => {
22361
22428
  this.reconnectTimer = null;
22362
22429
  this.connect();
@@ -23053,6 +23120,7 @@ function isValidMarker(data) {
23053
23120
  }
23054
23121
  var MARKER_STALE_MS = 24 * 60 * 60 * 1000;
23055
23122
  var TMP_STALE_MS = 60 * 60 * 1000;
23123
+ var WS_AUTH_401_THRESHOLD = 5;
23056
23124
  async function reconcilePendingCompletions(workspacesRoot) {
23057
23125
  const dir = join12(workspacesRoot, ".pending_completions");
23058
23126
  let entries;
@@ -23159,8 +23227,7 @@ async function startDaemon(profile, serverUrl) {
23159
23227
  }
23160
23228
  }
23161
23229
  const cliConfig = loadCLIConfigForProfile(profile);
23162
- const allEntries = cliConfig.watched_workspaces || [];
23163
- const workspaces = allEntries.filter((ws) => ws.status !== "deleted" && !!ws.id);
23230
+ const workspaces = activeWorkspaces(cliConfig.watched_workspaces);
23164
23231
  if (workspaces.length === 0) {
23165
23232
  log13.info("No workspaces configured — daemon starting in standby mode. Register a workspace to begin.");
23166
23233
  }
@@ -23196,6 +23263,7 @@ async function startDaemon(profile, serverUrl) {
23196
23263
  const workspaceStates = [];
23197
23264
  const runtimeIndex = new Map;
23198
23265
  let hadWorkspaces = workspaces.length > 0;
23266
+ const consecutive401 = new Map;
23199
23267
  for (const ws of workspaces) {
23200
23268
  const runtimes = providers.map((p) => ({
23201
23269
  type: p.type,
@@ -23259,7 +23327,7 @@ async function startDaemon(profile, serverUrl) {
23259
23327
  }
23260
23328
  } catch {}
23261
23329
  }
23262
- function evictWorkspace(workspaceId) {
23330
+ function markWorkspaceDeleted(workspaceId, reason) {
23263
23331
  const idx = workspaceStates.findIndex((ws2) => ws2.workspaceId === workspaceId);
23264
23332
  if (idx === -1)
23265
23333
  return;
@@ -23268,13 +23336,15 @@ async function startDaemon(profile, serverUrl) {
23268
23336
  runtimeIndex.delete(rid);
23269
23337
  }
23270
23338
  workspaceStates.splice(idx, 1);
23339
+ consecutive401.delete(workspaceId);
23271
23340
  health.setRuntimeCount(workspaceStates.reduce((sum, w) => sum + w.runtimeIds.length, 0));
23272
23341
  try {
23273
23342
  const cfg = loadCLIConfigForProfile(profile);
23274
- cfg.watched_workspaces = (cfg.watched_workspaces || []).filter((w) => w.id !== workspaceId);
23275
- saveCLIConfigForProfile(profile, cfg);
23343
+ if (markWorkspaceDeletedInList(cfg.watched_workspaces || [], workspaceId)) {
23344
+ saveCLIConfigForProfile(profile, cfg);
23345
+ }
23276
23346
  } catch {}
23277
- log13.info(`Workspace ${workspaceId} deleted server-sideremoved from config`);
23347
+ log13.info(`Workspace ${workspaceId} removed from polling ${reason}`);
23278
23348
  }
23279
23349
  const pollCycle = async () => {
23280
23350
  let remaining = config2.maxConcurrentTasks - activeTasks.size;
@@ -23282,7 +23352,7 @@ async function startDaemon(profile, serverUrl) {
23282
23352
  return;
23283
23353
  const N = workspaceStates.length;
23284
23354
  const staggerMs = N > 1 ? Math.floor(config2.pollInterval / N) : 0;
23285
- const evictedIds = [];
23355
+ const toRemove = new Map;
23286
23356
  for (let i = 0;i < N; i++) {
23287
23357
  if (remaining <= 0)
23288
23358
  break;
@@ -23292,8 +23362,9 @@ async function startDaemon(profile, serverUrl) {
23292
23362
  }
23293
23363
  try {
23294
23364
  const { tasks: apiTasks, evicted, pending_update, pending_rescan, file_requests, meetings } = await client.poll(ws.token, config2.daemonId, remaining, config2.cliVersion);
23365
+ consecutive401.delete(ws.workspaceId);
23295
23366
  if (evicted) {
23296
- evictedIds.push(ws.workspaceId);
23367
+ toRemove.set(ws.workspaceId, "server evicted");
23297
23368
  continue;
23298
23369
  }
23299
23370
  if (pending_update && !isUpdating() && pending_update.version !== config2.cliVersion) {
@@ -23301,8 +23372,8 @@ async function startDaemon(profile, serverUrl) {
23301
23372
  }
23302
23373
  if (pending_rescan) {
23303
23374
  log13.info("Rescan requested — restarting daemon to re-detect runtimes");
23304
- for (const id of evictedIds) {
23305
- evictWorkspace(id);
23375
+ for (const [id, reason] of toRemove) {
23376
+ markWorkspaceDeleted(id, reason);
23306
23377
  }
23307
23378
  requestRestart();
23308
23379
  return;
@@ -23342,14 +23413,26 @@ async function startDaemon(profile, serverUrl) {
23342
23413
  }
23343
23414
  } catch (e) {
23344
23415
  if (e instanceof Error && e.message.startsWith("HTTP 401")) {
23345
- log13.warn(`Workspace ${ws.workspaceId} poll returned 401 — will retry next cycle`);
23416
+ const n = (consecutive401.get(ws.workspaceId) ?? 0) + 1;
23417
+ consecutive401.set(ws.workspaceId, n);
23418
+ if (n >= WS_AUTH_401_THRESHOLD) {
23419
+ toRemove.set(ws.workspaceId, `poll 401 x${n}`);
23420
+ } else {
23421
+ log13.warn(`Workspace ${ws.workspaceId} poll 401 (${n}/${WS_AUTH_401_THRESHOLD}) — will retry`);
23422
+ }
23346
23423
  } else {
23424
+ consecutive401.delete(ws.workspaceId);
23347
23425
  log13.debug("Poll error", e);
23348
23426
  }
23349
23427
  }
23350
23428
  }
23351
- for (const id of evictedIds) {
23352
- evictWorkspace(id);
23429
+ if (toRemove.size > 0) {
23430
+ const wsTokenWorkspaceDropped = wsWorkspaceId != null && toRemove.has(wsWorkspaceId);
23431
+ for (const [id, reason] of toRemove) {
23432
+ markWorkspaceDeleted(id, reason);
23433
+ }
23434
+ if (wsTokenWorkspaceDropped)
23435
+ rebuildWsClient();
23353
23436
  }
23354
23437
  if (workspaceStates.length === 0 && hadWorkspaces) {
23355
23438
  log13.info("All workspaces evicted — shutting down");
@@ -23365,7 +23448,6 @@ async function startDaemon(profile, serverUrl) {
23365
23448
  }
23366
23449
  };
23367
23450
  const heartbeatTimer = setInterval(heartbeatPing, config2.heartbeatInterval);
23368
- const firstToken = workspaceStates[0]?.token;
23369
23451
  function updatePollInterval(newInterval) {
23370
23452
  clearInterval(pollTimer);
23371
23453
  pollTimer = setInterval(pollCycle, newInterval);
@@ -23421,9 +23503,17 @@ async function startDaemon(profile, serverUrl) {
23421
23503
  });
23422
23504
  }
23423
23505
  break;
23424
- case "daemon.evict":
23425
- evictWorkspace(msg.workspaceId);
23506
+ case "daemon.evict": {
23507
+ const wasWsToken = wsWorkspaceId === msg.workspaceId;
23508
+ markWorkspaceDeleted(msg.workspaceId, "server evicted");
23509
+ if (wasWsToken)
23510
+ rebuildWsClient();
23511
+ if (workspaceStates.length === 0 && hadWorkspaces) {
23512
+ log13.info("All workspaces removed — shutting down");
23513
+ shutdown();
23514
+ }
23426
23515
  break;
23516
+ }
23427
23517
  case "daemon.update":
23428
23518
  if (!isUpdating() && msg.version !== config2.cliVersion) {
23429
23519
  handleCliUpdate(msg.version, () => requestRestart(), profile);
@@ -23466,11 +23556,9 @@ async function startDaemon(profile, serverUrl) {
23466
23556
  }
23467
23557
  }
23468
23558
  }
23469
- const wsToken = firstToken;
23470
- let wsClient = wsToken ? new DaemonWsClient({
23471
- serverURL: config2.serverURL,
23472
- daemonId: config2.daemonId,
23473
- machineToken: wsToken,
23559
+ let wsClient = null;
23560
+ let wsWorkspaceId;
23561
+ const wsCallbacks = {
23474
23562
  onMessage: handleWsPush,
23475
23563
  onConnected: () => {
23476
23564
  log13.info("WS connected — switching to low-frequency poll");
@@ -23479,9 +23567,57 @@ async function startDaemon(profile, serverUrl) {
23479
23567
  onDisconnected: () => {
23480
23568
  log13.info("WS disconnected — reverting to high-frequency poll");
23481
23569
  updatePollInterval(config2.pollInterval);
23570
+ },
23571
+ onAuthRejected: (reason) => {
23572
+ const rejectedWorkspaceId = wsWorkspaceId;
23573
+ const rejectedToken = workspaceStates.find((ws) => ws.workspaceId === rejectedWorkspaceId)?.token;
23574
+ wsClient?.close();
23575
+ wsClient = null;
23576
+ wsWorkspaceId = undefined;
23577
+ if (rejectedWorkspaceId != null && rejectedToken) {
23578
+ confirmAuthRejection(rejectedWorkspaceId, rejectedToken, reason);
23579
+ } else {
23580
+ rebuildWsClient();
23581
+ }
23482
23582
  }
23483
- }) : null;
23484
- wsClient?.connect();
23583
+ };
23584
+ async function confirmAuthRejection(workspaceId, token, reason) {
23585
+ let confirmedDead = false;
23586
+ try {
23587
+ await client.poll(token, config2.daemonId, 0, config2.cliVersion);
23588
+ log13.info(`Workspace ${workspaceId} WS auth rejection not confirmed by poll — keeping (likely transient)`);
23589
+ } catch (e) {
23590
+ if (e instanceof Error && e.message.startsWith("HTTP 401")) {
23591
+ confirmedDead = true;
23592
+ markWorkspaceDeleted(workspaceId, `WS auth rejected${reason ? ` (${reason})` : ""} — confirmed by poll 401`);
23593
+ } else {
23594
+ log13.debug("Confirm-poll error (transient) — keeping workspace", e);
23595
+ }
23596
+ }
23597
+ rebuildWsClient();
23598
+ if (confirmedDead && workspaceStates.length === 0 && hadWorkspaces) {
23599
+ log13.info("All workspaces removed — shutting down");
23600
+ shutdown();
23601
+ }
23602
+ }
23603
+ function rebuildWsClient() {
23604
+ wsClient?.close();
23605
+ const first = workspaceStates[0];
23606
+ if (!first) {
23607
+ wsClient = null;
23608
+ wsWorkspaceId = undefined;
23609
+ return;
23610
+ }
23611
+ wsWorkspaceId = first.workspaceId;
23612
+ wsClient = new DaemonWsClient({
23613
+ serverURL: config2.serverURL,
23614
+ daemonId: config2.daemonId,
23615
+ machineToken: first.token,
23616
+ ...wsCallbacks
23617
+ });
23618
+ wsClient.connect();
23619
+ }
23620
+ rebuildWsClient();
23485
23621
  const sweepTick = async () => {
23486
23622
  for (const ws of workspaceStates) {
23487
23623
  client.sweep(ws.token, config2.daemonId).catch((e) => {
@@ -23567,7 +23703,7 @@ async function startDaemon(profile, serverUrl) {
23567
23703
  log13.info("SIGHUP received — reloading config...");
23568
23704
  try {
23569
23705
  const freshConfig = loadCLIConfigForProfile(profile);
23570
- const freshWorkspaces = (freshConfig.watched_workspaces || []).filter((ws) => ws.status !== "deleted" && !!ws.id);
23706
+ const freshWorkspaces = activeWorkspaces(freshConfig.watched_workspaces);
23571
23707
  const existingIds = new Set(workspaceStates.map((ws) => ws.workspaceId));
23572
23708
  const newWorkspaces = freshWorkspaces.filter((ws) => ws.token && !existingIds.has(ws.id));
23573
23709
  for (const ws of newWorkspaces) {
@@ -23600,22 +23736,7 @@ async function startDaemon(profile, serverUrl) {
23600
23736
  hadWorkspaces = true;
23601
23737
  health.setRuntimeCount(workspaceStates.reduce((sum, w) => sum + w.runtimeIds.length, 0));
23602
23738
  if (!wsClient && workspaceStates.length > 0) {
23603
- const token = workspaceStates[0].token;
23604
- wsClient = new DaemonWsClient({
23605
- serverURL: config2.serverURL,
23606
- daemonId: config2.daemonId,
23607
- machineToken: token,
23608
- onMessage: handleWsPush,
23609
- onConnected: () => {
23610
- log13.info("WS connected — switching to low-frequency poll");
23611
- updatePollInterval(config2.wsPollInterval);
23612
- },
23613
- onDisconnected: () => {
23614
- log13.info("WS disconnected — reverting to high-frequency poll");
23615
- updatePollInterval(config2.pollInterval);
23616
- }
23617
- });
23618
- wsClient.connect();
23739
+ rebuildWsClient();
23619
23740
  log13.info("WS push client initialized after SIGHUP reload");
23620
23741
  }
23621
23742
  log13.info(`Reload complete — now polling ${workspaceStates.length} workspace(s)`);
@@ -24117,13 +24238,12 @@ async function activateAndSave(opts) {
24117
24238
  agentIds = agents.map((a) => a.id);
24118
24239
  } catch {}
24119
24240
  const existing = loadCLIConfigForProfile(profile);
24120
- const watched = existing.watched_workspaces || [];
24121
- const idx = watched.findIndex((w) => w.id === ws.id);
24122
- if (idx >= 0) {
24123
- watched[idx] = { id: ws.id, name: ws.name, token, status: "active", agent_ids: agentIds };
24124
- } else {
24125
- watched.push({ id: ws.id, name: ws.name, token, status: "active", agent_ids: agentIds });
24126
- }
24241
+ const watched = markWorkspaceActive(existing.watched_workspaces || [], {
24242
+ id: ws.id,
24243
+ name: ws.name,
24244
+ token,
24245
+ agent_ids: agentIds
24246
+ });
24127
24247
  saveCLIConfigForProfile(profile, {
24128
24248
  server_url: serverUrl,
24129
24249
  watched_workspaces: watched
@@ -24228,17 +24348,11 @@ function syncWorkspacesToConfig(serverWorkspaces, profile, sessionToken) {
24228
24348
  const watched = cfg.watched_workspaces || [];
24229
24349
  const serverIds = new Set(serverWorkspaces.map((w) => w.id));
24230
24350
  for (const sw of serverWorkspaces) {
24231
- const existing = watched.find((w) => w.id === sw.id);
24232
- if (existing) {
24233
- existing.status = "active";
24234
- existing.name = sw.name;
24235
- } else {
24236
- watched.push({ id: sw.id, name: sw.name, token: "", status: "active", agent_ids: [] });
24237
- }
24351
+ markWorkspaceActive(watched, { id: sw.id, name: sw.name });
24238
24352
  }
24239
24353
  for (const w of watched) {
24240
24354
  if (w.id && !serverIds.has(w.id)) {
24241
- w.status = "deleted";
24355
+ markWorkspaceDeletedInList(watched, w.id);
24242
24356
  }
24243
24357
  }
24244
24358
  saveCLIConfigForProfile(profile, {
@@ -24344,7 +24458,7 @@ if (process.argv.includes("--__login-poll")) {
24344
24458
  async function checkExistingAuth(serverUrl, profile) {
24345
24459
  const config2 = loadCLIConfigForProfile(profile);
24346
24460
  const sessionToken = config2.session_token;
24347
- const workspaces = config2.watched_workspaces || [];
24461
+ const workspaces = activeWorkspaces(config2.watched_workspaces);
24348
24462
  const ws = workspaces[0];
24349
24463
  const authToken = sessionToken || ws?.token;
24350
24464
  if (!authToken) {
@@ -24358,7 +24472,7 @@ async function checkExistingAuth(serverUrl, profile) {
24358
24472
  return { valid: false };
24359
24473
  }
24360
24474
  const serverWorkspaces = await res.json();
24361
- const hasValidWorkspace = workspaces.some((w) => w.id && w.status !== "deleted");
24475
+ const hasValidWorkspace = workspaces.length > 0;
24362
24476
  if (!hasValidWorkspace && serverWorkspaces.length > 0) {
24363
24477
  syncWorkspacesToConfig(serverWorkspaces, profile);
24364
24478
  }
@@ -24459,7 +24573,7 @@ function statusCommand() {
24459
24573
  const cmd = new Command3("status").description("Show registration status").action((_opts, command) => {
24460
24574
  const profile = command.parent?.opts().profile;
24461
24575
  const cfg = loadCLIConfigForProfile(profile);
24462
- const ws = cfg.watched_workspaces?.[0];
24576
+ const ws = activeWorkspaces(cfg.watched_workspaces)[0];
24463
24577
  if (!ws?.token) {
24464
24578
  console.log("Not registered");
24465
24579
  console.log(`Run '${cmdPrefix()} register --token <token>' to register.`);
@@ -24684,7 +24798,7 @@ function resolveClientOptsPartial(command, opts = {}) {
24684
24798
  console.error("Error: no server URL configured. Set ALOOK_SERVER_URL or run register.");
24685
24799
  process.exit(1);
24686
24800
  }
24687
- const workspaces = cfg.watched_workspaces || [];
24801
+ const workspaces = activeWorkspaces(cfg.watched_workspaces);
24688
24802
  let ws;
24689
24803
  const envWorkspaceId = process.env.ALOOK_WORKSPACE_ID;
24690
24804
  if (opts.workspace) {
@@ -25836,15 +25950,11 @@ function workspaceCommand() {
25836
25950
  const res = await wsClient.postJSON("/api/studios", payload2);
25837
25951
  try {
25838
25952
  const freshCfg = loadCLIConfigForProfile(parentOpts.profile);
25839
- const watched = freshCfg.watched_workspaces || [];
25840
- const existing = watched.find((w) => w.id === targetWorkspaceId);
25841
- if (existing) {
25842
- existing.status = "active";
25843
- existing.name = res.workspace.name;
25844
- } else {
25845
- watched.push({ id: targetWorkspaceId, name: res.workspace.name, token, status: "active", agent_ids: [] });
25846
- }
25847
- freshCfg.watched_workspaces = watched;
25953
+ freshCfg.watched_workspaces = markWorkspaceActive(freshCfg.watched_workspaces || [], {
25954
+ id: targetWorkspaceId,
25955
+ name: res.workspace.name,
25956
+ token
25957
+ });
25848
25958
  saveCLIConfigForProfile(parentOpts.profile, freshCfg);
25849
25959
  } catch {}
25850
25960
  if (opts.json)
@@ -15087,29 +15087,52 @@ var CommunityAgentListChannelsRequestSchema = exports_external.object({
15087
15087
  var CommunityAgentListMembersRequestSchema = exports_external.object({
15088
15088
  server: exports_external.string().min(1)
15089
15089
  });
15090
+ var CommunityAgentChannelMemberRequestSchema = exports_external.object({
15091
+ channel: exports_external.string().min(1),
15092
+ agentId: exports_external.string().optional()
15093
+ });
15090
15094
  var CommunityAgentJoinServerRequestSchema = exports_external.object({
15091
15095
  invite: exports_external.string().min(1)
15092
15096
  });
15097
+ var CommunityAgentReactAddRequestSchema = exports_external.object({
15098
+ channel: exports_external.string().min(1),
15099
+ seq: CommunityAgentPositiveSeqSchema,
15100
+ emoji: exports_external.string().min(1)
15101
+ });
15093
15102
  var AuditLogCliInvocationPayloadSchema = exports_external.object({
15094
15103
  subcommand: exports_external.string().min(1)
15095
15104
  });
15096
15105
  var AuditLogToolCallPayloadSchema = exports_external.object({
15097
- name: exports_external.string().min(1)
15106
+ name: exports_external.string().min(1),
15107
+ target: exports_external.string().max(240).optional()
15098
15108
  });
15099
15109
  var AuditLogThinkingPayloadSchema = exports_external.object({
15100
15110
  text: exports_external.string(),
15101
15111
  truncated: exports_external.boolean(),
15102
15112
  chars: exports_external.number().int().nonnegative()
15103
15113
  });
15114
+ var AuditLogWakeTriggerPayloadSchema = exports_external.object({
15115
+ messageId: exports_external.string().min(1),
15116
+ channel: exports_external.string().min(1),
15117
+ seq: CommunityAgentPositiveSeqSchema,
15118
+ senderId: exports_external.string().min(1),
15119
+ senderHandle: exports_external.string().min(1),
15120
+ reason: exports_external.enum(["unread", "mention"])
15121
+ });
15122
+ var AuditLogSessionResetPayloadSchema = exports_external.object({});
15104
15123
  var BotAuditEventSchema = exports_external.discriminatedUnion("kind", [
15105
15124
  exports_external.object({ kind: exports_external.literal("cli_invocation"), payload: AuditLogCliInvocationPayloadSchema }),
15106
15125
  exports_external.object({ kind: exports_external.literal("tool_call"), payload: AuditLogToolCallPayloadSchema }),
15107
- exports_external.object({ kind: exports_external.literal("thinking"), payload: AuditLogThinkingPayloadSchema })
15126
+ exports_external.object({ kind: exports_external.literal("thinking"), payload: AuditLogThinkingPayloadSchema }),
15127
+ exports_external.object({ kind: exports_external.literal("wake_trigger"), payload: AuditLogWakeTriggerPayloadSchema }),
15128
+ exports_external.object({ kind: exports_external.literal("session_reset"), payload: AuditLogSessionResetPayloadSchema })
15108
15129
  ]);
15109
15130
  var BotAuditEventKindSchema = exports_external.enum([
15110
15131
  "cli_invocation",
15111
15132
  "tool_call",
15112
- "thinking"
15133
+ "thinking",
15134
+ "wake_trigger",
15135
+ "session_reset"
15113
15136
  ]);
15114
15137
  var HostBotAuditEventFrameSchema = exports_external.object({
15115
15138
  type: exports_external.literal("bot_audit_event"),
@@ -15118,7 +15141,7 @@ var HostBotAuditEventFrameSchema = exports_external.object({
15118
15141
  launchId: exports_external.string().nullable().optional(),
15119
15142
  event: BotAuditEventSchema
15120
15143
  });
15121
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/entity.js
15144
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/entity.js
15122
15145
  var entityKind = Symbol.for("drizzle:entityKind");
15123
15146
  var hasOwnEntityKind = Symbol.for("drizzle:hasOwnEntityKind");
15124
15147
  function is(value, type) {
@@ -15143,7 +15166,7 @@ function is(value, type) {
15143
15166
  return false;
15144
15167
  }
15145
15168
 
15146
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/column.js
15169
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/column.js
15147
15170
  class Column {
15148
15171
  constructor(table, config2) {
15149
15172
  this.table = table;
@@ -15193,7 +15216,7 @@ class Column {
15193
15216
  }
15194
15217
  }
15195
15218
 
15196
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/column-builder.js
15219
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/column-builder.js
15197
15220
  class ColumnBuilder {
15198
15221
  static [entityKind] = "ColumnBuilder";
15199
15222
  config;
@@ -15249,20 +15272,20 @@ class ColumnBuilder {
15249
15272
  }
15250
15273
  }
15251
15274
 
15252
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/table.utils.js
15275
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/table.utils.js
15253
15276
  var TableName = Symbol.for("drizzle:Name");
15254
15277
 
15255
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/tracing-utils.js
15278
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/tracing-utils.js
15256
15279
  function iife(fn, ...args) {
15257
15280
  return fn(...args);
15258
15281
  }
15259
15282
 
15260
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/pg-core/unique-constraint.js
15283
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/pg-core/unique-constraint.js
15261
15284
  function uniqueKeyName(table, columns) {
15262
15285
  return `${table[TableName]}_${columns.join("_")}_unique`;
15263
15286
  }
15264
15287
 
15265
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/pg-core/columns/common.js
15288
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/pg-core/columns/common.js
15266
15289
  class PgColumn extends Column {
15267
15290
  constructor(table, config2) {
15268
15291
  if (!config2.uniqueName) {
@@ -15311,7 +15334,7 @@ class ExtraConfigColumn extends PgColumn {
15311
15334
  }
15312
15335
  }
15313
15336
 
15314
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/pg-core/columns/enum.js
15337
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/pg-core/columns/enum.js
15315
15338
  class PgEnumObjectColumn extends PgColumn {
15316
15339
  static [entityKind] = "PgEnumObjectColumn";
15317
15340
  enum;
@@ -15341,7 +15364,7 @@ class PgEnumColumn extends PgColumn {
15341
15364
  }
15342
15365
  }
15343
15366
 
15344
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/subquery.js
15367
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/subquery.js
15345
15368
  class Subquery {
15346
15369
  static [entityKind] = "Subquery";
15347
15370
  constructor(sql, fields, alias, isWith = false, usedTables = []) {
@@ -15356,10 +15379,10 @@ class Subquery {
15356
15379
  }
15357
15380
  }
15358
15381
 
15359
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/version.js
15382
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/version.js
15360
15383
  var version2 = "0.45.2";
15361
15384
 
15362
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/tracing.js
15385
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/tracing.js
15363
15386
  var otel;
15364
15387
  var rawTracer;
15365
15388
  var tracer = {
@@ -15386,10 +15409,10 @@ var tracer = {
15386
15409
  }
15387
15410
  };
15388
15411
 
15389
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/view-common.js
15412
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/view-common.js
15390
15413
  var ViewBaseConfig = Symbol.for("drizzle:ViewBaseConfig");
15391
15414
 
15392
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/table.js
15415
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/table.js
15393
15416
  var Schema = Symbol.for("drizzle:Schema");
15394
15417
  var Columns = Symbol.for("drizzle:Columns");
15395
15418
  var ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");
@@ -15427,7 +15450,7 @@ class Table {
15427
15450
  }
15428
15451
  }
15429
15452
 
15430
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sql/sql.js
15453
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sql/sql.js
15431
15454
  function isSQLWrapper(value) {
15432
15455
  return value !== null && value !== undefined && typeof value.getSQL === "function";
15433
15456
  }
@@ -15787,7 +15810,7 @@ Subquery.prototype.getSQL = function() {
15787
15810
  return new SQL([this]);
15788
15811
  };
15789
15812
 
15790
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/utils.js
15813
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/utils.js
15791
15814
  function getColumnNameAndConfig(a, b) {
15792
15815
  return {
15793
15816
  name: typeof a === "string" && a.length > 0 ? a : "",
@@ -15824,7 +15847,7 @@ __export(exports_community_schema, {
15824
15847
  communityAttachment: () => communityAttachment
15825
15848
  });
15826
15849
 
15827
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
15850
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
15828
15851
  class ForeignKeyBuilder {
15829
15852
  static [entityKind] = "SQLiteForeignKeyBuilder";
15830
15853
  reference;
@@ -15892,7 +15915,7 @@ function foreignKey(config2) {
15892
15915
  return new ForeignKeyBuilder(mappedConfig);
15893
15916
  }
15894
15917
 
15895
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
15918
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
15896
15919
  function uniqueKeyName2(table, columns) {
15897
15920
  return `${table[TableName]}_${columns.join("_")}_unique`;
15898
15921
  }
@@ -15937,7 +15960,7 @@ class UniqueConstraint {
15937
15960
  }
15938
15961
  }
15939
15962
 
15940
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/common.js
15963
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/common.js
15941
15964
  class SQLiteColumnBuilder extends ColumnBuilder {
15942
15965
  static [entityKind] = "SQLiteColumnBuilder";
15943
15966
  foreignKeyConfigs = [];
@@ -15988,7 +16011,7 @@ class SQLiteColumn extends Column {
15988
16011
  static [entityKind] = "SQLiteColumn";
15989
16012
  }
15990
16013
 
15991
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/blob.js
16014
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/blob.js
15992
16015
  class SQLiteBigIntBuilder extends SQLiteColumnBuilder {
15993
16016
  static [entityKind] = "SQLiteBigIntBuilder";
15994
16017
  constructor(name) {
@@ -16076,7 +16099,7 @@ function blob(a, b) {
16076
16099
  return new SQLiteBlobBufferBuilder(name);
16077
16100
  }
16078
16101
 
16079
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/custom.js
16102
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/custom.js
16080
16103
  class SQLiteCustomColumnBuilder extends SQLiteColumnBuilder {
16081
16104
  static [entityKind] = "SQLiteCustomColumnBuilder";
16082
16105
  constructor(name, fieldConfig, customTypeParams) {
@@ -16117,7 +16140,7 @@ function customType(customTypeParams) {
16117
16140
  };
16118
16141
  }
16119
16142
 
16120
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/integer.js
16143
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/integer.js
16121
16144
  class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {
16122
16145
  static [entityKind] = "SQLiteBaseIntegerBuilder";
16123
16146
  constructor(name, dataType, columnType) {
@@ -16219,7 +16242,7 @@ function integer2(a, b) {
16219
16242
  return new SQLiteIntegerBuilder(name);
16220
16243
  }
16221
16244
 
16222
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
16245
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
16223
16246
  class SQLiteNumericBuilder extends SQLiteColumnBuilder {
16224
16247
  static [entityKind] = "SQLiteNumericBuilder";
16225
16248
  constructor(name) {
@@ -16289,7 +16312,7 @@ function numeric(a, b) {
16289
16312
  return mode === "number" ? new SQLiteNumericNumberBuilder(name) : mode === "bigint" ? new SQLiteNumericBigIntBuilder(name) : new SQLiteNumericBuilder(name);
16290
16313
  }
16291
16314
 
16292
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/real.js
16315
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/real.js
16293
16316
  class SQLiteRealBuilder extends SQLiteColumnBuilder {
16294
16317
  static [entityKind] = "SQLiteRealBuilder";
16295
16318
  constructor(name) {
@@ -16310,7 +16333,7 @@ function real(name) {
16310
16333
  return new SQLiteRealBuilder(name ?? "");
16311
16334
  }
16312
16335
 
16313
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/text.js
16336
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/text.js
16314
16337
  class SQLiteTextBuilder extends SQLiteColumnBuilder {
16315
16338
  static [entityKind] = "SQLiteTextBuilder";
16316
16339
  constructor(name, config2) {
@@ -16365,7 +16388,7 @@ function text(a, b = {}) {
16365
16388
  return new SQLiteTextBuilder(name, config2);
16366
16389
  }
16367
16390
 
16368
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/columns/all.js
16391
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/columns/all.js
16369
16392
  function getSQLiteColumnBuilders() {
16370
16393
  return {
16371
16394
  blob,
@@ -16377,7 +16400,7 @@ function getSQLiteColumnBuilders() {
16377
16400
  };
16378
16401
  }
16379
16402
 
16380
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/table.js
16403
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/table.js
16381
16404
  var InlineForeignKeys = Symbol.for("drizzle:SQLiteInlineForeignKeys");
16382
16405
 
16383
16406
  class SQLiteTable extends Table {
@@ -16411,7 +16434,7 @@ var sqliteTable = (name, columns, extraConfig) => {
16411
16434
  return sqliteTableBase(name, columns, extraConfig);
16412
16435
  };
16413
16436
 
16414
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/indexes.js
16437
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/indexes.js
16415
16438
  class IndexBuilderOn {
16416
16439
  constructor(name, unique2) {
16417
16440
  this.name = name;
@@ -16457,7 +16480,7 @@ function uniqueIndex(name) {
16457
16480
  return new IndexBuilderOn(name, true);
16458
16481
  }
16459
16482
 
16460
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_9f1a3370d3c5742dfd96aef86d667915/node_modules/drizzle-orm/sqlite-core/primary-keys.js
16483
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260702.1_@opentelemetry+api@1.9.1_@typ_37dcd0f9525760a1bc4b310a973ed24f/node_modules/drizzle-orm/sqlite-core/primary-keys.js
16461
16484
  function primaryKey(...config2) {
16462
16485
  if (config2[0].columns) {
16463
16486
  return new PrimaryKeyBuilder(config2[0].columns, config2[0].name);
@@ -17585,6 +17608,9 @@ var RUNNING_PRESETS = [
17585
17608
  { emoji: "\uD83D\uDE80", text: "On it" },
17586
17609
  { emoji: "\uD83D\uDD25", text: "In the zone" }
17587
17610
  ];
17611
+ // ../shared/src/db/resilience.ts
17612
+ var defaultLogger = createLogger({ service: "d1-resilience" });
17613
+
17588
17614
  // ../shared/src/db/index.ts
17589
17615
  var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema };
17590
17616
  // ../shared/src/db/queries/task.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alook/cli",
3
- "version": "0.0.157",
3
+ "version": "0.0.159",
4
4
  "description": "Alook CLI — Enable Your Person Colleague",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/alookai/alook#readme",
@@ -57,9 +57,9 @@
57
57
  "@alook/shared": "workspace:*",
58
58
  "@types/bun": "^1.3.14",
59
59
  "eslint": "^9.39.5",
60
- "knip": "^6.26.0",
60
+ "knip": "^6.29.0",
61
61
  "typescript": "^6.0.3",
62
- "typescript-eslint": "^8.64.0",
62
+ "typescript-eslint": "^8.65.0",
63
63
  "vitest": "^4.1.10"
64
64
  }
65
65
  }