@alook/daemon 0.1.41 → 0.1.43

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
@@ -10715,7 +10715,7 @@ var MEMORY_MAINTENANCE_PROMPT = `The daemon is preparing to reset this idle sess
10715
10715
  2. Facts: Verify claims, especially work progress, against the latest original records. Search the context timeline and task discussions through their latest outcomes. Correct outdated or unsupported claims; keep uncertainty explicit.
10716
10716
  3. Durability: Keep only lasting facts, preferences, and reusable lessons or procedures. Remove task status, milestones, temporary plans, and diaries; extract a reusable lesson only when useful. Keep memory.md brief with links; put procedures, scope, and reasons in experiences. Reason from first principles: distill specific events into underlying causes, constraints, and reusable principles. Omit incidental dates and details; retain context only when it changes the principle’s validity or scope.
10717
10717
 
10718
- Edit only your own memory files.
10718
+ Edit only your own memory files. This review is internal maintenance; perform it silently. Do not proactively send the owner, users, or channels progress updates, completion notices, or details about your memory state. Communicate task-relevant results, questions, and blockers normally. If nothing needs a user-facing response, send no message.
10719
10719
 
10720
10720
  If new work arrives, handle it first and defer nap. Otherwise, after completing the review and any needed edits, your final action is to run the following command without --handoff. Do not finish with only a written reply. This instruction authorizes that nap:
10721
10721
 
@@ -32231,7 +32231,7 @@ __export(exports_community_machine_schema, {
32231
32231
  DIAGNOSTIC_REPORT_FAILURE_CODES: () => DIAGNOSTIC_REPORT_FAILURE_CODES
32232
32232
  });
32233
32233
 
32234
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/entity.js
32234
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/entity.js
32235
32235
  var entityKind = Symbol.for("drizzle:entityKind");
32236
32236
  var hasOwnEntityKind = Symbol.for("drizzle:hasOwnEntityKind");
32237
32237
  function is(value, type) {
@@ -32256,7 +32256,7 @@ function is(value, type) {
32256
32256
  return false;
32257
32257
  }
32258
32258
 
32259
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/column.js
32259
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/column.js
32260
32260
  class Column {
32261
32261
  constructor(table, config2) {
32262
32262
  this.table = table;
@@ -32306,7 +32306,7 @@ class Column {
32306
32306
  }
32307
32307
  }
32308
32308
 
32309
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/column-builder.js
32309
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/column-builder.js
32310
32310
  class ColumnBuilder {
32311
32311
  static [entityKind] = "ColumnBuilder";
32312
32312
  config;
@@ -32362,20 +32362,20 @@ class ColumnBuilder {
32362
32362
  }
32363
32363
  }
32364
32364
 
32365
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/table.utils.js
32365
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/table.utils.js
32366
32366
  var TableName = Symbol.for("drizzle:Name");
32367
32367
 
32368
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/tracing-utils.js
32368
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/tracing-utils.js
32369
32369
  function iife(fn, ...args) {
32370
32370
  return fn(...args);
32371
32371
  }
32372
32372
 
32373
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/pg-core/unique-constraint.js
32373
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/pg-core/unique-constraint.js
32374
32374
  function uniqueKeyName(table, columns) {
32375
32375
  return `${table[TableName]}_${columns.join("_")}_unique`;
32376
32376
  }
32377
32377
 
32378
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/pg-core/columns/common.js
32378
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/pg-core/columns/common.js
32379
32379
  class PgColumn extends Column {
32380
32380
  constructor(table, config2) {
32381
32381
  if (!config2.uniqueName) {
@@ -32424,7 +32424,7 @@ class ExtraConfigColumn extends PgColumn {
32424
32424
  }
32425
32425
  }
32426
32426
 
32427
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/pg-core/columns/enum.js
32427
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/pg-core/columns/enum.js
32428
32428
  class PgEnumObjectColumn extends PgColumn {
32429
32429
  static [entityKind] = "PgEnumObjectColumn";
32430
32430
  enum;
@@ -32454,7 +32454,7 @@ class PgEnumColumn extends PgColumn {
32454
32454
  }
32455
32455
  }
32456
32456
 
32457
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/subquery.js
32457
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/subquery.js
32458
32458
  class Subquery {
32459
32459
  static [entityKind] = "Subquery";
32460
32460
  constructor(sql, fields, alias, isWith = false, usedTables = []) {
@@ -32469,10 +32469,10 @@ class Subquery {
32469
32469
  }
32470
32470
  }
32471
32471
 
32472
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/version.js
32473
- var version2 = "0.45.2";
32472
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/version.js
32473
+ var version2 = "0.45.3";
32474
32474
 
32475
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/tracing.js
32475
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/tracing.js
32476
32476
  var otel;
32477
32477
  var rawTracer;
32478
32478
  var tracer = {
@@ -32499,10 +32499,10 @@ var tracer = {
32499
32499
  }
32500
32500
  };
32501
32501
 
32502
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/view-common.js
32502
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/view-common.js
32503
32503
  var ViewBaseConfig = Symbol.for("drizzle:ViewBaseConfig");
32504
32504
 
32505
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/table.js
32505
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/table.js
32506
32506
  var Schema = Symbol.for("drizzle:Schema");
32507
32507
  var Columns = Symbol.for("drizzle:Columns");
32508
32508
  var ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");
@@ -32540,7 +32540,7 @@ class Table {
32540
32540
  }
32541
32541
  }
32542
32542
 
32543
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sql/sql.js
32543
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sql/sql.js
32544
32544
  function isSQLWrapper(value) {
32545
32545
  return value !== null && value !== undefined && typeof value.getSQL === "function";
32546
32546
  }
@@ -32903,7 +32903,7 @@ Subquery.prototype.getSQL = function() {
32903
32903
  return new SQL([this]);
32904
32904
  };
32905
32905
 
32906
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/alias.js
32906
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/alias.js
32907
32907
  class ColumnAliasProxyHandler {
32908
32908
  constructor(table) {
32909
32909
  this.table = table;
@@ -32959,12 +32959,12 @@ class TableAliasProxyHandler {
32959
32959
  }
32960
32960
  }
32961
32961
 
32962
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/alias.js
32962
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/alias.js
32963
32963
  function alias(table, alias2) {
32964
32964
  return new Proxy(table, new TableAliasProxyHandler(alias2, false));
32965
32965
  }
32966
32966
 
32967
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/checks.js
32967
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/checks.js
32968
32968
  class CheckBuilder {
32969
32969
  constructor(name, value) {
32970
32970
  this.name = name;
@@ -32991,7 +32991,7 @@ function check2(name, value) {
32991
32991
  return new CheckBuilder(name, value);
32992
32992
  }
32993
32993
 
32994
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/utils.js
32994
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/utils.js
32995
32995
  function getColumnNameAndConfig(a, b) {
32996
32996
  return {
32997
32997
  name: typeof a === "string" && a.length > 0 ? a : "",
@@ -33000,7 +33000,7 @@ function getColumnNameAndConfig(a, b) {
33000
33000
  }
33001
33001
  var textDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder;
33002
33002
 
33003
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
33003
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
33004
33004
  class ForeignKeyBuilder {
33005
33005
  static [entityKind] = "SQLiteForeignKeyBuilder";
33006
33006
  reference;
@@ -33068,7 +33068,7 @@ function foreignKey(config2) {
33068
33068
  return new ForeignKeyBuilder(mappedConfig);
33069
33069
  }
33070
33070
 
33071
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
33071
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
33072
33072
  function uniqueKeyName2(table, columns) {
33073
33073
  return `${table[TableName]}_${columns.join("_")}_unique`;
33074
33074
  }
@@ -33113,7 +33113,7 @@ class UniqueConstraint {
33113
33113
  }
33114
33114
  }
33115
33115
 
33116
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/common.js
33116
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/common.js
33117
33117
  class SQLiteColumnBuilder extends ColumnBuilder {
33118
33118
  static [entityKind] = "SQLiteColumnBuilder";
33119
33119
  foreignKeyConfigs = [];
@@ -33164,7 +33164,7 @@ class SQLiteColumn extends Column {
33164
33164
  static [entityKind] = "SQLiteColumn";
33165
33165
  }
33166
33166
 
33167
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/blob.js
33167
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/blob.js
33168
33168
  class SQLiteBigIntBuilder extends SQLiteColumnBuilder {
33169
33169
  static [entityKind] = "SQLiteBigIntBuilder";
33170
33170
  constructor(name) {
@@ -33252,7 +33252,7 @@ function blob(a, b) {
33252
33252
  return new SQLiteBlobBufferBuilder(name);
33253
33253
  }
33254
33254
 
33255
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/custom.js
33255
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/custom.js
33256
33256
  class SQLiteCustomColumnBuilder extends SQLiteColumnBuilder {
33257
33257
  static [entityKind] = "SQLiteCustomColumnBuilder";
33258
33258
  constructor(name, fieldConfig, customTypeParams) {
@@ -33293,7 +33293,7 @@ function customType(customTypeParams) {
33293
33293
  };
33294
33294
  }
33295
33295
 
33296
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/integer.js
33296
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/integer.js
33297
33297
  class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {
33298
33298
  static [entityKind] = "SQLiteBaseIntegerBuilder";
33299
33299
  constructor(name, dataType, columnType) {
@@ -33395,7 +33395,7 @@ function integer2(a, b) {
33395
33395
  return new SQLiteIntegerBuilder(name);
33396
33396
  }
33397
33397
 
33398
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
33398
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
33399
33399
  class SQLiteNumericBuilder extends SQLiteColumnBuilder {
33400
33400
  static [entityKind] = "SQLiteNumericBuilder";
33401
33401
  constructor(name) {
@@ -33465,7 +33465,7 @@ function numeric(a, b) {
33465
33465
  return mode === "number" ? new SQLiteNumericNumberBuilder(name) : mode === "bigint" ? new SQLiteNumericBigIntBuilder(name) : new SQLiteNumericBuilder(name);
33466
33466
  }
33467
33467
 
33468
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/real.js
33468
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/real.js
33469
33469
  class SQLiteRealBuilder extends SQLiteColumnBuilder {
33470
33470
  static [entityKind] = "SQLiteRealBuilder";
33471
33471
  constructor(name) {
@@ -33486,7 +33486,7 @@ function real(name) {
33486
33486
  return new SQLiteRealBuilder(name ?? "");
33487
33487
  }
33488
33488
 
33489
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/text.js
33489
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/text.js
33490
33490
  class SQLiteTextBuilder extends SQLiteColumnBuilder {
33491
33491
  static [entityKind] = "SQLiteTextBuilder";
33492
33492
  constructor(name, config2) {
@@ -33541,7 +33541,7 @@ function text(a, b = {}) {
33541
33541
  return new SQLiteTextBuilder(name, config2);
33542
33542
  }
33543
33543
 
33544
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/columns/all.js
33544
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/columns/all.js
33545
33545
  function getSQLiteColumnBuilders() {
33546
33546
  return {
33547
33547
  blob,
@@ -33553,7 +33553,7 @@ function getSQLiteColumnBuilders() {
33553
33553
  };
33554
33554
  }
33555
33555
 
33556
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/table.js
33556
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/table.js
33557
33557
  var InlineForeignKeys = Symbol.for("drizzle:SQLiteInlineForeignKeys");
33558
33558
 
33559
33559
  class SQLiteTable extends Table {
@@ -33587,7 +33587,7 @@ var sqliteTable = (name, columns, extraConfig) => {
33587
33587
  return sqliteTableBase(name, columns, extraConfig);
33588
33588
  };
33589
33589
 
33590
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/indexes.js
33590
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/indexes.js
33591
33591
  class IndexBuilderOn {
33592
33592
  constructor(name, unique2) {
33593
33593
  this.name = name;
@@ -33633,7 +33633,7 @@ function uniqueIndex(name) {
33633
33633
  return new IndexBuilderOn(name, true);
33634
33634
  }
33635
33635
 
33636
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sqlite-core/primary-keys.js
33636
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sqlite-core/primary-keys.js
33637
33637
  function primaryKey(...config2) {
33638
33638
  if (config2[0].columns) {
33639
33639
  return new PrimaryKeyBuilder(config2[0].columns, config2[0].name);
@@ -33668,7 +33668,7 @@ class PrimaryKey {
33668
33668
  }
33669
33669
  }
33670
33670
 
33671
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sql/expressions/conditions.js
33671
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sql/expressions/conditions.js
33672
33672
  function bindIfParam(value, column) {
33673
33673
  if (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) {
33674
33674
  return new Param(value, column);
@@ -33696,7 +33696,7 @@ function isNotNull(value) {
33696
33696
  return sql`${value} is not null`;
33697
33697
  }
33698
33698
 
33699
- // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@5.20260917.1_@opentelemetry+api@1.9.1_@typ_1b798b4b1340f6ee3490e576ed92ace8/node_modules/drizzle-orm/sql/expressions/select.js
33699
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20260924.1_@opentelemetry+api@1.9.1_@typ_49048b3d7117d2a8abc613de6d00d564/node_modules/drizzle-orm/sql/expressions/select.js
33700
33700
  function desc(column) {
33701
33701
  return sql`${column} desc`;
33702
33702
  }
@@ -34921,7 +34921,7 @@ var REWAKE_PROMPT = `Your session was reset by your owner. Prior conversation co
34921
34921
  2. Facts: Verify claims, especially work progress, against the latest original records. Search the context timeline and task discussions through their latest outcomes. Correct outdated or unsupported claims; keep uncertainty explicit.
