@plurnk/plurnk-service 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/.env.defaults +24 -19
  2. package/INSTALL.md +20 -1
  3. package/SPEC.md +448 -121
  4. package/dist/build-info.json +1 -1
  5. package/dist/completions/_plurnk-service +1 -1
  6. package/dist/completions/plurnk-service.bash +1 -1
  7. package/dist/completions/plurnk-service.fish +1 -0
  8. package/dist/content/path-mimetype.d.ts.map +1 -1
  9. package/dist/content/path-mimetype.js +2 -8
  10. package/dist/content/path-mimetype.js.map +1 -1
  11. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  12. package/dist/core/AdmittedTurnExecutor.js +22 -10
  13. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  14. package/dist/core/BudgetReadout.d.ts +1 -3
  15. package/dist/core/BudgetReadout.d.ts.map +1 -1
  16. package/dist/core/BudgetReadout.js +43 -46
  17. package/dist/core/BudgetReadout.js.map +1 -1
  18. package/dist/{schemes/_derivation-use.d.ts → core/ContentUse.d.ts} +3 -3
  19. package/dist/core/ContentUse.d.ts.map +1 -0
  20. package/dist/{schemes/_derivation-use.js → core/ContentUse.js} +8 -7
  21. package/dist/core/ContentUse.js.map +1 -0
  22. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  23. package/dist/core/CoreSchemeServices.js +1 -0
  24. package/dist/core/CoreSchemeServices.js.map +1 -1
  25. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  26. package/dist/core/DataStatementRunner.js +8 -20
  27. package/dist/core/DataStatementRunner.js.map +1 -1
  28. package/dist/core/Dispatcher.d.ts +9 -1
  29. package/dist/core/Dispatcher.d.ts.map +1 -1
  30. package/dist/core/Dispatcher.js +151 -76
  31. package/dist/core/Dispatcher.js.map +1 -1
  32. package/dist/core/EditMutations.js +1 -1
  33. package/dist/core/EditMutations.js.map +1 -1
  34. package/dist/core/Engine.d.ts +1 -1
  35. package/dist/core/Engine.d.ts.map +1 -1
  36. package/dist/core/Engine.js +3 -3
  37. package/dist/core/Engine.js.map +1 -1
  38. package/dist/core/FileAddress.d.ts +12 -0
  39. package/dist/core/FileAddress.d.ts.map +1 -0
  40. package/dist/core/FileAddress.js +73 -0
  41. package/dist/core/FileAddress.js.map +1 -0
  42. package/dist/core/FilePublication.d.ts +15 -0
  43. package/dist/core/FilePublication.d.ts.map +1 -0
  44. package/dist/core/FilePublication.js +143 -0
  45. package/dist/core/FilePublication.js.map +1 -0
  46. package/dist/core/FileSnapshot.d.ts +26 -0
  47. package/dist/core/FileSnapshot.d.ts.map +1 -0
  48. package/dist/core/FileSnapshot.js +179 -0
  49. package/dist/core/FileSnapshot.js.map +1 -0
  50. package/dist/core/KillHandler.d.ts.map +1 -1
  51. package/dist/core/KillHandler.js +2 -1
  52. package/dist/core/KillHandler.js.map +1 -1
  53. package/dist/core/LoopLifecycle.sql +3 -2
  54. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  55. package/dist/core/MembershipMaterialization.js +87 -143
  56. package/dist/core/MembershipMaterialization.js.map +1 -1
  57. package/dist/core/MutationEffects.d.ts +2 -1
  58. package/dist/core/MutationEffects.d.ts.map +1 -1
  59. package/dist/core/MutationEffects.js +14 -1
  60. package/dist/core/MutationEffects.js.map +1 -1
  61. package/dist/core/PacketBuilder.d.ts.map +1 -1
  62. package/dist/core/PacketBuilder.js +16 -13
  63. package/dist/core/PacketBuilder.js.map +1 -1
  64. package/dist/core/PacketBuilder.sql +22 -0
  65. package/dist/core/PathGlob.d.ts +6 -0
  66. package/dist/core/PathGlob.d.ts.map +1 -0
  67. package/dist/core/PathGlob.js +24 -0
  68. package/dist/core/PathGlob.js.map +1 -0
  69. package/dist/core/ProposalLifecycle.d.ts +3 -1
  70. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  71. package/dist/core/ProposalLifecycle.js +46 -33
  72. package/dist/core/ProposalLifecycle.js.map +1 -1
  73. package/dist/core/ProposalLifecycle.sql +4 -0
  74. package/dist/core/ResourceBindings.d.ts.map +1 -1
  75. package/dist/core/ResourceBindings.js +4 -3
  76. package/dist/core/ResourceBindings.js.map +1 -1
  77. package/dist/core/ResourceSelector.d.ts +1 -2
  78. package/dist/core/ResourceSelector.d.ts.map +1 -1
  79. package/dist/core/ResourceSelector.js +30 -9
  80. package/dist/core/ResourceSelector.js.map +1 -1
  81. package/dist/core/ResourceTransfers.d.ts +1 -1
  82. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  83. package/dist/core/ResourceTransfers.js +26 -11
  84. package/dist/core/ResourceTransfers.js.map +1 -1
  85. package/dist/core/TurnDispositionHandler.d.ts +1 -1
  86. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  87. package/dist/core/TurnDispositionHandler.js +5 -3
  88. package/dist/core/TurnDispositionHandler.js.map +1 -1
  89. package/dist/core/TurnRunner.d.ts.map +1 -1
  90. package/dist/core/TurnRunner.js +6 -4
  91. package/dist/core/TurnRunner.js.map +1 -1
  92. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  93. package/dist/core/WorkerControlHandler.js +38 -2
  94. package/dist/core/WorkerControlHandler.js.map +1 -1
  95. package/dist/core/caps/SchemeCtxImpl.d.ts +2 -0
  96. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  97. package/dist/core/caps/SchemeCtxImpl.js +7 -0
  98. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  99. package/dist/core/fork.sql +2 -2
  100. package/dist/core/git-membership.d.ts +1 -0
  101. package/dist/core/git-membership.d.ts.map +1 -1
  102. package/dist/core/git-membership.js +9 -11
  103. package/dist/core/git-membership.js.map +1 -1
  104. package/dist/core/glob_match.js +3 -3
  105. package/dist/core/glob_match.js.map +1 -1
  106. package/dist/core/mutation-types.d.ts +4 -0
  107. package/dist/core/mutation-types.d.ts.map +1 -1
  108. package/dist/core/namespace.d.ts +4 -1
  109. package/dist/core/namespace.d.ts.map +1 -1
  110. package/dist/core/namespace.js +14 -3
  111. package/dist/core/namespace.js.map +1 -1
  112. package/dist/core/packet-wire.d.ts +1 -1
  113. package/dist/core/packet-wire.d.ts.map +1 -1
  114. package/dist/core/packet-wire.js +17 -11
  115. package/dist/core/packet-wire.js.map +1 -1
  116. package/dist/core/plurnk-uri.d.ts +4 -3
  117. package/dist/core/plurnk-uri.d.ts.map +1 -1
  118. package/dist/core/plurnk-uri.js +24 -12
  119. package/dist/core/plurnk-uri.js.map +1 -1
  120. package/dist/core/scheme-types.d.ts +2 -0
  121. package/dist/core/scheme-types.d.ts.map +1 -1
  122. package/dist/core/sqlite-synchronous.d.ts +2 -0
  123. package/dist/core/sqlite-synchronous.d.ts.map +1 -0
  124. package/dist/core/sqlite-synchronous.js +4 -0
  125. package/dist/core/sqlite-synchronous.js.map +1 -0
  126. package/dist/evidence/EvidenceReader.d.ts.map +1 -1
  127. package/dist/evidence/EvidenceReader.js +8 -1
  128. package/dist/evidence/EvidenceReader.js.map +1 -1
  129. package/dist/evidence/digest.sql +6 -1
  130. package/dist/man/plurnk-service.1 +35 -24
  131. package/dist/schemes/Env.d.ts +1 -1
  132. package/dist/schemes/Env.d.ts.map +1 -1
  133. package/dist/schemes/Env.js +2 -2
  134. package/dist/schemes/Env.js.map +1 -1
  135. package/dist/schemes/Exec.d.ts.map +1 -1
  136. package/dist/schemes/Exec.js +5 -1
  137. package/dist/schemes/Exec.js.map +1 -1
  138. package/dist/schemes/ExecutionInput.d.ts +2 -1
  139. package/dist/schemes/ExecutionInput.d.ts.map +1 -1
  140. package/dist/schemes/ExecutionInput.js +44 -6
  141. package/dist/schemes/ExecutionInput.js.map +1 -1
  142. package/dist/schemes/File.d.ts +1 -0
  143. package/dist/schemes/File.d.ts.map +1 -1
  144. package/dist/schemes/File.js +246 -269
  145. package/dist/schemes/File.js.map +1 -1
  146. package/dist/schemes/Log.d.ts.map +1 -1
  147. package/dist/schemes/Log.js +68 -8
  148. package/dist/schemes/Log.js.map +1 -1
  149. package/dist/schemes/Log.sql +24 -1
  150. package/dist/schemes/Worker.js +1 -1
  151. package/dist/schemes/Worker.js.map +1 -1
  152. package/dist/schemes/_entry-crud.d.ts +2 -0
  153. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  154. package/dist/schemes/_entry-crud.js +8 -5
  155. package/dist/schemes/_entry-crud.js.map +1 -1
  156. package/dist/schemes/_entry-crud.sql +15 -15
  157. package/dist/schemes/_entry-find.d.ts +1 -0
  158. package/dist/schemes/_entry-find.d.ts.map +1 -1
  159. package/dist/schemes/_entry-find.js +15 -10
  160. package/dist/schemes/_entry-find.js.map +1 -1
  161. package/dist/schemes/_entry-manifest.d.ts +2 -2
  162. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  163. package/dist/schemes/_entry-manifest.js +7 -5
  164. package/dist/schemes/_entry-manifest.js.map +1 -1
  165. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  166. package/dist/schemes/_entry-ops.js +9 -7
  167. package/dist/schemes/_entry-ops.js.map +1 -1
  168. package/dist/schemes/_path-scope.d.ts.map +1 -1
  169. package/dist/schemes/_path-scope.js +12 -4
  170. package/dist/schemes/_path-scope.js.map +1 -1
  171. package/dist/schemes/_search-index.js +3 -3
  172. package/dist/schemes/_search-index.js.map +1 -1
  173. package/dist/schemes/exec-env.d.ts.map +1 -1
  174. package/dist/schemes/exec-env.js +7 -22
  175. package/dist/schemes/exec-env.js.map +1 -1
  176. package/dist/server/Daemon.d.ts +7 -1
  177. package/dist/server/Daemon.d.ts.map +1 -1
  178. package/dist/server/Daemon.js +90 -69
  179. package/dist/server/Daemon.js.map +1 -1
  180. package/dist/server/DrainSupervisor.d.ts +3 -3
  181. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  182. package/dist/server/DrainSupervisor.js +46 -5
  183. package/dist/server/DrainSupervisor.js.map +1 -1
  184. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  185. package/dist/server/EnvFunctionality.js +19 -11
  186. package/dist/server/EnvFunctionality.js.map +1 -1
  187. package/dist/server/Functionality.d.ts.map +1 -1
  188. package/dist/server/Functionality.js +89 -45
  189. package/dist/server/Functionality.js.map +1 -1
  190. package/dist/server/FunctionalityManager.d.ts +2 -5
  191. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  192. package/dist/server/FunctionalityManager.js +10 -6
  193. package/dist/server/FunctionalityManager.js.map +1 -1
  194. package/dist/server/MembersFunctionality.d.ts +7 -8
  195. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  196. package/dist/server/MembersFunctionality.js +94 -62
  197. package/dist/server/MembersFunctionality.js.map +1 -1
  198. package/dist/server/MessageAbandonment.d.ts +7 -0
  199. package/dist/server/MessageAbandonment.d.ts.map +1 -0
  200. package/dist/server/MessageAbandonment.js +57 -0
  201. package/dist/server/MessageAbandonment.js.map +1 -0
  202. package/dist/server/Retention.d.ts.map +1 -1
  203. package/dist/server/Retention.js +5 -5
  204. package/dist/server/Retention.js.map +1 -1
  205. package/dist/server/Retention.sql +49 -23
  206. package/dist/server/Rollback.d.ts +29 -0
  207. package/dist/server/Rollback.d.ts.map +1 -0
  208. package/dist/server/Rollback.js +111 -0
  209. package/dist/server/Rollback.js.map +1 -0
  210. package/dist/server/drain.sql +9 -0
  211. package/dist/server/lifecycle-recovery.sql +4 -1
  212. package/dist/service.d.ts.map +1 -1
  213. package/dist/service.js +4 -0
  214. package/dist/service.js.map +1 -1
  215. package/docs/copy-move.md +3 -0
  216. package/docs/env.md +12 -6
  217. package/docs/members.md +30 -10
  218. package/migrations/023_file_revisions.sql +54 -0
  219. package/migrations/024_proposal_decisions.sql +34 -0
  220. package/migrations/025_response_retention.sql +30 -0
  221. package/migrations/026_message_obligations.sql +32 -0
  222. package/migrations/027_members_identity.sql +20 -0
  223. package/migrations/028_mutation_patch.sql +20 -0
  224. package/package.json +35 -34
  225. package/dist/schemes/_derivation-use.d.ts.map +0 -1
  226. package/dist/schemes/_derivation-use.js.map +0 -1
