@treeseed/sdk 0.8.7 → 0.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/capacity.d.ts +120 -1
  2. package/dist/capacity.js +371 -2
  3. package/dist/control-plane-client.d.ts +1 -1
  4. package/dist/d1-store.d.ts +5 -5
  5. package/dist/d1-store.js +24 -24
  6. package/dist/db/d1.d.ts +102 -0
  7. package/dist/db/node-sqlite.d.ts +102 -0
  8. package/dist/db/schema.d.ts +204 -0
  9. package/dist/db/schema.js +9 -0
  10. package/dist/index.d.ts +5 -5
  11. package/dist/index.js +33 -23
  12. package/dist/market-client.d.ts +32 -0
  13. package/dist/market-client.js +48 -0
  14. package/dist/operations/services/config-runtime.js +57 -20
  15. package/dist/operations/services/d1-migration.js +10 -2
  16. package/dist/operations/services/github-automation.js +1 -1
  17. package/dist/operations/services/hosting-audit.d.ts +2 -1
  18. package/dist/operations/services/hosting-audit.js +18 -9
  19. package/dist/operations/services/hub-provider-launch.d.ts +3 -3
  20. package/dist/operations/services/hub-provider-launch.js +16 -16
  21. package/dist/operations/services/{knowledge-coop-packaging.d.ts → market-packaging.d.ts} +13 -13
  22. package/dist/operations/services/{knowledge-coop-packaging.js → market-packaging.js} +10 -10
  23. package/dist/operations/services/project-platform.d.ts +32 -0
  24. package/dist/operations/services/project-platform.js +91 -1
  25. package/dist/platform/contracts.d.ts +53 -31
  26. package/dist/platform/utils/site-config-schema.js +120 -52
  27. package/dist/{knowledge-coop.d.ts → project-workflow.d.ts} +15 -15
  28. package/dist/{knowledge-coop.js → project-workflow.js} +15 -15
  29. package/dist/reconcile/builtin-adapters.js +95 -11
  30. package/dist/scripts/tenant-d1-migrate-local.js +1 -0
  31. package/dist/sdk-types.d.ts +5 -4
  32. package/dist/sdk.d.ts +1 -1
  33. package/dist/stores/{knowledge-coop-store.d.ts → project-workflow-store.d.ts} +3 -3
  34. package/dist/stores/{knowledge-coop-store.js → project-workflow-store.js} +4 -4
  35. package/dist/workflow/operations.js +6 -6
  36. package/dist/workflow-state.js +2 -2
  37. package/package.json +1 -1
