@danielfgray/pg-sourcerer 0.2.1 → 0.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 (164) hide show
  1. package/dist/cli.js +3 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.d.ts +14 -1
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +2 -0
  10. package/dist/errors.js.map +1 -1
  11. package/dist/generate.d.ts +5 -9
  12. package/dist/generate.d.ts.map +1 -1
  13. package/dist/generate.js +27 -29
  14. package/dist/generate.js.map +1 -1
  15. package/dist/index.d.ts +19 -12
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +25 -13
  18. package/dist/index.js.map +1 -1
  19. package/dist/init.d.ts.map +1 -1
  20. package/dist/init.js +39 -9
  21. package/dist/init.js.map +1 -1
  22. package/dist/ir/extensions/queries.d.ts +264 -0
  23. package/dist/ir/extensions/queries.d.ts.map +1 -0
  24. package/dist/ir/extensions/queries.js +153 -0
  25. package/dist/ir/extensions/queries.js.map +1 -0
  26. package/dist/ir/extensions/schema-builder.d.ts +61 -0
  27. package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
  28. package/dist/ir/extensions/schema-builder.js +5 -0
  29. package/dist/ir/extensions/schema-builder.js.map +1 -0
  30. package/dist/lib/conjure.d.ts +66 -0
  31. package/dist/lib/conjure.d.ts.map +1 -1
  32. package/dist/lib/conjure.js +127 -29
  33. package/dist/lib/conjure.js.map +1 -1
  34. package/dist/lib/hex.d.ts +10 -3
  35. package/dist/lib/hex.d.ts.map +1 -1
  36. package/dist/lib/hex.js +18 -8
  37. package/dist/lib/hex.js.map +1 -1
  38. package/dist/plugins/arktype.d.ts +27 -14
  39. package/dist/plugins/arktype.d.ts.map +1 -1
  40. package/dist/plugins/arktype.js +166 -130
  41. package/dist/plugins/arktype.js.map +1 -1
  42. package/dist/plugins/effect.d.ts +53 -0
  43. package/dist/plugins/effect.d.ts.map +1 -0
  44. package/dist/plugins/effect.js +1074 -0
  45. package/dist/plugins/effect.js.map +1 -0
  46. package/dist/plugins/http-elysia.d.ts +32 -0
  47. package/dist/plugins/http-elysia.d.ts.map +1 -0
  48. package/dist/plugins/http-elysia.js +613 -0
  49. package/dist/plugins/http-elysia.js.map +1 -0
  50. package/dist/plugins/http-express.d.ts +36 -0
  51. package/dist/plugins/http-express.d.ts.map +1 -0
  52. package/dist/plugins/http-express.js +388 -0
  53. package/dist/plugins/http-express.js.map +1 -0
  54. package/dist/plugins/http-hono.d.ts +36 -0
  55. package/dist/plugins/http-hono.d.ts.map +1 -0
  56. package/dist/plugins/http-hono.js +453 -0
  57. package/dist/plugins/http-hono.js.map +1 -0
  58. package/dist/plugins/http-orpc.d.ts +55 -0
  59. package/dist/plugins/http-orpc.d.ts.map +1 -0
  60. package/dist/plugins/http-orpc.js +370 -0
  61. package/dist/plugins/http-orpc.js.map +1 -0
  62. package/dist/plugins/http-trpc.d.ts +59 -0
  63. package/dist/plugins/http-trpc.d.ts.map +1 -0
  64. package/dist/plugins/http-trpc.js +392 -0
  65. package/dist/plugins/http-trpc.js.map +1 -0
  66. package/dist/plugins/kysely/queries.d.ts +92 -0
  67. package/dist/plugins/kysely/queries.d.ts.map +1 -0
  68. package/dist/plugins/kysely/queries.js +1169 -0
  69. package/dist/plugins/kysely/queries.js.map +1 -0
  70. package/dist/plugins/kysely/shared.d.ts +59 -0
  71. package/dist/plugins/kysely/shared.d.ts.map +1 -0
  72. package/dist/plugins/kysely/shared.js +247 -0
  73. package/dist/plugins/kysely/shared.js.map +1 -0
  74. package/dist/plugins/kysely/types.d.ts +22 -0
  75. package/dist/plugins/kysely/types.d.ts.map +1 -0
  76. package/dist/plugins/kysely/types.js +428 -0
  77. package/dist/plugins/kysely/types.js.map +1 -0
  78. package/dist/plugins/kysely.d.ts +72 -0
  79. package/dist/plugins/kysely.d.ts.map +1 -0
  80. package/dist/plugins/kysely.js +906 -0
  81. package/dist/plugins/kysely.js.map +1 -0
  82. package/dist/plugins/sql-queries.d.ts +55 -11
  83. package/dist/plugins/sql-queries.d.ts.map +1 -1
  84. package/dist/plugins/sql-queries.js +467 -218
  85. package/dist/plugins/sql-queries.js.map +1 -1
  86. package/dist/plugins/types.d.ts +20 -14
  87. package/dist/plugins/types.d.ts.map +1 -1
  88. package/dist/plugins/types.js +90 -112
  89. package/dist/plugins/types.js.map +1 -1
  90. package/dist/plugins/valibot.d.ts +45 -0
  91. package/dist/plugins/valibot.d.ts.map +1 -0
  92. package/dist/plugins/valibot.js +422 -0
  93. package/dist/plugins/valibot.js.map +1 -0
  94. package/dist/plugins/zod.d.ts +27 -14
  95. package/dist/plugins/zod.d.ts.map +1 -1
  96. package/dist/plugins/zod.js +231 -166
  97. package/dist/plugins/zod.js.map +1 -1
  98. package/dist/services/artifact-store.d.ts +11 -1
  99. package/dist/services/artifact-store.d.ts.map +1 -1
  100. package/dist/services/artifact-store.js +9 -0
  101. package/dist/services/artifact-store.js.map +1 -1
  102. package/dist/services/core-providers.d.ts +15 -0
  103. package/dist/services/core-providers.d.ts.map +1 -0
  104. package/dist/services/core-providers.js +23 -0
  105. package/dist/services/core-providers.js.map +1 -0
  106. package/dist/services/emissions.d.ts +14 -0
  107. package/dist/services/emissions.d.ts.map +1 -1
  108. package/dist/services/emissions.js +86 -47
  109. package/dist/services/emissions.js.map +1 -1
  110. package/dist/services/execution.d.ts +35 -0
  111. package/dist/services/execution.d.ts.map +1 -0
  112. package/dist/services/execution.js +86 -0
  113. package/dist/services/execution.js.map +1 -0
  114. package/dist/services/file-builder.d.ts +4 -0
  115. package/dist/services/file-builder.d.ts.map +1 -1
  116. package/dist/services/file-builder.js.map +1 -1
  117. package/dist/services/inflection.d.ts +2 -2
  118. package/dist/services/inflection.d.ts.map +1 -1
  119. package/dist/services/inflection.js +4 -4
  120. package/dist/services/inflection.js.map +1 -1
  121. package/dist/services/ir-builder.d.ts.map +1 -1
  122. package/dist/services/ir-builder.js +10 -3
  123. package/dist/services/ir-builder.js.map +1 -1
  124. package/dist/services/pg-types.d.ts +31 -0
  125. package/dist/services/pg-types.d.ts.map +1 -1
  126. package/dist/services/pg-types.js +24 -0
  127. package/dist/services/pg-types.js.map +1 -1
  128. package/dist/services/plugin-runner.d.ts +27 -37
  129. package/dist/services/plugin-runner.d.ts.map +1 -1
  130. package/dist/services/plugin-runner.js +73 -171
  131. package/dist/services/plugin-runner.js.map +1 -1
  132. package/dist/services/plugin.d.ts +349 -217
  133. package/dist/services/plugin.d.ts.map +1 -1
  134. package/dist/services/plugin.js +182 -130
  135. package/dist/services/plugin.js.map +1 -1
  136. package/dist/services/resolution.d.ts +38 -0
  137. package/dist/services/resolution.d.ts.map +1 -0
  138. package/dist/services/resolution.js +242 -0
  139. package/dist/services/resolution.js.map +1 -0
  140. package/dist/services/service-registry.d.ts +74 -0
  141. package/dist/services/service-registry.d.ts.map +1 -0
  142. package/dist/services/service-registry.js +61 -0
  143. package/dist/services/service-registry.js.map +1 -0
  144. package/dist/services/symbols.d.ts +59 -0
  145. package/dist/services/symbols.d.ts.map +1 -1
  146. package/dist/services/symbols.js +16 -0
  147. package/dist/services/symbols.js.map +1 -1
  148. package/dist/testing.d.ts +4 -25
  149. package/dist/testing.d.ts.map +1 -1
  150. package/dist/testing.js +2 -23
  151. package/dist/testing.js.map +1 -1
  152. package/package.json +1 -1
  153. package/dist/plugins/effect-model.d.ts +0 -17
  154. package/dist/plugins/effect-model.d.ts.map +0 -1
  155. package/dist/plugins/effect-model.js +0 -409
  156. package/dist/plugins/effect-model.js.map +0 -1
  157. package/dist/plugins/kysely-queries.d.ts +0 -66
  158. package/dist/plugins/kysely-queries.d.ts.map +0 -1
  159. package/dist/plugins/kysely-queries.js +0 -951
  160. package/dist/plugins/kysely-queries.js.map +0 -1
  161. package/dist/plugins/kysely-types.d.ts +0 -35
  162. package/dist/plugins/kysely-types.d.ts.map +0 -1
  163. package/dist/plugins/kysely-types.js +0 -601
  164. package/dist/plugins/kysely-types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,145 +1,197 @@
