@plumbus/core 0.1.4 → 0.2.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/ai/ai-service.d.ts.map +1 -1
- package/dist/ai/ai-service.js +0 -1
- package/dist/ai/ai-service.js.map +1 -1
- package/dist/cli/__tests__/create.test.js +105 -0
- package/dist/cli/__tests__/create.test.js.map +1 -1
- package/dist/cli/__tests__/generate.test.js +85 -1
- package/dist/cli/__tests__/generate.test.js.map +1 -1
- package/dist/cli/__tests__/init.test.js +32 -0
- package/dist/cli/__tests__/init.test.js.map +1 -1
- package/dist/cli/__tests__/ui.test.js +8 -8
- package/dist/cli/__tests__/ui.test.js.map +1 -1
- package/dist/cli/__tests__/utils.test.js +158 -1
- package/dist/cli/__tests__/utils.test.js.map +1 -1
- package/dist/cli/commands/__tests__/commands.test.js +4 -4
- package/dist/cli/commands/__tests__/commands.test.js.map +1 -1
- package/dist/cli/commands/create.d.ts +1 -0
- package/dist/cli/commands/create.d.ts.map +1 -1
- package/dist/cli/commands/create.js +210 -1
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +12 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +103 -3
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts +4 -4
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +39 -31
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/ui.d.ts.map +1 -1
- package/dist/cli/commands/ui.js +37 -10
- package/dist/cli/commands/ui.js.map +1 -1
- package/dist/cli/utils.d.ts +28 -0
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +134 -0
- package/dist/cli/utils.js.map +1 -1
- package/dist/types/__tests__/registry.test.d.ts +2 -0
- package/dist/types/__tests__/registry.test.d.ts.map +1 -0
- package/dist/types/__tests__/registry.test.js +34 -0
- package/dist/types/__tests__/registry.test.js.map +1 -0
- package/dist/types/context.d.ts +4 -5
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/flow.d.ts +5 -4
- package/dist/types/flow.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry.d.ts +16 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/registry.js +17 -0
- package/dist/types/registry.js.map +1 -0
- package/instructions/cli.md +32 -1
- package/instructions/framework.md +21 -0
- package/package.json +1 -1
package/dist/cli/utils.d.ts
CHANGED
|
@@ -39,4 +39,32 @@ export declare function commandRequiresProject(commandName: string): boolean;
|
|
|
39
39
|
* Prints a clear error and calls `process.exit(1)` when not.
|
|
40
40
|
*/
|
|
41
41
|
export declare function assertInsidePlumbusProject(from?: string): void;
|
|
42
|
+
export interface MonorepoLayout {
|
|
43
|
+
isMonorepo: boolean;
|
|
44
|
+
backendDir?: string;
|
|
45
|
+
frontendDir?: string;
|
|
46
|
+
sharedTypesDir?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Detect whether the current project is a pnpm-workspace monorepo scaffolded
|
|
50
|
+
* by `plumbus create --monorepo`. Returns directory paths for each package.
|
|
51
|
+
*/
|
|
52
|
+
export declare function detectMonorepoLayout(projectRoot?: string): MonorepoLayout;
|
|
53
|
+
export interface MigrationResult {
|
|
54
|
+
movedFiles: string[];
|
|
55
|
+
rewrittenImports: string[];
|
|
56
|
+
deletedPaths: string[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Detect and auto-migrate legacy UI generation artifacts inside `frontendDir`.
|
|
60
|
+
*
|
|
61
|
+
* Migrations performed:
|
|
62
|
+
* 1. Move `generated/*.ts` → `lib/` + `hooks/` (delete `generated/` when empty)
|
|
63
|
+
* 2. Rename `middleware.ts` → `proxy.ts` and fix the exported function name
|
|
64
|
+
* 3. Delete `app/api/plumbus/[...path]/route.ts` (API proxy removed)
|
|
65
|
+
* 4. Rewrite `@/generated/` imports in all `.ts`/`.tsx` files
|
|
66
|
+
*
|
|
67
|
+
* Returns a summary of what was changed. No-op when no legacy artifacts exist.
|
|
68
|
+
*/
|
|
69
|
+
export declare function migrateUiLegacyStructure(frontendDir: string): MigrationResult;
|
|
42
70
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/cli/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAMA,wCAAwC;AACxC,wBAAgB,WAAW,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzD;AAED,0CAA0C;AAC1C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,oCAAoC;AACpC,wBAAgB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAGzD;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED,qCAAqC;AACrC,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,oCAAoC;AACpC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAM/E;AAED,4BAA4B;AAC5B,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,4BAA4B;AAC5B,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,0BAA0B;AAC1B,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,yBAAyB;AACzB,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,MAAsB,GAAG,MAAM,GAAG,SAAS,CAuBvF;AAKD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ9D"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAMA,wCAAwC;AACxC,wBAAgB,WAAW,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzD;AAED,0CAA0C;AAC1C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,oCAAoC;AACpC,wBAAgB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAGzD;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED,qCAAqC;AACrC,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,oCAAoC;AACpC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAM/E;AAED,4BAA4B;AAC5B,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,4BAA4B;AAC5B,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED,0BAA0B;AAC1B,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEvC;AAED,yBAAyB;AACzB,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,MAAsB,GAAG,MAAM,GAAG,SAAS,CAuBvF;AAKD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ9D;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,GAAE,MAAsB,GAAG,cAAc,CAqBxF;AAID,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CA6D7E"}
|
package/dist/cli/utils.js
CHANGED
|
@@ -113,4 +113,138 @@ export function assertInsidePlumbusProject(from) {
|
|
|
113
113
|
process.exit(1);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Detect whether the current project is a pnpm-workspace monorepo scaffolded
|
|
118
|
+
* by `plumbus create --monorepo`. Returns directory paths for each package.
|
|
119
|
+
*/
|
|
120
|
+
export function detectMonorepoLayout(projectRoot = process.cwd()) {
|
|
121
|
+
const workspaceYaml = path.join(projectRoot, 'pnpm-workspace.yaml');
|
|
122
|
+
if (!fs.existsSync(workspaceYaml)) {
|
|
123
|
+
return { isMonorepo: false };
|
|
124
|
+
}
|
|
125
|
+
const backendDir = path.join(projectRoot, 'backend');
|
|
126
|
+
const frontendDir = path.join(projectRoot, 'frontend');
|
|
127
|
+
const sharedTypesDir = path.join(projectRoot, 'libs', 'shared', 'types');
|
|
128
|
+
// Verify it's actually a Plumbus monorepo (backend has the app/ dir structure)
|
|
129
|
+
if (!fs.existsSync(path.join(backendDir, 'package.json'))) {
|
|
130
|
+
return { isMonorepo: false };
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
isMonorepo: true,
|
|
134
|
+
backendDir,
|
|
135
|
+
frontendDir,
|
|
136
|
+
sharedTypesDir,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/** File-path mapping from legacy `generated/` layout to current `lib/` + `hooks/` layout. */
|
|
140
|
+
const LEGACY_FILE_MOVES = {
|
|
141
|
+
'generated/client.ts': 'lib/client.ts',
|
|
142
|
+
'generated/hooks.ts': 'hooks/hooks.ts',
|
|
143
|
+
'generated/auth.ts': 'lib/auth.ts',
|
|
144
|
+
'generated/form-hints.ts': 'lib/form-hints.ts',
|
|
145
|
+
};
|
|
146
|
+
/** Import path rewrites from legacy `@/generated/` to current paths. */
|
|
147
|
+
const IMPORT_REWRITES = {
|
|
148
|
+
'@/generated/client': '@/lib/client',
|
|
149
|
+
'@/generated/hooks': '@/hooks/hooks',
|
|
150
|
+
'@/generated/auth': '@/lib/auth',
|
|
151
|
+
'@/generated/form-hints': '@/lib/form-hints',
|
|
152
|
+
'../generated/client': '../lib/client',
|
|
153
|
+
'../generated/hooks': '../hooks/hooks',
|
|
154
|
+
'../generated/auth': '../lib/auth',
|
|
155
|
+
'../generated/form-hints': '../lib/form-hints',
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Detect and auto-migrate legacy UI generation artifacts inside `frontendDir`.
|
|
159
|
+
*
|
|
160
|
+
* Migrations performed:
|
|
161
|
+
* 1. Move `generated/*.ts` → `lib/` + `hooks/` (delete `generated/` when empty)
|
|
162
|
+
* 2. Rename `middleware.ts` → `proxy.ts` and fix the exported function name
|
|
163
|
+
* 3. Delete `app/api/plumbus/[...path]/route.ts` (API proxy removed)
|
|
164
|
+
* 4. Rewrite `@/generated/` imports in all `.ts`/`.tsx` files
|
|
165
|
+
*
|
|
166
|
+
* Returns a summary of what was changed. No-op when no legacy artifacts exist.
|
|
167
|
+
*/
|
|
168
|
+
export function migrateUiLegacyStructure(frontendDir) {
|
|
169
|
+
const result = { movedFiles: [], rewrittenImports: [], deletedPaths: [] };
|
|
170
|
+
if (!fs.existsSync(frontendDir))
|
|
171
|
+
return result;
|
|
172
|
+
// 1. Move generated/ files
|
|
173
|
+
for (const [oldRel, newRel] of Object.entries(LEGACY_FILE_MOVES)) {
|
|
174
|
+
const oldPath = path.join(frontendDir, oldRel);
|
|
175
|
+
if (fs.existsSync(oldPath)) {
|
|
176
|
+
const newPath = path.join(frontendDir, newRel);
|
|
177
|
+
const newDir = path.dirname(newPath);
|
|
178
|
+
if (!fs.existsSync(newDir)) {
|
|
179
|
+
fs.mkdirSync(newDir, { recursive: true });
|
|
180
|
+
}
|
|
181
|
+
fs.renameSync(oldPath, newPath);
|
|
182
|
+
result.movedFiles.push(`${oldRel} → ${newRel}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Remove generated/ if now empty
|
|
186
|
+
const generatedDir = path.join(frontendDir, 'generated');
|
|
187
|
+
if (fs.existsSync(generatedDir)) {
|
|
188
|
+
const remaining = fs.readdirSync(generatedDir);
|
|
189
|
+
if (remaining.length === 0) {
|
|
190
|
+
fs.rmdirSync(generatedDir);
|
|
191
|
+
result.deletedPaths.push('generated/');
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// 2. Rename middleware.ts → proxy.ts
|
|
195
|
+
const middlewarePath = path.join(frontendDir, 'middleware.ts');
|
|
196
|
+
if (fs.existsSync(middlewarePath)) {
|
|
197
|
+
let content = fs.readFileSync(middlewarePath, 'utf-8');
|
|
198
|
+
content = content.replace(/export\s+function\s+middleware\b/g, 'export function proxy');
|
|
199
|
+
const proxyPath = path.join(frontendDir, 'proxy.ts');
|
|
200
|
+
fs.writeFileSync(proxyPath, content, 'utf-8');
|
|
201
|
+
fs.unlinkSync(middlewarePath);
|
|
202
|
+
result.movedFiles.push('middleware.ts → proxy.ts');
|
|
203
|
+
}
|
|
204
|
+
// 3. Delete legacy API proxy route
|
|
205
|
+
const proxyRoute = path.join(frontendDir, 'app', 'api', 'plumbus', '[...path]', 'route.ts');
|
|
206
|
+
if (fs.existsSync(proxyRoute)) {
|
|
207
|
+
fs.unlinkSync(proxyRoute);
|
|
208
|
+
result.deletedPaths.push('app/api/plumbus/[...path]/route.ts');
|
|
209
|
+
// Clean up empty parent dirs
|
|
210
|
+
for (const dir of [
|
|
211
|
+
path.join(frontendDir, 'app', 'api', 'plumbus', '[...path]'),
|
|
212
|
+
path.join(frontendDir, 'app', 'api', 'plumbus'),
|
|
213
|
+
path.join(frontendDir, 'app', 'api'),
|
|
214
|
+
]) {
|
|
215
|
+
if (fs.existsSync(dir) && fs.readdirSync(dir).length === 0) {
|
|
216
|
+
fs.rmdirSync(dir);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// 4. Rewrite @/generated/ imports in all .ts/.tsx files
|
|
221
|
+
rewriteImportsRecursive(frontendDir, result);
|
|
222
|
+
return result;
|
|
223
|
+
}
|
|
224
|
+
function rewriteImportsRecursive(dir, result) {
|
|
225
|
+
if (!fs.existsSync(dir))
|
|
226
|
+
return;
|
|
227
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
228
|
+
for (const entry of entries) {
|
|
229
|
+
const fullPath = path.join(dir, entry.name);
|
|
230
|
+
if (entry.isDirectory()) {
|
|
231
|
+
if (entry.name === 'node_modules' || entry.name === '.next' || entry.name === 'dist') {
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
rewriteImportsRecursive(fullPath, result);
|
|
235
|
+
}
|
|
236
|
+
else if (/\.tsx?$/.test(entry.name)) {
|
|
237
|
+
const original = fs.readFileSync(fullPath, 'utf-8');
|
|
238
|
+
let content = original;
|
|
239
|
+
for (const [oldImport, newImport] of Object.entries(IMPORT_REWRITES)) {
|
|
240
|
+
content = content.replaceAll(`"${oldImport}"`, `"${newImport}"`);
|
|
241
|
+
content = content.replaceAll(`'${oldImport}'`, `'${newImport}'`);
|
|
242
|
+
}
|
|
243
|
+
if (content !== original) {
|
|
244
|
+
fs.writeFileSync(fullPath, content, 'utf-8');
|
|
245
|
+
result.rewrittenImports.push(path.relative(dir, fullPath));
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
116
250
|
//# sourceMappingURL=utils.js.map
|
package/dist/cli/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.test.d.ts","sourceRoot":"","sources":["../../../src/types/__tests__/registry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { describe, expectTypeOf, it } from 'vitest';
|
|
2
|
+
describe('PlumbusRegistry — default (no augmentation)', () => {
|
|
3
|
+
it('RegisteredCapabilityName defaults to string', () => {
|
|
4
|
+
expectTypeOf().toEqualTypeOf();
|
|
5
|
+
});
|
|
6
|
+
it('RegisteredEventName defaults to string', () => {
|
|
7
|
+
expectTypeOf().toEqualTypeOf();
|
|
8
|
+
});
|
|
9
|
+
it('RegisteredFlowName defaults to string', () => {
|
|
10
|
+
expectTypeOf().toEqualTypeOf();
|
|
11
|
+
});
|
|
12
|
+
it('RegisteredEntities defaults to Record<string, Repository>', () => {
|
|
13
|
+
expectTypeOf().toEqualTypeOf();
|
|
14
|
+
});
|
|
15
|
+
it('DataService is assignable from Record<string, Repository>', () => {
|
|
16
|
+
expectTypeOf().toMatchTypeOf();
|
|
17
|
+
});
|
|
18
|
+
it('CapabilityStep.capability accepts string without augmentation', () => {
|
|
19
|
+
expectTypeOf().toEqualTypeOf();
|
|
20
|
+
});
|
|
21
|
+
it('FlowTrigger.event accepts string without augmentation', () => {
|
|
22
|
+
expectTypeOf().toEqualTypeOf();
|
|
23
|
+
});
|
|
24
|
+
it('WaitStep.event accepts string without augmentation', () => {
|
|
25
|
+
expectTypeOf().toEqualTypeOf();
|
|
26
|
+
});
|
|
27
|
+
it('EventService.emit eventName parameter accepts string', () => {
|
|
28
|
+
expectTypeOf().parameter(0).toEqualTypeOf();
|
|
29
|
+
});
|
|
30
|
+
it('FlowService.start flowName parameter accepts string', () => {
|
|
31
|
+
expectTypeOf().parameter(0).toEqualTypeOf();
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=registry.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/types/__tests__/registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAUpD,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IAC3D,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,YAAY,EAA4B,CAAC,aAAa,EAAU,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,YAAY,EAAuB,CAAC,aAAa,EAAU,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,YAAY,EAAsB,CAAC,aAAa,EAAU,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,YAAY,EAAsB,CAAC,aAAa,EAA8B,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,YAAY,EAA8B,CAAC,aAAa,EAAe,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,YAAY,EAAgC,CAAC,aAAa,EAAsB,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,YAAY,EAAwB,CAAC,aAAa,EAAU,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,YAAY,EAAqB,CAAC,aAAa,EAAU,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,YAAY,EAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,EAAU,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,YAAY,EAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,EAAU,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/types/context.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import type { AuditService } from './audit.js';
|
|
3
3
|
import type { ErrorService } from './errors.js';
|
|
4
|
+
import type { RegisteredEntities, RegisteredEventName, RegisteredFlowName } from './registry.js';
|
|
4
5
|
import type { AuthContext } from './security.js';
|
|
5
6
|
import type { TranslationService } from './translation.js';
|
|
6
7
|
export interface Repository<T = Record<string, any>> {
|
|
@@ -10,11 +11,9 @@ export interface Repository<T = Record<string, any>> {
|
|
|
10
11
|
delete(id: string): Promise<void>;
|
|
11
12
|
findMany(query?: Record<string, any>): Promise<T[]>;
|
|
12
13
|
}
|
|
13
|
-
export
|
|
14
|
-
[entity: string]: Repository;
|
|
15
|
-
}
|
|
14
|
+
export type DataService = RegisteredEntities;
|
|
16
15
|
export interface EventService {
|
|
17
|
-
emit(eventName:
|
|
16
|
+
emit(eventName: RegisteredEventName, payload: unknown): Promise<void>;
|
|
18
17
|
}
|
|
19
18
|
export interface FlowExecution {
|
|
20
19
|
id: string;
|
|
@@ -22,7 +21,7 @@ export interface FlowExecution {
|
|
|
22
21
|
status: string;
|
|
23
22
|
}
|
|
24
23
|
export interface FlowService {
|
|
25
|
-
start(flowName:
|
|
24
|
+
start(flowName: RegisteredFlowName, input: unknown): Promise<FlowExecution>;
|
|
26
25
|
resume(executionId: string, signal?: unknown): Promise<void>;
|
|
27
26
|
cancel(executionId: string): Promise<void>;
|
|
28
27
|
status(executionId: string): Promise<FlowExecution>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACrD;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACrD;AAMD,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAG7C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAGD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5E,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACrD;AAGD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAGD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAEjC,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAEjC,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAExE,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC5D;AAGD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAClE;AAGD,MAAM,WAAW,WAAW;IAC1B,GAAG,IAAI,IAAI,CAAC;CACb;AAGD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAGpD,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,wDAAwD;IACxD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACtC,yDAAyD;IACzD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACxC,0EAA0E;IAC1E,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2EAA2E;IAC3E,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAGD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,SAAS,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,kBAAkB,CAAC;IAGjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/dist/types/flow.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import type { BackoffStrategy, FlowStepType } from './enums.js';
|
|
3
|
+
import type { RegisteredCapabilityName, RegisteredEventName } from './registry.js';
|
|
3
4
|
export interface BaseFlowStep {
|
|
4
5
|
name: string;
|
|
5
6
|
}
|
|
6
7
|
export interface CapabilityStep extends BaseFlowStep {
|
|
7
8
|
type: typeof FlowStepType.Capability;
|
|
8
|
-
capability?:
|
|
9
|
+
capability?: RegisteredCapabilityName;
|
|
9
10
|
input?: Record<string, unknown>;
|
|
10
11
|
}
|
|
11
12
|
export interface ConditionalStep extends BaseFlowStep {
|
|
@@ -16,7 +17,7 @@ export interface ConditionalStep extends BaseFlowStep {
|
|
|
16
17
|
}
|
|
17
18
|
export interface WaitStep extends BaseFlowStep {
|
|
18
19
|
type: typeof FlowStepType.Wait;
|
|
19
|
-
event:
|
|
20
|
+
event: RegisteredEventName;
|
|
20
21
|
}
|
|
21
22
|
export interface DelayStep extends BaseFlowStep {
|
|
22
23
|
type: typeof FlowStepType.Delay;
|
|
@@ -28,7 +29,7 @@ export interface ParallelStep extends BaseFlowStep {
|
|
|
28
29
|
}
|
|
29
30
|
export interface EventEmitStep extends BaseFlowStep {
|
|
30
31
|
type: typeof FlowStepType.EventEmit;
|
|
31
|
-
event:
|
|
32
|
+
event: RegisteredEventName;
|
|
32
33
|
}
|
|
33
34
|
export type FlowStep = CapabilityStep | ConditionalStep | WaitStep | DelayStep | ParallelStep | EventEmitStep;
|
|
34
35
|
export interface FlowRetryPolicy {
|
|
@@ -36,7 +37,7 @@ export interface FlowRetryPolicy {
|
|
|
36
37
|
backoff: BackoffStrategy;
|
|
37
38
|
}
|
|
38
39
|
export interface FlowTrigger {
|
|
39
|
-
event:
|
|
40
|
+
event: RegisteredEventName;
|
|
40
41
|
}
|
|
41
42
|
export interface FlowSchedule {
|
|
42
43
|
cron: string;
|
package/dist/types/flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/types/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/types/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGnF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,IAAI,EAAE,OAAO,YAAY,CAAC,UAAU,CAAC;IACrC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,IAAI,EAAE,OAAO,YAAY,CAAC,WAAW,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,IAAI,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC;IAC/B,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,IAAI,EAAE,OAAO,YAAY,CAAC,KAAK,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,IAAI,EAAE,OAAO,YAAY,CAAC,QAAQ,CAAC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,IAAI,EAAE,OAAO,YAAY,CAAC,SAAS,CAAC;IACpC,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,eAAe,GACf,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,aAAa,CAAC;AAGlB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,cAAc,CAC7B,MAAM,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,EAC1C,MAAM,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU;IAE1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type { BaseFieldOptions, BooleanFieldDescriptor, EnumFieldDescriptor, Fie
|
|
|
10
10
|
export type { CapabilityStep, ConditionalStep, DelayStep, EventEmitStep, FlowDefinition, FlowRetryPolicy, FlowSchedule, FlowStep, FlowTrigger, ParallelStep, WaitStep, } from './flow.js';
|
|
11
11
|
export type { GovernanceOverride, GovernanceSignal, PolicyReport, RuleEvaluation, } from './governance.js';
|
|
12
12
|
export type { ModelConfig, PromptDefinition } from './prompt.js';
|
|
13
|
+
export type { PlumbusRegistry, RegisteredCapabilityName, RegisteredEntities, RegisteredEventName, RegisteredFlowName, } from './registry.js';
|
|
13
14
|
export type { AccessPolicy, AuthContext } from './security.js';
|
|
14
15
|
export type { MessageCatalog, TranslationDefinition, TranslationResolver, TranslationService, } from './translation.js';
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Repository } from './context.js';
|
|
2
|
+
export interface PlumbusRegistry {
|
|
3
|
+
}
|
|
4
|
+
export type RegisteredCapabilityName = PlumbusRegistry extends {
|
|
5
|
+
capabilityName: infer C extends string;
|
|
6
|
+
} ? C : string;
|
|
7
|
+
export type RegisteredEventName = PlumbusRegistry extends {
|
|
8
|
+
eventName: infer E extends string;
|
|
9
|
+
} ? E : string;
|
|
10
|
+
export type RegisteredFlowName = PlumbusRegistry extends {
|
|
11
|
+
flowName: infer F extends string;
|
|
12
|
+
} ? F : string;
|
|
13
|
+
export type RegisteredEntities = PlumbusRegistry extends {
|
|
14
|
+
entities: infer E extends Record<string, Repository>;
|
|
15
|
+
} ? E : Record<string, Repository>;
|
|
16
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,eAAe;CAAG;AAMnC,MAAM,MAAM,wBAAwB,GAAG,eAAe,SAAS;IAC7D,cAAc,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CACxC,GACG,CAAC,GACD,MAAM,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,eAAe,SAAS;IACxD,SAAS,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CACnC,GACG,CAAC,GACD,MAAM,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,eAAe,SAAS;IACvD,QAAQ,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CAClC,GACG,CAAC,GACD,MAAM,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,eAAe,SAAS;IACvD,QAAQ,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACtD,GACG,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// ── Plumbus Type Registry ──
|
|
2
|
+
// Empty by default. Consumer apps augment this interface via `plumbus generate`,
|
|
3
|
+
// which produces a `.plumbus/generated/plumbus.d.ts` file containing:
|
|
4
|
+
//
|
|
5
|
+
// declare module "@plumbus/core" {
|
|
6
|
+
// interface PlumbusRegistry {
|
|
7
|
+
// capabilityName: "getInvoice" | "createOrder";
|
|
8
|
+
// eventName: "user.created" | "order.completed";
|
|
9
|
+
// flowName: "onboardUser" | "processOrder";
|
|
10
|
+
// entities: { User: Repository<UserRecord>; Order: Repository<OrderRecord> };
|
|
11
|
+
// }
|
|
12
|
+
// }
|
|
13
|
+
//
|
|
14
|
+
// Until generation runs, all derived types fall back to `string` (for names)
|
|
15
|
+
// or a permissive index signature (for entities), preserving backward compatibility.
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,iFAAiF;AACjF,sEAAsE;AACtE,EAAE;AACF,qCAAqC;AACrC,kCAAkC;AAClC,sDAAsD;AACtD,uDAAuD;AACvD,kDAAkD;AAClD,oFAAoF;AACpF,QAAQ;AACR,MAAM;AACN,EAAE;AACF,6EAA6E;AAC7E,qFAAqF"}
|
package/instructions/cli.md
CHANGED
|
@@ -5,9 +5,12 @@ The Plumbus CLI scaffolds and manages application primitives. **Always run CLI c
|
|
|
5
5
|
## Project Setup
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
# Create a new Plumbus project
|
|
8
|
+
# Create a new Plumbus project (flat — default)
|
|
9
9
|
plumbus create <project-name> [--auth jwt|auth0|clerk] [--ai openai|anthropic] [--compliance GDPR|HIPAA] [--skip-install] [--git]
|
|
10
10
|
|
|
11
|
+
# Create a monorepo project (backend / frontend / libs)
|
|
12
|
+
plumbus create <project-name> --monorepo [--auth jwt|auth0|clerk] [--ai openai|anthropic] [--compliance GDPR|HIPAA] [--skip-install] [--git]
|
|
13
|
+
|
|
11
14
|
# Initialize AI agent wiring (copilot, cursor, or agents-md)
|
|
12
15
|
plumbus init --agent copilot
|
|
13
16
|
|
|
@@ -15,6 +18,34 @@ plumbus init --agent copilot
|
|
|
15
18
|
plumbus doctor
|
|
16
19
|
```
|
|
17
20
|
|
|
21
|
+
### Monorepo mode (`--monorepo`)
|
|
22
|
+
|
|
23
|
+
When `--monorepo` is passed, the generated project uses **pnpm workspaces** with three packages:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
<project-name>/
|
|
27
|
+
├── pnpm-workspace.yaml
|
|
28
|
+
├── package.json # private root — delegates scripts via pnpm -r
|
|
29
|
+
├── tsconfig.base.json
|
|
30
|
+
├── biome.json
|
|
31
|
+
├── backend/ # @<name>/backend — Plumbus app (entities, capabilities, etc.)
|
|
32
|
+
│ ├── package.json
|
|
33
|
+
│ ├── tsconfig.json
|
|
34
|
+
│ └── app/
|
|
35
|
+
├── frontend/ # @<name>/frontend — populated by `plumbus ui nextjs`
|
|
36
|
+
│ ├── package.json
|
|
37
|
+
│ ├── tsconfig.json
|
|
38
|
+
│ └── src/
|
|
39
|
+
└── libs/shared/ # @<name>/shared — cross-package type definitions
|
|
40
|
+
├── package.json
|
|
41
|
+
├── tsconfig.json
|
|
42
|
+
└── types/
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- `plumbus generate` auto-detects the monorepo and copies shared types to `libs/shared/types/`.
|
|
46
|
+
- `plumbus ui nextjs` outputs into `frontend/` instead of the configured `outDir`.
|
|
47
|
+
- `plumbus init` adjusts AI wiring file paths to use `backend/app/` prefixes.
|
|
48
|
+
|
|
18
49
|
## Scaffolding Primitives
|
|
19
50
|
|
|
20
51
|
Use these commands to create new entities, capabilities, events, flows, and prompts. The CLI generates correctly structured files with TODOs for you to fill in.
|
|
@@ -43,6 +43,8 @@ Every capability handler receives `ctx` — the scoped runtime context:
|
|
|
43
43
|
|
|
44
44
|
## Project Structure
|
|
45
45
|
|
|
46
|
+
### Flat layout (default)
|
|
47
|
+
|
|
46
48
|
```
|
|
47
49
|
app/
|
|
48
50
|
capabilities/<domain>/<name>/
|
|
@@ -63,6 +65,25 @@ config/
|
|
|
63
65
|
ai.config.ts # AI provider configuration
|
|
64
66
|
```
|
|
65
67
|
|
|
68
|
+
### Monorepo layout (`plumbus create --monorepo`)
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
backend/ # Plumbus app — same structure as flat layout above
|
|
72
|
+
app/
|
|
73
|
+
config/
|
|
74
|
+
package.json
|
|
75
|
+
frontend/ # Populated by `plumbus ui nextjs`
|
|
76
|
+
src/
|
|
77
|
+
package.json
|
|
78
|
+
libs/shared/ # Shared type definitions (auto-generated)
|
|
79
|
+
types/
|
|
80
|
+
package.json
|
|
81
|
+
pnpm-workspace.yaml # pnpm workspaces root
|
|
82
|
+
package.json # Private root — delegates scripts via pnpm -r
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
In monorepo mode the `app/` and `config/` directories live under `backend/`. The CLI auto-detects the layout.
|
|
86
|
+
|
|
66
87
|
## Framework-Provided Dependencies
|
|
67
88
|
|
|
68
89
|
The framework provides common dependencies — **consumer apps must NOT install them separately**. Import through the framework's subpath exports:
|