package/dist/d1-store.js CHANGED
@@ -4,7 +4,7 @@ import { normalizeFilterFields, normalizeMutationData, normalizeRecordToCanonica
4
4
  import { assertExpectedVersion } from "./sdk-version.js";
5
5
  import { resolveModelDefinition } from "./model-registry.js";
6
6
  import { CursorStore } from "./stores/cursor-store.js";
7
- import { MemoryKnowledgeCoopStore, SqliteKnowledgeCoopStore } from "./stores/knowledge-coop-store.js";
7
+ import { MemoryProjectWorkflowStore, SqliteProjectWorkflowStore } from "./stores/project-workflow-store.js";
8
8
  import { LeaseStore } from "./stores/lease-store.js";
9
9
  import { MessageStore } from "./stores/message-store.js";
10
10
  import { OperationalStore } from "./stores/operational-store.js";
@@ -63,7 +63,7 @@ class MemoryAgentDatabase {
63
63
  prioritySnapshots = /* @__PURE__ */ new Map();
64
64
  taskCreditLedger = /* @__PURE__ */ new Map();
65
65
  scaleDecisions = /* @__PURE__ */ new Map();
66
- knowledgeCoop = new MemoryKnowledgeCoopStore();
66
+ projectWorkflow = new MemoryProjectWorkflowStore();
67
67
  messageId = 0;
68
68
  constructor(seed) {
69
69
  for (const item of seed?.subscriptions ?? []) {
@@ -1011,34 +1011,34 @@ class MemoryAgentDatabase {
1011
1011
  return [...this.scaleDecisions.values()].filter((entry) => entry.projectId === projectId && entry.environment === environment && entry.poolName === poolName).sort((left, right) => right.createdAt.localeCompare(left.createdAt))[0] ?? null;
1012
1012
  }
1013
1013
  listWorkstreams(projectId) {
1014
- return Promise.resolve(this.knowledgeCoop.listWorkstreams(projectId));
1014
+ return Promise.resolve(this.projectWorkflow.listWorkstreams(projectId));
1015
1015
  }
1016
1016
  getWorkstream(workstreamId) {
1017
- return Promise.resolve(this.knowledgeCoop.getWorkstream(workstreamId));
1017
+ return Promise.resolve(this.projectWorkflow.getWorkstream(workstreamId));
1018
1018
  }
1019
1019
  upsertWorkstream(input) {
1020
- return Promise.resolve(this.knowledgeCoop.upsertWorkstream(input));
1020
+ return Promise.resolve(this.projectWorkflow.upsertWorkstream(input));
1021
1021
  }
1022
1022
  appendWorkstreamEvent(input) {
1023
- return Promise.resolve(this.knowledgeCoop.appendWorkstreamEvent(input));
1023
+ return Promise.resolve(this.projectWorkflow.appendWorkstreamEvent(input));
1024
1024
  }
1025
1025
  listReleases(projectId) {
1026
- return Promise.resolve(this.knowledgeCoop.listReleases(projectId));
1026
+ return Promise.resolve(this.projectWorkflow.listReleases(projectId));
1027
1027
  }
1028
1028
  getRelease(releaseId) {
1029
- return Promise.resolve(this.knowledgeCoop.getRelease(releaseId));
1029
+ return Promise.resolve(this.projectWorkflow.getRelease(releaseId));
1030
1030
  }
1031
1031
  upsertRelease(input) {
1032
- return Promise.resolve(this.knowledgeCoop.upsertRelease(input));
1032
+ return Promise.resolve(this.projectWorkflow.upsertRelease(input));
1033
1033
  }
1034
1034
  listSharePackages(projectId) {
1035
- return Promise.resolve(this.knowledgeCoop.listSharePackages(projectId));
1035
+ return Promise.resolve(this.projectWorkflow.listSharePackages(projectId));
1036
1036
  }
1037
1037
  getSharePackage(packageId) {
1038
- return Promise.resolve(this.knowledgeCoop.getSharePackage(packageId));
1038
+ return Promise.resolve(this.projectWorkflow.getSharePackage(packageId));
1039
1039
  }
1040
1040
  upsertSharePackage(input) {
1041
- return Promise.resolve(this.knowledgeCoop.upsertSharePackage(input));
1041
+ return Promise.resolve(this.projectWorkflow.upsertSharePackage(input));
1042
1042
  }
1043
1043
  }
1044
1044
  class CloudflareD1AgentDatabase {
@@ -1050,7 +1050,7 @@ class CloudflareD1AgentDatabase {
1050
1050
  this.cursors = new CursorStore(db);
1051
1051
  this.leases = new LeaseStore(db);
1052
1052
  this.operational = new OperationalStore(db);
1053
- this.knowledgeCoop = new SqliteKnowledgeCoopStore(db);
1053
+ this.projectWorkflow = new SqliteProjectWorkflowStore(db);
1054
1054
  }
1055
1055
  db;
1056
1056
  subscriptions;
@@ -1059,7 +1059,7 @@ class CloudflareD1AgentDatabase {
1059
1059
  cursors;
1060
1060
  leases;
1061
1061
  operational;
1062
- knowledgeCoop;
1062
+ projectWorkflow;
1063
1063
  async get(request) {
1064
1064
  if (request.model === "subscription") {
1065
1065
  return this.subscriptions.getByKey(String(request.id ?? request.slug ?? request.key ?? ""));
@@ -1458,34 +1458,34 @@ class CloudflareD1AgentDatabase {
1458
1458
  return this.operational.getLatestScaleDecision(projectId, environment, poolName);
1459
1459
  }
1460
1460
  listWorkstreams(projectId) {
1461
- return this.knowledgeCoop.listWorkstreams(projectId);
1461
+ return this.projectWorkflow.listWorkstreams(projectId);
1462
1462
  }
1463
1463
  getWorkstream(workstreamId) {
1464
- return this.knowledgeCoop.getWorkstream(workstreamId);
1464
+ return this.projectWorkflow.getWorkstream(workstreamId);
1465
1465
  }
1466
1466
  upsertWorkstream(input) {
1467
- return this.knowledgeCoop.upsertWorkstream(input);
1467
+ return this.projectWorkflow.upsertWorkstream(input);
1468
1468
  }
1469
1469
  appendWorkstreamEvent(input) {
1470
- return this.knowledgeCoop.appendWorkstreamEvent(input);
1470
+ return this.projectWorkflow.appendWorkstreamEvent(input);
1471
1471
  }
1472
1472
  listReleases(projectId) {
1473
- return this.knowledgeCoop.listReleases(projectId);
1473
+ return this.projectWorkflow.listReleases(projectId);
1474
1474
  }
1475
1475
  getRelease(releaseId) {
1476
- return this.knowledgeCoop.getRelease(releaseId);
1476
+ return this.projectWorkflow.getRelease(releaseId);
1477
1477
  }
1478
1478
  upsertRelease(input) {
1479
- return this.knowledgeCoop.upsertRelease(input);
1479
+ return this.projectWorkflow.upsertRelease(input);
1480
1480
  }
1481
1481
  listSharePackages(projectId) {
1482
- return this.knowledgeCoop.listSharePackages(projectId);
1482
+ return this.projectWorkflow.listSharePackages(projectId);
1483
1483
  }
1484
1484
  getSharePackage(packageId) {
1485
- return this.knowledgeCoop.getSharePackage(packageId);
1485
+ return this.projectWorkflow.getSharePackage(packageId);
1486
1486
  }
1487
1487
  upsertSharePackage(input) {
1488
- return this.knowledgeCoop.upsertSharePackage(input);
1488
+ return this.projectWorkflow.upsertSharePackage(input);
1489
1489
  }
1490
1490
  }
1491
1491
  export {
package/dist/db/d1.d.ts CHANGED
@@ -705,6 +705,108 @@ export declare function createTreeseedD1Drizzle(db: D1DatabaseLike): import("dri
705
705
  };
706
706
  dialect: "sqlite";
707
707
  }>;
708
+ userPreferences: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
709
+ name: "user_preferences";
710
+ schema: undefined;
711
+ columns: {
712
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
713
+ name: "user_id";
714
+ tableName: "user_preferences";
715
+ dataType: "string";
716
+ columnType: "SQLiteText";
717
+ data: string;
718
+ driverParam: string;
719
+ notNull: true;
720
+ hasDefault: false;
721
+ isPrimaryKey: true;
722
+ isAutoincrement: false;
723
+ hasRuntimeDefault: false;
724
+ enumValues: [string, ...string[]];
725
+ baseColumn: never;
726
+ identity: undefined;
727
+ generated: undefined;
728
+ }, {}, {
729
+ length: number | undefined;
730
+ }>;
731
+ colorScheme: import("drizzle-orm/sqlite-core").SQLiteColumn<{
732
+ name: "color_scheme";
733
+ tableName: "user_preferences";
734
+ dataType: "string";
735
+ columnType: "SQLiteText";
736
+ data: string;
737
+ driverParam: string;
738
+ notNull: true;
739
+ hasDefault: true;
740
+ isPrimaryKey: false;
741
+ isAutoincrement: false;
742
+ hasRuntimeDefault: false;
743
+ enumValues: [string, ...string[]];
744
+ baseColumn: never;
745
+ identity: undefined;
746
+ generated: undefined;
747
+ }, {}, {
748
+ length: number | undefined;
749
+ }>;
750
+ themeMode: import("drizzle-orm/sqlite-core").SQLiteColumn<{
751
+ name: "theme_mode";
752
+ tableName: "user_preferences";
753
+ dataType: "string";
754
+ columnType: "SQLiteText";
755
+ data: string;
756
+ driverParam: string;
757
+ notNull: true;
758
+ hasDefault: true;
759
+ isPrimaryKey: false;
760
+ isAutoincrement: false;
761
+ hasRuntimeDefault: false;
762
+ enumValues: [string, ...string[]];
763
+ baseColumn: never;
764
+ identity: undefined;
765
+ generated: undefined;
766
+ }, {}, {
767
+ length: number | undefined;
768
+ }>;
769
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
770
+ name: "created_at";
771
+ tableName: "user_preferences";
772
+ dataType: "string";
773
+ columnType: "SQLiteText";
774
+ data: string;
775
+ driverParam: string;
776
+ notNull: true;
777
+ hasDefault: false;
778
+ isPrimaryKey: false;
779
+ isAutoincrement: false;
780
+ hasRuntimeDefault: false;
781
+ enumValues: [string, ...string[]];
782
+ baseColumn: never;
783
+ identity: undefined;
784
+ generated: undefined;
785
+ }, {}, {
786
+ length: number | undefined;
787
+ }>;
788
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
789
+ name: "updated_at";
790
+ tableName: "user_preferences";
791
+ dataType: "string";
792
+ columnType: "SQLiteText";
793
+ data: string;
794
+ driverParam: string;
795
+ notNull: true;
796
+ hasDefault: false;
797
+ isPrimaryKey: false;
798
+ isAutoincrement: false;
799
+ hasRuntimeDefault: false;
800
+ enumValues: [string, ...string[]];
801
+ baseColumn: never;
802
+ identity: undefined;
803
+ generated: undefined;
804
+ }, {}, {
805
+ length: number | undefined;
806
+ }>;
807
+ };
808
+ dialect: "sqlite";
809
+ }>;
708
810
  user: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
709
811
  name: "better_auth_user";
710
812
  schema: undefined;
@@ -757,6 +757,108 @@ export declare function createTreeseedNodeSqliteDrizzle(path?: string | null): {
757
757
  };
758
758
  dialect: "sqlite";
759
759
  }>;
760
+ userPreferences: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
761
+ name: "user_preferences";
762
+ schema: undefined;
763
+ columns: {
764
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
765
+ name: "user_id";
766
+ tableName: "user_preferences";
767
+ dataType: "string";
768
+ columnType: "SQLiteText";
769
+ data: string;
770
+ driverParam: string;
771
+ notNull: true;
772
+ hasDefault: false;
773
+ isPrimaryKey: true;
774
+ isAutoincrement: false;
775
+ hasRuntimeDefault: false;
776
+ enumValues: [string, ...string[]];
777
+ baseColumn: never;
778
+ identity: undefined;
779
+ generated: undefined;
780
+ }, {}, {
781
+ length: number | undefined;
782
+ }>;
783
+ colorScheme: import("drizzle-orm/sqlite-core").SQLiteColumn<{
784
+ name: "color_scheme";
785
+ tableName: "user_preferences";
786
+ dataType: "string";
787
+ columnType: "SQLiteText";
788
+ data: string;
789
+ driverParam: string;
790
+ notNull: true;
791
+ hasDefault: true;
792
+ isPrimaryKey: false;
793
+ isAutoincrement: false;
794
+ hasRuntimeDefault: false;
795
+ enumValues: [string, ...string[]];
796
+ baseColumn: never;
797
+ identity: undefined;
798
+ generated: undefined;
799
+ }, {}, {
800
+ length: number | undefined;
801
+ }>;
802
+ themeMode: import("drizzle-orm/sqlite-core").SQLiteColumn<{
803
+ name: "theme_mode";
804
+ tableName: "user_preferences";
805
+ dataType: "string";
806
+ columnType: "SQLiteText";
807
+ data: string;
808
+ driverParam: string;
809
+ notNull: true;
810
+ hasDefault: true;
811
+ isPrimaryKey: false;
812
+ isAutoincrement: false;
813
+ hasRuntimeDefault: false;
814
+ enumValues: [string, ...string[]];
815
+ baseColumn: never;
816
+ identity: undefined;
817
+ generated: undefined;
818
+ }, {}, {
819
+ length: number | undefined;
820
+ }>;
821
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
822
+ name: "created_at";
823
+ tableName: "user_preferences";
824
+ dataType: "string";
825
+ columnType: "SQLiteText";
826
+ data: string;
827
+ driverParam: string;
828
+ notNull: true;
829
+ hasDefault: false;
830
+ isPrimaryKey: false;
831
+ isAutoincrement: false;
832
+ hasRuntimeDefault: false;
833
+ enumValues: [string, ...string[]];
834
+ baseColumn: never;
835
+ identity: undefined;
836
+ generated: undefined;
837
+ }, {}, {
838
+ length: number | undefined;
839
+ }>;
840
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
841
+ name: "updated_at";
842
+ tableName: "user_preferences";
843
+ dataType: "string";
844
+ columnType: "SQLiteText";
845
+ data: string;
846
+ driverParam: string;
847
+ notNull: true;
848
+ hasDefault: false;
849
+ isPrimaryKey: false;
850
+ isAutoincrement: false;
851
+ hasRuntimeDefault: false;
852
+ enumValues: [string, ...string[]];
853
+ baseColumn: never;
854
+ identity: undefined;
855
+ generated: undefined;
856
+ }, {}, {
857
+ length: number | undefined;
858
+ }>;
859
+ };
860
+ dialect: "sqlite";
861
+ }>;
760
862
  user: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