34922
34922
  3. Durability: Keep only lasting facts, preferences, and reusable lessons or procedures. Remove task status, milestones, temporary plans, and diaries; extract a reusable lesson only when useful. Keep memory.md brief with links; put procedures, scope, and reasons in experiences. Reason from first principles: distill specific events into underlying causes, constraints, and reusable principles. Omit incidental dates and details; retain context only when it changes the principle’s validity or scope.
34923
34923
 
34924
- Edit only your own memory files.
34924
+ Edit only your own memory files. This review is internal maintenance; perform it silently. Do not proactively send the owner, users, or channels progress updates, completion notices, or details about your memory state. Communicate task-relevant results, questions, and blockers normally. If nothing needs a user-facing response, send no message.
34925
34925
 
34926
34926
  After completing the review and any needed edits, resume outstanding work and handle your inbox messages.`;
34927
34927
  var MODEL_SWITCH_REWAKE_PROMPT = "You were just switched to a different model. Continue any unfinished work.";
@@ -36082,6 +36082,199 @@ function writeStatusFile(path13, snapshot) {
36082
36082
  renameSync2(tmp, path13);
36083
36083
  } catch {}
36084
36084
  }
36085
+ // ../shared/src/community-attention.ts
36086
+ var id = exports_external.string().min(1);
36087
+ var AttentionScopeSchema = exports_external.strictObject({
36088
+ scopeId: id,
36089
+ channelId: id,
36090
+ serverId: id.nullable().optional(),
36091
+ parentChannelId: id.nullable().optional(),
36092
+ ordinaryUnread: exports_external.boolean(),
36093
+ lastUnreadSeq: exports_external.number().int().nonnegative(),
36094
+ lastAttentionSeq: exports_external.number().int().nonnegative().nullable().optional(),
36095
+ attentionCount: exports_external.number().int().nonnegative()
36096
+ });
36097
+ var AttentionItemSchema = exports_external.strictObject({
36098
+ id,
36099
+ kind: exports_external.enum(["mention", "reply", "friend_request", "forum_post"]),
36100
+ sourceId: id,
36101
+ scopeId: id.nullable().optional(),
36102
+ messageId: id.nullable().optional(),
36103
+ actorUserId: id.nullable().optional(),
36104
+ createdAt: exports_external.string(),
36105
+ childChannelId: id.optional(),
36106
+ openerSeq: exports_external.number().int().nonnegative().optional(),
36107
+ readTarget: exports_external.strictObject({
36108
+ channelId: id,
36109
+ seq: exports_external.number().int().nonnegative()
36110
+ }).optional()
36111
+ }).superRefine((item, ctx) => {
36112
+ if (item.kind === "friend_request") {
36113
+ if (!item.actorUserId || item.scopeId != null || item.messageId != null) {
36114
+ ctx.addIssue({ code: "custom", message: "friend request cannot reference a scope or message" });
36115
+ }
36116
+ if (item.childChannelId || item.openerSeq !== undefined || item.readTarget) {
36117
+ ctx.addIssue({ code: "custom", message: "friend request cannot carry forum presentation refs" });
36118
+ }
36119
+ return;
36120
+ }
36121
+ if (!item.scopeId || !item.messageId) {
36122
+ ctx.addIssue({ code: "custom", message: "message attention requires scope and message refs" });
36123
+ }
36124
+ if (item.kind === "forum_post") {
36125
+ if (item.actorUserId != null || !item.childChannelId || item.openerSeq === undefined || !item.readTarget || item.sourceId !== item.childChannelId || item.readTarget.seq !== item.openerSeq) {
36126
+ ctx.addIssue({ code: "custom", message: "forum post requires exact child, opener, and read-target refs" });
36127
+ }
36128
+ return;
36129
+ }
36130
+ if (!item.actorUserId) {
36131
+ ctx.addIssue({ code: "custom", message: "message attention requires an actor" });
36132
+ }
36133
+ if (item.childChannelId || item.openerSeq !== undefined || item.readTarget) {
36134
+ ctx.addIssue({ code: "custom", message: "mention or reply cannot carry forum presentation refs" });
36135
+ }
36136
+ });
36137
+ var AttentionIncludedServerSchema = exports_external.strictObject({
36138
+ id,
36139
+ name: exports_external.string(),
36140
+ discriminator: exports_external.string()
36141
+ });
36142
+ var AttentionIncludedChannelSchema = exports_external.strictObject({
36143
+ id,
36144
+ serverId: id,
36145
+ name: exports_external.string(),
36146
+ type: exports_external.enum(["text", "forum", "thread"]),
36147
+ parentChannelId: id.nullable(),
36148
+ parentMessageId: id.nullable(),
36149
+ creatorId: id.nullable(),
36150
+ archived: exports_external.boolean(),
36151
+ lastMessageAt: exports_external.string().nullable(),
36152
+ openerSeq: exports_external.number().int().nonnegative().optional(),
36153
+ openerUnread: exports_external.boolean().optional()
36154
+ });
36155
+ var AttentionIncludedDmSchema = exports_external.strictObject({
36156
+ id,
36157
+ userId: id,
36158
+ name: exports_external.string(),
36159
+ discriminator: exports_external.string(),
36160
+ avatar: exports_external.string(),
36161
+ avatarVersion: exports_external.number().int().nonnegative(),
36162
+ lastMessageAt: exports_external.string(),
36163
+ lastUnreadSeq: exports_external.number().int().nonnegative()
36164
+ });
36165
+ var AttentionIncludedProfileSchema = exports_external.strictObject({
36166
+ userId: id,
36167
+ name: exports_external.string(),
36168
+ discriminator: exports_external.string(),
36169
+ avatar: exports_external.string(),
36170
+ avatarVersion: exports_external.number().int().nonnegative()
36171
+ });
36172
+ var AttentionIncludedMessageSchema = exports_external.strictObject({
36173
+ id,
36174
+ channelId: id,
36175
+ type: exports_external.enum(["chat", "system"]),
36176
+ authorId: id.optional(),
36177
+ authorName: exports_external.string().optional(),
36178
+ seq: exports_external.number().int().nonnegative(),
36179
+ createdAt: exports_external.string(),
36180
+ content: exports_external.string()
36181
+ });
36182
+ var AttentionIncludedSchema = exports_external.strictObject({
36183
+ servers: exports_external.array(AttentionIncludedServerSchema),
36184
+ channels: exports_external.array(AttentionIncludedChannelSchema),
36185
+ dms: exports_external.array(AttentionIncludedDmSchema),
36186
+ profiles: exports_external.array(AttentionIncludedProfileSchema),
36187
+ messages: exports_external.array(AttentionIncludedMessageSchema)
36188
+ });
36189
+ var AccountAttentionSnapshotSchema = exports_external.strictObject({
36190
+ scopes: exports_external.array(AttentionScopeSchema),
36191
+ items: exports_external.array(AttentionItemSchema),
36192
+ limit: exports_external.number().int().positive(),
36193
+ truncated: exports_external.boolean(),
36194
+ included: AttentionIncludedSchema
36195
+ }).superRefine((snapshot, ctx) => {
36196
+ const scopeIds = new Set;
36197
+ for (const scope of snapshot.scopes) {
36198
+ if (scopeIds.has(scope.scopeId)) {
36199
+ ctx.addIssue({ code: "custom", message: `duplicate attention scope: ${scope.scopeId}` });
36200
+ }
36201
+ scopeIds.add(scope.scopeId);
36202
+ }
36203
+ const itemIds = new Set;
36204
+ const serverById = new Map(snapshot.included.servers.map((server) => [server.id, server]));
36205
+ const channelById = new Map(snapshot.included.channels.map((channel2) => [channel2.id, channel2]));
36206
+ const dmById = new Map(snapshot.included.dms.map((dm) => [dm.id, dm]));
36207
+ const profileById = new Map(snapshot.included.profiles.map((profile) => [profile.userId, profile]));
36208
+ const messageById = new Map(snapshot.included.messages.map((message2) => [message2.id, message2]));
36209
+ const rejectDuplicates = (values, kind) => {
36210
+ const seen = new Set;
36211
+ for (const value of values) {
36212
+ if (seen.has(value))
36213
+ ctx.addIssue({ code: "custom", message: `duplicate included ${kind}: ${value}` });
36214
+ seen.add(value);
36215
+ }
36216
+ };
36217
+ rejectDuplicates(snapshot.included.servers.map((server) => server.id), "server");
36218
+ rejectDuplicates(snapshot.included.channels.map((channel2) => channel2.id), "channel");
36219
+ rejectDuplicates(snapshot.included.dms.map((dm) => dm.id), "dm");
36220
+ rejectDuplicates(snapshot.included.profiles.map((profile) => profile.userId), "profile");
36221
+ rejectDuplicates(snapshot.included.messages.map((message2) => message2.id), "message");
36222
+ for (const scope of snapshot.scopes) {
36223
+ if (scope.serverId) {
36224
+ const channel2 = channelById.get(scope.channelId);
36225
+ if (!serverById.has(scope.serverId) || !channel2 || channel2.serverId !== scope.serverId) {
36226
+ ctx.addIssue({ code: "custom", message: `attention scope references missing owner: ${scope.scopeId}` });
36227
+ continue;
36228
+ }
36229
+ if (scope.parentChannelId) {
36230
+ const parent = channelById.get(scope.parentChannelId);
36231
+ const opener = channel2.parentMessageId ? messageById.get(channel2.parentMessageId) : undefined;
36232
+ if (channel2.parentChannelId !== scope.parentChannelId || !parent || parent.serverId !== scope.serverId || !opener || opener.channelId !== parent.id || channel2.openerSeq !== opener.seq || channel2.openerUnread === undefined) {
36233
+ ctx.addIssue({ code: "custom", message: `attention scope references missing parent: ${scope.scopeId}` });
36234
+ }
36235
+ } else if (channel2.parentChannelId !== null) {
36236
+ ctx.addIssue({ code: "custom", message: `attention scope parent mismatch: ${scope.scopeId}` });
36237
+ }
36238
+ } else {
36239
+ const dm = dmById.get(scope.channelId);
36240
+ if (!dm || !profileById.has(dm.userId)) {
36241
+ ctx.addIssue({ code: "custom", message: `attention scope references missing DM owner: ${scope.scopeId}` });
36242
+ }
36243
+ }
36244
+ }
36245
+ for (const item of snapshot.items) {
36246
+ if (itemIds.has(item.id)) {
36247
+ ctx.addIssue({ code: "custom", message: `duplicate attention item: ${item.id}` });
36248
+ }
36249
+ itemIds.add(item.id);
36250
+ if (item.scopeId && !scopeIds.has(item.scopeId)) {
36251
+ ctx.addIssue({ code: "custom", message: `attention item references missing scope: ${item.scopeId}` });
36252
+ }
36253
+ if (item.kind === "friend_request") {
36254
+ if (!item.actorUserId || !profileById.has(item.actorUserId)) {
36255
+ ctx.addIssue({ code: "custom", message: `friend request references missing profile: ${item.id}` });
36256
+ }
36257
+ continue;
36258
+ }
36259
+ const scope = item.scopeId ? snapshot.scopes.find((candidate) => candidate.scopeId === item.scopeId) : undefined;
36260
+ const message2 = item.messageId ? messageById.get(item.messageId) : undefined;
36261
+ if (!scope || !message2) {
36262
+ ctx.addIssue({ code: "custom", message: `attention item references missing message: ${item.id}` });
36263
+ continue;
36264
+ }
36265
+ if (item.kind === "forum_post") {
36266
+ const parent = channelById.get(scope.channelId);
36267
+ const child = item.childChannelId ? channelById.get(item.childChannelId) : undefined;
36268
+ if (!scope.serverId || parent?.type !== "forum" || child?.type !== "thread" || child.parentChannelId !== parent.id || child.parentMessageId !== message2.id || message2.channelId !== parent.id || message2.seq !== item.openerSeq || item.readTarget?.channelId !== parent.id) {
36269
+ ctx.addIssue({ code: "custom", message: `forum post references incomplete presentation owners: ${item.id}` });
36270
+ }
36271
+ continue;
36272
+ }
36273
+ if (message2.channelId !== scope.channelId || !item.actorUserId || !profileById.has(item.actorUserId)) {
36274
+ ctx.addIssue({ code: "custom", message: `message attention references incomplete owners: ${item.id}` });
36275
+ }
36276
+ }
36277
+ });
36085
36278
  // ../shared/src/constants/community.ts
36086
36279
  var MAX_FOLDER_NAME_LENGTH = 100;
36087
36280
  var MAX_PROFILE_NAME_LENGTH = 100;
@@ -36831,11 +37024,11 @@ var CommunityMachineRuntimeListSchema = exports_external.array(CommunityMachineR
36831
37024
  var CommunityRunningAgentListSchema = exports_external.array(exports_external.string()).transform((list) => {
36832
37025
  const seen = new Set;
36833
37026
  const out = [];
36834
- for (const id of list) {
36835
- if (seen.has(id))
37027
+ for (const id2 of list) {
37028
+ if (seen.has(id2))
36836
37029
  continue;
36837
- seen.add(id);
36838
- out.push(id);
37030
+ seen.add(id2);
37031
+ out.push(id2);
36839
37032
  }
36840
37033
  return out;
36841
37034
  });
@@ -37012,6 +37205,7 @@ var CommunityAgentSendRequestSchema = exports_external.object({
37012
37205
  attachments: exports_external.array(exports_external.string().min(1)).max(MAX_ATTACHMENTS_PER_MESSAGE).default([]),
37013
37206
  seenUpToSeq: CommunityAgentSeqSchema.optional(),
37014
37207
  replyToSeq: CommunityAgentPositiveSeqSchema.optional(),
37208
+ force: exports_external.boolean().optional(),
37015
37209
  nonce: exports_external.string().min(1).max(128).optional()
37016
37210
  }).refine((d) => d.content.text.trim().length > 0 || d.attachments.length > 0, { message: "message must have text or attachments" });
37017
37211
  var CommunityAgentAttachmentUploadResponseSchema = exports_external.object({
@@ -38353,7 +38547,9 @@ var COMMUNITY_BROWSER_EVENT_BATCH_MAX_BYTES = MESSAGE_DELIVERY_MAX_EVENTS_PER_US
38353
38547
  var exports_billing_schema = {};
38354
38548
  __export(exports_billing_schema, {
38355
38549
  userBilling: () => userBilling,
38356
- billingPrice: () => billingPrice
38550
+ billingPurchaseDelivery: () => billingPurchaseDelivery,
38551
+ billingPrice: () => billingPrice,
38552
+ billingAnalyticsConsent: () => billingAnalyticsConsent
38357
38553
  });
38358
38554
  var billingPrice = sqliteTable("billing_price", {
38359
38555
  priceId: text("price_id").primaryKey(),
@@ -38374,6 +38570,28 @@ var userBilling = sqliteTable("user_billing", {
38374
38570
  uniqueIndex("uq_user_billing_customer").on(t.customerId),
38375
38571
  uniqueIndex("uq_user_billing_subscription").on(t.subscriptionId)
38376
38572
  ]);
38573
+ var billingAnalyticsConsent = sqliteTable("billing_analytics_consent", {
38574
+ userId: text("user_id").primaryKey().references(() => user.id, { onDelete: "cascade" }),
38575
+ decision: text("decision").$type().notNull(),
38576
+ sourceVersion: integer2("source_version").notNull(),
38577
+ revision: integer2("revision").notNull().default(1),
38578
+ updatedAt: text("updated_at").notNull().$defaultFn(() => new Date().toISOString())
38579
+ });
38580
+ var billingPurchaseDelivery = sqliteTable("billing_purchase_delivery", {
38581
+ invoiceId: text("invoice_id").primaryKey(),
38582
+ userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
38583
+ status: text("status").$type().notNull(),
38584
+ reason: text("reason").notNull(),
38585
+ purchaseType: text("purchase_type").$type(),
38586
+ currency: text("currency"),
38587
+ valueMinor: integer2("value_minor"),
38588
+ planId: text("plan_id"),
38589
+ validationJson: text("validation_json"),
38590
+ claimedAt: text("claimed_at").notNull().$defaultFn(() => new Date().toISOString()),
38591
+ finalizedAt: text("finalized_at")
38592
+ }, (t) => [
38593
+ index("idx_billing_purchase_delivery_user_claimed").on(t.userId, t.claimedAt)
38594
+ ]);
38377
38595
 
38378
38596
  // ../shared/src/db/community-funnel-analytics-schema.ts
38379
38597
  var exports_community_funnel_analytics_schema = {};
@@ -40529,20 +40747,20 @@ async function detectRuntimes() {
40529
40747
  const ids = listRuntimeIds();
40530
40748
  const results = [];
40531
40749
  const nowIso = new Date().toISOString();
40532
- for (const id of ids) {
40750
+ for (const id2 of ids) {
40533
40751
  try {
40534
- const driver = getDriver(id);
40752
+ const driver = getDriver(id2);
40535
40753
  const probe = await driver.probe();
40536
40754
  if (probe.status === "healthy") {
40537
40755
  results.push({
40538
- id,
40756
+ id: id2,
40539
40757
  status: "healthy",
40540
40758
  version: probe.version,
40541
40759
  reasoning: probe.reasoning
40542
40760
  });
40543
40761
  } else {
40544
40762
  results.push({
40545
- id,
40763
+ id: id2,
40546
40764
  status: "unhealthy",
40547
40765
  lastError: probe.error.code ?? "probe_failed",
40548
40766
  lastErrorAt: nowIso
@@ -40550,7 +40768,7 @@ async function detectRuntimes() {
40550
40768
  }
40551
40769
  } catch (err) {
40552
40770
  results.push({
40553
- id,
40771
+ id: id2,
40554
40772
  status: "unhealthy",
40555
40773
  lastError: err?.code ?? "probe_threw",
40556
40774
  lastErrorAt: nowIso
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alook/daemon",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
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",
@@ -59,9 +59,9 @@
59
59
  "@types/node": "^20.0.0",
60
60
  "@types/ws": "^8.18.1",
61
61
  "eslint": "^9.39.5",
62
- "tsx": "^4.23.13",
62
+ "tsx": "^4.23.15",
63
63
  "typescript": "^6.0.3",
64
- "typescript-eslint": "^8.70.0",
64
+ "typescript-eslint": "^8.70.1",
65
65
  "vitest": "4.1.11"
66
66
  }
67
67
  }