@lambdacurry/arbor 0.22.0 → 0.22.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/arbor.js +150 -83
- 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.
|
|
5
|
+
version: "0.22.2",
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
5101
|
+
constructor(sql, fields, alias, isWith = false, usedTables = []) {
|
|
5102
5102
|
this._ = {
|
|
5103
5103
|
brand: "Subquery",
|
|
5104
5104
|
sql,
|
|
5105
|
-
selectedFields:
|
|
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.
|
|
5113
|
-
var version2 = "0.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
5760
|
-
|
|
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(
|
|
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.
|
|
5790
|
-
|
|
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(
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
+
}
|
|
6000
|
+
getSQLType() {
|
|
6001
|
+
return "numeric";
|
|
6002
|
+
}
|
|
6003
|
+
}
|
|
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
|
+
}
|
|
6013
|
+
}
|
|
6014
|
+
|
|
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;
|
|
5986
6023
|
getSQLType() {
|
|
5987
6024
|
return "numeric";
|
|
5988
6025
|
}
|
|
5989
6026
|
}
|
|
5990
|
-
|
|
5991
|
-
|
|
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);
|
|
5992
6050
|
}
|
|
5993
6051
|
|
|
5994
|
-
// ../../node_modules/.pnpm/drizzle-orm@0.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,15 @@ 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()
|
|
8713
8772
|
}),
|
|
8714
8773
|
computer_run_finish: looseObject({
|
|
8715
8774
|
status: string2(),
|
|
8716
8775
|
replayed: boolean2(),
|
|
8717
8776
|
durability: computerRunDurability,
|
|
8718
|
-
finishAssessment: computerRunFinishAssessment.nullable()
|
|
8777
|
+
finishAssessment: computerRunFinishAssessment.nullable(),
|
|
8778
|
+
parent: object({ checkpoint: string2(), stopped: boolean2() }).optional()
|
|
8719
8779
|
}),
|
|
8720
8780
|
computer_repo_work_status: looseObject({
|
|
8721
8781
|
runId: id,
|
|
@@ -9168,7 +9228,8 @@ var OUTPUT_SHAPERS = {
|
|
|
9168
9228
|
["runId", run.runId],
|
|
9169
9229
|
["runtime", selected(run.runtime, ["state", "currentSnapshotId", "updatedAt"])],
|
|
9170
9230
|
["replayed", result.replayed],
|
|
9171
|
-
["snapshotId", result.snapshotId]
|
|
9231
|
+
["snapshotId", result.snapshotId],
|
|
9232
|
+
["parentCheckpoint", result.parentCheckpoint]
|
|
9172
9233
|
]);
|
|
9173
9234
|
},
|
|
9174
9235
|
computer_run_finish: (result) => {
|
|
@@ -9177,7 +9238,8 @@ var OUTPUT_SHAPERS = {
|
|
|
9177
9238
|
["status", run.status],
|
|
9178
9239
|
["replayed", result.replayed],
|
|
9179
9240
|
["durability", run.durability],
|
|
9180
|
-
["finishAssessment", result.finishAssessment]
|
|
9241
|
+
["finishAssessment", result.finishAssessment],
|
|
9242
|
+
["parent", result.parent]
|
|
9181
9243
|
]);
|
|
9182
9244
|
},
|
|
9183
9245
|
computer_exec: (result, input) => defined([
|
|
@@ -9429,14 +9491,14 @@ Arbor Computer is the complete software execution platform attached to Arbor's d
|
|
|
9429
9491
|
|
|
9430
9492
|
${ARBOR_FEEDBACK_GUIDANCE}
|
|
9431
9493
|
|
|
9432
|
-
1. ORIENT, CONFIGURE, AND AUTHORIZE. Start with provider-free get_computer(threadId) to inspect the effective inherited recipe, repository authorization, compatibility, recoverySafety, and durable lineage without contacting execution. Use set_organization_computer, set_space_computer, set_topic_computer, or set_thread_computer only when the corresponding complete sparse layer must be replaced; use github_repositories then github_connect_repository to authorize repositories at the narrowest scope that should inherit them. If github_repositories looks stale, github_refresh_installation reconciles the cached inventory from GitHub.
|
|
9433
|
-
2. READ THE CAPABILITIES CARD, NOT THE BACKEND.
|
|
9494
|
+
1. ORIENT, CONFIGURE, AND AUTHORIZE. Start with provider-free get_computer(threadId) to inspect the effective inherited recipe, repository authorization, compatibility, recoverySafety, and durable lineage without contacting execution. Use set_organization_computer, set_space_computer, set_topic_computer, or set_thread_computer only when the corresponding complete sparse layer must be replaced; use github_repositories then github_connect_repository to authorize repositories at the narrowest scope that should inherit them. If github_repositories looks stale, github_refresh_installation reconciles the cached inventory from GitHub. computer_run_start(threadId, mode) is the front door: it attaches durable identity itself and starts an isolated write Run from the Thread's base snapshot without booting the parent; computer_open and attach_computer are deprecated aliases (AD-306). Each returned repository entry includes verified root instruction pointers when that repo has an AGENTS.md: read surfaced repository instructions before substantial edits or verification, then check for a nearer nested AGENTS.md once the target path is known. Repo-local instructions/scripts/config beat guessed formatter, test, lint, or build commands.
|
|
9495
|
+
2. READ THE CAPABILITIES CARD, NOT THE BACKEND. runId is the one address: every runtime tool takes it, and the computerSessionId a Run carries is legacy input. computer_status(runId) describes the live PARENT Thread Computer behind a shared Run; it does not establish isolated Run activity, so use computer_run_receipt(runId) and computer_process_read for Run-owned work. Command-line utilities, including Git and package managers, run through computer_exec; check unfamiliar binaries with command -v.
|
|
9434
9496
|
3. ONE RUN PER TASK. A write Run defaults to an isolated execution environment with its own filesystem, processes, ports, and /tmp while preserving /workspace paths; a read Run shares the parent. Pass runId to Run-aware tools. If a response is lost, recover the durable operation/process identity from computer_run_receipt and read it before retrying. computer_process_read and computer_process_terminate settle a provider-absent current-generation process from exact evidence; computer_run_suspend performs that bounded settlement internally and never replays unknown work. A still-active process returns a retryable busy state; an unknown current-generation mutation fail-closes. An isolated local commit or Preview is not Git publication; push coherent work and prove it with computer_repo_work_status before computer_run_finish destroys the final placement. discard=true with outcome failed or cancelled is the explicit choice to abandon unknown or proven non-durable work without replaying it.
|
|
9435
|
-
4. CHECKPOINT COMPLETE
|
|
9497
|
+
4. CHECKPOINT COMPLETE UNITS THROUGH THE RUN. computer_run_suspend(runId) checkpoints an intermediate complete unit — an isolated Run publishes its exact workspace and releases its Sandbox, a shared Run advances the parent lineage — and computer_run_finish(runId) makes the final one; finishing the last active shared Run also stops the parent. computer_checkpoint and computer_stop are deprecated aliases. An isolated Run Preview is durable review output, not adoption or a checkpoint. The internal provider-handle publication operations are not agent tools.
|
|
9436
9498
|
5. GIT AND GITHUB ARE ORDINARY COMMANDS AFTER AUTHORIZATION. Clone, fetch, pull, push, and gh run through computer_exec using a connected human's just-in-time ambient GitHub identity. Credentials never enter argv, workspace files, Git config, checkpoints, Events, logs, or receipts. A restored Computer deliberately keeps the checkout age of its snapshot, so fetch/pull before trusting remote state.
|
|
9437
9499
|
6. VERIFY, PREVIEW, AND EXPORT. computer_verify captures a public URL directly without opening a project runtime. computer_publish_preview preserves immutable static output from either the parent or an active isolated write Run. computer_export moves bounded files into durable Thread Attachments; for a computer:// file Artifact asleep face, export the exact locator path .tldr and a same-Thread PNG, then use artifact set_snapshot. computer_export itself does not call set_snapshot; place returned Markdown exactly where the media belongs and cite the matching attachment ids.
|
|
9438
|
-
7. PACKAGE, DEPLOY, ACTIVATE, AND OPERATE APPS HERE. computer_publish_app_bundle creates the immutable executable bundle from verified parent bytes. For short-lived public Artifact experiments use preview_app_create/get/retire; for published Space Apps use app_create, app_config_apply, app_deploy, app_deployment_get, app_activate, app_get, app_fetch/app_request, app_rollback, app_set_access, app_reset_state/app_restore_state, and app_archive as one workflow-closed release surface. First-class Organization/Profile Secrets remain on Arbor's collaboration MCP because they are broader identity-owned resources; App configuration here references existing Secret ids and never accepts or returns secret material.
|
|
9439
|
-
8. FINISH WHAT YOU START.
|
|
9500
|
+
7. PACKAGE, DEPLOY, ACTIVATE, AND OPERATE APPS HERE. computer_publish_app_bundle creates the immutable executable bundle from verified parent bytes through a shared write Run: push isolated work, computer_run_start with execution shared, pull, then publish. For short-lived public Artifact experiments use preview_app_create/get/retire; for published Space Apps use app_create, app_config_apply, app_deploy, app_deployment_get, app_activate, app_get, app_fetch/app_request, app_rollback, app_set_access, app_reset_state/app_restore_state, and app_archive as one workflow-closed release surface. First-class Organization/Profile Secrets remain on Arbor's collaboration MCP because they are broader identity-owned resources; App configuration here references existing Secret ids and never accepts or returns secret material.
|
|
9501
|
+
8. FINISH WHAT YOU START. Finish every Run — the last active shared Run's finish stops the parent — and preserve evidence before teardown. When reporting collaboration conclusions through Arbor, pass the producing computerSessionId and attachmentIds to contribute or respond.
|
|
9440
9502
|
9. CLOSE OUT ARBOR DOGFOOD. When developing Arbor through Arbor, ask: “Did Arbor itself create meaningful friction or require an Arbor-specific workaround?” If yes, apply the classifier above and file one bounded report before closing the development loop; keep unrelated product friction out of the implementation Thread. If no, close normally without manufacturing feedback.`;
|
|
9441
9503
|
var PROSE_LISTS = registry();
|
|
9442
9504
|
function proseList(description) {
|
|
@@ -10128,7 +10190,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10128
10190
|
{
|
|
10129
10191
|
name: "attach_computer",
|
|
10130
10192
|
title: "Attach a Thread computer",
|
|
10131
|
-
description: "
|
|
10193
|
+
description: "Deprecated by AD-306: computer_run_start(threadId) attaches durable identity itself, so use this only to mint protocol identity with no Run at all. Creates or reuses the Thread's stable Computer identity and an immutable collaborator receipt without starting provider runtime.",
|
|
10132
10194
|
inputSchema: {
|
|
10133
10195
|
threadId: string2().describe("the Thread whose computer you are attaching, thr_…")
|
|
10134
10196
|
},
|
|
@@ -10139,7 +10201,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10139
10201
|
{
|
|
10140
10202
|
name: "computer_open",
|
|
10141
10203
|
title: "Open a Thread computer",
|
|
10142
|
-
description: "
|
|
10204
|
+
description: "Deprecated by AD-306: start work with computer_run_start(threadId, mode) instead; this alias remains one release and boots the parent Thread Computer, returning a computerSessionId. Use it only for a legacy client that still addresses the parent by cms_ id; unsafe recovery is refused and unresolved newer workspace state stays fail-closed.",
|
|
10143
10205
|
inputSchema: {
|
|
10144
10206
|
threadId: string2().describe("the Arbor Thread whose stable computer to open, thr_…"),
|
|
10145
10207
|
idempotencyKey: string2().trim().min(1).max(200).optional().describe("optional explicit key for ONE distinct logical open; omission reuses the durable profile/Thread/recipe identity; changed options require a distinct intent; retry unchanged after response loss and never mint a new key to bypass unresolved work"),
|
|
@@ -10186,7 +10248,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10186
10248
|
{
|
|
10187
10249
|
name: "computer_run_suspend",
|
|
10188
10250
|
title: "Suspend a run",
|
|
10189
|
-
description: "Checkpoint an active
|
|
10251
|
+
description: "Checkpoint an active WRITE Run for an external wait (the same runId resumes next): an isolated Run publishes its exact workspace and releases its Sandbox, a shared Run checkpoints the parent lineage. Performs bounded process read/terminate/settlement internally: suspends when settled, returns retryable busy if a process is active, or fail-closes on unknown mutation and never replays unknown work.",
|
|
10190
10252
|
inputSchema: {
|
|
10191
10253
|
runId: string2().describe("the active isolated WRITE Run to suspend, run_…")
|
|
10192
10254
|
},
|
|
@@ -10208,7 +10270,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10208
10270
|
{
|
|
10209
10271
|
name: "computer_run_finish",
|
|
10210
10272
|
title: "Finish a run",
|
|
10211
|
-
description: "Finish a Run with an explicit terminal outcome; ordinary finish refuses unsettled operations and proven non-durable isolated WRITE work. To abandon an unknown or non-durable disposable Run without replaying it, pass discard=true with outcome failed or cancelled; the receipt
|
|
10273
|
+
description: "Finish a Run with an explicit terminal outcome; ordinary finish refuses unsettled operations and proven non-durable isolated WRITE work, and the last shared Run's finish also stops the parent. To abandon an unknown or non-durable disposable Run without replaying it, pass discard=true with outcome failed or cancelled; the receipt keeps the evidence and repeating the outcome is a safe no-op.",
|
|
10212
10274
|
inputSchema: {
|
|
10213
10275
|
runId: string2().describe("the runId returned by computer_run_start, run_…"),
|
|
10214
10276
|
outcome: _enum(["finished", "failed", "cancelled"]).optional().describe("terminal outcome; defaults to finished"),
|
|
@@ -10233,9 +10295,10 @@ var ACTION_DEFINITIONS = [
|
|
|
10233
10295
|
{
|
|
10234
10296
|
name: "computer_runs",
|
|
10235
10297
|
title: "List runs",
|
|
10236
|
-
description: "List active or recent Runs
|
|
10298
|
+
description: "List active or recent Runs on the Computer that owns runId when deciding whether to resume existing work or start another unit. Returns each Run's mode, execution placement, workspace identity, and lifecycle status.",
|
|
10237
10299
|
inputSchema: {
|
|
10238
|
-
|
|
10300
|
+
runId: string2().optional().describe("any Run on the Computer to list, run_…"),
|
|
10301
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…"),
|
|
10239
10302
|
status: _enum(["active", "finished", "failed", "cancelled"]).optional().describe("filter to one lifecycle status"),
|
|
10240
10303
|
limit: number2().int().min(1).max(100).optional().describe("rows to return (default 20)")
|
|
10241
10304
|
},
|
|
@@ -10246,9 +10309,9 @@ var ACTION_DEFINITIONS = [
|
|
|
10246
10309
|
{
|
|
10247
10310
|
name: "computer_exec",
|
|
10248
10311
|
title: "Run a command",
|
|
10249
|
-
description: "Run one bounded shell operation in a
|
|
10312
|
+
description: "Run one bounded shell operation in a Run (pass runId) with ambient GitHub authorization for connected humans. A long command returns processId if still running — poll computer_process_read (background:true skips the wait; timeout kills the process); after a missed isolated response use computer_run_receipt.operations[].operationId with computer_process_read instead of repeating the mutation.",
|
|
10250
10313
|
inputSchema: {
|
|
10251
|
-
computerSessionId: string2().optional().describe("
|
|
10314
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…; required unless runId is supplied"),
|
|
10252
10315
|
command: string2().min(1).describe("the shell command to run"),
|
|
10253
10316
|
runId: string2().optional().describe("route this command according to this Run execution placement, run_… (from computer_run_start)"),
|
|
10254
10317
|
cwd: string2().optional().describe("working directory under /workspace, or under the run; omit to use defaultCwd"),
|
|
@@ -10267,7 +10330,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10267
10330
|
title: "Read a background process",
|
|
10268
10331
|
description: "Read one provider-owned process from computer_exec, including a recovered Run operation, using nextCursor for incremental output. Successful Run reads durably retain the latest provider observation; a later timeout stays unknown and unsafe while returning it with age, and Arbor settles the durable operation only from terminal or exact provider-absence proof.",
|
|
10269
10332
|
inputSchema: {
|
|
10270
|
-
computerSessionId: string2().optional().describe("
|
|
10333
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…; required unless runId is supplied"),
|
|
10271
10334
|
runId: string2().optional().describe("the Run that owns this process, if it was started inside a Run"),
|
|
10272
10335
|
processId: string2().min(1).describe("the processId returned by background exec, or matching computer_run_receipt.operations[].operationId for recovered foreground Run work, proc_…"),
|
|
10273
10336
|
cursor: string2().optional().describe("continue after nextCursor from the prior process read; omit for a small latest tail"),
|
|
@@ -10282,7 +10345,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10282
10345
|
title: "Terminate a background process",
|
|
10283
10346
|
description: "Terminate a background process started by computer_exec when it should no longer run, stopping the provider-owned process tree without shell PIDs or ps/kill. Repeating terminate for an already-absent or already-complete process is a no-op that settles that exact durable operation from the available evidence.",
|
|
10284
10347
|
inputSchema: {
|
|
10285
|
-
computerSessionId: string2().optional().describe("
|
|
10348
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…; required unless runId is supplied"),
|
|
10286
10349
|
runId: string2().optional().describe("the Run that owns this process, if it was started inside a Run"),
|
|
10287
10350
|
processId: string2().min(1).describe("the opaque processId returned by computer_exec(background=true), proc_…")
|
|
10288
10351
|
},
|
|
@@ -10293,9 +10356,10 @@ var ACTION_DEFINITIONS = [
|
|
|
10293
10356
|
{
|
|
10294
10357
|
name: "computer_status",
|
|
10295
10358
|
title: "Inspect a computer",
|
|
10296
|
-
description: "Inspect the live PARENT Thread Computer
|
|
10359
|
+
description: "Inspect the live PARENT Thread Computer behind runId: capabilities, live can-I-exec readiness, processes, and profile. It does not report isolated Run command state (computer_run_receipt) or restore-safety (get_computer); transient unavailability drops command capabilities, and a terminal unknown mutation is a non-retryable stop.",
|
|
10297
10360
|
inputSchema: {
|
|
10298
|
-
|
|
10361
|
+
runId: string2().optional().describe("the Run whose parent Computer to inspect, run_…"),
|
|
10362
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…")
|
|
10299
10363
|
},
|
|
10300
10364
|
surfaces: ["computer-mcp", "computer-cli"],
|
|
10301
10365
|
toolset: "loop",
|
|
@@ -10388,7 +10452,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10388
10452
|
title: "Export a Thread file",
|
|
10389
10453
|
description: "Export one bounded file from the parent Computer or a Run as a durable Thread Attachment, with ready-to-place attachments[].markdown to put exactly where the media belongs and a downloadUrl you can GET with your own Arbor credential to see it yourself. For a Layer 1 snapshot, export the computer:// .tldr locator path and a same-Thread PNG, then use artifact set_snapshot; this never mints.",
|
|
10390
10454
|
inputSchema: {
|
|
10391
|
-
computerSessionId: string2().optional().describe("
|
|
10455
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…; required unless runId is supplied"),
|
|
10392
10456
|
runId: string2().optional().describe("route this export according to this Run execution placement, run_…"),
|
|
10393
10457
|
path: string2().describe("absolute path to one supported file under /workspace"),
|
|
10394
10458
|
description: string2().min(1).max(500).describe("concise description of what the file shows or contains; becomes image alt text, a video caption, and the Artifact summary"),
|
|
@@ -10403,7 +10467,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10403
10467
|
title: "Write a project file",
|
|
10404
10468
|
description: "Write or replace one file in the parent Computer or a Run when the Computer surface is your filesystem editing path. Routes by runId when supplied and supports UTF-8 or explicit base64 bytes.",
|
|
10405
10469
|
inputSchema: {
|
|
10406
|
-
computerSessionId: string2().optional().describe("
|
|
10470
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…; required unless runId is supplied"),
|
|
10407
10471
|
path: string2().describe("absolute path under /workspace, or a path inside the run"),
|
|
10408
10472
|
runId: string2().optional().describe("route this write according to this Run execution placement, run_… (from computer_run_start)"),
|
|
10409
10473
|
content: string2().describe("complete UTF-8 content, or base64 bytes when encoding=base64"),
|
|
@@ -10416,9 +10480,10 @@ var ACTION_DEFINITIONS = [
|
|
|
10416
10480
|
{
|
|
10417
10481
|
name: "computer_checkpoint",
|
|
10418
10482
|
title: "Checkpoint completed work",
|
|
10419
|
-
description: "
|
|
10483
|
+
description: "Deprecated by AD-306: computer_run_suspend(runId) checkpoints a shared write Run's parent lineage and computer_run_finish makes the final one. Still checkpoints the live parent for a shared write Run (runId) or a legacy computerSessionId; isolated Runs are refused, and a running background process can block it.",
|
|
10420
10484
|
inputSchema: {
|
|
10421
|
-
|
|
10485
|
+
runId: string2().optional().describe("an active shared write Run whose parent lineage to checkpoint, run_…"),
|
|
10486
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…")
|
|
10422
10487
|
},
|
|
10423
10488
|
surfaces: ["computer-mcp", "computer-cli"],
|
|
10424
10489
|
toolset: "loop",
|
|
@@ -10429,7 +10494,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10429
10494
|
title: "Publish an immutable static Preview",
|
|
10430
10495
|
description: "Publish one checked HTML file or bounded static directory as a private immutable Preview for review. Parent publication checkpoints first; isolated Run publication freezes that Run's bytes without adopting it, and the returned arborthreads.dev URL survives teardown.",
|
|
10431
10496
|
inputSchema: {
|
|
10432
|
-
computerSessionId: string2().optional().describe("
|
|
10497
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…; required for parent publication, optional when runId is supplied"),
|
|
10433
10498
|
runId: string2().optional().describe("active isolated write Run whose static workspace bytes should be published as review output"),
|
|
10434
10499
|
path: string2().describe("absolute path to one HTML file or static build directory under /workspace"),
|
|
10435
10500
|
title: string2().min(1).max(160).describe("short factual Preview title"),
|
|
@@ -10442,9 +10507,10 @@ var ACTION_DEFINITIONS = [
|
|
|
10442
10507
|
{
|
|
10443
10508
|
name: "computer_publish_app_bundle",
|
|
10444
10509
|
title: "Publish an immutable AppBundle",
|
|
10445
|
-
description: "Publish
|
|
10510
|
+
description: "Publish an immutable AppBundle from the parent Computer behind a shared write Run (runId) after a green build when an ArtifactVersion is ready; Arbor acquires compatible bun-typescript-v1 execution internally. Verifies entry bytes against the ArtifactVersion, captures source/Git provenance and static assets, and returns bundleId; isolated Runs are refused, so push and start a shared Run first.",
|
|
10446
10511
|
inputSchema: {
|
|
10447
|
-
|
|
10512
|
+
runId: string2().optional().describe("an active shared write Run on the parent whose bytes to publish, run_…"),
|
|
10513
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…"),
|
|
10448
10514
|
artifactVersionId: string2().describe("the source ArtifactVersion, artv_…"),
|
|
10449
10515
|
entryPath: string2().describe("absolute TypeScript/JavaScript Worker entry under /workspace"),
|
|
10450
10516
|
assetsPath: string2().optional().describe("optional absolute static-asset directory under /workspace"),
|
|
@@ -10480,9 +10546,10 @@ var ACTION_DEFINITIONS = [
|
|
|
10480
10546
|
{
|
|
10481
10547
|
name: "computer_stop",
|
|
10482
10548
|
title: "Checkpoint and stop",
|
|
10483
|
-
description: "
|
|
10549
|
+
description: "Deprecated by AD-306: finishing the last active shared Run with computer_run_finish(runId) performs the final checkpoint and stops the parent. Still checkpoints and stops the parent for a shared write Run (runId) or a legacy computerSessionId, refusing teardown when durability fails or a background process is running.",
|
|
10484
10550
|
inputSchema: {
|
|
10485
|
-
|
|
10551
|
+
runId: string2().optional().describe("an active shared write Run whose parent to checkpoint and stop, run_…"),
|
|
10552
|
+
computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…")
|
|
10486
10553
|
},
|
|
10487
10554
|
surfaces: ["computer-mcp", "computer-cli"],
|
|
10488
10555
|
toolset: "loop",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambdacurry/arbor",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.2",
|
|
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.
|
|
43
|
+
"vitest": "^4.1.10",
|
|
44
44
|
"zod": "^4.4.3"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|