761
863
  name: "better_auth_user";
762
864
  schema: undefined;
@@ -703,6 +703,108 @@ export declare const betterAuthVerification: import("drizzle-orm/sqlite-core").S
703
703
  };
704
704
  dialect: "sqlite";
705
705
  }>;
706
+ export declare const userPreferences: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
707
+ name: "user_preferences";
708
+ schema: undefined;
709
+ columns: {
710
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
711
+ name: "user_id";
712
+ tableName: "user_preferences";
713
+ dataType: "string";
714
+ columnType: "SQLiteText";
715
+ data: string;
716
+ driverParam: string;
717
+ notNull: true;
718
+ hasDefault: false;
719
+ isPrimaryKey: true;
720
+ isAutoincrement: false;
721
+ hasRuntimeDefault: false;
722
+ enumValues: [string, ...string[]];
723
+ baseColumn: never;
724
+ identity: undefined;
725
+ generated: undefined;
726
+ }, {}, {
727
+ length: number | undefined;
728
+ }>;
729
+ colorScheme: import("drizzle-orm/sqlite-core").SQLiteColumn<{
730
+ name: "color_scheme";
731
+ tableName: "user_preferences";
732
+ dataType: "string";
733
+ columnType: "SQLiteText";
734
+ data: string;
735
+ driverParam: string;
736
+ notNull: true;
737
+ hasDefault: true;
738
+ isPrimaryKey: false;
739
+ isAutoincrement: false;
740
+ hasRuntimeDefault: false;
741
+ enumValues: [string, ...string[]];
742
+ baseColumn: never;
743
+ identity: undefined;
744
+ generated: undefined;
745
+ }, {}, {
746
+ length: number | undefined;
747
+ }>;
748
+ themeMode: import("drizzle-orm/sqlite-core").SQLiteColumn<{
749
+ name: "theme_mode";
750
+ tableName: "user_preferences";
751
+ dataType: "string";
752
+ columnType: "SQLiteText";
753
+ data: string;
754
+ driverParam: string;
755
+ notNull: true;
756
+ hasDefault: true;
757
+ isPrimaryKey: false;
758
+ isAutoincrement: false;
759
+ hasRuntimeDefault: false;
760
+ enumValues: [string, ...string[]];
761
+ baseColumn: never;
762
+ identity: undefined;
763
+ generated: undefined;
764
+ }, {}, {
765
+ length: number | undefined;
766
+ }>;
767
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
768
+ name: "created_at";
769
+ tableName: "user_preferences";
770
+ dataType: "string";
771
+ columnType: "SQLiteText";
772
+ data: string;
773
+ driverParam: string;
774
+ notNull: true;
775
+ hasDefault: false;
776
+ isPrimaryKey: false;
777
+ isAutoincrement: false;
778
+ hasRuntimeDefault: false;
779
+ enumValues: [string, ...string[]];
780
+ baseColumn: never;
781
+ identity: undefined;
782
+ generated: undefined;
783
+ }, {}, {
784
+ length: number | undefined;
785
+ }>;
786
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
787
+ name: "updated_at";
788
+ tableName: "user_preferences";
789
+ dataType: "string";
790
+ columnType: "SQLiteText";
791
+ data: string;
792
+ driverParam: string;
793
+ notNull: true;
794
+ hasDefault: false;
795
+ isPrimaryKey: false;
796
+ isAutoincrement: false;
797
+ hasRuntimeDefault: false;
798
+ enumValues: [string, ...string[]];
799
+ baseColumn: never;
800
+ identity: undefined;
801
+ generated: undefined;
802
+ }, {}, {
803
+ length: number | undefined;
804
+ }>;
805
+ };
806
+ dialect: "sqlite";
807
+ }>;
706
808
  export declare const users: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
