@plumbus/core 0.2.1 → 0.2.3
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/__tests__/ai-service.test.js +27 -0
- package/dist/ai/__tests__/ai-service.test.js.map +1 -1
- package/dist/ai/__tests__/validation.test.js +33 -0
- package/dist/ai/__tests__/validation.test.js.map +1 -1
- package/dist/ai/ai-service.d.ts.map +1 -1
- package/dist/ai/ai-service.js +138 -55
- package/dist/ai/ai-service.js.map +1 -1
- package/dist/ai/provider.d.ts +6 -0
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +8 -0
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/validation.d.ts.map +1 -1
- package/dist/ai/validation.js +7 -1
- package/dist/ai/validation.js.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/route-generator.d.ts +9 -0
- package/dist/api/route-generator.d.ts.map +1 -1
- package/dist/api/route-generator.js +51 -0
- package/dist/api/route-generator.js.map +1 -1
- package/dist/cli/__tests__/cli.test.js +1 -0
- package/dist/cli/__tests__/cli.test.js.map +1 -1
- package/dist/cli/__tests__/doctor.test.js +15 -1
- package/dist/cli/__tests__/doctor.test.js.map +1 -1
- package/dist/cli/__tests__/upgrade.test.d.ts +2 -0
- package/dist/cli/__tests__/upgrade.test.d.ts.map +1 -0
- package/dist/cli/__tests__/upgrade.test.js +20 -0
- package/dist/cli/__tests__/upgrade.test.js.map +1 -0
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +2 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +38 -0
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +4 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +84 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +38 -0
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +6 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +112 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/execution/__tests__/context-factory.test.js +16 -0
- package/dist/execution/__tests__/context-factory.test.js.map +1 -1
- package/dist/execution/context-factory.d.ts +2 -1
- package/dist/execution/context-factory.d.ts.map +1 -1
- package/dist/execution/context-factory.js +7 -0
- package/dist/execution/context-factory.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server/__tests__/bootstrap.test.js +13 -0
- package/dist/server/__tests__/bootstrap.test.js.map +1 -1
- package/dist/server/bootstrap.d.ts +5 -0
- package/dist/server/bootstrap.d.ts.map +1 -1
- package/dist/server/bootstrap.js +6 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/testing/context.d.ts.map +1 -1
- package/dist/testing/context.js +22 -0
- package/dist/testing/context.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/context.d.ts +36 -0
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/instructions/deployment.md +99 -7
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/server/bootstrap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/server/bootstrap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpE,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,sFAAsF;IACtF,EAAE,EAAE,kBAAkB,CAAC;IACvB,+BAA+B;IAC/B,YAAY,EAAE,kBAAkB,CAAC;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,wDAAwD;IACxD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0GAA0G;IAC1G,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;IAClD,oGAAoG;IACpG,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACxF;AAID,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,GAAG,EAAE,eAAe,CAAC;IACrB,sBAAsB;IACtB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,wBAAwB;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,aAAa,CA0KtE"}
|
package/dist/server/bootstrap.js
CHANGED
|
@@ -11,7 +11,7 @@ import { createAuditService } from '../audit/service.js';
|
|
|
11
11
|
import { createJwtAdapter } from '../auth/adapter.js';
|
|
12
12
|
/** Create and configure a Plumbus Fastify server */
|
|
13
13
|
export function createServer(serverConfig) {
|
|
14
|
-
const { config, db, capabilities, entities, events, consumers, flows, host = '0.0.0.0', port = 3000, } = serverConfig;
|
|
14
|
+
const { config, db, capabilities, entities, events, consumers, flows, host = '0.0.0.0', port = 3000, trustProxy, } = serverConfig;
|
|
15
15
|
const logger = serverConfig.logger ?? createConsoleLogger(config.environment);
|
|
16
16
|
// Auth adapter
|
|
17
17
|
if (!config.auth.secret && config.environment !== 'development') {
|
|
@@ -35,6 +35,7 @@ export function createServer(serverConfig) {
|
|
|
35
35
|
: {
|
|
36
36
|
level: 'info',
|
|
37
37
|
},
|
|
38
|
+
...(trustProxy != null && { trustProxy }),
|
|
38
39
|
});
|
|
39
40
|
// Health check endpoint
|
|
40
41
|
app.get('/health', async () => ({
|
|
@@ -107,6 +108,10 @@ export function createServer(serverConfig) {
|
|
|
107
108
|
};
|
|
108
109
|
// Register all capability routes
|
|
109
110
|
registerAllRoutes(app, capabilities.getAll(), routeConfig);
|
|
111
|
+
// Allow consumer to register additional routes (e.g., streaming endpoints)
|
|
112
|
+
if (serverConfig.onRoutesRegistered) {
|
|
113
|
+
serverConfig.onRoutesRegistered(app, routeConfig);
|
|
114
|
+
}
|
|
110
115
|
logger.info(`Registered ${capabilities.getAll().length} capability routes`);
|
|
111
116
|
// Log registration status for other registries.
|
|
112
117
|
// Event consumers, flow triggers, and entity repositories are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/server/bootstrap.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,uEAAuE;AACvE,kFAAkF;AAElF,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/server/bootstrap.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,uEAAuE;AACvE,kFAAkF;AAElF,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAmDtD,oDAAoD;AACpD,MAAM,UAAU,YAAY,CAAC,YAA0B;IACrD,MAAM,EACJ,MAAM,EACN,EAAE,EACF,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,IAAI,EACX,UAAU,GACX,GAAG,YAAY,CAAC;IAEjB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE9E,eAAe;IACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CACT,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GACf,YAAY,CAAC,WAAW;QACxB,gBAAgB,CAAC;YACf,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB;YAClD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;SAC/B,CAAC,CAAC;IAEL,mBAAmB;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,MAAM,EACJ,MAAM,CAAC,WAAW,KAAK,YAAY;YACjC,CAAC,CAAC;gBACE,KAAK,EAAE,MAAM,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;aAC/D;YACH,CAAC,CAAC;gBACE,KAAK,EAAE,MAAM;aACd;QACP,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;KAC1C,CAAC,CAAC;IAEH,wBAAwB;IACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM;KAC3C,CAAC,CAAC,CAAC;IAEJ,6CAA6C;IAC7C,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,UAAU,CAAC,CAAC;YAChC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,IAAI,SAAgC,CAAC;IAErC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,uBAAuB;QACvB,MAAM,gBAAgB,GAA6D,EAAE,CAAC;QACtF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,gBAAgB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB;YACxF,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc;SAC/E,CAAC,CAAC;QACH,SAAS,GAAG,eAAe,CAAC;YAC1B,SAAS,EAAE,gBAAgB;YAC3B,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;YACnD,WAAW;YACX,cAAc,EAAE,YAAY,CAAC,cAAc;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CACT,8BAA8B,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,wBAAwB,MAAM,CAAC,WAAW,CAAC,eAAe,GAAG,CAChI,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACrB,iCAAiC;QACjC,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACpC,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,mBAAmB;YAClD,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc;SACzC,CAAC,CAAC;QACH,SAAS,GAAG,eAAe,CACzB,oBAAoB,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAC5F,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,+CAA+C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,yBAAyB;IACzB,MAAM,WAAW,GAAyB;QACxC,WAAW;QACX,kBAAkB,EAAE,CAAC,IAAiB,EAAE,OAAQ,EAAuB,EAAE;YACvE,MAAM,KAAK,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC;gBACtC,EAAE;gBACF,IAAI;gBACJ,KAAK;gBACL,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;aAC9C,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI;gBACJ,IAAI;gBACJ,EAAE,EAAE,SAAS;gBACb,KAAK;gBACL,MAAM;gBACN,MAAM,EAAE,MAA4C;aACrD,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,iCAAiC;IACjC,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;IAE3D,2EAA2E;IAC3E,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACpC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,cAAc,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,oBAAoB,CAAC,CAAC;IAE5E,gDAAgD;IAChD,8DAA8D;IAC9D,uEAAuE;IACvE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,+DAA+D,CACzF,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CACT,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,+DAA+D,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,uEAAuE,CAChG,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,sBAAsB,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACL,GAAG;QACH,KAAK,CAAC,KAAK;YACT,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,IAAI;YACR,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/C,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,uBAAuB;AAEvB,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,MAAM,GAAG,YAAY,GAAG,GAAG,CAAC;IAClC,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,QAAQ;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,QAAQ;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,QAAQ;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,QAAQ;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/testing/context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,gBAAgB,EAEhB,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,WAAW,CASrE;AAID,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACnF,kCAAkC;IAClC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,oEAAoE;AACpE,wBAAgB,SAAS,IAAI,gBAAgB,CAW5C;AAID,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,yBAAyB;IACzB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjE,2BAA2B;IAC3B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,mEAAmE;AACnE,wBAAgB,UAAU,IAAI,gBAAgB,CAW7C;AAID,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,0BAA0B;IAC1B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,IAAI,eAAe,CAoB3C;AAID,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/testing/context.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/context.js
CHANGED
|
@@ -69,6 +69,28 @@ export function mockAI(responses) {
|
|
|
69
69
|
return responses.generate;
|
|
70
70
|
return { text: 'mock-ai-response' };
|
|
71
71
|
},
|
|
72
|
+
async generateWithUsage(_config) {
|
|
73
|
+
const data = responses?.generate !== undefined
|
|
74
|
+
? responses.generate
|
|
75
|
+
: { text: 'mock-ai-response' };
|
|
76
|
+
const inputStr = JSON.stringify(_config);
|
|
77
|
+
const outputStr = JSON.stringify(data);
|
|
78
|
+
return {
|
|
79
|
+
data,
|
|
80
|
+
usage: {
|
|
81
|
+
inputTokens: Math.ceil(inputStr.length / 4),
|
|
82
|
+
outputTokens: Math.ceil(outputStr.length / 4),
|
|
83
|
+
totalTokens: Math.ceil(inputStr.length / 4) + Math.ceil(outputStr.length / 4),
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
async *streamGenerate(_config) {
|
|
88
|
+
const result = responses?.generate !== undefined
|
|
89
|
+
? responses.generate
|
|
90
|
+
: { text: 'mock-ai-response' };
|
|
91
|
+
yield { type: 'delta', text: result.text ?? JSON.stringify(result) };
|
|
92
|
+
yield { type: 'done', data: result };
|
|
93
|
+
},
|
|
72
94
|
async extract(_config) {
|
|
73
95
|
if (responses?.extract !== undefined)
|
|
74
96
|
return responses.extract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/testing/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/testing/context.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface AIProviderConfig {
|
|
|
21
21
|
baseUrl?: string;
|
|
22
22
|
maxTokensPerRequest?: number;
|
|
23
23
|
dailyCostLimit?: number;
|
|
24
|
+
/** Request timeout in milliseconds for AI provider calls (default: 120_000) */
|
|
25
|
+
requestTimeout?: number;
|
|
24
26
|
}
|
|
25
27
|
export interface AuthAdapterConfig {
|
|
26
28
|
provider: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5C,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACvD;AAGD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,yCAAyC;IACzC,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;CACjD"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC5C,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACvD;AAGD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,yCAAyC;IACzC,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;CACjD"}
|
package/dist/types/context.d.ts
CHANGED
|
@@ -32,11 +32,39 @@ export interface AIDocument {
|
|
|
32
32
|
score: number;
|
|
33
33
|
metadata?: Record<string, unknown>;
|
|
34
34
|
}
|
|
35
|
+
export interface AIStreamEvent {
|
|
36
|
+
type: 'delta' | 'done' | 'error';
|
|
37
|
+
/** Incremental text chunk (for delta events) */
|
|
38
|
+
text?: string;
|
|
39
|
+
/** Final validated data (for done events) */
|
|
40
|
+
data?: Record<string, any>;
|
|
41
|
+
/** Error message (for error events) */
|
|
42
|
+
error?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface AITokenUsage {
|
|
45
|
+
inputTokens: number;
|
|
46
|
+
outputTokens: number;
|
|
47
|
+
totalTokens: number;
|
|
48
|
+
}
|
|
49
|
+
export interface AIGenerateResult {
|
|
50
|
+
data: Record<string, any>;
|
|
51
|
+
usage: AITokenUsage;
|
|
52
|
+
}
|
|
35
53
|
export interface AIService {
|
|
36
54
|
generate(config: {
|
|
37
55
|
prompt: string;
|
|
38
56
|
input: Record<string, unknown>;
|
|
39
57
|
}): Promise<Record<string, any>>;
|
|
58
|
+
/** Like generate(), but also returns actual token usage from the provider */
|
|
59
|
+
generateWithUsage(config: {
|
|
60
|
+
prompt: string;
|
|
61
|
+
input: Record<string, unknown>;
|
|
62
|
+
}): Promise<AIGenerateResult>;
|
|
63
|
+
/** Stream AI generation, yielding incremental text deltas and a final validated result */
|
|
64
|
+
streamGenerate(config: {
|
|
65
|
+
prompt: string;
|
|
66
|
+
input: Record<string, unknown>;
|
|
67
|
+
}): AsyncIterable<AIStreamEvent>;
|
|
40
68
|
extract(config: {
|
|
41
69
|
schema: z.ZodTypeAny;
|
|
42
70
|
text: string;
|
|
@@ -75,6 +103,12 @@ export interface SecurityService {
|
|
|
75
103
|
/** Throw a forbidden error if the user does not have the required scope */
|
|
76
104
|
requireScope(scope: string): void;
|
|
77
105
|
}
|
|
106
|
+
export interface RequestMeta {
|
|
107
|
+
/** Client IP address (may reflect X-Forwarded-For when behind a proxy) */
|
|
108
|
+
sourceIp?: string;
|
|
109
|
+
/** HTTP User-Agent header */
|
|
110
|
+
userAgent?: string;
|
|
111
|
+
}
|
|
78
112
|
export interface ExecutionContext {
|
|
79
113
|
auth: AuthContext;
|
|
80
114
|
data: DataService;
|
|
@@ -88,6 +122,8 @@ export interface ExecutionContext {
|
|
|
88
122
|
config: ConfigService;
|
|
89
123
|
security: SecurityService;
|
|
90
124
|
translations: TranslationService;
|
|
125
|
+
/** HTTP request metadata (IP, User-Agent) — present when invoked via HTTP */
|
|
126
|
+
request?: RequestMeta;
|
|
91
127
|
state?: unknown;
|
|
92
128
|
step?: string;
|
|
93
129
|
flowId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type { AuditRecord, AuditService } from './audit.js';
|
|
2
2
|
export type { CapabilityAuditConfig, CapabilityContract, CapabilityEffects, CapabilityExplanationConfig, } from './capability.js';
|
|
3
3
|
export type { AIProviderConfig, AIProvidersConfig, AuthAdapterConfig, DatabaseConfig, Environment, PlumbusConfig, PromptModelOverride, QueueConfig, } from './config.js';
|
|
4
|
-
export type { AIDocument, AIService, ConfigService, DataService, EventService, ExecutionContext, FlowExecution, FlowService, LoggerService, Repository, SecurityService, TimeService, } from './context.js';
|
|
4
|
+
export type { AIDocument, AIGenerateResult, AIService, AIStreamEvent, AITokenUsage, ConfigService, DataService, EventService, ExecutionContext, FlowExecution, FlowService, LoggerService, Repository, RequestMeta, SecurityService, TimeService, } from './context.js';
|
|
5
5
|
export type { EntityDefinition, EntityRetention } from './entity.js';
|
|
6
6
|
export { BackoffStrategy, CapabilityKind, ErrorCode, FieldClassification, FlowStepType, GovernanceSeverity, PolicyProfile, RelationType, RuleStatus, } from './enums.js';
|
|
7
7
|
export type { ErrorService, PlumbusError } from './errors.js';
|
|
@@ -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,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"}
|
|
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,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACX,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"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,iEAAiE;AACjE,uEAAuE;AACvE,8EAA8E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,iEAAiE;AACjE,uEAAuE;AACvE,8EAA8E;AA2C9E,0BAA0B;AAC1B,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC"}
|
|
@@ -22,6 +22,38 @@ Plumbus applications deploy as up to three services — a **backend** (Fastify A
|
|
|
22
22
|
- **Frontend** and **admin** proxy API calls to the backend via server-side route handlers (`app/api/[...path]/route.ts`). Browsers never connect directly to the backend.
|
|
23
23
|
- **Backend** connects to PostgreSQL (data) and Redis (job queue, event dispatch).
|
|
24
24
|
|
|
25
|
+
## Common Docker Pitfalls
|
|
26
|
+
|
|
27
|
+
Before diving into Dockerfiles, understand these critical issues that cause the most deployment failures:
|
|
28
|
+
|
|
29
|
+
### 1. `.plumbus/` is generated — do NOT copy from host
|
|
30
|
+
|
|
31
|
+
The `.plumbus/` directory is produced by `plumbus generate`. It may not exist on the host (CI pipelines, fresh clones). **Always run `plumbus generate` inside the Docker build** instead of copying from the host.
|
|
32
|
+
|
|
33
|
+
### 2. `.npmrc` is required for frontend builds
|
|
34
|
+
|
|
35
|
+
`@plumbus/ui` provides `next`, `react`, `tailwindcss`, and other packages as transitive dependencies. pnpm does not hoist them by default — the project's `.npmrc` contains `public-hoist-pattern` entries that make these packages visible to Turbopack/Next.js. **If you don't copy `.npmrc` into your Docker image, `pnpm install` will not hoist correctly and `next build` will fail** with "Cannot find module 'next'" or similar resolution errors.
|
|
36
|
+
|
|
37
|
+
### 3. pnpm symlinks break when copying `node_modules` between stages
|
|
38
|
+
|
|
39
|
+
pnpm uses symlinks inside `node_modules/`. When you `COPY --from=deps /app/node_modules ./node_modules` into a **new** Docker stage (`FROM base AS build`), the symlinks break. **Use `FROM deps AS build`** — this starts the build stage from the deps layer, preserving the symlink tree intact.
|
|
40
|
+
|
|
41
|
+
### 4. Cookie `secure` flag and HTTP-only deployments
|
|
42
|
+
|
|
43
|
+
`plumbus start` sets `secure: true` on auth cookies by default (correct for production TLS). If you deploy behind plain HTTP (no TLS), browsers will silently drop `Secure` cookies, causing infinite login redirect loops. See [HTTP Deployments Without TLS](#http-deployments-without-tls) for the workaround.
|
|
44
|
+
|
|
45
|
+
### 5. Regenerate client types before building frontends
|
|
46
|
+
|
|
47
|
+
The frontend typed client (`frontend/lib/client.ts`) is generated by `plumbus ui generate`. If capability schemas change and you don't regenerate, the frontend build will fail with type errors or the client will be out of sync with the API. **Always run `plumbus ui generate` before building frontend Docker images** — either locally before commit, or as a Docker build stage.
|
|
48
|
+
|
|
49
|
+
### 6. `app.config.ts` must use dynamic environment detection
|
|
50
|
+
|
|
51
|
+
Do **not** hardcode `environment: 'development'` in `config/app.config.ts`. In production Docker containers where `NODE_ENV=production`, a hardcoded development environment causes `plumbus start` to skip production safeguards. Use:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
environment: (process.env.NODE_ENV === 'production' ? 'production' : 'development')
|
|
55
|
+
```
|
|
56
|
+
|
|
25
57
|
## Backend Deployment
|
|
26
58
|
|
|
27
59
|
### Production Command
|
|
@@ -140,6 +172,7 @@ After a standalone build, static files live in `.next/static/`. Copy them to the
|
|
|
140
172
|
| `AI_OPENAI_API_KEY` | If using OpenAI | — | OpenAI API key |
|
|
141
173
|
| `AI_OPENAI_MODEL` | No | `gpt-4o-mini` | Default OpenAI model |
|
|
142
174
|
| `AI_DEFAULT_MODEL` | No | `gpt-4o` | Fallback model |
|
|
175
|
+
| `TRUST_PROXY` | No | — | Set to `true` behind a reverse proxy so `request.ip` reflects `X-Forwarded-For` |
|
|
143
176
|
|
|
144
177
|
### Frontend / Admin
|
|
145
178
|
|
|
@@ -148,6 +181,7 @@ After a standalone build, static files live in `.next/static/`. Copy them to the
|
|
|
148
181
|
| `NEXT_PUBLIC_API_BASE_URL` | Build | Public API URL (empty string if using server-side proxy) |
|
|
149
182
|
| `API_BASE_URL` | Runtime | Backend URL for server-side proxy (e.g., `http://backend:3000`) |
|
|
150
183
|
| `AUTH_SECRET` | Runtime | Cookie signing secret |
|
|
184
|
+
| `AUTH_COOKIE_SECURE` | Runtime | Set to `"true"` for TLS, `"false"` for HTTP-only deployments |
|
|
151
185
|
|
|
152
186
|
## Docker
|
|
153
187
|
|
|
@@ -166,13 +200,21 @@ FROM base AS deps
|
|
|
166
200
|
COPY package.json pnpm-lock.yaml ./
|
|
167
201
|
RUN pnpm install
|
|
168
202
|
|
|
203
|
+
# ---- Generate .plumbus/ ----
|
|
204
|
+
# .plumbus/ is generated — never copy it from the host. Run plumbus generate
|
|
205
|
+
# inside Docker so it always exists and matches the current app/ definitions.
|
|
206
|
+
FROM deps AS generate
|
|
207
|
+
COPY app/ ./app/
|
|
208
|
+
COPY config/ ./config/
|
|
209
|
+
COPY tsconfig.json ./
|
|
210
|
+
RUN npx plumbus generate
|
|
211
|
+
|
|
169
212
|
# ---- Build ----
|
|
170
|
-
FROM
|
|
171
|
-
COPY --from=
|
|
213
|
+
FROM deps AS build
|
|
214
|
+
COPY --from=generate /app/.plumbus/ ./.plumbus/
|
|
172
215
|
COPY package.json tsconfig.json ./
|
|
173
216
|
COPY app/ ./app/
|
|
174
217
|
COPY config/ ./config/
|
|
175
|
-
COPY .plumbus/ ./.plumbus/
|
|
176
218
|
COPY drizzle/ ./drizzle/
|
|
177
219
|
RUN pnpm build
|
|
178
220
|
|
|
@@ -185,10 +227,10 @@ RUN addgroup --system --gid 1001 plumbus && \
|
|
|
185
227
|
adduser --system --uid 1001 plumbus
|
|
186
228
|
COPY --from=deps /app/node_modules ./node_modules
|
|
187
229
|
COPY --from=build /app/dist ./dist
|
|
230
|
+
COPY --from=generate /app/.plumbus/ ./.plumbus/
|
|
188
231
|
COPY package.json ./
|
|
189
232
|
COPY app/ ./app/
|
|
190
233
|
COPY config/ ./config/
|
|
191
|
-
COPY .plumbus/ ./.plumbus/
|
|
192
234
|
COPY drizzle/ ./drizzle/
|
|
193
235
|
# Entrypoint starts the production server
|
|
194
236
|
USER plumbus
|
|
@@ -207,13 +249,16 @@ WORKDIR /app
|
|
|
207
249
|
FROM base AS deps
|
|
208
250
|
COPY package.json pnpm-lock.yaml ./
|
|
209
251
|
COPY frontend/package.json ./frontend/
|
|
252
|
+
# Copy .npmrc — it contains public-hoist-pattern entries that make
|
|
253
|
+
# next, react, tailwindcss visible to Turbopack. Without it, next build fails.
|
|
254
|
+
COPY .npmrc ./
|
|
210
255
|
# Generate a clean workspace config — don't copy the host's pnpm-workspace.yaml
|
|
211
256
|
RUN printf 'packages:\n - "frontend"\n' > pnpm-workspace.yaml
|
|
212
257
|
RUN pnpm install
|
|
213
258
|
|
|
214
|
-
FROM base
|
|
215
|
-
COPY --from
|
|
216
|
-
|
|
259
|
+
# CRITICAL: Use "FROM deps" (NOT "FROM base") to preserve pnpm symlinks.
|
|
260
|
+
# Copying node_modules between stages with COPY --from breaks pnpm's symlink tree.
|
|
261
|
+
FROM deps AS build
|
|
217
262
|
COPY frontend/ ./frontend/
|
|
218
263
|
WORKDIR /app/frontend
|
|
219
264
|
RUN npx next build
|
|
@@ -230,6 +275,9 @@ EXPOSE 3001
|
|
|
230
275
|
CMD ["node", "frontend/server.js"]
|
|
231
276
|
```
|
|
232
277
|
|
|
278
|
+
> **Why `FROM deps AS build` instead of `FROM base AS build`?**
|
|
279
|
+
> pnpm stores packages in a content-addressable store and creates symlinks inside `node_modules/`. Docker's `COPY --from` creates new files without preserving symlinks. By starting the build stage from the deps layer (`FROM deps`), the existing filesystem (with intact symlinks) is inherited, not copied.
|
|
280
|
+
|
|
233
281
|
### Docker Compose Topology
|
|
234
282
|
|
|
235
283
|
```yaml
|
|
@@ -254,12 +302,49 @@ services:
|
|
|
254
302
|
### Key Docker Considerations
|
|
255
303
|
|
|
256
304
|
- **Do NOT copy `pnpm-workspace.yaml`** into Docker images. It may contain local dev overrides (`link:../Plumbus/...`) that don't exist in the build context. The backend Dockerfile doesn't need it at all. Frontend Dockerfiles generate a minimal workspace config inline (`printf 'packages: ["frontend"]' > pnpm-workspace.yaml`) to declare the sub-package.
|
|
305
|
+
- **Always copy `.npmrc`** into Docker images (both backend and frontend). It defines `public-hoist-pattern` entries that pnpm needs to make framework-provided packages (`next`, `react`, `tailwindcss`, etc.) visible to the application. Without it, `next build` will fail with module resolution errors.
|
|
306
|
+
- **Generate `.plumbus/` inside Docker** — never rely on it existing on the host. The backend Dockerfile should include a `generate` stage that runs `plumbus generate`. This ensures the manifests always match the current app definitions, even in CI/CD pipelines and fresh clones.
|
|
307
|
+
- **Preserve pnpm symlinks** — use `FROM deps AS build` in frontend Dockerfiles. Do **not** use `FROM base AS build` with `COPY --from=deps /app/node_modules`. Docker's COPY command does not preserve symlinks, which breaks pnpm's package resolution and causes Turbopack/Next.js to fail.
|
|
308
|
+
- **Regenerate client types** — run `plumbus ui generate` before building frontend Docker images. The typed client (`frontend/lib/client.ts`) must match the current capability schemas. If you changed entity or capability definitions without regenerating, the frontend build will fail.
|
|
257
309
|
- **Dependency resolution**: `@plumbus/core` and `@plumbus/ui` are declared as normal dependencies in `package.json`. Without the workspace overrides, `pnpm install` resolves them from the npm registry.
|
|
258
310
|
- **Volumes**: Mount persistent volumes for PostgreSQL data and the `uploads/` directory (user-generated media and exports).
|
|
259
311
|
- **Internal networking**: Frontends connect to backend via Docker service name (e.g., `http://backend:3000`). Set `API_BASE_URL` accordingly.
|
|
260
312
|
- **`NEXT_PUBLIC_API_BASE_URL`**: Set to empty string (`""`) if the frontend uses server-side proxy routes. The proxy route handler reads `API_BASE_URL` at runtime.
|
|
261
313
|
- **File layout**: Place all Docker files (Dockerfiles, compose, entrypoint, env template) in a `docker/` subdirectory. The `.dockerignore` stays at the project root (the build context). Set `context: ..` (parent) in compose `build:` sections so COPY paths resolve from the project root.
|
|
262
314
|
|
|
315
|
+
## HTTP Deployments Without TLS
|
|
316
|
+
|
|
317
|
+
`plumbus start` defaults to `secure: true` for auth cookies — the correct setting for production deployments behind TLS. However, some deployment scenarios (staging servers, internal tools, EC2 without a load balancer) run over plain HTTP.
|
|
318
|
+
|
|
319
|
+
When `Secure` cookies are set over HTTP, browsers silently refuse to store them. The symptom is an infinite login redirect loop: the auth route sets the cookie, the browser drops it, and the next request redirects back to login.
|
|
320
|
+
|
|
321
|
+
### Workaround: `AUTH_COOKIE_SECURE` Environment Variable
|
|
322
|
+
|
|
323
|
+
Frontend auth route handlers should respect an `AUTH_COOKIE_SECURE` environment variable:
|
|
324
|
+
|
|
325
|
+
```ts
|
|
326
|
+
// app/api/auth/login/route.ts
|
|
327
|
+
const isSecure = process.env.AUTH_COOKIE_SECURE === "true";
|
|
328
|
+
|
|
329
|
+
cookies().set("auth_token", token, {
|
|
330
|
+
httpOnly: true,
|
|
331
|
+
secure: isSecure,
|
|
332
|
+
sameSite: isSecure ? "strict" : "lax",
|
|
333
|
+
path: "/",
|
|
334
|
+
maxAge: 60 * 60 * 24 * 7,
|
|
335
|
+
});
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
Set `AUTH_COOKIE_SECURE=false` in your `.env` for HTTP-only deployments. **This is a security trade-off** — always use TLS in production and set `AUTH_COOKIE_SECURE=true`.
|
|
339
|
+
|
|
340
|
+
Add to docker-compose environment:
|
|
341
|
+
|
|
342
|
+
```yaml
|
|
343
|
+
frontend:
|
|
344
|
+
environment:
|
|
345
|
+
AUTH_COOKIE_SECURE: "false" # Set to "true" behind TLS
|
|
346
|
+
```
|
|
347
|
+
|
|
263
348
|
## Kubernetes / Helm
|
|
264
349
|
|
|
265
350
|
The Docker images are self-contained and orchestrator-agnostic. When deploying to Kubernetes:
|
|
@@ -330,3 +415,10 @@ readinessProbe:
|
|
|
330
415
|
- [ ] Persistent volumes for PostgreSQL data and uploads
|
|
331
416
|
- [ ] AI provider API keys configured
|
|
332
417
|
- [ ] Redis available for job queue and event dispatch
|
|
418
|
+
- [ ] `.npmrc` copied into all Docker images (frontend and admin)
|
|
419
|
+
- [ ] `.plumbus/` generated inside Docker (not copied from host)
|
|
420
|
+
- [ ] Frontend Dockerfiles use `FROM deps AS build` (not `FROM base AS build`)
|
|
421
|
+
- [ ] `plumbus ui generate` run before building frontend images (client types up to date)
|
|
422
|
+
- [ ] `config/app.config.ts` uses dynamic environment detection (not hardcoded `'development'`)
|
|
423
|
+
- [ ] `AUTH_COOKIE_SECURE` set to `"true"` (or `"false"` only if no TLS — see HTTP deployment section)
|
|
424
|
+
- [ ] `.dockerignore` at project root excludes `node_modules/`, `dist/`, `.git/`, `uploads/`
|