@@ -93,30 +93,40 @@ class Functionality {
93
93
  throw new Error(`Functionality ${family} input has no property map.`);
94
94
  return { ...source, properties: { ...source.properties, ...scopeProperties } };
95
95
  };
96
- const addInput = Object.freeze({
97
- type: "object",
98
- additionalProperties: false,
99
- required: ["definition"],
100
- properties: {
101
- ...scopeProperties,
102
- alias: { type: "string", minLength: 1 },
103
- definition: adapter.definitionSchema,
104
- },
105
- });
96
+ // {§functionality-addressing} — a family that names definitions by their content supplies the
97
+ // inputs of add and of the select verbs itself, and serves no replace.
98
+ const { addressing } = adapter;
99
+ if (addressing !== undefined && [addressing.add, addressing.select].some((schema) => !isRecord(schema) || !isRecord(schema.properties))) {
100
+ throw new Error(`Functionality family '${family}' declares addressing without object input schemas.`);
101
+ }
102
+ const addInput = addressing === undefined
103
+ ? Object.freeze({
104
+ type: "object",
105
+ additionalProperties: false,
106
+ required: ["definition"],
107
+ properties: {
108
+ ...scopeProperties,
109
+ alias: { type: "string", minLength: 1 },
110
+ definition: adapter.definitionSchema,
111
+ },
112
+ })
113
+ : scopedInput(addressing.add);
114
+ const selectInput = scopedInput(addressing?.select ?? ALIAS_INPUT);
106
115
  // {§functionality-discover-advertisement} A family without discovery has no discover verb.