707
809
  name: "users";
708
810
  schema: undefined;
@@ -3486,6 +3588,108 @@ export declare const treeseedSchema: {
3486
3588
  };
3487
3589
  dialect: "sqlite";
3488
3590
  }>;
3591
+ userPreferences: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
3592
+ name: "user_preferences";
3593
+ schema: undefined;
3594
+ columns: {
3595
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3596
+ name: "user_id";
3597
+ tableName: "user_preferences";
3598
+ dataType: "string";
3599
+ columnType: "SQLiteText";
3600
+ data: string;
3601
+ driverParam: string;
3602
+ notNull: true;
3603
+ hasDefault: false;
3604
+ isPrimaryKey: true;
3605
+ isAutoincrement: false;
3606
+ hasRuntimeDefault: false;
3607
+ enumValues: [string, ...string[]];
3608
+ baseColumn: never;
3609
+ identity: undefined;
3610
+ generated: undefined;
3611
+ }, {}, {
3612
+ length: number | undefined;
3613
+ }>;
3614
+ colorScheme: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3615
+ name: "color_scheme";
3616
+ tableName: "user_preferences";
3617
+ dataType: "string";
3618
+ columnType: "SQLiteText";
3619
+ data: string;
3620
+ driverParam: string;
3621
+ notNull: true;
3622
+ hasDefault: true;
3623
+ isPrimaryKey: false;
3624
+ isAutoincrement: false;
3625
+ hasRuntimeDefault: false;
3626
+ enumValues: [string, ...string[]];
3627
+ baseColumn: never;
3628
+ identity: undefined;
3629
+ generated: undefined;
3630
+ }, {}, {
3631
+ length: number | undefined;
3632
+ }>;
3633
+ themeMode: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3634
+ name: "theme_mode";
3635
+ tableName: "user_preferences";
3636
+ dataType: "string";
3637
+ columnType: "SQLiteText";
3638
+ data: string;
3639
+ driverParam: string;
3640
+ notNull: true;
3641
+ hasDefault: true;
3642
+ isPrimaryKey: false;
3643
+ isAutoincrement: false;
3644
+ hasRuntimeDefault: false;
3645
+ enumValues: [string, ...string[]];
3646
+ baseColumn: never;
3647
+ identity: undefined;
3648
+ generated: undefined;
3649
+ }, {}, {
3650
+ length: number | undefined;
3651
+ }>;
3652
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3653
+ name: "created_at";
3654
+ tableName: "user_preferences";
3655
+ dataType: "string";
3656
+ columnType: "SQLiteText";
3657
+ data: string;
3658
+ driverParam: string;
3659
+ notNull: true;
3660
+ hasDefault: false;
3661
+ isPrimaryKey: false;
3662
+ isAutoincrement: false;
3663
+ hasRuntimeDefault: false;
3664
+ enumValues: [string, ...string[]];
3665
+ baseColumn: never;
3666
+ identity: undefined;
3667
+ generated: undefined;
3668
+ }, {}, {
3669
+ length: number | undefined;
3670
+ }>;
3671
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3672
+ name: "updated_at";
3673
+ tableName: "user_preferences";
3674
+ dataType: "string";
3675
+ columnType: "SQLiteText";
3676
+ data: string;
3677
+ driverParam: string;
3678
+ notNull: true;
3679
+ hasDefault: false;
3680
+ isPrimaryKey: false;
3681
+ isAutoincrement: false;
3682
+ hasRuntimeDefault: false;
3683
+ enumValues: [string, ...string[]];
3684
+ baseColumn: never;
3685
+ identity: undefined;
3686
+ generated: undefined;
3687
+ }, {}, {
3688
+ length: number | undefined;
3689
+ }>;
3690
+ };
3691
+ dialect: "sqlite";
3692
+ }>;
3489
3693
  user: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
