@cookielab.io/oopst 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,8 +3,8 @@ import { createRequire } from 'node:module';
3
3
  const require = createRequire(import.meta.url);
4
4
 
5
5
  // src/index.ts
6
- import { readFileSync as readFileSync2, realpathSync } from "fs";
7
- import process4 from "process";
6
+ import { readFileSync as readFileSync3, realpathSync } from "fs";
7
+ import process5 from "process";
8
8
  import { fileURLToPath } from "url";
9
9
  import { NodeRuntime, NodeServices } from "@effect/platform-node";
10
10
  import { Effect as Effect17, Layer as Layer8, Option as Option2, Runtime } from "effect";
@@ -423,7 +423,7 @@ var updateProfileInput = Schema3.Struct({
423
423
  displayName: displayNameInput
424
424
  });
425
425
 
426
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/entity.js
426
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/entity.js
427
427
  var entityKind = /* @__PURE__ */ Symbol.for("drizzle:entityKind");
428
428
  function is(value, type) {
429
429
  if (!value || typeof value !== "object") return false;
@@ -437,7 +437,7 @@ function is(value, type) {
437
437
  return false;
438
438
  }
439
439
 
440
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/subquery.js
440
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/subquery.js
441
441
  var Subquery = class {
442
442
  static [entityKind] = "Subquery";
443
443
  constructor(sql2, fields, alias, isWith = false, usedTables = []) {
@@ -455,10 +455,10 @@ var WithSubquery = class extends Subquery {
455
455
  static [entityKind] = "WithSubquery";
456
456
  };
457
457
 
458
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/column-common.js
458
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/column-common.js
459
459
  var OriginalColumn = /* @__PURE__ */ Symbol.for("drizzle:OriginalColumn");
460
460
 
461
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/column.js
461
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/column.js
462
462
  var noop = (v) => v;
463
463
  noop.isNoop = true;
464
464
  var Column = class {
@@ -530,10 +530,10 @@ var Column = class {
530
530
  }
531
531
  };
532
532
 
533
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/table.utils.js
533
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/table.utils.js
534
534
  var TableName = /* @__PURE__ */ Symbol.for("drizzle:Name");
535
535
 
536
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/table.js
536
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/table.js
537
537
  var TableSchema = /* @__PURE__ */ Symbol.for("drizzle:Schema");
538
538
  var TableColumns = /* @__PURE__ */ Symbol.for("drizzle:Columns");
539
539
  var ExtraConfigColumns = /* @__PURE__ */ Symbol.for("drizzle:ExtraConfigColumns");
@@ -589,20 +589,20 @@ var Table = class {
589
589
  }
590
590
  };
591
591
 
592
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/tracing-utils.js
592
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/tracing-utils.js
593
593
  function iife(fn, ...args) {
594
594
  return fn(...args);
595
595
  }
596
596
 
597
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/tracing.js
597
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/tracing.js
598
598
  var tracer = { startActiveSpan(name2, fn) {
599
599
  return fn();
600
600
  } };
601
601
 
602
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/view-common.js
602
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/view-common.js
603
603
  var ViewBaseConfig = /* @__PURE__ */ Symbol.for("drizzle:ViewBaseConfig");
604
604
 
605
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/sql/sql.js
605
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/sql/sql.js
606
606
  var FakePrimitiveParam = class {
607
607
  static [entityKind] = "FakePrimitiveParam";
608
608
  };
@@ -906,7 +906,7 @@ function sql(strings, ...params) {
906
906
  return new SQL([new StringChunk(str)]);
907
907
  }
908
908
  _sql.raw = raw;
909
- function join7(chunks, separator) {
909
+ function join8(chunks, separator) {
910
910
  const result = [];
911
911
  for (const [i, chunk] of chunks.entries()) {
912
912
  if (i > 0 && separator !== void 0) result.push(separator);
@@ -914,7 +914,7 @@ function sql(strings, ...params) {
914
914
  }
915
915
  return new SQL(result);
916
916
  }
917
- _sql.join = join7;
917
+ _sql.join = join8;
918
918
  function identifier(value) {
919
919
  return new Name(value);
920
920
  }
@@ -1055,7 +1055,7 @@ Subquery.prototype.getSQL = function() {
1055
1055
  return new SQL([this]);
1056
1056
  };
1057
1057
 
1058
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/sql/expressions/conditions.js
1058
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/sql/expressions/conditions.js
1059
1059
  function bindIfParam(value, column) {
1060
1060
  if (isDriverValueEncoder(column) && !isSQLWrapper(value) && !is(value, Param) && !is(value, Placeholder) && !is(value, Column) && !is(value, Table) && !is(value, View)) return new Param(value, column);
1061
1061
  return value;
@@ -1077,7 +1077,7 @@ var gt = (left, right) => {
1077
1077
  return sql`${left} > ${bindIfParam(right, left)}`;
1078
1078
  };
1079
1079
 
1080
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/utils.js
1080
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/utils.js
1081
1081
  var FnConstructor = Object.getPrototypeOf(() => null).constructor;
1082
1082
  function getColumnNameAndConfig(a, b) {
1083
1083
  return {
@@ -1087,7 +1087,7 @@ function getColumnNameAndConfig(a, b) {
1087
1087
  }
1088
1088
  var textDecoder = typeof TextDecoder === "undefined" ? null : new TextDecoder();
1089
1089
 
1090
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/foreign-keys.js
1090
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/foreign-keys.js
1091
1091
  var ForeignKeyBuilder = class {
1092
1092
  static [entityKind] = "PgForeignKeyBuilder";
1093
1093
  /** @internal */
@@ -1153,7 +1153,7 @@ var ForeignKey = class {
1153
1153
  }
1154
1154
  };
1155
1155
 
1156
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/common.js
1156
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/common.js
1157
1157
  var PgColumnBuilder = class {
1158
1158
  static [entityKind] = "PgColumnBuilder";
1159
1159
  foreignKeyConfigs = [];
@@ -1421,7 +1421,7 @@ var IndexedColumn = class {
1421
1421
  indexConfig;
1422
1422
  };
1423
1423
 
1424
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/int.common.js
1424
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/int.common.js
1425
1425
  var PgIntColumnBuilder = class extends PgColumnBuilder {
1426
1426
  static [entityKind] = "PgIntColumnBaseBuilder";
1427
1427
  /**
@@ -1460,7 +1460,7 @@ var PgIntColumnBuilder = class extends PgColumnBuilder {
1460
1460
  }
1461
1461
  };
1462
1462
 
1463
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/bigint.js
1463
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/bigint.js
1464
1464
  var PgBigInt53Builder = class extends PgIntColumnBuilder {
1465
1465
  static [entityKind] = "PgBigInt53Builder";
1466
1466
  constructor(name2) {
@@ -1522,7 +1522,7 @@ function bigint(a, b) {
1522
1522
  return new PgBigInt64Builder(name2);
1523
1523
  }
1524
1524
 
1525
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/bigserial.js
1525
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/bigserial.js
1526
1526
  var PgBigSerial53Builder = class extends PgColumnBuilder {
1527
1527
  static [entityKind] = "PgBigSerial53Builder";
1528
1528
  constructor(name2) {
@@ -1569,7 +1569,7 @@ function bigserial(a, b) {
1569
1569
  return new PgBigSerial64Builder(name2);
1570
1570
  }
1571
1571
 
1572
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/boolean.js
1572
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/boolean.js
1573
1573
  var PgBooleanBuilder = class extends PgColumnBuilder {
1574
1574
  static [entityKind] = "PgBooleanBuilder";
1575
1575
  constructor(name2) {
@@ -1592,7 +1592,7 @@ function boolean(name2) {
1592
1592
  return new PgBooleanBuilder(name2 ?? "");
1593
1593
  }
1594
1594
 
1595
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/char.js
1595
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/char.js
1596
1596
  var PgCharBuilder = class extends PgColumnBuilder {
1597
1597
  static [entityKind] = "PgCharBuilder";
1598
1598
  constructor(name2, config) {
@@ -1626,7 +1626,7 @@ function char(a, b = {}) {
1626
1626
  return new PgCharBuilder(name2, config);
1627
1627
  }
1628
1628
 
1629
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/cidr.js
1629
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/cidr.js
1630
1630
  var PgCidrBuilder = class extends PgColumnBuilder {
1631
1631
  static [entityKind] = "PgCidrBuilder";
1632
1632
  constructor(name2) {
@@ -1649,7 +1649,7 @@ function cidr(name2) {
1649
1649
  return new PgCidrBuilder(name2 ?? "");
1650
1650
  }
1651
1651
 
1652
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/array.js
1652
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/array.js
1653
1653
  function parsePgArrayValue(arrayString, startFrom, inQuotes) {
1654
1654
  for (let i = startFrom; i < arrayString.length; i++) {
1655
1655
  const char2 = arrayString[i];
@@ -1711,7 +1711,7 @@ function makePgArray(array) {
1711
1711
  }).join(",")}}`;
1712
1712
  }
1713
1713
 
1714
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js
1714
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js
1715
1715
  function hexToBytes(hex) {
1716
1716
  const bytes = [];
1717
1717
  for (let c = 0; c < hex.length; c += 2) bytes.push(Number.parseInt(hex.slice(c, c + 2), 16));
@@ -1749,7 +1749,7 @@ function parseEWKB(hex) {
1749
1749
  throw new Error("Unsupported geometry type");
1750
1750
  }
1751
1751
 
1752
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/codecs.js
1752
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/codecs.js
1753
1753
  var PG_ALIAS_TO_TYPE_MAP = {
1754
1754
  int2: "smallint",
1755
1755
  integer: "int",
@@ -2015,7 +2015,7 @@ var genericPgCodecs = {
2015
2015
  }
2016
2016
  };
2017
2017
 
2018
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/custom.js
2018
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/custom.js
2019
2019
  var PgCustomColumnBuilder = class extends PgColumnBuilder {
2020
2020
  static [entityKind] = "PgCustomColumnBuilder";
2021
2021
  constructor(name2, fieldConfig, customTypeParams) {
@@ -2066,7 +2066,7 @@ function customType(customTypeParams) {
2066
2066
  };
2067
2067
  }
2068
2068
 
2069
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/date.common.js
2069
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/date.common.js
2070
2070
  var PgDateColumnBuilder = class extends PgColumnBuilder {
2071
2071
  static [entityKind] = "PgDateColumnBaseBuilder";
2072
2072
  /**
@@ -2078,7 +2078,7 @@ var PgDateColumnBuilder = class extends PgColumnBuilder {
2078
2078
  }
2079
2079
  };
2080
2080
 
2081
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/date.js
2081
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/date.js
2082
2082
  var PgDateBuilder = class extends PgDateColumnBuilder {
2083
2083
  static [entityKind] = "PgDateBuilder";
2084
2084
  constructor(name2) {
@@ -2129,7 +2129,7 @@ function date(a, b) {
2129
2129
  return new PgDateStringBuilder(name2);
2130
2130
  }
2131
2131
 
2132
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/double-precision.js
2132
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/double-precision.js
2133
2133
  var PgDoublePrecisionBuilder = class extends PgColumnBuilder {
2134
2134
  static [entityKind] = "PgDoublePrecisionBuilder";
2135
2135
  constructor(name2) {
@@ -2152,7 +2152,7 @@ function doublePrecision(name2) {
2152
2152
  return new PgDoublePrecisionBuilder(name2 ?? "");
2153
2153
  }
2154
2154
 
2155
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/inet.js
2155
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/inet.js
2156
2156
  var PgInetBuilder = class extends PgColumnBuilder {
2157
2157
  static [entityKind] = "PgInetBuilder";
2158
2158
  constructor(name2) {
@@ -2175,7 +2175,7 @@ function inet(name2) {
2175
2175
  return new PgInetBuilder(name2 ?? "");
2176
2176
  }
2177
2177
 
2178
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/integer.js
2178
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/integer.js
2179
2179
  var PgIntegerBuilder = class extends PgIntColumnBuilder {
2180
2180
  static [entityKind] = "PgIntegerBuilder";
2181
2181
  constructor(name2) {
@@ -2198,7 +2198,7 @@ function integer(name2) {
2198
2198
  return new PgIntegerBuilder(name2 ?? "");
2199
2199
  }
2200
2200
 
2201
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/interval.js
2201
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/interval.js
2202
2202
  var PgIntervalBuilder = class extends PgColumnBuilder {
2203
2203
  static [entityKind] = "PgIntervalBuilder";
2204
2204
  constructor(name2, intervalConfig) {
@@ -2230,7 +2230,7 @@ function interval(a, b = {}) {
2230
2230
  return new PgIntervalBuilder(name2, config);
2231
2231
  }
2232
2232
 
2233
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/json.js
2233
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/json.js
2234
2234
  var PgJsonBuilder = class extends PgColumnBuilder {
2235
2235
  static [entityKind] = "PgJsonBuilder";
2236
2236
  constructor(name2) {
@@ -2256,7 +2256,7 @@ function json(name2) {
2256
2256
  return new PgJsonBuilder(name2 ?? "");
2257
2257
  }
2258
2258
 
2259
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/jsonb.js
2259
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/jsonb.js
2260
2260
  var PgJsonbBuilder = class extends PgColumnBuilder {
2261
2261
  static [entityKind] = "PgJsonbBuilder";
2262
2262
  constructor(name2) {
@@ -2282,7 +2282,7 @@ function jsonb(name2) {
2282
2282
  return new PgJsonbBuilder(name2 ?? "");
2283
2283
  }
2284
2284
 
2285
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/line.js
2285
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/line.js
2286
2286
  var PgLineBuilder = class extends PgColumnBuilder {
2287
2287
  static [entityKind] = "PgLineBuilder";
2288
2288
  constructor(name2) {
@@ -2333,7 +2333,7 @@ function line(a, b) {
2333
2333
  return new PgLineABCBuilder(name2);
2334
2334
  }
2335
2335
 
2336
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/macaddr.js
2336
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/macaddr.js
2337
2337
  var PgMacaddrBuilder = class extends PgColumnBuilder {
2338
2338
  static [entityKind] = "PgMacaddrBuilder";
2339
2339
  constructor(name2) {
@@ -2356,7 +2356,7 @@ function macaddr(name2) {
2356
2356
  return new PgMacaddrBuilder(name2 ?? "");
2357
2357
  }
2358
2358
 
2359
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/macaddr8.js
2359
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/macaddr8.js
2360
2360
  var PgMacaddr8Builder = class extends PgColumnBuilder {
2361
2361
  static [entityKind] = "PgMacaddr8Builder";
2362
2362
  constructor(name2) {
@@ -2379,7 +2379,7 @@ function macaddr8(name2) {
2379
2379
  return new PgMacaddr8Builder(name2 ?? "");
2380
2380
  }
2381
2381
 
2382
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/numeric.js
2382
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/numeric.js
2383
2383
  var PgNumericBuilder = class extends PgColumnBuilder {
2384
2384
  static [entityKind] = "PgNumericBuilder";
2385
2385
  constructor(name2, precision, scale) {
@@ -2475,7 +2475,7 @@ function numeric(a, b) {
2475
2475
  return mode === "number" ? new PgNumericNumberBuilder(name2, config?.precision, config?.scale) : mode === "bigint" ? new PgNumericBigIntBuilder(name2, config?.precision, config?.scale) : new PgNumericBuilder(name2, config?.precision, config?.scale);
2476
2476
  }
2477
2477
 
2478
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/point.js
2478
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/point.js
2479
2479
  var PgPointTupleBuilder = class extends PgColumnBuilder {
2480
2480
  static [entityKind] = "PgPointTupleBuilder";
2481
2481
  constructor(name2) {
@@ -2526,7 +2526,7 @@ function point(a, b) {
2526
2526
  return new PgPointObjectBuilder(name2);
2527
2527
  }
2528
2528
 
2529
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js
2529
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js
2530
2530
  var PgGeometryBuilder = class extends PgColumnBuilder {
2531
2531
  static [entityKind] = "PgGeometryBuilder";
2532
2532
  constructor(name2, srid) {
@@ -2581,7 +2581,7 @@ function geometry(a, b) {
2581
2581
  return new PgGeometryObjectBuilder(name2, config?.srid);
2582
2582
  }
2583
2583
 
2584
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/real.js
2584
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/real.js
2585
2585
  var PgRealBuilder = class extends PgColumnBuilder {
2586
2586
  static [entityKind] = "PgRealBuilder";
2587
2587
  constructor(name2, length) {
@@ -2608,7 +2608,7 @@ function real(name2) {
2608
2608
  return new PgRealBuilder(name2 ?? "");
2609
2609
  }
2610
2610
 
2611
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/serial.js
2611
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/serial.js
2612
2612
  var PgSerialBuilder = class extends PgColumnBuilder {
2613
2613
  static [entityKind] = "PgSerialBuilder";
2614
2614
  constructor(name2) {
@@ -2633,7 +2633,7 @@ function serial(name2) {
2633
2633
  return new PgSerialBuilder(name2 ?? "");
2634
2634
  }
2635
2635
 
2636
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/smallint.js
2636
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/smallint.js
2637
2637
  var PgSmallIntBuilder = class extends PgIntColumnBuilder {
2638
2638
  static [entityKind] = "PgSmallIntBuilder";
2639
2639
  constructor(name2) {
@@ -2656,7 +2656,7 @@ function smallint(name2) {
2656
2656
  return new PgSmallIntBuilder(name2 ?? "");
2657
2657
  }
2658
2658
 
2659
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/smallserial.js
2659
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/smallserial.js
2660
2660
  var PgSmallSerialBuilder = class extends PgColumnBuilder {
2661
2661
  static [entityKind] = "PgSmallSerialBuilder";
2662
2662
  constructor(name2) {
@@ -2681,7 +2681,7 @@ function smallserial(name2) {
2681
2681
  return new PgSmallSerialBuilder(name2 ?? "");
2682
2682
  }
2683
2683
 
2684
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/text.js
2684
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/text.js
2685
2685
  var PgTextBuilder = class extends PgColumnBuilder {
2686
2686
  static [entityKind] = "PgTextBuilder";
2687
2687
  constructor(name2, config) {
@@ -2711,7 +2711,7 @@ function text(a, b = {}) {
2711
2711
  return new PgTextBuilder(name2, config);
2712
2712
  }
2713
2713
 
2714
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/time.js
2714
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/time.js
2715
2715
  var PgTimeBuilder = class extends PgDateColumnBuilder {
2716
2716
  static [entityKind] = "PgTimeBuilder";
2717
2717
  constructor(name2, withTimezone, precision) {
@@ -2746,7 +2746,7 @@ function time(a, b = {}) {
2746
2746
  return new PgTimeBuilder(name2, config.withTimezone ?? false, config.precision);
2747
2747
  }
2748
2748
 
2749
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/timestamp.js
2749
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/timestamp.js
2750
2750
  var PgTimestampBuilder = class extends PgDateColumnBuilder {
2751
2751
  static [entityKind] = "PgTimestampBuilder";
2752
2752
  constructor(name2, withTimezone, precision) {
@@ -2817,7 +2817,7 @@ function timestamp(a, b = {}) {
2817
2817
  return new PgTimestampBuilder(name2, config?.withTimezone ?? false, config?.precision);
2818
2818
  }
2819
2819
 
2820
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/uuid.js
2820
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/uuid.js
2821
2821
  var PgUUIDBuilder = class extends PgColumnBuilder {
2822
2822
  static [entityKind] = "PgUUIDBuilder";
2823
2823
  constructor(name2) {
@@ -2846,7 +2846,7 @@ function uuid(name2) {
2846
2846
  return new PgUUIDBuilder(name2 ?? "");
2847
2847
  }
2848
2848
 
2849
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/varchar.js
2849
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/varchar.js
2850
2850
  var PgVarcharBuilder = class extends PgColumnBuilder {
2851
2851
  static [entityKind] = "PgVarcharBuilder";
2852
2852
  constructor(name2, config) {
@@ -2877,7 +2877,7 @@ function varchar(a, b = {}) {
2877
2877
  return new PgVarcharBuilder(name2, config);
2878
2878
  }
2879
2879
 
2880
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js
2880
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js
2881
2881
  var PgBinaryVectorBuilder = class extends PgColumnBuilder {
2882
2882
  static [entityKind] = "PgBinaryVectorBuilder";
2883
2883
  constructor(name2, config) {
@@ -2903,7 +2903,7 @@ function bit(a, b) {
2903
2903
  return new PgBinaryVectorBuilder(name2, config);
2904
2904
  }
2905
2905
 
2906
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js
2906
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js
2907
2907
  var PgHalfVectorBuilder = class extends PgColumnBuilder {
2908
2908
  static [entityKind] = "PgHalfVectorBuilder";
2909
2909
  constructor(name2, config) {
@@ -2932,7 +2932,7 @@ function halfvec(a, b) {
2932
2932
  return new PgHalfVectorBuilder(name2, config);
2933
2933
  }
2934
2934
 
2935
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js
2935
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js
2936
2936
  var PgSparseVectorBuilder = class extends PgColumnBuilder {
2937
2937
  static [entityKind] = "PgSparseVectorBuilder";
2938
2938
  constructor(name2, config) {
@@ -2958,7 +2958,7 @@ function sparsevec(a, b) {
2958
2958
  return new PgSparseVectorBuilder(name2, config);
2959
2959
  }
2960
2960
 
2961
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js
2961
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js
2962
2962
  var PgVectorBuilder = class extends PgColumnBuilder {
2963
2963
  static [entityKind] = "PgVectorBuilder";
2964
2964
  constructor(name2, config) {
@@ -2987,7 +2987,7 @@ function vector(a, b) {
2987
2987
  return new PgVectorBuilder(name2, config);
2988
2988
  }
2989
2989
 
2990
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/columns/all.js
2990
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/columns/all.js
2991
2991
  function getPgColumnBuilders() {
2992
2992
  return {
2993
2993
  bigint,
@@ -3025,7 +3025,7 @@ function getPgColumnBuilders() {
3025
3025
  };
3026
3026
  }
3027
3027
 
3028
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/casing.js
3028
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/casing.js
3029
3029
  function toSnakeCase(input) {
3030
3030
  return (input.replace(/['\u2019]/g, "").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g) ?? []).map((word) => word.toLowerCase()).join("_");
3031
3031
  }
@@ -3040,7 +3040,7 @@ function getCasingFn(casing) {
3040
3040
  return (name2) => name2;
3041
3041
  }
3042
3042
 
3043
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/table.js
3043
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/table.js
3044
3044
  var InlineForeignKeys = /* @__PURE__ */ Symbol.for("drizzle:PgInlineForeignKeys");
3045
3045
  var EnableRLS = /* @__PURE__ */ Symbol.for("drizzle:EnableRLS");
3046
3046
  var PgTable = class extends Table {
@@ -3097,7 +3097,7 @@ function pgTableWithCasing(casing) {
3097
3097
  }
3098
3098
  var pgTable = pgTableWithCasing(void 0);
3099
3099
 
3100
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/primary-keys.js
3100
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/primary-keys.js
3101
3101
  function primaryKey(...config) {
3102
3102
  if (config[0].columns) return new PrimaryKeyBuilder(config[0].columns, config[0].name);
3103
3103
  return new PrimaryKeyBuilder(config);
@@ -3133,11 +3133,11 @@ var PrimaryKey = class {
3133
3133
  }
3134
3134
  };
3135
3135
 
3136
- // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_ddee5fb76746466f3ac889c123576420/node_modules/drizzle-orm/pg-core/indexes.js
3136
+ // ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.3_@effect+sql-pg@4.0.0-beta.92_effect@4.0.0-beta.92__@types+pg@8.2_b88542aae6c05f0832f8498132552c4c/node_modules/drizzle-orm/pg-core/indexes.js
3137
3137
  var IndexBuilderOn = class {
3138
3138
  static [entityKind] = "PgIndexBuilderOn";
3139
- constructor(unique, name2) {
3140
- this.unique = unique;
3139
+ constructor(unique2, name2) {
3140
+ this.unique = unique2;
3141
3141
  this.name = name2;
3142
3142
  }
3143
3143
  on(...columns) {
@@ -3192,11 +3192,11 @@ var IndexBuilder = class {
3192
3192
  static [entityKind] = "PgIndexBuilder";
3193
3193
  /** @internal */
3194
3194
  config;
3195
- constructor(columns, unique, only, name2, method = "btree") {
3195
+ constructor(columns, unique2, only, name2, method = "btree") {
3196
3196
  this.config = {
3197
3197
  name: name2,
3198
3198
  columns,
3199
- unique,
3199
+ unique: unique2,
3200
3200
  only,
3201
3201
  method
3202
3202
  };
@@ -4332,19 +4332,260 @@ function runSyncProgram(options) {
4332
4332
  }).pipe(Effect10.provide(SyncProgramLive));
4333
4333
  }
4334
4334
 
4335
+ // src/setup.ts
4336
+ import { spawnSync } from "child_process";
4337
+ import { randomInt } from "crypto";
4338
+ import { chmodSync, existsSync, readFileSync as readFileSync2, writeFileSync } from "fs";
4339
+ import { homedir as readHomedir2, hostname as readHostname2 } from "os";
4340
+ import { dirname, join as join2 } from "path";
4341
+ import process2 from "process";
4342
+ import { createInterface } from "readline/promises";
4343
+ var CRON_START_MARKER = "# OopsT sync start";
4344
+ var CRON_END_MARKER = "# OopsT sync end";
4345
+ var DEFAULT_CRON_PATHS = ["/opt/homebrew/bin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/sbin", "/sbin"];
4346
+ var DEFAULT_PACKAGE_NAME = "@cookielab.io/oopst";
4347
+ var CONFIG_FILE_MODE = 384;
4348
+ var LINE_SPLIT_PATTERN = /\r?\n/u;
4349
+ var SetupError = class extends Error {
4350
+ exitCode;
4351
+ constructor(message, options = {}) {
4352
+ super(message, options);
4353
+ this.name = "SetupError";
4354
+ this.exitCode = options.exitCode ?? EXIT.generalFailure;
4355
+ }
4356
+ };
4357
+ function defaultCommandRunner(command, args, input) {
4358
+ const result = spawnSync(command, [...args], {
4359
+ encoding: "utf8",
4360
+ input
4361
+ });
4362
+ return {
4363
+ status: result.status,
4364
+ stdout: result.stdout ?? "",
4365
+ stderr: result.stderr ?? "",
4366
+ error: result.error
4367
+ };
4368
+ }
4369
+ function writeLine(output, message) {
4370
+ output.write(`${message}
4371
+ `);
4372
+ }
4373
+ function normalizeInput(value) {
4374
+ return value.trim();
4375
+ }
4376
+ function yamlString(value) {
4377
+ return JSON.stringify(value);
4378
+ }
4379
+ function formatSetupConfig(options) {
4380
+ return [
4381
+ "server:",
4382
+ ` api: ${yamlString(options.api)}`,
4383
+ ` token: ${yamlString(options.token)}`,
4384
+ ` device: ${yamlString(options.device)}`,
4385
+ ""
4386
+ ].join("\n");
4387
+ }
4388
+ async function askWithDefault(rl, label, defaultValue) {
4389
+ const answer = normalizeInput(await rl.question(`${label} (${defaultValue}): `));
4390
+ return answer.length > 0 ? answer : defaultValue;
4391
+ }
4392
+ async function askRequired(rl, label) {
4393
+ const answer = normalizeInput(await rl.question(`${label}: `));
4394
+ if (answer.length > 0) {
4395
+ return answer;
4396
+ }
4397
+ return askRequired(rl, label);
4398
+ }
4399
+ async function askYesNo(rl, label, defaultValue) {
4400
+ const suffix = defaultValue ? "[Y/n]" : "[y/N]";
4401
+ const answer = normalizeInput(await rl.question(`${label} ${suffix}: `)).toLowerCase();
4402
+ if (answer.length === 0) {
4403
+ return defaultValue;
4404
+ }
4405
+ if (answer === "y" || answer === "yes") {
4406
+ return true;
4407
+ }
4408
+ if (answer === "n" || answer === "no") {
4409
+ return false;
4410
+ }
4411
+ return askYesNo(rl, label, defaultValue);
4412
+ }
4413
+ function readlinePrompts(rl) {
4414
+ return {
4415
+ askWithDefault: (label, defaultValue) => askWithDefault(rl, label, defaultValue),
4416
+ askRequired: (label) => askRequired(rl, label),
4417
+ askYesNo: (label, defaultValue) => askYesNo(rl, label, defaultValue)
4418
+ };
4419
+ }
4420
+ function writeSetupConfig(path, options) {
4421
+ try {
4422
+ writeFileSync(path, formatSetupConfig(options), { encoding: "utf8", mode: CONFIG_FILE_MODE });
4423
+ chmodSync(path, CONFIG_FILE_MODE);
4424
+ } catch (err) {
4425
+ const reason = err instanceof Error ? err.message : String(err);
4426
+ throw new SetupError(`failed to write ${path}: ${reason}`, { cause: err });
4427
+ }
4428
+ }
4429
+ function shellQuote(value) {
4430
+ return `'${value.replaceAll("'", "'\\''")}'`;
4431
+ }
4432
+ function unique(values) {
4433
+ return [...new Set(values.filter((value) => value.length > 0))];
4434
+ }
4435
+ function buildCronPath(options) {
4436
+ return unique([dirname(options.npxPath), dirname(options.nodePath), ...DEFAULT_CRON_PATHS]).join(":");
4437
+ }
4438
+ function buildCronBlock(options) {
4439
+ const path = buildCronPath({ npxPath: options.npxPath, nodePath: options.nodePath });
4440
+ const command = [
4441
+ `PATH=${shellQuote(path)}`,
4442
+ shellQuote(options.npxPath),
4443
+ "-y",
4444
+ shellQuote(options.packageName),
4445
+ "sync",
4446
+ ">>",
4447
+ shellQuote(options.logPath),
4448
+ "2>&1"
4449
+ ].join(" ");
4450
+ return [CRON_START_MARKER, `${options.minute} * * * * ${command}`, CRON_END_MARKER].join("\n");
4451
+ }
4452
+ function escapeRegex(value) {
4453
+ return value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
4454
+ }
4455
+ function replaceManagedCronBlock(existingCrontab, managedBlock) {
4456
+ const blockPattern = new RegExp(
4457
+ `(?:^|\\n)${escapeRegex(CRON_START_MARKER)}\\n[\\s\\S]*?\\n${escapeRegex(CRON_END_MARKER)}\\n?`,
4458
+ "u"
4459
+ );
4460
+ const withoutManagedBlock = existingCrontab.replace(blockPattern, "\n").trimEnd();
4461
+ return withoutManagedBlock.length > 0 ? `${withoutManagedBlock}
4462
+ ${managedBlock}
4463
+ ` : `${managedBlock}
4464
+ `;
4465
+ }
4466
+ function findNpxPath(commandRunner) {
4467
+ const result = commandRunner("/bin/sh", ["-lc", "command -v npx"]);
4468
+ const npxPath = result.stdout.trim().split(LINE_SPLIT_PATTERN)[0] ?? "";
4469
+ if (result.status === 0 && npxPath.length > 0) {
4470
+ return npxPath;
4471
+ }
4472
+ const reason = result.error?.message ?? result.stderr.trim() ?? "npx was not found";
4473
+ throw new SetupError(`failed to set up cron: ${reason}`);
4474
+ }
4475
+ function listCrontab(commandRunner) {
4476
+ const result = commandRunner("crontab", ["-l"]);
4477
+ if (result.status === 0) {
4478
+ return result.stdout;
4479
+ }
4480
+ if (result.stderr.toLowerCase().includes("no crontab")) {
4481
+ return "";
4482
+ }
4483
+ const reason = result.error?.message ?? result.stderr.trim() ?? "crontab -l failed";
4484
+ throw new SetupError(`failed to read existing crontab: ${reason}`);
4485
+ }
4486
+ function installCronBlock(commandRunner, managedBlock) {
4487
+ const existingCrontab = listCrontab(commandRunner);
4488
+ const updatedCrontab = replaceManagedCronBlock(existingCrontab, managedBlock);
4489
+ const result = commandRunner("crontab", ["-"], updatedCrontab);
4490
+ if (result.status !== 0) {
4491
+ const reason = result.error?.message ?? result.stderr.trim() ?? "crontab update failed";
4492
+ throw new SetupError(`failed to install cron entry: ${reason}`);
4493
+ }
4494
+ }
4495
+ function readExistingConfig(homeDir, hostName) {
4496
+ const path = userConfigPath(homeDir);
4497
+ if (!existsSync(path)) {
4498
+ return { serverUrl: DEFAULT_SERVER_URL, device: hostName };
4499
+ }
4500
+ try {
4501
+ const config = loadCliConfig({
4502
+ configFileText: readFileSync2(path, "utf8"),
4503
+ configPath: path,
4504
+ env: {},
4505
+ homeDir,
4506
+ hostName
4507
+ });
4508
+ return { serverUrl: config.serverUrl, device: config.device ?? hostName };
4509
+ } catch (err) {
4510
+ if (err instanceof CliConfigError) {
4511
+ throw err;
4512
+ }
4513
+ const reason = err instanceof Error ? err.message : String(err);
4514
+ throw new SetupError(`failed to read existing ${path}: ${reason}`, { cause: err });
4515
+ }
4516
+ }
4517
+ function resolveApiValue(apiFlag2, prompts, defaultServerUrl) {
4518
+ return apiFlag2 === void 0 ? prompts.askWithDefault("Server URL", defaultServerUrl) : Promise.resolve(normalizeInput(apiFlag2));
4519
+ }
4520
+ function installSetupCron(options) {
4521
+ const npxPath = findNpxPath(options.commandRunner);
4522
+ const minute = options.randomMinute?.() ?? randomInt(0, 60);
4523
+ const logPath = join2(options.homeDir, ".oopst-sync.log");
4524
+ const managedBlock = buildCronBlock({
4525
+ minute,
4526
+ packageName: options.packageName,
4527
+ npxPath,
4528
+ nodePath: options.nodePath,
4529
+ logPath
4530
+ });
4531
+ installCronBlock(options.commandRunner, managedBlock);
4532
+ return { minute, npxPath };
4533
+ }
4534
+ async function runSetup(options = {}) {
4535
+ const homeDir = options.homeDir ?? readHomedir2();
4536
+ const hostName = options.hostName ?? readHostname2();
4537
+ const input = options.input ?? process2.stdin;
4538
+ const output = options.output ?? process2.stdout;
4539
+ const packageName = options.packageName ?? DEFAULT_PACKAGE_NAME;
4540
+ const commandRunner = options.commandRunner ?? defaultCommandRunner;
4541
+ const nodePath = options.nodePath ?? process2.execPath;
4542
+ const configPath = userConfigPath(homeDir);
4543
+ const defaults = readExistingConfig(homeDir, hostName);
4544
+ const apiFlag2 = options.api ?? options.server;
4545
+ const rl = options.prompts === void 0 ? createInterface({ input, output }) : void 0;
4546
+ const prompts = options.prompts ?? readlinePrompts(rl);
4547
+ try {
4548
+ const api = await resolveApiValue(apiFlag2, prompts, defaults.serverUrl);
4549
+ if (api.length === 0) {
4550
+ throw new SetupError("error: --api must be a non-empty string", { exitCode: EXIT.invalidArguments });
4551
+ }
4552
+ const device = await prompts.askWithDefault("Device name", defaults.device ?? hostName);
4553
+ const token = await prompts.askRequired("Token");
4554
+ const shouldInstallCron = await prompts.askYesNo("Setup cron?", false);
4555
+ writeSetupConfig(configPath, { api, token, device });
4556
+ writeLine(output, `Wrote ${configPath}`);
4557
+ if (!shouldInstallCron) {
4558
+ writeLine(output, "Cron setup skipped.");
4559
+ return { exitCode: EXIT.success, configPath, cronInstalled: false };
4560
+ }
4561
+ const { minute, npxPath } = installSetupCron({
4562
+ commandRunner,
4563
+ randomMinute: options.randomMinute,
4564
+ packageName,
4565
+ nodePath,
4566
+ homeDir
4567
+ });
4568
+ writeLine(output, `Installed cron entry for minute ${minute} of every hour.`);
4569
+ writeLine(output, `Cron uses ${npxPath} with an explicit PATH so it does not depend on your login shell.`);
4570
+ return { exitCode: EXIT.success, configPath, cronInstalled: true, cronMinute: minute };
4571
+ } finally {
4572
+ rl?.close();
4573
+ }
4574
+ }
4575
+
4335
4576
  // src/sync/parser-factory.ts
4336
- import { dirname as dirname2, isAbsolute as isAbsolute3, join as join6, matchesGlob, relative } from "path";
4577
+ import { dirname as dirname3, isAbsolute as isAbsolute3, join as join7, matchesGlob, relative } from "path";
4337
4578
 
4338
4579
  // ../../packages/parsers/src/claude/index.ts
4339
4580
  import { stat as stat2 } from "fs/promises";
4340
- import { basename, dirname } from "path";
4581
+ import { basename, dirname as dirname2 } from "path";
4341
4582
 
4342
4583
  // ../../packages/parsers/src/config.ts
4343
4584
  import { homedir } from "os";
4344
- import { isAbsolute as isAbsolute2, join as join2 } from "path";
4345
- import process2 from "process";
4585
+ import { isAbsolute as isAbsolute2, join as join3 } from "path";
4586
+ import process3 from "process";
4346
4587
  import { Config as Config2, ConfigProvider as ConfigProvider2, Effect as Effect11, Schema as Schema14 } from "effect";
4347
- var runtimeEnv2 = process2["env"];
4588
+ var runtimeEnv2 = process3["env"];
4348
4589
  var RawParserEnvSchema = Schema14.Struct({
4349
4590
  // biome-ignore lint/style/useNamingConvention: ENV vars are SCREAMING_SNAKE_CASE by convention
4350
4591
  CLAUDE_CONFIG_DIR: Schema14.optional(Schema14.Trim),
@@ -4384,22 +4625,22 @@ function readParserHomeDir() {
4384
4625
  return homedir();
4385
4626
  }
4386
4627
  function resolveCodexSessionsRoot(homeDir = readParserHomeDir()) {
4387
- return join2(homeDir, ".codex", "sessions");
4628
+ return join3(homeDir, ".codex", "sessions");
4388
4629
  }
4389
4630
  function resolveCodexArchivedRoot(homeDir = readParserHomeDir()) {
4390
- return join2(homeDir, ".codex", "archived_sessions");
4631
+ return join3(homeDir, ".codex", "archived_sessions");
4391
4632
  }
4392
4633
  function resolveClaudeRoot(config = loadParserConfig(), homeDir = readParserHomeDir()) {
4393
- return config.claudeConfigDir === void 0 ? join2(homeDir, ".claude", "projects") : join2(config.claudeConfigDir, "projects");
4634
+ return config.claudeConfigDir === void 0 ? join3(homeDir, ".claude", "projects") : join3(config.claudeConfigDir, "projects");
4394
4635
  }
4395
4636
  function resolvePiRoot(config = loadParserConfig(), homeDir = readParserHomeDir()) {
4396
- return config.piSessionDir ?? join2(config.piAgentDir ?? join2(homeDir, ".pi", "agent"), "sessions");
4637
+ return config.piSessionDir ?? join3(config.piAgentDir ?? join3(homeDir, ".pi", "agent"), "sessions");
4397
4638
  }
4398
4639
  function resolveHermesRoot(config = loadParserConfig(), homeDir = readParserHomeDir()) {
4399
- return config.hermesSessionDir ?? config.hermesAgentDir ?? join2(homeDir, ".hermes");
4640
+ return config.hermesSessionDir ?? config.hermesAgentDir ?? join3(homeDir, ".hermes");
4400
4641
  }
4401
4642
  function resolveOpenCodeDataRoot(config = loadParserConfig(), homeDir = readParserHomeDir()) {
4402
- return config.openCodeDataDir ?? join2(homeDir, ".local", "share", "opencode");
4643
+ return config.openCodeDataDir ?? join3(homeDir, ".local", "share", "opencode");
4403
4644
  }
4404
4645
  function resolveOpenCodeRoot(config = loadParserConfig(), homeDir = readParserHomeDir()) {
4405
4646
  const dataRoot = resolveOpenCodeDataRoot(config, homeDir);
@@ -4407,21 +4648,21 @@ function resolveOpenCodeRoot(config = loadParserConfig(), homeDir = readParserHo
4407
4648
  if (dbPath === void 0 || dbPath === ":memory:") {
4408
4649
  return dbPath ?? dataRoot;
4409
4650
  }
4410
- return isAbsolute2(dbPath) ? dbPath : join2(dataRoot, dbPath);
4651
+ return isAbsolute2(dbPath) ? dbPath : join3(dataRoot, dbPath);
4411
4652
  }
4412
4653
 
4413
4654
  // ../../packages/parsers/src/types.ts
4414
- import process3 from "process";
4655
+ import process4 from "process";
4415
4656
  function formatLogMeta(meta) {
4416
4657
  return JSON.stringify(meta);
4417
4658
  }
4418
4659
  var consoleLogger = {
4419
4660
  warn: (msg, meta) => {
4420
4661
  if (meta === void 0) {
4421
- process3.stderr.write(`${msg}
4662
+ process4.stderr.write(`${msg}
4422
4663
  `);
4423
4664
  } else {
4424
- process3.stderr.write(`${msg} ${formatLogMeta(meta)}
4665
+ process4.stderr.write(`${msg} ${formatLogMeta(meta)}
4425
4666
  `);
4426
4667
  }
4427
4668
  }
@@ -4432,7 +4673,7 @@ import { Effect as Effect13 } from "effect";
4432
4673
 
4433
4674
  // ../../packages/parsers/src/effect/file-walker.ts
4434
4675
  import { readdir, stat } from "fs/promises";
4435
- import { join as join3 } from "path";
4676
+ import { join as join4 } from "path";
4436
4677
  import { Context as Context5, Effect as Effect12, Layer as Layer6 } from "effect";
4437
4678
  var FileWalker = class extends Context5.Service()("@oopst/parsers/FileWalker") {
4438
4679
  };
@@ -4444,7 +4685,7 @@ async function* walkJsonlFiles(root, cutoff) {
4444
4685
  return;
4445
4686
  }
4446
4687
  for (const entry of entries) {
4447
- const full = join3(root, String(entry.name));
4688
+ const full = join4(root, String(entry.name));
4448
4689
  if (entry.isDirectory()) {
4449
4690
  yield* walkJsonlFiles(full, cutoff);
4450
4691
  continue;
@@ -4485,11 +4726,11 @@ async function* walk(root, cutoff) {
4485
4726
 
4486
4727
  // ../../packages/parsers/src/claude/bucketize.ts
4487
4728
  import { createReadStream as createReadStream2 } from "fs";
4488
- import { createInterface as createInterface2 } from "readline";
4729
+ import { createInterface as createInterface3 } from "readline";
4489
4730
 
4490
4731
  // ../../packages/parsers/src/codex/bucketize.ts
4491
4732
  import { createReadStream } from "fs";
4492
- import { createInterface } from "readline";
4733
+ import { createInterface as createInterface2 } from "readline";
4493
4734
 
4494
4735
  // ../../packages/parsers/src/codex/events.ts
4495
4736
  function isObject(value) {
@@ -4626,7 +4867,7 @@ async function* bucketizeCodexFile(path, logger, options = {}) {
4626
4867
  let sessionStartedAt;
4627
4868
  let sessionLastSeenAt;
4628
4869
  const stream = createReadStream(path, { encoding: "utf8" });
4629
- const rl = createInterface({ input: stream, crlfDelay: Number.POSITIVE_INFINITY });
4870
+ const rl = createInterface2({ input: stream, crlfDelay: Number.POSITIVE_INFINITY });
4630
4871
  try {
4631
4872
  for await (const raw of rl) {
4632
4873
  lineNo += 1;
@@ -4792,7 +5033,7 @@ async function* bucketizeClaudeFile(path, logger, options = {}) {
4792
5033
  let sessionStartedAt;
4793
5034
  let sessionLastSeenAt;
4794
5035
  const stream = createReadStream2(path, { encoding: "utf8" });
4795
- const rl = createInterface2({ input: stream, crlfDelay: Number.POSITIVE_INFINITY });
5036
+ const rl = createInterface3({ input: stream, crlfDelay: Number.POSITIVE_INFINITY });
4796
5037
  try {
4797
5038
  for await (const raw of rl) {
4798
5039
  lineNo += 1;
@@ -4892,11 +5133,11 @@ async function isFile(path) {
4892
5133
  }
4893
5134
  }
4894
5135
  function sourceSessionId(path) {
4895
- const fileDir = dirname(path);
5136
+ const fileDir = dirname2(path);
4896
5137
  if (basename(fileDir) !== "subagents") {
4897
5138
  return path;
4898
5139
  }
4899
- const sessionDir = dirname(fileDir);
5140
+ const sessionDir = dirname2(fileDir);
4900
5141
  return `${sessionDir}.jsonl`;
4901
5142
  }
4902
5143
  async function* parseClaude(opts) {
@@ -4966,7 +5207,7 @@ async function* parseCodex(opts) {
4966
5207
 
4967
5208
  // ../../packages/parsers/src/opencode/index.ts
4968
5209
  import { readdir as readdir2, stat as stat4 } from "fs/promises";
4969
- import { basename as basename2, join as join4 } from "path";
5210
+ import { basename as basename2, join as join5 } from "path";
4970
5211
 
4971
5212
  // ../../packages/parsers/src/opencode/bucketize.ts
4972
5213
  import { readFile } from "fs/promises";
@@ -5311,10 +5552,10 @@ async function listOpenCodeDatabases(root) {
5311
5552
  } catch {
5312
5553
  return [];
5313
5554
  }
5314
- return entries.filter((entry) => entry.isFile() && OPENCODE_DB_FILE_PATTERN.test(String(entry.name))).map((entry) => join4(root, String(entry.name)));
5555
+ return entries.filter((entry) => entry.isFile() && OPENCODE_DB_FILE_PATTERN.test(String(entry.name))).map((entry) => join5(root, String(entry.name)));
5315
5556
  }
5316
5557
  async function listProjectLegacyRoots(root) {
5317
- const projectRoot = join4(root, "project");
5558
+ const projectRoot = join5(root, "project");
5318
5559
  let entries;
5319
5560
  try {
5320
5561
  entries = await readdir2(projectRoot, { withFileTypes: true });
@@ -5322,14 +5563,14 @@ async function listProjectLegacyRoots(root) {
5322
5563
  return [];
5323
5564
  }
5324
5565
  return entries.filter((entry) => entry.isDirectory()).flatMap((entry) => [
5325
- join4(projectRoot, String(entry.name), "storage", "message"),
5326
- join4(projectRoot, String(entry.name), "storage", "session", "message")
5566
+ join5(projectRoot, String(entry.name), "storage", "message"),
5567
+ join5(projectRoot, String(entry.name), "storage", "session", "message")
5327
5568
  ]);
5328
5569
  }
5329
5570
  async function legacyRoots(root) {
5330
5571
  return [
5331
- join4(root, "storage", "message"),
5332
- join4(root, "storage", "session", "message"),
5572
+ join5(root, "storage", "message"),
5573
+ join5(root, "storage", "session", "message"),
5333
5574
  ...await listProjectLegacyRoots(root)
5334
5575
  ];
5335
5576
  }
@@ -5341,7 +5582,7 @@ async function* walkJson(root, cutoff) {
5341
5582
  return;
5342
5583
  }
5343
5584
  for (const entry of entries) {
5344
- const full = join4(root, String(entry.name));
5585
+ const full = join5(root, String(entry.name));
5345
5586
  if (entry.isDirectory()) {
5346
5587
  yield* walkJson(full, cutoff);
5347
5588
  continue;
@@ -5391,11 +5632,11 @@ async function* parseOpenCode(opts) {
5391
5632
 
5392
5633
  // ../../packages/parsers/src/pi/index.ts
5393
5634
  import { stat as stat5 } from "fs/promises";
5394
- import { basename as basename3, join as join5 } from "path";
5635
+ import { basename as basename3, join as join6 } from "path";
5395
5636
 
5396
5637
  // ../../packages/parsers/src/pi/bucketize.ts
5397
5638
  import { createReadStream as createReadStream3 } from "fs";
5398
- import { createInterface as createInterface3 } from "readline";
5639
+ import { createInterface as createInterface4 } from "readline";
5399
5640
 
5400
5641
  // ../../packages/parsers/src/pi/events.ts
5401
5642
  function isObject4(value) {
@@ -5571,7 +5812,7 @@ async function* bucketizePiStyleFile(path, harness, logger, options = {}) {
5571
5812
  let sessionStartedAt;
5572
5813
  let sessionLastSeenAt;
5573
5814
  const stream = createReadStream3(path, { encoding: "utf8" });
5574
- const rl = createInterface3({ input: stream, crlfDelay: Number.POSITIVE_INFINITY });
5815
+ const rl = createInterface4({ input: stream, crlfDelay: Number.POSITIVE_INFINITY });
5575
5816
  try {
5576
5817
  for await (const raw of rl) {
5577
5818
  lineNo += 1;
@@ -5738,12 +5979,12 @@ async function* parseHermes(opts) {
5738
5979
  yield* bucketizePiStyleFile(root, "hermes", logger, { excludePath: opts.excludePath });
5739
5980
  return;
5740
5981
  }
5741
- const stateDb = join5(root, "state.db");
5982
+ const stateDb = join6(root, "state.db");
5742
5983
  if (await isFile3(stateDb)) {
5743
5984
  yield* bucketizeHermesDatabase(stateDb, opts.cutoff, logger, opts.excludePath);
5744
5985
  return;
5745
5986
  }
5746
- const sessionsRoot2 = join5(root, "sessions");
5987
+ const sessionsRoot2 = join6(root, "sessions");
5747
5988
  if (await pathKind2(sessionsRoot2) === "directory") {
5748
5989
  const seenMessageIds2 = /* @__PURE__ */ new Set();
5749
5990
  for await (const file of walk(sessionsRoot2, opts.cutoff)) {
@@ -5754,7 +5995,7 @@ async function* parseHermes(opts) {
5754
5995
  }
5755
5996
  return;
5756
5997
  }
5757
- const agentSessionsRoot = join5(root, "agent", "sessions");
5998
+ const agentSessionsRoot = join6(root, "agent", "sessions");
5758
5999
  if (await pathKind2(agentSessionsRoot) === "directory") {
5759
6000
  const seenMessageIds2 = /* @__PURE__ */ new Set();
5760
6001
  for await (const file of walk(agentSessionsRoot, opts.cutoff)) {
@@ -5778,7 +6019,7 @@ async function* parseHermes(opts) {
5778
6019
  import { Effect as Effect16 } from "effect";
5779
6020
 
5780
6021
  // src/services/parser-sources.ts
5781
- import { existsSync, readdirSync, statSync } from "fs";
6022
+ import { existsSync as existsSync2, readdirSync, statSync } from "fs";
5782
6023
  import { homedir as homedir2 } from "os";
5783
6024
  import { Context as Context6, Effect as Effect15, Layer as Layer7 } from "effect";
5784
6025
  var ParserSources = class extends Context6.Service()("@oopst/cli/ParserSources") {
@@ -5787,7 +6028,7 @@ function makeParserSources() {
5787
6028
  return {
5788
6029
  homeDir: Effect15.sync(() => homedir2()),
5789
6030
  cliEnv: Effect15.sync(() => readCliEnv()),
5790
- exists: (path) => Effect15.sync(() => existsSync(path)),
6031
+ exists: (path) => Effect15.sync(() => existsSync2(path)),
5791
6032
  isFile: (path) => Effect15.sync(() => {
5792
6033
  try {
5793
6034
  return statSync(path).isFile();
@@ -5810,13 +6051,13 @@ var ParserSourcesLive = Layer7.succeed(ParserSources, makeParserSources());
5810
6051
  var OPENCODE_DB_FILE_PATTERN2 = /^opencode(?:-[^/]+)?\.db$/u;
5811
6052
  var GLOB_PATTERN = /[*?[\]{}]/u;
5812
6053
  function sessionsRoot(agentDir, sessionDir, fallbackAgentDir) {
5813
- return sessionDir ?? join6(agentDir ?? fallbackAgentDir, "sessions");
6054
+ return sessionDir ?? join7(agentDir ?? fallbackAgentDir, "sessions");
5814
6055
  }
5815
6056
  function hermesRoot(home, env) {
5816
- return env.hermesSessionDir ?? env.hermesAgentDir ?? join6(home, ".hermes");
6057
+ return env.hermesSessionDir ?? env.hermesAgentDir ?? join7(home, ".hermes");
5817
6058
  }
5818
6059
  function defaultOpenCodeDataRoot(home) {
5819
- return join6(home, ".local", "share", "opencode");
6060
+ return join7(home, ".local", "share", "opencode");
5820
6061
  }
5821
6062
  function openCodeRoot(home, env) {
5822
6063
  const dataRoot = env.opencodeDataDir ?? defaultOpenCodeDataRoot(home);
@@ -5824,14 +6065,14 @@ function openCodeRoot(home, env) {
5824
6065
  if (dbPath === void 0 || dbPath === ":memory:") {
5825
6066
  return dbPath ?? dataRoot;
5826
6067
  }
5827
- return isAbsolute3(dbPath) ? dbPath : join6(dataRoot, dbPath);
6068
+ return isAbsolute3(dbPath) ? dbPath : join7(dataRoot, dbPath);
5828
6069
  }
5829
6070
  function hasOpenCodeDatabaseEffect(root) {
5830
6071
  return Effect16.gen(function* () {
5831
6072
  const sources = yield* ParserSources;
5832
6073
  const entries = yield* sources.readDir(root);
5833
6074
  for (const entry of entries) {
5834
- if (OPENCODE_DB_FILE_PATTERN2.test(entry) && (yield* sources.isFile(join6(root, entry)))) {
6075
+ if (OPENCODE_DB_FILE_PATTERN2.test(entry) && (yield* sources.isFile(join7(root, entry)))) {
5835
6076
  return true;
5836
6077
  }
5837
6078
  }
@@ -5847,13 +6088,13 @@ function openCodeSourceExistsEffect(root) {
5847
6088
  if (yield* sources.isFile(root)) {
5848
6089
  return true;
5849
6090
  }
5850
- return (yield* hasOpenCodeDatabaseEffect(root)) || (yield* sources.exists(join6(root, "storage", "message"))) || (yield* sources.exists(join6(root, "storage", "session", "message"))) || (yield* sources.exists(join6(root, "project")));
6091
+ return (yield* hasOpenCodeDatabaseEffect(root)) || (yield* sources.exists(join7(root, "storage", "message"))) || (yield* sources.exists(join7(root, "storage", "session", "message"))) || (yield* sources.exists(join7(root, "project")));
5851
6092
  });
5852
6093
  }
5853
6094
  function hermesSourceExistsEffect(root) {
5854
6095
  return Effect16.gen(function* () {
5855
6096
  const sources = yield* ParserSources;
5856
- return (yield* sources.isFile(root)) || (yield* sources.exists(join6(root, "state.db"))) || (yield* sources.exists(join6(root, "sessions"))) || (yield* sources.exists(join6(root, "agent", "sessions")));
6097
+ return (yield* sources.isFile(root)) || (yield* sources.exists(join7(root, "state.db"))) || (yield* sources.exists(join7(root, "sessions"))) || (yield* sources.exists(join7(root, "agent", "sessions")));
5857
6098
  });
5858
6099
  }
5859
6100
  function isPathInsideOrEqual(path, parent) {
@@ -5875,7 +6116,7 @@ function matchesPathOrAncestorGlob(path, pattern) {
5875
6116
  if (matchesGlob(current, pattern)) {
5876
6117
  return true;
5877
6118
  }
5878
- const parent = dirname2(current);
6119
+ const parent = dirname3(current);
5879
6120
  if (parent === current) {
5880
6121
  return false;
5881
6122
  }
@@ -5905,13 +6146,13 @@ function resolveParserSourcePlanEffect(options = {}) {
5905
6146
  const sources = yield* ParserSources;
5906
6147
  const home = yield* sources.homeDir;
5907
6148
  const env = yield* sources.cliEnv;
5908
- const codexSessionsRoot = join6(home, ".codex", "sessions");
5909
- const codexArchivedRoot = join6(home, ".codex", "archived_sessions");
6149
+ const codexSessionsRoot = join7(home, ".codex", "sessions");
6150
+ const codexArchivedRoot = join7(home, ".codex", "archived_sessions");
5910
6151
  const codexExists = (yield* sources.exists(codexSessionsRoot)) || (yield* sources.exists(codexArchivedRoot));
5911
6152
  const envDir = env.claudeConfigDir;
5912
- const claudeRoot = envDir == null ? join6(home, ".claude", "projects") : join6(envDir, "projects");
6153
+ const claudeRoot = envDir == null ? join7(home, ".claude", "projects") : join7(envDir, "projects");
5913
6154
  const claudeExists = yield* sources.exists(claudeRoot);
5914
- const piRoot = sessionsRoot(env.piAgentDir, env.piSessionDir, join6(home, ".pi", "agent"));
6155
+ const piRoot = sessionsRoot(env.piAgentDir, env.piSessionDir, join7(home, ".pi", "agent"));
5915
6156
  const piExists = yield* sources.exists(piRoot);
5916
6157
  const hermesSourceRoot = hermesRoot(home, env);
5917
6158
  const hermesExists = yield* hermesSourceExistsEffect(hermesSourceRoot);
@@ -5964,15 +6205,15 @@ var CliExit = class extends Error {
5964
6205
  this[Runtime.errorExitCode] = exitCode;
5965
6206
  }
5966
6207
  };
5967
- function readPackageVersion() {
5968
- const raw = readFileSync2(new URL("../package.json", import.meta.url), "utf8");
6208
+ function readPackageMetadata() {
6209
+ const raw = readFileSync3(new URL("../package.json", import.meta.url), "utf8");
5969
6210
  const parsed = JSON.parse(raw);
5970
- if (typeof parsed.version === "string" && parsed.version.length > 0) {
5971
- return parsed.version;
5972
- }
5973
- return "0.0.0";
6211
+ return {
6212
+ name: typeof parsed.name === "string" && parsed.name.length > 0 ? parsed.name : "@cookielab.io/oopst",
6213
+ version: typeof parsed.version === "string" && parsed.version.length > 0 ? parsed.version : "0.0.0"
6214
+ };
5974
6215
  }
5975
- var VERSION = readPackageVersion();
6216
+ var PACKAGE = readPackageMetadata();
5976
6217
  var SUPPORTED_HARNESSES = ["codex", "claude_code", "pi", "hermes", "opencode"];
5977
6218
  var cliOutputFormatter = {
5978
6219
  ...CliOutput.defaultFormatter({ colors: false }),
@@ -5983,18 +6224,18 @@ function optionalValue(value) {
5983
6224
  return Option2.getOrUndefined(value);
5984
6225
  }
5985
6226
  function writeStdoutLine(msg) {
5986
- process4.stdout.write(`${msg}
6227
+ process5.stdout.write(`${msg}
5987
6228
  `);
5988
6229
  }
5989
6230
  function writeStderrLine(msg) {
5990
- process4.stderr.write(`${msg}
6231
+ process5.stderr.write(`${msg}
5991
6232
  `);
5992
6233
  }
5993
6234
  function writeUnknownError(err) {
5994
6235
  writeStderrLine(err instanceof Error ? err.stack ?? err.message : String(err));
5995
6236
  }
5996
6237
  function isEntrypoint() {
5997
- const [, argvPath] = process4.argv;
6238
+ const [, argvPath] = process5.argv;
5998
6239
  return argvPath ? realpathSync(fileURLToPath(import.meta.url)) === realpathSync(argvPath) : false;
5999
6240
  }
6000
6241
  function parseHarnessFilter(value) {
@@ -6041,7 +6282,7 @@ async function runSyncCommand(raw) {
6041
6282
  harness,
6042
6283
  dryRun: raw.dryRun,
6043
6284
  verbose: raw.verbose,
6044
- color: process4.stdout.isTTY === true,
6285
+ color: process5.stdout.isTTY === true,
6045
6286
  logger: {
6046
6287
  info: writeStdoutLine,
6047
6288
  error: writeStderrLine
@@ -6066,6 +6307,26 @@ async function runSyncCommand(raw) {
6066
6307
  return EXIT.generalFailure;
6067
6308
  }
6068
6309
  }
6310
+ async function runSetupCommand(raw) {
6311
+ try {
6312
+ const result = await runSetup({
6313
+ api: optionalValue(raw.api),
6314
+ server: optionalValue(raw.server),
6315
+ input: process5.stdin,
6316
+ output: process5.stdout,
6317
+ packageName: PACKAGE.name,
6318
+ nodePath: process5.execPath
6319
+ });
6320
+ return result.exitCode;
6321
+ } catch (err) {
6322
+ if (err instanceof CliConfigError || err instanceof SetupError) {
6323
+ writeStderrLine(err.message);
6324
+ return err instanceof SetupError ? err.exitCode : EXIT.invalidArguments;
6325
+ }
6326
+ writeUnknownError(err);
6327
+ return EXIT.generalFailure;
6328
+ }
6329
+ }
6069
6330
  var apiFlag = Flag.string("api").pipe(
6070
6331
  Flag.withDescription("API base URL (or server.api / OOPST_SERVER)"),
6071
6332
  Flag.optional
@@ -6109,13 +6370,23 @@ function buildCli() {
6109
6370
  Effect17.flatMap((exitCode) => exitCode === EXIT.success ? Effect17.void : Effect17.fail(new CliExit(exitCode)))
6110
6371
  )
6111
6372
  ).pipe(Command.withDescription("Scan local AI coding harness logs and upload hourly usage records"));
6373
+ const setup = Command.make(
6374
+ "setup",
6375
+ {
6376
+ api: apiFlag,
6377
+ server: serverFlag
6378
+ },
6379
+ (raw) => Effect17.promise(() => runSetupCommand(raw)).pipe(
6380
+ Effect17.flatMap((exitCode) => exitCode === EXIT.success ? Effect17.void : Effect17.fail(new CliExit(exitCode)))
6381
+ )
6382
+ ).pipe(Command.withDescription("Create ~/.oopst.yml and optionally install an hourly cron sync"));
6112
6383
  return Command.make("oopst").pipe(
6113
6384
  Command.withDescription("OopsT \u2014 track AI coding token usage across users and devices"),
6114
- Command.withSubcommands([sync])
6385
+ Command.withSubcommands([sync, setup])
6115
6386
  );
6116
6387
  }
6117
6388
  if (isEntrypoint()) {
6118
- buildCli().pipe(Command.run({ version: VERSION }), Effect17.provide(CliRuntimeLayer), NodeRuntime.runMain);
6389
+ buildCli().pipe(Command.run({ version: PACKAGE.version }), Effect17.provide(CliRuntimeLayer), NodeRuntime.runMain);
6119
6390
  }
6120
6391
  export {
6121
6392
  buildCli