agl 1.0.17 → 21.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/.smartconfig.json +55 -0
  2. package/changelog.md +1026 -0
  3. package/cli.js +14 -0
  4. package/dist_serve/bundle.js +44778 -0
  5. package/dist_serve/index.html +13 -0
  6. package/dist_ts/00_commitinfo_data.d.ts +8 -0
  7. package/dist_ts/00_commitinfo_data.js +9 -0
  8. package/dist_ts/classes.authmodels.d.ts +126 -0
  9. package/dist_ts/classes.authmodels.js +1422 -0
  10. package/dist_ts/classes.authstore.d.ts +160 -0
  11. package/dist_ts/classes.authstore.js +2483 -0
  12. package/dist_ts/classes.browserresourcehost.d.ts +85 -0
  13. package/dist_ts/classes.browserresourcehost.js +912 -0
  14. package/dist_ts/classes.cli.d.ts +21 -0
  15. package/dist_ts/classes.cli.js +1082 -0
  16. package/dist_ts/classes.config.d.ts +23 -0
  17. package/dist_ts/classes.config.js +267 -0
  18. package/dist_ts/classes.controller.d.ts +523 -0
  19. package/dist_ts/classes.controller.js +10611 -0
  20. package/dist_ts/classes.controllermanagement.d.ts +32 -0
  21. package/dist_ts/classes.controllermanagement.js +222 -0
  22. package/dist_ts/classes.draftmanager.d.ts +30 -0
  23. package/dist_ts/classes.draftmanager.js +179 -0
  24. package/dist_ts/classes.embeddeddb.d.ts +30 -0
  25. package/dist_ts/classes.embeddeddb.js +159 -0
  26. package/dist_ts/classes.flexframedtransport.d.ts +56 -0
  27. package/dist_ts/classes.flexframedtransport.js +275 -0
  28. package/dist_ts/classes.flexmodels.private.d.ts +231 -0
  29. package/dist_ts/classes.flexmodels.private.js +985 -0
  30. package/dist_ts/classes.flexmodels.public.d.ts +207 -0
  31. package/dist_ts/classes.flexmodels.public.js +885 -0
  32. package/dist_ts/classes.flexprojectionreader.d.ts +89 -0
  33. package/dist_ts/classes.flexprojectionreader.js +580 -0
  34. package/dist_ts/classes.flexservice.d.ts +196 -0
  35. package/dist_ts/classes.flexservice.js +3704 -0
  36. package/dist_ts/classes.flexstore.d.ts +174 -0
  37. package/dist_ts/classes.flexstore.js +3400 -0
  38. package/dist_ts/classes.flexsupervisor.d.ts +105 -0
  39. package/dist_ts/classes.flexsupervisor.js +1191 -0
  40. package/dist_ts/classes.gitreversion.d.ts +431 -0
  41. package/dist_ts/classes.gitreversion.js +10592 -0
  42. package/dist_ts/classes.harnessoperationmanager.d.ts +113 -0
  43. package/dist_ts/classes.harnessoperationmanager.js +602 -0
  44. package/dist_ts/classes.opencodeclient.d.ts +146 -0
  45. package/dist_ts/classes.opencodeclient.js +3003 -0
  46. package/dist_ts/classes.opencodesupervisor.d.ts +60 -0
  47. package/dist_ts/classes.opencodesupervisor.js +1003 -0
  48. package/dist_ts/classes.passkeymanager.d.ts +34 -0
  49. package/dist_ts/classes.passkeymanager.js +456 -0
  50. package/dist_ts/classes.processinspection.d.ts +50 -0
  51. package/dist_ts/classes.processinspection.js +484 -0
  52. package/dist_ts/classes.resourcecoordinator.d.ts +64 -0
  53. package/dist_ts/classes.resourcecoordinator.js +294 -0
  54. package/dist_ts/classes.sessionintelligencereader.d.ts +13 -0
  55. package/dist_ts/classes.sessionintelligencereader.js +40 -0
  56. package/dist_ts/classes.systemmetricssampler.d.ts +53 -0
  57. package/dist_ts/classes.systemmetricssampler.js +168 -0
  58. package/dist_ts/classes.terminalmanager.d.ts +95 -0
  59. package/dist_ts/classes.terminalmanager.js +981 -0
  60. package/dist_ts/classes.terminalresourcehost.d.ts +20 -0
  61. package/dist_ts/classes.terminalresourcehost.js +84 -0
  62. package/dist_ts/classes.upgradecoordinator.d.ts +244 -0
  63. package/dist_ts/classes.upgradecoordinator.js +2155 -0
  64. package/dist_ts/classes.upgradetransaction.d.ts +92 -0
  65. package/dist_ts/classes.upgradetransaction.js +2125 -0
  66. package/dist_ts/classes.uploadmanager.d.ts +24 -0
  67. package/dist_ts/classes.uploadmanager.js +210 -0
  68. package/dist_ts/classes.validation.d.ts +91 -0
  69. package/dist_ts/classes.validation.js +1087 -0
  70. package/dist_ts/flexharness.child.d.ts +1 -0
  71. package/dist_ts/flexharness.child.js +28 -0
  72. package/dist_ts/functions.canonicaldirectory.d.ts +21 -0
  73. package/dist_ts/functions.canonicaldirectory.js +144 -0
  74. package/dist_ts/functions.controllerdataroot.d.ts +15 -0
  75. package/dist_ts/functions.controllerdataroot.js +76 -0
  76. package/dist_ts/functions.embeddeddb.d.ts +2 -0
  77. package/dist_ts/functions.embeddeddb.js +21 -0
  78. package/dist_ts/functions.flexcredentialstore.d.ts +16 -0
  79. package/dist_ts/functions.flexcredentialstore.js +93 -0
  80. package/dist_ts/functions.opencodeauth.d.ts +3 -0
  81. package/dist_ts/functions.opencodeauth.js +31 -0
  82. package/dist_ts/functions.runtimeenvironment.d.ts +2 -0
  83. package/dist_ts/functions.runtimeenvironment.js +79 -0
  84. package/dist_ts/functions.upgradefollower.d.ts +3 -0
  85. package/dist_ts/functions.upgradefollower.js +95 -0
  86. package/dist_ts/index.d.ts +24 -0
  87. package/dist_ts/index.js +25 -0
  88. package/dist_ts/interfaces.auth.d.ts +181 -0
  89. package/dist_ts/interfaces.auth.js +82 -0
  90. package/dist_ts/interfaces.config.d.ts +34 -0
  91. package/dist_ts/interfaces.config.js +2 -0
  92. package/dist_ts/interfaces.flexipc.d.ts +939 -0
  93. package/dist_ts/interfaces.flexipc.js +1492 -0
  94. package/dist_ts/interfaces.gitreversion.d.ts +246 -0
  95. package/dist_ts/interfaces.gitreversion.js +2 -0
  96. package/dist_ts/interfaces.lifecycle.d.ts +37 -0
  97. package/dist_ts/interfaces.lifecycle.js +2 -0
  98. package/dist_ts/interfaces.opencode.d.ts +101 -0
  99. package/dist_ts/interfaces.opencode.js +3 -0
  100. package/dist_ts/interfaces.projects.d.ts +156 -0
  101. package/dist_ts/interfaces.projects.js +5 -0
  102. package/dist_ts/plugins.d.ts +36 -0
  103. package/dist_ts/plugins.js +40 -0
  104. package/dist_ts_interfaces/index.d.ts +2 -0
  105. package/dist_ts_interfaces/index.js +3 -0
  106. package/dist_ts_interfaces/interfaces.d.ts +747 -0
  107. package/dist_ts_interfaces/interfaces.js +47 -0
  108. package/dist_ts_interfaces/plugins.d.ts +4 -0
  109. package/dist_ts_interfaces/plugins.js +3 -0
  110. package/dist_ts_interfaces/requests.d.ts +806 -0
  111. package/dist_ts_interfaces/requests.js +2 -0
  112. package/dist_ts_migration/classes.documentmigrationrunner.d.ts +8 -0
  113. package/dist_ts_migration/classes.documentmigrationrunner.js +24 -0
  114. package/dist_ts_migration/classes.flexmigrationrunner.d.ts +11 -0
  115. package/dist_ts_migration/classes.flexmigrationrunner.js +25 -0
  116. package/dist_ts_migration/classes.flexpostharnessmigrationrunner.d.ts +10 -0
  117. package/dist_ts_migration/classes.flexpostharnessmigrationrunner.js +15 -0
  118. package/dist_ts_migration/classes.migrationrunner.d.ts +8 -0
  119. package/dist_ts_migration/classes.migrationrunner.js +34 -0
  120. package/dist_ts_migration/index.d.ts +12 -0
  121. package/dist_ts_migration/index.js +13 -0
  122. package/dist_ts_migration/v10_flexharnessv3migration.d.ts +11 -0
  123. package/dist_ts_migration/v10_flexharnessv3migration.js +23 -0
  124. package/dist_ts_migration/v13_flexprojectionorder.d.ts +11 -0
  125. package/dist_ts_migration/v13_flexprojectionorder.js +23 -0
  126. package/dist_ts_migration/v16_flexprovidercredentials.d.ts +22 -0
  127. package/dist_ts_migration/v16_flexprovidercredentials.js +149 -0
  128. package/dist_ts_migration/v18_resourcelayout.d.ts +22 -0
  129. package/dist_ts_migration/v18_resourcelayout.js +23 -0
  130. package/dist_ts_migration/v18_resourcelayoutmigration.d.ts +6 -0
  131. package/dist_ts_migration/v18_resourcelayoutmigration.js +61 -0
  132. package/dist_ts_migration/v19_flexprojectmanagement.d.ts +11 -0
  133. package/dist_ts_migration/v19_flexprojectmanagement.js +21 -0
  134. package/dist_ts_migration/v1_embeddeddatabaselocation.d.ts +28 -0
  135. package/dist_ts_migration/v1_embeddeddatabaselocation.js +415 -0
  136. package/dist_ts_migration/v22_projectfilesystemidentitymigration.d.ts +7 -0
  137. package/dist_ts_migration/v22_projectfilesystemidentitymigration.js +105 -0
  138. package/dist_ts_migration/v2_controllerdataroot.d.ts +130 -0
  139. package/dist_ts_migration/v2_controllerdataroot.js +1887 -0
  140. package/dist_ts_migration/v6_protocoldocumentmigration.d.ts +7 -0
  141. package/dist_ts_migration/v6_protocoldocumentmigration.js +100 -0
  142. package/dist_ts_migration/v6_protocoldocuments.d.ts +7 -0
  143. package/dist_ts_migration/v6_protocoldocuments.js +138 -0
  144. package/html/index.html +13 -0
  145. package/{LICENSE → license.md} +2 -2
  146. package/package.json +86 -48
  147. package/readme.md +480 -0
  148. package/readme.plan.md +188 -0
  149. package/ts/00_commitinfo_data.ts +8 -0
  150. package/ts/classes.authmodels.ts +1245 -0
  151. package/ts/classes.authstore.ts +3274 -0
  152. package/ts/classes.browserresourcehost.ts +1205 -0
  153. package/ts/classes.cli.ts +1254 -0
  154. package/ts/classes.config.ts +351 -0
  155. package/ts/classes.controller.ts +14426 -0
  156. package/ts/classes.controllermanagement.ts +330 -0
  157. package/ts/classes.draftmanager.ts +232 -0
  158. package/ts/classes.embeddeddb.ts +166 -0
  159. package/ts/classes.flexframedtransport.ts +283 -0
  160. package/ts/classes.flexmodels.private.ts +823 -0
  161. package/ts/classes.flexmodels.public.ts +732 -0
  162. package/ts/classes.flexprojectionreader.ts +816 -0
  163. package/ts/classes.flexservice.ts +4302 -0
  164. package/ts/classes.flexstore.ts +4565 -0
  165. package/ts/classes.flexsupervisor.ts +1453 -0
  166. package/ts/classes.gitreversion.ts +13353 -0
  167. package/ts/classes.harnessoperationmanager.ts +870 -0
  168. package/ts/classes.opencodeclient.ts +4110 -0
  169. package/ts/classes.opencodesupervisor.ts +1280 -0
  170. package/ts/classes.passkeymanager.ts +570 -0
  171. package/ts/classes.processinspection.ts +623 -0
  172. package/ts/classes.resourcecoordinator.ts +436 -0
  173. package/ts/classes.sessionintelligencereader.ts +52 -0
  174. package/ts/classes.systemmetricssampler.ts +215 -0
  175. package/ts/classes.terminalmanager.ts +1207 -0
  176. package/ts/classes.terminalresourcehost.ts +122 -0
  177. package/ts/classes.upgradecoordinator.ts +2675 -0
  178. package/ts/classes.upgradetransaction.ts +2900 -0
  179. package/ts/classes.uploadmanager.ts +240 -0
  180. package/ts/classes.validation.ts +1409 -0
  181. package/ts/flexharness.child.ts +35 -0
  182. package/ts/functions.canonicaldirectory.ts +213 -0
  183. package/ts/functions.controllerdataroot.ts +107 -0
  184. package/ts/functions.embeddeddb.ts +22 -0
  185. package/ts/functions.flexcredentialstore.ts +128 -0
  186. package/ts/functions.opencodeauth.ts +34 -0
  187. package/ts/functions.runtimeenvironment.ts +90 -0
  188. package/ts/functions.upgradefollower.ts +115 -0
  189. package/ts/index.ts +36 -6
  190. package/ts/interfaces.auth.ts +316 -0
  191. package/ts/interfaces.config.ts +37 -0
  192. package/ts/interfaces.flexipc.ts +2586 -0
  193. package/ts/interfaces.gitreversion.ts +336 -0
  194. package/ts/interfaces.lifecycle.ts +46 -0
  195. package/ts/interfaces.opencode.ts +153 -0
  196. package/ts/interfaces.projects.ts +182 -0
  197. package/ts/plugins.ts +64 -0
  198. package/ts_interfaces/index.ts +2 -0
  199. package/ts_interfaces/interfaces.ts +827 -0
  200. package/ts_interfaces/plugins.ts +15 -0
  201. package/ts_interfaces/requests.ts +1186 -0
  202. package/ts_migration/classes.documentmigrationrunner.ts +32 -0
  203. package/ts_migration/classes.flexmigrationrunner.ts +33 -0
  204. package/ts_migration/classes.flexpostharnessmigrationrunner.ts +22 -0
  205. package/ts_migration/classes.migrationrunner.ts +40 -0
  206. package/ts_migration/index.ts +12 -0
  207. package/ts_migration/v10_flexharnessv3migration.ts +35 -0
  208. package/ts_migration/v13_flexprojectionorder.ts +33 -0
  209. package/ts_migration/v16_flexprovidercredentials.ts +196 -0
  210. package/ts_migration/v18_resourcelayout.ts +55 -0
  211. package/ts_migration/v18_resourcelayoutmigration.ts +68 -0
  212. package/ts_migration/v19_flexprojectmanagement.ts +28 -0
  213. package/ts_migration/v1_embeddeddatabaselocation.ts +560 -0
  214. package/ts_migration/v22_projectfilesystemidentitymigration.ts +121 -0
  215. package/ts_migration/v2_controllerdataroot.ts +2349 -0
  216. package/ts_migration/v6_protocoldocumentmigration.ts +144 -0
  217. package/ts_migration/v6_protocoldocuments.ts +198 -0
  218. package/ts_web/00_commitinfo_data.ts +8 -0
  219. package/ts_web/classes.controllersocketclient.ts +517 -0
  220. package/ts_web/classes.sessiondraftsync.ts +390 -0
  221. package/ts_web/elements.harnesscontrollerapp.ts +11494 -0
  222. package/ts_web/index.ts +2 -0
  223. package/ts_web/plugins.ts +31 -0
  224. package/.gitlab-ci.yml +0 -71
  225. package/.npmignore +0 -5
  226. package/README.md +0 -40
  227. package/dist/cli.js +0 -2
  228. package/dist/index.d.ts +0 -0
  229. package/dist/index.js +0 -9
  230. package/dist/mod_bundle/index.d.ts +0 -1
  231. package/dist/mod_bundle/index.js +0 -18
  232. package/dist/mod_bundle/mod.plugins.d.ts +0 -4
  233. package/dist/mod_bundle/mod.plugins.js +0 -11
  234. package/dist/mod_install/index.d.ts +0 -4
  235. package/dist/mod_install/index.js +0 -21
  236. package/dist/mod_install/mod.plugins.d.ts +0 -1
  237. package/dist/mod_install/mod.plugins.js +0 -7
  238. package/dist/mod_standard/index.d.ts +0 -4
  239. package/dist/mod_standard/index.js +0 -21
  240. package/dist/mod_standard/mod.browser.d.ts +0 -6
  241. package/dist/mod_standard/mod.browser.js +0 -14
  242. package/dist/mod_standard/mod.clean.d.ts +0 -4
  243. package/dist/mod_standard/mod.clean.js +0 -12
  244. package/dist/mod_standard/mod.compile.d.ts +0 -4
  245. package/dist/mod_standard/mod.compile.js +0 -21
  246. package/dist/mod_standard/mod.plugins.d.ts +0 -8
  247. package/dist/mod_standard/mod.plugins.js +0 -19
  248. package/dist/mod_standard/mod.test.d.ts +0 -4
  249. package/dist/mod_standard/mod.test.js +0 -12
  250. package/dist/plr.cli.d.ts +0 -3
  251. package/dist/plr.cli.js +0 -57
  252. package/dist/plr.config.d.ts +0 -11
  253. package/dist/plr.config.js +0 -26
  254. package/dist/plr.mods.d.ts +0 -17
  255. package/dist/plr.mods.js +0 -17
  256. package/dist/plr.paths.d.ts +0 -19
  257. package/dist/plr.paths.js +0 -26
  258. package/dist/plr.plugins.d.ts +0 -8
  259. package/dist/plr.plugins.js +0 -16
  260. package/npmextra.json +0 -10
  261. package/ts/mod_bundle/index.ts +0 -20
  262. package/ts/mod_bundle/mod.plugins.ts +0 -9
  263. package/ts/mod_install/index.ts +0 -20
  264. package/ts/mod_install/mod.plugins.ts +0 -1
  265. package/ts/mod_standard/index.ts +0 -23
  266. package/ts/mod_standard/mod.browser.ts +0 -17
  267. package/ts/mod_standard/mod.clean.ts +0 -13
  268. package/ts/mod_standard/mod.compile.ts +0 -23
  269. package/ts/mod_standard/mod.plugins.ts +0 -17
  270. package/ts/mod_standard/mod.test.ts +0 -13
  271. package/ts/plr.cli.ts +0 -60
  272. package/ts/plr.config.ts +0 -36
  273. package/ts/plr.mods.ts +0 -25
  274. package/ts/plr.paths.ts +0 -29
  275. package/ts/plr.plugins.ts +0 -17
  276. package/tslint.json +0 -3
  277. package/yarn.lock +0 -3464