3490
3694
  name: "better_auth_user";
3491
3695
  schema: undefined;
package/dist/db/schema.js CHANGED
@@ -46,6 +46,13 @@ const betterAuthVerification = sqliteTable("better_auth_verification", {
46
46
  createdAt: integer("createdAt", { mode: "timestamp_ms" }).notNull(),
47
47
  updatedAt: integer("updatedAt", { mode: "timestamp_ms" }).notNull()
48
48
  });
49
+ const userPreferences = sqliteTable("user_preferences", {
50
+ userId: text("user_id").primaryKey().references(() => betterAuthUser.id, { onDelete: "cascade" }),
51
+ colorScheme: text("color_scheme").notNull().default("fern"),
52
+ themeMode: text("theme_mode").notNull().default("system"),
53
+ createdAt: text("created_at").notNull(),
54
+ updatedAt: text("updated_at").notNull()
55
+ });
49
56
  const users = sqliteTable("users", {
50
57
  id: text("id").primaryKey(),
51
58
  email: text("email"),
@@ -193,6 +200,7 @@ const treeseedSchema = {
193
200
  better_auth_session: betterAuthSession,
194
201
  better_auth_account: betterAuthAccount,
195
202
  better_auth_verification: betterAuthVerification,
203
+ userPreferences,
196
204
  user: betterAuthUser,
197
205
  session: betterAuthSession,
198
206
  account: betterAuthAccount,
@@ -225,6 +233,7 @@ export {
225
233
  teams,
226
234
  treeseedSchema,
227
235
  userIdentities,
236
+ userPreferences,
228
237
  userRoleBindings,
229
238
  users,
230
239
  webSessions
package/dist/index.d.ts CHANGED
@@ -3,12 +3,12 @@ export { ContentGraphRuntime } from './graph.ts';
3
3
  export { projectConnectionModeFromHosting } from './sdk-types.ts';
4
4
  export { createControlPlaneReporter } from './control-plane.ts';
5
5
  export { ControlPlaneClient } from './control-plane-client.ts';
6
- export { reservationHasCapacity, reserveCreditsForEstimate, scoreCapacityLane, selectBestCapacityLane, summarizeCapacityPlan, } from './capacity.ts';
6
+ export { reservationHasCapacity, reserveCreditsForEstimate, routeAndReserveCapacity, scoreCapacityLane, selectBestCapacityLane, settleCapacityActuals, createReservationReleaseEntry, summarizeCapacityPlan, summarizeProjectCapacityPlan, summarizeTeamCapacityPlan, } from './capacity.ts';
7
7
  export { executeKnowledgeHubProviderLaunch, validateKnowledgeHubProviderLaunchPrerequisites, } from './operations/services/hub-provider-launch.ts';
8
8
  export { createKnowledgeHubRepositories, defaultHubContentResolutionPolicy, executeKnowledgeHubLaunch, normalizeKnowledgeHubLaunchIntent, planKnowledgeHubLaunch, planKnowledgeHubRepositories, validateRepositoryHost, type HubContentResolutionPolicy, type KnowledgeHubLaunchIntent, type KnowledgeHubLaunchPhase, type KnowledgeHubLaunchPlan, type KnowledgeHubLaunchResult, type KnowledgeHubRepositoryPlan, type RepositoryHost, } from './operations/services/hub-launch.ts';
9
9
  export { ensureRailwayEnvironment, ensureRailwayProject, ensureRailwayService, getRailwayAuthProfile, listRailwayEnvironments, listRailwayProjects, listRailwayServices, listRailwayVariables, railwayGraphqlRequest, resolveRailwayApiToken, resolveRailwayApiUrl, resolveRailwayWorkspace, resolveRailwayWorkspaceContext, upsertRailwayVariables, } from './operations/services/railway-api.ts';
10
- export { buildKnowledgeCoopKnowledgePackPackage, buildKnowledgeCoopTemplatePackage, importKnowledgeCoopKnowledgePack, } from './operations/services/knowledge-coop-packaging.ts';
11
- export { KNOWLEDGE_COOP_AGENT_MESSAGE_KINDS, KNOWLEDGE_COOP_JOB_STATUSES, KNOWLEDGE_COOP_RELEASE_STATES, KNOWLEDGE_COOP_SHARE_PACKAGE_STATES, KNOWLEDGE_COOP_TEAM_CAPABILITIES, KNOWLEDGE_COOP_WORKSTREAM_STATES, normalizeKnowledgeCoopJobStatus, normalizeRemoteJobStatus, } from './knowledge-coop.ts';
10
+ export { buildKnowledgePackMarketPackage, buildTemplateMarketPackage, importKnowledgePack, } from './operations/services/market-packaging.ts';
11
+ export { AGENT_MESSAGE_KINDS, PROJECT_JOB_STATUSES, RELEASE_STATES, SHARE_PACKAGE_STATES, PROJECT_TEAM_CAPABILITIES, WORKSTREAM_STATES, normalizeProjectJobStatus, normalizeRemoteJobStatus, } from './project-workflow.ts';
12
12
  export { PUBLISHED_CONTENT_MANIFEST_SCHEMA_VERSION, EDITORIAL_PREVIEW_COOKIE, TeamScopedR2OverlayContentRuntimeProvider, TeamScopedR2OverlayContentPublishProvider, createTeamScopedR2OverlayContentRuntimeProvider, createTeamScopedR2OverlayContentPublishProvider, isTeamScopedR2ContentEnabled, parsePublishedCollectionIndex, parsePublishedContentManifest, parsePublishedOverlayManifest, readPublishedContentManifest, readPublishedOverlayManifest, resolveCloudflareR2Bucket, resolvePublishedContentBucketBinding, resolvePublishedContentManifestKey, resolvePublishedContentPreviewRoot, resolvePublishedContentPreviewTtlHours, resolveTeamScopedContentLocator, signEditorialPreviewToken, verifyEditorialPreviewToken, } from './platform/published-content.ts';
13
13
  export { createFilesystemContentSource, createPublishedContentPipeline, } from './platform/published-content-pipeline.ts';
14
14
  export { loadTreeseedManifest, loadTreeseedTenantManifest, resolveTreeseedTenantRoot, getTenantContentRoot, tenantFeatureEnabled, tenantModelRendered, } from './platform/tenant-config.ts';
@@ -32,8 +32,8 @@ export { TreeseedWorkflowSdk } from './workflow.ts';
32
32
  export * from './db/index.ts';
33
33
  export { collectTreeseedReconcileStatus, createTreeseedReconcileRegistry, deriveTreeseedDesiredUnits, destroyTreeseedTargetUnits, observeTreeseedUnits, planTreeseedReconciliation, reconcileTreeseedTarget, } from './reconcile/index.ts';
34
34
  export { getTreeseedVerifyDriverStatus, runTreeseedVerifyDriver } from './verification.ts';
35
- export type { KnowledgeHubProviderLaunchPreflightReport, KnowledgeHubProviderLaunchFailurePhase, KnowledgeHubProviderLaunchInput, KnowledgeHubProviderLaunchResult, AgentMessageKind, AgentMessageRecord, AgentStatusRecord, DirectBoardItemSummary, InboxItem, KnowledgeCoopJobStatus, LaunchProjectRequest, LaunchProjectResult, LinkedProjectRecordRef, ProjectConnectionStatus, ProjectOverviewSummary, ReleaseDetail, ReleaseState, ReleaseSummary, SharePackageState, SharePackageStatus, TeamCapability, TeamHomeSummary, TeamMemberSummary, WorkstreamDetail, WorkstreamEvent, WorkstreamState, WorkstreamSummary, SdkContentEntry, SdkDispatchCapability, SdkDispatchConfig, SdkDispatchCredentialSource, SdkDispatchExecutionClass, SdkDispatchNamespace, SdkDispatchPolicy, SdkDispatchRequest, SdkDispatchResult, SdkDispatchTarget, SdkCursorEntity, SdkFilterCondition, SdkFollowRequest, SdkGraphEdge, SdkGraphEdgeType, SdkGraphDslRelation, SdkGraphDslParseResult, SdkGraphModelConfig, SdkGraphNode, SdkGraphNodeType, SdkGraphPathExplanation, SdkGraphQueryStage, SdkGraphQueryView, SdkGraphQueryOptions, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRankingBuildInput, SdkGraphRankingDiagnostics, SdkGraphRankingIndex, SdkGraphRankingNodeResult, SdkGraphRankingProvider, SdkGraphRankingQueryRequest, SdkGraphRankingQueryResult, SdkGraphRankingSearchRequest, SdkGraphRefreshPayload, SdkGraphRefreshRequest, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphSeed, SdkGraphSeedResolution, SdkGraphTraversalResult, SdkGraphWhereFilter, SdkContextPack, SdkContextPackRequest, SdkGetRequest, SdkJsonEnvelope, SdkLeaseEntity, SdkManagerContextPayload, SdkMessageEntity, SdkModelFieldBinding, SdkModelDefinition, SdkModelRegistry, SdkModelName, SdkMutationRequest, SdkOperation, SdkPickRequest, SdkPickResult, SdkQueueMessageEnvelope, SdkRunEntity, SdkSearchRequest, SdkTaskEntity, SdkTaskEventEntity, SdkTaskOutputEntity, SdkWorkDayEntity, SdkGraphRunEntity, SdkReportEntity, SdkSubscriptionEntity, SdkTemplateCatalogEntry, SdkTemplateCatalogPublisher, SdkTemplateCatalogResponse, SdkTemplateCatalogSource, SdkUpdateRequest, ProjectCapabilityGrant, ProjectConnection, ProjectConnectionMode, ProjectDeployment, ProjectDeploymentKind, ProjectDeploymentStatus, ProjectEnvironment, ProjectExecutionOwner, ProjectHosting, ProjectInfrastructureResource, ProjectInfrastructureResourceKind, ProjectInfrastructureResourceProvider, ProjectRunnerRegistrationState, RemoteJob, RemoteJobEvent, RemoteJobStatus, AgentPool, AgentPoolAutoscalePolicy, AgentPoolRegistration, AgentPoolScaleDecision, AgentPoolStatus, CatalogArtifactVersion, CatalogItem, CatalogItemFilters, CatalogItemOfferMode, ProjectEnvironmentName, ProjectWorkdaySummary, TreeseedHostingKind, TreeseedHostingRegistration, PriorityOverride, WorkdayWindow, WorkdaySchedule, WorkdayRequest, WorkdayManagerLease, WorkerRunner, WorkerRunnerState, RepositoryClaim, TaskCreditWeight, TaskCreditBudget, WorkdayPolicy, PrioritySnapshotItem, PrioritySnapshot, TaskCreditLedgerEntry, ApprovalRequest, CapacityBusinessModel, CapacityGrant, CapacityGrantScope, CapacityLedgerEntry, CapacityLaneUnit, CapacityPlan, CapacityProvider, CapacityProviderHost, CapacityProviderKind, CapacityProviderLane, CapacityReservation, CapacityRoutingDecision, CapacityTaskExecutionEnvelope, CreateApprovalRequestRequest, CreateCapacityReservationRequest, CreateCapacityRoutingDecisionRequest, CreateTaskEstimateRequest, CreateTaskUsageActualRequest, RecordCapacityUsageRequest, TaskEstimate, TaskEstimateProfile, TaskUsageActual, UpsertCapacityGrantRequest, UpsertCapacityProviderHostRequest, UpsertCapacityProviderLaneRequest, UpsertCapacityProviderRequest, ScaleDecision, RunnerScaleDecision, TeamStorageLocator, TeamWebHost, TeamWebHostOwnership, TeamWebHostProvider, EncryptedWebHostPayload, UpsertAgentPoolRequest, UpsertCatalogArtifactVersionRequest, UpsertCatalogItemRequest, UpsertProjectEnvironmentRequest, UpsertProjectHostingRequest, UpsertProjectInfrastructureResourceRequest, UpsertTeamStorageLocatorRequest, UpsertTeamWebHostRequest, CreateProjectDeploymentRequest, RecordAgentPoolRegistrationRequest, SdkCreateWorkdayRequest, SdkClaimWorkdayManagerLeaseRequest, SdkReleaseWorkdayManagerLeaseRequest, SdkRecordWorkerRunnerRequest, SdkRecordRepositoryClaimRequest, SdkRecordRunnerScaleDecisionRequest, SdkUpdateWorkDayGraphRequest, WorkerPoolScaleResult, WorkerPoolScaler, } from './sdk-types.ts';
36
- export type * from './knowledge-coop.ts';
35
+ export type { KnowledgeHubProviderLaunchPreflightReport, KnowledgeHubProviderLaunchFailurePhase, KnowledgeHubProviderLaunchInput, KnowledgeHubProviderLaunchResult, AgentMessageKind, AgentMessageRecord, AgentStatusRecord, DirectBoardItemSummary, InboxItem, ProjectJobStatus, LaunchProjectRequest, LaunchProjectResult, LinkedProjectRecordRef, ProjectConnectionStatus, ProjectOverviewSummary, ReleaseDetail, ReleaseState, ReleaseSummary, SharePackageState, SharePackageStatus, TeamCapability, TeamHomeSummary, TeamMemberSummary, WorkstreamDetail, WorkstreamEvent, WorkstreamState, WorkstreamSummary, SdkContentEntry, SdkDispatchCapability, SdkDispatchConfig, SdkDispatchCredentialSource, SdkDispatchExecutionClass, SdkDispatchNamespace, SdkDispatchPolicy, SdkDispatchRequest, SdkDispatchResult, SdkDispatchTarget, SdkCursorEntity, SdkFilterCondition, SdkFollowRequest, SdkGraphEdge, SdkGraphEdgeType, SdkGraphDslRelation, SdkGraphDslParseResult, SdkGraphModelConfig, SdkGraphNode, SdkGraphNodeType, SdkGraphPathExplanation, SdkGraphQueryStage, SdkGraphQueryView, SdkGraphQueryOptions, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRankingBuildInput, SdkGraphRankingDiagnostics, SdkGraphRankingIndex, SdkGraphRankingNodeResult, SdkGraphRankingProvider, SdkGraphRankingQueryRequest, SdkGraphRankingQueryResult, SdkGraphRankingSearchRequest, SdkGraphRefreshPayload, SdkGraphRefreshRequest, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphSeed, SdkGraphSeedResolution, SdkGraphTraversalResult, SdkGraphWhereFilter, SdkContextPack, SdkContextPackRequest, SdkGetRequest, SdkJsonEnvelope, SdkLeaseEntity, SdkManagerContextPayload, SdkMessageEntity, SdkModelFieldBinding, SdkModelDefinition, SdkModelRegistry, SdkModelName, SdkMutationRequest, SdkOperation, SdkPickRequest, SdkPickResult, SdkQueueMessageEnvelope, SdkRunEntity, SdkSearchRequest, SdkTaskEntity, SdkTaskEventEntity, SdkTaskOutputEntity, SdkWorkDayEntity, SdkGraphRunEntity, SdkReportEntity, SdkSubscriptionEntity, SdkTemplateCatalogEntry, SdkTemplateCatalogPublisher, SdkTemplateCatalogResponse, SdkTemplateCatalogSource, SdkUpdateRequest, ProjectCapabilityGrant, ProjectConnection, ProjectConnectionMode, ProjectDeployment, ProjectDeploymentKind, ProjectDeploymentStatus, ProjectEnvironment, ProjectExecutionOwner, ProjectHosting, ProjectInfrastructureResource, ProjectInfrastructureResourceKind, ProjectInfrastructureResourceProvider, ProjectRunnerRegistrationState, RemoteJob, RemoteJobEvent, RemoteJobStatus, AgentPool, AgentPoolAutoscalePolicy, AgentPoolRegistration, AgentPoolScaleDecision, AgentPoolStatus, CatalogArtifactVersion, CatalogItem, CatalogItemFilters, CatalogItemOfferMode, ProjectEnvironmentName, ProjectWorkdaySummary, TreeseedHostingKind, TreeseedHostingRegistration, PriorityOverride, WorkdayWindow, WorkdaySchedule, WorkdayRequest, WorkdayManagerLease, WorkerRunner, WorkerRunnerState, RepositoryClaim, TaskCreditWeight, TaskCreditBudget, WorkdayPolicy, PrioritySnapshotItem, PrioritySnapshot, TaskCreditLedgerEntry, ApprovalRequest, CapacityBusinessModel, CapacityGrant, CapacityGrantScope, CapacityLedgerEntry, CapacityLaneUnit, CapacityPlan, CapacityProvider, CapacityProviderHost, CapacityProviderKind, CapacityProviderLane, CapacityReservation, CapacityRoutingDecision, CapacityTaskExecutionEnvelope, CreateApprovalRequestRequest, CreateCapacityReservationRequest, CreateCapacityRoutingDecisionRequest, CreateTaskEstimateRequest, CreateTaskUsageActualRequest, RecordCapacityUsageRequest, TaskEstimate, TaskEstimateProfile, TaskUsageActual, UpsertCapacityGrantRequest, UpsertCapacityProviderHostRequest, UpsertCapacityProviderLaneRequest, UpsertCapacityProviderRequest, ScaleDecision, RunnerScaleDecision, TeamStorageLocator, TeamWebHost, TeamWebHostOwnership, TeamWebHostProvider, EncryptedWebHostPayload, UpsertAgentPoolRequest, UpsertCatalogArtifactVersionRequest, UpsertCatalogItemRequest, UpsertProjectEnvironmentRequest, UpsertProjectHostingRequest, UpsertProjectInfrastructureResourceRequest, UpsertTeamStorageLocatorRequest, UpsertTeamWebHostRequest, CreateProjectDeploymentRequest, RecordAgentPoolRegistrationRequest, SdkCreateWorkdayRequest, SdkClaimWorkdayManagerLeaseRequest, SdkReleaseWorkdayManagerLeaseRequest, SdkRecordWorkerRunnerRequest, SdkRecordRepositoryClaimRequest, SdkRecordRunnerScaleDecisionRequest, SdkUpdateWorkDayGraphRequest, WorkerPoolScaleResult, WorkerPoolScaler, } from './sdk-types.ts';
36
+ export type * from './project-workflow.ts';
37
37
  export type { ControlPlaneAgentPoolHeartbeat, ControlPlaneDeploymentReport, ControlPlaneEnvironmentReport, ControlPlaneReporter, ControlPlaneReporterKind, ControlPlaneResourceReport, ControlPlaneScaleDecisionReport, ControlPlaneWorkdaySummaryReport, } from './control-plane.ts';
38
38
  export type { ControlPlaneClientOptions } from './control-plane-client.ts';
39
39
  export type { CapacityEstimateInput, CapacityLaneCandidate, CapacityLaneScore, } from './capacity.ts';