@fougere/core 0.12.2-alpha.0 → 0.12.4-alpha.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 (126) hide show
  1. package/dist/EffectiveOperationModel.d.ts +1 -4
  2. package/dist/EffectiveOperationModel.d.ts.map +1 -1
  3. package/dist/EffectiveOperationModel.js +181 -173
  4. package/dist/EffectiveOperationModel.js.map +1 -1
  5. package/dist/FougereConfig.d.ts +5 -3
  6. package/dist/FougereConfig.d.ts.map +1 -1
  7. package/dist/FougereConfig.js +11 -13
  8. package/dist/FougereConfig.js.map +1 -1
  9. package/dist/FrondDeclaration.d.ts.map +1 -1
  10. package/dist/FrondDeclaration.js +1 -5
  11. package/dist/FrondDeclaration.js.map +1 -1
  12. package/dist/Source.js +1 -1
  13. package/dist/Source.js.map +1 -1
  14. package/dist/SourceView.d.ts +0 -2
  15. package/dist/SourceView.d.ts.map +1 -1
  16. package/dist/boot/App.d.ts +2 -4
  17. package/dist/boot/App.d.ts.map +1 -1
  18. package/dist/boot/AppLifecycle.d.ts +5 -0
  19. package/dist/boot/AppLifecycle.d.ts.map +1 -1
  20. package/dist/boot/AppLifecycle.js +19 -10
  21. package/dist/boot/AppLifecycle.js.map +1 -1
  22. package/dist/boot/AuthRuntime.d.ts +5 -12
  23. package/dist/boot/AuthRuntime.d.ts.map +1 -1
  24. package/dist/boot/AuthRuntime.js +2 -1
  25. package/dist/boot/AuthRuntime.js.map +1 -1
  26. package/dist/boot/CreateAppOptions.d.ts +0 -11
  27. package/dist/boot/CreateAppOptions.d.ts.map +1 -1
  28. package/dist/boot/Emissions.d.ts.map +1 -1
  29. package/dist/boot/Emissions.js +3 -6
  30. package/dist/boot/Emissions.js.map +1 -1
  31. package/dist/boot/Hosting.d.ts +2 -1
  32. package/dist/boot/Hosting.d.ts.map +1 -1
  33. package/dist/boot/bootstrap.d.ts.map +1 -1
  34. package/dist/boot/bootstrap.js +140 -263
  35. package/dist/boot/bootstrap.js.map +1 -1
  36. package/dist/boot/install.d.ts.map +1 -1
  37. package/dist/boot/install.js +102 -114
  38. package/dist/boot/install.js.map +1 -1
  39. package/dist/boot/relations.d.ts.map +1 -1
  40. package/dist/boot/relations.js.map +1 -1
  41. package/dist/boot/seed.d.ts.map +1 -1
  42. package/dist/boot/seed.js.map +1 -1
  43. package/dist/descriptor/Fronds.d.ts +5 -0
  44. package/dist/descriptor/Fronds.d.ts.map +1 -1
  45. package/dist/descriptor/Fronds.js +8 -0
  46. package/dist/descriptor/Fronds.js.map +1 -1
  47. package/dist/descriptor/index.d.ts +1 -0
  48. package/dist/descriptor/index.d.ts.map +1 -1
  49. package/dist/descriptor/index.js +1 -0
  50. package/dist/descriptor/index.js.map +1 -1
  51. package/dist/dispatch/InFlight.d.ts +3 -2
  52. package/dist/dispatch/InFlight.d.ts.map +1 -1
  53. package/dist/dispatch/InFlight.js +11 -1
  54. package/dist/dispatch/InFlight.js.map +1 -1
  55. package/dist/index.d.ts +2 -4
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +2 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/node.d.ts +1 -1
  60. package/dist/node.d.ts.map +1 -1
  61. package/dist/node.js +1 -1
  62. package/dist/node.js.map +1 -1
  63. package/dist/prefab/CrudConstructor.d.ts.map +1 -1
  64. package/dist/prefab/CrudConstructor.js.map +1 -1
  65. package/dist/storage/Comparison.d.ts +2 -2
  66. package/dist/storage/Comparison.d.ts.map +1 -1
  67. package/dist/storage/Comparison.js +3 -1
  68. package/dist/storage/Comparison.js.map +1 -1
  69. package/dist/wire/Emit.d.ts +0 -2
  70. package/dist/wire/Emit.d.ts.map +1 -1
  71. package/dist/wire/Emit.js +1 -1
  72. package/dist/wire/Emit.js.map +1 -1
  73. package/dist/wire/Facade.d.ts +7 -0
  74. package/dist/wire/Facade.d.ts.map +1 -1
  75. package/dist/wire/Facade.js +13 -0
  76. package/dist/wire/Facade.js.map +1 -1
  77. package/dist/wire/OperationContract.d.ts +0 -4
  78. package/dist/wire/OperationContract.d.ts.map +1 -1
  79. package/dist/wire/OperationContract.js +1 -1
  80. package/dist/wire/OperationContract.js.map +1 -1
  81. package/dist/wire/OperationsMap.d.ts +0 -3
  82. package/dist/wire/OperationsMap.d.ts.map +1 -1
  83. package/dist/wire/OperationsMap.js +0 -5
  84. package/dist/wire/OperationsMap.js.map +1 -1
  85. package/package.json +4 -4
  86. package/src/EffectiveOperationModel.ts +221 -201
  87. package/src/FougereConfig.ts +14 -16
  88. package/src/FrondDeclaration.ts +1 -7
  89. package/src/Source.ts +1 -1
  90. package/src/SourceView.ts +0 -2
  91. package/src/boot/App.ts +2 -4
  92. package/src/boot/AppLifecycle.ts +21 -10
  93. package/src/boot/AuthRuntime.ts +6 -13
  94. package/src/boot/CreateAppOptions.ts +0 -11
  95. package/src/boot/Emissions.ts +3 -7
  96. package/src/boot/Hosting.ts +2 -1
  97. package/src/boot/bootstrap.ts +168 -300
  98. package/src/boot/install.ts +120 -146
  99. package/src/boot/relations.ts +3 -8
  100. package/src/boot/seed.ts +2 -4
  101. package/src/descriptor/Fronds.ts +10 -0
  102. package/src/descriptor/index.ts +1 -0
  103. package/src/dispatch/InFlight.ts +16 -2
  104. package/src/index.ts +2 -4
  105. package/src/node.ts +1 -1
  106. package/src/prefab/CrudConstructor.ts +0 -11
  107. package/src/storage/Comparison.ts +7 -4
  108. package/src/wire/Emit.ts +1 -1
  109. package/src/wire/Facade.ts +17 -10
  110. package/src/wire/OperationContract.ts +1 -1
  111. package/src/wire/OperationsMap.ts +0 -10
  112. package/dist/boot/AuthConfig.d.ts +0 -14
  113. package/dist/boot/AuthConfig.d.ts.map +0 -1
  114. package/dist/boot/AuthConfig.js +0 -2
  115. package/dist/boot/AuthConfig.js.map +0 -1
  116. package/dist/boot/AuthContext.d.ts +0 -12
  117. package/dist/boot/AuthContext.d.ts.map +0 -1
  118. package/dist/boot/AuthContext.js +0 -2
  119. package/dist/boot/AuthContext.js.map +0 -1
  120. package/dist/storage/ComparisonName.d.ts +0 -3
  121. package/dist/storage/ComparisonName.d.ts.map +0 -1
  122. package/dist/storage/ComparisonName.js +0 -2
  123. package/dist/storage/ComparisonName.js.map +0 -1
  124. package/src/boot/AuthConfig.ts +0 -14
  125. package/src/boot/AuthContext.ts +0 -12
  126. package/src/storage/ComparisonName.ts +0 -3
