everything-dev 2.0.0-rc.8 → 2.0.0-rc.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 (115) hide show
  1. package/dist/apps/upload/src/client.cjs +7 -1
  2. package/dist/apps/upload/src/client.cjs.map +1 -1
  3. package/dist/apps/upload/src/client.mjs +7 -1
  4. package/dist/apps/upload/src/client.mjs.map +1 -1
  5. package/dist/auth-login.cjs +24 -1
  6. package/dist/auth-login.cjs.map +1 -1
  7. package/dist/auth-login.mjs +24 -1
  8. package/dist/auth-login.mjs.map +1 -1
  9. package/dist/auth-session.cjs +4 -2
  10. package/dist/auth-session.cjs.map +1 -1
  11. package/dist/auth-session.mjs +4 -2
  12. package/dist/auth-session.mjs.map +1 -1
  13. package/dist/cdn-deploy.cjs +11 -7
  14. package/dist/cdn-deploy.cjs.map +1 -1
  15. package/dist/cdn-deploy.mjs +11 -7
  16. package/dist/cdn-deploy.mjs.map +1 -1
  17. package/dist/cli/import.cjs +1140 -0
  18. package/dist/cli/import.cjs.map +1 -0
  19. package/dist/cli/import.mjs +1126 -0
  20. package/dist/cli/import.mjs.map +1 -0
  21. package/dist/cli/init.cjs +11 -4
  22. package/dist/cli/init.cjs.map +1 -1
  23. package/dist/cli/init.d.cts +8 -2
  24. package/dist/cli/init.d.mts +8 -2
  25. package/dist/cli/init.mjs +11 -5
  26. package/dist/cli/init.mjs.map +1 -1
  27. package/dist/cli.cjs +55 -0
  28. package/dist/cli.cjs.map +1 -1
  29. package/dist/cli.mjs +55 -0
  30. package/dist/cli.mjs.map +1 -1
  31. package/dist/commands/import.cjs +49 -0
  32. package/dist/commands/import.cjs.map +1 -0
  33. package/dist/commands/import.mjs +46 -0
  34. package/dist/commands/import.mjs.map +1 -0
  35. package/dist/commands/keys.cjs +24 -3
  36. package/dist/commands/keys.cjs.map +1 -1
  37. package/dist/commands/keys.mjs +24 -3
  38. package/dist/commands/keys.mjs.map +1 -1
  39. package/dist/config.d.cts +1 -0
  40. package/dist/config.d.mts +1 -0
  41. package/dist/contract.cjs +89 -0
  42. package/dist/contract.cjs.map +1 -1
  43. package/dist/contract.d.cts +190 -1
  44. package/dist/contract.d.mts +190 -1
  45. package/dist/contract.meta.cjs +16 -0
  46. package/dist/contract.meta.cjs.map +1 -1
  47. package/dist/contract.meta.d.cts +26 -0
  48. package/dist/contract.meta.d.mts +26 -0
  49. package/dist/contract.meta.mjs +16 -0
  50. package/dist/contract.meta.mjs.map +1 -1
  51. package/dist/contract.mjs +84 -1
  52. package/dist/contract.mjs.map +1 -1
  53. package/dist/custody-signer.cjs +70 -0
  54. package/dist/custody-signer.cjs.map +1 -0
  55. package/dist/custody-signer.mjs +68 -0
  56. package/dist/custody-signer.mjs.map +1 -0
  57. package/dist/descriptor/schema.cjs +8 -5
  58. package/dist/descriptor/schema.cjs.map +1 -1
  59. package/dist/descriptor/schema.d.cts +1 -0
  60. package/dist/descriptor/schema.d.mts +1 -0
  61. package/dist/descriptor/schema.mjs +8 -5
  62. package/dist/descriptor/schema.mjs.map +1 -1
  63. package/dist/descriptor/serialize.cjs +1 -1
  64. package/dist/descriptor/serialize.cjs.map +1 -1
  65. package/dist/descriptor/serialize.mjs +1 -1
  66. package/dist/descriptor/serialize.mjs.map +1 -1
  67. package/dist/index.cjs +6 -0
  68. package/dist/index.d.cts +2 -2
  69. package/dist/index.d.mts +2 -2
  70. package/dist/index.mjs +2 -2
  71. package/dist/outlayer-login.cjs +54 -0
  72. package/dist/outlayer-login.cjs.map +1 -0
  73. package/dist/outlayer-login.mjs +54 -0
  74. package/dist/outlayer-login.mjs.map +1 -0
  75. package/dist/plugin.cjs +2 -0
  76. package/dist/plugin.cjs.map +1 -1
  77. package/dist/plugin.d.cts +74 -0
  78. package/dist/plugin.d.mts +74 -0
  79. package/dist/plugin.mjs +2 -0
  80. package/dist/plugin.mjs.map +1 -1
  81. package/dist/publish.cjs +145 -22
  82. package/dist/publish.cjs.map +1 -1
  83. package/dist/publish.mjs +147 -24
  84. package/dist/publish.mjs.map +1 -1
  85. package/dist/source-archive.cjs +51 -0
  86. package/dist/source-archive.cjs.map +1 -0
  87. package/dist/source-archive.mjs +50 -0
  88. package/dist/source-archive.mjs.map +1 -0
  89. package/dist/storage-upload.cjs +6 -1
  90. package/dist/storage-upload.cjs.map +1 -1
  91. package/dist/storage-upload.mjs +6 -1
  92. package/dist/storage-upload.mjs.map +1 -1
  93. package/dist/types.cjs +5 -1
  94. package/dist/types.cjs.map +1 -1
  95. package/dist/types.d.cts +2 -0
  96. package/dist/types.d.mts +2 -0
  97. package/dist/types.mjs +5 -1
  98. package/dist/types.mjs.map +1 -1
  99. package/dist/utils/workspace-subtree.cjs +37 -0
  100. package/dist/utils/workspace-subtree.cjs.map +1 -0
  101. package/dist/utils/workspace-subtree.mjs +36 -0
  102. package/dist/utils/workspace-subtree.mjs.map +1 -0
  103. package/dist/version-manifest-deploy.cjs +4 -2
  104. package/dist/version-manifest-deploy.cjs.map +1 -1
  105. package/dist/version-manifest-deploy.mjs +4 -2
  106. package/dist/version-manifest-deploy.mjs.map +1 -1
  107. package/dist/version-manifest-resolve.cjs +2 -1
  108. package/dist/version-manifest-resolve.cjs.map +1 -1
  109. package/dist/version-manifest-resolve.d.cts +3 -0
  110. package/dist/version-manifest-resolve.d.mts +3 -0
  111. package/dist/version-manifest-resolve.mjs +2 -1
  112. package/dist/version-manifest-resolve.mjs.map +1 -1
  113. package/package.json +3 -2
  114. package/skills/cli-reference/SKILL.md +17 -1
  115. package/skills/init-upgrade/SKILL.md +76 -3
@@ -114,6 +114,7 @@ declare const ConfigResultSchema: z$1.ZodObject<{
114
114
  key: "key";
115
115
  session: "session";
116
116
  }>>;
117
+ sourcePublish: z$1.ZodOptional<z$1.ZodBoolean>;
117
118
  }, z$1.core.$strip>>;
118
119
  ci: z$1.ZodOptional<z$1.ZodObject<{
119
120
  image: z$1.ZodOptional<z$1.ZodString>;
@@ -596,6 +597,7 @@ declare const OverrideSectionSchema: z$1.ZodEnum<{
596
597
  }>;
597
598
  declare const LoginOptionsSchema: z$1.ZodObject<{
598
599
  key: z$1.ZodDefault<z$1.ZodBoolean>;
600
+ custody: z$1.ZodDefault<z$1.ZodBoolean>;
599
601
  site: z$1.ZodOptional<z$1.ZodString>;
600
602
  expiresIn: z$1.ZodDefault<z$1.ZodNumber>;
601
603
  device: z$1.ZodOptional<z$1.ZodString>;
@@ -623,6 +625,27 @@ declare const LoginResultSchema: z$1.ZodObject<{
623
625
  contract: z$1.ZodString;
624
626
  exportedTo: z$1.ZodString;
625
627
  }, z$1.core.$strip>>>;
628
+ custodyWallet: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
629
+ walletId: z$1.ZodString;
630
+ nearAccountId: z$1.ZodString;
631
+ network: z$1.ZodEnum<{
632
+ mainnet: "mainnet";
633
+ testnet: "testnet";
634
+ }>;
635
+ handoffUrl: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
636
+ }, z$1.core.$strip>>>;
637
+ outlayerCli: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
638
+ status: z$1.ZodEnum<{
639
+ "cli-missing": "cli-missing";
640
+ error: "error";
641
+ linked: "linked";
642
+ }>;
643
+ network: z$1.ZodEnum<{
644
+ mainnet: "mainnet";
645
+ testnet: "testnet";
646
+ }>;
647
+ detail: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
648
+ }, z$1.core.$strip>>>;
626
649
  warning: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
627
650
  error: z$1.ZodOptional<z$1.ZodString>;
628
651
  }, z$1.core.$strip>;
@@ -715,6 +738,83 @@ declare const SyncResultSchema: z$1.ZodObject<{
715
738
  backupDir: z$1.ZodOptional<z$1.ZodString>;
716
739
  error: z$1.ZodOptional<z$1.ZodString>;
717
740
  }, z$1.core.$strip>;
