@danielfgray/pg-sourcerer 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +25 -19
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +14 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -0
- package/dist/errors.js.map +1 -1
- package/dist/generate.d.ts +31 -21
- package/dist/generate.d.ts.map +1 -1
- package/dist/generate.js +53 -43
- package/dist/generate.js.map +1 -1
- package/dist/index.d.ts +20 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -13
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +0 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +90 -35
- package/dist/init.js.map +1 -1
- package/dist/ir/extensions/queries.d.ts +264 -0
- package/dist/ir/extensions/queries.d.ts.map +1 -0
- package/dist/ir/extensions/queries.js +153 -0
- package/dist/ir/extensions/queries.js.map +1 -0
- package/dist/ir/extensions/schema-builder.d.ts +61 -0
- package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
- package/dist/ir/extensions/schema-builder.js +5 -0
- package/dist/ir/extensions/schema-builder.js.map +1 -0
- package/dist/lib/conjure.d.ts +101 -0
- package/dist/lib/conjure.d.ts.map +1 -1
- package/dist/lib/conjure.js +204 -26
- package/dist/lib/conjure.js.map +1 -1
- package/dist/lib/hex.d.ts +10 -8
- package/dist/lib/hex.d.ts.map +1 -1
- package/dist/lib/hex.js +18 -15
- package/dist/lib/hex.js.map +1 -1
- package/dist/plugins/arktype.d.ts +27 -14
- package/dist/plugins/arktype.d.ts.map +1 -1
- package/dist/plugins/arktype.js +166 -130
- package/dist/plugins/arktype.js.map +1 -1
- package/dist/plugins/effect.d.ts +53 -0
- package/dist/plugins/effect.d.ts.map +1 -0
- package/dist/plugins/effect.js +1074 -0
- package/dist/plugins/effect.js.map +1 -0
- package/dist/plugins/http-elysia.d.ts +32 -0
- package/dist/plugins/http-elysia.d.ts.map +1 -0
- package/dist/plugins/http-elysia.js +613 -0
- package/dist/plugins/http-elysia.js.map +1 -0
- package/dist/plugins/http-express.d.ts +36 -0
- package/dist/plugins/http-express.d.ts.map +1 -0
- package/dist/plugins/http-express.js +388 -0
- package/dist/plugins/http-express.js.map +1 -0
- package/dist/plugins/http-hono.d.ts +36 -0
- package/dist/plugins/http-hono.d.ts.map +1 -0
- package/dist/plugins/http-hono.js +453 -0
- package/dist/plugins/http-hono.js.map +1 -0
- package/dist/plugins/http-orpc.d.ts +55 -0
- package/dist/plugins/http-orpc.d.ts.map +1 -0
- package/dist/plugins/http-orpc.js +370 -0
- package/dist/plugins/http-orpc.js.map +1 -0
- package/dist/plugins/http-trpc.d.ts +59 -0
- package/dist/plugins/http-trpc.d.ts.map +1 -0
- package/dist/plugins/http-trpc.js +392 -0
- package/dist/plugins/http-trpc.js.map +1 -0
- package/dist/plugins/kysely/queries.d.ts +92 -0
- package/dist/plugins/kysely/queries.d.ts.map +1 -0
- package/dist/plugins/kysely/queries.js +1169 -0
- package/dist/plugins/kysely/queries.js.map +1 -0
- package/dist/plugins/kysely/shared.d.ts +59 -0
- package/dist/plugins/kysely/shared.d.ts.map +1 -0
- package/dist/plugins/kysely/shared.js +247 -0
- package/dist/plugins/kysely/shared.js.map +1 -0
- package/dist/plugins/kysely/types.d.ts +22 -0
- package/dist/plugins/kysely/types.d.ts.map +1 -0
- package/dist/plugins/kysely/types.js +428 -0
- package/dist/plugins/kysely/types.js.map +1 -0
- package/dist/plugins/kysely.d.ts +72 -0
- package/dist/plugins/kysely.d.ts.map +1 -0
- package/dist/plugins/kysely.js +906 -0
- package/dist/plugins/kysely.js.map +1 -0
- package/dist/plugins/sql-queries.d.ts +55 -7
- package/dist/plugins/sql-queries.d.ts.map +1 -1
- package/dist/plugins/sql-queries.js +747 -121
- package/dist/plugins/sql-queries.js.map +1 -1
- package/dist/plugins/types.d.ts +20 -14
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/plugins/types.js +90 -112
- package/dist/plugins/types.js.map +1 -1
- package/dist/plugins/valibot.d.ts +45 -0
- package/dist/plugins/valibot.d.ts.map +1 -0
- package/dist/plugins/valibot.js +422 -0
- package/dist/plugins/valibot.js.map +1 -0
- package/dist/plugins/zod.d.ts +27 -14
- package/dist/plugins/zod.d.ts.map +1 -1
- package/dist/plugins/zod.js +231 -166
- package/dist/plugins/zod.js.map +1 -1
- package/dist/services/artifact-store.d.ts +11 -1
- package/dist/services/artifact-store.d.ts.map +1 -1
- package/dist/services/artifact-store.js +9 -0
- package/dist/services/artifact-store.js.map +1 -1
- package/dist/services/config-loader.d.ts +4 -0
- package/dist/services/config-loader.d.ts.map +1 -1
- package/dist/services/config-loader.js +1 -1
- package/dist/services/config-loader.js.map +1 -1
- package/dist/services/config.d.ts +57 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +66 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/core-providers.d.ts +15 -0
- package/dist/services/core-providers.d.ts.map +1 -0
- package/dist/services/core-providers.js +23 -0
- package/dist/services/core-providers.js.map +1 -0
- package/dist/services/emissions.d.ts +14 -0
- package/dist/services/emissions.d.ts.map +1 -1
- package/dist/services/emissions.js +86 -47
- package/dist/services/emissions.js.map +1 -1
- package/dist/services/execution.d.ts +35 -0
- package/dist/services/execution.d.ts.map +1 -0
- package/dist/services/execution.js +86 -0
- package/dist/services/execution.js.map +1 -0
- package/dist/services/file-builder.d.ts +4 -0
- package/dist/services/file-builder.d.ts.map +1 -1
- package/dist/services/file-builder.js.map +1 -1
- package/dist/services/inflection.d.ts +2 -2
- package/dist/services/inflection.d.ts.map +1 -1
- package/dist/services/inflection.js +4 -4
- package/dist/services/inflection.js.map +1 -1
- package/dist/services/ir-builder.d.ts.map +1 -1
- package/dist/services/ir-builder.js +10 -3
- package/dist/services/ir-builder.js.map +1 -1
- package/dist/services/pg-types.d.ts +31 -0
- package/dist/services/pg-types.d.ts.map +1 -1
- package/dist/services/pg-types.js +24 -0
- package/dist/services/pg-types.js.map +1 -1
- package/dist/services/plugin-runner.d.ts +27 -37
- package/dist/services/plugin-runner.d.ts.map +1 -1
- package/dist/services/plugin-runner.js +73 -171
- package/dist/services/plugin-runner.js.map +1 -1
- package/dist/services/plugin.d.ts +350 -215
- package/dist/services/plugin.d.ts.map +1 -1
- package/dist/services/plugin.js +182 -130
- package/dist/services/plugin.js.map +1 -1
- package/dist/services/resolution.d.ts +38 -0
- package/dist/services/resolution.d.ts.map +1 -0
- package/dist/services/resolution.js +242 -0
- package/dist/services/resolution.js.map +1 -0
- package/dist/services/service-registry.d.ts +74 -0
- package/dist/services/service-registry.d.ts.map +1 -0
- package/dist/services/service-registry.js +61 -0
- package/dist/services/service-registry.js.map +1 -0
- package/dist/services/symbols.d.ts +59 -0
- package/dist/services/symbols.d.ts.map +1 -1
- package/dist/services/symbols.js +16 -0
- package/dist/services/symbols.js.map +1 -1
- package/dist/testing.d.ts +4 -25
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +2 -23
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
- package/dist/plugins/effect-model.d.ts +0 -17
- package/dist/plugins/effect-model.d.ts.map +0 -1
- package/dist/plugins/effect-model.js +0 -409
- package/dist/plugins/effect-model.js.map +0 -1
- package/dist/plugins/kysely-queries.d.ts +0 -66
- package/dist/plugins/kysely-queries.d.ts.map +0 -1
- package/dist/plugins/kysely-queries.js +0 -960
- package/dist/plugins/kysely-queries.js.map +0 -1
- package/dist/plugins/kysely-types.d.ts +0 -35
- package/dist/plugins/kysely-types.d.ts.map +0 -1
- package/dist/plugins/kysely-types.js +0 -601
- 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":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/services/plugin.js
CHANGED
|
@@ -1,145 +1,197 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Plugin
|
|
2
|
+
* Plugin System
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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 {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
//
|
|
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
|
-
*
|
|
20
|
-
|
|
21
|
-
|
|
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
|
|
26
|
-
* name: "
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
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(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
95
|
-
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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
|
|
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"}
|