@@ -1,7 +1,6 @@
1
1
  import type { FrondDescriptor } from './descriptor/FrondDescriptor.js';
2
2
  import type { HandlerEntry } from './descriptor/HandlerEntry.js';
3
3
  import type { Diagnostic } from './diagnostic.js';
4
- import { type OperationsMap } from './wire/OperationsMap.js';
5
4
  import type { EffectiveOperation } from './EffectiveOperation.js';
6
5
  import type { EffectiveOperationsMap } from './EffectiveOperationsMap.js';
7
6
  import type { EffectiveOperationOptions } from './EffectiveOperationOptions.js';
@@ -10,15 +9,13 @@ import type { EffectiveOperationOptions } from './EffectiveOperationOptions.js';
10
9
  * boot never has to find a handler again by an order-dependent name lookup.
11
10
  */
12
11
  export declare class EffectiveOperationModel {
13
- private readonly byHandler;
14
12
  readonly operations: EffectiveOperation[];
15
13
  readonly diagnostics: Diagnostic[];
16
14
  readonly resolutionDiagnostics: Diagnostic[];
15
+ private readonly byHandler;
17
16
  constructor(operations: EffectiveOperation[], diagnostics: Diagnostic[], resolutionDiagnostics: Diagnostic[], byHandler: Map<HandlerEntry, EffectiveOperationsMap>);
18
17
  forHandler(handler: HandlerEntry): EffectiveOperationsMap;
19
18
  }
20
19
  /** Resolve the complete operation model without starting the application. */