107
116
  const schemas = Object.freeze({
108
117
  list: scopedInput(EMPTY_INPUT),
109
118
  ...(discovery === undefined ? {} : { discover: scopedInput(discoverInput(discovery)) }),
110
119
  add: addInput,
111
- enable: scopedInput(ALIAS_INPUT),
112
- disable: scopedInput(ALIAS_INPUT),
113
- remove: scopedInput(ALIAS_INPUT),
120
+ ...(addressing === undefined ? { replace: { ...addInput, required: ["alias", "definition"] } } : {}),
121
+ enable: selectInput,
122
+ disable: selectInput,
123
+ remove: selectInput,
114
124
  });
115
125
  // {§functionality-model-projection} — the taught `add` example must satisfy the schema it teaches.
116
126
  if (adapter.example !== undefined) {
117
127
  const example = Validator.validateJsonSchemaInstance(addInput, adapter.example);
118
128
  if (!example.valid) {
119
- throw new Error(`Functionality family '${family}' teaches an add example that violates its own definition schema: ${JSON.stringify(example.errors)}`);
129
+ throw new Error(`Functionality family '${family}' teaches an add example that violates its own add input: ${JSON.stringify(example.errors)}`);
120
130
  }
121
131
  }
122
132
  this.#adapters.set(family, adapter);