741
+ declare const ImportOptionsSchema: z$1.ZodObject<{
742
+ workspace: z$1.ZodString;
743
+ from: z$1.ZodOptional<z$1.ZodString>;
744
+ yes: z$1.ZodDefault<z$1.ZodBoolean>;
745
+ dryRun: z$1.ZodDefault<z$1.ZodBoolean>;
746
+ noInstall: z$1.ZodDefault<z$1.ZodBoolean>;
747
+ json: z$1.ZodDefault<z$1.ZodBoolean>;
748
+ }, z$1.core.$strip>;
749
+ declare const ImportRouteDeltaSchema: z$1.ZodObject<{
750
+ oursOnly: z$1.ZodArray<z$1.ZodString>;
751
+ theirsOnly: z$1.ZodArray<z$1.ZodString>;
752
+ }, z$1.core.$strip>;
753
+ declare const ImportMigrationCollisionSchema: z$1.ZodObject<{
754
+ kind: z$1.ZodLiteral<"tag-mismatch">;
755
+ idx: z$1.ZodNumber;
756
+ localTag: z$1.ZodOptional<z$1.ZodString>;
757
+ upstreamTag: z$1.ZodOptional<z$1.ZodString>;
758
+ message: z$1.ZodString;
759
+ }, z$1.core.$strip>;
760
+ declare const ImportMigrationAppendSchema: z$1.ZodObject<{
761
+ idx: z$1.ZodNumber;
762
+ fromTag: z$1.ZodString;
763
+ toTag: z$1.ZodString;
764
+ }, z$1.core.$strip>;
765
+ declare const ImportMigrationReconciliationSchema: z$1.ZodObject<{
766
+ kept: z$1.ZodArray<z$1.ZodString>;
767
+ appended: z$1.ZodArray<z$1.ZodObject<{
768
+ idx: z$1.ZodNumber;
769
+ fromTag: z$1.ZodString;
770
+ toTag: z$1.ZodString;
771
+ }, z$1.core.$strip>>;
772
+ contentMatched: z$1.ZodArray<z$1.ZodString>;
773
+ }, z$1.core.$strip>;
774
+ declare const ImportResultSchema: z$1.ZodObject<{
775
+ status: z$1.ZodEnum<{
776
+ conflicts: "conflicts";
777
+ "dry-run": "dry-run";
778
+ error: "error";
779
+ imported: "imported";
780
+ }>;
781
+ workspace: z$1.ZodString;
782
+ from: z$1.ZodString;
783
+ ref: z$1.ZodString;
784
+ resolvedSha: z$1.ZodOptional<z$1.ZodString>;
785
+ sourceRepository: z$1.ZodOptional<z$1.ZodString>;
786
+ warnings: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
787
+ added: z$1.ZodArray<z$1.ZodString>;
788
+ updated: z$1.ZodArray<z$1.ZodString>;
789
+ unchanged: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
790
+ preservedLocal: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
791
+ merged: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
792
+ conflicts: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
793
+ heldBackMigrations: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
794
+ routeDelta: z$1.ZodOptional<z$1.ZodObject<{
795
+ oursOnly: z$1.ZodArray<z$1.ZodString>;
796
+ theirsOnly: z$1.ZodArray<z$1.ZodString>;
797
+ }, z$1.core.$strip>>;
798
+ migrationCollisions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
799
+ kind: z$1.ZodLiteral<"tag-mismatch">;
800
+ idx: z$1.ZodNumber;
801
+ localTag: z$1.ZodOptional<z$1.ZodString>;
802
+ upstreamTag: z$1.ZodOptional<z$1.ZodString>;
803
+ message: z$1.ZodString;
804
+ }, z$1.core.$strip>>>;
805
+ migrationReconciliation: z$1.ZodOptional<z$1.ZodObject<{
806
+ kept: z$1.ZodArray<z$1.ZodString>;
807
+ appended: z$1.ZodArray<z$1.ZodObject<{
808
+ idx: z$1.ZodNumber;
809
+ fromTag: z$1.ZodString;
810
+ toTag: z$1.ZodString;
811
+ }, z$1.core.$strip>>;
812
+ contentMatched: z$1.ZodArray<z$1.ZodString>;
813
+ }, z$1.core.$strip>>;
814
+ backupDir: z$1.ZodOptional<z$1.ZodString>;
815
+ reportPath: z$1.ZodOptional<z$1.ZodString>;
816
+ error: z$1.ZodOptional<z$1.ZodString>;
817
+ }, z$1.core.$strip>;
718
818
  declare const UpgradeOptionsSchema: z$1.ZodObject<{
719
819
  dryRun: z$1.ZodDefault<z$1.ZodBoolean>;
720
820
  noInstall: z$1.ZodDefault<z$1.ZodBoolean>;
@@ -1207,6 +1307,7 @@ declare const commandOptionSchemas: {
1207
1307
  }, z$1.core.$strip>;
1208
1308
  login: z$1.ZodObject<{
1209
1309
  key: z$1.ZodDefault<z$1.ZodBoolean>;
1310
+ custody: z$1.ZodDefault<z$1.ZodBoolean>;
1210
1311
  site: z$1.ZodOptional<z$1.ZodString>;
1211
1312
  expiresIn: z$1.ZodDefault<z$1.ZodNumber>;
1212
1313
  device: z$1.ZodOptional<z$1.ZodString>;
@@ -1244,6 +1345,14 @@ declare const commandOptionSchemas: {
1244
1345
  noInstall: z$1.ZodDefault<z$1.ZodBoolean>;
1245
1346
  json: z$1.ZodDefault<z$1.ZodBoolean>;
1246
1347
  }, z$1.core.$strip>;
1348
+ import: z$1.ZodObject<{
1349
+ workspace: z$1.ZodString;
1350
+ from: z$1.ZodOptional<z$1.ZodString>;
1351
+ yes: z$1.ZodDefault<z$1.ZodBoolean>;
1352
+ dryRun: z$1.ZodDefault<z$1.ZodBoolean>;
1353
+ noInstall: z$1.ZodDefault<z$1.ZodBoolean>;
1354
+ json: z$1.ZodDefault<z$1.ZodBoolean>;
1355
+ }, z$1.core.$strip>;
1247
1356
  upgrade: z$1.ZodObject<{
1248
1357
  dryRun: z$1.ZodDefault<z$1.ZodBoolean>;
1249
1358
  noInstall: z$1.ZodDefault<z$1.ZodBoolean>;
@@ -1400,6 +1509,7 @@ declare const bosContract: {
1400
1509
  key: "key";
1401
1510
  session: "session";
1402
1511
  }>>;
1512
+ sourcePublish: z$1.ZodOptional<z$1.ZodBoolean>;
1403
1513
  }, z$1.core.$strip>>;
1404
1514
  ci: z$1.ZodOptional<z$1.ZodObject<{
1405
1515
  image: z$1.ZodOptional<z$1.ZodString>;
@@ -1839,6 +1949,7 @@ declare const bosContract: {
1839
1949
  }, z$1.core.$strip>, object>;
1840
1950
  login: import("@orpc/contract").ProcedureContract<z$1.ZodObject<{
1841
1951
  key: z$1.ZodDefault<z$1.ZodBoolean>;
1952
+ custody: z$1.ZodDefault<z$1.ZodBoolean>;
1842
1953
  site: z$1.ZodOptional<z$1.ZodString>;
1843
1954
  expiresIn: z$1.ZodDefault<z$1.ZodNumber>;
1844
1955
  device: z$1.ZodOptional<z$1.ZodString>;
@@ -1865,6 +1976,27 @@ declare const bosContract: {
1865
1976
  contract: z$1.ZodString;
1866
1977
  exportedTo: z$1.ZodString;
1867
1978
  }, z$1.core.$strip>>>;
1979
+ custodyWallet: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
1980
+ walletId: z$1.ZodString;
1981
+ nearAccountId: z$1.ZodString;
1982
+ network: z$1.ZodEnum<{
1983
+ mainnet: "mainnet";
1984
+ testnet: "testnet";
1985
+ }>;
1986
+ handoffUrl: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
1987
+ }, z$1.core.$strip>>>;
1988
+ outlayerCli: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodObject<{
1989
+ status: z$1.ZodEnum<{
1990
+ "cli-missing": "cli-missing";
1991
+ error: "error";
1992
+ linked: "linked";
1993
+ }>;
1994
+ network: z$1.ZodEnum<{
1995
+ mainnet: "mainnet";
1996
+ testnet: "testnet";
1997
+ }>;
1998
+ detail: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
1999
+ }, z$1.core.$strip>>>;
1868
2000
  warning: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
1869
2001
  error: z$1.ZodOptional<z$1.ZodString>;
1870
2002
  }, z$1.core.$strip>, object>;
@@ -1944,6 +2076,57 @@ declare const bosContract: {
1944
2076
  backupDir: z$1.ZodOptional<z$1.ZodString>;
1945
2077
  error: z$1.ZodOptional<z$1.ZodString>;
1946
2078
  }, z$1.core.$strip>, object>;
2079
+ import: import("@orpc/contract").ProcedureContract<z$1.ZodObject<{
2080
+ workspace: z$1.ZodString;
2081
+ from: z$1.ZodOptional<z$1.ZodString>;
2082
+ yes: z$1.ZodDefault<z$1.ZodBoolean>;
2083
+ dryRun: z$1.ZodDefault<z$1.ZodBoolean>;
2084
+ noInstall: z$1.ZodDefault<z$1.ZodBoolean>;
2085
+ json: z$1.ZodDefault<z$1.ZodBoolean>;
2086
+ }, z$1.core.$strip>, z$1.ZodObject<{
2087
+ status: z$1.ZodEnum<{
2088
+ conflicts: "conflicts";
2089
+ "dry-run": "dry-run";
2090
+ error: "error";
2091
+ imported: "imported";
2092
+ }>;
2093
+ workspace: z$1.ZodString;
2094
+ from: z$1.ZodString;
2095
+ ref: z$1.ZodString;
2096
+ resolvedSha: z$1.ZodOptional<z$1.ZodString>;
2097
+ sourceRepository: z$1.ZodOptional<z$1.ZodString>;
2098
+ warnings: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
2099
+ added: z$1.ZodArray<z$1.ZodString>;
2100
+ updated: z$1.ZodArray<z$1.ZodString>;
2101
+ unchanged: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
2102
+ preservedLocal: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
2103
+ merged: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
2104
+ conflicts: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
2105
+ heldBackMigrations: z$1.ZodDefault<z$1.ZodArray<z$1.ZodString>>;
2106
+ routeDelta: z$1.ZodOptional<z$1.ZodObject<{
2107
+ oursOnly: z$1.ZodArray<z$1.ZodString>;
2108
+ theirsOnly: z$1.ZodArray<z$1.ZodString>;
2109
+ }, z$1.core.$strip>>;
2110
+ migrationCollisions: z$1.ZodDefault<z$1.ZodArray<z$1.ZodObject<{
2111
+ kind: z$1.ZodLiteral<"tag-mismatch">;
2112
+ idx: z$1.ZodNumber;
2113
+ localTag: z$1.ZodOptional<z$1.ZodString>;
2114
+ upstreamTag: z$1.ZodOptional<z$1.ZodString>;
2115
+ message: z$1.ZodString;
2116
+ }, z$1.core.$strip>>>;
2117
+ migrationReconciliation: z$1.ZodOptional<z$1.ZodObject<{
2118
+ kept: z$1.ZodArray<z$1.ZodString>;
2119
+ appended: z$1.ZodArray<z$1.ZodObject<{
2120
+ idx: z$1.ZodNumber;
2121
+ fromTag: z$1.ZodString;
2122
+ toTag: z$1.ZodString;
2123
+ }, z$1.core.$strip>>;
2124
+ contentMatched: z$1.ZodArray<z$1.ZodString>;
2125
+ }, z$1.core.$strip>>;
2126
+ backupDir: z$1.ZodOptional<z$1.ZodString>;
2127
+ reportPath: z$1.ZodOptional<z$1.ZodString>;
2128
+ error: z$1.ZodOptional<z$1.ZodString>;
2129
+ }, z$1.core.$strip>, object>;
1947
2130
  upgrade: import("@orpc/contract").ProcedureContract<z$1.ZodObject<{
1948
2131
  dryRun: z$1.ZodDefault<z$1.ZodBoolean>;
1949
2132
  noInstall: z$1.ZodDefault<z$1.ZodBoolean>;
@@ -2247,6 +2430,12 @@ type OverrideSection = z$1.infer<typeof OverrideSectionSchema>;
2247
2430
  type PhaseTiming = z$1.infer<typeof PhaseTimingSchema>;
2248
2431
  type SyncOptions = z$1.infer<typeof SyncOptionsSchema>;
2249
2432
  type SyncResult = z$1.infer<typeof SyncResultSchema>;
2433
+ type ImportOptions = z$1.infer<typeof ImportOptionsSchema>;
2434
+ type ImportResult = z$1.infer<typeof ImportResultSchema>;
2435
+ type ImportRouteDelta = z$1.infer<typeof ImportRouteDeltaSchema>;
2436
+ type ImportMigrationCollision = z$1.infer<typeof ImportMigrationCollisionSchema>;
2437
+ type ImportMigrationAppend = z$1.infer<typeof ImportMigrationAppendSchema>;
2438
+ type ImportMigrationReconciliation = z$1.infer<typeof ImportMigrationReconciliationSchema>;
2250
2439
  type UpgradeOptions = z$1.infer<typeof UpgradeOptionsSchema>;
2251
2440
  type UpgradeResult = z$1.infer<typeof UpgradeResultSchema>;
2252
2441
  type StatusResult = z$1.infer<typeof StatusResultSchema>;
@@ -2275,5 +2464,5 @@ type MfCheckResult = z$1.infer<typeof MfCheckResultSchema>;
2275
2464
  type InfraExportResult = z$1.infer<typeof InfraExportResultSchema>;
2276
2465
  type InfraExportService = z$1.infer<typeof InfraExportServiceSchema>;
2277
2466
  //#endregion
2278
- export { BosConfigResult, BuildOptions, BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployManifestListEntrySchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DeployedVersionStatusSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, InfraExportOptions, InfraExportOptionsSchema, InfraExportResult, InfraExportResultSchema, InfraExportService, InfraExportServiceSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, KillOptions, KillOptionsSchema, KillResult, KillResultSchema, LoginOptions, LoginOptionsSchema, LoginResult, LoginResultSchema, LogoutOptions, LogoutOptionsSchema, LogoutResult, LogoutResultSchema, LogsOptions, LogsOptionsSchema, LogsResult, LogsResultSchema, MfCheckOptions, MfCheckOptionsSchema, MfCheckRemoteResultSchema, MfCheckResult, MfCheckResultSchema, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PidEntry, PidEntrySchema, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginListResult, PluginListResultSchema, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, ProcessRole, ProcessRoleSchema, PsResult, PsResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RegistryUseOptionsSchema, RegistryUseResultSchema, RollbackHistoryEntrySchema, RollbackOptionsSchema, RollbackResultSchema, RollbackSlotCheckSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, SmokeOptionsSchema, SmokeResultSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypecheckOptions, TypecheckOptionsSchema, TypecheckResult, TypecheckResultSchema, TypecheckWorkspaceResult, TypecheckWorkspaceResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract, commandOptionSchemas };
2467
+ export { BosConfigResult, BuildOptions, BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployManifestListEntrySchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DeployedVersionStatusSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, ImportMigrationAppend, ImportMigrationAppendSchema, ImportMigrationCollision, ImportMigrationCollisionSchema, ImportMigrationReconciliation, ImportMigrationReconciliationSchema, ImportOptions, ImportOptionsSchema, ImportResult, ImportResultSchema, ImportRouteDelta, ImportRouteDeltaSchema, InfraExportOptions, InfraExportOptionsSchema, InfraExportResult, InfraExportResultSchema, InfraExportService, InfraExportServiceSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, KillOptions, KillOptionsSchema, KillResult, KillResultSchema, LoginOptions, LoginOptionsSchema, LoginResult, LoginResultSchema, LogoutOptions, LogoutOptionsSchema, LogoutResult, LogoutResultSchema, LogsOptions, LogsOptionsSchema, LogsResult, LogsResultSchema, MfCheckOptions, MfCheckOptionsSchema, MfCheckRemoteResultSchema, MfCheckResult, MfCheckResultSchema, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PidEntry, PidEntrySchema, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginListResult, PluginListResultSchema, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, ProcessRole, ProcessRoleSchema, PsResult, PsResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RegistryUseOptionsSchema, RegistryUseResultSchema, RollbackHistoryEntrySchema, RollbackOptionsSchema, RollbackResultSchema, RollbackSlotCheckSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, SmokeOptionsSchema, SmokeResultSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypecheckOptions, TypecheckOptionsSchema, TypecheckResult, TypecheckResultSchema, TypecheckWorkspaceResult, TypecheckWorkspaceResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract, commandOptionSchemas };
2279
2468
  //# sourceMappingURL=contract.d.mts.map
@@ -147,6 +147,7 @@ const cliCommandMeta = {
147
147
  interactive: true,
148
148
  fields: {
149
149
  key: { description: "Also mint and export a scoped publish key for headless/CI use" },
150
+ custody: { description: "Also register an OutLayer custody wallet for custody publishes" },
150
151
  site: { description: "Override site URL hosting the CLI login page" },
151
152
  device: { description: "Device label recorded on the credential (default: hostname)" },
152
153
  expiresIn: { description: "Session lifetime in seconds (default: 90 days)" },
@@ -198,6 +199,21 @@ const cliCommandMeta = {
198
199
  noInstall: { description: "Skip pnpm install" }
199
200
  }
200
201
  },
202
+ import: {
203
+ commandPath: ["import"],
204
+ summary: "Import a workspace subtree from an upstream repo without cloning",
205
+ interactive: true,
206
+ fields: {
207
+ workspace: {
208
+ positional: true,
209
+ description: "Workspace subtree path (e.g. plugins/auth)"
210
+ },
211
+ from: { description: "Upstream source: bos://<account>/<gateway>, <owner>/<repo>[@<ref>], GitHub URL, or local directory — defaults to the authored config's extends chain" },
212
+ yes: { description: "Apply upstream over conflicting files without prompting" },
213
+ dryRun: { description: "Preview classification and report without writing files" },
214
+ noInstall: { description: "Skip pnpm install" }
215
+ }
216
+ },
201
217
  upgrade: {
202
218
  commandPath: ["upgrade"],
203
219
  summary: "Upgrade framework packages and sync template files",
@@ -1 +1 @@
1
- {"version":3,"file":"contract.meta.cjs","names":[],"sources":["../src/contract.meta.ts"],"sourcesContent":["export type CliCommandMeta = {\n commandPath?: string[];\n summary: string;\n description?: string;\n examples?: string[];\n interactive?: boolean;\n longRunning?: boolean;\n fields?: Record<string, { positional?: boolean; description?: string }>;\n};\n\nexport const cliCommandMeta = {\n dev: {\n commandPath: [\"dev\"],\n summary: \"Start a development session\",\n interactive: true,\n longRunning: true,\n fields: {\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to force remote (e.g. --remote-plugins auth,registry)\",\n },\n logLevel: {\n description:\n \"Log tail level: error, warn (default), info, or debug (overrides BOS_LOG_LEVEL; the file always gets everything)\",\n },\n },\n },\n start: {\n commandPath: [\"start\"],\n summary: \"Start the production host\",\n interactive: false,\n longRunning: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n configPath: {\n description:\n \"Boot from a local bos config file — skips FastKV resolution and SRI integrity verification\",\n },\n },\n },\n build: {\n commandPath: [\"build\"],\n summary: \"Build selected workspaces\",\n interactive: false,\n fields: {\n packages: { positional: true, description: \"Comma-separated package list\" },\n },\n },\n config: {\n commandPath: [\"config\"],\n summary: \"Print the loaded BOS configuration\",\n interactive: false,\n fields: {\n full: { description: \"Print the fully resolved configuration\" },\n },\n },\n registryUse: {\n commandPath: [\"registry\", \"use\"],\n summary:\n \"Compose app.ui/app.host/app.api/plugins.<key> sections from a published runtime into bos.config.json\",\n interactive: false,\n fields: {\n from: {\n positional: true,\n description:\n \"Published runtime (account/gateway or bos:// URL), e.g. v1.citynode.near/citynode.app\",\n },\n sections: {\n description: \"Comma-separated sections to compose, e.g. app.ui,plugins.apps\",\n },\n dryRun: { description: \"Preview the merged config without writing\" },\n },\n },\n pluginAdd: {\n commandPath: [\"plugin\", \"add\"],\n summary: \"Add a plugin attachment\",\n interactive: false,\n fields: {\n source: {\n positional: true,\n description: \"Plugin source (local:path, bos://account/domain, or URL)\",\n },\n as: { description: \"Plugin alias\" },\n production: { description: \"Production URL override\" },\n },\n },\n pluginRemove: {\n commandPath: [\"plugin\", \"remove\"],\n summary: \"Remove a plugin attachment\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n pluginList: {\n commandPath: [\"plugin\", \"list\"],\n summary: \"List configured plugins\",\n interactive: false,\n },\n pluginPublish: {\n commandPath: [\"plugin\", \"publish\"],\n summary: \"Publish a single plugin\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n publish: {\n commandPath: [\"publish\"],\n summary:\n \"Publish the current workspace configuration (no build — use bos deploy for the full train)\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview what would be published without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n rollback: {\n commandPath: [\"rollback\"],\n summary: \"Republish an earlier config snapshot from the registry publish history\",\n interactive: true,\n fields: {\n version: { description: \"Block height (or timestamp) of the snapshot from the listing\" },\n previous: { description: \"Roll back to the write immediately before the current one\" },\n force: {\n description:\n \"Allow pre-Phase-A snapshots without verifiable manifest pins (their bytes were overwritten in place)\",\n },\n limit: { description: \"Listing depth (1-200, default 20)\" },\n dryRun: { description: \"Preview the rollback without publishing\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n deploy: {\n commandPath: [\"deploy\"],\n summary:\n \"Deploy train: preflight → build → upload bundles → publish config → runtime image (pre-pushed digest or local docker build) → post-publish smoke (optional) → Railway (image-backed, no build)\",\n interactive: false,\n fields: {\n env: { description: \"Environment: production or staging\" },\n build: { description: \"Build and deploy workspaces before publish (default: true)\" },\n dryRun: { description: \"Preview what would be deployed without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n service: { description: \"Override Railway service name from config\" },\n imageDigest: {\n description:\n \"Digest of a pre-pushed runtime image (sha256:…) — skips the local image build/push; Railway pins this digest\",\n },\n smoke: {\n description:\n \"Gate the Railway promotion on a post-publish boot smoke of the runtime image — a red smoke rolls the config back\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n smoke: {\n commandPath: [\"smoke\"],\n summary:\n \"Boot a runtime image the way production boots (identity-driven, published config) and assert the boot surface: /health, SSR, OpenAPI spec, in-image mf check\",\n interactive: false,\n fields: {\n image: { description: \"Runtime image ref to boot (required)\" },\n port: { description: \"Host port to publish the container on (default: 3000)\" },\n keep: { description: \"Keep the container after the run (debugging)\" },\n account: { description: \"Registry identity — defaults to the resolved session config\" },\n },\n },\n login: {\n commandPath: [\"login\"],\n summary:\n \"Sign in with your NEAR account via the hosted site (wallet, passkey, or social login)\",\n interactive: true,\n fields: {\n key: { description: \"Also mint and export a scoped publish key for headless/CI use\" },\n site: { description: \"Override site URL hosting the CLI login page\" },\n device: { description: \"Device label recorded on the credential (default: hostname)\" },\n expiresIn: { description: \"Session lifetime in seconds (default: 90 days)\" },\n env: { description: \"Environment: production (default) or staging\" },\n },\n },\n logout: {\n commandPath: [\"logout\"],\n summary: \"Revoke the stored CLI session and delete the exported publish key\",\n interactive: false,\n },\n keyPublish: {\n commandPath: [\"key\", \"generate\"],\n summary: \"Generate a publish access key\",\n interactive: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n allowance: { description: \"NEAR allowance for the key (default: 1NEAR, min: 0.3NEAR)\" },\n removeOldKeys: {\n description:\n \"Remove existing publish key(s) without prompting (default: ask on a TTY, defaulting to keep; keep when non-interactive — pass --remove-old-keys to remove)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n init: {\n commandPath: [\"init\"],\n summary: \"Scaffold a new project by extending a deployed app or template\",\n interactive: true,\n fields: {\n domain: {\n positional: true,\n description: \"New project domain (e.g. myapp.everything.dev)\",\n },\n extends: {\n description: \"Parent to extend from (e.g. bos://account/gateway or account/gateway)\",\n },\n account: { description: \"New project NEAR account (auto-derived from extends)\" },\n directory: { description: \"Target directory (auto-derived from domain)\" },\n source: { description: \"Local source dir (skips GitHub download)\" },\n plugins: {\n description: \"Comma-separated plugin keys to include (requires --overrides=plugins)\",\n },\n overrides: {\n description: \"Comma-separated sections to customize locally: ui,api,host,plugins\",\n },\n level: {\n description:\n \"Starter complexity: simple (public shell) or advanced (adds dashboard, orgs, admin)\",\n },\n noInteractive: { description: \"Skip prompts, use flags only\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n sync: {\n commandPath: [\"sync\"],\n summary: \"Sync template files from parent project\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview changes without writing files\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n upgrade: {\n commandPath: [\"upgrade\"],\n summary: \"Upgrade framework packages and sync template files\",\n interactive: true,\n fields: {\n dryRun: { description: \"Preview changes without writing\" },\n noInstall: { description: \"Skip pnpm install\" },\n noSync: { description: \"Only upgrade packages, skip template sync\" },\n },\n },\n typesGen: {\n commandPath: [\"types\", \"gen\"],\n summary: \"Generate type definitions from configured API and plugin contracts\",\n interactive: false,\n fields: {\n env: { description: \"Environment: development (default) or production\" },\n dryRun: { description: \"Preview what would be fetched without writing files\" },\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to fetch contract types remotely (e.g. --remote-plugins auth,registry)\",\n },\n },\n },\n typecheck: {\n commandPath: [\"typecheck\"],\n summary: \"Run TypeScript type checking across all local workspaces\",\n interactive: false,\n fields: {\n packages: {\n positional: true,\n description: \"Comma-separated workspace list (default: all)\",\n },\n },\n },\n mfCheck: {\n commandPath: [\"mf\", \"check\"],\n summary:\n \"Verify Module Federation runtime compatibility across published host + plugin bundles\",\n interactive: false,\n },\n dbStudio: {\n commandPath: [\"db\", \"studio\"],\n summary: \"Open Drizzle Studio for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name (default: api)\",\n },\n },\n },\n dbDoctor: {\n commandPath: [\"db\", \"doctor\"],\n summary: \"Diagnose migration health for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n },\n },\n dbRepair: {\n commandPath: [\"db\", \"repair\"],\n summary: \"Reset migration history and reapply migrations for a plugin\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n mode: {\n description: \"Repair mode: history-reset (default) or recreate (not yet supported)\",\n },\n yes: {\n description: \"Skip confirmation prompt\",\n },\n },\n },\n status: {\n commandPath: [\"status\"],\n summary: \"Show project health, versions, and update availability\",\n interactive: false,\n },\n ps: {\n commandPath: [\"ps\"],\n summary: \"List tracked development processes\",\n interactive: false,\n },\n logs: {\n commandPath: [\"logs\"],\n summary: \"Read dev session logs (.bos/logs/dev-latest.log)\",\n interactive: false,\n fields: {\n service: {\n description: \"Filter by service name (e.g. host, api, auth, ui, plugin:votes)\",\n },\n tail: { description: \"Show only the last N lines\" },\n follow: { description: \"Stream the log as lines are appended\" },\n },\n },\n kill: {\n commandPath: [\"kill\"],\n summary: \"Stop tracked development processes\",\n interactive: false,\n fields: {\n configDir: { description: \"Kill processes owned by a config directory (defaults to cwd)\" },\n signal: { description: \"Signal: SIGTERM (default) or SIGKILL\" },\n all: { description: \"Kill processes across all config directories\" },\n },\n },\n infraExport: {\n commandPath: [\"infra\", \"export\"],\n summary: \"Emit the resolved CI infra plan (env + services) for the current runtime\",\n interactive: false,\n fields: {\n target: { description: \"Export target: ci (default) or local\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n configDir: { description: \"Override config directory\" },\n },\n },\n} as const satisfies Record<string, CliCommandMeta>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"contract.meta.cjs","names":[],"sources":["../src/contract.meta.ts"],"sourcesContent":["export type CliCommandMeta = {\n commandPath?: string[];\n summary: string;\n description?: string;\n examples?: string[];\n interactive?: boolean;\n longRunning?: boolean;\n fields?: Record<string, { positional?: boolean; description?: string }>;\n};\n\nexport const cliCommandMeta = {\n dev: {\n commandPath: [\"dev\"],\n summary: \"Start a development session\",\n interactive: true,\n longRunning: true,\n fields: {\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to force remote (e.g. --remote-plugins auth,registry)\",\n },\n logLevel: {\n description:\n \"Log tail level: error, warn (default), info, or debug (overrides BOS_LOG_LEVEL; the file always gets everything)\",\n },\n },\n },\n start: {\n commandPath: [\"start\"],\n summary: \"Start the production host\",\n interactive: false,\n longRunning: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n configPath: {\n description:\n \"Boot from a local bos config file — skips FastKV resolution and SRI integrity verification\",\n },\n },\n },\n build: {\n commandPath: [\"build\"],\n summary: \"Build selected workspaces\",\n interactive: false,\n fields: {\n packages: { positional: true, description: \"Comma-separated package list\" },\n },\n },\n config: {\n commandPath: [\"config\"],\n summary: \"Print the loaded BOS configuration\",\n interactive: false,\n fields: {\n full: { description: \"Print the fully resolved configuration\" },\n },\n },\n registryUse: {\n commandPath: [\"registry\", \"use\"],\n summary:\n \"Compose app.ui/app.host/app.api/plugins.<key> sections from a published runtime into bos.config.json\",\n interactive: false,\n fields: {\n from: {\n positional: true,\n description:\n \"Published runtime (account/gateway or bos:// URL), e.g. v1.citynode.near/citynode.app\",\n },\n sections: {\n description: \"Comma-separated sections to compose, e.g. app.ui,plugins.apps\",\n },\n dryRun: { description: \"Preview the merged config without writing\" },\n },\n },\n pluginAdd: {\n commandPath: [\"plugin\", \"add\"],\n summary: \"Add a plugin attachment\",\n interactive: false,\n fields: {\n source: {\n positional: true,\n description: \"Plugin source (local:path, bos://account/domain, or URL)\",\n },\n as: { description: \"Plugin alias\" },\n production: { description: \"Production URL override\" },\n },\n },\n pluginRemove: {\n commandPath: [\"plugin\", \"remove\"],\n summary: \"Remove a plugin attachment\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n pluginList: {\n commandPath: [\"plugin\", \"list\"],\n summary: \"List configured plugins\",\n interactive: false,\n },\n pluginPublish: {\n commandPath: [\"plugin\", \"publish\"],\n summary: \"Publish a single plugin\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n publish: {\n commandPath: [\"publish\"],\n summary:\n \"Publish the current workspace configuration (no build — use bos deploy for the full train)\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview what would be published without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n rollback: {\n commandPath: [\"rollback\"],\n summary: \"Republish an earlier config snapshot from the registry publish history\",\n interactive: true,\n fields: {\n version: { description: \"Block height (or timestamp) of the snapshot from the listing\" },\n previous: { description: \"Roll back to the write immediately before the current one\" },\n force: {\n description:\n \"Allow pre-Phase-A snapshots without verifiable manifest pins (their bytes were overwritten in place)\",\n },\n limit: { description: \"Listing depth (1-200, default 20)\" },\n dryRun: { description: \"Preview the rollback without publishing\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n deploy: {\n commandPath: [\"deploy\"],\n summary:\n \"Deploy train: preflight → build → upload bundles → publish config → runtime image (pre-pushed digest or local docker build) → post-publish smoke (optional) → Railway (image-backed, no build)\",\n interactive: false,\n fields: {\n env: { description: \"Environment: production or staging\" },\n build: { description: \"Build and deploy workspaces before publish (default: true)\" },\n dryRun: { description: \"Preview what would be deployed without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n service: { description: \"Override Railway service name from config\" },\n imageDigest: {\n description:\n \"Digest of a pre-pushed runtime image (sha256:…) — skips the local image build/push; Railway pins this digest\",\n },\n smoke: {\n description:\n \"Gate the Railway promotion on a post-publish boot smoke of the runtime image — a red smoke rolls the config back\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n smoke: {\n commandPath: [\"smoke\"],\n summary:\n \"Boot a runtime image the way production boots (identity-driven, published config) and assert the boot surface: /health, SSR, OpenAPI spec, in-image mf check\",\n interactive: false,\n fields: {\n image: { description: \"Runtime image ref to boot (required)\" },\n port: { description: \"Host port to publish the container on (default: 3000)\" },\n keep: { description: \"Keep the container after the run (debugging)\" },\n account: { description: \"Registry identity — defaults to the resolved session config\" },\n },\n },\n login: {\n commandPath: [\"login\"],\n summary:\n \"Sign in with your NEAR account via the hosted site (wallet, passkey, or social login)\",\n interactive: true,\n fields: {\n key: { description: \"Also mint and export a scoped publish key for headless/CI use\" },\n custody: { description: \"Also register an OutLayer custody wallet for custody publishes\" },\n site: { description: \"Override site URL hosting the CLI login page\" },\n device: { description: \"Device label recorded on the credential (default: hostname)\" },\n expiresIn: { description: \"Session lifetime in seconds (default: 90 days)\" },\n env: { description: \"Environment: production (default) or staging\" },\n },\n },\n logout: {\n commandPath: [\"logout\"],\n summary: \"Revoke the stored CLI session and delete the exported publish key\",\n interactive: false,\n },\n keyPublish: {\n commandPath: [\"key\", \"generate\"],\n summary: \"Generate a publish access key\",\n interactive: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n allowance: { description: \"NEAR allowance for the key (default: 1NEAR, min: 0.3NEAR)\" },\n removeOldKeys: {\n description:\n \"Remove existing publish key(s) without prompting (default: ask on a TTY, defaulting to keep; keep when non-interactive — pass --remove-old-keys to remove)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n init: {\n commandPath: [\"init\"],\n summary: \"Scaffold a new project by extending a deployed app or template\",\n interactive: true,\n fields: {\n domain: {\n positional: true,\n description: \"New project domain (e.g. myapp.everything.dev)\",\n },\n extends: {\n description: \"Parent to extend from (e.g. bos://account/gateway or account/gateway)\",\n },\n account: { description: \"New project NEAR account (auto-derived from extends)\" },\n directory: { description: \"Target directory (auto-derived from domain)\" },\n source: { description: \"Local source dir (skips GitHub download)\" },\n plugins: {\n description: \"Comma-separated plugin keys to include (requires --overrides=plugins)\",\n },\n overrides: {\n description: \"Comma-separated sections to customize locally: ui,api,host,plugins\",\n },\n level: {\n description:\n \"Starter complexity: simple (public shell) or advanced (adds dashboard, orgs, admin)\",\n },\n noInteractive: { description: \"Skip prompts, use flags only\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n sync: {\n commandPath: [\"sync\"],\n summary: \"Sync template files from parent project\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview changes without writing files\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n import: {\n commandPath: [\"import\"],\n summary: \"Import a workspace subtree from an upstream repo without cloning\",\n interactive: true,\n fields: {\n workspace: { positional: true, description: \"Workspace subtree path (e.g. plugins/auth)\" },\n from: {\n description:\n \"Upstream source: bos://<account>/<gateway>, <owner>/<repo>[@<ref>], GitHub URL, or local directory — defaults to the authored config's extends chain\",\n },\n yes: { description: \"Apply upstream over conflicting files without prompting\" },\n dryRun: { description: \"Preview classification and report without writing files\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n upgrade: {\n commandPath: [\"upgrade\"],\n summary: \"Upgrade framework packages and sync template files\",\n interactive: true,\n fields: {\n dryRun: { description: \"Preview changes without writing\" },\n noInstall: { description: \"Skip pnpm install\" },\n noSync: { description: \"Only upgrade packages, skip template sync\" },\n },\n },\n typesGen: {\n commandPath: [\"types\", \"gen\"],\n summary: \"Generate type definitions from configured API and plugin contracts\",\n interactive: false,\n fields: {\n env: { description: \"Environment: development (default) or production\" },\n dryRun: { description: \"Preview what would be fetched without writing files\" },\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to fetch contract types remotely (e.g. --remote-plugins auth,registry)\",\n },\n },\n },\n typecheck: {\n commandPath: [\"typecheck\"],\n summary: \"Run TypeScript type checking across all local workspaces\",\n interactive: false,\n fields: {\n packages: {\n positional: true,\n description: \"Comma-separated workspace list (default: all)\",\n },\n },\n },\n mfCheck: {\n commandPath: [\"mf\", \"check\"],\n summary:\n \"Verify Module Federation runtime compatibility across published host + plugin bundles\",\n interactive: false,\n },\n dbStudio: {\n commandPath: [\"db\", \"studio\"],\n summary: \"Open Drizzle Studio for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name (default: api)\",\n },\n },\n },\n dbDoctor: {\n commandPath: [\"db\", \"doctor\"],\n summary: \"Diagnose migration health for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n },\n },\n dbRepair: {\n commandPath: [\"db\", \"repair\"],\n summary: \"Reset migration history and reapply migrations for a plugin\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n mode: {\n description: \"Repair mode: history-reset (default) or recreate (not yet supported)\",\n },\n yes: {\n description: \"Skip confirmation prompt\",\n },\n },\n },\n status: {\n commandPath: [\"status\"],\n summary: \"Show project health, versions, and update availability\",\n interactive: false,\n },\n ps: {\n commandPath: [\"ps\"],\n summary: \"List tracked development processes\",\n interactive: false,\n },\n logs: {\n commandPath: [\"logs\"],\n summary: \"Read dev session logs (.bos/logs/dev-latest.log)\",\n interactive: false,\n fields: {\n service: {\n description: \"Filter by service name (e.g. host, api, auth, ui, plugin:votes)\",\n },\n tail: { description: \"Show only the last N lines\" },\n follow: { description: \"Stream the log as lines are appended\" },\n },\n },\n kill: {\n commandPath: [\"kill\"],\n summary: \"Stop tracked development processes\",\n interactive: false,\n fields: {\n configDir: { description: \"Kill processes owned by a config directory (defaults to cwd)\" },\n signal: { description: \"Signal: SIGTERM (default) or SIGKILL\" },\n all: { description: \"Kill processes across all config directories\" },\n },\n },\n infraExport: {\n commandPath: [\"infra\", \"export\"],\n summary: \"Emit the resolved CI infra plan (env + services) for the current runtime\",\n interactive: false,\n fields: {\n target: { description: \"Export target: ci (default) or local\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n configDir: { description: \"Override config directory\" },\n },\n },\n} as const satisfies Record<string, CliCommandMeta>;\n"],"mappings":"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"}
@@ -242,6 +242,9 @@ declare const cliCommandMeta: {
242
242
  readonly key: {
243
243
  readonly description: "Also mint and export a scoped publish key for headless/CI use";
244
244
  };
245
+ readonly custody: {
246
+ readonly description: "Also register an OutLayer custody wallet for custody publishes";
247
+ };
245
248
  readonly site: {
246
249
  readonly description: "Override site URL hosting the CLI login page";
247
250
  };
@@ -331,6 +334,29 @@ declare const cliCommandMeta: {
331
334
  };
332
335
  };
333
336
  };
337
+ readonly import: {
338
+ readonly commandPath: ["import"];
339
+ readonly summary: "Import a workspace subtree from an upstream repo without cloning";
340
+ readonly interactive: true;
341
+ readonly fields: {
342
+ readonly workspace: {
343
+ readonly positional: true;
344
+ readonly description: "Workspace subtree path (e.g. plugins/auth)";
345
+ };
346
+ readonly from: {
347
+ readonly description: "Upstream source: bos://<account>/<gateway>, <owner>/<repo>[@<ref>], GitHub URL, or local directory — defaults to the authored config's extends chain";
348
+ };
349
+ readonly yes: {
350
+ readonly description: "Apply upstream over conflicting files without prompting";
351
+ };
352
+ readonly dryRun: {
353
+ readonly description: "Preview classification and report without writing files";
354
+ };
355
+ readonly noInstall: {
356
+ readonly description: "Skip pnpm install";
357
+ };
358
+ };
359
+ };
334
360
  readonly upgrade: {
335
361
  readonly commandPath: ["upgrade"];
336
362
  readonly summary: "Upgrade framework packages and sync template files";
@@ -242,6 +242,9 @@ declare const cliCommandMeta: {
242
242
  readonly key: {
243
243
  readonly description: "Also mint and export a scoped publish key for headless/CI use";
244
244
  };
245
+ readonly custody: {
246
+ readonly description: "Also register an OutLayer custody wallet for custody publishes";
247
+ };
245
248
  readonly site: {
246
249
  readonly description: "Override site URL hosting the CLI login page";
247
250
  };
@@ -331,6 +334,29 @@ declare const cliCommandMeta: {
331
334
  };
332
335
  };
333
336
  };
337
+ readonly import: {
338
+ readonly commandPath: ["import"];
339
+ readonly summary: "Import a workspace subtree from an upstream repo without cloning";
340
+ readonly interactive: true;
341
+ readonly fields: {
342
+ readonly workspace: {
343
+ readonly positional: true;
344
+ readonly description: "Workspace subtree path (e.g. plugins/auth)";
345
+ };
346
+ readonly from: {
347
+ readonly description: "Upstream source: bos://<account>/<gateway>, <owner>/<repo>[@<ref>], GitHub URL, or local directory — defaults to the authored config's extends chain";
348
+ };
349
+ readonly yes: {
350
+ readonly description: "Apply upstream over conflicting files without prompting";
351
+ };
352
+ readonly dryRun: {
353
+ readonly description: "Preview classification and report without writing files";
354
+ };
355
+ readonly noInstall: {
356
+ readonly description: "Skip pnpm install";
357
+ };
358
+ };
359
+ };
334
360
  readonly upgrade: {
335
361
  readonly commandPath: ["upgrade"];
336
362
  readonly summary: "Upgrade framework packages and sync template files";
@@ -146,6 +146,7 @@ const cliCommandMeta = {
146
146
  interactive: true,
147
147
  fields: {
148
148
  key: { description: "Also mint and export a scoped publish key for headless/CI use" },
149
+ custody: { description: "Also register an OutLayer custody wallet for custody publishes" },
149
150
  site: { description: "Override site URL hosting the CLI login page" },
150
151
  device: { description: "Device label recorded on the credential (default: hostname)" },
151
152
  expiresIn: { description: "Session lifetime in seconds (default: 90 days)" },
@@ -197,6 +198,21 @@ const cliCommandMeta = {
197
198
  noInstall: { description: "Skip pnpm install" }
198
199
  }
199
200
  },
201
+ import: {
202
+ commandPath: ["import"],
203
+ summary: "Import a workspace subtree from an upstream repo without cloning",
204
+ interactive: true,
205
+ fields: {
206
+ workspace: {
207
+ positional: true,
208
+ description: "Workspace subtree path (e.g. plugins/auth)"
209
+ },
210
+ from: { description: "Upstream source: bos://<account>/<gateway>, <owner>/<repo>[@<ref>], GitHub URL, or local directory — defaults to the authored config's extends chain" },
211
+ yes: { description: "Apply upstream over conflicting files without prompting" },
212
+ dryRun: { description: "Preview classification and report without writing files" },
213
+ noInstall: { description: "Skip pnpm install" }
214
+ }
215
+ },
200
216
  upgrade: {
201
217
  commandPath: ["upgrade"],
202
218
  summary: "Upgrade framework packages and sync template files",
@@ -1 +1 @@
1
- {"version":3,"file":"contract.meta.mjs","names":[],"sources":["../src/contract.meta.ts"],"sourcesContent":["export type CliCommandMeta = {\n commandPath?: string[];\n summary: string;\n description?: string;\n examples?: string[];\n interactive?: boolean;\n longRunning?: boolean;\n fields?: Record<string, { positional?: boolean; description?: string }>;\n};\n\nexport const cliCommandMeta = {\n dev: {\n commandPath: [\"dev\"],\n summary: \"Start a development session\",\n interactive: true,\n longRunning: true,\n fields: {\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to force remote (e.g. --remote-plugins auth,registry)\",\n },\n logLevel: {\n description:\n \"Log tail level: error, warn (default), info, or debug (overrides BOS_LOG_LEVEL; the file always gets everything)\",\n },\n },\n },\n start: {\n commandPath: [\"start\"],\n summary: \"Start the production host\",\n interactive: false,\n longRunning: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n configPath: {\n description:\n \"Boot from a local bos config file — skips FastKV resolution and SRI integrity verification\",\n },\n },\n },\n build: {\n commandPath: [\"build\"],\n summary: \"Build selected workspaces\",\n interactive: false,\n fields: {\n packages: { positional: true, description: \"Comma-separated package list\" },\n },\n },\n config: {\n commandPath: [\"config\"],\n summary: \"Print the loaded BOS configuration\",\n interactive: false,\n fields: {\n full: { description: \"Print the fully resolved configuration\" },\n },\n },\n registryUse: {\n commandPath: [\"registry\", \"use\"],\n summary:\n \"Compose app.ui/app.host/app.api/plugins.<key> sections from a published runtime into bos.config.json\",\n interactive: false,\n fields: {\n from: {\n positional: true,\n description:\n \"Published runtime (account/gateway or bos:// URL), e.g. v1.citynode.near/citynode.app\",\n },\n sections: {\n description: \"Comma-separated sections to compose, e.g. app.ui,plugins.apps\",\n },\n dryRun: { description: \"Preview the merged config without writing\" },\n },\n },\n pluginAdd: {\n commandPath: [\"plugin\", \"add\"],\n summary: \"Add a plugin attachment\",\n interactive: false,\n fields: {\n source: {\n positional: true,\n description: \"Plugin source (local:path, bos://account/domain, or URL)\",\n },\n as: { description: \"Plugin alias\" },\n production: { description: \"Production URL override\" },\n },\n },\n pluginRemove: {\n commandPath: [\"plugin\", \"remove\"],\n summary: \"Remove a plugin attachment\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n pluginList: {\n commandPath: [\"plugin\", \"list\"],\n summary: \"List configured plugins\",\n interactive: false,\n },\n pluginPublish: {\n commandPath: [\"plugin\", \"publish\"],\n summary: \"Publish a single plugin\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n publish: {\n commandPath: [\"publish\"],\n summary:\n \"Publish the current workspace configuration (no build — use bos deploy for the full train)\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview what would be published without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n rollback: {\n commandPath: [\"rollback\"],\n summary: \"Republish an earlier config snapshot from the registry publish history\",\n interactive: true,\n fields: {\n version: { description: \"Block height (or timestamp) of the snapshot from the listing\" },\n previous: { description: \"Roll back to the write immediately before the current one\" },\n force: {\n description:\n \"Allow pre-Phase-A snapshots without verifiable manifest pins (their bytes were overwritten in place)\",\n },\n limit: { description: \"Listing depth (1-200, default 20)\" },\n dryRun: { description: \"Preview the rollback without publishing\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n deploy: {\n commandPath: [\"deploy\"],\n summary:\n \"Deploy train: preflight → build → upload bundles → publish config → runtime image (pre-pushed digest or local docker build) → post-publish smoke (optional) → Railway (image-backed, no build)\",\n interactive: false,\n fields: {\n env: { description: \"Environment: production or staging\" },\n build: { description: \"Build and deploy workspaces before publish (default: true)\" },\n dryRun: { description: \"Preview what would be deployed without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n service: { description: \"Override Railway service name from config\" },\n imageDigest: {\n description:\n \"Digest of a pre-pushed runtime image (sha256:…) — skips the local image build/push; Railway pins this digest\",\n },\n smoke: {\n description:\n \"Gate the Railway promotion on a post-publish boot smoke of the runtime image — a red smoke rolls the config back\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n smoke: {\n commandPath: [\"smoke\"],\n summary:\n \"Boot a runtime image the way production boots (identity-driven, published config) and assert the boot surface: /health, SSR, OpenAPI spec, in-image mf check\",\n interactive: false,\n fields: {\n image: { description: \"Runtime image ref to boot (required)\" },\n port: { description: \"Host port to publish the container on (default: 3000)\" },\n keep: { description: \"Keep the container after the run (debugging)\" },\n account: { description: \"Registry identity — defaults to the resolved session config\" },\n },\n },\n login: {\n commandPath: [\"login\"],\n summary:\n \"Sign in with your NEAR account via the hosted site (wallet, passkey, or social login)\",\n interactive: true,\n fields: {\n key: { description: \"Also mint and export a scoped publish key for headless/CI use\" },\n site: { description: \"Override site URL hosting the CLI login page\" },\n device: { description: \"Device label recorded on the credential (default: hostname)\" },\n expiresIn: { description: \"Session lifetime in seconds (default: 90 days)\" },\n env: { description: \"Environment: production (default) or staging\" },\n },\n },\n logout: {\n commandPath: [\"logout\"],\n summary: \"Revoke the stored CLI session and delete the exported publish key\",\n interactive: false,\n },\n keyPublish: {\n commandPath: [\"key\", \"generate\"],\n summary: \"Generate a publish access key\",\n interactive: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n allowance: { description: \"NEAR allowance for the key (default: 1NEAR, min: 0.3NEAR)\" },\n removeOldKeys: {\n description:\n \"Remove existing publish key(s) without prompting (default: ask on a TTY, defaulting to keep; keep when non-interactive — pass --remove-old-keys to remove)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n init: {\n commandPath: [\"init\"],\n summary: \"Scaffold a new project by extending a deployed app or template\",\n interactive: true,\n fields: {\n domain: {\n positional: true,\n description: \"New project domain (e.g. myapp.everything.dev)\",\n },\n extends: {\n description: \"Parent to extend from (e.g. bos://account/gateway or account/gateway)\",\n },\n account: { description: \"New project NEAR account (auto-derived from extends)\" },\n directory: { description: \"Target directory (auto-derived from domain)\" },\n source: { description: \"Local source dir (skips GitHub download)\" },\n plugins: {\n description: \"Comma-separated plugin keys to include (requires --overrides=plugins)\",\n },\n overrides: {\n description: \"Comma-separated sections to customize locally: ui,api,host,plugins\",\n },\n level: {\n description:\n \"Starter complexity: simple (public shell) or advanced (adds dashboard, orgs, admin)\",\n },\n noInteractive: { description: \"Skip prompts, use flags only\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n sync: {\n commandPath: [\"sync\"],\n summary: \"Sync template files from parent project\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview changes without writing files\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n upgrade: {\n commandPath: [\"upgrade\"],\n summary: \"Upgrade framework packages and sync template files\",\n interactive: true,\n fields: {\n dryRun: { description: \"Preview changes without writing\" },\n noInstall: { description: \"Skip pnpm install\" },\n noSync: { description: \"Only upgrade packages, skip template sync\" },\n },\n },\n typesGen: {\n commandPath: [\"types\", \"gen\"],\n summary: \"Generate type definitions from configured API and plugin contracts\",\n interactive: false,\n fields: {\n env: { description: \"Environment: development (default) or production\" },\n dryRun: { description: \"Preview what would be fetched without writing files\" },\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to fetch contract types remotely (e.g. --remote-plugins auth,registry)\",\n },\n },\n },\n typecheck: {\n commandPath: [\"typecheck\"],\n summary: \"Run TypeScript type checking across all local workspaces\",\n interactive: false,\n fields: {\n packages: {\n positional: true,\n description: \"Comma-separated workspace list (default: all)\",\n },\n },\n },\n mfCheck: {\n commandPath: [\"mf\", \"check\"],\n summary:\n \"Verify Module Federation runtime compatibility across published host + plugin bundles\",\n interactive: false,\n },\n dbStudio: {\n commandPath: [\"db\", \"studio\"],\n summary: \"Open Drizzle Studio for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name (default: api)\",\n },\n },\n },\n dbDoctor: {\n commandPath: [\"db\", \"doctor\"],\n summary: \"Diagnose migration health for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n },\n },\n dbRepair: {\n commandPath: [\"db\", \"repair\"],\n summary: \"Reset migration history and reapply migrations for a plugin\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n mode: {\n description: \"Repair mode: history-reset (default) or recreate (not yet supported)\",\n },\n yes: {\n description: \"Skip confirmation prompt\",\n },\n },\n },\n status: {\n commandPath: [\"status\"],\n summary: \"Show project health, versions, and update availability\",\n interactive: false,\n },\n ps: {\n commandPath: [\"ps\"],\n summary: \"List tracked development processes\",\n interactive: false,\n },\n logs: {\n commandPath: [\"logs\"],\n summary: \"Read dev session logs (.bos/logs/dev-latest.log)\",\n interactive: false,\n fields: {\n service: {\n description: \"Filter by service name (e.g. host, api, auth, ui, plugin:votes)\",\n },\n tail: { description: \"Show only the last N lines\" },\n follow: { description: \"Stream the log as lines are appended\" },\n },\n },\n kill: {\n commandPath: [\"kill\"],\n summary: \"Stop tracked development processes\",\n interactive: false,\n fields: {\n configDir: { description: \"Kill processes owned by a config directory (defaults to cwd)\" },\n signal: { description: \"Signal: SIGTERM (default) or SIGKILL\" },\n all: { description: \"Kill processes across all config directories\" },\n },\n },\n infraExport: {\n commandPath: [\"infra\", \"export\"],\n summary: \"Emit the resolved CI infra plan (env + services) for the current runtime\",\n interactive: false,\n fields: {\n target: { description: \"Export target: ci (default) or local\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n configDir: { description: \"Override config directory\" },\n },\n },\n} as const satisfies Record<string, CliCommandMeta>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"contract.meta.mjs","names":[],"sources":["../src/contract.meta.ts"],"sourcesContent":["export type CliCommandMeta = {\n commandPath?: string[];\n summary: string;\n description?: string;\n examples?: string[];\n interactive?: boolean;\n longRunning?: boolean;\n fields?: Record<string, { positional?: boolean; description?: string }>;\n};\n\nexport const cliCommandMeta = {\n dev: {\n commandPath: [\"dev\"],\n summary: \"Start a development session\",\n interactive: true,\n longRunning: true,\n fields: {\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to force remote (e.g. --remote-plugins auth,registry)\",\n },\n logLevel: {\n description:\n \"Log tail level: error, warn (default), info, or debug (overrides BOS_LOG_LEVEL; the file always gets everything)\",\n },\n },\n },\n start: {\n commandPath: [\"start\"],\n summary: \"Start the production host\",\n interactive: false,\n longRunning: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n configPath: {\n description:\n \"Boot from a local bos config file — skips FastKV resolution and SRI integrity verification\",\n },\n },\n },\n build: {\n commandPath: [\"build\"],\n summary: \"Build selected workspaces\",\n interactive: false,\n fields: {\n packages: { positional: true, description: \"Comma-separated package list\" },\n },\n },\n config: {\n commandPath: [\"config\"],\n summary: \"Print the loaded BOS configuration\",\n interactive: false,\n fields: {\n full: { description: \"Print the fully resolved configuration\" },\n },\n },\n registryUse: {\n commandPath: [\"registry\", \"use\"],\n summary:\n \"Compose app.ui/app.host/app.api/plugins.<key> sections from a published runtime into bos.config.json\",\n interactive: false,\n fields: {\n from: {\n positional: true,\n description:\n \"Published runtime (account/gateway or bos:// URL), e.g. v1.citynode.near/citynode.app\",\n },\n sections: {\n description: \"Comma-separated sections to compose, e.g. app.ui,plugins.apps\",\n },\n dryRun: { description: \"Preview the merged config without writing\" },\n },\n },\n pluginAdd: {\n commandPath: [\"plugin\", \"add\"],\n summary: \"Add a plugin attachment\",\n interactive: false,\n fields: {\n source: {\n positional: true,\n description: \"Plugin source (local:path, bos://account/domain, or URL)\",\n },\n as: { description: \"Plugin alias\" },\n production: { description: \"Production URL override\" },\n },\n },\n pluginRemove: {\n commandPath: [\"plugin\", \"remove\"],\n summary: \"Remove a plugin attachment\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n pluginList: {\n commandPath: [\"plugin\", \"list\"],\n summary: \"List configured plugins\",\n interactive: false,\n },\n pluginPublish: {\n commandPath: [\"plugin\", \"publish\"],\n summary: \"Publish a single plugin\",\n interactive: false,\n fields: { key: { positional: true, description: \"Plugin key\" } },\n },\n publish: {\n commandPath: [\"publish\"],\n summary:\n \"Publish the current workspace configuration (no build — use bos deploy for the full train)\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview what would be published without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n rollback: {\n commandPath: [\"rollback\"],\n summary: \"Republish an earlier config snapshot from the registry publish history\",\n interactive: true,\n fields: {\n version: { description: \"Block height (or timestamp) of the snapshot from the listing\" },\n previous: { description: \"Roll back to the write immediately before the current one\" },\n force: {\n description:\n \"Allow pre-Phase-A snapshots without verifiable manifest pins (their bytes were overwritten in place)\",\n },\n limit: { description: \"Listing depth (1-200, default 20)\" },\n dryRun: { description: \"Preview the rollback without publishing\" },\n env: { description: \"Environment: production or staging\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n wallet: {\n description:\n \"Publish gaslessly with a one-time wallet approval (NEP-366 delegate action relayed by the platform relayer)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n deploy: {\n commandPath: [\"deploy\"],\n summary:\n \"Deploy train: preflight → build → upload bundles → publish config → runtime image (pre-pushed digest or local docker build) → post-publish smoke (optional) → Railway (image-backed, no build)\",\n interactive: false,\n fields: {\n env: { description: \"Environment: production or staging\" },\n build: { description: \"Build and deploy workspaces before publish (default: true)\" },\n dryRun: { description: \"Preview what would be deployed without writing\" },\n verbose: { description: \"Show full build output instead of clean summary\" },\n service: { description: \"Override Railway service name from config\" },\n imageDigest: {\n description:\n \"Digest of a pre-pushed runtime image (sha256:…) — skips the local image build/push; Railway pins this digest\",\n },\n smoke: {\n description:\n \"Gate the Railway promotion on a post-publish boot smoke of the runtime image — a red smoke rolls the config back\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n smoke: {\n commandPath: [\"smoke\"],\n summary:\n \"Boot a runtime image the way production boots (identity-driven, published config) and assert the boot surface: /health, SSR, OpenAPI spec, in-image mf check\",\n interactive: false,\n fields: {\n image: { description: \"Runtime image ref to boot (required)\" },\n port: { description: \"Host port to publish the container on (default: 3000)\" },\n keep: { description: \"Keep the container after the run (debugging)\" },\n account: { description: \"Registry identity — defaults to the resolved session config\" },\n },\n },\n login: {\n commandPath: [\"login\"],\n summary:\n \"Sign in with your NEAR account via the hosted site (wallet, passkey, or social login)\",\n interactive: true,\n fields: {\n key: { description: \"Also mint and export a scoped publish key for headless/CI use\" },\n custody: { description: \"Also register an OutLayer custody wallet for custody publishes\" },\n site: { description: \"Override site URL hosting the CLI login page\" },\n device: { description: \"Device label recorded on the credential (default: hostname)\" },\n expiresIn: { description: \"Session lifetime in seconds (default: 90 days)\" },\n env: { description: \"Environment: production (default) or staging\" },\n },\n },\n logout: {\n commandPath: [\"logout\"],\n summary: \"Revoke the stored CLI session and delete the exported publish key\",\n interactive: false,\n },\n keyPublish: {\n commandPath: [\"key\", \"generate\"],\n summary: \"Generate a publish access key\",\n interactive: true,\n fields: {\n env: { description: \"Environment: production or staging\" },\n allowance: { description: \"NEAR allowance for the key (default: 1NEAR, min: 0.3NEAR)\" },\n removeOldKeys: {\n description:\n \"Remove existing publish key(s) without prompting (default: ask on a TTY, defaulting to keep; keep when non-interactive — pass --remove-old-keys to remove)\",\n },\n registry: {\n description:\n \"Override FastKV registry contract account (defaults: dev.everything.near / dev.allthethings.testnet)\",\n },\n },\n },\n init: {\n commandPath: [\"init\"],\n summary: \"Scaffold a new project by extending a deployed app or template\",\n interactive: true,\n fields: {\n domain: {\n positional: true,\n description: \"New project domain (e.g. myapp.everything.dev)\",\n },\n extends: {\n description: \"Parent to extend from (e.g. bos://account/gateway or account/gateway)\",\n },\n account: { description: \"New project NEAR account (auto-derived from extends)\" },\n directory: { description: \"Target directory (auto-derived from domain)\" },\n source: { description: \"Local source dir (skips GitHub download)\" },\n plugins: {\n description: \"Comma-separated plugin keys to include (requires --overrides=plugins)\",\n },\n overrides: {\n description: \"Comma-separated sections to customize locally: ui,api,host,plugins\",\n },\n level: {\n description:\n \"Starter complexity: simple (public shell) or advanced (adds dashboard, orgs, admin)\",\n },\n noInteractive: { description: \"Skip prompts, use flags only\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n sync: {\n commandPath: [\"sync\"],\n summary: \"Sync template files from parent project\",\n interactive: false,\n fields: {\n dryRun: { description: \"Preview changes without writing files\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n import: {\n commandPath: [\"import\"],\n summary: \"Import a workspace subtree from an upstream repo without cloning\",\n interactive: true,\n fields: {\n workspace: { positional: true, description: \"Workspace subtree path (e.g. plugins/auth)\" },\n from: {\n description:\n \"Upstream source: bos://<account>/<gateway>, <owner>/<repo>[@<ref>], GitHub URL, or local directory — defaults to the authored config's extends chain\",\n },\n yes: { description: \"Apply upstream over conflicting files without prompting\" },\n dryRun: { description: \"Preview classification and report without writing files\" },\n noInstall: { description: \"Skip pnpm install\" },\n },\n },\n upgrade: {\n commandPath: [\"upgrade\"],\n summary: \"Upgrade framework packages and sync template files\",\n interactive: true,\n fields: {\n dryRun: { description: \"Preview changes without writing\" },\n noInstall: { description: \"Skip pnpm install\" },\n noSync: { description: \"Only upgrade packages, skip template sync\" },\n },\n },\n typesGen: {\n commandPath: [\"types\", \"gen\"],\n summary: \"Generate type definitions from configured API and plugin contracts\",\n interactive: false,\n fields: {\n env: { description: \"Environment: development (default) or production\" },\n dryRun: { description: \"Preview what would be fetched without writing files\" },\n remotePlugins: {\n description:\n \"Comma-separated plugin IDs to fetch contract types remotely (e.g. --remote-plugins auth,registry)\",\n },\n },\n },\n typecheck: {\n commandPath: [\"typecheck\"],\n summary: \"Run TypeScript type checking across all local workspaces\",\n interactive: false,\n fields: {\n packages: {\n positional: true,\n description: \"Comma-separated workspace list (default: all)\",\n },\n },\n },\n mfCheck: {\n commandPath: [\"mf\", \"check\"],\n summary:\n \"Verify Module Federation runtime compatibility across published host + plugin bundles\",\n interactive: false,\n },\n dbStudio: {\n commandPath: [\"db\", \"studio\"],\n summary: \"Open Drizzle Studio for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name (default: api)\",\n },\n },\n },\n dbDoctor: {\n commandPath: [\"db\", \"doctor\"],\n summary: \"Diagnose migration health for a plugin's database\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n },\n },\n dbRepair: {\n commandPath: [\"db\", \"repair\"],\n summary: \"Reset migration history and reapply migrations for a plugin\",\n fields: {\n plugin: {\n positional: true,\n description: \"Plugin key: api, auth, or a plugin name\",\n },\n mode: {\n description: \"Repair mode: history-reset (default) or recreate (not yet supported)\",\n },\n yes: {\n description: \"Skip confirmation prompt\",\n },\n },\n },\n status: {\n commandPath: [\"status\"],\n summary: \"Show project health, versions, and update availability\",\n interactive: false,\n },\n ps: {\n commandPath: [\"ps\"],\n summary: \"List tracked development processes\",\n interactive: false,\n },\n logs: {\n commandPath: [\"logs\"],\n summary: \"Read dev session logs (.bos/logs/dev-latest.log)\",\n interactive: false,\n fields: {\n service: {\n description: \"Filter by service name (e.g. host, api, auth, ui, plugin:votes)\",\n },\n tail: { description: \"Show only the last N lines\" },\n follow: { description: \"Stream the log as lines are appended\" },\n },\n },\n kill: {\n commandPath: [\"kill\"],\n summary: \"Stop tracked development processes\",\n interactive: false,\n fields: {\n configDir: { description: \"Kill processes owned by a config directory (defaults to cwd)\" },\n signal: { description: \"Signal: SIGTERM (default) or SIGKILL\" },\n all: { description: \"Kill processes across all config directories\" },\n },\n },\n infraExport: {\n commandPath: [\"infra\", \"export\"],\n summary: \"Emit the resolved CI infra plan (env + services) for the current runtime\",\n interactive: false,\n fields: {\n target: { description: \"Export target: ci (default) or local\" },\n network: { description: \"NEAR network: mainnet or testnet\" },\n configDir: { description: \"Override config directory\" },\n },\n },\n} as const satisfies Record<string, CliCommandMeta>;\n"],"mappings":"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"}