21
20
  export declare function resolveEffectiveOperations(fronds: readonly FrondDescriptor[], options?: EffectiveOperationOptions): EffectiveOperationModel;
22
- /** The contract of every operation a handler serves — the three producers, merged once. */
23
- export declare function resolveContracts(handler: Pick<HandlerEntry, 'ctor' | 'operations'>, overrides: FrondDescriptor['operationsOverrides'], collectorTypeNames: Set<string>): OperationsMap;
24
21
  //# sourceMappingURL=EffectiveOperationModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EffectiveOperationModel.d.ts","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAyBhF;;;GAGG;AACH,qBAAa,uBAAuB;IAShC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR5B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,EAAE,CAAC;gBAG3C,UAAU,EAAE,kBAAkB,EAAE,EAChC,WAAW,EAAE,UAAU,EAAE,EACzB,qBAAqB,EAAE,UAAU,EAAE,EAClB,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAOvE,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,sBAAsB;CAG1D;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CA0NzB;AAqRD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAC,EAClD,SAAS,EAAE,eAAe,CAAC,qBAAqB,CAAC,EACjD,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC9B,aAAa,CA0Bf"}
1
+ {"version":3,"file":"EffectiveOperationModel.d.ts","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA4BhF;;;GAGG;AACH,qBAAa,uBAAuB;IAEhC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE;IACzC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE;IAClC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,EAAE;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAHjB,UAAU,EAAE,kBAAkB,EAAE,EAChC,WAAW,EAAE,UAAU,EAAE,EACzB,qBAAqB,EAAE,UAAU,EAAE,EAC3B,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAGvE,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,sBAAsB;CAG1D;AAcD,6EAA6E;AAC7E,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CA4CzB"}
@@ -25,15 +25,15 @@ function reachOf(deps, from, index, remotes) {
25
25
  * boot never has to find a handler again by an order-dependent name lookup.
26
26
  */
27
27
  export class EffectiveOperationModel {
28
- byHandler;
29
28
  operations;
30
29
  diagnostics;
31
30
  resolutionDiagnostics;
31
+ byHandler;
32
32
  constructor(operations, diagnostics, resolutionDiagnostics, byHandler) {
33
- this.byHandler = byHandler;
34
33
  this.operations = operations;
35
34
  this.diagnostics = diagnostics;
36
35
  this.resolutionDiagnostics = resolutionDiagnostics;
36
+ this.byHandler = byHandler;
37
37
  }
38
38
  forHandler(handler) {
39
39
  return this.byHandler.get(handler) ?? new Map();
@@ -43,195 +43,203 @@ export class EffectiveOperationModel {
43
43
  export function resolveEffectiveOperations(fronds, options = {}) {
44
44
  const operations = [];
45
45
  const byHandler = new Map();
46
- const resolutionDiagnostics = [];
47
46
  const scanDiagnostics = [...(options.diagnostics ?? [])];
48
47
  const schemas = new Map(fronds.flatMap((frond) => frond.entities.map((entity) => [entity.name, entity.entityClass])));
49
- /** Every address a frond answers, so a dependency naming one is read as the crossing it is. */
50
48
  const served = servedBy(fronds);
51
- // Input ambiguity is produced where schemas are available (the scanner), but it is a
52
- // resolution failure. Lift it into the same refusal table as kind/binding/topology.
53
- resolutionDiagnostics.push(...scanDiagnostics.filter((diagnostic) => diagnostic.code === 'input-contract-ambiguous'));
49
+ // Input ambiguity is found by the scanner, where schemas are, but it is a resolution failure.
50
+ const diagnostics = scanDiagnostics.filter((diagnostic) => diagnostic.code === 'input-contract-ambiguous');
54
51
  for (const frond of fronds) {
55
52
  const collectorsByType = groupedCollectors(frond.collectors);
56
- for (const [typeName, collectors] of collectorsByType) {
57
- if (collectors.length < 2)
58
- continue;
59
- resolutionDiagnostics.push({
60
- severity: 'blocking',
61
- code: 'collector-ambiguous',
62
- filePath: collectors[0].filePath,
63
- frond: frond.name,
64
- subject: typeName,
65
- message: `Frond '${frond.name}' declares ${collectors.length} collectors for '${typeName}' — `
66
- + `${collectors.map((collector) => collector.ctor.name).sort().join(', ')}. `
67
- + 'Exactly one collector must own a parameter type.',
68
- });
69
- }
53
+ refuseAmbiguousCollectors(frond, collectorsByType, diagnostics);
70
54
  const collectorNames = new Set(frond.collectors.map((collector) => collector.typeName));
71
55
  for (const handler of frond.handlers) {
72
56
  const effective = new Map();
73
57
  byHandler.set(handler, effective);
74
58
  const contracts = resolveContracts(handler, frond.operationsOverrides, collectorNames);
75
- // A statement wins over the scan on purpose; saying so out loud is what keeps the
76
- // win from hiding a rename. Compared here, where both readings are in hand.
77
- resolutionDiagnostics.push(...statementDrift(frond, handler));
78
- resolutionDiagnostics.push(...unansweredOperations(frond, handler, contracts.keys()));
79
- for (const [name, rawContract] of contracts) {
80
- const subject = `${handler.ctor.name}.${name}`;
81
- const contract = normalizeBinding(rawContract, handler, frond, name, resolutionDiagnostics);
82
- if (!contract)
59
+ // A statement wins over the scan on purpose; saying so is what keeps the win from hiding a rename.
60
+ diagnostics.push(...statementDrift(frond, handler));
61
+ diagnostics.push(...unansweredOperations(frond, handler, contracts.keys()));
62
+ const resolving = { fronds, frond, handler, schemas, served, collectorsByType, options, diagnostics };
63
+ for (const [name, contract] of contracts) {
64
+ const op = resolveOperation(resolving, name, contract);
65
+ if (!op)
83
66
  continue;
84
- // An operation answers DATA — what JSON keeps. A DECLARED output is converted by its
85
- // fields, so `created()` leaves as an ISO string and nothing is asked of it here; an
86
- // undeclared one has nothing to convert it, so it must already be data. Measured
87
- // 2026-09-18: `{ at: new Date(0) }` reaches a local caller as a `Date` and a remote one
88
- // as a string, and an object carrying methods loses them on both sides, differently.
89
- if (!contract.output && contract.signature?.notData) {
90
- resolutionDiagnostics.push({
91
- severity: 'blocking',
92
- code: 'operation-output-not-data',
93
- filePath: handler.filePath,
94
- frond: frond.name,
95
- subject,
96
- message: `${subject}() answers ${contract.signature.notData}, which carries methods.\n`
97
- + ' An operation answers data — what JSON keeps.\n'
98
- + ' Declare the output as an entity, whose fields convert it, or answer what it produces.',
99
- });
100
- continue;
101
- }
102
- const override = frond.operationsOverrides?.[name];
103
- const inference = inferOperationKind(name);
104
- const inferredKinds = new Set();
105
- if (inference.kind)
106
- inferredKinds.add(inference.kind);
107
- if (inference.queryMatches.length > 0)
108
- inferredKinds.add('query');
109
- if (inference.commandMatches.length > 0)
110
- inferredKinds.add('command');
111
- const kind = override?.kind
112
- ?? (inferredKinds.size === 1 ? [...inferredKinds][0] : undefined);
113
- if (!kind) {
114
- const ambiguous = inferredKinds.size > 1;
115
- resolutionDiagnostics.push({
116
- severity: 'blocking',
117
- code: ambiguous ? 'operation-kind-ambiguous' : 'operation-kind-unknown',
118
- filePath: handler.filePath,
119
- frond: frond.name,
120
- subject,
121
- message: ambiguous
122
- ? `Cannot resolve the kind of ${subject}: its name carries query evidence `
123
- + `(${inference.queryMatches.join(', ')}) and command evidence `
124
- + `(${inference.commandMatches.join(', ')}). `
125
- + `Declare operations.${name}.kind.`
126
- : `Cannot resolve the kind of ${subject}: '${name}' leads with no known verb. `
127
- + `Rename it to lead with one, or declare operations.${name}.kind in `
128
- + `frond.config.ts.\n query: ${knownVerbs().query.join(', ')}`
129
- + `\n command: ${knownVerbs().command.join(', ')}`,
130
- });
131
- continue;
132
- }
133
- const implementation = implementationOf(frond, handler, name, resolutionDiagnostics);
134
- if (!implementation)
135
- continue;
136
- const params = contract.signature?.params ?? [];
137
- const parameters = contract.binding.map((binding, position) => {
138
- const param = params[position];
139
- const undefinable = binding.optional
140
- || param?.optional === true
141
- || param?.type.undefined === true;
142
- return {
143
- position,
144
- name: param?.name ?? binding.name,
145
- type: param?.type.raw ?? null,
146
- optional: undefinable,
147
- nullable: param?.type.nullable === true,
148
- undefinable,
149
- binding,
150
- };
151
- });
152
- if (!validateProvenance(fronds, frond, handler, name, contract, parameters, collectorsByType, resolutionDiagnostics))
153
- continue;
154
- // A fact is validated by the entity it names. This used to be patched into the
155
- // facade after resolution, leaving check/explain with a different input.
156
- const announced = contract.binding.find((binding) => binding.source.kind === 'fact' || binding.source.kind === 'pipe');
157
- const fact = announced?.source.kind === 'fact' || announced?.source.kind === 'pipe'
158
- ? schemas.get(announced.source.factName)
159
- : undefined;
160
- const input = contract.input ?? fact;
161
- // An op that FINISHES a fact answers the fact, so its answer is the fact's shape:
162
- // derived here, where its input already is. Left to the ordinary projection it
163
- // came back stripped — measured, the subscriber got a value with no `id`.
164
- const output = announced?.source.kind === 'pipe' && fact
165
- ? { schema: fact, closed: false }
166
- : effectiveOutput(frond, handler, name, contract);
167
- const className = handler.ctor.name.endsWith('Handler')
168
- ? handler.ctor.name.slice(0, -'Handler'.length)
169
- : handler.ctor.name;
170
- const surface = handler.surface ? `/${handler.surface}` : '/default';
171
- const remote = options.remotes?.[frond.name];
172
- const op = {
173
- ...contract,
174
- ...(input ? { input } : {}),
175
- ...(output.schema ? { output: output.schema } : {}),
176
- id: `${frond.name}${surface}/${className}.${name}`,
177
- operation: `${className}.${name}`,
178
- name,
179
- kind,
180
- kindSource: override?.kind
181
- ? 'explicit'
182
- : 'convention',
183
- handler: {
184
- className: handler.ctor.name,
185
- address: handler.address,
186
- filePath: handler.filePath,
187
- },
188
- implementation,
189
- binding: contract.binding,
190
- parameters,
191
- collectors: parameters.flatMap((parameter) => {
192
- if (parameter.binding.source.kind !== 'collector')
193
- return [];
194
- const collector = collectorsByType.get(parameter.binding.source.typeName)?.[0];
195
- return collector ? [{
196
- parameter: parameter.name,
197
- typeName: collector.typeName,
198
- className: collector.ctor.name,
199
- frond: frond.name,
200
- filePath: collector.filePath,
201
- }] : [];
202
- }),
203
- contexts: parameters
204
- .filter((parameter) => parameter.binding.source.kind === 'context')
205
- .map((parameter) => parameter.name),
206
- placement: {
207
- frond: frond.name,
208
- runtime: remote ? 'remote' : 'local',
209
- ...(remote ? { remote } : {}),
210
- },
211
- reach: reachOf(handler.deps, frond.name, served, options.remotes ?? {}),
212
- exposure: {
213
- surfaces: servedSurfaces(frond, handler).map((surface) => surface ?? 'default'),
214
- adapters: exposedAdapters(handler, options.adapters),
215
- },
216
- outputClosed: output.closed,
217
- semantics: EFFECTIVE_OPERATION_SEMANTICS,
218
- };
219
67
  effective.set(name, op);
220
68
  operations.push(op);
221
69
  }
222
70
  }
223
71
  }
224
- // Topology and DI are part of the same effective program. A dependency targeting an
225
- // actually remote frond is a refusal, not the warning appropriate to a future split.
226
- for (const misplaced of verify({ fronds })) {
72
+ diagnostics.push(...placementRefusals(fronds, options));
73
+ const resolution = uniqueDiagnostics(diagnostics);
74
+ return new EffectiveOperationModel(operations, uniqueDiagnostics([...scanDiagnostics, ...resolution]), resolution, byHandler);
75
+ }
76
+ function refuseAmbiguousCollectors(frond, collectorsByType, diagnostics) {
77
+ for (const [typeName, collectors] of collectorsByType) {
78
+ if (collectors.length < 2)
79
+ continue;
80
+ diagnostics.push({
81
+ severity: 'blocking',
82
+ code: 'collector-ambiguous',
83
+ filePath: collectors[0].filePath,
84
+ frond: frond.name,
85
+ subject: typeName,
86
+ message: `Frond '${frond.name}' declares ${collectors.length} collectors for '${typeName}' — `
87
+ + `${collectors.map((collector) => collector.ctor.name).sort().join(', ')}. `
88
+ + 'Exactly one collector must own a parameter type.',
89
+ });
90
+ }
91
+ }
92
+ /** One operation, or nothing when a refusal was written for it. */
93
+ function resolveOperation(resolving, name, rawContract) {
94
+ const { fronds, frond, handler, schemas, served, collectorsByType, options, diagnostics } = resolving;
95
+ const contract = normalizeBinding(rawContract, handler, frond, name, diagnostics);
96
+ if (!contract || !answersData(resolving, name, contract))
97
+ return undefined;
98
+ const kind = kindOf(resolving, name);
99
+ if (!kind)
100
+ return undefined;
101
+ const implementation = implementationOf(frond, handler, name, diagnostics);
102
+ if (!implementation)
103
+ return undefined;
104
+ const parameters = parametersOf(contract);
105
+ if (!validateProvenance(fronds, frond, handler, name, contract, parameters, collectorsByType, diagnostics)) {
106
+ return undefined;
107
+ }
108
+ // A fact is validated by the entity it names, and an op that FINISHES one answers its shape —
109
+ // left to the ordinary projection, the subscriber got a value with no `id`.
110
+ const announced = contract.binding.find((binding) => binding.source.kind === 'fact' || binding.source.kind === 'pipe');
111
+ const fact = announced?.source.kind === 'fact' || announced?.source.kind === 'pipe'
112
+ ? schemas.get(announced.source.factName)
113
+ : undefined;
114
+ const input = contract.input ?? fact;
115
+ const output = announced?.source.kind === 'pipe' && fact
116
+ ? { schema: fact, closed: false }
117
+ : effectiveOutput(frond, handler, name, contract);
118
+ const className = handler.ctor.name.replace(/Handler$/, '');
119
+ const surface = handler.surface ? `/${handler.surface}` : '/default';
120
+ const remote = options.remotes?.[frond.name];
121
+ return {
122
+ ...contract,
123
+ ...(input ? { input } : {}),
124
+ ...(output.schema ? { output: output.schema } : {}),
125
+ id: `${frond.name}${surface}/${className}.${name}`,
126
+ operation: `${className}.${name}`,
127
+ name,
128
+ kind,
129
+ kindSource: frond.operationsOverrides?.[name]?.kind ? 'explicit' : 'convention',
130
+ handler: { className: handler.ctor.name, address: handler.address, filePath: handler.filePath },
131
+ implementation,
132
+ binding: contract.binding,
133
+ parameters,
134
+ collectors: collectorsOf(parameters, collectorsByType, frond),
135
+ contexts: parameters
136
+ .filter((parameter) => parameter.binding.source.kind === 'context')
137
+ .map((parameter) => parameter.name),
138
+ placement: { frond: frond.name, runtime: remote ? 'remote' : 'local', ...(remote ? { remote } : {}) },
139
+ reach: reachOf(handler.deps, frond.name, served, options.remotes ?? {}),
140
+ exposure: {
141
+ surfaces: servedSurfaces(frond, handler).map((surface) => surface ?? 'default'),
142
+ adapters: exposedAdapters(handler, options.adapters),
143
+ },
144
+ outputClosed: output.closed,
145
+ semantics: EFFECTIVE_OPERATION_SEMANTICS,
146
+ };
147
+ }
148
+ /**
149
+ * An operation answers DATA — what JSON keeps. A declared output is converted by its fields; an
150
+ * undeclared one has nothing to convert it. Measured 2026-09-18: `{ at: new Date(0) }` reaches a
151
+ * local caller as a `Date` and a remote one as a string.
152
+ */
153
+ function answersData({ frond, handler, diagnostics }, name, contract) {
154
+ if (contract.output || !contract.signature?.notData)
155
+ return true;
156
+ const subject = `${handler.ctor.name}.${name}`;
157
+ diagnostics.push({
158
+ severity: 'blocking',
159
+ code: 'operation-output-not-data',
160
+ filePath: handler.filePath,
161
+ frond: frond.name,
162
+ subject,
163
+ message: `${subject}() answers ${contract.signature.notData}, which carries methods.\n`
164
+ + ' An operation answers data — what JSON keeps.\n'
165
+ + ' Declare the output as an entity, whose fields convert it, or answer what it produces.',
166
+ });
167
+ return false;
168
+ }
169
+ /** Stated in `frond.config.ts`, or read off the verb the name leads with — never guessed between two. */
170
+ function kindOf({ frond, handler, diagnostics }, name) {
171
+ const stated = frond.operationsOverrides?.[name]?.kind;
172
+ if (stated)
173
+ return stated;
174
+ const inference = inferOperationKind(name);
175
+ const inferred = new Set();
176
+ if (inference.kind)
177
+ inferred.add(inference.kind);
178
+ if (inference.queryMatches.length > 0)
179
+ inferred.add('query');
180
+ if (inference.commandMatches.length > 0)
181
+ inferred.add('command');
182
+ if (inferred.size === 1)
183
+ return [...inferred][0];
184
+ const subject = `${handler.ctor.name}.${name}`;
185
+ const ambiguous = inferred.size > 1;
186
+ diagnostics.push({
187
+ severity: 'blocking',
188
+ code: ambiguous ? 'operation-kind-ambiguous' : 'operation-kind-unknown',
189
+ filePath: handler.filePath,
190
+ frond: frond.name,
191
+ subject,
192
+ message: ambiguous
193
+ ? `Cannot resolve the kind of ${subject}: its name carries query evidence `
194
+ + `(${inference.queryMatches.join(', ')}) and command evidence `
195
+ + `(${inference.commandMatches.join(', ')}). `
196
+ + `Declare operations.${name}.kind.`
197
+ : `Cannot resolve the kind of ${subject}: '${name}' leads with no known verb. `
198
+ + `Rename it to lead with one, or declare operations.${name}.kind in `
199
+ + `frond.config.ts.\n query: ${knownVerbs().query.join(', ')}`
200
+ + `\n command: ${knownVerbs().command.join(', ')}`,
201
+ });
202
+ return undefined;
203
+ }
204
+ function parametersOf(contract) {
205
+ const params = contract.signature?.params ?? [];
206
+ return contract.binding.map((binding, position) => {
207
+ const param = params[position];
208
+ const undefinable = binding.optional || param?.optional === true || param?.type.undefined === true;
209
+ return {
210
+ position,
211
+ name: param?.name ?? binding.name,
212
+ type: param?.type.raw ?? null,
213
+ optional: undefinable,
214
+ nullable: param?.type.nullable === true,
215
+ undefinable,
216
+ binding,
217
+ };
218
+ });
219
+ }
220
+ function collectorsOf(parameters, collectorsByType, frond) {
221
+ return parameters.flatMap((parameter) => {
222
+ if (parameter.binding.source.kind !== 'collector')
223
+ return [];
224
+ const collector = collectorsByType.get(parameter.binding.source.typeName)?.[0];
225
+ return collector ? [{
226
+ parameter: parameter.name,
227
+ typeName: collector.typeName,
228
+ className: collector.ctor.name,
229
+ frond: frond.name,
230
+ filePath: collector.filePath,
231
+ }] : [];
232
+ });
233
+ }
234
+ /** A dependency on a frond that actually runs elsewhere is a refusal, not the warning a future split deserves. */
235
+ function placementRefusals(fronds, options) {
236
+ return verify({ fronds }).map((misplaced) => {
227
237
  const remoteBoundary = options.remotes?.[misplaced.frond] !== undefined
228
238
  || options.remotes?.[misplaced.dependsOn.frond] !== undefined;
229
- resolutionDiagnostics.push(remoteBoundary && misplaced.code === 'cross-frond-dependency'
239
+ return remoteBoundary && misplaced.code === 'cross-frond-dependency'
230
240
  ? { ...misplaced, severity: 'blocking' }
231
- : misplaced);
232
- }
233
- const resolution = uniqueDiagnostics(resolutionDiagnostics);
234
- return new EffectiveOperationModel(operations, uniqueDiagnostics([...scanDiagnostics, ...resolution]), resolution, byHandler);
241
+ : misplaced;
242
+ });
235
243
  }
236
244
  function groupedCollectors(collectors) {
237
245
  const grouped = new Map();
@@ -462,7 +470,7 @@ function uniqueDiagnostics(diagnostics) {
462
470
  });
463
471
  }
464
472
  /** The contract of every operation a handler serves — the three producers, merged once. */
465
- export function resolveContracts(handler, overrides, collectorTypeNames) {
473
+ function resolveContracts(handler, overrides, collectorTypeNames) {
466
474
  const declared = handler.ctor.__ops ?? {};
467
475
  const contracts = new Map(Object.entries(declared));
468
476
  for (const [opName, scanned] of handler.operations) {
@@ -1 +1 @@
1
- {"version":3,"file":"EffectiveOperationModel.js","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EffectiveOperationModel.js","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AuthConfig } from './boot/AuthConfig.js';
1
+ import type { Extension } from './boot/Extension.js';
2
2
  import type { LogLevel } from './builtin/LogLevel.js';
3
3
  import type { ConventionsInput } from './ConventionsInput.js';
4
4
  import type { NameOf } from './NameOf.js';
@@ -31,11 +31,13 @@ export interface FougereConfig {
31
31
  fronds?: FrondsStated;
32
32
  /** What answers a port — a name, or the chain from the outside in. */
33
33
  ports?: PortChoice;
34
- /** Auth declaration — picks a provider package and forwards options to it. */
35
- auth?: AuthConfig;
34
+ /** The auth provider — an extension, which brings the frond its rows live in. */
35
+ auth?: Extension;
36
36
  /** Which protocol adapters this app serves. */
37
37
  adapters?: AdapterConfig;
38
38
  }
39
+ /** The config file a directory holds, if it holds one. */
40
+ export declare function configFileIn(dir: string): string | undefined;
39
41
  /** Load the root fougere.config.{ts,js,mjs} from the given directory. */
40
42
  export declare function loadConfig(root: string, options?: {
41
43
  fresh?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FougereConfig.d.ts","sourceRoot":"","sources":["../src/FougereConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjF,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC7D,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;IAC9F;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,sEAAsE;IACtE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAsBD,yEAAyE;AACzE,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAEpG;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOvE;AAkBD,oDAAoD;AACpD,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKvG"}
1
+ {"version":3,"file":"FougereConfig.d.ts","sourceRoot":"","sources":["../src/FougereConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjF,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC7D,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;IAC9F;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,sEAAsE;IACtE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAID,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5D;AAaD,yEAAyE;AACzE,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAEpG;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOvE;AAkBD,oDAAoD;AACpD,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKvG"}
@@ -4,20 +4,18 @@ import { getModuleLoader } from './loader.js';
4
4
  import { mergeStated, statesModule } from './FrondsStated.js';
5
5
  import { statedFronds } from './StatedFrond.js';
6
6
  const CONFIG_FILES = ['fougere.config.ts', 'fougere.config.js', 'fougere.config.mjs'];
7
+ /** The config file a directory holds, if it holds one. */
8
+ export function configFileIn(dir) {
9
+ return CONFIG_FILES.map((file) => resolve(dir, file)).find((path) => existsSync(path));
10
+ }
7
11
  async function loadConfigFrom(dir, fresh) {
8
- const loader = getModuleLoader();
9
- for (const file of CONFIG_FILES) {
10
- const path = resolve(dir, file);
11
- if (existsSync(path)) {
12
- // A module is cached by its specifier, so a second load of an EDITED file hands
13
- // back what was read the first time — measured, and it made re-reading a config
14
- // return the config already in force. The loader owns its own cache, so it is the
15
- // one told; the old module stays in memory, re-reading being for a change.
16
- const mod = await loader(path, fresh ? { fresh } : undefined);
17
- return (mod.default ?? mod);
18
- }
19
- }
20
- return {};
12
+ const path = configFileIn(dir);
13
+ if (!path)
14
+ return {};
15
+ // A module is cached by its specifier, so a second load of an EDITED file hands back what
16
+ // was read the first time. The loader owns its own cache, so it is the one told.
17
+ const mod = await getModuleLoader()(path, fresh ? { fresh } : undefined);
18
+ return (mod.default ?? mod);
21
19
  }
22
20
  /** Load the root fougere.config.{ts,js,mjs} from the given directory. */
23
21
  export async function loadConfig(root, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"FougereConfig.js","sourceRoot":"","sources":["../src/FougereConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA2BhD,MAAM,YAAY,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAEtF,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,KAAe;IACxD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,gFAAgF;YAChF,gFAAgF;YAChF,kFAAkF;YAClF,2EAA2E;YAC3E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE9D,OAAO,CAAE,GAAmC,CAAC,OAAO,IAAI,GAAG,CAAkB,CAAC;QAChF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAA6B;IAC1E,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAqB;IAC7C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IACpG,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,oDAAoD;AAEpD;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAmB,EAAE,QAAgC;IACxE,MAAM,MAAM,GAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;IACvD,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,aAAqB,EAAE,OAAe;IAC7E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7D,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"FougereConfig.js","sourceRoot":"","sources":["../src/FougereConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAqB,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA2BhD,MAAM,YAAY,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAEtF,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,KAAe;IACxD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,0FAA0F;IAC1F,iFAAiF;IACjF,MAAM,GAAG,GAAG,MAAM,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO,CAAE,GAAmC,CAAC,OAAO,IAAI,GAAG,CAAkB,CAAC;AAChF,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAA6B;IAC1E,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAqB;IAC7C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IACpG,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,oDAAoD;AAEpD;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAmB,EAAE,QAAgC;IACxE,MAAM,MAAM,GAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;IACvD,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,aAAqB,EAAE,OAAe;IAC7E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7D,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FrondDeclaration.d.ts","sourceRoot":"","sources":["../src/FrondDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,uEAAuE;AACvE,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC;AA8C9C,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,EAAE,CAAC;IAC1D,yFAAyF;IACzF,WAAW,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACzC,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CAC9D;AAED,4CAA4C;AAC5C,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,gBAAqB,GAAG,eAAe,CAqGpF"}
1
+ {"version":3,"file":"FrondDeclaration.d.ts","sourceRoot":"","sources":["../src/FrondDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,uEAAuE;AACvE,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC;AAuC9C,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,EAAE,CAAC;IAC1D,yFAAyF;IACzF,WAAW,CAAC,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC;IACzC,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CAC9D;AAED,4CAA4C;AAC5C,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,gBAAqB,GAAG,eAAe,CAqGpF"}