pipework 0.4.0 → 0.5.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/README.md +33 -60
- package/dist/audit/namespace.d.ts +2 -0
- package/dist/audit/namespace.d.ts.map +1 -1
- package/dist/audit/namespace.js +2 -0
- package/dist/audit/namespace.js.map +1 -1
- package/dist/auth/chain.d.ts +5 -0
- package/dist/auth/chain.d.ts.map +1 -1
- package/dist/auth/chain.js +1 -0
- package/dist/auth/chain.js.map +1 -1
- package/dist/auth/cookie.d.ts +6 -0
- package/dist/auth/cookie.d.ts.map +1 -1
- package/dist/auth/cookie.js +4 -0
- package/dist/auth/cookie.js.map +1 -1
- package/dist/auth/multi-org.d.ts +9 -0
- package/dist/auth/multi-org.d.ts.map +1 -1
- package/dist/auth/multi-org.js +1 -0
- package/dist/auth/multi-org.js.map +1 -1
- package/dist/auth/namespace.d.ts +8 -0
- package/dist/auth/namespace.d.ts.map +1 -1
- package/dist/auth/namespace.js +8 -0
- package/dist/auth/namespace.js.map +1 -1
- package/dist/auth/sessions.d.ts +6 -0
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/sessions.js +1 -0
- package/dist/auth/sessions.js.map +1 -1
- package/dist/auth/types.d.ts +4 -0
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/behavior/namespace.d.ts +5 -0
- package/dist/behavior/namespace.d.ts.map +1 -1
- package/dist/behavior/namespace.js +5 -0
- package/dist/behavior/namespace.js.map +1 -1
- package/dist/cache/namespace.d.ts +3 -0
- package/dist/cache/namespace.d.ts.map +1 -1
- package/dist/cache/namespace.js +3 -0
- package/dist/cache/namespace.js.map +1 -1
- package/dist/cli/commands/add.d.ts +2 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +98 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +40 -1
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +37 -1
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/install.d.ts +2 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +31 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/remove.d.ts +2 -0
- package/dist/cli/commands/remove.d.ts.map +1 -0
- package/dist/cli/commands/remove.js +60 -0
- package/dist/cli/commands/remove.js.map +1 -0
- package/dist/cli/commands/shared/find-config.d.ts +2 -0
- package/dist/cli/commands/shared/find-config.d.ts.map +1 -0
- package/dist/cli/commands/shared/find-config.js +19 -0
- package/dist/cli/commands/shared/find-config.js.map +1 -0
- package/dist/cli/commands/shared/load-config.d.ts +11 -0
- package/dist/cli/commands/shared/load-config.d.ts.map +1 -0
- package/dist/cli/commands/shared/load-config.js +25 -0
- package/dist/cli/commands/shared/load-config.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +2 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +28 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/dev-bootstrap.d.ts +2 -0
- package/dist/cli/dev-bootstrap.d.ts.map +1 -0
- package/dist/cli/dev-bootstrap.js +11 -0
- package/dist/cli/dev-bootstrap.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +31 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +20 -4
- package/dist/config/env.js.map +1 -1
- package/dist/config/namespace.d.ts +7 -0
- package/dist/config/namespace.d.ts.map +1 -1
- package/dist/config/namespace.js +5 -0
- package/dist/config/namespace.js.map +1 -1
- package/dist/config/schema.d.ts +2 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +6 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/context/types.d.ts +3 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/db/namespace.d.ts +25 -0
- package/dist/db/namespace.d.ts.map +1 -1
- package/dist/db/namespace.js +17 -6
- package/dist/db/namespace.js.map +1 -1
- package/dist/db/types.d.ts +4 -0
- package/dist/db/types.d.ts.map +1 -1
- package/dist/di/builder.d.ts +7 -2
- package/dist/di/builder.d.ts.map +1 -1
- package/dist/di/builder.js +20 -1
- package/dist/di/builder.js.map +1 -1
- package/dist/di/types.d.ts +19 -0
- package/dist/di/types.d.ts.map +1 -1
- package/dist/di/types.js +1 -0
- package/dist/di/types.js.map +1 -1
- package/dist/domain/brand.d.ts +19 -0
- package/dist/domain/brand.d.ts.map +1 -0
- package/dist/domain/brand.js +2 -0
- package/dist/domain/brand.js.map +1 -0
- package/dist/domain/define.d.ts +5 -0
- package/dist/domain/define.d.ts.map +1 -0
- package/dist/domain/define.js +62 -0
- package/dist/domain/define.js.map +1 -0
- package/dist/domain/field.d.ts +34 -0
- package/dist/domain/field.d.ts.map +1 -0
- package/dist/domain/field.js +111 -0
- package/dist/domain/field.js.map +1 -0
- package/dist/domain/index.d.ts +7 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +5 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/naming.d.ts +2 -0
- package/dist/domain/naming.d.ts.map +1 -0
- package/dist/domain/naming.js +7 -0
- package/dist/domain/naming.js.map +1 -0
- package/dist/domain/project-factory.d.ts +4 -0
- package/dist/domain/project-factory.d.ts.map +1 -0
- package/dist/domain/project-factory.js +136 -0
- package/dist/domain/project-factory.js.map +1 -0
- package/dist/domain/project-schema.d.ts +6 -0
- package/dist/domain/project-schema.d.ts.map +1 -0
- package/dist/domain/project-schema.js +118 -0
- package/dist/domain/project-schema.js.map +1 -0
- package/dist/domain/project-table.d.ts +30 -0
- package/dist/domain/project-table.d.ts.map +1 -0
- package/dist/domain/project-table.js +117 -0
- package/dist/domain/project-table.js.map +1 -0
- package/dist/domain/types.d.ts +68 -0
- package/dist/domain/types.d.ts.map +1 -0
- package/dist/{resource → domain}/types.js.map +1 -1
- package/dist/errors/namespace.d.ts +7 -0
- package/dist/errors/namespace.d.ts.map +1 -1
- package/dist/errors/namespace.js +7 -0
- package/dist/errors/namespace.js.map +1 -1
- package/dist/fitting/namespace.d.ts +2 -0
- package/dist/fitting/namespace.d.ts.map +1 -1
- package/dist/fitting/namespace.js +2 -0
- package/dist/fitting/namespace.js.map +1 -1
- package/dist/fixture/namespace.d.ts +8 -0
- package/dist/fixture/namespace.d.ts.map +1 -1
- package/dist/fixture/namespace.js +8 -0
- package/dist/fixture/namespace.js.map +1 -1
- package/dist/flow/namespace.d.ts +9 -0
- package/dist/flow/namespace.d.ts.map +1 -1
- package/dist/flow/namespace.js +9 -0
- package/dist/flow/namespace.js.map +1 -1
- package/dist/http/namespace.d.ts +2 -0
- package/dist/http/namespace.d.ts.map +1 -1
- package/dist/http/namespace.js +2 -0
- package/dist/http/namespace.js.map +1 -1
- package/dist/http/server.d.ts +2 -0
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +4 -1
- package/dist/http/server.js.map +1 -1
- package/dist/http/types.d.ts +13 -0
- package/dist/http/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jobs/cron.d.ts +1 -0
- package/dist/jobs/cron.d.ts.map +1 -1
- package/dist/jobs/cron.js.map +1 -1
- package/dist/jobs/namespace.d.ts +5 -0
- package/dist/jobs/namespace.d.ts.map +1 -1
- package/dist/jobs/namespace.js +5 -0
- package/dist/jobs/namespace.js.map +1 -1
- package/dist/jobs/queue.d.ts +5 -0
- package/dist/jobs/queue.d.ts.map +1 -1
- package/dist/jobs/queue.js +2 -1
- package/dist/jobs/queue.js.map +1 -1
- package/dist/lifecycle/namespace.d.ts +2 -0
- package/dist/lifecycle/namespace.d.ts.map +1 -1
- package/dist/lifecycle/namespace.js +2 -0
- package/dist/lifecycle/namespace.js.map +1 -1
- package/dist/log/namespace.d.ts +6 -0
- package/dist/log/namespace.d.ts.map +1 -1
- package/dist/log/namespace.js +6 -0
- package/dist/log/namespace.js.map +1 -1
- package/dist/openapi/namespace.d.ts +2 -0
- package/dist/openapi/namespace.d.ts.map +1 -1
- package/dist/openapi/namespace.js +2 -0
- package/dist/openapi/namespace.js.map +1 -1
- package/dist/pipeline/namespace.d.ts +4 -0
- package/dist/pipeline/namespace.d.ts.map +1 -1
- package/dist/pipeline/namespace.js +4 -0
- package/dist/pipeline/namespace.js.map +1 -1
- package/dist/pipework.d.ts +38 -0
- package/dist/pipework.d.ts.map +1 -1
- package/dist/pipework.js +100 -2
- package/dist/pipework.js.map +1 -1
- package/dist/rbac/index.d.ts +1 -0
- package/dist/rbac/index.d.ts.map +1 -1
- package/dist/rbac/index.js +1 -0
- package/dist/rbac/index.js.map +1 -1
- package/dist/rbac/namespace.d.ts +6 -0
- package/dist/rbac/namespace.d.ts.map +1 -1
- package/dist/rbac/namespace.js +6 -0
- package/dist/rbac/namespace.js.map +1 -1
- package/dist/schema/namespace.d.ts +10 -0
- package/dist/schema/namespace.d.ts.map +1 -1
- package/dist/schema/namespace.js +12 -4
- package/dist/schema/namespace.js.map +1 -1
- package/dist/schema/types.d.ts +2 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/state-machine/namespace.d.ts +4 -0
- package/dist/state-machine/namespace.d.ts.map +1 -1
- package/dist/state-machine/namespace.js +4 -0
- package/dist/state-machine/namespace.js.map +1 -1
- package/dist/surface/http.d.ts +3 -0
- package/dist/surface/http.d.ts.map +1 -0
- package/dist/surface/http.js +84 -0
- package/dist/surface/http.js.map +1 -0
- package/dist/surface/index.d.ts +7 -0
- package/dist/surface/index.d.ts.map +1 -0
- package/dist/surface/index.js +6 -0
- package/dist/surface/index.js.map +1 -0
- package/dist/surface/namespace.d.ts +13 -0
- package/dist/surface/namespace.d.ts.map +1 -0
- package/dist/surface/namespace.js +13 -0
- package/dist/surface/namespace.js.map +1 -0
- package/dist/surface/script.d.ts +3 -0
- package/dist/surface/script.d.ts.map +1 -0
- package/dist/surface/script.js +24 -0
- package/dist/surface/script.js.map +1 -0
- package/dist/surface/start.d.ts +8 -0
- package/dist/surface/start.d.ts.map +1 -0
- package/dist/surface/start.js +64 -0
- package/dist/surface/start.js.map +1 -0
- package/dist/surface/types.d.ts +111 -0
- package/dist/surface/types.d.ts.map +1 -0
- package/dist/surface/types.js +2 -0
- package/dist/surface/types.js.map +1 -0
- package/dist/surface/validate.d.ts +5 -0
- package/dist/surface/validate.d.ts.map +1 -0
- package/dist/surface/validate.js +67 -0
- package/dist/surface/validate.js.map +1 -0
- package/dist/surface/worker.d.ts +3 -0
- package/dist/surface/worker.d.ts.map +1 -0
- package/dist/surface/worker.js +151 -0
- package/dist/surface/worker.js.map +1 -0
- package/dist/temporal/namespace.d.ts +8 -0
- package/dist/temporal/namespace.d.ts.map +1 -1
- package/dist/temporal/namespace.js +8 -0
- package/dist/temporal/namespace.js.map +1 -1
- package/dist/tenant/namespace.d.ts +9 -0
- package/dist/tenant/namespace.d.ts.map +1 -1
- package/dist/tenant/namespace.js +9 -0
- package/dist/tenant/namespace.js.map +1 -1
- package/dist/tenant/types.d.ts +2 -0
- package/dist/tenant/types.d.ts.map +1 -1
- package/dist/test/auto-setup.js +2 -1
- package/dist/test/auto-setup.js.map +1 -1
- package/dist/test/index.d.ts +2 -1
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +2 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/plugin.d.ts +5 -0
- package/dist/test/plugin.d.ts.map +1 -1
- package/dist/test/plugin.js +5 -0
- package/dist/test/plugin.js.map +1 -1
- package/dist/test/vitest-config.d.ts +2 -0
- package/dist/test/vitest-config.d.ts.map +1 -1
- package/dist/test/vitest-config.js +5 -2
- package/dist/test/vitest-config.js.map +1 -1
- package/dist/test/vitest-plugin.d.ts +3 -1
- package/dist/test/vitest-plugin.d.ts.map +1 -1
- package/dist/test/vitest-plugin.js +3 -2
- package/dist/test/vitest-plugin.js.map +1 -1
- package/dist/test/vitest.d.ts +2 -0
- package/dist/test/vitest.d.ts.map +1 -1
- package/dist/test/vitest.js +48 -4
- package/dist/test/vitest.js.map +1 -1
- package/dist/validation/connectivity.d.ts +4 -0
- package/dist/validation/connectivity.d.ts.map +1 -0
- package/dist/validation/connectivity.js +32 -0
- package/dist/validation/connectivity.js.map +1 -0
- package/dist/validation/domain.d.ts +4 -0
- package/dist/validation/domain.d.ts.map +1 -0
- package/dist/validation/domain.js +72 -0
- package/dist/validation/domain.js.map +1 -0
- package/dist/validation/index.d.ts +6 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +6 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/startup.d.ts +12 -0
- package/dist/validation/startup.d.ts.map +1 -0
- package/dist/validation/startup.js +19 -0
- package/dist/validation/startup.js.map +1 -0
- package/dist/validation/surface.d.ts +4 -0
- package/dist/validation/surface.d.ts.map +1 -0
- package/dist/validation/surface.js +55 -0
- package/dist/validation/surface.js.map +1 -0
- package/dist/validation/types.d.ts +13 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +13 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/vector/namespace.d.ts +11 -0
- package/dist/vector/namespace.d.ts.map +1 -1
- package/dist/vector/namespace.js +11 -0
- package/dist/vector/namespace.js.map +1 -1
- package/dist/webhook/namespace.d.ts +7 -0
- package/dist/webhook/namespace.d.ts.map +1 -1
- package/dist/webhook/namespace.js +7 -0
- package/dist/webhook/namespace.js.map +1 -1
- package/dist/workspace/checksum.d.ts +4 -0
- package/dist/workspace/checksum.d.ts.map +1 -0
- package/dist/workspace/checksum.js +20 -0
- package/dist/workspace/checksum.js.map +1 -0
- package/dist/workspace/discover.d.ts +6 -0
- package/dist/workspace/discover.d.ts.map +1 -0
- package/dist/workspace/discover.js +43 -0
- package/dist/workspace/discover.js.map +1 -0
- package/dist/workspace/generate.d.ts +17 -0
- package/dist/workspace/generate.d.ts.map +1 -0
- package/dist/workspace/generate.js +153 -0
- package/dist/workspace/generate.js.map +1 -0
- package/dist/workspace/index.d.ts +5 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +5 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/sync.d.ts +18 -0
- package/dist/workspace/sync.d.ts.map +1 -0
- package/dist/workspace/sync.js +58 -0
- package/dist/workspace/sync.js.map +1 -0
- package/package.json +7 -1
- package/dist/drizzle/index.d.ts +0 -3
- package/dist/drizzle/index.d.ts.map +0 -1
- package/dist/drizzle/index.js +0 -3
- package/dist/drizzle/index.js.map +0 -1
- package/dist/resource/batch.d.ts +0 -17
- package/dist/resource/batch.d.ts.map +0 -1
- package/dist/resource/batch.js +0 -47
- package/dist/resource/batch.js.map +0 -1
- package/dist/resource/builder.d.ts +0 -11
- package/dist/resource/builder.d.ts.map +0 -1
- package/dist/resource/builder.js +0 -12
- package/dist/resource/builder.js.map +0 -1
- package/dist/resource/errors.d.ts +0 -7
- package/dist/resource/errors.d.ts.map +0 -1
- package/dist/resource/errors.js +0 -9
- package/dist/resource/errors.js.map +0 -1
- package/dist/resource/index.d.ts +0 -9
- package/dist/resource/index.d.ts.map +0 -1
- package/dist/resource/index.js +0 -6
- package/dist/resource/index.js.map +0 -1
- package/dist/resource/paginate.d.ts +0 -13
- package/dist/resource/paginate.d.ts.map +0 -1
- package/dist/resource/paginate.js +0 -29
- package/dist/resource/paginate.js.map +0 -1
- package/dist/resource/register.d.ts +0 -16
- package/dist/resource/register.d.ts.map +0 -1
- package/dist/resource/register.js +0 -181
- package/dist/resource/register.js.map +0 -1
- package/dist/resource/types.d.ts +0 -69
- package/dist/resource/types.d.ts.map +0 -1
- package/dist/trunk.d.ts +0 -35
- package/dist/trunk.d.ts.map +0 -1
- package/dist/trunk.js +0 -102
- package/dist/trunk.js.map +0 -1
- /package/dist/{resource → domain}/types.js +0 -0
package/dist/cli/index.js
CHANGED
|
@@ -6,12 +6,16 @@ ${bold('pipework')} — TypeScript framework for multi-tenant SaaS
|
|
|
6
6
|
|
|
7
7
|
${bold('Commands:')}
|
|
8
8
|
init Scaffold pipework.config.ts and migrations directory
|
|
9
|
+
sync Generate workspace files (package.json, pnpm-workspace.yaml)
|
|
10
|
+
install Sync workspace + pnpm install
|
|
11
|
+
add <pkg@ver> Add dependency to config, sync, and install
|
|
12
|
+
remove <pkg> Remove dependency from config, sync, and install
|
|
9
13
|
generate Generate SQL migrations from Drizzle schema changes
|
|
10
14
|
migrate Run pending migrations for all databases
|
|
11
15
|
run <script> Execute a script with database context
|
|
12
16
|
test Run tests with automatic database setup
|
|
13
17
|
check Type-check, lint, and boundary enforcement
|
|
14
|
-
dev Start
|
|
18
|
+
dev Start all surfaces with file watching
|
|
15
19
|
|
|
16
20
|
${bold('Options:')}
|
|
17
21
|
--help, -h Show this help message
|
|
@@ -25,11 +29,15 @@ ${bold('Options:')}
|
|
|
25
29
|
|
|
26
30
|
${bold('Examples:')}
|
|
27
31
|
pipework init
|
|
32
|
+
pipework add stripe@^17.0.0
|
|
33
|
+
pipework remove stripe
|
|
28
34
|
pipework generate --name add-users
|
|
29
35
|
pipework generate --db app
|
|
30
36
|
pipework migrate --db app
|
|
31
37
|
pipework migrate --confirm # required in production
|
|
38
|
+
pipework dev
|
|
32
39
|
pipework dev --port 4000
|
|
40
|
+
pipework dev --entry src/server.ts
|
|
33
41
|
pipework run ./scripts/seed.ts
|
|
34
42
|
pipework run ./scripts/backfill.ts --tenant t-123
|
|
35
43
|
pipework test
|
|
@@ -75,6 +83,28 @@ export async function run(argv) {
|
|
|
75
83
|
await init(cwd);
|
|
76
84
|
break;
|
|
77
85
|
}
|
|
86
|
+
case 'sync': {
|
|
87
|
+
const { syncCommand } = await import('./commands/sync.js');
|
|
88
|
+
await syncCommand(cwd);
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
case 'install': {
|
|
92
|
+
const { install } = await import('./commands/install.js');
|
|
93
|
+
await install(cwd);
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
case 'add': {
|
|
97
|
+
const pkgs = positionals.slice(1);
|
|
98
|
+
const { add: addCmd } = await import('./commands/add.js');
|
|
99
|
+
await addCmd(cwd, pkgs);
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
case 'remove': {
|
|
103
|
+
const pkgs = positionals.slice(1);
|
|
104
|
+
const { remove: removeCmd } = await import('./commands/remove.js');
|
|
105
|
+
await removeCmd(cwd, pkgs);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
78
108
|
case 'generate': {
|
|
79
109
|
const { generate } = await import('./commands/generate.js');
|
|
80
110
|
await generate({
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,KAAK,GAAG;EACZ,IAAI,CAAC,UAAU,CAAC;;EAEhB,IAAI,CAAC,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/config/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAM/C"}
|
package/dist/config/env.js
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import { readFileSync, existsSync } from 'node:fs';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
2
|
+
import { resolve, dirname } from 'node:path';
|
|
3
3
|
export function loadEnvFiles(cwd) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
loadFile(resolve(
|
|
4
|
+
const start = cwd ?? process.cwd();
|
|
5
|
+
const envDir = findEnvDir(start) ?? start;
|
|
6
|
+
loadFile(resolve(envDir, '.env.test'));
|
|
7
|
+
loadFile(resolve(envDir, '.env'));
|
|
8
|
+
}
|
|
9
|
+
function findEnvDir(from) {
|
|
10
|
+
let dir = resolve(from);
|
|
11
|
+
let parent = dirname(dir);
|
|
12
|
+
while (dir !== parent) {
|
|
13
|
+
if (existsSync(resolve(dir, '.env')) || existsSync(resolve(dir, '.env.test'))) {
|
|
14
|
+
return dir;
|
|
15
|
+
}
|
|
16
|
+
dir = parent;
|
|
17
|
+
parent = dirname(dir);
|
|
18
|
+
}
|
|
19
|
+
if (existsSync(resolve(dir, '.env')) || existsSync(resolve(dir, '.env.test'))) {
|
|
20
|
+
return dir;
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
7
23
|
}
|
|
8
24
|
function loadFile(path) {
|
|
9
25
|
if (!existsSync(path))
|
package/dist/config/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;IAEzC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,GAAG,GAAG,MAAM,CAAA;QACZ,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAM;IAE7B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAQ;QAEvD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAQ;QAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1C,IAAI,GAAG,KAAK,EAAE;YAAE,SAAQ;QAExB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAQ;QAE5C,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAC1B,CAAC;AACH,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { loadConfig, ConfigError } from './index.js';
|
|
2
2
|
import { discoverInstance } from './discover.js';
|
|
3
|
+
/** Configuration namespace — loads and resolves Blueprint configs, discovers pipework.config.ts. */
|
|
3
4
|
export declare const config: {
|
|
5
|
+
/** Parses and resolves a raw Blueprint into a ResolvedConfig with environment detection. */
|
|
4
6
|
load: typeof loadConfig;
|
|
7
|
+
/** Walks up from cwd to find pipework.config.ts, imports it, and returns the Manifold. */
|
|
5
8
|
discover: typeof discoverInstance;
|
|
9
|
+
/** The zod schema for Blueprint validation — useful for custom config tooling. */
|
|
6
10
|
configSchema: import("zod").ZodObject<{
|
|
7
11
|
databases: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
|
|
8
12
|
url: import("zod").ZodString;
|
|
@@ -16,6 +20,8 @@ export declare const config: {
|
|
|
16
20
|
idleTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
17
21
|
}, import("zod/v4/core").$strip>>;
|
|
18
22
|
}, import("zod/v4/core").$strip>>;
|
|
23
|
+
dependencies: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
|
|
24
|
+
modules: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>]>>;
|
|
19
25
|
environment: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
20
26
|
development: "development";
|
|
21
27
|
test: "test";
|
|
@@ -67,6 +73,7 @@ export declare const config: {
|
|
|
67
73
|
defaults: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
|
|
68
74
|
}, import("zod/v4/core").$strip>], "type">>>;
|
|
69
75
|
}, import("zod/v4/core").$strip>;
|
|
76
|
+
/** Thrown for configuration problems — includes a suggestion for how to fix. */
|
|
70
77
|
ConfigError: typeof ConfigError;
|
|
71
78
|
};
|
|
72
79
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,oGAAoG;AACpG,eAAO,MAAM,MAAM;IACjB,4FAA4F;;IAE5F,0FAA0F;;IAE1F,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAElF,gFAAgF;;CAEjF,CAAA"}
|
package/dist/config/namespace.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { loadConfig, trunkConfigSchema, ConfigError } from './index.js';
|
|
2
2
|
import { discoverInstance } from './discover.js';
|
|
3
|
+
/** Configuration namespace — loads and resolves Blueprint configs, discovers pipework.config.ts. */
|
|
3
4
|
export const config = {
|
|
5
|
+
/** Parses and resolves a raw Blueprint into a ResolvedConfig with environment detection. */
|
|
4
6
|
load: loadConfig,
|
|
7
|
+
/** Walks up from cwd to find pipework.config.ts, imports it, and returns the Manifold. */
|
|
5
8
|
discover: discoverInstance,
|
|
9
|
+
/** The zod schema for Blueprint validation — useful for custom config tooling. */
|
|
6
10
|
configSchema: trunkConfigSchema,
|
|
11
|
+
/** Thrown for configuration problems — includes a suggestion for how to fix. */
|
|
7
12
|
ConfigError,
|
|
8
13
|
};
|
|
9
14
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,iBAAiB;IAC/B,WAAW;CACZ,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,oGAAoG;AACpG,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,4FAA4F;IAC5F,IAAI,EAAE,UAAU;IAChB,0FAA0F;IAC1F,QAAQ,EAAE,gBAAgB;IAC1B,kFAAkF;IAClF,YAAY,EAAE,iBAAiB;IAC/B,gFAAgF;IAChF,WAAW;CACZ,CAAA"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -53,6 +53,8 @@ export declare const trunkConfigSchema: z.ZodObject<{
|
|
|
53
53
|
idleTimeout: z.ZodOptional<z.ZodNumber>;
|
|
54
54
|
}, z.core.$strip>>;
|
|
55
55
|
}, z.core.$strip>>;
|
|
56
|
+
dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
57
|
+
modules: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
|
|
56
58
|
environment: z.ZodOptional<z.ZodEnum<{
|
|
57
59
|
development: "development";
|
|
58
60
|
test: "test";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,QAAA,MAAM,cAAc;;;;;;;;;;;iBAWlB,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;EAAmD,CAAA;AAE9E,QAAA,MAAM,UAAU;;;;;;;;;;;;;iBAKd,CAAA;AAEF,QAAA,MAAM,iBAAiB;;;;EAAgD,CAAA;AAEvE,QAAA,MAAM,mBAAmB;;;;iBAIvB,CAAA;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,QAAA,MAAM,cAAc;;;;;;;;;;;iBAWlB,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;EAAmD,CAAA;AAE9E,QAAA,MAAM,UAAU;;;;;;;;;;;;;iBAKd,CAAA;AAEF,QAAA,MAAM,iBAAiB;;;;EAAgD,CAAA;AAEvE,QAAA,MAAM,mBAAmB;;;;iBAIvB,CAAA;AAcF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AACnD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACrE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
|
package/dist/config/schema.js
CHANGED
|
@@ -30,8 +30,14 @@ const envVarDefSchema = z.discriminatedUnion('type', [
|
|
|
30
30
|
z.object({ type: z.literal('boolean'), required: z.boolean().optional(), default: z.boolean().optional(), sensitive: z.boolean().optional(), defaults: z.record(z.string(), z.string()).optional() }),
|
|
31
31
|
z.object({ type: z.literal('string[]'), separator: z.string().optional(), required: z.boolean().optional(), default: z.array(z.string()).optional(), sensitive: z.boolean().optional(), defaults: z.record(z.string(), z.string()).optional() }),
|
|
32
32
|
]);
|
|
33
|
+
const modulesSchema = z.union([
|
|
34
|
+
z.string().describe('Glob pattern for module directories (e.g. "packages/*")'),
|
|
35
|
+
z.record(z.string(), z.string()).describe('Explicit map of module name → directory path'),
|
|
36
|
+
]);
|
|
33
37
|
export const trunkConfigSchema = z.object({
|
|
34
38
|
databases: z.record(z.string(), databaseSchema),
|
|
39
|
+
dependencies: z.record(z.string(), z.string()).optional().describe('App-wide runtime dependencies (package name → version range)'),
|
|
40
|
+
modules: modulesSchema.optional().describe('Module directories — glob pattern or explicit map'),
|
|
35
41
|
environment: environmentSchema.optional(),
|
|
36
42
|
test: testSchema.optional(),
|
|
37
43
|
observability: observabilitySchema.optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/context/types.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { DB } from '../db/index.js';
|
|
2
2
|
import type { Manifold } from '../pipework.js';
|
|
3
|
+
/** A transaction bound to a specific context nonce and tenant — defense-in-depth against ALS context swaps. */
|
|
3
4
|
export interface BoundTransaction {
|
|
4
5
|
readonly drizzle: DB;
|
|
5
6
|
readonly nonce: string;
|
|
6
7
|
readonly tenant: string | null;
|
|
7
8
|
}
|
|
9
|
+
/** The AsyncLocalStorage context — carries requestId, auth, tenant, active transactions, and a nonce for integrity checks. */
|
|
8
10
|
export interface Flow<TAuth = unknown> {
|
|
9
11
|
readonly instance: Manifold;
|
|
10
12
|
readonly requestId: string;
|
|
@@ -15,6 +17,7 @@ export interface Flow<TAuth = unknown> {
|
|
|
15
17
|
readonly jobType: string | null;
|
|
16
18
|
readonly transactions: Map<string, BoundTransaction>;
|
|
17
19
|
}
|
|
20
|
+
/** HTTP request metadata stored in a Flow — method, path, trace ID, session ID. */
|
|
18
21
|
export interface RequestMetadata {
|
|
19
22
|
readonly method: string;
|
|
20
23
|
readonly path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,IAAI,CAAC,KAAK,GAAG,OAAO;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,+GAA+G;AAC/G,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,8HAA8H;AAC9H,MAAM,WAAW,IAAI,CAAC,KAAK,GAAG,OAAO;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACrD;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC"}
|
package/dist/db/namespace.d.ts
CHANGED
|
@@ -3,12 +3,35 @@ import { pipe as getDb } from './db.js';
|
|
|
3
3
|
import { migrateAll, migrateOne } from '../migrate/index.js';
|
|
4
4
|
import * as introspection from './generated/drizzle-orm/introspection.js';
|
|
5
5
|
import * as relationOps from './generated/drizzle-orm/relation.js';
|
|
6
|
+
import { define, definitions } from '../domain/index.js';
|
|
6
7
|
export type { DB, SQL, Table, Column } from './types.js';
|
|
8
|
+
/** Query operators and aggregates — eq, gt, lt, and, or, count, sum, etc. */
|
|
7
9
|
export { filter } from './filter.js';
|
|
10
|
+
/** Database accessor — returns a Drizzle DB instance scoped to the current request/job/test context. Requires active AsyncLocalStorage context. */
|
|
8
11
|
export declare const pipe: typeof getDb & {
|
|
12
|
+
/** SQL template tag for raw SQL expressions — pipe.sql\`NOW()\`. */
|
|
9
13
|
sql: typeof sql;
|
|
14
|
+
/** Runs migrations for all configured databases. */
|
|
10
15
|
migrate: typeof migrateAll;
|
|
16
|
+
/** Runs migrations for a single named database. */
|
|
11
17
|
migrateOne: typeof migrateOne;
|
|
18
|
+
/** Field builders for domain definitions — uuid(), text(), integer(), etc. */
|
|
19
|
+
field: {
|
|
20
|
+
uuid(): import("../domain/types.js").FieldDescriptor<string> & import("../domain/field.js").FieldModifiers<string>;
|
|
21
|
+
text(): import("../domain/types.js").FieldDescriptor<string> & import("../domain/field.js").FieldModifiers<string>;
|
|
22
|
+
integer(): import("../domain/types.js").FieldDescriptor<number> & import("../domain/field.js").FieldModifiers<number>;
|
|
23
|
+
bigint(): import("../domain/types.js").FieldDescriptor<bigint> & import("../domain/field.js").FieldModifiers<bigint>;
|
|
24
|
+
boolean(): import("../domain/types.js").FieldDescriptor<boolean> & import("../domain/field.js").FieldModifiers<boolean>;
|
|
25
|
+
timestamp(): import("../domain/types.js").FieldDescriptor<Date> & import("../domain/field.js").FieldModifiers<Date>;
|
|
26
|
+
enum<const V extends readonly [string, ...string[]]>(values: V): import("../domain/types.js").FieldDescriptor<V[number]> & import("../domain/field.js").FieldModifiers<V[number]>;
|
|
27
|
+
jsonb<S extends import("zod").ZodType>(shape: S): import("../domain/types.js").FieldDescriptor<import("zod").infer<S>> & import("../domain/field.js").FieldModifiers<import("zod").infer<S>>;
|
|
28
|
+
decimal(): import("../domain/types.js").FieldDescriptor<string> & import("../domain/field.js").FieldModifiers<string>;
|
|
29
|
+
custom<S extends import("zod").ZodType>(column: unknown, validator: S): import("../domain/types.js").FieldDescriptor<import("zod").infer<S>> & import("../domain/field.js").FieldModifiers<import("zod").infer<S>>;
|
|
30
|
+
};
|
|
31
|
+
/** Registers a domain definition with table, validators, and factory projections. */
|
|
32
|
+
define: typeof define;
|
|
33
|
+
/** Returns the global registry of all domain definitions. */
|
|
34
|
+
definitions: typeof definitions;
|
|
12
35
|
createMany: typeof relationOps.createMany;
|
|
13
36
|
createOne: typeof relationOps.createOne;
|
|
14
37
|
relations: typeof relationOps.relations;
|
|
@@ -19,7 +42,9 @@ export declare const pipe: typeof getDb & {
|
|
|
19
42
|
getTableName: typeof introspection.getTableName;
|
|
20
43
|
getViewName: typeof introspection.getViewName;
|
|
21
44
|
getViewSelectedFields: typeof introspection.getViewSelectedFields;
|
|
45
|
+
/** Bypasses tenant scoping for admin/cross-tenant queries. Still requires ALS context. */
|
|
22
46
|
unscoped: (name?: string) => import("drizzle-orm/postgres-js/driver").PostgresJsDatabase;
|
|
47
|
+
/** Query operators and aggregates — eq, gt, lt, and, or, count, sum, etc. */
|
|
23
48
|
filter: {
|
|
24
49
|
readonly except: import("drizzle-orm/pg-core").PgCreateSetOperatorFn;
|
|
25
50
|
readonly exceptAll: import("drizzle-orm/pg-core").PgCreateSetOperatorFn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAI5D,OAAO,KAAK,aAAa,MAAM,0CAA0C,CAAA;AACzE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAGlE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAI5D,OAAO,KAAK,aAAa,MAAM,0CAA0C,CAAA;AACzE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAGlE,OAAO,EAAS,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAG/D,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,mJAAmJ;AACnJ,eAAO,MAAM,IAAI;IAaf,oEAAoE;;IAGpE,oDAAoD;;IAEpD,mDAAmD;;IAGnD,8EAA8E;;;;;;;;;;;;;IAE9E,qFAAqF;;IAErF,6DAA6D;;;;;;;;;;;;IAxB7D,0FAA0F;;IAG1F,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuB7E,CAAA"}
|
package/dist/db/namespace.js
CHANGED
|
@@ -5,20 +5,31 @@ import { filter } from './filter.js';
|
|
|
5
5
|
// Auto-generated re-export layers (scaffold-namespace tool)
|
|
6
6
|
import * as introspection from './generated/drizzle-orm/introspection.js';
|
|
7
7
|
import * as relationOps from './generated/drizzle-orm/relation.js';
|
|
8
|
+
// Domain definitions
|
|
9
|
+
import { field, define, definitions } from '../domain/index.js';
|
|
10
|
+
/** Query operators and aggregates — eq, gt, lt, and, or, count, sum, etc. */
|
|
8
11
|
export { filter } from './filter.js';
|
|
12
|
+
/** Database accessor — returns a Drizzle DB instance scoped to the current request/job/test context. Requires active AsyncLocalStorage context. */
|
|
9
13
|
export const pipe = Object.assign(getDb, {
|
|
10
|
-
|
|
14
|
+
/** Bypasses tenant scoping for admin/cross-tenant queries. Still requires ALS context. */
|
|
11
15
|
unscoped: getDb.unscoped,
|
|
12
|
-
|
|
16
|
+
/** Query operators and aggregates — eq, gt, lt, and, or, count, sum, etc. */
|
|
13
17
|
filter,
|
|
14
|
-
// Introspection
|
|
18
|
+
// Introspection — aliasedTable, aliasedRelation, getTableColumns, getTableName, getViewName, etc.
|
|
15
19
|
...introspection,
|
|
16
|
-
// Relations
|
|
20
|
+
// Relations — relations(), createOne(), createMany()
|
|
17
21
|
...relationOps,
|
|
18
|
-
|
|
22
|
+
/** SQL template tag for raw SQL expressions — pipe.sql\`NOW()\`. */
|
|
19
23
|
sql,
|
|
20
|
-
|
|
24
|
+
/** Runs migrations for all configured databases. */
|
|
21
25
|
migrate: migrateAll,
|
|
26
|
+
/** Runs migrations for a single named database. */
|
|
22
27
|
migrateOne,
|
|
28
|
+
/** Field builders for domain definitions — uuid(), text(), integer(), etc. */
|
|
29
|
+
field,
|
|
30
|
+
/** Registers a domain definition with table, validators, and factory projections. */
|
|
31
|
+
define,
|
|
32
|
+
/** Returns the global registry of all domain definitions. */
|
|
33
|
+
definitions,
|
|
23
34
|
});
|
|
24
35
|
//# sourceMappingURL=namespace.js.map
|
package/dist/db/namespace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,4DAA4D;AAC5D,OAAO,KAAK,aAAa,MAAM,0CAA0C,CAAA;AACzE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/db/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,4DAA4D;AAC5D,OAAO,KAAK,aAAa,MAAM,0CAA0C,CAAA;AACzE,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAElE,qBAAqB;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAK/D,6EAA6E;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,mJAAmJ;AACnJ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;IACvC,0FAA0F;IAC1F,QAAQ,EAAE,KAAK,CAAC,QAAQ;IAExB,6EAA6E;IAC7E,MAAM;IAEN,kGAAkG;IAClG,GAAG,aAAa;IAEhB,qDAAqD;IACrD,GAAG,WAAW;IAEd,oEAAoE;IACpE,GAAG;IAEH,oDAAoD;IACpD,OAAO,EAAE,UAAU;IACnB,mDAAmD;IACnD,UAAU;IAEV,8EAA8E;IAC9E,KAAK;IACL,qFAAqF;IACrF,MAAM;IACN,6DAA6D;IAC7D,WAAW;CACZ,CAAC,CAAA"}
|
package/dist/db/types.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { SQL as _SQL } from 'drizzle-orm';
|
|
2
2
|
import type { PgTable, PgColumn } from 'drizzle-orm/pg-core';
|
|
3
|
+
/** Drizzle database instance — use pipe() to get one inside a managed context. */
|
|
3
4
|
export type { PostgresJsDatabase as DB } from 'drizzle-orm/postgres-js';
|
|
5
|
+
/** SQL expression type — created by pipe.sql template tag or query operators. */
|
|
4
6
|
export type SQL<T = unknown> = _SQL<T>;
|
|
7
|
+
/** Drizzle table definition type — created by schema.table(). */
|
|
5
8
|
export type Table = PgTable;
|
|
9
|
+
/** Drizzle column type — created by schema.col.* builders. */
|
|
6
10
|
export type Column = PgColumn;
|
|
7
11
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/db/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE5D,YAAY,EAAE,kBAAkB,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAA;AACvE,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;AACtC,MAAM,MAAM,KAAK,GAAG,OAAO,CAAA;AAC3B,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/db/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE5D,kFAAkF;AAClF,YAAY,EAAE,kBAAkB,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAA;AACvE,iFAAiF;AACjF,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;AACtC,iEAAiE;AACjE,MAAM,MAAM,KAAK,GAAG,OAAO,CAAA;AAC3B,8DAA8D;AAC9D,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAA"}
|
package/dist/di/builder.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Schema, Infer } from '../schema/types.js';
|
|
2
2
|
import type { DB } from '../db/index.js';
|
|
3
|
-
import type { Handler, HttpMethod, RouteMeta, AuthRequirement, PermissionMeta } from './types.js';
|
|
3
|
+
import type { Handler, HttpMethod, RouteMeta, AuthRequirement, PermissionMeta, JobRetryConfig } from './types.js';
|
|
4
4
|
import type { ResourceOperations, Resource, PaginationConfig } from '../fixture/types.js';
|
|
5
5
|
import type { HttpRequest, HttpResponse } from '../http/types.js';
|
|
6
6
|
interface BuilderState {
|
|
@@ -13,6 +13,9 @@ interface BuilderState {
|
|
|
13
13
|
paramsSchema: Schema | null;
|
|
14
14
|
route: RouteMeta | null;
|
|
15
15
|
isJob: boolean;
|
|
16
|
+
jobType: string | null;
|
|
17
|
+
jobRetry: JobRetryConfig | null;
|
|
18
|
+
jobTimeout: number | null;
|
|
16
19
|
permission: PermissionMeta | null;
|
|
17
20
|
pagination: PaginationConfig | null;
|
|
18
21
|
wantsRequest: boolean;
|
|
@@ -44,7 +47,9 @@ export declare class Builder<TDeps extends Record<string, unknown>> {
|
|
|
44
47
|
}>;
|
|
45
48
|
output<T extends Schema>(_schema: T): Builder<TDeps>;
|
|
46
49
|
route(method: HttpMethod, path: string): Builder<TDeps>;
|
|
47
|
-
job(): Builder<TDeps>;
|
|
50
|
+
job(type?: string): Builder<TDeps>;
|
|
51
|
+
retry(config: JobRetryConfig): Builder<TDeps>;
|
|
52
|
+
timeout(ms: number): Builder<TDeps>;
|
|
48
53
|
permission(resource: string, action: string, scope?: string): Builder<TDeps>;
|
|
49
54
|
paginate(config?: {
|
|
50
55
|
defaultLimit?: number;
|
package/dist/di/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/di/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,EAAE,OAAO,EAAe,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/di/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/di/builder.js
CHANGED
|
@@ -13,6 +13,9 @@ export class Builder {
|
|
|
13
13
|
paramsSchema: state?.paramsSchema ?? null,
|
|
14
14
|
route: state?.route ?? null,
|
|
15
15
|
isJob: state?.isJob ?? false,
|
|
16
|
+
jobType: state?.jobType ?? null,
|
|
17
|
+
jobRetry: state?.jobRetry ?? null,
|
|
18
|
+
jobTimeout: state?.jobTimeout ?? null,
|
|
16
19
|
permission: state?.permission ?? null,
|
|
17
20
|
pagination: state?.pagination ?? null,
|
|
18
21
|
wantsRequest: state?.wantsRequest ?? false,
|
|
@@ -79,10 +82,23 @@ export class Builder {
|
|
|
79
82
|
route: { method, path },
|
|
80
83
|
});
|
|
81
84
|
}
|
|
82
|
-
job() {
|
|
85
|
+
job(type) {
|
|
83
86
|
return new Builder({
|
|
84
87
|
...this.state,
|
|
85
88
|
isJob: true,
|
|
89
|
+
jobType: type ?? null,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
retry(config) {
|
|
93
|
+
return new Builder({
|
|
94
|
+
...this.state,
|
|
95
|
+
jobRetry: config,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
timeout(ms) {
|
|
99
|
+
return new Builder({
|
|
100
|
+
...this.state,
|
|
101
|
+
jobTimeout: ms,
|
|
86
102
|
});
|
|
87
103
|
}
|
|
88
104
|
permission(resource, action, scope) {
|
|
@@ -144,6 +160,9 @@ export class Builder {
|
|
|
144
160
|
paramsSchema: this.state.paramsSchema,
|
|
145
161
|
route: this.state.route,
|
|
146
162
|
isJob: this.state.isJob,
|
|
163
|
+
jobType: this.state.jobType,
|
|
164
|
+
jobRetry: this.state.jobRetry,
|
|
165
|
+
jobTimeout: this.state.jobTimeout,
|
|
147
166
|
permission: this.state.permission,
|
|
148
167
|
wantsRequest: this.state.wantsRequest,
|
|
149
168
|
wantsResponse: this.state.wantsResponse,
|
package/dist/di/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/di/builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/di/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/di/types.d.ts
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import type { Schema } from '../schema/types.js';
|
|
2
2
|
import type { DB } from '../db/index.js';
|
|
3
|
+
import type { BackoffConfig } from '../jobs/queue.js';
|
|
4
|
+
/** The default database name constant ('default') used when pipe() is called without a name argument. */
|
|
3
5
|
export declare const DEFAULT_DB: "__pipework_default__";
|
|
6
|
+
/** Auth requirement level for a handler — 'required', 'optional', or 'public'. */
|
|
4
7
|
export type AuthRequirement = 'required' | 'optional' | 'none';
|
|
8
|
+
/** Permission requirement attached to a handler — resource, action, scope. */
|
|
5
9
|
export interface PermissionMeta {
|
|
6
10
|
readonly resource: string;
|
|
7
11
|
readonly action: string;
|
|
8
12
|
readonly scope?: string;
|
|
9
13
|
}
|
|
14
|
+
/** Retry configuration for job handlers — maxAttempts, backoff strategy, delay. */
|
|
15
|
+
export interface JobRetryConfig {
|
|
16
|
+
readonly attempts: number;
|
|
17
|
+
readonly backoff?: BackoffConfig;
|
|
18
|
+
}
|
|
19
|
+
/** Metadata attached to a handler — route info, auth requirements, input/output schemas, database names. */
|
|
10
20
|
export interface HandlerMeta {
|
|
11
21
|
readonly databases: readonly string[];
|
|
12
22
|
readonly requiresAuth: boolean;
|
|
@@ -17,21 +27,30 @@ export interface HandlerMeta {
|
|
|
17
27
|
readonly paramsSchema: Schema | null;
|
|
18
28
|
readonly route: RouteMeta | null;
|
|
19
29
|
readonly isJob: boolean;
|
|
30
|
+
readonly jobType: string | null;
|
|
31
|
+
readonly jobRetry: JobRetryConfig | null;
|
|
32
|
+
readonly jobTimeout: number | null;
|
|
20
33
|
readonly permission: PermissionMeta | null;
|
|
21
34
|
readonly wantsRequest: boolean;
|
|
22
35
|
readonly wantsResponse: boolean;
|
|
23
36
|
readonly wantsRawBody: boolean;
|
|
24
37
|
}
|
|
38
|
+
/** HTTP route metadata — method, path, and registered middleware. */
|
|
25
39
|
export interface RouteMeta {
|
|
26
40
|
readonly method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
27
41
|
readonly path: string;
|
|
28
42
|
}
|
|
43
|
+
/** HTTP method literal type — 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'. */
|
|
29
44
|
export type HttpMethod = RouteMeta['method'];
|
|
45
|
+
/** A resolved handler produced by fitting().fit() — carries metadata, dependencies, and the handler function. */
|
|
30
46
|
export interface Handler<TDeps extends Record<string, unknown>, TReturn> {
|
|
31
47
|
execute(deps: TDeps): Promise<TReturn>;
|
|
32
48
|
readonly meta: HandlerMeta;
|
|
33
49
|
}
|
|
50
|
+
/** Extracts the dependency type from a Handler — InferDeps<typeof myHandler> gives you the deps object shape. */
|
|
34
51
|
export type InferDeps<H> = H extends Handler<infer D, unknown> ? D : never;
|
|
52
|
+
/** Extracts the return type from a Handler — InferReturn<typeof myHandler> gives you the resolved return type. */
|
|
35
53
|
export type InferReturn<H> = H extends Handler<Record<string, unknown>, infer R> ? R : never;
|
|
54
|
+
/** Map of database names to their resolved DB instances for a handler. */
|
|
36
55
|
export type DatabaseDeps<N extends string> = Record<N, DB>;
|
|
37
56
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/di/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"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"}
|
package/dist/di/types.js
CHANGED
package/dist/di/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/di/types.ts"],"names":[],"mappings":"AAIA,yGAAyG;AACzG,MAAM,CAAC,MAAM,UAAU,GAAG,sBAA+B,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const __brand: unique symbol;
|
|
2
|
+
/** Phantom brand marker — attaches a nominal tag to a base type. */
|
|
3
|
+
export type Brand<B extends string> = {
|
|
4
|
+
readonly [__brand]: B;
|
|
5
|
+
};
|
|
6
|
+
/** Nominal type — `Branded<string, 'UserId'>` is not assignable to `Branded<string, 'PostId'>`. */
|
|
7
|
+
export type Branded<T, B extends string> = T & Brand<B>;
|
|
8
|
+
/** Extracts the phantom output type from a FieldDescriptor. */
|
|
9
|
+
export type InferFieldOutput<F> = F extends {
|
|
10
|
+
readonly _output?: infer O;
|
|
11
|
+
} ? O : unknown;
|
|
12
|
+
/** Projects field output types into a readonly record — used for DomainDefinition.Select. */
|
|
13
|
+
export type InferSelect<T extends Record<string, {
|
|
14
|
+
readonly _output?: unknown;
|
|
15
|
+
}>> = {
|
|
16
|
+
readonly [K in keyof T]: InferFieldOutput<T[K]>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=brand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/domain/brand.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,EAAE,OAAO,MAAM,CAAA;AAEpC,oEAAoE;AACpE,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAE,CAAA;AAE/D,mGAAmG;AACnG,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AAEvD,+DAA+D;AAC/D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,OAAO,CAAA;AAExF,6FAA6F;AAC7F,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,IAAI;IAClF,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChD,CAAA"}
|