@plumbus/core 0.2.6 → 0.2.7
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__/model-pricing.test.js +10 -0
- package/dist/ai/__tests__/model-pricing.test.js.map +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/model-pricing.d.ts +7 -0
- package/dist/ai/model-pricing.d.ts.map +1 -1
- package/dist/ai/model-pricing.js +7 -2
- package/dist/ai/model-pricing.js.map +1 -1
- package/dist/api/__tests__/route-generator.test.js +112 -0
- package/dist/api/__tests__/route-generator.test.js.map +1 -1
- package/dist/api/route-generator.d.ts.map +1 -1
- package/dist/api/route-generator.js +55 -1
- package/dist/api/route-generator.js.map +1 -1
- package/dist/cli/__tests__/cli.test.js +4 -1
- package/dist/cli/__tests__/cli.test.js.map +1 -1
- package/dist/cli/__tests__/create.test.js +11 -1
- package/dist/cli/__tests__/create.test.js.map +1 -1
- package/dist/cli/__tests__/generate.test.js +120 -12
- package/dist/cli/__tests__/generate.test.js.map +1 -1
- package/dist/cli/__tests__/ui.test.js +15 -1
- package/dist/cli/__tests__/ui.test.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +12 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/create.js +2 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +26 -0
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +6 -0
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +94 -4
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +26 -0
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/ui.d.ts +1 -0
- package/dist/cli/commands/ui.d.ts.map +1 -1
- package/dist/cli/commands/ui.js +41 -5
- package/dist/cli/commands/ui.js.map +1 -1
- package/dist/data/__tests__/repository.test.js +203 -0
- package/dist/data/__tests__/repository.test.js.map +1 -1
- package/dist/data/index.d.ts +1 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +2 -0
- package/dist/data/index.js.map +1 -1
- package/dist/data/repository.d.ts +1 -1
- package/dist/data/repository.d.ts.map +1 -1
- package/dist/data/repository.js +67 -3
- package/dist/data/repository.js.map +1 -1
- package/dist/errors/__tests__/errors.test.js +30 -2
- package/dist/errors/__tests__/errors.test.js.map +1 -1
- package/dist/errors/http.d.ts +3 -3
- package/dist/errors/http.d.ts.map +1 -1
- package/dist/errors/http.js.map +1 -1
- package/dist/errors/index.d.ts +12 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +22 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/execution/capability-executor.d.ts +2 -2
- package/dist/execution/capability-executor.d.ts.map +1 -1
- package/dist/flows/engine.d.ts.map +1 -1
- package/dist/flows/engine.js +24 -2
- package/dist/flows/engine.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/server/bootstrap.d.ts +11 -0
- package/dist/server/bootstrap.d.ts.map +1 -1
- package/dist/server/bootstrap.js +30 -0
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/testing/__tests__/simulate-flow.test.js +10 -0
- package/dist/testing/__tests__/simulate-flow.test.js.map +1 -1
- package/dist/testing/context.d.ts.map +1 -1
- package/dist/testing/context.js +70 -6
- package/dist/testing/context.js.map +1 -1
- package/dist/testing/simulate-flow.d.ts.map +1 -1
- package/dist/testing/simulate-flow.js +13 -0
- package/dist/testing/simulate-flow.js.map +1 -1
- package/dist/types/context.d.ts +23 -7
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/errors.d.ts +6 -6
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/registry.d.ts +6 -0
- package/dist/types/registry.d.ts.map +1 -1
- package/dist/types/registry.js +3 -1
- package/dist/types/registry.js.map +1 -1
- package/instructions/capabilities.md +4 -0
- package/instructions/cli.md +2 -0
- package/instructions/framework.md +49 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate-flow.js","sourceRoot":"","sources":["../../src/testing/simulate-flow.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,2EAA2E;AAC3E,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAyB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EACL,iBAAiB,EACjB,WAAW,GAGZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,iBAAiB,EAA2B,MAAM,cAAc,CAAC;AAgC1E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAoB,EACpB,KAAc,EACd,OAA6B;IAE7B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,GAAG,CAAC;IAE1C,qFAAqF;IACrF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1E,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,MAAM,QAAQ,GAAqB;QACjC,iBAAiB,EACf,OAAO,EAAE,QAAQ,EAAE,iBAAiB;YACpC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACd,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzC,OAAO,CACL,OAAO,EAAE,iBAAiB,EAAE,CAAC,IAAI,CAAC;oBAClC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;oBACjE,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,EAAE;iBACT,CACF,CAAC;YACJ,CAAC,CAAC;QACJ,iBAAiB,EACf,OAAO,EAAE,QAAQ,EAAE,iBAAiB;YACpC,CAAC,CAAC,UAAU,EAAE,EAAE;gBACd,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC1D,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;gBACtD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;KACL,CAAC;IAEF,oBAAoB;IACpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACtC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,4BAA4B;IAC5B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,OAAO,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI;YAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"simulate-flow.js","sourceRoot":"","sources":["../../src/testing/simulate-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/types/context.d.ts
CHANGED
|
@@ -1,19 +1,35 @@
|
|
|
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
|
+
import type { RegisteredAppConfig, RegisteredEntities, RegisteredEventName, RegisteredEventPayloadMap, RegisteredFlowName } from './registry.js';
|
|
5
5
|
import type { AuthContext } from './security.js';
|
|
6
6
|
import type { TranslationService } from './translation.js';
|
|
7
|
-
export interface
|
|
7
|
+
export interface QueryOptions {
|
|
8
|
+
/** Max rows to return (1–100). Omit for no limit. */
|
|
9
|
+
limit?: number;
|
|
10
|
+
/** Number of rows to skip (default 0) */
|
|
11
|
+
offset?: number;
|
|
12
|
+
/** Column name to sort by — validated against entity table columns */
|
|
13
|
+
orderBy?: string;
|
|
14
|
+
/** Sort direction (default 'desc') */
|
|
15
|
+
orderDir?: 'asc' | 'desc';
|
|
16
|
+
/** Date range filters: { columnName: { gte?: Date, lte?: Date } } */
|
|
17
|
+
dateFilters?: Record<string, {
|
|
18
|
+
gte?: Date;
|
|
19
|
+
lte?: Date;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export interface Repository<T = Record<string, any>, TCreate = Record<string, any>, TUpdate = Record<string, any>> {
|
|
8
23
|
findById(id: string): Promise<T | null>;
|
|
9
|
-
create(data:
|
|
10
|
-
update(id: string, updates:
|
|
24
|
+
create(data: TCreate): Promise<T>;
|
|
25
|
+
update(id: string, updates: TUpdate): Promise<T>;
|
|
11
26
|
delete(id: string): Promise<void>;
|
|
12
|
-
findMany(query?:
|
|
27
|
+
findMany(query?: Partial<T>, options?: QueryOptions): Promise<T[]>;
|
|
28
|
+
count(query?: Partial<T>, options?: Pick<QueryOptions, 'dateFilters'>): Promise<number>;
|
|
13
29
|
}
|
|
14
30
|
export type DataService = RegisteredEntities;
|
|
15
31
|
export interface EventService {
|
|
16
|
-
emit(eventName:
|
|
32
|
+
emit<E extends RegisteredEventName>(eventName: E, payload: RegisteredEventPayloadMap[E]): Promise<void>;
|
|
17
33
|
}
|
|
18
34
|
export interface FlowExecution {
|
|
19
35
|
id: string;
|
|
@@ -96,7 +112,7 @@ export interface LoggerService {
|
|
|
96
112
|
export interface TimeService {
|
|
97
113
|
now(): Date;
|
|
98
114
|
}
|
|
99
|
-
export type ConfigService =
|
|
115
|
+
export type ConfigService = RegisteredAppConfig;
|
|
100
116
|
export interface SecurityService {
|
|
101
117
|
/** Check if the current user has a specific role */
|
|
102
118
|
hasRole(role: string): boolean;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"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"}
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { ErrorCode } from './enums.js';
|
|
2
|
-
export interface
|
|
2
|
+
export interface PlumbusErrorLike {
|
|
3
3
|
code: ErrorCode;
|
|
4
4
|
message: string;
|
|
5
5
|
metadata?: Record<string, unknown>;
|
|
6
6
|
}
|
|
7
7
|
export interface ErrorService {
|
|
8
|
-
validation(message: string, metadata?: Record<string, unknown>):
|
|
9
|
-
notFound(message: string, metadata?: Record<string, unknown>):
|
|
10
|
-
forbidden(message: string, metadata?: Record<string, unknown>):
|
|
11
|
-
conflict(message: string, metadata?: Record<string, unknown>):
|
|
12
|
-
internal(message: string, metadata?: Record<string, unknown>):
|
|
8
|
+
validation(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
|
|
9
|
+
notFound(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
|
|
10
|
+
forbidden(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
|
|
11
|
+
conflict(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
|
|
12
|
+
internal(message: string, metadata?: Record<string, unknown>): PlumbusErrorLike;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAChF,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAAC;CACjF"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
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, AIGenerateResult, AIService, AIStreamEvent, AITokenUsage, ConfigService, DataService, EventService, ExecutionContext, FlowExecution, FlowService, LoggerService, Repository, RequestMeta, SecurityService, TimeService, } from './context.js';
|
|
4
|
+
export type { AIDocument, AIGenerateResult, AIService, AIStreamEvent, AITokenUsage, ConfigService, DataService, EventService, ExecutionContext, FlowExecution, FlowService, LoggerService, QueryOptions, 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
|
-
export type { ErrorService,
|
|
7
|
+
export type { ErrorService, PlumbusErrorLike } from './errors.js';
|
|
8
8
|
export type { EventDefinition, EventEnvelope } from './event.js';
|
|
9
9
|
export type { BaseFieldOptions, BooleanFieldDescriptor, EnumFieldDescriptor, FieldDescriptor, IdFieldDescriptor, JsonFieldDescriptor, NumberFieldDescriptor, RelationFieldDescriptor, StringFieldDescriptor, TimestampFieldDescriptor, } from './fields.js';
|
|
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
|
+
export type { PlumbusRegistry, RegisteredAppConfig, RegisteredCapabilityName, RegisteredEntities, RegisteredEventName, RegisteredEventPayloadMap, RegisteredFlowName, } from './registry.js';
|
|
14
14
|
export type { AccessPolicy, AuthContext } from './security.js';
|
|
15
15
|
export type { MessageCatalog, TranslationDefinition, TranslationResolver, TranslationService, } from './translation.js';
|
|
16
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,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,
|
|
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,YAAY,EACZ,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,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,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,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,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;AA4C9E,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"}
|
package/dist/types/registry.d.ts
CHANGED
|
@@ -13,4 +13,10 @@ export type RegisteredFlowName = PlumbusRegistry extends {
|
|
|
13
13
|
export type RegisteredEntities = PlumbusRegistry extends {
|
|
14
14
|
entities: infer E extends Record<string, Repository>;
|
|
15
15
|
} ? E : Record<string, Repository>;
|
|
16
|
+
export type RegisteredEventPayloadMap = PlumbusRegistry extends {
|
|
17
|
+
eventPayloads: infer M extends Record<string, unknown>;
|
|
18
|
+
} ? M : Record<string, unknown>;
|
|
19
|
+
export type RegisteredAppConfig = PlumbusRegistry extends {
|
|
20
|
+
appConfig: infer C extends Record<string, unknown>;
|
|
21
|
+
} ? C : Record<string, unknown>;
|
|
16
22
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":"AAkBA,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;AAE/B,MAAM,MAAM,yBAAyB,GAAG,eAAe,SAAS;IAC9D,aAAa,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxD,GACG,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAAG,eAAe,SAAS;IACxD,SAAS,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpD,GACG,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
|
package/dist/types/registry.js
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
// interface PlumbusRegistry {
|
|
7
7
|
// capabilityName: "getInvoice" | "createOrder";
|
|
8
8
|
// eventName: "user.created" | "order.completed";
|
|
9
|
+
// eventPayloads: { "user.created": { userId: string }; "order.completed": { orderId: string } };
|
|
9
10
|
// flowName: "onboardUser" | "processOrder";
|
|
10
|
-
// entities: { User: Repository<UserRecord>;
|
|
11
|
+
// entities: { User: Repository<UserRecord, UserCreateInput, UserUpdateInput>; ... };
|
|
12
|
+
// appConfig: { featureFlags: { newCheckout: boolean } };
|
|
11
13
|
// }
|
|
12
14
|
// }
|
|
13
15
|
//
|
|
@@ -1 +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,
|
|
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,uGAAuG;AACvG,kDAAkD;AAClD,2FAA2F;AAC3F,+DAA+D;AAC/D,QAAQ;AACR,MAAM;AACN,EAAE;AACF,6EAA6E;AAC7E,qFAAqF"}
|
|
@@ -140,6 +140,10 @@ These map to HTTP status codes: 400, 404, 403, 409, 500.
|
|
|
140
140
|
|
|
141
141
|
These are the **only** structured error types. If you need a custom error, use `ctx.errors.internal()` with a descriptive message.
|
|
142
142
|
|
|
143
|
+
Errors are `PlumbusError` instances (extends `Error`) with `code`, `message`, and optional `metadata`. They serialize to JSON via `toJSON()` and can be detected with `isPlumbusError()` (supports both `instanceof` and duck-type checks for cross-version compatibility).
|
|
144
|
+
|
|
145
|
+
**Do not** use `throw new Error(...)` in capability handlers — always use `ctx.errors.*()` for proper HTTP status mapping and structured error responses.
|
|
146
|
+
|
|
143
147
|
## Job Capabilities
|
|
144
148
|
|
|
145
149
|
Capabilities with `kind: "job"` are for long-running operations. They return immediately with a job handle, and the work executes asynchronously.
|
package/instructions/cli.md
CHANGED
|
@@ -166,3 +166,5 @@ export default async function (ctx: { sql: any; args: string[] }) {
|
|
|
166
166
|
- **Scaffolded files have TODOs**: After scaffolding, open the generated file and replace `// TODO` sections with your implementation.
|
|
167
167
|
- **`.plumbus/` is generated**: The `.plumbus/` directory contains auto-generated files. Don't edit them manually — they are regenerated by `plumbus generate`.
|
|
168
168
|
- **Use the framework's `define*()` functions**: Never create primitives by hand. Use the CLI to scaffold, then fill in the contracts using `defineEntity()`, `defineCapability()`, `defineFlow()`, `defineEvent()`, `definePrompt()`.
|
|
169
|
+
- **`plumbus ui generate` is safe to re-run**: It only regenerates contract-derived data files (`lib/client.ts`, `hooks/hooks.ts`, `lib/auth.ts`, `lib/form-hints.ts`, i18n). It never touches custom pages.
|
|
170
|
+
- **`plumbus ui nextjs` protects existing files**: Scaffold files (`page.tsx`, `layout.tsx`, `globals.css`, login, signup, etc.) are skipped if they already exist. Only contract-derived module files are overwritten. Use `--force` to overwrite scaffold files.
|
|
@@ -105,3 +105,52 @@ The framework provides common dependencies — **consumer apps must NOT install
|
|
|
105
105
|
| Watch mode | `plumbus test --watch` |
|
|
106
106
|
| Run e2e tests | `plumbus test --config frontend/e2e/vitest.config.e2e.ts` |
|
|
107
107
|
| Dev server | `plumbus dev` |
|
|
108
|
+
|
|
109
|
+
## Server Extensions (`app/server.ts`)
|
|
110
|
+
|
|
111
|
+
The optional `app/server.ts` file exports hooks that customize server behavior. The framework auto-discovers this file on `plumbus dev` and `plumbus start`.
|
|
112
|
+
|
|
113
|
+
### Available Hooks
|
|
114
|
+
|
|
115
|
+
| Hook | When it fires | Use for |
|
|
116
|
+
|------|--------------|---------|
|
|
117
|
+
| `onRoutesRegistered` | After capability routes are registered | Adding custom routes (e.g. streaming endpoints) |
|
|
118
|
+
| `onCapabilityError` | After a capability returns a non-success result | Logging capability failures to a system log table |
|
|
119
|
+
| `onFlowError` | After a flow fails permanently (retries exhausted) | Logging flow failures to a system log table |
|
|
120
|
+
| `onProcessError` | On uncaught exceptions, unhandled rejections, and Fastify-level errors | Logging process-level crashes that bypass capability/flow hooks |
|
|
121
|
+
| `resolveAiOverrides` | Before each AI call | Dynamic model/provider configuration from DB |
|
|
122
|
+
|
|
123
|
+
### Error Capture Coverage
|
|
124
|
+
|
|
125
|
+
The framework provides hooks for **every error category**:
|
|
126
|
+
|
|
127
|
+
| Error Type | Hook | Source Field |
|
|
128
|
+
|------------|------|-------------|
|
|
129
|
+
| Capability failure (handler throw, validation, access) | `onCapabilityError` | capability name, domain, error code |
|
|
130
|
+
| Flow permanent failure (retries exhausted) | `onFlowError` | flow name, step, execution ID |
|
|
131
|
+
| Uncaught exception (process crash) | `onProcessError` | `source: 'uncaughtException'` |
|
|
132
|
+
| Unhandled promise rejection | `onProcessError` | `source: 'unhandledRejection'` |
|
|
133
|
+
| Fastify request error (malformed request, timeout) | `onProcessError` | `source: 'fastify'` |
|
|
134
|
+
|
|
135
|
+
### Example: Full Error Logging
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
import type { ServerConfig } from '@plumbus/core';
|
|
139
|
+
|
|
140
|
+
// Capability errors
|
|
141
|
+
export const onCapabilityError: NonNullable<ServerConfig['onCapabilityError']> = async (info) => {
|
|
142
|
+
await db.insert({ level: 'error', message: `[${info.capabilityName}] ${info.errorMessage}`, source: 'backend' });
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
// Flow errors
|
|
146
|
+
export const onFlowError = async (info) => {
|
|
147
|
+
await db.insert({ level: 'error', message: `[flow:${info.flowName}] ${info.error}`, source: 'flow-engine' });
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// Process-level errors (uncaught exceptions, unhandled rejections, Fastify errors)
|
|
151
|
+
export const onProcessError: NonNullable<ServerConfig['onProcessError']> = async (info) => {
|
|
152
|
+
await db.insert({ level: 'error', message: `[${info.source}] ${info.message}`, stack: info.stack, source: 'backend' });
|
|
153
|
+
};
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
All hooks are fire-and-forget — exceptions inside hooks are caught and swallowed to prevent logging from breaking the application.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plumbus/core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Plumbus framework core — types, SDK, runtime, CLI, test utilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"drizzle-kit": "^0.31.9",
|
|
51
51
|
"drizzle-orm": "^0.45.1",
|
|
52
52
|
"fastify": "^5.8.2",
|
|
53
|
+
"jsonc-parser": "^3.3.1",
|
|
53
54
|
"playwright": "^1.52.0",
|
|
54
55
|
"postgres": "^3.4.8",
|
|
55
56
|
"tsx": "^4.19.0",
|