@fougere/core 0.1.0-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 (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -0
  3. package/dist/binding.d.ts +63 -0
  4. package/dist/binding.d.ts.map +1 -0
  5. package/dist/binding.js +107 -0
  6. package/dist/binding.js.map +1 -0
  7. package/dist/boot.d.ts +38 -0
  8. package/dist/boot.d.ts.map +1 -0
  9. package/dist/boot.js +53 -0
  10. package/dist/boot.js.map +1 -0
  11. package/dist/bootstrap.d.ts +4 -0
  12. package/dist/bootstrap.d.ts.map +1 -0
  13. package/dist/bootstrap.js +825 -0
  14. package/dist/bootstrap.js.map +1 -0
  15. package/dist/builtins/config.d.ts +4 -0
  16. package/dist/builtins/config.d.ts.map +1 -0
  17. package/dist/builtins/config.js +6 -0
  18. package/dist/builtins/config.js.map +1 -0
  19. package/dist/builtins/logger.d.ts +28 -0
  20. package/dist/builtins/logger.d.ts.map +1 -0
  21. package/dist/builtins/logger.js +76 -0
  22. package/dist/builtins/logger.js.map +1 -0
  23. package/dist/call.d.ts +172 -0
  24. package/dist/call.d.ts.map +1 -0
  25. package/dist/call.js +209 -0
  26. package/dist/call.js.map +1 -0
  27. package/dist/collector.d.ts +28 -0
  28. package/dist/collector.d.ts.map +1 -0
  29. package/dist/collector.js +32 -0
  30. package/dist/collector.js.map +1 -0
  31. package/dist/config-loader.d.ts +59 -0
  32. package/dist/config-loader.d.ts.map +1 -0
  33. package/dist/config-loader.js +97 -0
  34. package/dist/config-loader.js.map +1 -0
  35. package/dist/contract.d.ts +43 -0
  36. package/dist/contract.d.ts.map +1 -0
  37. package/dist/contract.js +29 -0
  38. package/dist/contract.js.map +1 -0
  39. package/dist/crud.d.ts +61 -0
  40. package/dist/crud.d.ts.map +1 -0
  41. package/dist/crud.js +85 -0
  42. package/dist/crud.js.map +1 -0
  43. package/dist/define.d.ts +8 -0
  44. package/dist/define.d.ts.map +1 -0
  45. package/dist/define.js +9 -0
  46. package/dist/define.js.map +1 -0
  47. package/dist/egress.d.ts +78 -0
  48. package/dist/egress.d.ts.map +1 -0
  49. package/dist/egress.js +185 -0
  50. package/dist/egress.js.map +1 -0
  51. package/dist/emit.d.ts +51 -0
  52. package/dist/emit.d.ts.map +1 -0
  53. package/dist/emit.js +57 -0
  54. package/dist/emit.js.map +1 -0
  55. package/dist/errors.d.ts +22 -0
  56. package/dist/errors.d.ts.map +1 -0
  57. package/dist/errors.js +74 -0
  58. package/dist/errors.js.map +1 -0
  59. package/dist/frond-config.d.ts +80 -0
  60. package/dist/frond-config.d.ts.map +1 -0
  61. package/dist/frond-config.js +32 -0
  62. package/dist/frond-config.js.map +1 -0
  63. package/dist/graph.d.ts +33 -0
  64. package/dist/graph.d.ts.map +1 -0
  65. package/dist/graph.js +142 -0
  66. package/dist/graph.js.map +1 -0
  67. package/dist/handler-parser.d.ts +82 -0
  68. package/dist/handler-parser.d.ts.map +1 -0
  69. package/dist/handler-parser.js +505 -0
  70. package/dist/handler-parser.js.map +1 -0
  71. package/dist/imports.d.ts +22 -0
  72. package/dist/imports.d.ts.map +1 -0
  73. package/dist/imports.js +80 -0
  74. package/dist/imports.js.map +1 -0
  75. package/dist/index.d.ts +43 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +37 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/invocation.d.ts +20 -0
  80. package/dist/invocation.d.ts.map +1 -0
  81. package/dist/invocation.js +15 -0
  82. package/dist/invocation.js.map +1 -0
  83. package/dist/middleware/error-handler.d.ts +15 -0
  84. package/dist/middleware/error-handler.d.ts.map +1 -0
  85. package/dist/middleware/error-handler.js +29 -0
  86. package/dist/middleware/error-handler.js.map +1 -0
  87. package/dist/middleware/logger.d.ts +14 -0
  88. package/dist/middleware/logger.d.ts.map +1 -0
  89. package/dist/middleware/logger.js +25 -0
  90. package/dist/middleware/logger.js.map +1 -0
  91. package/dist/middleware.d.ts +75 -0
  92. package/dist/middleware.d.ts.map +1 -0
  93. package/dist/middleware.js +89 -0
  94. package/dist/middleware.js.map +1 -0
  95. package/dist/operation.d.ts +87 -0
  96. package/dist/operation.d.ts.map +1 -0
  97. package/dist/operation.js +95 -0
  98. package/dist/operation.js.map +1 -0
  99. package/dist/orm.d.ts +96 -0
  100. package/dist/orm.d.ts.map +1 -0
  101. package/dist/orm.js +33 -0
  102. package/dist/orm.js.map +1 -0
  103. package/dist/presenter.d.ts +63 -0
  104. package/dist/presenter.d.ts.map +1 -0
  105. package/dist/presenter.js +72 -0
  106. package/dist/presenter.js.map +1 -0
  107. package/dist/remote.d.ts +48 -0
  108. package/dist/remote.d.ts.map +1 -0
  109. package/dist/remote.js +135 -0
  110. package/dist/remote.js.map +1 -0
  111. package/dist/repository.d.ts +55 -0
  112. package/dist/repository.d.ts.map +1 -0
  113. package/dist/repository.js +26 -0
  114. package/dist/repository.js.map +1 -0
  115. package/dist/scan-cache.d.ts +10 -0
  116. package/dist/scan-cache.d.ts.map +1 -0
  117. package/dist/scan-cache.js +92 -0
  118. package/dist/scan-cache.js.map +1 -0
  119. package/dist/scanner.d.ts +34 -0
  120. package/dist/scanner.d.ts.map +1 -0
  121. package/dist/scanner.js +595 -0
  122. package/dist/scanner.js.map +1 -0
  123. package/dist/seed.d.ts +28 -0
  124. package/dist/seed.d.ts.map +1 -0
  125. package/dist/seed.js +110 -0
  126. package/dist/seed.js.map +1 -0
  127. package/dist/types.d.ts +387 -0
  128. package/dist/types.d.ts.map +1 -0
  129. package/dist/types.js +2 -0
  130. package/dist/types.js.map +1 -0
  131. package/dist/verify.d.ts +57 -0
  132. package/dist/verify.d.ts.map +1 -0
  133. package/dist/verify.js +147 -0
  134. package/dist/verify.js.map +1 -0
  135. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class Config {
2
+ get<T = string>(key: string, fallback?: T): T;
3
+ }
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/builtins/config.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;CAG9C"}
@@ -0,0 +1,6 @@
1
+ export class Config {
2
+ get(key, fallback) {
3
+ return process.env[key] ?? fallback;
4
+ }
5
+ }
6
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/builtins/config.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACjB,GAAG,CAAa,GAAW,EAAE,QAAY;QACvC,OAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAO,IAAK,QAAc,CAAC;IACpD,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Fougere Logger — structured, colored, multi-runtime.
3
+ *
4
+ * Works on Node, Bun, Deno, Cloudflare Workers (console-based, no native bindings).
5
+ */
6
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
7
+ export interface LoggerOptions {
8
+ /** Minimum log level. Default: 'info'. */
9
+ level?: LogLevel;
10
+ /** Logger name / prefix. */
11
+ name?: string;
12
+ /** Force color on/off. Auto-detected by default. */
13
+ color?: boolean;
14
+ }
15
+ export declare class Logger {
16
+ private level;
17
+ private name;
18
+ private color;
19
+ constructor(prefix?: string, options?: Omit<LoggerOptions, 'name'>);
20
+ /** Create a child logger with a sub-name. */
21
+ child(name: string): Logger;
22
+ debug(msg: string, ...args: unknown[]): void;
23
+ info(msg: string, ...args: unknown[]): void;
24
+ warn(msg: string, ...args: unknown[]): void;
25
+ error(msg: string, ...args: unknown[]): void;
26
+ private log;
27
+ }
28
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/builtins/logger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAyCtE,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAU;gBAEX,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IAMlE,6CAA6C;IAC7C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IACrC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IACpC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAErC,OAAO,CAAC,GAAG;CAeZ"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Fougere Logger — structured, colored, multi-runtime.
3
+ *
4
+ * Works on Node, Bun, Deno, Cloudflare Workers (console-based, no native bindings).
5
+ */
6
+ const LEVELS = { debug: 0, info: 1, warn: 2, error: 3, silent: 4 };
7
+ const COLORS = {
8
+ reset: '\x1b[0m',
9
+ dim: '\x1b[2m',
10
+ bold: '\x1b[1m',
11
+ green: '\x1b[32m',
12
+ yellow: '\x1b[33m',
13
+ red: '\x1b[31m',
14
+ cyan: '\x1b[36m',
15
+ magenta: '\x1b[35m',
16
+ gray: '\x1b[90m',
17
+ };
18
+ const LEVEL_STYLE = {
19
+ debug: { badge: 'DBG', color: 'gray' },
20
+ info: { badge: 'INF', color: 'green' },
21
+ warn: { badge: 'WRN', color: 'yellow' },
22
+ error: { badge: 'ERR', color: 'red' },
23
+ };
24
+ function supportsColor() {
25
+ if (typeof process !== 'undefined') {
26
+ if (process.env.NO_COLOR)
27
+ return false;
28
+ if (process.env.FORCE_COLOR === '1')
29
+ return true;
30
+ return process.stdout?.isTTY === true;
31
+ }
32
+ return false;
33
+ }
34
+ function formatTime() {
35
+ const d = new Date();
36
+ const h = String(d.getHours()).padStart(2, '0');
37
+ const m = String(d.getMinutes()).padStart(2, '0');
38
+ const s = String(d.getSeconds()).padStart(2, '0');
39
+ const ms = String(d.getMilliseconds()).padStart(3, '0');
40
+ return `${h}:${m}:${s}.${ms}`;
41
+ }
42
+ export class Logger {
43
+ level;
44
+ name;
45
+ color;
46
+ constructor(prefix, options) {
47
+ this.name = prefix ?? 'app';
48
+ this.level = LEVELS[options?.level ?? 'info'];
49
+ this.color = options?.color ?? supportsColor();
50
+ }
51
+ /** Create a child logger with a sub-name. */
52
+ child(name) {
53
+ const level = (Object.entries(LEVELS).find(([, v]) => v === this.level)?.[0] ?? 'info');
54
+ return new Logger(`${this.name}:${name}`, { level, color: this.color });
55
+ }
56
+ debug(msg, ...args) { this.log('debug', msg, args); }
57
+ info(msg, ...args) { this.log('info', msg, args); }
58
+ warn(msg, ...args) { this.log('warn', msg, args); }
59
+ error(msg, ...args) { this.log('error', msg, args); }
60
+ log(level, msg, args) {
61
+ if (LEVELS[level] < this.level)
62
+ return;
63
+ const style = LEVEL_STYLE[level];
64
+ const time = formatTime();
65
+ const method = level === 'error' ? 'error' : level === 'warn' ? 'warn' : 'log';
66
+ if (this.color) {
67
+ const c = COLORS[style.color];
68
+ const prefix = `${COLORS.dim}${time}${COLORS.reset} ${c}${COLORS.bold}${style.badge}${COLORS.reset} ${COLORS.magenta}${this.name}${COLORS.reset}`;
69
+ console[method](prefix, msg, ...args);
70
+ }
71
+ else {
72
+ console[method](`${time} ${style.badge} [${this.name}]`, msg, ...args);
73
+ }
74
+ }
75
+ }
76
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/builtins/logger.ts"],"names":[],"mappings":"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"}
package/dist/call.d.ts ADDED
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Call contract — a frond call is a value.
3
+ *
4
+ * (frond, entity, op, invocation) → result, or a thrown FougereError.
5
+ * A transport is a function that executes this call elsewhere; the local
6
+ * runner below is the reference realization. Transports move the value,
7
+ * they never reshape it.
8
+ */
9
+ import { type SchemaDescriptor } from '@fougere/schema';
10
+ import type { InvocationContext } from './invocation.js';
11
+ import type { App } from './types.js';
12
+ /** Target of a call — which façade operation, wherever it lives. */
13
+ export interface FrondCall {
14
+ /** Frond name, when the caller knows it. Routing hint only. */
15
+ frond?: string;
16
+ /** Entity registration key (e.g. 'product'). */
17
+ entity: string;
18
+ /** Façade operation name (e.g. 'findById', 'search'). */
19
+ op: string;
20
+ }
21
+ /** A transport executes a call somewhere else. Failures surface as thrown FougereError. */
22
+ export type Transport = (call: FrondCall, invocation: InvocationContext) => Promise<unknown>;
23
+ /** Reserved namespace — calls the runner answers itself, never a façade. */
24
+ export declare const RPC_ENTITY = "rpc";
25
+ /**
26
+ * One operation, as a stranger meets it — its name, what it is for, what it takes
27
+ * and whether it reads or writes. Everything here already existed on the contract;
28
+ * it just never left the process.
29
+ */
30
+ export interface CardOp {
31
+ name: string;
32
+ /** The author's own doc sentence, when the method carries one. */
33
+ description?: string;
34
+ /** JSON Schema of what it accepts, when the contract names a view. */
35
+ input?: SchemaDescriptor;
36
+ /** JSON Schema of what it emits, when the contract names one. */
37
+ output?: SchemaDescriptor;
38
+ /** `query` reads, `command` writes — the same call REST turns into GET vs POST. */
39
+ kind: 'query' | 'command';
40
+ /**
41
+ * How much `output` describes: one row, maybe one, many, a page, or nothing shaped.
42
+ * `output` alone is the shape of a ROW, so a consumer generating a signature from
43
+ * this card would otherwise have to guess — and `list` returning a page rather than
44
+ * an array is exactly the guess it would get wrong.
45
+ */
46
+ cardinality?: 'one' | 'maybe' | 'many' | 'page' | 'none';
47
+ }
48
+ /**
49
+ * What an app hosts — the wire projection of its scanned fronds.
50
+ *
51
+ * Two lists per frond, and they are duals: **what you may call**, and **what you will
52
+ * receive**. A door is entered from outside; a fact leaves on its own.
53
+ *
54
+ * `doors` was called `entities` and the name lied: an entry is an ADDRESS, and the shape
55
+ * behind it is optional (`facadeKeyOf` builds its key from a handler's name, which need not
56
+ * be an entity's). The lie cost something real — `fougere sync` demanded a descriptor on
57
+ * every entry and refused whole cards over a health check.
58
+ */
59
+ export interface IdentityCard {
60
+ fronds: Array<{
61
+ name: string;
62
+ doors: Array<{
63
+ name: string;
64
+ ops: CardOp[];
65
+ /**
66
+ * The shape stored under this name — **absent when nothing is**. A handler may
67
+ * carry no entity (`bootstrap`: *pointing at nothing is legal*), and a door with
68
+ * no rows behind it is ordinary: a health check, a computation, a search across
69
+ * several shapes. A reader that needs the shape must say what it does without one.
70
+ */
71
+ schema?: SchemaDescriptor;
72
+ }>;
73
+ /**
74
+ * The facts this frond ANNOUNCES — one entry per `Emit<T>` its handlers inject.
75
+ *
76
+ * They carry no operation, which is why they cannot ride in `doors`: the rule there is
77
+ * *hosting means answering*, and an entity with no façade is excluded on purpose (it
78
+ * would publish the auth tables to anyone who asks). A fact is the opposite case —
79
+ * someone WROTE that it leaves, so publishing its shape is honouring a statement, not
80
+ * leaking one.
81
+ *
82
+ * Without this, a fact stopped at the repository boundary: `remotes:` gives the
83
+ * location, colocation gives the contract, and across two repositories there is no
84
+ * colocation. The subscriber had to hand-copy the emitter's declaration.
85
+ *
86
+ * `schema` is absent when the announced type is not a declared entity — legal (nothing
87
+ * requires a fact to be one) and worth saying rather than hiding: the name travels, the
88
+ * shape does not, and a consumer can see exactly that.
89
+ */
90
+ facts: Array<{
91
+ name: string;
92
+ schema?: SchemaDescriptor;
93
+ }>;
94
+ }>;
95
+ }
96
+ /**
97
+ * The door built in front of a handler — the framework's second port, after `EntityOrm`.
98
+ *
99
+ * `Facade<PostHandler>` is what a neighbouring frond injects. It names what ARRIVES
100
+ * rather than what is written: never the handler (nobody injects it, and its methods take
101
+ * positional arguments), but the door, whose every op takes the invocation and whose
102
+ * implementation is the local façade or a doublure. A signature therefore says nothing
103
+ * about where the other frond runs, which is the whole point.
104
+ *
105
+ * `keyof T` is the right set by construction, not by approximation: the scan skips
106
+ * `private` and `protected` (`handler-parser.ts`) because "TypeScript already has the
107
+ * word for it", so a handler's public methods ARE its operations — and `keyof` excludes
108
+ * the rest for the same reason.
109
+ */
110
+ export type Facade<T> = {
111
+ [K in keyof T]: T[K] extends (...args: never[]) => infer R ? (invocation?: InvocationContext) => R : never;
112
+ };
113
+ /**
114
+ * The container key of a façade — THE one place that spells the format.
115
+ *
116
+ * A surface is a named audience, and it is a key: `handlers/public/PostHandler.ts`
117
+ * registers `public:postHandler` next to the default `postHandler`. The default
118
+ * surface is the empty key, so callers that know nothing about surfaces keep
119
+ * designating exactly what they designated before.
120
+ *
121
+ * Nobody outside this package builds this string: adapters ask `app.facadeFor()`,
122
+ * which is why an adapter can stay structurally typed and core-free.
123
+ */
124
+ export declare function facadeKeyOf(entityName: string, surface?: string): string;
125
+ /**
126
+ * Where the contracts behind a façade live — the dual of `facadeKeyOf`.
127
+ *
128
+ * The façade answers calls; it does not say what it answers. That sentence used
129
+ * to be true only inside `buildFacade`, so anything asking the app what it hosts
130
+ * got bare names. A door and its terms are registered together, under the same
131
+ * audience.
132
+ */
133
+ export declare function contractsKeyOf(entityName: string, surface?: string): string;
134
+ /**
135
+ * Serialize what the app hosts, for one audience. Served on `rpc.discover`,
136
+ * cached by callers.
137
+ *
138
+ * Hosting means answering: an entity with no façade declares no operation, so
139
+ * it is not among the DOORS — publishing its shape would hand an anonymous caller
140
+ * the structure of tables it can never reach (the auth tables, typically), and
141
+ * `fougere sync` would rebuild a schema with nothing to call on it.
142
+ *
143
+ * `facts` is the one thing that shape-without-a-door rule does not cover, and the
144
+ * reason is the opposite of a leak: an entity nobody exposed is silent, whereas a
145
+ * fact was explicitly declared to leave.
146
+ *
147
+ * `surface` makes that sentence audience-aware rather than app-wide: a door
148
+ * answers with what IT serves. Nothing falls back to the full façade — under a
149
+ * named surface, an entity with no façade of its own is simply not there.
150
+ */
151
+ export declare function identityCardOf(app: App, surface?: string): IdentityCard;
152
+ /**
153
+ * Build the local runner — the reference realization of Transport.
154
+ *
155
+ * Resolves strictly from the app's own container: a call that lands here is
156
+ * judged here. A miss is a typed NOT_FOUND, never a forward to another remote.
157
+ */
158
+ export declare function createLocalRunner(app: App, surface?: string): Transport;
159
+ /**
160
+ * Build the app runner — same judgment, but resolution follows the app's
161
+ * topology: local façades and remote doublures alike. This is the runner
162
+ * an app's own entry points (browser endpoint, bridges) stand on.
163
+ *
164
+ * `surface` is the audience this runner serves, and it belongs to the DOOR that
165
+ * builds the runner, never to the call: a caller cannot name its own audience
166
+ * any more than it can name its own identity (`state` is stamped server-side
167
+ * for the same reason). Reaching the admin door IS the proof. So `FrondCall`
168
+ * gains nothing and the wire format gains nothing — a remote frond's audience
169
+ * is simply which URL `remotes:` points at.
170
+ */
171
+ export declare function createAppRunner(app: App, surface?: string): Transport;
172
+ //# sourceMappingURL=call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../src/call.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,2FAA2F;AAC3F,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7F,4EAA4E;AAC5E,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,iEAAiE;IACjE,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,mFAAmF;IACnF,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1D;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,EAAE,CAAC;YACd;;;;;eAKG;YACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;SAC3B,CAAC,CAAC;QACH;;;;;;;;;;;;;;;;WAgBG;QACH,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;SAAE,CAAC,CAAC;KAC3D,CAAC,CAAC;CACJ;AAKD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GACtD,CAAC,UAAU,CAAC,EAAE,iBAAiB,KAAK,CAAC,GACrC,KAAK;CACV,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAmDvE;AAiCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAEvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAErE"}
package/dist/call.js ADDED
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Call contract — a frond call is a value.
3
+ *
4
+ * (frond, entity, op, invocation) → result, or a thrown FougereError.
5
+ * A transport is a function that executes this call elsewhere; the local
6
+ * runner below is the reference realization. Transports move the value,
7
+ * they never reshape it.
8
+ */
9
+ import { describe as describeSchema } from '@fougere/schema';
10
+ import { factsAnnouncedBy } from './emit.js';
11
+ import { FougereError, ErrorCode } from './middleware.js';
12
+ import { resolveIsReadOp } from './operation.js';
13
+ /** Reserved namespace — calls the runner answers itself, never a façade. */
14
+ export const RPC_ENTITY = 'rpc';
15
+ /**
16
+ * The container key of a façade — THE one place that spells the format.
17
+ *
18
+ * A surface is a named audience, and it is a key: `handlers/public/PostHandler.ts`
19
+ * registers `public:postHandler` next to the default `postHandler`. The default
20
+ * surface is the empty key, so callers that know nothing about surfaces keep
21
+ * designating exactly what they designated before.
22
+ *
23
+ * Nobody outside this package builds this string: adapters ask `app.facadeFor()`,
24
+ * which is why an adapter can stay structurally typed and core-free.
25
+ */
26
+ export function facadeKeyOf(entityName, surface) {
27
+ return surface ? `${surface}:${entityName}Handler` : `${entityName}Handler`;
28
+ }
29
+ /**
30
+ * Where the contracts behind a façade live — the dual of `facadeKeyOf`.
31
+ *
32
+ * The façade answers calls; it does not say what it answers. That sentence used
33
+ * to be true only inside `buildFacade`, so anything asking the app what it hosts
34
+ * got bare names. A door and its terms are registered together, under the same
35
+ * audience.
36
+ */
37
+ export function contractsKeyOf(entityName, surface) {
38
+ return `${facadeKeyOf(entityName, surface)}:contracts`;
39
+ }
40
+ /**
41
+ * Serialize what the app hosts, for one audience. Served on `rpc.discover`,
42
+ * cached by callers.
43
+ *
44
+ * Hosting means answering: an entity with no façade declares no operation, so
45
+ * it is not among the DOORS — publishing its shape would hand an anonymous caller
46
+ * the structure of tables it can never reach (the auth tables, typically), and
47
+ * `fougere sync` would rebuild a schema with nothing to call on it.
48
+ *
49
+ * `facts` is the one thing that shape-without-a-door rule does not cover, and the
50
+ * reason is the opposite of a leak: an entity nobody exposed is silent, whereas a
51
+ * fact was explicitly declared to leave.
52
+ *
53
+ * `surface` makes that sentence audience-aware rather than app-wide: a door
54
+ * answers with what IT serves. Nothing falls back to the full façade — under a
55
+ * named surface, an entity with no façade of its own is simply not there.
56
+ */
57
+ export function identityCardOf(app, surface) {
58
+ /**
59
+ * Every entity of every frond, by name — a fact is announced where it is USED, which is
60
+ * not always where it is declared. Same reason the boot builds this map to judge one.
61
+ */
62
+ const declared = new Map(app.fronds.flatMap((frond) => frond.entities.map((entity) => [entity.name, entity.entityClass])));
63
+ return {
64
+ fronds: app.fronds.map((frond) => {
65
+ // What the frond answers to, not what it stores. This walked `frond.entities`, so a
66
+ // handler carrying no entity — a health check, a search across shapes — was built,
67
+ // served, and absent from the card: `sync` could not generate its door and a remote
68
+ // consumer had no way to know it existed. The boot has said "pointing at nothing is
69
+ // legal" since handlers became the subject; the card had not caught up.
70
+ const byEntity = new Map(frond.entities.map((entity) => [entity.name, entity]));
71
+ const addresses = [...new Set([
72
+ ...frond.entities.map((entity) => entity.name),
73
+ ...frond.handlers.map((handler) => handler.address),
74
+ ])];
75
+ return {
76
+ name: frond.name,
77
+ doors: addresses.flatMap((address) => {
78
+ const ops = facadeOps(app, address, surface);
79
+ if (ops.length === 0)
80
+ return [];
81
+ const entity = byEntity.get(address);
82
+ return [{
83
+ name: address,
84
+ ops,
85
+ // Absent when nothing of that name is stored. A door is still a door.
86
+ ...(entity ? { schema: describeSchema(entity.entityClass, address) } : {}),
87
+ }];
88
+ }),
89
+ /**
90
+ * What leaves on its own — the same list on every surface, deliberately.
91
+ *
92
+ * A door has an audience; a fact does not. `Emit<T>` names a subject and *the
93
+ * number of readers is not the emitter's business* (`emit.ts`), so narrowing this
94
+ * by `surface` would invent an axis the primitive refuses. The consequence is
95
+ * stated rather than hidden: a fact's SHAPE is readable by anyone who can read the
96
+ * card at all. What must not be published must not be announced.
97
+ */
98
+ facts: factsAnnouncedBy(frond.handlers).map((name) => {
99
+ const entityClass = declared.get(name);
100
+ return { name, ...(entityClass ? { schema: describeSchema(entityClass, name) } : {}) };
101
+ }),
102
+ };
103
+ }),
104
+ };
105
+ }
106
+ function facadeOps(app, entityName, surface) {
107
+ let facade;
108
+ try {
109
+ facade = app.container.resolve(facadeKeyOf(entityName, surface));
110
+ }
111
+ catch {
112
+ return [];
113
+ }
114
+ // The façade is the list of names; the contracts are the terms. Registered
115
+ // together, so a door that serves fewer ops also describes fewer.
116
+ let contracts;
117
+ try {
118
+ contracts = app.container.resolve(contractsKeyOf(entityName, surface));
119
+ }
120
+ catch {
121
+ contracts = undefined;
122
+ }
123
+ return Object.keys(facade).map((name) => {
124
+ const contract = contracts?.get(name);
125
+ return {
126
+ name,
127
+ ...(contract?.description && { description: contract.description }),
128
+ ...(contract?.input && { input: describeSchema(contract.input, name) }),
129
+ ...(contract?.output && { output: describeSchema(contract.output, name) }),
130
+ ...(contract?.cardinality && { cardinality: contract.cardinality }),
131
+ kind: resolveIsReadOp(name) ? 'query' : 'command',
132
+ };
133
+ });
134
+ }
135
+ /**
136
+ * Build the local runner — the reference realization of Transport.
137
+ *
138
+ * Resolves strictly from the app's own container: a call that lands here is
139
+ * judged here. A miss is a typed NOT_FOUND, never a forward to another remote.
140
+ */
141
+ export function createLocalRunner(app, surface) {
142
+ return runnerFor(app, (key) => app.container.resolve(key), surface);
143
+ }
144
+ /**
145
+ * Build the app runner — same judgment, but resolution follows the app's
146
+ * topology: local façades and remote doublures alike. This is the runner
147
+ * an app's own entry points (browser endpoint, bridges) stand on.
148
+ *
149
+ * `surface` is the audience this runner serves, and it belongs to the DOOR that
150
+ * builds the runner, never to the call: a caller cannot name its own audience
151
+ * any more than it can name its own identity (`state` is stamped server-side
152
+ * for the same reason). Reaching the admin door IS the proof. So `FrondCall`
153
+ * gains nothing and the wire format gains nothing — a remote frond's audience
154
+ * is simply which URL `remotes:` points at.
155
+ */
156
+ export function createAppRunner(app, surface) {
157
+ return runnerFor(app, (key) => app.resolve(key), surface);
158
+ }
159
+ function runnerFor(app, resolveFacade, surface) {
160
+ return async (call, invocation) => {
161
+ if (call.entity === RPC_ENTITY) {
162
+ if (call.op === 'discover')
163
+ return identityCardOf(app, surface);
164
+ throw new FougereError({
165
+ code: ErrorCode.NOT_FOUND,
166
+ message: `Unknown rpc operation '${call.op}'`,
167
+ entity: RPC_ENTITY,
168
+ operation: call.op,
169
+ });
170
+ }
171
+ let facade;
172
+ try {
173
+ facade = resolveFacade(facadeKeyOf(call.entity, surface));
174
+ }
175
+ catch {
176
+ // What IS hosted, so a wrong entity name (or a missing frond) reads at a glance.
177
+ const hosted = app.fronds.flatMap((frond) => frond.entities.map((e) => e.name)).sort();
178
+ throw new FougereError({
179
+ code: ErrorCode.NOT_FOUND,
180
+ message: (surface
181
+ ? `Entity '${call.entity}' is not served on surface '${surface}'`
182
+ : `Entity '${call.entity}' is not hosted here`)
183
+ + (hosted.length ? `. Hosted here: ${hosted.join(', ')}.` : '. This app hosts no entity.'),
184
+ entity: call.entity,
185
+ operation: call.op,
186
+ });
187
+ }
188
+ // Own properties only: a façade is a plain object, so a bare lookup reaches
189
+ // Object.prototype — `constructor` echoed the invocation back, `toString`
190
+ // answered. An op is what the façade declares, not what JS inherits.
191
+ const fn = Object.hasOwn(facade, call.op) ? facade[call.op] : undefined;
192
+ if (typeof fn !== 'function') {
193
+ // Name what IS served: the façade is right here, and `op` is a bare string all
194
+ // the way from `useQuery` — so a typo is the ordinary case, not the exotic one.
195
+ const served = Object.keys(facade).filter((key) => typeof facade[key] === 'function');
196
+ throw new FougereError({
197
+ code: ErrorCode.NOT_FOUND,
198
+ message: `Unknown operation '${call.op}' on '${call.entity}'. `
199
+ + (served.length ? `It serves ${served.join(', ')}.` : 'It serves nothing.'),
200
+ entity: call.entity,
201
+ operation: call.op,
202
+ });
203
+ }
204
+ // A call's result is JSON-shaped: undefined has no wire form, it
205
+ // normalizes to null at the contract edge — identically on every transport.
206
+ return (await fn(invocation)) ?? null;
207
+ };
208
+ }
209
+ //# sourceMappingURL=call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../src/call.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Collector(Entity) — resolves handler input parameters from invocation context.
3
+ *
4
+ * The dual of Presenter: Presenter enriches output, Collector resolves input.
5
+ *
6
+ * Usage:
7
+ * ```ts
8
+ * export default class UserCollector extends Collector(User) {
9
+ * constructor(private userOrm: UserOrm) { super(); }
10
+ *
11
+ * async collect(ctx: InvocationContext) {
12
+ * return this.userOrm.findById(ctx.state.userId as string);
13
+ * }
14
+ * }
15
+ * ```
16
+ */
17
+ type EntityClass = abstract new (...args: any[]) => any;
18
+ declare const COLLECTOR_TARGET: unique symbol;
19
+ export declare function Collector<E extends EntityClass>(entity: E): {
20
+ new (): {};
21
+ [COLLECTOR_TARGET]: E;
22
+ };
23
+ /** Get the entity class a collector targets. */
24
+ export declare function getCollectorTarget(ctor: Function): EntityClass | undefined;
25
+ /** Container key of an entity's collector — 'user' → 'UserCollector'. */
26
+ export declare function collectorKeyOf(entity: string): string;
27
+ export {};
28
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,KAAK,WAAW,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAExD,QAAA,MAAM,gBAAgB,eAAyC,CAAC;AAEhE,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,EAAE,CAAC;;;EAKzD;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAE1E;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD"}