@@ -482,42 +492,66 @@ class Functionality {
482
492
  const candidates = await adapter.discover(query, identity, options);
483
493
  return Validator.assertFunctionalityDiscoverResult({ family: adapter.family, candidates: [...candidates] });
484
494
  }
495
+ // The alias a select verb names: the input's `alias`, or what an addressing family reads from its
496
+ // own select input ({§functionality-addressing}).
497
+ static #selected(adapter, input) {
498
+ return adapter.addressing === undefined ? input.alias : adapter.addressing.alias(input);
499
+ }
485
500
  // The verb semantics, one implementation for every family ({§functionality-scope}): the next
486
- // state, the alias it concerns, and how the mutation reports. Only publication differs by scope.
501
+ // state, the aliases it concerns, and how the mutation reports. Only publication differs by scope.
487
502
  async #transition(adapter, verb, input, identity, caller, state, effective, options) {
488
503
  const local = _a.#localOrigin(identity);
489
504
  const here = local === "worker" ? "this worker" : "this workspace";
490
505
  const definitions = { ...state.definitions };
491
- let alias;
506
+ const aliases = [];
492
507
  let status = 200;
493
508
  let removed = false;
509
+ let admissions = [];
494
510
  switch (verb) {
495
- case "add": {
511
+ case "add":
512
+ case "replace": {
496
513
  const admitted = await adapter.admit(input, identity, caller, options);
497
- alias = admitted.alias;
498
- if (!aliasPattern(adapter).test(alias))
499
- throw failure(adapter.family, "alias-invalid", 400, `Alias '${alias}' must match ${aliasPattern(adapter)}.`, { alias, retryable: false });
500
- const current = effective.get(alias);
501
- if (current?.origin === local && !isDeepStrictEqual(current.definition, admitted.definition)) {
502
- throw failure(adapter.family, "alias-exists", 409, `'${alias}' already has a different ${local} definition.`, { alias, recovery: "Use the existing definition, or remove it before adding its replacement.", retryable: false });
514
+ admissions = Array.isArray(admitted) ? [...admitted] : [admitted];
515
+ // {§functionality-addressing} — an alias family admits exactly one definition; an addressing
516
+ // family's add admits each the body names, and all of them or none.
517
+ if (adapter.addressing === undefined ? admissions.length !== 1 : admissions.length === 0) {
518
+ throw new Error(`${adapter.family} admitted ${admissions.length} definitions for one ${verb}.`);
519
+ }
520
+ for (const admission of admissions) {
521
+ const { alias } = admission;
522
+ if (!aliasPattern(adapter).test(alias))
523
+ throw failure(adapter.family, "alias-invalid", 400, `Alias '${alias}' must match ${aliasPattern(adapter)}.`, { alias, retryable: false });
524
+ if (aliases.includes(alias))
525
+ throw new Error(`${adapter.family} admitted '${alias}' twice in one ${verb}.`);
526
+ const current = effective.get(alias);
527
+ if (verb === "add" && current?.origin === local && !isDeepStrictEqual(current.definition, admission.definition)) {
528
+ throw failure(adapter.family, "alias-exists", 409, `'${alias}' already has a different ${local} definition.`, {
529
+ alias,
530
+ recovery: adapter.addressing === undefined ? "Use replace with the complete definition to change it." : "Remove it, then add it again.",
531
+ retryable: false,
532
+ });
533
+ }
534
+ definitions[alias] = { origin: local, definition: admission.definition, enabled: verb === "replace" ? current?.enabled ?? true : true };
535
+ if (current?.origin !== local)
536
+ status = 201;
537
+ aliases.push(alias);
503
538
  }
504
- definitions[alias] = { origin: local, definition: admitted.definition, enabled: true };
505
- status = current?.origin === local ? 200 : 201;
506
539
  break;
507
540
  }
508
541
  case "enable":
509
542
  case "disable": {
510
- alias = input.alias;
543
+ const alias = _a.#selected(adapter, input);
511
544
  const current = effective.get(alias);
512
545
  if (current === undefined)
513
546
  throw failure(adapter.family, "alias-unknown", 404, `'${alias}' is not available to ${here}.`, { alias, retryable: false });
514
547
  definitions[alias] = current.origin === local
515
548
  ? { origin: local, definition: current.definition, enabled: verb === "enable" }
516
549
  : { origin: current.origin, enabled: verb === "enable" };
550
+ aliases.push(alias);
517
551
  break;
518
552
  }
519
553
  case "remove": {
520
- alias = input.alias;
554
+ const alias = _a.#selected(adapter, input);
521
555
  const current = effective.get(alias);
522
556
  if (current === undefined)
523
557
  throw failure(adapter.family, "alias-unknown", 404, `'${alias}' is not available to ${here}.`, { alias, retryable: false });
@@ -528,22 +562,30 @@ class Functionality {
528
562
  await adapter.forget?.({ alias, definition: current.definition }, identity);
529
563
  delete definitions[alias];
530
564
  removed = true;
565
+ aliases.push(alias);
531
566
  break;
532
567
  }
533
568
  default: throw new Error(`unreachable verb ${verb}`);
534
569
  }
535
- return { definitions, alias, status, removed };
570
+ return { definitions, aliases, status, removed, admissions };
536
571
  }
537
- #mutationResult(adapter, { alias, status, removed }, effectiveAfter, outcomes) {
538
- const definition = effectiveAfter.get(alias);
539
- const projection = definition === undefined ? undefined : this.#projection(definition, outcomes.get(alias));
540
- const body = Validator.assertFunctionalityMutationResult({
541
- status: projection?.state === "authorization-required" ? 202 : status,
542
- family: adapter.family,
543
- alias,
544
- ...(projection === undefined ? {} : { definition: projection }),
545
- ...(removed ? { removed: true } : {}),
572
+ // {§functionality-mutation-status} — the receipt: the one alias a mutation concerned, or every
573
+ // definition an addressing family's add admitted ({§functionality-addressing}).
574
+ #mutationResult(adapter, verb, { aliases, status, removed }, effectiveAfter, outcomes) {
575
+ const projections = aliases.map((alias) => {
576
+ const definition = effectiveAfter.get(alias);
577
+ return definition === undefined ? undefined : this.#projection(definition, outcomes.get(alias));
546
578
  });
579
+ const authorization = projections.some((projection) => projection?.state === "authorization-required");
580
+ const body = Validator.assertFunctionalityMutationResult(adapter.addressing !== undefined && verb === "add"
581
+ ? { status: authorization ? 202 : status, family: adapter.family, definitions: projections.map((projection) => projection) }
582
+ : {
583
+ status: authorization ? 202 : status,
584
+ family: adapter.family,
585
+ alias: aliases[0],
586
+ ...(projections[0] === undefined ? {} : { definition: projections[0] }),
587
+ ...(removed ? { removed: true } : {}),
588
+ });
547
589
  return { status: body.status, body };
548
590
  }
549
591
  async #mutate(adapter, verb, input, identity, caller, options) {
@@ -556,15 +598,16 @@ class Functionality {
556
598
  const nextState = { version: STATE_VERSION, definitions: transition.definitions };
557
599
  // Re-enabling an alias that is not active retries its preparation; an
558
600
  // already-active alias keeps its live attachment.
559
- const retry = verb === "enable" && family.prepared?.outcomes.get(transition.alias)?.state !== "active";
601
+ const retry = verb === "enable" && family.prepared?.outcomes.get(transition.aliases[0])?.state !== "active";
560
602
  const publication = await this.#publish(adapter, identity, nextState, {
561
- failure: caller === "action" ? "reject" : "publish-unavailable",
603
+ failure: caller === "action" || verb === "replace" ? "reject" : "publish-unavailable",
562
604
  configurationFailure: "reject",
563
605
  retain: () => this.#host.retainWorkspace(identity.workspaceId),
564
- forceAlias: retry ? transition.alias : null,
606
+ forceAlias: retry ? transition.aliases[0] : null,
607
+ admissions: transition.admissions,
565
608
  });
566
609
  const effectiveAfter = await this.#effective(adapter, identity, nextState);
567
- return this.#mutationResult(adapter, transition, effectiveAfter, publication.outcomes);
610
+ return this.#mutationResult(adapter, verb, transition, effectiveAfter, publication.outcomes);
568
611
  }
569
612
  // {§functionality-scope} — the Worker's own lane. State is read at each verb rather than held: the
570
613
  // spawn reads the same row, and a Worker's row is written at its creation, so nothing in memory
@@ -583,7 +626,7 @@ class Functionality {
583
626
  const transition = await this.#transition(adapter, verb, input, identity, caller, state, effective, options);
584
627
  const nextState = { version: STATE_VERSION, definitions: transition.definitions };
585
628
  const effectiveAfter = await this.#effective(adapter, identity, nextState);
586
- const prepared = await this.#prepareForWorker(adapter, identity, effectiveAfter, caller === "action" ? "reject" : "publish-unavailable");
629
+ const prepared = await this.#prepareForWorker(adapter, identity, effectiveAfter, caller === "action" || verb === "replace" ? "reject" : "publish-unavailable", transition.admissions);
587
630
  try {
588
631
  await this.#host.replaceWorkerModuleState(workerId, adapter.namespaceOwner, _a.#persisted(nextState));
589
632
  }
@@ -591,15 +634,15 @@ class Functionality {
591
634
  return _a.#abort(prepared, cause);
592
635
  }
593
636
  await prepared.commit();
594
- return this.#mutationResult(adapter, transition, effectiveAfter, prepared.outcomes);
637
+ return this.#mutationResult(adapter, verb, transition, effectiveAfter, prepared.outcomes);
595
638
  }
596
639
  // A worker-scoped family's preparation yields outcomes only. It holds no residency — no runtimes,
597
640
  // documents or snapshot ({§module-workspace-residency}) — because its definitions are read at the
598
641
  // spawn that uses them rather than leased and cooled; the coordinator enforces that here.
599
- async #prepareForWorker(adapter, identity, effective, failureMode) {
642
+ async #prepareForWorker(adapter, identity, effective, failureMode, admissions = []) {
600
643
  const enabled = _a.#enabled(effective);
601
644
  const prepared = await adapter.prepare({
602
- workspaceId: identity.workspaceId, enabled, previous: null, failure: failureMode,
645
+ workspaceId: identity.workspaceId, enabled, previous: null, failure: failureMode, admissions,
603
646
  progress: () => undefined,
604
647
  retain: () => this.#host.retainWorkspace(identity.workspaceId),
605
648
  });
@@ -689,6 +732,7 @@ class Functionality {
689
732
  enabled,
690
733
  previous: previous?.snapshot ?? null,
691
734
  failure: options.failure,
735
+ admissions: options.admissions ?? [],
692
736
  progress: (alias) => {
693
737
  if (!enabled.has(alias))
694
738
  throw new Error(`${adapter.family} reported preparation of unknown alias '${alias}'.`);
@@ -1 +1 @@
1
- {"version":3,"file":"Functionality.js","sourceRoot":"","sources":["../../src/server/Functionality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Functionality.js","sourceRoot":"","sources":["../../src/server/Functionality.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,12 @@ import type { ChannelDecl, Effect, ExecArgs, ExecResult, RuntimeAvailability, Ru
3
3
  import type { FunctionalityDiscovery } from "@plurnk/plurnk-modules";
4
4
  import { type JsonSchema } from "@plurnk/plurnk-contracts";
5
5
  import type Functionality from "./Functionality.ts";
6
- export declare const FUNCTIONALITY_VERBS: readonly ["list", "discover", "add", "enable", "disable", "remove"];
6
+ export declare const FUNCTIONALITY_VERBS: readonly ["list", "discover", "add", "replace", "enable", "disable", "remove"];
7
7
  export type FunctionalityVerb = (typeof FUNCTIONALITY_VERBS)[number];
8
8
  export type FunctionalityTeaching = {
9
9
  readonly traits?: readonly string[];
10
10
  readonly inputSchemas: Readonly<Partial<Record<FunctionalityVerb, JsonSchema>>>;
11
- readonly example?: {
12
- readonly alias: string;
13
- readonly definition: object;
14
- };
11
+ readonly example?: object;
15
12
  readonly discovery?: FunctionalityDiscovery;
16
13
  };
17
14
  export declare const functionalityRuntimeDecl: (family: string, summary: string, details: string) => RuntimeDecl;
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionalityManager.d.ts","sourceRoot":"","sources":["../../src/server/FunctionalityManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7I,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKrE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAGpD,eAAO,MAAM,mBAAmB,qEAAqF,CAAC;AACtH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AA+BrE,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;CAC/C,CAAC;AAKF,eAAO,MAAM,wBAAwB,WAAY,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,WAU1F,CAAC;AAEH,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;;IAM1D,YAAY,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,aAAa,CAAA;KAAE,GAAG,qBAAqB,EAM/H;IAKD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAIhD;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAEpD;IAED,IAAa,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAEvD;IAEc,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAEnD;IAEQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI7C;IAUD,YAAY,IAAI,mBAAmB,CAiBlC;IAgBK,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAwC7C;CACJ"}
1
+ {"version":3,"file":"FunctionalityManager.d.ts","sourceRoot":"","sources":["../../src/server/FunctionalityManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7I,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKrE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAGpD,eAAO,MAAM,mBAAmB,gFAAgG,CAAC;AACjI,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAmCrE,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;CAC/C,CAAC;AAKF,eAAO,MAAM,wBAAwB,WAAY,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,WAU1F,CAAC;AAEH,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;;IAM1D,YAAY,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,aAAa,CAAA;KAAE,GAAG,qBAAqB,EAM/H;IAKD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAIhD;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAEpD;IAED,IAAa,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAEvD;IAEc,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAEnD;IAEQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI7C;IAUD,YAAY,IAAI,mBAAmB,CAiBlC;IAgBK,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAwC7C;CACJ"}
@@ -11,7 +11,7 @@ import ErrorDetail from "../core/ErrorDetail.js";
11
11
  import Results, { OperationFailureError } from "../core/results.js";
12
12
  import EnvFunctionality from "./EnvFunctionality.js";
13
13
  const CHANNEL = "results";
14
- export const FUNCTIONALITY_VERBS = Object.freeze(["list", "discover", "add", "enable", "disable", "remove"]);
14
+ export const FUNCTIONALITY_VERBS = Object.freeze(["list", "discover", "add", "replace", "enable", "disable", "remove"]);
15
15
  const READ_VERBS = new Set(["list", "discover"]);
16
16
  const VERB_TEACHING = Object.freeze({
17
17
  list: {
@@ -23,8 +23,12 @@ const VERB_TEACHING = Object.freeze({
23
23
  details: "Read-only. Discovery never installs, persists, enables, or executes a candidate; add one explicitly.",
24
24
  },
25
25
  add: {
26
- summary: "Validate one exact definition, persist it at the selected scope, prepare it, and enable it atomically.",
27
- details: "A host effect: it proposes and runs only on acceptance. The definition must conform to the family definition schema.",
26
+ summary: "Validate each definition the body names, persist it at the selected scope, prepare it, and enable it atomically.",
27
+ details: "A host effect: it proposes and runs only on acceptance. The body must conform to the verb's input schema.",
28
+ },
29
+ replace: {
30
+ summary: "Assign a complete definition to a named alias, retaining its enabledness.",
31
+ details: "A host effect. A new alias is enabled. Rejection preserves the preceding definition and attachment; disabled definitions are saved without preparation.",
28
32
  },
29
33
  enable: {
30
34
  summary: "Prepare and publish one already-available definition.",
@@ -88,8 +92,8 @@ export default class FunctionalityManager extends BaseExecutor {
88
92
  #verbs() {
89
93
  return FUNCTIONALITY_VERBS.filter((verb) => this.#teaching.inputSchemas[verb] !== undefined);
90
94
  }
91
- // The family's verbs in lifecycle order; `add` teaches the family's definition from its schema
92
- // with one exact example, and `discover` carries the family's own teaching when it has some.
95
+ // The family's verbs in lifecycle order; `add` teaches the family's input from its schema with
96
+ // one exact example, and `discover` carries the family's own teaching when it has some.
93
97
  // A body is optional where an empty one is a complete request: `list`, and a discovery whose
94
98
  // empty request lists everything.
95
99
  toolRegistry() {
@@ -120,7 +124,7 @@ export default class FunctionalityManager extends BaseExecutor {
120
124
  return base.details;
121
125
  const example = this.#teaching.example === undefined ? [] : [
122
126
  "",
123
- PlurnkParser.frame(`${this.runtime} (add)`, JSON.stringify({ alias: this.#teaching.example.alias, definition: this.#teaching.example.definition })),
127
+ PlurnkParser.frame(`${this.runtime} (add)`, JSON.stringify(this.#teaching.example)),
124
128
  ];
125
129
  return [base.details, ...example].join("\n");
126
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionalityManager.js","sourceRoot":"","sources":["../../src/server/FunctionalityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionalityManager.js","sourceRoot":"","sources":["../../src/server/FunctionalityManager.ts"],"names":[],"mappings":"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"}
@@ -2,22 +2,21 @@ import { type FunctionalityCandidate, type FunctionalityDiscoverQuery, type Json
2
2
  import type { Db } from "../core/Db.ts";
3
3
  import type Engine from "../core/Engine.ts";
4
4
  import { type FileCreateScope } from "../core/file-creation-policy.ts";
5
- import type { FunctionalityCaller, FunctionalityDefinitionSource, FunctionalityPreparation, FunctionalityPrepared, FunctionalityServiceDefinition, WorkspaceCapabilityIdentity } from "@plurnk/plurnk-contracts";
6
- import type { FunctionalityAdapter, FunctionalityDiscovery } from "@plurnk/plurnk-modules";
7
- export declare const aliasOf: (glob: string) => string;
5
+ import type { FunctionalityAdmission, FunctionalityCaller, FunctionalityPreparation, FunctionalityPrepared, FunctionalityServiceDefinition, WorkspaceCapabilityIdentity } from "@plurnk/plurnk-contracts";
6
+ import type { FunctionalityAddressing, FunctionalityAdapter, FunctionalityDiscovery } from "@plurnk/plurnk-modules";
8
7
  export declare const serviceMembers: (environ?: NodeJS.ProcessEnv) => FunctionalityServiceDefinition[];
9
8
  export declare const modelScope: (environ?: NodeJS.ProcessEnv) => FileCreateScope;
9
+ export declare const documentName: (glob: string) => string;
10
10
  export default class MembersFunctionality implements FunctionalityAdapter {
11
11
  #private;
12
12
  readonly family = "members";
13
13
  readonly namespaceOwner = "@plurnk/plurnk-core/members";
14
14
  readonly summary = "Manage file membership";
15
15
  readonly definitionSchema: JsonSchema;
16
+ readonly aliasPattern: RegExp;
17
+ readonly addressing: FunctionalityAddressing;
16
18
  readonly example: {
17
- alias: string;
18
- definition: {
19
- glob: string;
20
- };
19
+ files: string[];
21
20
  };
22
21
  readonly docsDir: string;
23
22
  readonly discovery: FunctionalityDiscovery;
@@ -28,7 +27,7 @@ export default class MembersFunctionality implements FunctionalityAdapter {
28
27
  });
29
28
  available(): Promise<readonly FunctionalityServiceDefinition[]>;
30
29
  discover(query: FunctionalityDiscoverQuery, identity: WorkspaceCapabilityIdentity): Promise<readonly FunctionalityCandidate[]>;
31
- admit(input: unknown, identity: WorkspaceCapabilityIdentity, caller?: FunctionalityCaller): Promise<FunctionalityDefinitionSource>;
30
+ admit(input: unknown, identity: WorkspaceCapabilityIdentity, caller?: FunctionalityCaller): Promise<readonly FunctionalityAdmission[]>;
32
31
  prepare(preparation: FunctionalityPreparation): Promise<FunctionalityPrepared>;
33
32
  teardown(): Promise<void>;
34
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MembersFunctionality.d.ts","sourceRoot":"","sources":["../../src/server/MembersFunctionality.ts"],"names":[],"mappings":"AASA,OAAO,EAAa,KAAK,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACpI,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAA2B,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAK3F,OAAO,KAAK,EACR,mBAAmB,EACnB,6BAA6B,EAE7B,wBAAwB,EACxB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAiE3F,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MAItC,CAAC;AAGF,eAAO,MAAM,cAAc,aAAa,MAAM,CAAC,UAAU,KAAiB,8BAA8B,EAavG,CAAC;AAIF,eAAO,MAAM,UAAU,aAAa,MAAM,CAAC,UAAU,KAAiB,eACX,CAAC;AAmE5D,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,oBAAoB;;IACrE,QAAQ,CAAC,MAAM,aAAkB;IACjC,QAAQ,CAAC,cAAc,iCAAiB;IACxC,QAAQ,CAAC,OAAO,4BAA4B;IAC5C,QAAQ,CAAC,gBAAgB,aAAc;IACvC,QAAQ,CAAC,OAAO;QAAK,KAAK;QAAU,UAAU;YAAI,IAAI;;MAAgB;IACtE,QAAQ,CAAC,OAAO,SAAqB;IACrC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAGxC;IAKF,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAqB,EAAE,EAAE;QAAE,EAAE,EAAE,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,EAI/G;IAEK,SAAS,IAAI,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAEpE;IAIK,QAAQ,CAAC,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAenI;IA6CK,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,GAAE,mBAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAoCjJ;IAMK,OAAO,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkBnF;IAEK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;CA2BJ"}
1
+ {"version":3,"file":"MembersFunctionality.d.ts","sourceRoot":"","sources":["../../src/server/MembersFunctionality.ts"],"names":[],"mappings":"AAWA,OAAO,EAAc,KAAK,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACrI,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAA2B,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAM3F,OAAO,KAAK,EACR,sBAAsB,EACtB,mBAAmB,EAEnB,wBAAwB,EACxB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AA2FpH,eAAO,MAAM,cAAc,aAAa,MAAM,CAAC,UAAU,KAAiB,8BAA8B,EAiBvG,CAAC;AAIF,eAAO,MAAM,UAAU,aAAa,MAAM,CAAC,UAAU,KAAiB,eACX,CAAC;AAgC5D,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,MAC4E,CAAC;AAuCzH,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,oBAAoB;;IACrE,QAAQ,CAAC,MAAM,aAAkB;IACjC,QAAQ,CAAC,cAAc,iCAAiB;IACxC,QAAQ,CAAC,OAAO,4BAA4B;IAC5C,QAAQ,CAAC,gBAAgB,aAAc;IACvC,QAAQ,CAAC,YAAY,SAAQ;IAC7B,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAI1C;IACF,QAAQ,CAAC,OAAO;QAAK,KAAK;MAAgB;IAC1C,QAAQ,CAAC,OAAO,SAAqB;IACrC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAGxC;IAKF,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,OAAqB,EAAE,EAAE;QAAE,EAAE,EAAE,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,EAI/G;IAEK,SAAS,IAAI,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAEpE;IAIK,QAAQ,CAAC,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAenI;IA+CK,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,GAAE,mBAA8B,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAgCrJ;IAMK,OAAO,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkBnF;IAEK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;CA2BJ"}