1
1
  /**
2
- * Plugin Types
2
+ * Plugin System
3
3
  *
4
- * Defines the Effect-native plugin interface where plugins are Effects
5
- * that yield the services they need from context.
4
+ * A generic request/plugin coordination system. Core routes requests to plugins
5
+ * without understanding what resources represent (schemas, queries, routes, etc.).
6
+ *
7
+ * Key concepts:
8
+ * - Plugin: Handles requests for a resource kind
9
+ * - Request: A need for a resource with specific params
10
+ * - DeferredResource: A placeholder resolved after plugin execution
11
+ *
12
+ * Execution phases:
13
+ * 1. Registration - Plugins registered, singletons identified
14
+ * 2. Collection - Requests collected via ctx.request()
15
+ * 3. Resolution - Match requests to plugins, build DAG
16
+ * 4. Execution - Run plugins in topological order
17
+ * 5. Finalization - Emit files, resolve imports
6
18
  */
7
- import { Effect, Schema as S, ParseResult } from "effect";
8
- import { PluginExecutionFailed } from "../errors.js";
9
- import { createFileBuilder } from "./file-builder.js";
10
- // Import service tags for yielding in definePlugin
11
- import { IR } from "./ir.js";
12
- import { ArtifactStore } from "./artifact-store.js";
13
- import { PluginMeta } from "./plugin-meta.js";
14
- import { Inflection } from "./inflection.js";
15
- import { Emissions } from "./emissions.js";
16
- import { Symbols } from "./symbols.js";
17
- import { TypeHints } from "./type-hints.js";
19
+ import { Context, Data, Layer, MutableHashMap, MutableList, Option, pipe, Schema as S } from "effect";
20
+ // ============================================================================
21
+ // Plugin Errors - Domain Agnostic
22
+ // ============================================================================
18
23
  /**
19
- * Create a plugin factory from a simple function-based definition.
20
- *
21
- * Returns a curried function that accepts config and returns a ConfiguredPlugin.
24
+ * No plugin could handle a request.
25
+ */
26
+ export class PluginNotFound extends Data.TaggedError("PluginNotFound") {
27
+ }
28
+ /**
29
+ * A cycle was detected in plugin dependencies.
30
+ */
31
+ export class PluginCycle extends Data.TaggedError("PluginCycle") {
32
+ }
33
+ /**
34
+ * A plugin failed during execution.
35
+ */
36
+ export class PluginExecutionFailed extends Data.TaggedError("PluginExecutionFailed") {
37
+ }
38
+ /**
39
+ * Attempted to access a deferred resource before resolution.
40
+ */
41
+ export class ResourceNotResolved extends Data.TaggedError("ResourceNotResolved") {
42
+ }
43
+ /**
44
+ * Create a mutable deferred resource.
45
+ * @internal
46
+ */
47
+ export const createDeferredResource = (kind, params) => ({
48
+ kind,
49
+ params,
50
+ resolved: false,
51
+ value: undefined,
52
+ });
53
+ /**
54
+ * Create a read-only deferred resource view.
55
+ * Throws if accessed before resolution.
56
+ * @internal
57
+ */
58
+ export const asDeferredResource = (mutable) => ({
59
+ kind: mutable.kind,
60
+ params: mutable.params,
61
+ get result() {
62
+ if (!mutable.resolved) {
63
+ throw new ResourceNotResolved({
64
+ message: `Resource "${mutable.kind}" has not been resolved yet`,
65
+ kind: mutable.kind,
66
+ params: mutable.params,
67
+ });
68
+ }
69
+ return mutable.value;
70
+ },
71
+ });
72
+ /**
73
+ * Create a service registry for handler registration and invocation.
74
+ */
75
+ export const createServiceRegistry = () => {
76
+ const handlers = MutableHashMap.empty();
77
+ return {
78
+ register: (kind, handler, pluginName) => {
79
+ pipe(MutableHashMap.get(handlers, kind), Option.match({
80
+ onNone: () => {
81
+ MutableHashMap.set(handlers, kind, MutableList.make({ handler, plugin: pluginName }));
82
+ },
83
+ onSome: (list) => {
84
+ MutableList.append(list, { handler, plugin: pluginName });
85
+ },
86
+ }));
87
+ },
88
+ invoke: (kind, params, ctx) => {
89
+ return pipe(MutableHashMap.get(handlers, kind), Option.flatMap((list) => {
90
+ // Try each handler until one returns a result
91
+ for (const { handler } of list) {
92
+ try {
93
+ const result = handler(params, ctx);
94
+ if (result !== undefined) {
95
+ return Option.some(result);
96
+ }
97
+ }
98
+ catch {
99
+ // Handler threw - try next one
100
+ continue;
101
+ }
102
+ }
103
+ return Option.none();
104
+ }), Option.getOrUndefined);
105
+ },
106
+ hasHandler: (kind) => MutableHashMap.has(handlers, kind),
107
+ };
108
+ };
109
+ /**
110
+ * Effect service tag for ServiceRegistry.
111
+ */
112
+ export class Services extends Context.Tag("Services")() {
113
+ }
114
+ /**
115
+ * Effect service tag for PluginRegistry.
116
+ */
117
+ export class Plugins extends Context.Tag("Plugins")() {
118
+ }
119
+ // ============================================================================
120
+ // Schema for Serialization (if needed)
121
+ // ============================================================================
122
+ /**
123
+ * Schema for ResourceRequest (for artifact serialization if needed).
124
+ */
125
+ export const ResourceRequestSchema = S.Struct({
126
+ kind: S.String,
127
+ params: S.Unknown,
128
+ });
129
+ // ============================================================================
130
+ // Helper: definePlugin
131
+ // ============================================================================
132
+ /**
133
+ * Define a plugin with type inference.
22
134
  *
23
135
  * @example
24
136
  * ```typescript
25
- * const myPlugin = definePlugin({
26
- * name: "my-plugin",
27
- * provides: ["types:row"],
28
- * configSchema: S.Struct({ outputDir: S.String }),
29
- * inflection: { ... },
30
- *
31
- * run: (ctx, config) => {
32
- * for (const entity of ctx.ir.entities.values()) {
33
- * ctx.emit(`${config.outputDir}/${entity.name}.ts`, generateType(entity))
34
- * }
35
- * }
137
+ * const zodSchemas = definePlugin({
138
+ * name: "zod-schemas",
139
+ * kind: "validation-schema",
140
+ * canProvide: (p) => !p.format || p.format === "zod",
141
+ * requires: () => [{ kind: "semantic-ir", params: {} }],
142
+ * provide: (params, [ir], ctx) => {
143
+ * // Generate schema, return symbol ref
144
+ * },
36
145
  * })
37
- *
38
- * // Usage in config:
39
- * plugins: [
40
- * myPlugin({ outputDir: "types" }),
41
- * ]
42
146
  * ```
43
147
  */
