@alook/daemon 0.1.49 → 0.1.50

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.
Files changed (3) hide show
  1. package/dist/cli/index.js +135 -143
  2. package/dist/index.js +135 -143
  3. package/package.json +2 -2
package/dist/cli/index.js CHANGED
@@ -19499,7 +19499,7 @@ __export(exports_community_machine_schema, {
19499
19499
  DIAGNOSTIC_REPORT_FAILURE_CODES: () => DIAGNOSTIC_REPORT_FAILURE_CODES
19500
19500
  });
19501
19501
 
19502
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/entity.js
19502
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/entity.js
19503
19503
  var entityKind = Symbol.for("drizzle:entityKind");
19504
19504
  var hasOwnEntityKind = Symbol.for("drizzle:hasOwnEntityKind");
19505
19505
  function is(value, type) {
@@ -19524,7 +19524,7 @@ function is(value, type) {
19524
19524
  return false;
19525
19525
  }
19526
19526
 
19527
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/column.js
19527
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/column.js
19528
19528
  class Column {
19529
19529
  constructor(table, config2) {
19530
19530
  this.table = table;
@@ -19574,7 +19574,7 @@ class Column {
19574
19574
  }
19575
19575
  }
19576
19576
 
19577
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/column-builder.js
19577
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/column-builder.js
19578
19578
  class ColumnBuilder {
19579
19579
  static [entityKind] = "ColumnBuilder";
19580
19580
  config;
@@ -19630,20 +19630,20 @@ class ColumnBuilder {
19630
19630
  }
19631
19631
  }
19632
19632
 
19633
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/table.utils.js
19633
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/table.utils.js
19634
19634
  var TableName = Symbol.for("drizzle:Name");
19635
19635
 
19636
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/tracing-utils.js
19636
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/tracing-utils.js
19637
19637
  function iife(fn, ...args) {
19638
19638
  return fn(...args);
19639
19639
  }
19640
19640
 
19641
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/pg-core/unique-constraint.js
19641
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/pg-core/unique-constraint.js
19642
19642
  function uniqueKeyName(table, columns) {
19643
19643
  return `${table[TableName]}_${columns.join("_")}_unique`;
19644
19644
  }
19645
19645
 
19646
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/pg-core/columns/common.js
19646
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/pg-core/columns/common.js
19647
19647
  class PgColumn extends Column {
19648
19648
  constructor(table, config2) {
19649
19649
  if (!config2.uniqueName) {
@@ -19692,7 +19692,7 @@ class ExtraConfigColumn extends PgColumn {
19692
19692
  }
19693
19693
  }
19694
19694
 
19695
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/pg-core/columns/enum.js
19695
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/pg-core/columns/enum.js
19696
19696
  class PgEnumObjectColumn extends PgColumn {
19697
19697
  static [entityKind] = "PgEnumObjectColumn";
19698
19698
  enum;
@@ -19722,7 +19722,7 @@ class PgEnumColumn extends PgColumn {
19722
19722
  }
19723
19723
  }
19724
19724
 
19725
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/subquery.js
19725
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/subquery.js
19726
19726
  class Subquery {
19727
19727
  static [entityKind] = "Subquery";
19728
19728
  constructor(sql, fields, alias, isWith = false, usedTables = []) {
@@ -19737,10 +19737,10 @@ class Subquery {
19737
19737
  }
19738
19738
  }
19739
19739
 
19740
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/version.js
19741
- var version2 = "0.45.3";
19740
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/version.js
19741
+ var version2 = "0.45.4";
19742
19742
 
19743
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/tracing.js
19743
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/tracing.js
19744
19744
  var otel;
19745
19745
  var rawTracer;
19746
19746
  var tracer = {
@@ -19767,10 +19767,10 @@ var tracer = {
19767
19767
  }
19768
19768
  };
19769
19769
 
19770
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/view-common.js
19770
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/view-common.js
19771
19771
  var ViewBaseConfig = Symbol.for("drizzle:ViewBaseConfig");
19772
19772
 
19773
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/table.js
19773
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/table.js
19774
19774
  var Schema = Symbol.for("drizzle:Schema");
19775
19775
  var Columns = Symbol.for("drizzle:Columns");
19776
19776
  var ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");
@@ -19808,7 +19808,7 @@ class Table {
19808
19808
  }
19809
19809
  }
19810
19810
 
19811
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sql/sql.js
19811
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sql/sql.js
19812
19812
  function isSQLWrapper(value) {
19813
19813
  return value !== null && value !== undefined && typeof value.getSQL === "function";
19814
19814
  }
@@ -20171,7 +20171,7 @@ Subquery.prototype.getSQL = function() {
20171
20171
  return new SQL([this]);
20172
20172
  };
20173
20173
 
20174
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/alias.js
20174
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/alias.js
20175
20175
  class ColumnAliasProxyHandler {
20176
20176
  constructor(table) {
20177
20177
  this.table = table;
@@ -20227,12 +20227,12 @@ class TableAliasProxyHandler {
20227
20227
  }
20228
20228
  }
20229
20229
 
20230
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/alias.js
20230
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/alias.js
20231
20231
  function alias(table, alias2) {
20232
20232
  return new Proxy(table, new TableAliasProxyHandler(alias2, false));
20233
20233
  }
20234
20234
 
20235
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/checks.js
20235
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/checks.js
20236
20236
  class CheckBuilder {
20237
20237
  constructor(name, value) {
20238
20238
  this.name = name;
@@ -20259,7 +20259,7 @@ function check2(name, value) {
20259
20259
  return new CheckBuilder(name, value);
20260
20260
  }
20261
20261
 
20262
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/utils.js
20262
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/utils.js
20263
20263
  function getColumnNameAndConfig(a, b) {
20264
20264
  return {
20265
20265
  name: typeof a === "string" && a.length > 0 ? a : "",
@@ -20268,7 +20268,7 @@ function getColumnNameAndConfig(a, b) {
20268
20268
  }
20269
20269
  var textDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder;
20270
20270
 
20271
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
20271
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
20272
20272
  class ForeignKeyBuilder {
20273
20273
  static [entityKind] = "SQLiteForeignKeyBuilder";
20274
20274
  reference;
@@ -20336,7 +20336,7 @@ function foreignKey(config2) {
20336
20336
  return new ForeignKeyBuilder(mappedConfig);
20337
20337
  }
20338
20338
 
20339
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
20339
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
20340
20340
  function uniqueKeyName2(table, columns) {
20341
20341
  return `${table[TableName]}_${columns.join("_")}_unique`;
20342
20342
  }
@@ -20381,7 +20381,7 @@ class UniqueConstraint {
20381
20381
  }
20382
20382
  }
20383
20383
 
20384
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/common.js
20384
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/common.js
20385
20385
  class SQLiteColumnBuilder extends ColumnBuilder {
20386
20386
  static [entityKind] = "SQLiteColumnBuilder";
20387
20387
  foreignKeyConfigs = [];
@@ -20432,7 +20432,7 @@ class SQLiteColumn extends Column {
20432
20432
  static [entityKind] = "SQLiteColumn";
20433
20433
  }
20434
20434
 
20435
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/blob.js
20435
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/blob.js
20436
20436
  class SQLiteBigIntBuilder extends SQLiteColumnBuilder {
20437
20437
  static [entityKind] = "SQLiteBigIntBuilder";
20438
20438
  constructor(name) {
@@ -20520,7 +20520,7 @@ function blob(a, b) {
20520
20520
  return new SQLiteBlobBufferBuilder(name);
20521
20521
  }
20522
20522
 
20523
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/custom.js
20523
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/custom.js
20524
20524
  class SQLiteCustomColumnBuilder extends SQLiteColumnBuilder {
20525
20525
  static [entityKind] = "SQLiteCustomColumnBuilder";
20526
20526
  constructor(name, fieldConfig, customTypeParams) {
@@ -20561,7 +20561,7 @@ function customType(customTypeParams) {
20561
20561
  };
20562
20562
  }
20563
20563
 
20564
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/integer.js
20564
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/integer.js
20565
20565
  class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {
20566
20566
  static [entityKind] = "SQLiteBaseIntegerBuilder";
20567
20567
  constructor(name, dataType, columnType) {
@@ -20663,7 +20663,7 @@ function integer2(a, b) {
20663
20663
  return new SQLiteIntegerBuilder(name);
20664
20664
  }
20665
20665
 
20666
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
20666
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
20667
20667
  class SQLiteNumericBuilder extends SQLiteColumnBuilder {
20668
20668
  static [entityKind] = "SQLiteNumericBuilder";
20669
20669
  constructor(name) {
@@ -20733,7 +20733,7 @@ function numeric(a, b) {
20733
20733
  return mode === "number" ? new SQLiteNumericNumberBuilder(name) : mode === "bigint" ? new SQLiteNumericBigIntBuilder(name) : new SQLiteNumericBuilder(name);
20734
20734
  }
20735
20735
 
20736
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/real.js
20736
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/real.js
20737
20737
  class SQLiteRealBuilder extends SQLiteColumnBuilder {
20738
20738
  static [entityKind] = "SQLiteRealBuilder";
20739
20739
  constructor(name) {
@@ -20754,7 +20754,7 @@ function real(name) {
20754
20754
  return new SQLiteRealBuilder(name ?? "");
20755
20755
  }
20756
20756
 
20757
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/text.js
20757
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/text.js
20758
20758
  class SQLiteTextBuilder extends SQLiteColumnBuilder {
20759
20759
  static [entityKind] = "SQLiteTextBuilder";
20760
20760
  constructor(name, config2) {
@@ -20809,7 +20809,7 @@ function text(a, b = {}) {
20809
20809
  return new SQLiteTextBuilder(name, config2);
20810
20810
  }
20811
20811
 
20812
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/all.js
20812
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/all.js
20813
20813
  function getSQLiteColumnBuilders() {
20814
20814
  return {
20815
20815
  blob,
@@ -20821,7 +20821,7 @@ function getSQLiteColumnBuilders() {
20821
20821
  };
20822
20822
  }
20823
20823
 
20824
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/table.js
20824
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/table.js
20825
20825
  var InlineForeignKeys = Symbol.for("drizzle:SQLiteInlineForeignKeys");
20826
20826
 
20827
20827
  class SQLiteTable extends Table {
@@ -20855,7 +20855,7 @@ var sqliteTable = (name, columns, extraConfig) => {
20855
20855
  return sqliteTableBase(name, columns, extraConfig);
20856
20856
  };
20857
20857
 
20858
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/indexes.js
20858
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/indexes.js
20859
20859
  class IndexBuilderOn {
20860
20860
  constructor(name, unique2) {
20861
20861
  this.name = name;
@@ -20901,7 +20901,7 @@ function uniqueIndex(name) {
20901
20901
  return new IndexBuilderOn(name, true);
20902
20902
  }
20903
20903
 
20904
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/primary-keys.js
20904
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/primary-keys.js
20905
20905
  function primaryKey(...config2) {
20906
20906
  if (config2[0].columns) {
20907
20907
  return new PrimaryKeyBuilder(config2[0].columns, config2[0].name);
@@ -20936,7 +20936,7 @@ class PrimaryKey {
20936
20936
  }
20937
20937
  }
20938
20938
 
20939
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sql/expressions/conditions.js
20939
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sql/expressions/conditions.js
20940
20940
  function bindIfParam(value, column) {
20941
20941
  if (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) {
20942
20942
  return new Param(value, column);
@@ -20964,7 +20964,7 @@ function isNotNull(value) {
20964
20964
  return sql`${value} is not null`;
20965
20965
  }
20966
20966
 
20967
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sql/expressions/select.js
20967
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sql/expressions/select.js
20968
20968
  function desc(column) {
20969
20969
  return sql`${column} desc`;
20970
20970
  }
@@ -24953,46 +24953,8 @@ var communityFunnelAnalyticsEvent = sqliteTable("community_funnel_analytics_even
24953
24953
  index("idx_community_funnel_analytics_owner_claimed_created").on(t.ownerUserId, t.claimedAt, t.createdAt)
24954
24954
  ]);
24955
24955
 
24956
- // ../shared/src/db/product-analytics-schema.ts
24957
- var exports_product_analytics_schema = {};
24958
- __export(exports_product_analytics_schema, {
24959
- productAnalyticsEvent: () => productAnalyticsEvent,
24960
- PRODUCT_ANALYTICS_EVENTS: () => PRODUCT_ANALYTICS_EVENTS
24961
- });
24962
- var PRODUCT_ANALYTICS_EVENTS = [
24963
- "landing_cta_clicked",
24964
- "login_page_view",
24965
- "sign_up",
24966
- "sign_in_success",
24967
- "sign_in_failed",
24968
- "onboarding_enter_clicked",
24969
- "onboarding_first_message",
24970
- "invitation_link_visit"
24971
- ];
24972
- var productAnalyticsEvent = sqliteTable("product_analytics_event", {
24973
- id: text("id").primaryKey(),
24974
- eventName: text("event_name").notNull().$type(),
24975
- actorUserId: text("actor_user_id").references(() => user.id, { onDelete: "cascade" }),
24976
- serverId: text("server_id").references(() => communityServer.id, { onDelete: "cascade" }),
24977
- sourceId: text("source_id"),
24978
- dedupeKey: text("dedupe_key").notNull(),
24979
- clientId: text("client_id").notNull(),
24980
- sessionId: text("session_id").notNull(),
24981
- method: text("method"),
24982
- accountKind: text("account_kind").$type(),
24983
- ctaName: text("cta_name"),
24984
- failureStage: text("failure_stage").$type(),
24985
- createdAt: text("created_at").notNull(),
24986
- deliveryStatus: text("delivery_status").notNull().default("pending").$type(),
24987
- deliveryReason: text("delivery_reason"),
24988
- attemptedAt: text("attempted_at")
24989
- }, (t) => [
24990
- uniqueIndex("uq_product_analytics_dedupe").on(t.dedupeKey),
24991
- index("idx_product_analytics_actor_server_event").on(t.actorUserId, t.serverId, t.eventName)
24992
- ]);
24993
-
24994
24956
  // ../shared/src/db/index.ts
24995
- var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema, ...exports_product_plan_schema, ...exports_billing_schema, ...exports_community_funnel_analytics_schema, ...exports_product_analytics_schema };
24957
+ var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema, ...exports_product_plan_schema, ...exports_billing_schema, ...exports_community_funnel_analytics_schema };
24996
24958
  // ../shared/src/community-server-rail.ts
24997
24959
  var MAX_SERVER_RAIL_COMMANDS = 3;
24998
24960
  var idSchema = exports_external.string().trim().min(1);
@@ -33702,15 +33664,14 @@ function createPiSessionDependencies(ctx, loadSdk = loadPiSdkModule) {
33702
33664
  },
33703
33665
  async createAgentSession(opts) {
33704
33666
  const sdk = await loadSdk();
33705
- const authStorage = sdk.AuthStorage.create();
33667
+ const modelRuntime = await sdk.ModelRuntime.create();
33706
33668
  const runtimeConfig = ctx.config.runtimeConfig;
33707
33669
  const provider = runtimeConfig && "provider" in runtimeConfig ? runtimeConfig.provider : undefined;
33708
33670
  if (provider?.kind === "builtin") {
33709
- authStorage.setRuntimeApiKey(provider.providerId, provider.apiKey);
33671
+ await modelRuntime.setRuntimeApiKey(provider.providerId, provider.apiKey);
33710
33672
  }
33711
- const modelRegistry = sdk.ModelRegistry.create(authStorage);
33712
33673
  const parsed = parseModelString(opts.model);
33713
- const model = parsed ? modelRegistry.find(parsed.provider, parsed.id) : undefined;
33674
+ const model = parsed ? modelRuntime.getModel(parsed.provider, parsed.id) : undefined;
33714
33675
  const cwd = opts.cwd;
33715
33676
  const requestedSessionId = opts.sessionId;
33716
33677
  let sessionManager;
@@ -33729,8 +33690,7 @@ function createPiSessionDependencies(ctx, loadSdk = loadPiSdkModule) {
33729
33690
  cwd,
33730
33691
  model,
33731
33692
  thinkingLevel: opts.thinkingLevel,
33732
- authStorage,
33733
- modelRegistry,
33693
+ modelRuntime,
33734
33694
  sessionManager,
33735
33695
  customTools: [bashTool]
33736
33696
  });
@@ -33965,9 +33925,8 @@ class PiDriver {
33965
33925
  try {
33966
33926
  const reasoning = await Promise.race([
33967
33927
  this.loadSdk().then(async (sdk) => {
33968
- const authStorage = sdk.AuthStorage.create();
33969
- const registry2 = sdk.ModelRegistry.create(authStorage);
33970
- return parsePiModelCatalog(await registry2.getAvailable());
33928
+ const modelRuntime = await sdk.ModelRuntime.create();
33929
+ return parsePiModelCatalog(await modelRuntime.getAvailable());
33971
33930
  }),
33972
33931
  new Promise((resolve4) => {
33973
33932
  timer = setTimeout(() => resolve4(undefined), PI_MODEL_PROBE_TIMEOUT_MS);
@@ -37572,10 +37531,31 @@ function reduceManager(state, event) {
37572
37531
  return withAgent(state, event.agentId, (a) => a ?? freshAgent(event.agentId), []);
37573
37532
  case "wake":
37574
37533
  return onWake(state, event.agentId, event.message);
37575
- case "spawned":
37534
+ case "spawned": {
37535
+ const existing = state.agents[event.agentId];
37536
+ if (!existing || existing.status !== "starting")
37537
+ return { state, effects: [] };
37538
+ const agent2 = clone2(existing);
37539
+ enterStable(agent2, "running");
37540
+ syncExecutionProjection(agent2);
37541
+ const mode = leaseIsWorking(agent2.execution.lease) || agent2.pendingAdmissions.length > 0 ? "busy" : "idle";
37542
+ const messages = drainInbox(agent2);
37543
+ return commit(state, agent2, messages.map((message2) => ({ type: "send", agentId: event.agentId, message: message2, mode })));
37544
+ }
37545
+ case "queue_delivery":
37576
37546
  return mutate(state, event.agentId, (a) => {
37577
- enterStable(a, "running");
37547
+ const queuedById = new Map(a.inbox.filter((message2) => message2.id).map((message2) => [message2.id, message2]));
37548
+ const restoredIds = new Set;
37549
+ const messages = event.messages.filter((message2) => {
37550
+ if (message2.id && restoredIds.has(message2.id))
37551
+ return false;
37552
+ if (message2.id)
37553
+ restoredIds.add(message2.id);
37554
+ return true;
37555
+ }).map((message2) => message2.id ? queuedById.get(message2.id) ?? message2 : message2);
37556
+ a.inbox = [...messages, ...a.inbox.filter((message2) => !message2.id || !restoredIds.has(message2.id))];
37578
37557
  syncExecutionProjection(a);
37558
+ a.idleSince = null;
37579
37559
  });
37580
37560
  case "backend_session":
37581
37561
  return mutate(state, event.agentId, (a) => {
@@ -37916,14 +37896,14 @@ function onTurnCompleted(state, agentId, sessionInstanceId, nowMs, turnId, endRe
37916
37896
  agent2.stalledSessionId = null;
37917
37897
  syncExecutionProjection(agent2);
37918
37898
  const clearEffects = clearedStallSessionId === null ? [] : [{ type: "clear_stall_recovery", agentId, sessionId: clearedStallSessionId }];
37919
- if (agent2.inbox.length > 0 && !agent2.resetting) {
37899
+ if (agent2.status === "running" && agent2.inbox.length > 0 && !agent2.resetting) {
37920
37900
  const messages = drainInbox(agent2);
37921
37901
  return commit(state, agent2, [
37922
37902
  ...clearEffects,
37923
37903
  ...messages.map((queued) => ({ type: "send", agentId, message: queued, mode: "idle" }))
37924
37904
  ]);
37925
37905
  }
37926
- agent2.idleSince = nowMs;
37906
+ agent2.idleSince = agent2.status === "running" && !agent2.resetting ? nowMs : null;
37927
37907
  return commit(state, agent2, clearEffects);
37928
37908
  }
37929
37909
  function onTurnToolLifecycle(state, event, lifecycle) {
@@ -39719,8 +39699,34 @@ class AgentProcessManager {
39719
39699
  }
39720
39700
  }
39721
39701
  }
39722
- for (const effect of effects)
39723
- this.applyEffect(effect);
39702
+ const completed = new Set;
39703
+ const deferSends = (agentId) => {
39704
+ const remaining = effects.filter((candidate) => candidate.type === "send" && !completed.has(candidate) && (agentId === undefined || candidate.agentId === agentId));
39705
+ for (const id3 of new Set(remaining.map((candidate) => candidate.agentId))) {
39706
+ const batch = remaining.filter((candidate) => candidate.agentId === id3);
39707
+ batch.forEach((candidate) => completed.add(candidate));
39708
+ this.dispatch({
39709
+ type: "queue_delivery",
39710
+ agentId: id3,
39711
+ messages: batch.map((candidate) => candidate.message)
39712
+ });
39713
+ }
39714
+ };
39715
+ try {
39716
+ for (const effect of effects) {
39717
+ if (completed.has(effect))
39718
+ continue;
39719
+ if (effect.type === "send" && !this.canSend(effect.agentId)) {
39720
+ deferSends(effect.agentId);
39721
+ continue;
39722
+ }
39723
+ this.applyEffect(effect);
39724
+ completed.add(effect);
39725
+ }
39726
+ } catch (error62) {
39727
+ deferSends();
39728
+ throw error62;
39729
+ }
39724
39730
  return effects;
39725
39731
  }
39726
39732
  deriveActivitySnapshot(state) {
@@ -39752,6 +39758,26 @@ ${this.opts.wakePromptFooter}` : text3;
39752
39758
  stampNow(text3) {
39753
39759
  return this.opts.stampWakePromptTime ? `[${nowLocalISO()}] ${text3}` : text3;
39754
39760
  }
39761
+ prepareDelivery(message2) {
39762
+ return {
39763
+ ...message2,
39764
+ preparedInput: message2.preparedInput ?? {
39765
+ id: message2.id,
39766
+ kind: "user",
39767
+ text: this.stampNow(this.withFooter(message2.text)),
39768
+ sequence: message2.seq
39769
+ }
39770
+ };
39771
+ }
39772
+ canSend(agentId) {
39773
+ const session2 = this.sessions.get(agentId);
39774
+ const owner = this.activeSpawnState.get(agentId);
39775
+ const agent2 = this.state.agents[agentId];
39776
+ if (!session2 || !owner || owner.session !== session2 || owner.torndown || owner.superseded || agent2?.status !== "running" || agent2.resetting || agent2.execution.sessionInstanceId !== session2.sessionInstanceId)
39777
+ return false;
39778
+ const driverState = session2.snapshot().state;
39779
+ return driverState !== "stopping" && driverState !== "closed";
39780
+ }
39755
39781
  beginPendingDelivery(owner, commandId, message2, mode, span, requeueOnFailure = true) {
39756
39782
  const sessionInstanceId = owner.sessionInstanceId;
39757
39783
  if (!sessionInstanceId || owner.pendingDeliverySpans.has(commandId))
@@ -39811,18 +39837,15 @@ ${this.opts.wakePromptFooter}` : text3;
39811
39837
  break;
39812
39838
  case "send": {
39813
39839
  const session2 = this.sessions.get(effect.agentId);
39814
- const input2 = {
39815
- id: effect.message.id,
39816
- kind: "user",
39817
- text: this.stampNow(this.withFooter(effect.message.text)),
39818
- sequence: effect.message.seq
39819
- };
39820
- if (session2) {
39840
+ if (session2 && this.canSend(effect.agentId)) {
39841
+ const message2 = this.prepareDelivery(effect.message);
39842
+ effect.message = message2;
39843
+ const input2 = message2.preparedInput;
39821
39844
  const owner = this.activeSpawnState.get(effect.agentId);
39822
39845
  const exactOwner = owner?.session === session2 ? owner : undefined;
39823
39846
  const associatedSpan = exactOwner ? effect.mode === "idle" ? this.openTurn(exactOwner) : exactOwner.activeSpan : null;
39824
39847
  if (exactOwner)
39825
- this.beginPendingDelivery(exactOwner, input2.id, effect.message, effect.mode, associatedSpan);
39848
+ this.beginPendingDelivery(exactOwner, input2.id, message2, effect.mode, associatedSpan);
39826
39849
  let sent;
39827
39850
  try {
39828
39851
  sent = session2.send(input2);
@@ -40031,9 +40054,11 @@ ${this.opts.wakePromptFooter}` : text3;
40031
40054
  this.log.info("agent session ended", { agentId, sessionId, reason });
40032
40055
  }
40033
40056
  doSpawn(agentId, messages, resumeSessionId) {
40034
- const [first, ...pending] = messages;
40035
- if (!first)
40057
+ const [initial, ...pending] = messages;
40058
+ if (!initial)
40036
40059
  throw new Error(`AgentProcessManager: spawn for ${agentId} has no command`);
40060
+ this.dispatch({ type: "queue_delivery", agentId, messages: pending });
40061
+ const first = this.prepareDelivery(initial);
40037
40062
  const prompt = this.withFooter(first.text);
40038
40063
  const driver = this.opts.driverFor(agentId, this.runtimeConfigs.get(agentId));
40039
40064
  this.liveBackendIds.set(agentId, driver.id);
@@ -40237,12 +40262,7 @@ ${this.opts.wakePromptFooter}` : text3;
40237
40262
  this.beginPendingDelivery(state, commandId, first, "idle", startedSpan, false);
40238
40263
  let startResult;
40239
40264
  try {
40240
- startResult = session2.start({
40241
- id: commandId,
40242
- kind: "user",
40243
- text: this.stampNow(prompt),
40244
- sequence: first.seq
40245
- });
40265
+ startResult = session2.start(first.preparedInput);
40246
40266
  this.markPendingDeliveryObserved(state, commandId);
40247
40267
  } catch (error62) {
40248
40268
  this.settlePendingDelivery(state, commandId);
@@ -40250,7 +40270,7 @@ ${this.opts.wakePromptFooter}` : text3;
40250
40270
  throw error62;
40251
40271
  }
40252
40272
  startResult.then((receipt) => {
40253
- if (this.sessions.get(agentId) !== session2 || state.torndown)
40273
+ if (this.sessions.get(agentId) !== session2 || state.torndown || state.superseded || this.activeSpawnState.get(agentId) !== state)
40254
40274
  return;
40255
40275
  if (receipt?.status === "rejected") {
40256
40276
  this.settlePendingDelivery(state, commandId);
@@ -40259,44 +40279,16 @@ ${this.opts.wakePromptFooter}` : text3;
40259
40279
  session2.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
40260
40280
  return;
40261
40281
  }
40262
- this.dispatch({ type: "spawned", agentId, nowMs: this.now() }, state);
40263
- (async () => {
40264
- for (const message2 of pending) {
40265
- if (state.torndown || this.sessions.get(agentId) !== session2 || this.activeSpawnState.get(agentId) !== state) {
40266
- return;
40267
- }
40268
- this.beginPendingDelivery(state, message2.id, message2, "busy", state.activeSpan);
40269
- let queuedReceipt;
40270
- try {
40271
- const queuedResult = session2.send({
40272
- id: message2.id,
40273
- kind: "user",
40274
- text: this.stampNow(this.withFooter(message2.text)),
40275
- sequence: message2.seq
40276
- });
40277
- this.markPendingDeliveryObserved(state, message2.id);
40278
- queuedReceipt = await queuedResult;
40279
- } catch (error62) {
40280
- this.settlePendingDelivery(state, message2.id);
40281
- if (!state.torndown && this.sessions.get(agentId) === session2 && this.activeSpawnState.get(agentId) === state) {
40282
- this.emitErrorAudit(agentId, "runtime", "send_failed", String(error62));
40283
- session2.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
40284
- }
40285
- return;
40286
- }
40287
- if (state.torndown || this.sessions.get(agentId) !== session2 || this.activeSpawnState.get(agentId) !== state) {
40288
- return;
40289
- }
40290
- if (queuedReceipt.status === "rejected") {
40291
- if (!state.pendingDeliverySpans.has(message2.id))
40292
- return;
40293
- this.settlePendingDelivery(state, message2.id);
40294
- this.emitErrorAudit(agentId, "runtime", queuedReceipt.error?.code ?? queuedReceipt.reason, queuedReceipt.error?.message ?? `Delivery rejected (${queuedReceipt.reason})`);
40295
- session2.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
40296
- return;
40297
- }
40298
- }
40299
- })().catch((error62) => this.emitErrorAudit(agentId, "runtime", "send_failed", String(error62)));
40282
+ const driverState = session2.snapshot().state;
40283
+ if (this.state.agents[agentId]?.status !== "starting" || driverState === "stopping" || driverState === "closed")
40284
+ return;
40285
+ try {
40286
+ this.dispatch({ type: "spawned", agentId, nowMs: this.now() }, state);
40287
+ } catch (error62) {
40288
+ this.emitErrorAudit(agentId, "runtime", "send_failed", String(error62));
40289
+ session2.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
40290
+ return;
40291
+ }
40300
40292
  if (state.hasEstablished || state.hasReportedSpawnFailure)
40301
40293
  return;
40302
40294
  state.handshakeTimer = setTimeout(() => {
package/dist/index.js CHANGED
@@ -8173,15 +8173,14 @@ function createPiSessionDependencies(ctx, loadSdk = loadPiSdkModule) {
8173
8173
  },
8174
8174
  async createAgentSession(opts) {
8175
8175
  const sdk = await loadSdk();
8176
- const authStorage = sdk.AuthStorage.create();
8176
+ const modelRuntime = await sdk.ModelRuntime.create();
8177
8177
  const runtimeConfig = ctx.config.runtimeConfig;
8178
8178
  const provider = runtimeConfig && "provider" in runtimeConfig ? runtimeConfig.provider : undefined;
8179
8179
  if (provider?.kind === "builtin") {
8180
- authStorage.setRuntimeApiKey(provider.providerId, provider.apiKey);
8180
+ await modelRuntime.setRuntimeApiKey(provider.providerId, provider.apiKey);
8181
8181
  }
8182
- const modelRegistry = sdk.ModelRegistry.create(authStorage);
8183
8182
  const parsed = parseModelString(opts.model);
8184
- const model = parsed ? modelRegistry.find(parsed.provider, parsed.id) : undefined;
8183
+ const model = parsed ? modelRuntime.getModel(parsed.provider, parsed.id) : undefined;
8185
8184
  const cwd = opts.cwd;
8186
8185
  const requestedSessionId = opts.sessionId;
8187
8186
  let sessionManager;
@@ -8200,8 +8199,7 @@ function createPiSessionDependencies(ctx, loadSdk = loadPiSdkModule) {
8200
8199
  cwd,
8201
8200
  model,
8202
8201
  thinkingLevel: opts.thinkingLevel,
8203
- authStorage,
8204
- modelRegistry,
8202
+ modelRuntime,
8205
8203
  sessionManager,
8206
8204
  customTools: [bashTool]
8207
8205
  });
@@ -8436,9 +8434,8 @@ class PiDriver {
8436
8434
  try {
8437
8435
  const reasoning = await Promise.race([
8438
8436
  this.loadSdk().then(async (sdk) => {
8439
- const authStorage = sdk.AuthStorage.create();
8440
- const registry = sdk.ModelRegistry.create(authStorage);
8441
- return parsePiModelCatalog(await registry.getAvailable());
8437
+ const modelRuntime = await sdk.ModelRuntime.create();
8438
+ return parsePiModelCatalog(await modelRuntime.getAvailable());
8442
8439
  }),
8443
8440
  new Promise((resolve4) => {
8444
8441
  timer = setTimeout(() => resolve4(undefined), PI_MODEL_PROBE_TIMEOUT_MS);
@@ -11565,10 +11562,31 @@ function reduceManager(state, event) {
11565
11562
  return withAgent(state, event.agentId, (a) => a ?? freshAgent(event.agentId), []);
11566
11563
  case "wake":
11567
11564
  return onWake(state, event.agentId, event.message);
11568
- case "spawned":
11565
+ case "spawned": {
11566
+ const existing = state.agents[event.agentId];
11567
+ if (!existing || existing.status !== "starting")
11568
+ return { state, effects: [] };
11569
+ const agent = clone(existing);
11570
+ enterStable(agent, "running");
11571
+ syncExecutionProjection(agent);
11572
+ const mode = leaseIsWorking(agent.execution.lease) || agent.pendingAdmissions.length > 0 ? "busy" : "idle";
11573
+ const messages = drainInbox(agent);
11574
+ return commit(state, agent, messages.map((message) => ({ type: "send", agentId: event.agentId, message, mode })));
11575
+ }
11576
+ case "queue_delivery":
11569
11577
  return mutate(state, event.agentId, (a) => {
11570
- enterStable(a, "running");
11578
+ const queuedById = new Map(a.inbox.filter((message) => message.id).map((message) => [message.id, message]));
11579
+ const restoredIds = new Set;
11580
+ const messages = event.messages.filter((message) => {
11581
+ if (message.id && restoredIds.has(message.id))
11582
+ return false;
11583
+ if (message.id)
11584
+ restoredIds.add(message.id);
11585
+ return true;
11586
+ }).map((message) => message.id ? queuedById.get(message.id) ?? message : message);
11587
+ a.inbox = [...messages, ...a.inbox.filter((message) => !message.id || !restoredIds.has(message.id))];
11571
11588
  syncExecutionProjection(a);
11589
+ a.idleSince = null;
11572
11590
  });
11573
11591
  case "backend_session":
11574
11592
  return mutate(state, event.agentId, (a) => {
@@ -11909,14 +11927,14 @@ function onTurnCompleted(state, agentId, sessionInstanceId, nowMs, turnId, endRe
11909
11927
  agent.stalledSessionId = null;
11910
11928
  syncExecutionProjection(agent);
11911
11929
  const clearEffects = clearedStallSessionId === null ? [] : [{ type: "clear_stall_recovery", agentId, sessionId: clearedStallSessionId }];
11912
- if (agent.inbox.length > 0 && !agent.resetting) {
11930
+ if (agent.status === "running" && agent.inbox.length > 0 && !agent.resetting) {
11913
11931
  const messages = drainInbox(agent);
11914
11932
  return commit(state, agent, [
11915
11933
  ...clearEffects,
11916
11934
  ...messages.map((queued) => ({ type: "send", agentId, message: queued, mode: "idle" }))
11917
11935
  ]);
11918
11936
  }
11919
- agent.idleSince = nowMs;
11937
+ agent.idleSince = agent.status === "running" && !agent.resetting ? nowMs : null;
11920
11938
  return commit(state, agent, clearEffects);
11921
11939
  }
11922
11940
  function onTurnToolLifecycle(state, event, lifecycle) {
@@ -13440,8 +13458,34 @@ class AgentProcessManager {
13440
13458
  }
13441
13459
  }
13442
13460
  }
13443
- for (const effect of effects)
13444
- this.applyEffect(effect);
13461
+ const completed = new Set;
13462
+ const deferSends = (agentId) => {
13463
+ const remaining = effects.filter((candidate) => candidate.type === "send" && !completed.has(candidate) && (agentId === undefined || candidate.agentId === agentId));
13464
+ for (const id of new Set(remaining.map((candidate) => candidate.agentId))) {
13465
+ const batch = remaining.filter((candidate) => candidate.agentId === id);
13466
+ batch.forEach((candidate) => completed.add(candidate));
13467
+ this.dispatch({
13468
+ type: "queue_delivery",
13469
+ agentId: id,
13470
+ messages: batch.map((candidate) => candidate.message)
13471
+ });
13472
+ }
13473
+ };
13474
+ try {
13475
+ for (const effect of effects) {
13476
+ if (completed.has(effect))
13477
+ continue;
13478
+ if (effect.type === "send" && !this.canSend(effect.agentId)) {
13479
+ deferSends(effect.agentId);
13480
+ continue;
13481
+ }
13482
+ this.applyEffect(effect);
13483
+ completed.add(effect);
13484
+ }
13485
+ } catch (error) {
13486
+ deferSends();
13487
+ throw error;
13488
+ }
13445
13489
  return effects;
13446
13490
  }
13447
13491
  deriveActivitySnapshot(state) {
@@ -13473,6 +13517,26 @@ ${this.opts.wakePromptFooter}` : text2;
13473
13517
  stampNow(text2) {
13474
13518
  return this.opts.stampWakePromptTime ? `[${nowLocalISO()}] ${text2}` : text2;
13475
13519
  }
13520
+ prepareDelivery(message) {
13521
+ return {
13522
+ ...message,
13523
+ preparedInput: message.preparedInput ?? {
13524
+ id: message.id,
13525
+ kind: "user",
13526
+ text: this.stampNow(this.withFooter(message.text)),
13527
+ sequence: message.seq
13528
+ }
13529
+ };
13530
+ }
13531
+ canSend(agentId) {
13532
+ const session = this.sessions.get(agentId);
13533
+ const owner = this.activeSpawnState.get(agentId);
13534
+ const agent = this.state.agents[agentId];
13535
+ if (!session || !owner || owner.session !== session || owner.torndown || owner.superseded || agent?.status !== "running" || agent.resetting || agent.execution.sessionInstanceId !== session.sessionInstanceId)
13536
+ return false;
13537
+ const driverState = session.snapshot().state;
13538
+ return driverState !== "stopping" && driverState !== "closed";
13539
+ }
13476
13540
  beginPendingDelivery(owner, commandId, message, mode, span, requeueOnFailure = true) {
13477
13541
  const sessionInstanceId = owner.sessionInstanceId;
13478
13542
  if (!sessionInstanceId || owner.pendingDeliverySpans.has(commandId))
@@ -13532,18 +13596,15 @@ ${this.opts.wakePromptFooter}` : text2;
13532
13596
  break;
13533
13597
  case "send": {
13534
13598
  const session = this.sessions.get(effect.agentId);
13535
- const input = {
13536
- id: effect.message.id,
13537
- kind: "user",
13538
- text: this.stampNow(this.withFooter(effect.message.text)),
13539
- sequence: effect.message.seq
13540
- };
13541
- if (session) {
13599
+ if (session && this.canSend(effect.agentId)) {
13600
+ const message = this.prepareDelivery(effect.message);
13601
+ effect.message = message;
13602
+ const input = message.preparedInput;
13542
13603
  const owner = this.activeSpawnState.get(effect.agentId);
13543
13604
  const exactOwner = owner?.session === session ? owner : undefined;
13544
13605
  const associatedSpan = exactOwner ? effect.mode === "idle" ? this.openTurn(exactOwner) : exactOwner.activeSpan : null;
13545
13606
  if (exactOwner)
13546
- this.beginPendingDelivery(exactOwner, input.id, effect.message, effect.mode, associatedSpan);
13607
+ this.beginPendingDelivery(exactOwner, input.id, message, effect.mode, associatedSpan);
13547
13608
  let sent;
13548
13609
  try {
13549
13610
  sent = session.send(input);
@@ -13752,9 +13813,11 @@ ${this.opts.wakePromptFooter}` : text2;
13752
13813
  this.log.info("agent session ended", { agentId, sessionId, reason });
13753
13814
  }
13754
13815
  doSpawn(agentId, messages, resumeSessionId) {
13755
- const [first, ...pending] = messages;
13756
- if (!first)
13816
+ const [initial, ...pending] = messages;
13817
+ if (!initial)
13757
13818
  throw new Error(`AgentProcessManager: spawn for ${agentId} has no command`);
13819
+ this.dispatch({ type: "queue_delivery", agentId, messages: pending });
13820
+ const first = this.prepareDelivery(initial);
13758
13821
  const prompt = this.withFooter(first.text);
13759
13822
  const driver = this.opts.driverFor(agentId, this.runtimeConfigs.get(agentId));
13760
13823
  this.liveBackendIds.set(agentId, driver.id);
@@ -13958,12 +14021,7 @@ ${this.opts.wakePromptFooter}` : text2;
13958
14021
  this.beginPendingDelivery(state, commandId, first, "idle", startedSpan, false);
13959
14022
  let startResult;
13960
14023
  try {
13961
- startResult = session.start({
13962
- id: commandId,
13963
- kind: "user",
13964
- text: this.stampNow(prompt),
13965
- sequence: first.seq
13966
- });
14024
+ startResult = session.start(first.preparedInput);
13967
14025
  this.markPendingDeliveryObserved(state, commandId);
13968
14026
  } catch (error) {
13969
14027
  this.settlePendingDelivery(state, commandId);
@@ -13971,7 +14029,7 @@ ${this.opts.wakePromptFooter}` : text2;
13971
14029
  throw error;
13972
14030
  }
13973
14031
  startResult.then((receipt) => {
13974
- if (this.sessions.get(agentId) !== session || state.torndown)
14032
+ if (this.sessions.get(agentId) !== session || state.torndown || state.superseded || this.activeSpawnState.get(agentId) !== state)
13975
14033
  return;
13976
14034
  if (receipt?.status === "rejected") {
13977
14035
  this.settlePendingDelivery(state, commandId);
@@ -13980,44 +14038,16 @@ ${this.opts.wakePromptFooter}` : text2;
13980
14038
  session.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
13981
14039
  return;
13982
14040
  }
13983
- this.dispatch({ type: "spawned", agentId, nowMs: this.now() }, state);
13984
- (async () => {
13985
- for (const message of pending) {
13986
- if (state.torndown || this.sessions.get(agentId) !== session || this.activeSpawnState.get(agentId) !== state) {
13987
- return;
13988
- }
13989
- this.beginPendingDelivery(state, message.id, message, "busy", state.activeSpan);
13990
- let queuedReceipt;
13991
- try {
13992
- const queuedResult = session.send({
13993
- id: message.id,
13994
- kind: "user",
13995
- text: this.stampNow(this.withFooter(message.text)),
13996
- sequence: message.seq
13997
- });
13998
- this.markPendingDeliveryObserved(state, message.id);
13999
- queuedReceipt = await queuedResult;
14000
- } catch (error) {
14001
- this.settlePendingDelivery(state, message.id);
14002
- if (!state.torndown && this.sessions.get(agentId) === session && this.activeSpawnState.get(agentId) === state) {
14003
- this.emitErrorAudit(agentId, "runtime", "send_failed", String(error));
14004
- session.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
14005
- }
14006
- return;
14007
- }
14008
- if (state.torndown || this.sessions.get(agentId) !== session || this.activeSpawnState.get(agentId) !== state) {
14009
- return;
14010
- }
14011
- if (queuedReceipt.status === "rejected") {
14012
- if (!state.pendingDeliverySpans.has(message.id))
14013
- return;
14014
- this.settlePendingDelivery(state, message.id);
14015
- this.emitErrorAudit(agentId, "runtime", queuedReceipt.error?.code ?? queuedReceipt.reason, queuedReceipt.error?.message ?? `Delivery rejected (${queuedReceipt.reason})`);
14016
- session.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
14017
- return;
14018
- }
14019
- }
14020
- })().catch((error) => this.emitErrorAudit(agentId, "runtime", "send_failed", String(error)));
14041
+ const driverState = session.snapshot().state;
14042
+ if (this.state.agents[agentId]?.status !== "starting" || driverState === "stopping" || driverState === "closed")
14043
+ return;
14044
+ try {
14045
+ this.dispatch({ type: "spawned", agentId, nowMs: this.now() }, state);
14046
+ } catch (error) {
14047
+ this.emitErrorAudit(agentId, "runtime", "send_failed", String(error));
14048
+ session.stop({ reason: "shutdown", forceAfterMs: SESSION_STOP_GRACE_MS2 });
14049
+ return;
14050
+ }
14021
14051
  if (state.hasEstablished || state.hasReportedSpawnFailure)
14022
14052
  return;
14023
14053
  state.handshakeTimer = setTimeout(() => {
@@ -33725,7 +33755,7 @@ __export(exports_community_machine_schema, {
33725
33755
  DIAGNOSTIC_REPORT_FAILURE_CODES: () => DIAGNOSTIC_REPORT_FAILURE_CODES
33726
33756
  });
33727
33757
 
33728
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/entity.js
33758
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/entity.js
33729
33759
  var entityKind = Symbol.for("drizzle:entityKind");
33730
33760
  var hasOwnEntityKind = Symbol.for("drizzle:hasOwnEntityKind");
33731
33761
  function is(value, type) {
@@ -33750,7 +33780,7 @@ function is(value, type) {
33750
33780
  return false;
33751
33781
  }
33752
33782
 
33753
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/column.js
33783
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/column.js
33754
33784
  class Column {
33755
33785
  constructor(table, config2) {
33756
33786
  this.table = table;
@@ -33800,7 +33830,7 @@ class Column {
33800
33830
  }
33801
33831
  }
33802
33832
 
33803
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/column-builder.js
33833
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/column-builder.js
33804
33834
  class ColumnBuilder {
33805
33835
  static [entityKind] = "ColumnBuilder";
33806
33836
  config;
@@ -33856,20 +33886,20 @@ class ColumnBuilder {
33856
33886
  }
33857
33887
  }
33858
33888
 
33859
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/table.utils.js
33889
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/table.utils.js
33860
33890
  var TableName = Symbol.for("drizzle:Name");
33861
33891
 
33862
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/tracing-utils.js
33892
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/tracing-utils.js
33863
33893
  function iife(fn, ...args) {
33864
33894
  return fn(...args);
33865
33895
  }
33866
33896
 
33867
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/pg-core/unique-constraint.js
33897
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/pg-core/unique-constraint.js
33868
33898
  function uniqueKeyName(table, columns) {
33869
33899
  return `${table[TableName]}_${columns.join("_")}_unique`;
33870
33900
  }
33871
33901
 
33872
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/pg-core/columns/common.js
33902
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/pg-core/columns/common.js
33873
33903
  class PgColumn extends Column {
33874
33904
  constructor(table, config2) {
33875
33905
  if (!config2.uniqueName) {
@@ -33918,7 +33948,7 @@ class ExtraConfigColumn extends PgColumn {
33918
33948
  }
33919
33949
  }
33920
33950
 
33921
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/pg-core/columns/enum.js
33951
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/pg-core/columns/enum.js
33922
33952
  class PgEnumObjectColumn extends PgColumn {
33923
33953
  static [entityKind] = "PgEnumObjectColumn";
33924
33954
  enum;
@@ -33948,7 +33978,7 @@ class PgEnumColumn extends PgColumn {
33948
33978
  }
33949
33979
  }
33950
33980
 
33951
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/subquery.js
33981
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/subquery.js
33952
33982
  class Subquery {
33953
33983
  static [entityKind] = "Subquery";
33954
33984
  constructor(sql, fields2, alias, isWith = false, usedTables = []) {
@@ -33963,10 +33993,10 @@ class Subquery {
33963
33993
  }
33964
33994
  }
33965
33995
 
33966
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/version.js
33967
- var version2 = "0.45.3";
33996
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/version.js
33997
+ var version2 = "0.45.4";
33968
33998
 
33969
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/tracing.js
33999
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/tracing.js
33970
34000
  var otel;
33971
34001
  var rawTracer;
33972
34002
  var tracer = {
@@ -33993,10 +34023,10 @@ var tracer = {
33993
34023
  }
33994
34024
  };
33995
34025
 
33996
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/view-common.js
34026
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/view-common.js
33997
34027
  var ViewBaseConfig = Symbol.for("drizzle:ViewBaseConfig");
33998
34028
 
33999
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/table.js
34029
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/table.js
34000
34030
  var Schema = Symbol.for("drizzle:Schema");
34001
34031
  var Columns = Symbol.for("drizzle:Columns");
34002
34032
  var ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");
@@ -34034,7 +34064,7 @@ class Table {
34034
34064
  }
34035
34065
  }
34036
34066
 
34037
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sql/sql.js
34067
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sql/sql.js
34038
34068
  function isSQLWrapper(value) {
34039
34069
  return value !== null && value !== undefined && typeof value.getSQL === "function";
34040
34070
  }
@@ -34397,7 +34427,7 @@ Subquery.prototype.getSQL = function() {
34397
34427
  return new SQL([this]);
34398
34428
  };
34399
34429
 
34400
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/alias.js
34430
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/alias.js
34401
34431
  class ColumnAliasProxyHandler {
34402
34432
  constructor(table) {
34403
34433
  this.table = table;
@@ -34453,12 +34483,12 @@ class TableAliasProxyHandler {
34453
34483
  }
34454
34484
  }
34455
34485
 
34456
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/alias.js
34486
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/alias.js
34457
34487
  function alias(table, alias2) {
34458
34488
  return new Proxy(table, new TableAliasProxyHandler(alias2, false));
34459
34489
  }
34460
34490
 
34461
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/checks.js
34491
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/checks.js
34462
34492
  class CheckBuilder {
34463
34493
  constructor(name, value) {
34464
34494
  this.name = name;
@@ -34485,7 +34515,7 @@ function check2(name, value) {
34485
34515
  return new CheckBuilder(name, value);
34486
34516
  }
34487
34517
 
34488
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/utils.js
34518
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/utils.js
34489
34519
  function getColumnNameAndConfig(a, b) {
34490
34520
  return {
34491
34521
  name: typeof a === "string" && a.length > 0 ? a : "",
@@ -34494,7 +34524,7 @@ function getColumnNameAndConfig(a, b) {
34494
34524
  }
34495
34525
  var textDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder;
34496
34526
 
34497
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
34527
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
34498
34528
  class ForeignKeyBuilder {
34499
34529
  static [entityKind] = "SQLiteForeignKeyBuilder";
34500
34530
  reference;
@@ -34562,7 +34592,7 @@ function foreignKey(config2) {
34562
34592
  return new ForeignKeyBuilder(mappedConfig);
34563
34593
  }
34564
34594
 
34565
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
34595
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
34566
34596
  function uniqueKeyName2(table, columns) {
34567
34597
  return `${table[TableName]}_${columns.join("_")}_unique`;
34568
34598
  }
@@ -34607,7 +34637,7 @@ class UniqueConstraint {
34607
34637
  }
34608
34638
  }
34609
34639
 
34610
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/common.js
34640
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/common.js
34611
34641
  class SQLiteColumnBuilder extends ColumnBuilder {
34612
34642
  static [entityKind] = "SQLiteColumnBuilder";
34613
34643
  foreignKeyConfigs = [];
@@ -34658,7 +34688,7 @@ class SQLiteColumn extends Column {
34658
34688
  static [entityKind] = "SQLiteColumn";
34659
34689
  }
34660
34690
 
34661
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/blob.js
34691
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/blob.js
34662
34692
  class SQLiteBigIntBuilder extends SQLiteColumnBuilder {
34663
34693
  static [entityKind] = "SQLiteBigIntBuilder";
34664
34694
  constructor(name) {
@@ -34746,7 +34776,7 @@ function blob(a, b) {
34746
34776
  return new SQLiteBlobBufferBuilder(name);
34747
34777
  }
34748
34778
 
34749
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/custom.js
34779
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/custom.js
34750
34780
  class SQLiteCustomColumnBuilder extends SQLiteColumnBuilder {
34751
34781
  static [entityKind] = "SQLiteCustomColumnBuilder";
34752
34782
  constructor(name, fieldConfig, customTypeParams) {
@@ -34787,7 +34817,7 @@ function customType(customTypeParams) {
34787
34817
  };
34788
34818
  }
34789
34819
 
34790
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/integer.js
34820
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/integer.js
34791
34821
  class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {
34792
34822
  static [entityKind] = "SQLiteBaseIntegerBuilder";
34793
34823
  constructor(name, dataType, columnType) {
@@ -34889,7 +34919,7 @@ function integer2(a, b) {
34889
34919
  return new SQLiteIntegerBuilder(name);
34890
34920
  }
34891
34921
 
34892
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
34922
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
34893
34923
  class SQLiteNumericBuilder extends SQLiteColumnBuilder {
34894
34924
  static [entityKind] = "SQLiteNumericBuilder";
34895
34925
  constructor(name) {
@@ -34959,7 +34989,7 @@ function numeric(a, b) {
34959
34989
  return mode === "number" ? new SQLiteNumericNumberBuilder(name) : mode === "bigint" ? new SQLiteNumericBigIntBuilder(name) : new SQLiteNumericBuilder(name);
34960
34990
  }
34961
34991
 
34962
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/real.js
34992
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/real.js
34963
34993
  class SQLiteRealBuilder extends SQLiteColumnBuilder {
34964
34994
  static [entityKind] = "SQLiteRealBuilder";
34965
34995
  constructor(name) {
@@ -34980,7 +35010,7 @@ function real(name) {
34980
35010
  return new SQLiteRealBuilder(name ?? "");
34981
35011
  }
34982
35012
 
34983
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/text.js
35013
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/text.js
34984
35014
  class SQLiteTextBuilder extends SQLiteColumnBuilder {
34985
35015
  static [entityKind] = "SQLiteTextBuilder";
34986
35016
  constructor(name, config2) {
@@ -35035,7 +35065,7 @@ function text2(a, b = {}) {
35035
35065
  return new SQLiteTextBuilder(name, config2);
35036
35066
  }
35037
35067
 
35038
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/columns/all.js
35068
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/columns/all.js
35039
35069
  function getSQLiteColumnBuilders() {
35040
35070
  return {
35041
35071
  blob,
@@ -35047,7 +35077,7 @@ function getSQLiteColumnBuilders() {
35047
35077
  };
35048
35078
  }
35049
35079
 
35050
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/table.js
35080
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/table.js
35051
35081
  var InlineForeignKeys = Symbol.for("drizzle:SQLiteInlineForeignKeys");
35052
35082
 
35053
35083
  class SQLiteTable extends Table {
@@ -35081,7 +35111,7 @@ var sqliteTable = (name, columns, extraConfig) => {
35081
35111
  return sqliteTableBase(name, columns, extraConfig);
35082
35112
  };
35083
35113
 
35084
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/indexes.js
35114
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/indexes.js
35085
35115
  class IndexBuilderOn {
35086
35116
  constructor(name, unique2) {
35087
35117
  this.name = name;
@@ -35127,7 +35157,7 @@ function uniqueIndex(name) {
35127
35157
  return new IndexBuilderOn(name, true);
35128
35158
  }
35129
35159
 
35130
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sqlite-core/primary-keys.js
35160
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sqlite-core/primary-keys.js
35131
35161
  function primaryKey(...config2) {
35132
35162
  if (config2[0].columns) {
35133
35163
  return new PrimaryKeyBuilder(config2[0].columns, config2[0].name);
@@ -35162,7 +35192,7 @@ class PrimaryKey {
35162
35192
  }
35163
35193
  }
35164
35194
 
35165
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sql/expressions/conditions.js
35195
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sql/expressions/conditions.js
35166
35196
  function bindIfParam(value, column) {
35167
35197
  if (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) {
35168
35198
  return new Param(value, column);
@@ -35190,7 +35220,7 @@ function isNotNull(value) {
35190
35220
  return sql`${value} is not null`;
35191
35221
  }
35192
35222
 
35193
- // ../../node_modules/.pnpm/drizzle-orm@0.45.3_@cloudflare+workers-types@5.20261002.1_@opentelemetry+api@1.9.1_@typ_63527d4415342e3b436227e1d40bc1bd/node_modules/drizzle-orm/sql/expressions/select.js
35223
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.4_@cloudflare+workers-types@5.20261009.1_@opentelemetry+api@1.9.1_@typ_2c5bdbc2e285e95e03f6fc3b5df79b2b/node_modules/drizzle-orm/sql/expressions/select.js
35194
35224
  function desc(column) {
35195
35225
  return sql`${column} desc`;
35196
35226
  }
@@ -40386,46 +40416,8 @@ var communityFunnelAnalyticsEvent = sqliteTable("community_funnel_analytics_even
40386
40416
  index("idx_community_funnel_analytics_owner_claimed_created").on(t.ownerUserId, t.claimedAt, t.createdAt)
40387
40417
  ]);
40388
40418
 
40389
- // ../shared/src/db/product-analytics-schema.ts
40390
- var exports_product_analytics_schema = {};
40391
- __export(exports_product_analytics_schema, {
40392
- productAnalyticsEvent: () => productAnalyticsEvent,
40393
- PRODUCT_ANALYTICS_EVENTS: () => PRODUCT_ANALYTICS_EVENTS
40394
- });
40395
- var PRODUCT_ANALYTICS_EVENTS = [
40396
- "landing_cta_clicked",
40397
- "login_page_view",
40398
- "sign_up",
40399
- "sign_in_success",
40400
- "sign_in_failed",
40401
- "onboarding_enter_clicked",
40402
- "onboarding_first_message",
40403
- "invitation_link_visit"
40404
- ];
40405
- var productAnalyticsEvent = sqliteTable("product_analytics_event", {
40406
- id: text2("id").primaryKey(),
40407
- eventName: text2("event_name").notNull().$type(),
40408
- actorUserId: text2("actor_user_id").references(() => user.id, { onDelete: "cascade" }),
40409
- serverId: text2("server_id").references(() => communityServer.id, { onDelete: "cascade" }),
40410
- sourceId: text2("source_id"),
40411
- dedupeKey: text2("dedupe_key").notNull(),
40412
- clientId: text2("client_id").notNull(),
40413
- sessionId: text2("session_id").notNull(),
40414
- method: text2("method"),
40415
- accountKind: text2("account_kind").$type(),
40416
- ctaName: text2("cta_name"),
40417
- failureStage: text2("failure_stage").$type(),
40418
- createdAt: text2("created_at").notNull(),
40419
- deliveryStatus: text2("delivery_status").notNull().default("pending").$type(),
40420
- deliveryReason: text2("delivery_reason"),
40421
- attemptedAt: text2("attempted_at")
40422
- }, (t) => [
40423
- uniqueIndex("uq_product_analytics_dedupe").on(t.dedupeKey),
40424
- index("idx_product_analytics_actor_server_event").on(t.actorUserId, t.serverId, t.eventName)
40425
- ]);
40426
-
40427
40419
  // ../shared/src/db/index.ts
40428
- var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema, ...exports_product_plan_schema, ...exports_billing_schema, ...exports_community_funnel_analytics_schema, ...exports_product_analytics_schema };
40420
+ var allSchema = { ...exports_schema, ...exports_community_schema, ...exports_community_machine_schema, ...exports_product_plan_schema, ...exports_billing_schema, ...exports_community_funnel_analytics_schema };
40429
40421
  // ../shared/src/community-server-rail.ts
40430
40422
  var MAX_SERVER_RAIL_COMMANDS = 3;
40431
40423
  var idSchema = exports_external.string().trim().min(1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alook/daemon",
3
- "version": "0.1.49",
3
+ "version": "0.1.50",
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",
@@ -61,7 +61,7 @@
61
61
  "eslint": "^9.39.5",
62
62
  "tsx": "^4.23.15",
63
63
  "typescript": "^6.0.3",
64
- "typescript-eslint": "^8.71.0",
64
+ "typescript-eslint": "^8.71.1",
65
65
  "vitest": "4.1.11"
66
66
  }
67
67
  }