@lambdacurry/arbor 0.22.1 → 0.22.3

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 (2) hide show
  1. package/dist/arbor.js +125 -57
  2. package/package.json +2 -2
package/dist/arbor.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // package.json
3
3
  var package_default = {
4
4
  name: "@lambdacurry/arbor",
5
- version: "0.22.1",
5
+ version: "0.22.3",
6
6
  description: "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
7
7
  keywords: [
8
8
  "agents",
@@ -42,7 +42,7 @@ var package_default = {
42
42
  "just-bash": "3.4.2",
43
43
  tsx: "^4.20.6",
44
44
  typescript: "^5.8.0",
45
- vitest: "^4.1.4",
45
+ vitest: "^4.1.10",
46
46
  zod: "^4.4.3"
47
47
  },
48
48
  engines: {
@@ -4950,7 +4950,7 @@ var ERROR_REASONS = new Set([
4950
4950
  "provider.failure",
4951
4951
  "internal"
4952
4952
  ]);
4953
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/entity.js
4953
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/entity.js
4954
4954
  var entityKind = Symbol.for("drizzle:entityKind");
4955
4955
  var hasOwnEntityKind = Symbol.for("drizzle:hasOwnEntityKind");
4956
4956
  function is(value, type) {
@@ -4975,7 +4975,7 @@ function is(value, type) {
4975
4975
  return false;
4976
4976
  }
4977
4977
 
4978
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/column.js
4978
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/column.js
4979
4979
  class Column {
4980
4980
  constructor(table, config) {
4981
4981
  this.table = table;
@@ -5025,7 +5025,7 @@ class Column {
5025
5025
  }
5026
5026
  }
5027
5027
 
5028
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/column-builder.js
5028
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/column-builder.js
5029
5029
  class ColumnBuilder {
5030
5030
  static [entityKind] = "ColumnBuilder";
5031
5031
  config;
@@ -5081,38 +5081,39 @@ class ColumnBuilder {
5081
5081
  }
5082
5082
  }
5083
5083
 
5084
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/table.utils.js
5084
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/table.utils.js
5085
5085
  var TableName = Symbol.for("drizzle:Name");
5086
5086
 
5087
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/tracing-utils.js
5087
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/tracing-utils.js
5088
5088
  function iife(fn, ...args) {
5089
5089
  return fn(...args);
5090
5090
  }
5091
5091
 
5092
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/pg-core/columns/enum.js
5092
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/pg-core/columns/enum.js
5093
5093
  var isPgEnumSym = Symbol.for("drizzle:isPgEnum");
5094
5094
  function isPgEnum(obj) {
5095
5095
  return !!obj && typeof obj === "function" && isPgEnumSym in obj && obj[isPgEnumSym] === true;
5096
5096
  }
5097
5097
 
5098
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/subquery.js
5098
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/subquery.js
5099
5099
  class Subquery {
5100
5100
  static [entityKind] = "Subquery";
5101
- constructor(sql, selection, alias, isWith = false) {
5101
+ constructor(sql, fields, alias, isWith = false, usedTables = []) {
5102
5102
  this._ = {
5103
5103
  brand: "Subquery",
5104
5104
  sql,
5105
- selectedFields: selection,
5105
+ selectedFields: fields,
5106
5106
  alias,
5107
- isWith
5107
+ isWith,
5108
+ usedTables
5108
5109
  };
5109
5110
  }
5110
5111
  }
5111
5112
 
5112
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/version.js
5113
- var version2 = "0.38.4";
5113
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/version.js
5114
+ var version2 = "0.45.2";
5114
5115
 
5115
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/tracing.js
5116
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/tracing.js
5116
5117
  var otel;
5117
5118
  var rawTracer;
5118
5119
  var tracer = {
@@ -5139,10 +5140,10 @@ var tracer = {
5139
5140
  }
5140
5141
  };
5141
5142
 
5142
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/view-common.js
5143
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/view-common.js
5143
5144
  var ViewBaseConfig = Symbol.for("drizzle:ViewBaseConfig");
5144
5145
 
5145
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/table.js
5146
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/table.js
5146
5147
  var Schema = Symbol.for("drizzle:Schema");
5147
5148
  var Columns = Symbol.for("drizzle:Columns");
5148
5149
  var ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");
@@ -5180,7 +5181,7 @@ class Table {
5180
5181
  }
5181
5182
  }
5182
5183
 
5183
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sql/sql.js
5184
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sql/sql.js
5184
5185
  function isSQLWrapper(value) {
5185
5186
  return value !== null && value !== undefined && typeof value.getSQL === "function";
5186
5187
  }
@@ -5213,10 +5214,17 @@ class StringChunk {
5213
5214
  class SQL {
5214
5215
  constructor(queryChunks) {
5215
5216
  this.queryChunks = queryChunks;
5217
+ for (const chunk of queryChunks) {
5218
+ if (is(chunk, Table)) {
5219
+ const schemaName = chunk[Table.Symbol.Schema];
5220
+ this.usedTables.push(schemaName === undefined ? chunk[Table.Symbol.Name] : schemaName + "." + chunk[Table.Symbol.Name]);
5221
+ }
5222
+ }
5216
5223
  }
5217
5224
  static [entityKind] = "SQL";
5218
5225
  decoder = noopDecoder;
5219
5226
  shouldInlineParams = false;
5227
+ usedTables = [];
5220
5228
  append(query) {
5221
5229
  this.queryChunks.push(...query.queryChunks);
5222
5230
  return this;
@@ -5275,7 +5283,7 @@ class SQL {
5275
5283
  const schemaName = chunk[Table.Symbol.Schema];
5276
5284
  const tableName = chunk[Table.Symbol.Name];
5277
5285
  return {
5278
- sql: schemaName === undefined ? escapeName(tableName) : escapeName(schemaName) + "." + escapeName(tableName),
5286
+ sql: schemaName === undefined || chunk[IsAlias] ? escapeName(tableName) : escapeName(schemaName) + "." + escapeName(tableName),
5279
5287
  params: []
5280
5288
  };
5281
5289
  }
@@ -5294,7 +5302,7 @@ class SQL {
5294
5302
  const schemaName = chunk[ViewBaseConfig].schema;
5295
5303
  const viewName = chunk[ViewBaseConfig].name;
5296
5304
  return {
5297
- sql: schemaName === undefined ? escapeName(viewName) : escapeName(schemaName) + "." + escapeName(viewName),
5305
+ sql: schemaName === undefined || chunk[ViewBaseConfig].isAlias ? escapeName(viewName) : escapeName(schemaName) + "." + escapeName(viewName),
5298
5306
  params: []
5299
5307
  };
5300
5308
  }
@@ -5533,7 +5541,7 @@ Subquery.prototype.getSQL = function() {
5533
5541
  return new SQL([this]);
5534
5542
  };
5535
5543
 
5536
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/alias.js
5544
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/alias.js
5537
5545
  class ColumnAliasProxyHandler {
5538
5546
  constructor(table) {
5539
5547
  this.table = table;
@@ -5589,12 +5597,12 @@ class TableAliasProxyHandler {
5589
5597
  }
5590
5598
  }
5591
5599
 
5592
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/alias.js
5600
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/alias.js
5593
5601
  function alias(table, alias2) {
5594
5602
  return new Proxy(table, new TableAliasProxyHandler(alias2, false));
5595
5603
  }
5596
5604
 
5597
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/checks.js
5605
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/checks.js
5598
5606
  class CheckBuilder {
5599
5607
  constructor(name, value) {
5600
5608
  this.name = name;
@@ -5621,15 +5629,16 @@ function check(name, value) {
5621
5629
  return new CheckBuilder(name, value);
5622
5630
  }
5623
5631
 
5624
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/utils.js
5632
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/utils.js
5625
5633
  function getColumnNameAndConfig(a, b) {
5626
5634
  return {
5627
5635
  name: typeof a === "string" && a.length > 0 ? a : "",
5628
5636
  config: typeof a === "object" ? a : b
5629
5637
  };
5630
5638
  }
5639
+ var textDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder;
5631
5640
 
5632
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
5641
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/foreign-keys.js
5633
5642
  class ForeignKeyBuilder {
5634
5643
  static [entityKind] = "SQLiteForeignKeyBuilder";
5635
5644
  reference;
@@ -5683,12 +5692,12 @@ class ForeignKey {
5683
5692
  }
5684
5693
  }
5685
5694
 
5686
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
5695
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/unique-constraint.js
5687
5696
  function uniqueKeyName(table, columns) {
5688
5697
  return `${table[TableName]}_${columns.join("_")}_unique`;
5689
5698
  }
5690
5699
 
5691
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/common.js
5700
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/common.js
5692
5701
  class SQLiteColumnBuilder extends ColumnBuilder {
5693
5702
  static [entityKind] = "SQLiteColumnBuilder";
5694
5703
  foreignKeyConfigs = [];
@@ -5739,7 +5748,7 @@ class SQLiteColumn extends Column {
5739
5748
  static [entityKind] = "SQLiteColumn";
5740
5749
  }
5741
5750
 
5742
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/blob.js
5751
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/blob.js
5743
5752
  class SQLiteBigIntBuilder extends SQLiteColumnBuilder {
5744
5753
  static [entityKind] = "SQLiteBigIntBuilder";
5745
5754
  constructor(name) {
@@ -5756,14 +5765,11 @@ class SQLiteBigInt extends SQLiteColumn {
5756
5765
  return "blob";
5757
5766
  }
5758
5767
  mapFromDriverValue(value) {
5759
- if (Buffer.isBuffer(value)) {
5760
- return BigInt(value.toString());
5761
- }
5762
- if (value instanceof ArrayBuffer) {
5763
- const decoder = new TextDecoder;
5764
- return BigInt(decoder.decode(value));
5768
+ if (typeof Buffer !== "undefined" && Buffer.from) {
5769
+ const buf = Buffer.isBuffer(value) ? value : value instanceof ArrayBuffer ? Buffer.from(value) : value.buffer ? Buffer.from(value.buffer, value.byteOffset, value.byteLength) : Buffer.from(value);
5770
+ return BigInt(buf.toString("utf8"));
5765
5771
  }
5766
- return BigInt(String.fromCodePoint(...value));
5772
+ return BigInt(textDecoder.decode(value));
5767
5773
  }
5768
5774
  mapToDriverValue(value) {
5769
5775
  return Buffer.from(value.toString());
@@ -5786,14 +5792,11 @@ class SQLiteBlobJson extends SQLiteColumn {
5786
5792
  return "blob";
5787
5793
  }
5788
5794
  mapFromDriverValue(value) {
5789
- if (Buffer.isBuffer(value)) {
5790
- return JSON.parse(value.toString());
5791
- }
5792
- if (value instanceof ArrayBuffer) {
5793
- const decoder = new TextDecoder;
5794
- return JSON.parse(decoder.decode(value));
5795
+ if (typeof Buffer !== "undefined" && Buffer.from) {
5796
+ const buf = Buffer.isBuffer(value) ? value : value instanceof ArrayBuffer ? Buffer.from(value) : value.buffer ? Buffer.from(value.buffer, value.byteOffset, value.byteLength) : Buffer.from(value);
5797
+ return JSON.parse(buf.toString("utf8"));
5795
5798
  }
5796
- return JSON.parse(String.fromCodePoint(...value));
5799
+ return JSON.parse(textDecoder.decode(value));
5797
5800
  }
5798
5801
  mapToDriverValue(value) {
5799
5802
  return Buffer.from(JSON.stringify(value));
@@ -5812,6 +5815,12 @@ class SQLiteBlobBufferBuilder extends SQLiteColumnBuilder {
5812
5815
 
5813
5816
  class SQLiteBlobBuffer extends SQLiteColumn {
5814
5817
  static [entityKind] = "SQLiteBlobBuffer";
5818
+ mapFromDriverValue(value) {
5819
+ if (Buffer.isBuffer(value)) {
5820
+ return value;
5821
+ }
5822
+ return Buffer.from(value);
5823
+ }
5815
5824
  getSQLType() {
5816
5825
  return "blob";
5817
5826
  }
@@ -5827,7 +5836,7 @@ function blob(a, b) {
5827
5836
  return new SQLiteBlobBufferBuilder(name);
5828
5837
  }
5829
5838
 
5830
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/custom.js
5839
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/custom.js
5831
5840
  class SQLiteCustomColumnBuilder extends SQLiteColumnBuilder {
5832
5841
  static [entityKind] = "SQLiteCustomColumnBuilder";
5833
5842
  constructor(name, fieldConfig, customTypeParams) {
@@ -5868,7 +5877,7 @@ function customType(customTypeParams) {
5868
5877
  };
5869
5878
  }
5870
5879
 
5871
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/integer.js
5880
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/integer.js
5872
5881
  class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {
5873
5882
  static [entityKind] = "SQLiteBaseIntegerBuilder";
5874
5883
  constructor(name, dataType, columnType) {
@@ -5970,7 +5979,7 @@ function integer2(a, b) {
5970
5979
  return new SQLiteIntegerBuilder(name);
5971
5980
  }
5972
5981
 
5973
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
5982
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/numeric.js
5974
5983
  class SQLiteNumericBuilder extends SQLiteColumnBuilder {
5975
5984
  static [entityKind] = "SQLiteNumericBuilder";
5976
5985
  constructor(name) {
@@ -5983,15 +5992,64 @@ class SQLiteNumericBuilder extends SQLiteColumnBuilder {
5983
5992
 
5984
5993
  class SQLiteNumeric extends SQLiteColumn {
5985
5994
  static [entityKind] = "SQLiteNumeric";
5995
+ mapFromDriverValue(value) {
5996
+ if (typeof value === "string")
5997
+ return value;
5998
+ return String(value);
5999
+ }
5986
6000
  getSQLType() {
5987
6001
  return "numeric";
5988
6002
  }
5989
6003
  }
5990
- function numeric(name) {
5991
- return new SQLiteNumericBuilder(name ?? "");
6004
+
6005
+ class SQLiteNumericNumberBuilder extends SQLiteColumnBuilder {
6006
+ static [entityKind] = "SQLiteNumericNumberBuilder";
6007
+ constructor(name) {
6008
+ super(name, "number", "SQLiteNumericNumber");
6009
+ }
6010
+ build(table) {
6011
+ return new SQLiteNumericNumber(table, this.config);
6012
+ }
5992
6013
  }
5993
6014
 
5994
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/real.js
6015
+ class SQLiteNumericNumber extends SQLiteColumn {
6016
+ static [entityKind] = "SQLiteNumericNumber";
6017
+ mapFromDriverValue(value) {
6018
+ if (typeof value === "number")
6019
+ return value;
6020
+ return Number(value);
6021
+ }
6022
+ mapToDriverValue = String;
6023
+ getSQLType() {
6024
+ return "numeric";
6025
+ }
6026
+ }
6027
+
6028
+ class SQLiteNumericBigIntBuilder extends SQLiteColumnBuilder {
6029
+ static [entityKind] = "SQLiteNumericBigIntBuilder";
6030
+ constructor(name) {
6031
+ super(name, "bigint", "SQLiteNumericBigInt");
6032
+ }
6033
+ build(table) {
6034
+ return new SQLiteNumericBigInt(table, this.config);
6035
+ }
6036
+ }
6037
+
6038
+ class SQLiteNumericBigInt extends SQLiteColumn {
6039
+ static [entityKind] = "SQLiteNumericBigInt";
6040
+ mapFromDriverValue = BigInt;
6041
+ mapToDriverValue = String;
6042
+ getSQLType() {
6043
+ return "numeric";
6044
+ }
6045
+ }
6046
+ function numeric(a, b) {
6047
+ const { name, config } = getColumnNameAndConfig(a, b);
6048
+ const mode = config?.mode;
6049
+ return mode === "number" ? new SQLiteNumericNumberBuilder(name) : mode === "bigint" ? new SQLiteNumericBigIntBuilder(name) : new SQLiteNumericBuilder(name);
6050
+ }
6051
+
6052
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/real.js
5995
6053
  class SQLiteRealBuilder extends SQLiteColumnBuilder {
5996
6054
  static [entityKind] = "SQLiteRealBuilder";
5997
6055
  constructor(name) {
@@ -6012,7 +6070,7 @@ function real(name) {
6012
6070
  return new SQLiteRealBuilder(name ?? "");
6013
6071
  }
6014
6072
 
6015
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/text.js
6073
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/text.js
6016
6074
  class SQLiteTextBuilder extends SQLiteColumnBuilder {
6017
6075
  static [entityKind] = "SQLiteTextBuilder";
6018
6076
  constructor(name, config) {
@@ -6067,7 +6125,7 @@ function text(a, b = {}) {
6067
6125
  return new SQLiteTextBuilder(name, config);
6068
6126
  }
6069
6127
 
6070
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/columns/all.js
6128
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/columns/all.js
6071
6129
  function getSQLiteColumnBuilders() {
6072
6130
  return {
6073
6131
  blob,
@@ -6079,7 +6137,7 @@ function getSQLiteColumnBuilders() {
6079
6137
  };
6080
6138
  }
6081
6139
 
6082
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/table.js
6140
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/table.js
6083
6141
  var InlineForeignKeys = Symbol.for("drizzle:SQLiteInlineForeignKeys");
6084
6142
 
6085
6143
  class SQLiteTable extends Table {
@@ -6113,7 +6171,7 @@ var sqliteTable = (name, columns, extraConfig) => {
6113
6171
  return sqliteTableBase(name, columns, extraConfig);
6114
6172
  };
6115
6173
 
6116
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/indexes.js
6174
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/indexes.js
6117
6175
  class IndexBuilderOn {
6118
6176
  constructor(name, unique) {
6119
6177
  this.name = name;
@@ -6159,7 +6217,7 @@ function uniqueIndex(name) {
6159
6217
  return new IndexBuilderOn(name, true);
6160
6218
  }
6161
6219
 
6162
- // ../../node_modules/.pnpm/drizzle-orm@0.38.4_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_2d24ef0c7d82378656baf6d38a38bd13/node_modules/drizzle-orm/sqlite-core/primary-keys.js
6220
+ // ../../node_modules/.pnpm/drizzle-orm@0.45.2_@cloudflare+workers-types@4.20260529.1_@prisma+client@5.22.0_@types+_e3ffa19e92dda647278b0f9fbb1fe124/node_modules/drizzle-orm/sqlite-core/primary-keys.js
6163
6221
  function primaryKey(...config) {
6164
6222
  if (config[0].columns) {
6165
6223
  return new PrimaryKeyBuilder(config[0].columns, config[0].name);
@@ -8709,13 +8767,20 @@ var MCP_OUTPUT_SCHEMAS = {
8709
8767
  runId: id,
8710
8768
  runtime: computerRunRuntime,
8711
8769
  replayed: boolean2(),
8712
- snapshotId: id.nullable()
8770
+ snapshotId: id.nullable(),
8771
+ parentCheckpoint: string2().optional(),
8772
+ parentAsleep: boolean2().optional()
8713
8773
  }),
8714
8774
  computer_run_finish: looseObject({
8715
8775
  status: string2(),
8716
8776
  replayed: boolean2(),
8717
8777
  durability: computerRunDurability,
8718
- finishAssessment: computerRunFinishAssessment.nullable()
8778
+ finishAssessment: computerRunFinishAssessment.nullable(),
8779
+ parent: object({
8780
+ checkpoint: string2().nullable(),
8781
+ stopped: boolean2(),
8782
+ asleep: boolean2().optional()
8783
+ }).optional()
8719
8784
  }),
8720
8785
  computer_repo_work_status: looseObject({
8721
8786
  runId: id,
@@ -9168,7 +9233,9 @@ var OUTPUT_SHAPERS = {
9168
9233
  ["runId", run.runId],
9169
9234
  ["runtime", selected(run.runtime, ["state", "currentSnapshotId", "updatedAt"])],
9170
9235
  ["replayed", result.replayed],
9171
- ["snapshotId", result.snapshotId]
9236
+ ["snapshotId", result.snapshotId],
9237
+ ["parentCheckpoint", result.parentCheckpoint],
9238
+ ["parentAsleep", result.parentAsleep]
9172
9239
  ]);
9173
9240
  },
9174
9241
  computer_run_finish: (result) => {
@@ -9177,7 +9244,8 @@ var OUTPUT_SHAPERS = {
9177
9244
  ["status", run.status],
9178
9245
  ["replayed", result.replayed],
9179
9246
  ["durability", run.durability],
9180
- ["finishAssessment", result.finishAssessment]
9247
+ ["finishAssessment", result.finishAssessment],
9248
+ ["parent", result.parent]
9181
9249
  ]);
9182
9250
  },
9183
9251
  computer_exec: (result, input) => defined([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.22.1",
3
+ "version": "0.22.3",
4
4
  "description": "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
5
5
  "keywords": [
6
6
  "agents",
@@ -40,7 +40,7 @@
40
40
  "just-bash": "3.4.2",
41
41
  "tsx": "^4.20.6",
42
42
  "typescript": "^5.8.0",
43
- "vitest": "^4.1.4",
43
+ "vitest": "^4.1.10",
44
44
  "zod": "^4.4.3"
45
45
  },
46
46
  "engines": {