@@ -0,0 +1,985 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import * as plugins from './plugins.js';
36
+ import { hasFlexExactKeys, isFlexPlainObject, isFlexPublicProviderConnection, } from './interfaces.flexipc.js';
37
+ import { isFlexProjectionSourceManifest, } from './classes.flexmodels.public.js';
38
+ export const flexPrivateChunkBytes = 384 * 1024;
39
+ const digestPattern = /^[a-f0-9]{64}$/u;
40
+ const candidateIdPattern = /^[A-Za-z0-9_-]{22}$/u;
41
+ const ownerTokenPattern = /^[A-Za-z0-9_-]{43}$/u;
42
+ const qualifiedConnectionIdPattern = /^flex:provider:openai:[A-Za-z0-9_-]{22}$/u;
43
+ const isBoundedString = (valueArg, maximumBytesArg) => typeof valueArg === 'string'
44
+ && valueArg.length > 0
45
+ && Buffer.byteLength(valueArg, 'utf8') <= maximumBytesArg;
46
+ const isNonNegativeInteger = (valueArg) => Number.isSafeInteger(valueArg) && valueArg >= 0;
47
+ const isIsoDate = (valueArg) => typeof valueArg === 'string'
48
+ && Number.isFinite(Date.parse(valueArg))
49
+ && new Date(valueArg).toISOString() === valueArg;
50
+ const hasValidOptionalDomainIdentity = (valueArg) => {
51
+ if (valueArg.domain === undefined) {
52
+ return valueArg.incarnationId === undefined
53
+ && valueArg.sessionId === undefined
54
+ && valueArg.archiveId === undefined;
55
+ }
56
+ const sessionDomain = valueArg.domain === 'projection'
57
+ || valueArg.domain === 'permission'
58
+ || valueArg.domain === 'agentEvents'
59
+ || valueArg.domain === 'agentArchive'
60
+ || valueArg.domain === 'jobs';
61
+ const archiveDomain = valueArg.domain === 'agentArchive';
62
+ return ['scope', 'projection', 'permission', 'agentEvents', 'agentArchive', 'jobs']
63
+ .includes(String(valueArg.domain))
64
+ && typeof valueArg.incarnationId === 'string'
65
+ && candidateIdPattern.test(valueArg.incarnationId)
66
+ && (sessionDomain
67
+ ? isBoundedString(valueArg.sessionId, 512)
68
+ : valueArg.sessionId === undefined)
69
+ && (archiveDomain
70
+ ? isBoundedString(valueArg.archiveId, 512)
71
+ : valueArg.archiveId === undefined);
72
+ };
73
+ export const isFlexPrivateChunkManifest = (valueArg) => isFlexPlainObject(valueArg)
74
+ && hasFlexExactKeys(valueArg, ['id', 'index', 'sha256', 'bytes'])
75
+ && isBoundedString(valueArg.id, 1024)
76
+ && isNonNegativeInteger(valueArg.index)
77
+ && typeof valueArg.sha256 === 'string'
78
+ && digestPattern.test(valueArg.sha256)
79
+ && isNonNegativeInteger(valueArg.bytes)
80
+ && valueArg.bytes <= flexPrivateChunkBytes;
81
+ export const isFlexPrivateCandidateManifest = (valueArg) => isFlexPlainObject(valueArg)
82
+ && hasFlexExactKeys(valueArg, ['candidateId', 'revision', 'sha256', 'bytes', 'chunks'])
83
+ && typeof valueArg.candidateId === 'string'
84
+ && candidateIdPattern.test(valueArg.candidateId)
85
+ && isNonNegativeInteger(valueArg.revision)
86
+ && typeof valueArg.sha256 === 'string'
87
+ && digestPattern.test(valueArg.sha256)
88
+ && isNonNegativeInteger(valueArg.bytes)
89
+ && Array.isArray(valueArg.chunks)
90
+ && valueArg.chunks.length >= 1
91
+ && valueArg.chunks.every(isFlexPrivateChunkManifest)
92
+ && valueArg.chunks.every((chunk, index) => chunk.index === index)
93
+ && valueArg.chunks.reduce((total, chunk) => total + chunk.bytes, 0) === valueArg.bytes;
94
+ const isFlexLegacyRecordManifest = (valueArg) => isFlexPlainObject(valueArg)
95
+ && hasFlexExactKeys(valueArg, ['id', 'sha256', 'bytes'])
96
+ && isBoundedString(valueArg.id, 1024)
97
+ && typeof valueArg.sha256 === 'string'
98
+ && digestPattern.test(valueArg.sha256)
99
+ && isNonNegativeInteger(valueArg.bytes);
100
+ const isFlexLegacyPublicCandidateManifest = (valueArg) => isFlexPlainObject(valueArg)
101
+ && hasFlexExactKeys(valueArg, [
102
+ 'candidateId', 'revision', 'sha256', 'bytes',
103
+ 'sessionRecords', 'messageRecords', 'sessionsTruncated',
104
+ 'messagesTruncated', 'messageBytesTruncated',
105
+ ])
106
+ && typeof valueArg.candidateId === 'string'
107
+ && candidateIdPattern.test(valueArg.candidateId)
108
+ && isNonNegativeInteger(valueArg.revision)
109
+ && typeof valueArg.sha256 === 'string'
110
+ && digestPattern.test(valueArg.sha256)
111
+ && isNonNegativeInteger(valueArg.bytes)
112
+ && Array.isArray(valueArg.sessionRecords)
113
+ && valueArg.sessionRecords.every(isFlexLegacyRecordManifest)
114
+ && Array.isArray(valueArg.messageRecords)
115
+ && valueArg.messageRecords.every(isFlexLegacyRecordManifest)
116
+ && typeof valueArg.sessionsTruncated === 'boolean'
117
+ && typeof valueArg.messagesTruncated === 'boolean'
118
+ && typeof valueArg.messageBytesTruncated === 'boolean';
119
+ export function assertFlexPrivateChunkDocument(valueArg) {
120
+ if (!isFlexPlainObject(valueArg)
121
+ || !hasFlexExactKeys(valueArg, [
122
+ 'id', 'controllerId', 'scopeId', 'candidateId', 'revision',
123
+ 'index', 'sha256', 'bytes', 'data', 'createdAt',
124
+ ], ['domain', 'incarnationId', 'sessionId', 'archiveId'])
125
+ || !isBoundedString(valueArg.controllerId, 512)
126
+ || !isBoundedString(valueArg.scopeId, 512)
127
+ || typeof valueArg.candidateId !== 'string'
128
+ || !candidateIdPattern.test(valueArg.candidateId)
129
+ || !isNonNegativeInteger(valueArg.revision)
130
+ || !isIsoDate(valueArg.createdAt)
131
+ || !isFlexPrivateChunkManifest({
132
+ id: valueArg.id,
133
+ index: valueArg.index,
134
+ sha256: valueArg.sha256,
135
+ bytes: valueArg.bytes,
136
+ })
137
+ || !isBoundedString(valueArg.data, Math.ceil(flexPrivateChunkBytes / 3) * 4 + 4)
138
+ || !hasValidOptionalDomainIdentity(valueArg))
139
+ throw new Error('Invalid Flex private chunk document.');
140
+ }
141
+ export function assertFlexPrivateCandidateDocument(valueArg) {
142
+ if (!isFlexPlainObject(valueArg)
143
+ || !hasFlexExactKeys(valueArg, [
144
+ 'id', 'controllerId', 'scopeId', 'candidateId', 'revision',
145
+ 'sha256', 'bytes', 'chunks', 'createdAt',
146
+ ], ['domain', 'incarnationId', 'sessionId', 'archiveId'])
147
+ || !isBoundedString(valueArg.id, 1024)
148
+ || !isBoundedString(valueArg.controllerId, 512)
149
+ || !isBoundedString(valueArg.scopeId, 512)
150
+ || !isIsoDate(valueArg.createdAt)
151
+ || !isFlexPrivateCandidateManifest({
152
+ candidateId: valueArg.candidateId,
153
+ revision: valueArg.revision,
154
+ sha256: valueArg.sha256,
155
+ bytes: valueArg.bytes,
156
+ chunks: valueArg.chunks,
157
+ })
158
+ || !hasValidOptionalDomainIdentity(valueArg))
159
+ throw new Error('Invalid Flex private candidate document.');
160
+ }
161
+ export function assertFlexHeadDocument(valueArg) {
162
+ if (!isFlexPlainObject(valueArg)
163
+ || !hasFlexExactKeys(valueArg, [
164
+ 'id', 'controllerId', 'storageKey', 'revision',
165
+ 'currentPrivateCandidateId', 'currentPublicCandidateId',
166
+ 'privateCandidates', 'publicCandidates',
167
+ ])
168
+ || !isBoundedString(valueArg.id, 1024)
169
+ || !isBoundedString(valueArg.controllerId, 512)
170
+ || !isBoundedString(valueArg.storageKey, 512)
171
+ || !isNonNegativeInteger(valueArg.revision)
172
+ || typeof valueArg.currentPrivateCandidateId !== 'string'
173
+ || !candidateIdPattern.test(valueArg.currentPrivateCandidateId)
174
+ || typeof valueArg.currentPublicCandidateId !== 'string'
175
+ || !candidateIdPattern.test(valueArg.currentPublicCandidateId)
176
+ || !Array.isArray(valueArg.privateCandidates)
177
+ || valueArg.privateCandidates.length !== 1
178
+ || !valueArg.privateCandidates.every(isFlexPrivateCandidateManifest)
179
+ || !Array.isArray(valueArg.publicCandidates)
180
+ || valueArg.publicCandidates.length < 1
181
+ || valueArg.publicCandidates.length > 4
182
+ || !valueArg.publicCandidates.every(isFlexLegacyPublicCandidateManifest)
183
+ || valueArg.privateCandidates[0]?.candidateId !== valueArg.currentPrivateCandidateId
184
+ || valueArg.publicCandidates[0]?.candidateId !== valueArg.currentPublicCandidateId
185
+ || valueArg.privateCandidates[0]?.revision !== valueArg.revision
186
+ || valueArg.publicCandidates[0]?.revision !== valueArg.revision
187
+ || valueArg.publicCandidates.some((candidate, index, candidates) => (index > 0 && candidate.revision >= candidates[index - 1].revision)))
188
+ throw new Error('Invalid Flex head document.');
189
+ }
190
+ export function assertFlexDomainHeadDocument(valueArg) {
191
+ if (!isFlexPlainObject(valueArg))
192
+ throw new Error('Invalid Flex domain head document.');
193
+ const domain = valueArg.domain;
194
+ const sessionDomain = domain === 'projection'
195
+ || domain === 'permission'
196
+ || domain === 'agentEvents'
197
+ || domain === 'agentArchive'
198
+ || domain === 'jobs';
199
+ const archiveDomain = domain === 'agentArchive';
200
+ if (!hasFlexExactKeys(valueArg, [
201
+ 'id', 'controllerId', 'storageKey', 'domain', 'incarnationId', 'revision',
202
+ 'currentPrivateCandidateId', 'privateCandidate',
203
+ ], ['projectionSource', 'sessionId', 'archiveId'])
204
+ || !isBoundedString(valueArg.id, 1024)
205
+ || !isBoundedString(valueArg.controllerId, 512)
206
+ || !isBoundedString(valueArg.storageKey, 512)
207
+ || !['scope', 'projection', 'permission', 'agentEvents', 'agentArchive', 'jobs']
208
+ .includes(String(domain))
209
+ || typeof valueArg.incarnationId !== 'string'
210
+ || !candidateIdPattern.test(valueArg.incarnationId)
211
+ || !isNonNegativeInteger(valueArg.revision)
212
+ || valueArg.revision < 1
213
+ || typeof valueArg.currentPrivateCandidateId !== 'string'
214
+ || !candidateIdPattern.test(valueArg.currentPrivateCandidateId)
215
+ || !isFlexPrivateCandidateManifest(valueArg.privateCandidate)
216
+ || valueArg.privateCandidate.candidateId !== valueArg.currentPrivateCandidateId
217
+ || valueArg.privateCandidate.revision !== valueArg.revision
218
+ || (domain === 'projection'
219
+ ? !isFlexProjectionSourceManifest(valueArg.projectionSource)
220
+ : valueArg.projectionSource !== undefined)
221
+ || (sessionDomain
222
+ ? !isBoundedString(valueArg.sessionId, 512)
223
+ : valueArg.sessionId !== undefined)
224
+ || (archiveDomain
225
+ ? !isBoundedString(valueArg.archiveId, 512)
226
+ : valueArg.archiveId !== undefined))
227
+ throw new Error('Invalid Flex domain head document.');
228
+ }
229
+ export function assertFlexWriterLeaseDocument(valueArg) {
230
+ if (!isFlexPlainObject(valueArg)
231
+ || !hasFlexExactKeys(valueArg, [
232
+ 'id', 'controllerId', 'storageKey', 'ownerToken', 'epoch',
233
+ 'state', 'expiresAt', 'updatedAt',
234
+ ])
235
+ || !isBoundedString(valueArg.id, 1024)
236
+ || !isBoundedString(valueArg.controllerId, 512)
237
+ || !isBoundedString(valueArg.storageKey, 512)
238
+ || typeof valueArg.ownerToken !== 'string'
239
+ || !ownerTokenPattern.test(valueArg.ownerToken)
240
+ || !isNonNegativeInteger(valueArg.epoch)
241
+ || valueArg.epoch < 1
242
+ || (valueArg.state !== 'active' && valueArg.state !== 'released')
243
+ || !isNonNegativeInteger(valueArg.expiresAt)
244
+ || valueArg.expiresAt < 0
245
+ || !isIsoDate(valueArg.updatedAt))
246
+ throw new Error('Invalid Flex writer lease document.');
247
+ }
248
+ export function assertFlexMigrationDocument(valueArg) {
249
+ if (!isFlexPlainObject(valueArg)
250
+ || !hasFlexExactKeys(valueArg, [
251
+ 'id', 'controllerId', 'storageKey', 'migration',
252
+ 'legacyRevision', 'legacyCandidateId', 'completedAt',
253
+ ])
254
+ || !isBoundedString(valueArg.id, 1024)
255
+ || !isBoundedString(valueArg.controllerId, 512)
256
+ || !isBoundedString(valueArg.storageKey, 512)
257
+ || valueArg.migration !== 'flexharness-v3'
258
+ || !isNonNegativeInteger(valueArg.legacyRevision)
259
+ || typeof valueArg.legacyCandidateId !== 'string'
260
+ || !candidateIdPattern.test(valueArg.legacyCandidateId)
261
+ || !isIsoDate(valueArg.completedAt))
262
+ throw new Error('Invalid Flex migration document.');
263
+ }
264
+ export function assertFlexProviderConnectionDocument(valueArg) {
265
+ if (!isFlexPlainObject(valueArg)
266
+ || !hasFlexExactKeys(valueArg, [
267
+ 'id', 'controllerId', 'providerId', 'state', 'generation', 'createdAt', 'updatedAt',
268
+ ], ['account'])
269
+ || typeof valueArg.id !== 'string'
270
+ || !qualifiedConnectionIdPattern.test(valueArg.id)
271
+ || !isBoundedString(valueArg.controllerId, 512)
272
+ || valueArg.providerId !== 'openai'
273
+ || !['pending', 'active', 'deleting', 'reauthRequired'].includes(String(valueArg.state))
274
+ || !isNonNegativeInteger(valueArg.generation)
275
+ || !isIsoDate(valueArg.createdAt)
276
+ || !isIsoDate(valueArg.updatedAt)
277
+ || (valueArg.account !== undefined && !isFlexPublicProviderConnection({
278
+ loginId: valueArg.id,
279
+ providerId: valueArg.providerId,
280
+ status: valueArg.state,
281
+ account: valueArg.account,
282
+ })))
283
+ throw new Error('Invalid Flex provider connection document.');
284
+ }
285
+ export function assertFlexModelChoiceDocument(valueArg) {
286
+ if (!isFlexPlainObject(valueArg)
287
+ || !hasFlexExactKeys(valueArg, [
288
+ 'id', 'controllerId', 'projectId', 'generation', 'choice', 'updatedAt',
289
+ ])
290
+ || !isBoundedString(valueArg.id, 1024)
291
+ || !isBoundedString(valueArg.controllerId, 512)
292
+ || !isBoundedString(valueArg.projectId, 128)
293
+ || !isNonNegativeInteger(valueArg.generation)
294
+ || !isIsoDate(valueArg.updatedAt)
295
+ || !isFlexPlainObject(valueArg.choice)
296
+ || !hasFlexExactKeys(valueArg.choice, ['providerConnectionId', 'modelId'], ['variant'])
297
+ || typeof valueArg.choice.providerConnectionId !== 'string'
298
+ || !qualifiedConnectionIdPattern.test(valueArg.choice.providerConnectionId)
299
+ || !isBoundedString(valueArg.choice.modelId, 256)
300
+ || (valueArg.choice.variant !== undefined && !isBoundedString(valueArg.choice.variant, 128)))
301
+ throw new Error('Invalid Flex model choice document.');
302
+ }
303
+ let FlexPrivateChunkModel = (() => {
304
+ let _classDecorators = [plugins.smartdata.managed({ collectionName: 'flex_private_chunks' })];
305
+ let _classDescriptor;
306
+ let _classExtraInitializers = [];
307
+ let _classThis;
308
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
309
+ let _id_decorators;
310
+ let _id_initializers = [];
311
+ let _id_extraInitializers = [];
312
+ let _controllerId_decorators;
313
+ let _controllerId_initializers = [];
314
+ let _controllerId_extraInitializers = [];
315
+ let _scopeId_decorators;
316
+ let _scopeId_initializers = [];
317
+ let _scopeId_extraInitializers = [];
318
+ let _candidateId_decorators;
319
+ let _candidateId_initializers = [];
320
+ let _candidateId_extraInitializers = [];
321
+ let _revision_decorators;
322
+ let _revision_initializers = [];
323
+ let _revision_extraInitializers = [];
324
+ let _index_decorators;
325
+ let _index_initializers = [];
326
+ let _index_extraInitializers = [];
327
+ let _sha256_decorators;
328
+ let _sha256_initializers = [];
329
+ let _sha256_extraInitializers = [];
330
+ let _bytes_decorators;
331
+ let _bytes_initializers = [];
332
+ let _bytes_extraInitializers = [];
333
+ let _data_decorators;
334
+ let _data_initializers = [];
335
+ let _data_extraInitializers = [];
336
+ let _createdAt_decorators;
337
+ let _createdAt_initializers = [];
338
+ let _createdAt_extraInitializers = [];
339
+ let _domain_decorators;
340
+ let _domain_initializers = [];
341
+ let _domain_extraInitializers = [];
342
+ let _incarnationId_decorators;
343
+ let _incarnationId_initializers = [];
344
+ let _incarnationId_extraInitializers = [];
345
+ let _sessionId_decorators;
346
+ let _sessionId_initializers = [];
347
+ let _sessionId_extraInitializers = [];
348
+ let _archiveId_decorators;
349
+ let _archiveId_initializers = [];
350
+ let _archiveId_extraInitializers = [];
351
+ var FlexPrivateChunkModel = class extends _classSuper {
352
+ static { _classThis = this; }
353
+ static {
354
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
355
+ _id_decorators = [plugins.smartdata.unI()];
356
+ _controllerId_decorators = [plugins.smartdata.svDb()];
357
+ _scopeId_decorators = [plugins.smartdata.index()];
358
+ _candidateId_decorators = [plugins.smartdata.index()];
359
+ _revision_decorators = [plugins.smartdata.svDb()];
360
+ _index_decorators = [plugins.smartdata.svDb()];
361
+ _sha256_decorators = [plugins.smartdata.svDb()];
362
+ _bytes_decorators = [plugins.smartdata.svDb()];
363
+ _data_decorators = [plugins.smartdata.svDb()];
364
+ _createdAt_decorators = [plugins.smartdata.index()];
365
+ _domain_decorators = [plugins.smartdata.index()];
366
+ _incarnationId_decorators = [plugins.smartdata.svDb()];
367
+ _sessionId_decorators = [plugins.smartdata.index()];
368
+ _archiveId_decorators = [plugins.smartdata.index()];
369
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
370
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
371
+ __esDecorate(null, null, _scopeId_decorators, { kind: "field", name: "scopeId", static: false, private: false, access: { has: obj => "scopeId" in obj, get: obj => obj.scopeId, set: (obj, value) => { obj.scopeId = value; } }, metadata: _metadata }, _scopeId_initializers, _scopeId_extraInitializers);
372
+ __esDecorate(null, null, _candidateId_decorators, { kind: "field", name: "candidateId", static: false, private: false, access: { has: obj => "candidateId" in obj, get: obj => obj.candidateId, set: (obj, value) => { obj.candidateId = value; } }, metadata: _metadata }, _candidateId_initializers, _candidateId_extraInitializers);
373
+ __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
374
+ __esDecorate(null, null, _index_decorators, { kind: "field", name: "index", static: false, private: false, access: { has: obj => "index" in obj, get: obj => obj.index, set: (obj, value) => { obj.index = value; } }, metadata: _metadata }, _index_initializers, _index_extraInitializers);
375
+ __esDecorate(null, null, _sha256_decorators, { kind: "field", name: "sha256", static: false, private: false, access: { has: obj => "sha256" in obj, get: obj => obj.sha256, set: (obj, value) => { obj.sha256 = value; } }, metadata: _metadata }, _sha256_initializers, _sha256_extraInitializers);
376
+ __esDecorate(null, null, _bytes_decorators, { kind: "field", name: "bytes", static: false, private: false, access: { has: obj => "bytes" in obj, get: obj => obj.bytes, set: (obj, value) => { obj.bytes = value; } }, metadata: _metadata }, _bytes_initializers, _bytes_extraInitializers);
377
+ __esDecorate(null, null, _data_decorators, { kind: "field", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);
378
+ __esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
379
+ __esDecorate(null, null, _domain_decorators, { kind: "field", name: "domain", static: false, private: false, access: { has: obj => "domain" in obj, get: obj => obj.domain, set: (obj, value) => { obj.domain = value; } }, metadata: _metadata }, _domain_initializers, _domain_extraInitializers);
380
+ __esDecorate(null, null, _incarnationId_decorators, { kind: "field", name: "incarnationId", static: false, private: false, access: { has: obj => "incarnationId" in obj, get: obj => obj.incarnationId, set: (obj, value) => { obj.incarnationId = value; } }, metadata: _metadata }, _incarnationId_initializers, _incarnationId_extraInitializers);
381
+ __esDecorate(null, null, _sessionId_decorators, { kind: "field", name: "sessionId", static: false, private: false, access: { has: obj => "sessionId" in obj, get: obj => obj.sessionId, set: (obj, value) => { obj.sessionId = value; } }, metadata: _metadata }, _sessionId_initializers, _sessionId_extraInitializers);
382
+ __esDecorate(null, null, _archiveId_decorators, { kind: "field", name: "archiveId", static: false, private: false, access: { has: obj => "archiveId" in obj, get: obj => obj.archiveId, set: (obj, value) => { obj.archiveId = value; } }, metadata: _metadata }, _archiveId_initializers, _archiveId_extraInitializers);
383
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
384
+ FlexPrivateChunkModel = _classThis = _classDescriptor.value;
385
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
386
+ __runInitializers(_classThis, _classExtraInitializers);
387
+ }
388
+ id = __runInitializers(this, _id_initializers, void 0);
389
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
390
+ scopeId = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _scopeId_initializers, void 0));
391
+ candidateId = (__runInitializers(this, _scopeId_extraInitializers), __runInitializers(this, _candidateId_initializers, void 0));
392
+ revision = (__runInitializers(this, _candidateId_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
393
+ index = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _index_initializers, void 0));
394
+ sha256 = (__runInitializers(this, _index_extraInitializers), __runInitializers(this, _sha256_initializers, void 0));
395
+ bytes = (__runInitializers(this, _sha256_extraInitializers), __runInitializers(this, _bytes_initializers, void 0));
396
+ data = (__runInitializers(this, _bytes_extraInitializers), __runInitializers(this, _data_initializers, void 0));
397
+ createdAt = (__runInitializers(this, _data_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
398
+ domain = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _domain_initializers, void 0));
399
+ incarnationId = (__runInitializers(this, _domain_extraInitializers), __runInitializers(this, _incarnationId_initializers, void 0));
400
+ sessionId = (__runInitializers(this, _incarnationId_extraInitializers), __runInitializers(this, _sessionId_initializers, void 0));
401
+ archiveId = (__runInitializers(this, _sessionId_extraInitializers), __runInitializers(this, _archiveId_initializers, void 0));
402
+ constructor() {
403
+ super(...arguments);
404
+ __runInitializers(this, _archiveId_extraInitializers);
405
+ }
406
+ };
407
+ return FlexPrivateChunkModel = _classThis;
408
+ })();
409
+ export { FlexPrivateChunkModel };
410
+ let FlexPrivateCandidateModel = (() => {
411
+ let _classDecorators = [plugins.smartdata.compoundIndex({
412
+ name: 'flex_private_candidate_orphans',
413
+ key: { controllerId: 1, createdAt: 1, _id: 1 },
414
+ }), plugins.smartdata.managed({ collectionName: 'flex_private_candidates' })];
415
+ let _classDescriptor;
416
+ let _classExtraInitializers = [];
417
+ let _classThis;
418
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
419
+ let _id_decorators;
420
+ let _id_initializers = [];
421
+ let _id_extraInitializers = [];
422
+ let _controllerId_decorators;
423
+ let _controllerId_initializers = [];
424
+ let _controllerId_extraInitializers = [];
425
+ let _scopeId_decorators;
426
+ let _scopeId_initializers = [];
427
+ let _scopeId_extraInitializers = [];
428
+ let _candidateId_decorators;
429
+ let _candidateId_initializers = [];
430
+ let _candidateId_extraInitializers = [];
431
+ let _revision_decorators;
432
+ let _revision_initializers = [];
433
+ let _revision_extraInitializers = [];
434
+ let _sha256_decorators;
435
+ let _sha256_initializers = [];
436
+ let _sha256_extraInitializers = [];
437
+ let _bytes_decorators;
438
+ let _bytes_initializers = [];
439
+ let _bytes_extraInitializers = [];
440
+ let _chunks_decorators;
441
+ let _chunks_initializers = [];
442
+ let _chunks_extraInitializers = [];
443
+ let _createdAt_decorators;
444
+ let _createdAt_initializers = [];
445
+ let _createdAt_extraInitializers = [];
446
+ let _domain_decorators;
447
+ let _domain_initializers = [];
448
+ let _domain_extraInitializers = [];
449
+ let _incarnationId_decorators;
450
+ let _incarnationId_initializers = [];
451
+ let _incarnationId_extraInitializers = [];
452
+ let _sessionId_decorators;
453
+ let _sessionId_initializers = [];
454
+ let _sessionId_extraInitializers = [];
455
+ let _archiveId_decorators;
456
+ let _archiveId_initializers = [];
457
+ let _archiveId_extraInitializers = [];
458
+ var FlexPrivateCandidateModel = class extends _classSuper {
459
+ static { _classThis = this; }
460
+ static {
461
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
462
+ _id_decorators = [plugins.smartdata.unI()];
463
+ _controllerId_decorators = [plugins.smartdata.svDb()];
464
+ _scopeId_decorators = [plugins.smartdata.index()];
465
+ _candidateId_decorators = [plugins.smartdata.index()];
466
+ _revision_decorators = [plugins.smartdata.svDb()];
467
+ _sha256_decorators = [plugins.smartdata.svDb()];
468
+ _bytes_decorators = [plugins.smartdata.svDb()];
469
+ _chunks_decorators = [plugins.smartdata.svDb()];
470
+ _createdAt_decorators = [plugins.smartdata.index()];
471
+ _domain_decorators = [plugins.smartdata.index()];
472
+ _incarnationId_decorators = [plugins.smartdata.svDb()];
473
+ _sessionId_decorators = [plugins.smartdata.index()];
474
+ _archiveId_decorators = [plugins.smartdata.index()];
475
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
476
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
477
+ __esDecorate(null, null, _scopeId_decorators, { kind: "field", name: "scopeId", static: false, private: false, access: { has: obj => "scopeId" in obj, get: obj => obj.scopeId, set: (obj, value) => { obj.scopeId = value; } }, metadata: _metadata }, _scopeId_initializers, _scopeId_extraInitializers);
478
+ __esDecorate(null, null, _candidateId_decorators, { kind: "field", name: "candidateId", static: false, private: false, access: { has: obj => "candidateId" in obj, get: obj => obj.candidateId, set: (obj, value) => { obj.candidateId = value; } }, metadata: _metadata }, _candidateId_initializers, _candidateId_extraInitializers);
479
+ __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
480
+ __esDecorate(null, null, _sha256_decorators, { kind: "field", name: "sha256", static: false, private: false, access: { has: obj => "sha256" in obj, get: obj => obj.sha256, set: (obj, value) => { obj.sha256 = value; } }, metadata: _metadata }, _sha256_initializers, _sha256_extraInitializers);
481
+ __esDecorate(null, null, _bytes_decorators, { kind: "field", name: "bytes", static: false, private: false, access: { has: obj => "bytes" in obj, get: obj => obj.bytes, set: (obj, value) => { obj.bytes = value; } }, metadata: _metadata }, _bytes_initializers, _bytes_extraInitializers);
482
+ __esDecorate(null, null, _chunks_decorators, { kind: "field", name: "chunks", static: false, private: false, access: { has: obj => "chunks" in obj, get: obj => obj.chunks, set: (obj, value) => { obj.chunks = value; } }, metadata: _metadata }, _chunks_initializers, _chunks_extraInitializers);
483
+ __esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
484
+ __esDecorate(null, null, _domain_decorators, { kind: "field", name: "domain", static: false, private: false, access: { has: obj => "domain" in obj, get: obj => obj.domain, set: (obj, value) => { obj.domain = value; } }, metadata: _metadata }, _domain_initializers, _domain_extraInitializers);
485
+ __esDecorate(null, null, _incarnationId_decorators, { kind: "field", name: "incarnationId", static: false, private: false, access: { has: obj => "incarnationId" in obj, get: obj => obj.incarnationId, set: (obj, value) => { obj.incarnationId = value; } }, metadata: _metadata }, _incarnationId_initializers, _incarnationId_extraInitializers);
486
+ __esDecorate(null, null, _sessionId_decorators, { kind: "field", name: "sessionId", static: false, private: false, access: { has: obj => "sessionId" in obj, get: obj => obj.sessionId, set: (obj, value) => { obj.sessionId = value; } }, metadata: _metadata }, _sessionId_initializers, _sessionId_extraInitializers);
487
+ __esDecorate(null, null, _archiveId_decorators, { kind: "field", name: "archiveId", static: false, private: false, access: { has: obj => "archiveId" in obj, get: obj => obj.archiveId, set: (obj, value) => { obj.archiveId = value; } }, metadata: _metadata }, _archiveId_initializers, _archiveId_extraInitializers);
488
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
489
+ FlexPrivateCandidateModel = _classThis = _classDescriptor.value;
490
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
491
+ __runInitializers(_classThis, _classExtraInitializers);
492
+ }
493
+ id = __runInitializers(this, _id_initializers, void 0);
494
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
495
+ scopeId = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _scopeId_initializers, void 0));
496
+ candidateId = (__runInitializers(this, _scopeId_extraInitializers), __runInitializers(this, _candidateId_initializers, void 0));
497
+ revision = (__runInitializers(this, _candidateId_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
498
+ sha256 = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _sha256_initializers, void 0));
499
+ bytes = (__runInitializers(this, _sha256_extraInitializers), __runInitializers(this, _bytes_initializers, void 0));
500
+ chunks = (__runInitializers(this, _bytes_extraInitializers), __runInitializers(this, _chunks_initializers, void 0));
501
+ createdAt = (__runInitializers(this, _chunks_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
502
+ domain = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _domain_initializers, void 0));
503
+ incarnationId = (__runInitializers(this, _domain_extraInitializers), __runInitializers(this, _incarnationId_initializers, void 0));
504
+ sessionId = (__runInitializers(this, _incarnationId_extraInitializers), __runInitializers(this, _sessionId_initializers, void 0));
505
+ archiveId = (__runInitializers(this, _sessionId_extraInitializers), __runInitializers(this, _archiveId_initializers, void 0));
506
+ constructor() {
507
+ super(...arguments);
508
+ __runInitializers(this, _archiveId_extraInitializers);
509
+ }
510
+ };
511
+ return FlexPrivateCandidateModel = _classThis;
512
+ })();
513
+ export { FlexPrivateCandidateModel };
514
+ let FlexHeadModel = (() => {
515
+ let _classDecorators = [plugins.smartdata.compoundIndex({
516
+ name: 'flex_head_public_owner',
517
+ key: { controllerId: 1, 'publicCandidates.candidateId': 1 },
518
+ }), plugins.smartdata.compoundIndex({
519
+ name: 'flex_head_private_owner',
520
+ key: { controllerId: 1, currentPrivateCandidateId: 1 },
521
+ }), plugins.smartdata.managed({ collectionName: 'flex_heads' }), plugins.smartdata.exactPersistence({ assertDocument: assertFlexHeadDocument })];
522
+ let _classDescriptor;
523
+ let _classExtraInitializers = [];
524
+ let _classThis;
525
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
526
+ let _id_decorators;
527
+ let _id_initializers = [];
528
+ let _id_extraInitializers = [];
529
+ let _controllerId_decorators;
530
+ let _controllerId_initializers = [];
531
+ let _controllerId_extraInitializers = [];
532
+ let _storageKey_decorators;
533
+ let _storageKey_initializers = [];
534
+ let _storageKey_extraInitializers = [];
535
+ let _revision_decorators;
536
+ let _revision_initializers = [];
537
+ let _revision_extraInitializers = [];
538
+ let _currentPrivateCandidateId_decorators;
539
+ let _currentPrivateCandidateId_initializers = [];
540
+ let _currentPrivateCandidateId_extraInitializers = [];
541
+ let _currentPublicCandidateId_decorators;
542
+ let _currentPublicCandidateId_initializers = [];
543
+ let _currentPublicCandidateId_extraInitializers = [];
544
+ let _privateCandidates_decorators;
545
+ let _privateCandidates_initializers = [];
546
+ let _privateCandidates_extraInitializers = [];
547
+ let _publicCandidates_decorators;
548
+ let _publicCandidates_initializers = [];
549
+ let _publicCandidates_extraInitializers = [];
550
+ var FlexHeadModel = class extends _classSuper {
551
+ static { _classThis = this; }
552
+ static {
553
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
554
+ _id_decorators = [plugins.smartdata.unI()];
555
+ _controllerId_decorators = [plugins.smartdata.svDb()];
556
+ _storageKey_decorators = [plugins.smartdata.svDb()];
557
+ _revision_decorators = [plugins.smartdata.svDb()];
558
+ _currentPrivateCandidateId_decorators = [plugins.smartdata.svDb()];
559
+ _currentPublicCandidateId_decorators = [plugins.smartdata.svDb()];
560
+ _privateCandidates_decorators = [plugins.smartdata.svDb()];
561
+ _publicCandidates_decorators = [plugins.smartdata.svDb()];
562
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
563
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
564
+ __esDecorate(null, null, _storageKey_decorators, { kind: "field", name: "storageKey", static: false, private: false, access: { has: obj => "storageKey" in obj, get: obj => obj.storageKey, set: (obj, value) => { obj.storageKey = value; } }, metadata: _metadata }, _storageKey_initializers, _storageKey_extraInitializers);
565
+ __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
566
+ __esDecorate(null, null, _currentPrivateCandidateId_decorators, { kind: "field", name: "currentPrivateCandidateId", static: false, private: false, access: { has: obj => "currentPrivateCandidateId" in obj, get: obj => obj.currentPrivateCandidateId, set: (obj, value) => { obj.currentPrivateCandidateId = value; } }, metadata: _metadata }, _currentPrivateCandidateId_initializers, _currentPrivateCandidateId_extraInitializers);
567
+ __esDecorate(null, null, _currentPublicCandidateId_decorators, { kind: "field", name: "currentPublicCandidateId", static: false, private: false, access: { has: obj => "currentPublicCandidateId" in obj, get: obj => obj.currentPublicCandidateId, set: (obj, value) => { obj.currentPublicCandidateId = value; } }, metadata: _metadata }, _currentPublicCandidateId_initializers, _currentPublicCandidateId_extraInitializers);
568
+ __esDecorate(null, null, _privateCandidates_decorators, { kind: "field", name: "privateCandidates", static: false, private: false, access: { has: obj => "privateCandidates" in obj, get: obj => obj.privateCandidates, set: (obj, value) => { obj.privateCandidates = value; } }, metadata: _metadata }, _privateCandidates_initializers, _privateCandidates_extraInitializers);
569
+ __esDecorate(null, null, _publicCandidates_decorators, { kind: "field", name: "publicCandidates", static: false, private: false, access: { has: obj => "publicCandidates" in obj, get: obj => obj.publicCandidates, set: (obj, value) => { obj.publicCandidates = value; } }, metadata: _metadata }, _publicCandidates_initializers, _publicCandidates_extraInitializers);
570
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
571
+ FlexHeadModel = _classThis = _classDescriptor.value;
572
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
573
+ __runInitializers(_classThis, _classExtraInitializers);
574
+ }
575
+ id = __runInitializers(this, _id_initializers, void 0);
576
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
577
+ storageKey = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _storageKey_initializers, void 0));
578
+ revision = (__runInitializers(this, _storageKey_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
579
+ currentPrivateCandidateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _currentPrivateCandidateId_initializers, void 0));
580
+ currentPublicCandidateId = (__runInitializers(this, _currentPrivateCandidateId_extraInitializers), __runInitializers(this, _currentPublicCandidateId_initializers, void 0));
581
+ privateCandidates = (__runInitializers(this, _currentPublicCandidateId_extraInitializers), __runInitializers(this, _privateCandidates_initializers, void 0));
582
+ publicCandidates = (__runInitializers(this, _privateCandidates_extraInitializers), __runInitializers(this, _publicCandidates_initializers, void 0));
583
+ constructor() {
584
+ super(...arguments);
585
+ __runInitializers(this, _publicCandidates_extraInitializers);
586
+ }
587
+ };
588
+ return FlexHeadModel = _classThis;
589
+ })();
590
+ export { FlexHeadModel };
591
+ let FlexDomainHeadModel = (() => {
592
+ let _classDecorators = [plugins.smartdata.compoundIndex({
593
+ name: 'flex_domain_projection_source_owner',
594
+ key: { controllerId: 1, domain: 1, 'projectionSource.candidateId': 1 },
595
+ }), plugins.smartdata.compoundIndex({
596
+ name: 'flex_domain_private_owner',
597
+ key: { controllerId: 1, currentPrivateCandidateId: 1 },
598
+ }), plugins.smartdata.managed({ collectionName: 'flex_domain_heads' }), plugins.smartdata.exactPersistence({ assertDocument: assertFlexDomainHeadDocument })];
599
+ let _classDescriptor;
600
+ let _classExtraInitializers = [];
601
+ let _classThis;
602
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
603
+ let _id_decorators;
604
+ let _id_initializers = [];
605
+ let _id_extraInitializers = [];
606
+ let _controllerId_decorators;
607
+ let _controllerId_initializers = [];
608
+ let _controllerId_extraInitializers = [];
609
+ let _storageKey_decorators;
610
+ let _storageKey_initializers = [];
611
+ let _storageKey_extraInitializers = [];
612
+ let _domain_decorators;
613
+ let _domain_initializers = [];
614
+ let _domain_extraInitializers = [];
615
+ let _incarnationId_decorators;
616
+ let _incarnationId_initializers = [];
617
+ let _incarnationId_extraInitializers = [];
618
+ let _revision_decorators;
619
+ let _revision_initializers = [];
620
+ let _revision_extraInitializers = [];
621
+ let _currentPrivateCandidateId_decorators;
622
+ let _currentPrivateCandidateId_initializers = [];
623
+ let _currentPrivateCandidateId_extraInitializers = [];
624
+ let _privateCandidate_decorators;
625
+ let _privateCandidate_initializers = [];
626
+ let _privateCandidate_extraInitializers = [];
627
+ let _projectionSource_decorators;
628
+ let _projectionSource_initializers = [];
629
+ let _projectionSource_extraInitializers = [];
630
+ let _sessionId_decorators;
631
+ let _sessionId_initializers = [];
632
+ let _sessionId_extraInitializers = [];
633
+ let _archiveId_decorators;
634
+ let _archiveId_initializers = [];
635
+ let _archiveId_extraInitializers = [];
636
+ var FlexDomainHeadModel = class extends _classSuper {
637
+ static { _classThis = this; }
638
+ static {
639
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
640
+ _id_decorators = [plugins.smartdata.unI()];
641
+ _controllerId_decorators = [plugins.smartdata.index()];
642
+ _storageKey_decorators = [plugins.smartdata.index()];
643
+ _domain_decorators = [plugins.smartdata.index()];
644
+ _incarnationId_decorators = [plugins.smartdata.svDb()];
645
+ _revision_decorators = [plugins.smartdata.svDb()];
646
+ _currentPrivateCandidateId_decorators = [plugins.smartdata.svDb()];
647
+ _privateCandidate_decorators = [plugins.smartdata.svDb()];
648
+ _projectionSource_decorators = [plugins.smartdata.svDb()];
649
+ _sessionId_decorators = [plugins.smartdata.index()];
650
+ _archiveId_decorators = [plugins.smartdata.index()];
651
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
652
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
653
+ __esDecorate(null, null, _storageKey_decorators, { kind: "field", name: "storageKey", static: false, private: false, access: { has: obj => "storageKey" in obj, get: obj => obj.storageKey, set: (obj, value) => { obj.storageKey = value; } }, metadata: _metadata }, _storageKey_initializers, _storageKey_extraInitializers);
654
+ __esDecorate(null, null, _domain_decorators, { kind: "field", name: "domain", static: false, private: false, access: { has: obj => "domain" in obj, get: obj => obj.domain, set: (obj, value) => { obj.domain = value; } }, metadata: _metadata }, _domain_initializers, _domain_extraInitializers);
655
+ __esDecorate(null, null, _incarnationId_decorators, { kind: "field", name: "incarnationId", static: false, private: false, access: { has: obj => "incarnationId" in obj, get: obj => obj.incarnationId, set: (obj, value) => { obj.incarnationId = value; } }, metadata: _metadata }, _incarnationId_initializers, _incarnationId_extraInitializers);
656
+ __esDecorate(null, null, _revision_decorators, { kind: "field", name: "revision", static: false, private: false, access: { has: obj => "revision" in obj, get: obj => obj.revision, set: (obj, value) => { obj.revision = value; } }, metadata: _metadata }, _revision_initializers, _revision_extraInitializers);
657
+ __esDecorate(null, null, _currentPrivateCandidateId_decorators, { kind: "field", name: "currentPrivateCandidateId", static: false, private: false, access: { has: obj => "currentPrivateCandidateId" in obj, get: obj => obj.currentPrivateCandidateId, set: (obj, value) => { obj.currentPrivateCandidateId = value; } }, metadata: _metadata }, _currentPrivateCandidateId_initializers, _currentPrivateCandidateId_extraInitializers);
658
+ __esDecorate(null, null, _privateCandidate_decorators, { kind: "field", name: "privateCandidate", static: false, private: false, access: { has: obj => "privateCandidate" in obj, get: obj => obj.privateCandidate, set: (obj, value) => { obj.privateCandidate = value; } }, metadata: _metadata }, _privateCandidate_initializers, _privateCandidate_extraInitializers);
659
+ __esDecorate(null, null, _projectionSource_decorators, { kind: "field", name: "projectionSource", static: false, private: false, access: { has: obj => "projectionSource" in obj, get: obj => obj.projectionSource, set: (obj, value) => { obj.projectionSource = value; } }, metadata: _metadata }, _projectionSource_initializers, _projectionSource_extraInitializers);
660
+ __esDecorate(null, null, _sessionId_decorators, { kind: "field", name: "sessionId", static: false, private: false, access: { has: obj => "sessionId" in obj, get: obj => obj.sessionId, set: (obj, value) => { obj.sessionId = value; } }, metadata: _metadata }, _sessionId_initializers, _sessionId_extraInitializers);
661
+ __esDecorate(null, null, _archiveId_decorators, { kind: "field", name: "archiveId", static: false, private: false, access: { has: obj => "archiveId" in obj, get: obj => obj.archiveId, set: (obj, value) => { obj.archiveId = value; } }, metadata: _metadata }, _archiveId_initializers, _archiveId_extraInitializers);
662
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
663
+ FlexDomainHeadModel = _classThis = _classDescriptor.value;
664
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
665
+ __runInitializers(_classThis, _classExtraInitializers);
666
+ }
667
+ id = __runInitializers(this, _id_initializers, void 0);
668
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
669
+ storageKey = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _storageKey_initializers, void 0));
670
+ domain = (__runInitializers(this, _storageKey_extraInitializers), __runInitializers(this, _domain_initializers, void 0));
671
+ incarnationId = (__runInitializers(this, _domain_extraInitializers), __runInitializers(this, _incarnationId_initializers, void 0));
672
+ revision = (__runInitializers(this, _incarnationId_extraInitializers), __runInitializers(this, _revision_initializers, void 0));
673
+ currentPrivateCandidateId = (__runInitializers(this, _revision_extraInitializers), __runInitializers(this, _currentPrivateCandidateId_initializers, void 0));
674
+ privateCandidate = (__runInitializers(this, _currentPrivateCandidateId_extraInitializers), __runInitializers(this, _privateCandidate_initializers, void 0));
675
+ projectionSource = (__runInitializers(this, _privateCandidate_extraInitializers), __runInitializers(this, _projectionSource_initializers, void 0));
676
+ sessionId = (__runInitializers(this, _projectionSource_extraInitializers), __runInitializers(this, _sessionId_initializers, void 0));
677
+ archiveId = (__runInitializers(this, _sessionId_extraInitializers), __runInitializers(this, _archiveId_initializers, void 0));
678
+ constructor() {
679
+ super(...arguments);
680
+ __runInitializers(this, _archiveId_extraInitializers);
681
+ }
682
+ };
683
+ return FlexDomainHeadModel = _classThis;
684
+ })();
685
+ export { FlexDomainHeadModel };
686
+ let FlexWriterLeaseModel = (() => {
687
+ let _classDecorators = [plugins.smartdata.compoundIndex({
688
+ name: 'flex_writer_released_scan',
689
+ key: { controllerId: 1, state: 1, _id: 1 },
690
+ }), plugins.smartdata.managed({ collectionName: 'flex_writer_leases' }), plugins.smartdata.exactPersistence({ assertDocument: assertFlexWriterLeaseDocument })];
691
+ let _classDescriptor;
692
+ let _classExtraInitializers = [];
693
+ let _classThis;
694
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
695
+ let _id_decorators;
696
+ let _id_initializers = [];
697
+ let _id_extraInitializers = [];
698
+ let _controllerId_decorators;
699
+ let _controllerId_initializers = [];
700
+ let _controllerId_extraInitializers = [];
701
+ let _storageKey_decorators;
702
+ let _storageKey_initializers = [];
703
+ let _storageKey_extraInitializers = [];
704
+ let _ownerToken_decorators;
705
+ let _ownerToken_initializers = [];
706
+ let _ownerToken_extraInitializers = [];
707
+ let _epoch_decorators;
708
+ let _epoch_initializers = [];
709
+ let _epoch_extraInitializers = [];
710
+ let _state_decorators;
711
+ let _state_initializers = [];
712
+ let _state_extraInitializers = [];
713
+ let _expiresAt_decorators;
714
+ let _expiresAt_initializers = [];
715
+ let _expiresAt_extraInitializers = [];
716
+ let _updatedAt_decorators;
717
+ let _updatedAt_initializers = [];
718
+ let _updatedAt_extraInitializers = [];
719
+ var FlexWriterLeaseModel = class extends _classSuper {
720
+ static { _classThis = this; }
721
+ static {
722
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
723
+ _id_decorators = [plugins.smartdata.unI()];
724
+ _controllerId_decorators = [plugins.smartdata.index()];
725
+ _storageKey_decorators = [plugins.smartdata.index()];
726
+ _ownerToken_decorators = [plugins.smartdata.svDb()];
727
+ _epoch_decorators = [plugins.smartdata.svDb()];
728
+ _state_decorators = [plugins.smartdata.index()];
729
+ _expiresAt_decorators = [plugins.smartdata.index()];
730
+ _updatedAt_decorators = [plugins.smartdata.svDb()];
731
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
732
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
733
+ __esDecorate(null, null, _storageKey_decorators, { kind: "field", name: "storageKey", static: false, private: false, access: { has: obj => "storageKey" in obj, get: obj => obj.storageKey, set: (obj, value) => { obj.storageKey = value; } }, metadata: _metadata }, _storageKey_initializers, _storageKey_extraInitializers);
734
+ __esDecorate(null, null, _ownerToken_decorators, { kind: "field", name: "ownerToken", static: false, private: false, access: { has: obj => "ownerToken" in obj, get: obj => obj.ownerToken, set: (obj, value) => { obj.ownerToken = value; } }, metadata: _metadata }, _ownerToken_initializers, _ownerToken_extraInitializers);
735
+ __esDecorate(null, null, _epoch_decorators, { kind: "field", name: "epoch", static: false, private: false, access: { has: obj => "epoch" in obj, get: obj => obj.epoch, set: (obj, value) => { obj.epoch = value; } }, metadata: _metadata }, _epoch_initializers, _epoch_extraInitializers);
736
+ __esDecorate(null, null, _state_decorators, { kind: "field", name: "state", static: false, private: false, access: { has: obj => "state" in obj, get: obj => obj.state, set: (obj, value) => { obj.state = value; } }, metadata: _metadata }, _state_initializers, _state_extraInitializers);
737
+ __esDecorate(null, null, _expiresAt_decorators, { kind: "field", name: "expiresAt", static: false, private: false, access: { has: obj => "expiresAt" in obj, get: obj => obj.expiresAt, set: (obj, value) => { obj.expiresAt = value; } }, metadata: _metadata }, _expiresAt_initializers, _expiresAt_extraInitializers);
738
+ __esDecorate(null, null, _updatedAt_decorators, { kind: "field", name: "updatedAt", static: false, private: false, access: { has: obj => "updatedAt" in obj, get: obj => obj.updatedAt, set: (obj, value) => { obj.updatedAt = value; } }, metadata: _metadata }, _updatedAt_initializers, _updatedAt_extraInitializers);
739
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
740
+ FlexWriterLeaseModel = _classThis = _classDescriptor.value;
741
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
742
+ __runInitializers(_classThis, _classExtraInitializers);
743
+ }
744
+ id = __runInitializers(this, _id_initializers, void 0);
745
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
746
+ storageKey = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _storageKey_initializers, void 0));
747
+ ownerToken = (__runInitializers(this, _storageKey_extraInitializers), __runInitializers(this, _ownerToken_initializers, void 0));
748
+ epoch = (__runInitializers(this, _ownerToken_extraInitializers), __runInitializers(this, _epoch_initializers, void 0));
749
+ state = (__runInitializers(this, _epoch_extraInitializers), __runInitializers(this, _state_initializers, void 0));
750
+ expiresAt = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _expiresAt_initializers, void 0));
751
+ updatedAt = (__runInitializers(this, _expiresAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
752
+ constructor() {
753
+ super(...arguments);
754
+ __runInitializers(this, _updatedAt_extraInitializers);
755
+ }
756
+ };
757
+ return FlexWriterLeaseModel = _classThis;
758
+ })();
759
+ export { FlexWriterLeaseModel };
760
+ let FlexMigrationModel = (() => {
761
+ let _classDecorators = [plugins.smartdata.managed({ collectionName: 'flex_migrations' }), plugins.smartdata.exactPersistence({ assertDocument: assertFlexMigrationDocument })];
762
+ let _classDescriptor;
763
+ let _classExtraInitializers = [];
764
+ let _classThis;
765
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
766
+ let _id_decorators;
767
+ let _id_initializers = [];
768
+ let _id_extraInitializers = [];
769
+ let _controllerId_decorators;
770
+ let _controllerId_initializers = [];
771
+ let _controllerId_extraInitializers = [];
772
+ let _storageKey_decorators;
773
+ let _storageKey_initializers = [];
774
+ let _storageKey_extraInitializers = [];
775
+ let _migration_decorators;
776
+ let _migration_initializers = [];
777
+ let _migration_extraInitializers = [];
778
+ let _legacyRevision_decorators;
779
+ let _legacyRevision_initializers = [];
780
+ let _legacyRevision_extraInitializers = [];
781
+ let _legacyCandidateId_decorators;
782
+ let _legacyCandidateId_initializers = [];
783
+ let _legacyCandidateId_extraInitializers = [];
784
+ let _completedAt_decorators;
785
+ let _completedAt_initializers = [];
786
+ let _completedAt_extraInitializers = [];
787
+ var FlexMigrationModel = class extends _classSuper {
788
+ static { _classThis = this; }
789
+ static {
790
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
791
+ _id_decorators = [plugins.smartdata.unI()];
792
+ _controllerId_decorators = [plugins.smartdata.index()];
793
+ _storageKey_decorators = [plugins.smartdata.index()];
794
+ _migration_decorators = [plugins.smartdata.index()];
795
+ _legacyRevision_decorators = [plugins.smartdata.svDb()];
796
+ _legacyCandidateId_decorators = [plugins.smartdata.svDb()];
797
+ _completedAt_decorators = [plugins.smartdata.svDb()];
798
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
799
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
800
+ __esDecorate(null, null, _storageKey_decorators, { kind: "field", name: "storageKey", static: false, private: false, access: { has: obj => "storageKey" in obj, get: obj => obj.storageKey, set: (obj, value) => { obj.storageKey = value; } }, metadata: _metadata }, _storageKey_initializers, _storageKey_extraInitializers);
801
+ __esDecorate(null, null, _migration_decorators, { kind: "field", name: "migration", static: false, private: false, access: { has: obj => "migration" in obj, get: obj => obj.migration, set: (obj, value) => { obj.migration = value; } }, metadata: _metadata }, _migration_initializers, _migration_extraInitializers);
802
+ __esDecorate(null, null, _legacyRevision_decorators, { kind: "field", name: "legacyRevision", static: false, private: false, access: { has: obj => "legacyRevision" in obj, get: obj => obj.legacyRevision, set: (obj, value) => { obj.legacyRevision = value; } }, metadata: _metadata }, _legacyRevision_initializers, _legacyRevision_extraInitializers);
803
+ __esDecorate(null, null, _legacyCandidateId_decorators, { kind: "field", name: "legacyCandidateId", static: false, private: false, access: { has: obj => "legacyCandidateId" in obj, get: obj => obj.legacyCandidateId, set: (obj, value) => { obj.legacyCandidateId = value; } }, metadata: _metadata }, _legacyCandidateId_initializers, _legacyCandidateId_extraInitializers);
804
+ __esDecorate(null, null, _completedAt_decorators, { kind: "field", name: "completedAt", static: false, private: false, access: { has: obj => "completedAt" in obj, get: obj => obj.completedAt, set: (obj, value) => { obj.completedAt = value; } }, metadata: _metadata }, _completedAt_initializers, _completedAt_extraInitializers);
805
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
806
+ FlexMigrationModel = _classThis = _classDescriptor.value;
807
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
808
+ __runInitializers(_classThis, _classExtraInitializers);
809
+ }
810
+ id = __runInitializers(this, _id_initializers, void 0);
811
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
812
+ storageKey = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _storageKey_initializers, void 0));
813
+ migration = (__runInitializers(this, _storageKey_extraInitializers), __runInitializers(this, _migration_initializers, void 0));
814
+ legacyRevision = (__runInitializers(this, _migration_extraInitializers), __runInitializers(this, _legacyRevision_initializers, void 0));
815
+ legacyCandidateId = (__runInitializers(this, _legacyRevision_extraInitializers), __runInitializers(this, _legacyCandidateId_initializers, void 0));
816
+ completedAt = (__runInitializers(this, _legacyCandidateId_extraInitializers), __runInitializers(this, _completedAt_initializers, void 0));
817
+ constructor() {
818
+ super(...arguments);
819
+ __runInitializers(this, _completedAt_extraInitializers);
820
+ }
821
+ };
822
+ return FlexMigrationModel = _classThis;
823
+ })();
824
+ export { FlexMigrationModel };
825
+ const scopedIdentityHash = (controllerIdArg, storageKeyArg, ...partsArg) => plugins.crypto.createHash('sha256')
826
+ .update(controllerIdArg, 'utf8')
827
+ .update('\0', 'utf8')
828
+ .update(storageKeyArg, 'utf8')
829
+ .update('\0', 'utf8')
830
+ .update(partsArg.join('\0'), 'utf8')
831
+ .digest('hex');
832
+ export const flexDomainHeadId = (controllerIdArg, storageKeyArg, domainArg, sessionIdArg, archiveIdArg) => `flex-domain-head:${scopedIdentityHash(controllerIdArg, storageKeyArg, domainArg, sessionIdArg ?? '', archiveIdArg ?? '')}`;
833
+ export const flexWriterLeaseId = (controllerIdArg, storageKeyArg) => `flex-writer-lease:${scopedIdentityHash(controllerIdArg, storageKeyArg, 'writer')}`;
834
+ export const flexMigrationId = (controllerIdArg, storageKeyArg) => `flex-migration:${scopedIdentityHash(controllerIdArg, storageKeyArg, 'flexharness-v3')}`;
835
+ let FlexProviderConnectionModel = (() => {
836
+ let _classDecorators = [plugins.smartdata.managed({ collectionName: 'flex_provider_connections' })];
837
+ let _classDescriptor;
838
+ let _classExtraInitializers = [];
839
+ let _classThis;
840
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
841
+ let _id_decorators;
842
+ let _id_initializers = [];
843
+ let _id_extraInitializers = [];
844
+ let _controllerId_decorators;
845
+ let _controllerId_initializers = [];
846
+ let _controllerId_extraInitializers = [];
847
+ let _providerId_decorators;
848
+ let _providerId_initializers = [];
849
+ let _providerId_extraInitializers = [];
850
+ let _state_decorators;
851
+ let _state_initializers = [];
852
+ let _state_extraInitializers = [];
853
+ let _generation_decorators;
854
+ let _generation_initializers = [];
855
+ let _generation_extraInitializers = [];
856
+ let _createdAt_decorators;
857
+ let _createdAt_initializers = [];
858
+ let _createdAt_extraInitializers = [];
859
+ let _updatedAt_decorators;
860
+ let _updatedAt_initializers = [];
861
+ let _updatedAt_extraInitializers = [];
862
+ let _account_decorators;
863
+ let _account_initializers = [];
864
+ let _account_extraInitializers = [];
865
+ var FlexProviderConnectionModel = class extends _classSuper {
866
+ static { _classThis = this; }
867
+ static {
868
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
869
+ _id_decorators = [plugins.smartdata.unI()];
870
+ _controllerId_decorators = [plugins.smartdata.index()];
871
+ _providerId_decorators = [plugins.smartdata.svDb()];
872
+ _state_decorators = [plugins.smartdata.index()];
873
+ _generation_decorators = [plugins.smartdata.svDb()];
874
+ _createdAt_decorators = [plugins.smartdata.svDb()];
875
+ _updatedAt_decorators = [plugins.smartdata.svDb()];
876
+ _account_decorators = [plugins.smartdata.svDb()];
877
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
878
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
879
+ __esDecorate(null, null, _providerId_decorators, { kind: "field", name: "providerId", static: false, private: false, access: { has: obj => "providerId" in obj, get: obj => obj.providerId, set: (obj, value) => { obj.providerId = value; } }, metadata: _metadata }, _providerId_initializers, _providerId_extraInitializers);
880
+ __esDecorate(null, null, _state_decorators, { kind: "field", name: "state", static: false, private: false, access: { has: obj => "state" in obj, get: obj => obj.state, set: (obj, value) => { obj.state = value; } }, metadata: _metadata }, _state_initializers, _state_extraInitializers);
881
+ __esDecorate(null, null, _generation_decorators, { kind: "field", name: "generation", static: false, private: false, access: { has: obj => "generation" in obj, get: obj => obj.generation, set: (obj, value) => { obj.generation = value; } }, metadata: _metadata }, _generation_initializers, _generation_extraInitializers);
882
+ __esDecorate(null, null, _createdAt_decorators, { kind: "field", name: "createdAt", static: false, private: false, access: { has: obj => "createdAt" in obj, get: obj => obj.createdAt, set: (obj, value) => { obj.createdAt = value; } }, metadata: _metadata }, _createdAt_initializers, _createdAt_extraInitializers);
883
+ __esDecorate(null, null, _updatedAt_decorators, { kind: "field", name: "updatedAt", static: false, private: false, access: { has: obj => "updatedAt" in obj, get: obj => obj.updatedAt, set: (obj, value) => { obj.updatedAt = value; } }, metadata: _metadata }, _updatedAt_initializers, _updatedAt_extraInitializers);
884
+ __esDecorate(null, null, _account_decorators, { kind: "field", name: "account", static: false, private: false, access: { has: obj => "account" in obj, get: obj => obj.account, set: (obj, value) => { obj.account = value; } }, metadata: _metadata }, _account_initializers, _account_extraInitializers);
885
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
886
+ FlexProviderConnectionModel = _classThis = _classDescriptor.value;
887
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
888
+ __runInitializers(_classThis, _classExtraInitializers);
889
+ }
890
+ id = __runInitializers(this, _id_initializers, void 0);
891
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
892
+ providerId = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _providerId_initializers, void 0));
893
+ state = (__runInitializers(this, _providerId_extraInitializers), __runInitializers(this, _state_initializers, void 0));
894
+ generation = (__runInitializers(this, _state_extraInitializers), __runInitializers(this, _generation_initializers, void 0));
895
+ createdAt = (__runInitializers(this, _generation_extraInitializers), __runInitializers(this, _createdAt_initializers, void 0));
896
+ updatedAt = (__runInitializers(this, _createdAt_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
897
+ account = (__runInitializers(this, _updatedAt_extraInitializers), __runInitializers(this, _account_initializers, void 0));
898
+ constructor() {
899
+ super(...arguments);
900
+ __runInitializers(this, _account_extraInitializers);
901
+ }
902
+ };
903
+ return FlexProviderConnectionModel = _classThis;
904
+ })();
905
+ export { FlexProviderConnectionModel };
906
+ let FlexModelChoiceModel = (() => {
907
+ let _classDecorators = [plugins.smartdata.managed({ collectionName: 'flex_model_choices' })];
908
+ let _classDescriptor;
909
+ let _classExtraInitializers = [];
910
+ let _classThis;
911
+ let _classSuper = plugins.smartdata.SmartDataDbDoc;
912
+ let _id_decorators;
913
+ let _id_initializers = [];
914
+ let _id_extraInitializers = [];
915
+ let _controllerId_decorators;
916
+ let _controllerId_initializers = [];
917
+ let _controllerId_extraInitializers = [];
918
+ let _projectId_decorators;
919
+ let _projectId_initializers = [];
920
+ let _projectId_extraInitializers = [];
921
+ let _generation_decorators;
922
+ let _generation_initializers = [];
923
+ let _generation_extraInitializers = [];
924
+ let _choice_decorators;
925
+ let _choice_initializers = [];
926
+ let _choice_extraInitializers = [];
927
+ let _updatedAt_decorators;
928
+ let _updatedAt_initializers = [];
929
+ let _updatedAt_extraInitializers = [];
930
+ var FlexModelChoiceModel = class extends _classSuper {
931
+ static { _classThis = this; }
932
+ static {
933
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
934
+ _id_decorators = [plugins.smartdata.unI()];
935
+ _controllerId_decorators = [plugins.smartdata.index()];
936
+ _projectId_decorators = [plugins.smartdata.index()];
937
+ _generation_decorators = [plugins.smartdata.svDb()];
938
+ _choice_decorators = [plugins.smartdata.svDb()];
939
+ _updatedAt_decorators = [plugins.smartdata.svDb()];
940
+ __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
941
+ __esDecorate(null, null, _controllerId_decorators, { kind: "field", name: "controllerId", static: false, private: false, access: { has: obj => "controllerId" in obj, get: obj => obj.controllerId, set: (obj, value) => { obj.controllerId = value; } }, metadata: _metadata }, _controllerId_initializers, _controllerId_extraInitializers);
942
+ __esDecorate(null, null, _projectId_decorators, { kind: "field", name: "projectId", static: false, private: false, access: { has: obj => "projectId" in obj, get: obj => obj.projectId, set: (obj, value) => { obj.projectId = value; } }, metadata: _metadata }, _projectId_initializers, _projectId_extraInitializers);
943
+ __esDecorate(null, null, _generation_decorators, { kind: "field", name: "generation", static: false, private: false, access: { has: obj => "generation" in obj, get: obj => obj.generation, set: (obj, value) => { obj.generation = value; } }, metadata: _metadata }, _generation_initializers, _generation_extraInitializers);
944
+ __esDecorate(null, null, _choice_decorators, { kind: "field", name: "choice", static: false, private: false, access: { has: obj => "choice" in obj, get: obj => obj.choice, set: (obj, value) => { obj.choice = value; } }, metadata: _metadata }, _choice_initializers, _choice_extraInitializers);
945
+ __esDecorate(null, null, _updatedAt_decorators, { kind: "field", name: "updatedAt", static: false, private: false, access: { has: obj => "updatedAt" in obj, get: obj => obj.updatedAt, set: (obj, value) => { obj.updatedAt = value; } }, metadata: _metadata }, _updatedAt_initializers, _updatedAt_extraInitializers);
946
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
947
+ FlexModelChoiceModel = _classThis = _classDescriptor.value;
948
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
949
+ __runInitializers(_classThis, _classExtraInitializers);
950
+ }
951
+ id = __runInitializers(this, _id_initializers, void 0);
952
+ controllerId = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _controllerId_initializers, void 0));
953
+ projectId = (__runInitializers(this, _controllerId_extraInitializers), __runInitializers(this, _projectId_initializers, void 0));
954
+ generation = (__runInitializers(this, _projectId_extraInitializers), __runInitializers(this, _generation_initializers, void 0));
955
+ choice = (__runInitializers(this, _generation_extraInitializers), __runInitializers(this, _choice_initializers, void 0));
956
+ updatedAt = (__runInitializers(this, _choice_extraInitializers), __runInitializers(this, _updatedAt_initializers, void 0));
957
+ constructor() {
958
+ super(...arguments);
959
+ __runInitializers(this, _updatedAt_extraInitializers);
960
+ }
961
+ };
962
+ return FlexModelChoiceModel = _classThis;
963
+ })();
964
+ export { FlexModelChoiceModel };
965
+ export const registerFlexPrivateModels = (managerArg) => {
966
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexPrivateChunkModel);
967
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexPrivateCandidateModel);
968
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexHeadModel);
969
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexDomainHeadModel);
970
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexWriterLeaseModel);
971
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexMigrationModel);
972
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexProviderConnectionModel);
973
+ plugins.smartdata.setDefaultManagerForDoc(managerArg, FlexModelChoiceModel);
974
+ };
975
+ export const initFlexPrivateModels = async () => {
976
+ await FlexPrivateChunkModel.init();
977
+ await FlexPrivateCandidateModel.init();
978
+ await FlexHeadModel.init();
979
+ await FlexDomainHeadModel.init();
980
+ await FlexWriterLeaseModel.init();
981
+ await FlexMigrationModel.init();
982
+ await FlexProviderConnectionModel.init();
983
+ await FlexModelChoiceModel.init();
984
+ };
985
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5mbGV4bW9kZWxzLnByaXZhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jbGFzc2VzLmZsZXhtb2RlbHMucHJpdmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsOEJBQThCLEdBQy9CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUVMLDhCQUE4QixHQUMvQixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7QUErSGhELE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDO0FBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsc0JBQXNCLENBQUM7QUFDbEQsTUFBTSxpQkFBaUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNqRCxNQUFNLDRCQUE0QixHQUFHLDJDQUEyQyxDQUFDO0FBRWpGLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBaUIsRUFBRSxlQUF1QixFQUFzQixFQUFFLENBQ3pGLE9BQU8sUUFBUSxLQUFLLFFBQVE7T0FDekIsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO09BQ25CLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLGVBQWUsQ0FBQztBQUU1RCxNQUFNLG9CQUFvQixHQUFHLENBQUMsUUFBaUIsRUFBc0IsRUFBRSxDQUNyRSxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFLLFFBQW1CLElBQUksQ0FBQyxDQUFDO0FBRTlELE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBaUIsRUFBc0IsRUFBRSxDQUMxRCxPQUFPLFFBQVEsS0FBSyxRQUFRO09BQ3pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFB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