44
- export function definePlugin(def) {
45
- // Build the internal plugin object
46
- const plugin = {
47
- name: def.name,
48
- provides: def.provides,
49
- configSchema: def.configSchema,
50
- inflection: def.inflection,
51
- run: (config) => Effect.gen(function* () {
52
- // Apply schema defaults to config (supports direct run() calls in tests)
53
- const validatedConfig = yield* S.decodeUnknown(def.configSchema)(config).pipe(Effect.mapError(parseError => {
54
- const formatted = ParseResult.ArrayFormatter.formatErrorSync(parseError);
55
- const errors = formatted.map(e => {
56
- const path = e.path.length > 0 ? `${e.path.join(".")}: ` : "";
57
- return `${path}${e.message}`;
58
- });
59
- return new PluginExecutionFailed({
60
- message: `Invalid config for plugin "${def.name}": ${errors.join("; ")}`,
61
- plugin: def.name,
62
- cause: new Error(errors.join("; ")),
63
- });
64
- }));
65
- // Yield all services from context
66
- const ir = yield* IR;
67
- const inflection = yield* Inflection;
68
- const emissions = yield* Emissions;
69
- const symbols = yield* Symbols;
70
- const typeHints = yield* TypeHints;
71
- const artifactStore = yield* ArtifactStore;
72
- const meta = yield* PluginMeta;
73
- // Build the simple context object
74
- const ctx = {
75
- ir,
76
- inflection,
77
- symbols,
78
- typeHints,
79
- pluginName: meta.name,
80
- pluginInflection: def.inflection,
81
- emit: (path, content) => {
82
- emissions.emit(path, content, meta.name);
83
- },
84
- emitAst: (path, ast, header) => {
85
- emissions.emitAst(path, ast, meta.name, header);
86
- },
87
- appendEmit: (path, content) => {
88
- emissions.appendEmit(path, content, meta.name);
89
- },
90
- getArtifact: (capability) => artifactStore.get(capability),
91
- setArtifact: (capability, data) => {
92
- artifactStore.set(capability, meta.name, data);
148
+ export function definePlugin(plugin) {
149
+ return plugin;
150
+ }
151
+ // ============================================================================
152
+ // Plugin Registry Implementation
153
+ // ============================================================================
154
+ /**
155
+ * Create a plugin registry for collecting plugins and requests.
156
+ *
157
+ * Used during generation to:
158
+ * 1. Collect plugin registrations
159
+ * 2. Collect requests during plugin execution
160
+ * 3. Provide data to resolution phase
161
+ */
162
+ export const createPluginRegistry = () => {
163
+ const pluginsByKind = MutableHashMap.empty();
164
+ const allPlugins = MutableList.empty();
165
+ const pendingRequests = MutableList.empty();
166
+ return {
167
+ register: (plugin) => {
168
+ MutableList.append(allPlugins, plugin);
169
+ pipe(MutableHashMap.get(pluginsByKind, plugin.kind), Option.match({
170
+ onNone: () => {
171
+ MutableHashMap.set(pluginsByKind, plugin.kind, MutableList.make(plugin));
93
172
  },
94
- file: (path) => createFileBuilder(path, meta.name, emissions, symbols),
95
- log: {
96
- // Use Effect logging with plugin name annotation
97
- // These run synchronously since logging is side-effect only
98
- debug: (message) => {
99
- Effect.runSync(Effect.logDebug(message).pipe(Effect.annotateLogs("plugin", meta.name)));
100
- },
101
- info: (message) => {
102
- Effect.runSync(Effect.logInfo(message).pipe(Effect.annotateLogs("plugin", meta.name)));
103
- },
104
- warn: (message) => {
105
- Effect.runSync(Effect.logWarning(message).pipe(Effect.annotateLogs("plugin", meta.name)));
106
- },
173
+ onSome: (list) => {
174
+ MutableList.append(list, plugin);
107
175
  },
108
- };
109
- // Call the user's run function, handling sync/async errors
110
- const result = yield* Effect.try({
111
- try: () => def.run(ctx, validatedConfig),
112
- catch: (error) => new PluginExecutionFailed({
113
- message: `Plugin ${def.name} failed`,
114
- plugin: def.name,
115
- cause: error instanceof Error ? error : new Error(String(error)),
116
- }),
176
+ }));
177
+ },
178
+ request: (kind, params, requestedBy) => {
179
+ const mutable = createDeferredResource(kind, params);
180
+ MutableList.append(pendingRequests, {
181
+ kind,
182
+ params,
183
+ requestedBy,
184
+ deferred: mutable,
117
185
  });
118
- // If it returned a promise, await it
119
- if (result instanceof Promise) {
120
- yield* Effect.tryPromise({
121
- try: () => result,
122
- catch: (error) => new PluginExecutionFailed({
123
- message: `Plugin ${def.name} failed`,
124
- plugin: def.name,
125
- cause: error instanceof Error ? error : new Error(String(error)),
126
- }),
127
- });
128
- }
129
- }),
186
+ return asDeferredResource(mutable);
187
+ },
188
+ getPlugins: () => Array.from(allPlugins),
189
+ getPendingRequests: () => Array.from(pendingRequests),
190
+ getSingletons: () => pipe(Array.from(allPlugins), (plugins) => plugins.filter((p) => p.singleton === true)),
130
191
  };
131
- // Add optional properties only if defined (exactOptionalPropertyTypes)
132
- let finalPlugin = plugin;
133
- if (def.requires !== undefined) {
134
- finalPlugin = { ...finalPlugin, requires: def.requires };
135
- }
136
- if (def.inflectionDefaults !== undefined) {
137
- finalPlugin = { ...finalPlugin, inflectionDefaults: def.inflectionDefaults };
138
- }
139
- // Return the curried factory function with plugin attached for inspection
140
- return Object.assign((config) => ({
141
- plugin: finalPlugin,
142
- config: config ?? {},
143
- }), { plugin: finalPlugin });
144
- }
192
+ };
193
+ /**
194
+ * Layer providing a fresh plugin registry.
195
+ */
196
+ export const PluginsLive = Layer.sync(Plugins, createPluginRegistry);
145
197
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAGzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAKpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,mDAAmD;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA4R3C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,YAAY,CAA8B,GAAuC;IAC/F,mCAAmC;IACnC,MAAM,MAAM,GAA8B;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;QAE1B,GAAG,EAAE,CAAC,MAAgB,EAAE,EAAE,CACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,yEAAyE;YACzE,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3E,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;gBACxE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;oBAC7D,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC9B,CAAC,CAAC,CAAA;gBACF,OAAO,IAAI,qBAAqB,CAAC;oBAC/B,OAAO,EAAE,8BAA8B,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxE,MAAM,EAAE,GAAG,CAAC,IAAI;oBAChB,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpC,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAA;YAED,kCAAkC;YAClC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAA;YACpB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;YAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAClC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,aAAa,CAAA;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;YAE9B,kCAAkC;YAClC,MAAM,GAAG,GAAwB;gBAC/B,EAAE;gBACF,UAAU;gBACV,OAAO;gBACP,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,gBAAgB,EAAE,GAAG,CAAC,UAAU;gBAEhC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;oBACtB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1C,CAAC;gBAED,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;oBAC7B,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACjD,CAAC;gBAED,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;oBAC5B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAED,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;gBAE1D,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;oBAChC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAChD,CAAC;gBAED,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;gBAEtE,GAAG,EAAE;oBACH,iDAAiD;oBACjD,4DAA4D;oBAC5D,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE;wBACjB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;wBAChB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;wBAChB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF,CAAA;oBACH,CAAC;iBACF;aACF,CAAA;YAED,2DAA2D;YAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;gBACxC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,qBAAqB,CAAC;oBACxB,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,SAAS;oBACpC,MAAM,EAAE,GAAG,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC,CAAA;YAEF,qCAAqC;YACrC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC9B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;oBACvB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM;oBACjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,qBAAqB,CAAC;wBACxB,OAAO,EAAE,UAAU,GAAG,CAAC,IAAI,SAAS;wBACpC,MAAM,EAAE,GAAG,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBACjE,CAAC;iBACL,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC;KACL,CAAA;IAED,uEAAuE;IACvE,IAAI,WAAW,GAA8B,MAAM,CAAA;IACnD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAA;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACzC,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAA;IAC9E,CAAC;IAED,0EAA0E;IAC1E,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,MAAiB,EAAoB,EAAE,CAAC,CAAC;QACxC,MAAM,EAAE,WAA8B;QACtC,MAAM,EAAE,MAAM,IAAI,EAAE;KACrB,CAAC,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,CACxB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Resolution Phase
3
+ *
4
+ * Matches requests to providers, expands dependencies, builds DAG,
5
+ * detects cycles, and produces an execution plan.
6
+ */
7
+ import { Effect } from "effect";
8
+ import { type PluginRegistry, type Plugin, type ResourceRequest, PluginCycle, PluginNotFound } from "./plugin.js";
9
+ /**
10
+ * A resolved request: a request matched to a provider.
11
+ */
12
+ export interface ResolvedRequest {
13
+ readonly kind: string;
14
+ readonly params: unknown;
15
+ readonly provider: Plugin;
16
+ /** Required dependencies (from provider.requires) - always resolved */
17
+ readonly dependencies: readonly ResourceRequest[];
18
+ /** Optional dependencies that were successfully resolved (from provider.optionalRequires) */
19
+ readonly optionalDependencies: readonly ResourceRequest[];
20
+ }
21
+ /**
22
+ * Execution plan: topologically sorted list of resolved requests.
23
+ */
24
+ export interface ExecutionPlan {
25
+ readonly steps: readonly ResolvedRequest[];
26
+ }
27
+ /**
28
+ * Resolve all requests and produce an execution plan.
29
+ *
30
+ * Steps:
31
+ * 1. Collect all requests (pending + singletons + transitive dependencies)
32
+ * 2. Match each request to a provider
33
+ * 3. Build dependency DAG
34
+ * 4. Detect cycles
35
+ * 5. Topologically sort
36
+ */
37
+ export declare const resolve: (registry: PluginRegistry) => Effect.Effect<ExecutionPlan, PluginNotFound | PluginCycle>;
38
+ //# sourceMappingURL=resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolution.d.ts","sourceRoot":"","sources":["../../src/services/resolution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAsB,MAAM,EAAyB,MAAM,QAAQ,CAAA;AAC1E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,WAAW,EACX,cAAc,EACf,MAAM,aAAa,CAAA;AAMpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,uEAAuE;IACvE,QAAQ,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,CAAA;IACjD,6FAA6F;IAC7F,QAAQ,CAAC,oBAAoB,EAAE,SAAS,eAAe,EAAE,CAAA;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAA;CAC3C;AA2UD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAClB,UAAU,cAAc,KACvB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,GAAG,WAAW,CAUzD,CAAA"}