pipework 0.4.1 → 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/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/index.d.ts.map +1 -1
- package/dist/cli/index.js +28 -0
- package/dist/cli/index.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/types.d.ts +11 -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 +1 -0
- package/dist/http/server.js.map +1 -1
- package/dist/http/types.d.ts +12 -0
- package/dist/http/types.d.ts.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 +4 -0
- package/dist/jobs/queue.d.ts.map +1 -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 +31 -0
- package/dist/pipework.d.ts.map +1 -1
- package/dist/pipework.js +15 -0
- 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 +2 -2
- package/dist/surface/http.d.ts.map +1 -1
- package/dist/surface/http.js +8 -2
- package/dist/surface/http.js.map +1 -1
- package/dist/surface/index.d.ts +1 -1
- package/dist/surface/index.d.ts.map +1 -1
- package/dist/surface/namespace.d.ts +4 -0
- package/dist/surface/namespace.d.ts.map +1 -1
- package/dist/surface/namespace.js +4 -0
- package/dist/surface/namespace.js.map +1 -1
- package/dist/surface/script.d.ts +2 -2
- package/dist/surface/script.d.ts.map +1 -1
- package/dist/surface/script.js +8 -2
- package/dist/surface/script.js.map +1 -1
- package/dist/surface/types.d.ts +4 -0
- package/dist/surface/types.d.ts.map +1 -1
- package/dist/surface/worker.d.ts +2 -2
- package/dist/surface/worker.d.ts.map +1 -1
- package/dist/surface/worker.js +8 -2
- package/dist/surface/worker.js.map +1 -1
- 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/index.d.ts +1 -0
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +1 -0
- package/dist/test/index.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/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/log/namespace.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { log as logProxy } from '../logging/proxy.js';
|
|
2
2
|
import { createPipeworkLogger, getLogger, getBaseLogger, setLoggingConfig, DEFAULT_REDACT_PATHS } from '../logging/logger.js';
|
|
3
|
+
/** Structured logger (Pino) — auto-binds requestId, tenantId, userId, sessionId from ALS context on every log call. */
|
|
3
4
|
export const log = Object.assign(logProxy, {
|
|
5
|
+
/** Creates a new PipeworkLogger instance with custom config (level, redaction, transport). */
|
|
4
6
|
create: createPipeworkLogger,
|
|
7
|
+
/** Returns the context-aware logger proxy (same as the log export itself). */
|
|
5
8
|
get: getLogger,
|
|
9
|
+
/** Returns the raw Pino logger without ALS context binding. */
|
|
6
10
|
getBase: getBaseLogger,
|
|
11
|
+
/** Sets global logging config (level, redaction paths, custom context fields). */
|
|
7
12
|
configure: setLoggingConfig,
|
|
13
|
+
/** Default redaction paths — password, secret, token, authorization, cookie, etc. */
|
|
8
14
|
REDACT_PATHS: DEFAULT_REDACT_PATHS,
|
|
9
15
|
});
|
|
10
16
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/log/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE7H,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,oBAAoB;IAC5B,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE,oBAAoB;CACnC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/log/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE7H,uHAAuH;AACvH,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;IACzC,8FAA8F;IAC9F,MAAM,EAAE,oBAAoB;IAC5B,8EAA8E;IAC9E,GAAG,EAAE,SAAS;IACd,+DAA+D;IAC/D,OAAO,EAAE,aAAa;IACtB,kFAAkF;IAClF,SAAS,EAAE,gBAAgB;IAC3B,qFAAqF;IACrF,YAAY,EAAE,oBAAoB;CACnC,CAAC,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { generateOpenAPI } from './generate.js';
|
|
2
|
+
/** OpenAPI spec generation namespace. */
|
|
2
3
|
export declare const openapi: {
|
|
4
|
+
/** Generates an OpenAPI 3.1 document from route registrations — schemas derived from fitting() input/output. */
|
|
3
5
|
generate: typeof generateOpenAPI;
|
|
4
6
|
};
|
|
5
7
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/openapi/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,eAAO,MAAM,OAAO;;
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/openapi/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,yCAAyC;AACzC,eAAO,MAAM,OAAO;IAClB,gHAAgH;;CAEjH,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { generateOpenAPI } from './generate.js';
|
|
2
|
+
/** OpenAPI spec generation namespace. */
|
|
2
3
|
export const openapi = {
|
|
4
|
+
/** Generates an OpenAPI 3.1 document from route registrations — schemas derived from fitting() input/output. */
|
|
3
5
|
generate: generateOpenAPI,
|
|
4
6
|
};
|
|
5
7
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/openapi/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,eAAe;CAC1B,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/openapi/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,gHAAgH;IAChH,QAAQ,EAAE,eAAe;CAC1B,CAAA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { definePipeline } from './define.js';
|
|
2
2
|
import { PipelineStepError, PipelineResumeError } from './errors.js';
|
|
3
|
+
/** Multi-step pipeline namespace — define, execute, pause, and resume ordered step sequences. */
|
|
3
4
|
export declare const pipeline: {
|
|
5
|
+
/** Defines a pipeline from a config of named steps with handlers. Returns a Pipeline with execute/resume/getStatus. */
|
|
4
6
|
define: typeof definePipeline;
|
|
7
|
+
/** Thrown when an individual pipeline step fails. */
|
|
5
8
|
PipelineStepError: typeof PipelineStepError;
|
|
9
|
+
/** Thrown when resuming a pipeline from an invalid state. */
|
|
6
10
|
PipelineResumeError: typeof PipelineResumeError;
|
|
7
11
|
};
|
|
8
12
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/pipeline/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEpE,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/pipeline/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEpE,iGAAiG;AACjG,eAAO,MAAM,QAAQ;IACnB,uHAAuH;;IAEvH,qDAAqD;;IAErD,6DAA6D;;CAE9D,CAAA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { definePipeline } from './define.js';
|
|
2
2
|
import { PipelineStepError, PipelineResumeError } from './errors.js';
|
|
3
|
+
/** Multi-step pipeline namespace — define, execute, pause, and resume ordered step sequences. */
|
|
3
4
|
export const pipeline = {
|
|
5
|
+
/** Defines a pipeline from a config of named steps with handlers. Returns a Pipeline with execute/resume/getStatus. */
|
|
4
6
|
define: definePipeline,
|
|
7
|
+
/** Thrown when an individual pipeline step fails. */
|
|
5
8
|
PipelineStepError,
|
|
9
|
+
/** Thrown when resuming a pipeline from an invalid state. */
|
|
6
10
|
PipelineResumeError,
|
|
7
11
|
};
|
|
8
12
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/pipeline/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEpE,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,cAAc;IACtB,iBAAiB;IACjB,mBAAmB;CACpB,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/pipeline/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEpE,iGAAiG;AACjG,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,uHAAuH;IACvH,MAAM,EAAE,cAAc;IACtB,qDAAqD;IACrD,iBAAiB;IACjB,6DAA6D;IAC7D,mBAAmB;CACpB,CAAA"}
|
package/dist/pipework.d.ts
CHANGED
|
@@ -5,39 +5,70 @@ import type { EnvDefs, ResolveEnvDefs } from './config/env-types.js';
|
|
|
5
5
|
import type { ManagedConnection } from './db/pool.js';
|
|
6
6
|
import type { Surface } from './surface/types.js';
|
|
7
7
|
import type { LifecycleConfig } from './lifecycle/types.js';
|
|
8
|
+
/** The application instance — holds config, connection pools, surfaces, and lifecycle. */
|
|
8
9
|
export interface Manifold<TEnv extends EnvDefs = EnvDefs> {
|
|
10
|
+
/** Resolved configuration derived from the Blueprint passed to createManifold. */
|
|
9
11
|
readonly config: ResolvedConfig;
|
|
12
|
+
/** Typed environment variables resolved from the `env` config field. */
|
|
10
13
|
readonly env: Readonly<ResolveEnvDefs<TEnv>>;
|
|
14
|
+
/** Database connection pool manager — use `pool.getOrCreate(config.database(name))` outside managed contexts. */
|
|
11
15
|
readonly pool: PoolState;
|
|
16
|
+
/** Test isolation lifecycle tracker — used internally by pipework/test. */
|
|
12
17
|
readonly isolation: IsolationState;
|
|
18
|
+
/** Connection leak detector — tracks active connections for assertNoLeaks(). */
|
|
13
19
|
readonly connections: ConnectionTracker;
|
|
20
|
+
/** Returns the names of all registered surfaces (http, worker, script). */
|
|
14
21
|
surfaceNames(): readonly string[];
|
|
22
|
+
/** Returns a copy of the surface map keyed by surface name. */
|
|
23
|
+
surfaceMap(): Readonly<Record<string, Surface>>;
|
|
24
|
+
/** Starts all surfaces and installs SIGTERM/SIGINT handlers. Throws if already started. */
|
|
15
25
|
start(): Promise<void>;
|
|
26
|
+
/** Gracefully shuts down surfaces, runs pre-shutdown hooks, and closes all pools. */
|
|
16
27
|
stop(): Promise<void>;
|
|
17
28
|
}
|
|
29
|
+
/** Manages database connection pools keyed by database name. */
|
|
18
30
|
export interface PoolState {
|
|
31
|
+
/** Returns existing pool or creates one for this database config. */
|
|
19
32
|
getOrCreate(config: ResolvedDatabase): ManagedConnection;
|
|
33
|
+
/** Returns pool by name, or undefined if not yet created. */
|
|
20
34
|
get(name: string): ManagedConnection | undefined;
|
|
35
|
+
/** Closes all managed connections. */
|
|
21
36
|
closeAll(): Promise<void>;
|
|
37
|
+
/** Number of active connection pools. */
|
|
22
38
|
count(): number;
|
|
23
39
|
}
|
|
40
|
+
/** Tracks test isolation lifecycle — detects leaked isolation contexts. */
|
|
24
41
|
export interface IsolationState {
|
|
42
|
+
/** Marks the start of an isolation context (e.g. BEGIN in a test). */
|
|
25
43
|
markBegin(): void;
|
|
44
|
+
/** Marks the end of an isolation context (e.g. ROLLBACK in a test). */
|
|
26
45
|
markEnd(): void;
|
|
46
|
+
/** Throws InvariantViolation if any isolation contexts are still active. */
|
|
27
47
|
assertClean(): void;
|
|
48
|
+
/** Returns counts of active, total begins, and total ends. */
|
|
28
49
|
stats(): {
|
|
29
50
|
active: number;
|
|
30
51
|
totalBegins: number;
|
|
31
52
|
totalEnds: number;
|
|
32
53
|
};
|
|
54
|
+
/** Resets all counters — only for test infrastructure. */
|
|
33
55
|
reset(): void;
|
|
34
56
|
}
|
|
57
|
+
/** Tracks active database connections for leak detection. */
|
|
35
58
|
export interface ConnectionTracker {
|
|
59
|
+
/** Records a new active connection with its origin context. */
|
|
36
60
|
track(id: string, name: string, context: string): void;
|
|
61
|
+
/** Marks a connection as released. */
|
|
37
62
|
release(id: string): void;
|
|
63
|
+
/** Number of currently tracked connections. */
|
|
38
64
|
activeCount(): number;
|
|
65
|
+
/** Throws InvariantViolation if active connections exceed maxExpected. */
|
|
39
66
|
assertNoLeaks(maxExpected: number): void;
|
|
40
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Creates the Pipework application instance. This is the entry point for every Pipework app.
|
|
70
|
+
* Define in `pipework.config.ts` and export as default.
|
|
71
|
+
*/
|
|
41
72
|
export declare function createManifold<const TEnv extends EnvDefs = EnvDefs>(raw: Omit<Blueprint, 'env'> & {
|
|
42
73
|
env?: TEnv | undefined;
|
|
43
74
|
surfaces?: Record<string, Surface>;
|
package/dist/pipework.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipework.d.ts","sourceRoot":"","sources":["../src/pipework.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAGrD,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,oBAAoB,CAAA;AAIjE,OAAO,KAAK,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"pipework.d.ts","sourceRoot":"","sources":["../src/pipework.ts"],"names":[],"mappings":"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"}
|
package/dist/pipework.js
CHANGED
|
@@ -4,6 +4,11 @@ import { InvariantViolation } from './invariants/assert.js';
|
|
|
4
4
|
import { startSurfaces } from './surface/start.js';
|
|
5
5
|
import { orchestrateStartup } from './lifecycle/startup.js';
|
|
6
6
|
import { getBaseLogger } from './logging/index.js';
|
|
7
|
+
import { validateStartup } from './validation/startup.js';
|
|
8
|
+
/**
|
|
9
|
+
* Creates the Pipework application instance. This is the entry point for every Pipework app.
|
|
10
|
+
* Define in `pipework.config.ts` and export as default.
|
|
11
|
+
*/
|
|
7
12
|
export function createManifold(raw) {
|
|
8
13
|
const { surfaces: surfacesDef, lifecycle: lifecycleDef, ...blueprintRaw } = raw;
|
|
9
14
|
const config = parseConfig(blueprintRaw);
|
|
@@ -23,6 +28,9 @@ export function createManifold(raw) {
|
|
|
23
28
|
surfaceNames() {
|
|
24
29
|
return Object.keys(surfaces);
|
|
25
30
|
},
|
|
31
|
+
surfaceMap() {
|
|
32
|
+
return { ...surfaces };
|
|
33
|
+
},
|
|
26
34
|
async start() {
|
|
27
35
|
if (running !== null) {
|
|
28
36
|
throw new Error('[pipework] Manifold is already started.\n\n' +
|
|
@@ -38,6 +46,13 @@ export function createManifold(raw) {
|
|
|
38
46
|
startupOpts.timeoutMs = lifecycleConfig.startupTimeoutMs;
|
|
39
47
|
}
|
|
40
48
|
await orchestrateStartup(manifold, startupOpts);
|
|
49
|
+
await validateStartup({
|
|
50
|
+
configuredDatabases: config.databaseNames(),
|
|
51
|
+
environment: config.environment,
|
|
52
|
+
surfaces,
|
|
53
|
+
defaultDbAvailable: config.databaseNames().length === 1,
|
|
54
|
+
databases: config.databases(),
|
|
55
|
+
});
|
|
41
56
|
const context = manifold;
|
|
42
57
|
running = await startSurfaces(context, config, surfaces);
|
|
43
58
|
signalCleanup = installSignalHandlers(manifold);
|
package/dist/pipework.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipework.js","sourceRoot":"","sources":["../src/pipework.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAI5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"pipework.js","sourceRoot":"","sources":["../src/pipework.ts"],"names":[],"mappings":"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"}
|
package/dist/rbac/index.d.ts
CHANGED
|
@@ -3,5 +3,6 @@ export type { RbacConfig, Rbac, PermissionSet, ResolvedPermission, Scope, SeedDa
|
|
|
3
3
|
export { hasPermission, scopeSatisfies } from './check.js';
|
|
4
4
|
export { PermissionCache } from './cache.js';
|
|
5
5
|
export { enforcePermission } from './middleware.js';
|
|
6
|
+
/** Creates an Rbac instance from role/permission config — provides check, enforce, and seed operations. */
|
|
6
7
|
export declare function createRbac(config: RbacConfig): Rbac;
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/rbac/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rbac/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAA2B,MAAM,YAAY,CAAA;AAM3E,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClK,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CA0BnD"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rbac/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAA2B,MAAM,YAAY,CAAA;AAM3E,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClK,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CA0BnD"}
|
package/dist/rbac/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { seedRbac } from './seed.js';
|
|
|
5
5
|
export { hasPermission, scopeSatisfies } from './check.js';
|
|
6
6
|
export { PermissionCache } from './cache.js';
|
|
7
7
|
export { enforcePermission } from './middleware.js';
|
|
8
|
+
/** Creates an Rbac instance from role/permission config — provides check, enforce, and seed operations. */
|
|
8
9
|
export function createRbac(config) {
|
|
9
10
|
const cache = new PermissionCache(config.cacheTtlMs ?? 60_000);
|
|
10
11
|
const scopes = config.scopes ?? ['own', 'team', 'territory', 'tenant'];
|
package/dist/rbac/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rbac/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEtE,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAM,EAAE,MAAc,EAAE,QAAgB,EAAE,WAAmB;YACzE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;YAEzB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YACxF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,WAA0B,EAAE,QAAgB,EAAE,MAAc,EAAE,aAAsB;YACxF,OAAO,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QACxF,CAAC;QAED,UAAU,CAAC,MAAc,EAAE,QAAgB;YACzC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,IAAc;YAC/B,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rbac/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,2GAA2G;AAC3G,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEtE,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAM,EAAE,MAAc,EAAE,QAAgB,EAAE,WAAmB;YACzE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;YAEzB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YACxF,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,WAA0B,EAAE,QAAgB,EAAE,MAAc,EAAE,aAAsB;YACxF,OAAO,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QACxF,CAAC;QAED,UAAU,CAAC,MAAc,EAAE,QAAgB;YACzC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,IAAc;YAC/B,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/rbac/namespace.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { createRbac, hasPermission, enforcePermission, scopeSatisfies, PermissionCache } from './index.js';
|
|
2
|
+
/** Role-based access control namespace — permission checking, enforcement, scope hierarchy. */
|
|
2
3
|
export declare const rbac: {
|
|
4
|
+
/** Creates an Rbac instance from config (roles, permissions, hierarchy). */
|
|
3
5
|
create: typeof createRbac;
|
|
6
|
+
/** Checks if a permission set includes the required resource/action/scope. Pure function, no DB. */
|
|
4
7
|
check: typeof hasPermission;
|
|
8
|
+
/** Checks permission and throws ForbiddenError if denied. Loads permissions from DB with caching. */
|
|
5
9
|
enforce: typeof enforcePermission;
|
|
10
|
+
/** Checks if a granted scope satisfies a required scope given a hierarchy (e.g. org > team > self). */
|
|
6
11
|
satisfies: typeof scopeSatisfies;
|
|
12
|
+
/** LRU cache for resolved permissions — avoids repeated DB lookups within a request. */
|
|
7
13
|
PermissionCache: typeof PermissionCache;
|
|
8
14
|
};
|
|
9
15
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/rbac/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE1G,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/rbac/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE1G,+FAA+F;AAC/F,eAAO,MAAM,IAAI;IACf,4EAA4E;;IAE5E,oGAAoG;;IAEpG,qGAAqG;;IAErG,uGAAuG;;IAEvG,wFAAwF;;CAEzF,CAAA"}
|
package/dist/rbac/namespace.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { createRbac, hasPermission, enforcePermission, scopeSatisfies, PermissionCache } from './index.js';
|
|
2
|
+
/** Role-based access control namespace — permission checking, enforcement, scope hierarchy. */
|
|
2
3
|
export const rbac = {
|
|
4
|
+
/** Creates an Rbac instance from config (roles, permissions, hierarchy). */
|
|
3
5
|
create: createRbac,
|
|
6
|
+
/** Checks if a permission set includes the required resource/action/scope. Pure function, no DB. */
|
|
4
7
|
check: hasPermission,
|
|
8
|
+
/** Checks permission and throws ForbiddenError if denied. Loads permissions from DB with caching. */
|
|
5
9
|
enforce: enforcePermission,
|
|
10
|
+
/** Checks if a granted scope satisfies a required scope given a hierarchy (e.g. org > team > self). */
|
|
6
11
|
satisfies: scopeSatisfies,
|
|
12
|
+
/** LRU cache for resolved permissions — avoids repeated DB lookups within a request. */
|
|
7
13
|
PermissionCache,
|
|
8
14
|
};
|
|
9
15
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/rbac/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE1G,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,cAAc;IACzB,eAAe;CAChB,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/rbac/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE1G,+FAA+F;AAC/F,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,4EAA4E;IAC5E,MAAM,EAAE,UAAU;IAClB,oGAAoG;IACpG,KAAK,EAAE,aAAa;IACpB,qGAAqG;IACrG,OAAO,EAAE,iBAAiB;IAC1B,uGAAuG;IACvG,SAAS,EAAE,cAAc;IACzB,wFAAwF;IACxF,eAAe;CAChB,CAAA"}
|
|
@@ -8,8 +8,11 @@ import * as idx from '../db/idx/index.js';
|
|
|
8
8
|
import * as schemaFeatures from '../db/schema-features.js';
|
|
9
9
|
export type { Schema, Infer } from './types.js';
|
|
10
10
|
export type { JsonSchema } from './json-schema.js';
|
|
11
|
+
/** Schema definition and validation namespace — wraps zod for validation, drizzle for table/column/index definitions. */
|
|
11
12
|
export declare const schema: {
|
|
13
|
+
/** Column type builders for table definitions — text, uuid, integer, timestamp, jsonb, boolean, varchar, etc. */
|
|
12
14
|
readonly col: typeof col;
|
|
15
|
+
/** Index and constraint builders — index, uniqueIndex, primaryKey, foreignKey, unique, check. */
|
|
13
16
|
readonly idx: typeof idx;
|
|
14
17
|
readonly table: import("drizzle-orm/pg-core").PgTableFn<undefined>;
|
|
15
18
|
readonly view: typeof schemaFeatures.view;
|
|
@@ -20,12 +23,19 @@ export declare const schema: {
|
|
|
20
23
|
readonly role: typeof schemaFeatures.role;
|
|
21
24
|
readonly tableCreator: typeof schemaFeatures.tableCreator;
|
|
22
25
|
readonly withReplicas: <HKT extends import("drizzle-orm/pg-core").PgQueryResultHKT, TFullSchema extends Record<string, unknown>, TSchema extends import("drizzle-orm").TablesRelationalConfig, Q extends import("drizzle-orm/pg-core").PgDatabase<HKT, TFullSchema, TSchema extends Record<string, unknown> ? import("drizzle-orm").ExtractTablesWithRelations<TFullSchema> : TSchema>>(primary: Q, replicas: [Q, ...Q[]], getReplica?: (replicas: Q[]) => Q) => import("drizzle-orm/pg-core").PgWithReplicas<Q>;
|
|
26
|
+
/** Validation sub-namespace — type constructors, combinators, formats, coerce, parse, tryParse, toJsonSchema, branded. */
|
|
23
27
|
readonly check: {
|
|
28
|
+
/** Enum schema from a list of string literals. */
|
|
24
29
|
readonly enum: typeof z.enum;
|
|
30
|
+
/** Coercion sub-namespace — coerce.number(), coerce.boolean(), etc. */
|
|
25
31
|
readonly coerce: typeof z.coerce;
|
|
32
|
+
/** Validates data against a schema, throws ValidationError with actionable message on failure. */
|
|
26
33
|
readonly parse: typeof parse;
|
|
34
|
+
/** Validates data, returns { success, data } or { success: false, error } without throwing. */
|
|
27
35
|
readonly tryParse: typeof tryParse;
|
|
36
|
+
/** Converts a schema to JSON Schema for OpenAPI or external validation. */
|
|
28
37
|
readonly toJsonSchema: typeof toJsonSchema;
|
|
38
|
+
/** Creates a branded type — nominal typing for IDs, slugs, etc. */
|
|
29
39
|
readonly branded: typeof branded;
|
|
30
40
|
readonly getErrorMap: typeof z.getErrorMap;
|
|
31
41
|
readonly setErrorMap: typeof z.setErrorMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/schema/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAM1B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAE1D,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/schema/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAM1B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAE1D,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAwBlD,yHAAyH;AACzH,eAAO,MAAM,MAAM;IAOjB,iHAAiH;;IAGjH,iGAAiG;;;;;;;;;;;IATjG,0HAA0H;;QAjB1H,kDAAkD;;QAElD,uEAAuE;;QAGvE,kGAAkG;;QAElG,+FAA+F;;QAE/F,2EAA2E;;QAE3E,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiB3D,CAAA"}
|
package/dist/schema/namespace.js
CHANGED
|
@@ -12,27 +12,35 @@ import { branded } from './branded.js';
|
|
|
12
12
|
import * as col from '../db/col/index.js';
|
|
13
13
|
import * as idx from '../db/idx/index.js';
|
|
14
14
|
import * as schemaFeatures from '../db/schema-features.js';
|
|
15
|
+
/** Validation sub-namespace — type constructors (string, number, object, array), combinators (union, intersection), formats (email, uuid), coerce, parse, tryParse, toJsonSchema, branded. */
|
|
15
16
|
const check = {
|
|
16
17
|
...typeConstructors,
|
|
17
18
|
...combinators,
|
|
18
19
|
...formats,
|
|
19
20
|
...encoding,
|
|
20
21
|
...errors,
|
|
22
|
+
/** Enum schema from a list of string literals. */
|
|
21
23
|
enum: z.enum,
|
|
24
|
+
/** Coercion sub-namespace — coerce.number(), coerce.boolean(), etc. */
|
|
22
25
|
coerce: z.coerce,
|
|
26
|
+
/** Validates data against a schema, throws ValidationError with actionable message on failure. */
|
|
23
27
|
parse,
|
|
28
|
+
/** Validates data, returns { success, data } or { success: false, error } without throwing. */
|
|
24
29
|
tryParse,
|
|
30
|
+
/** Converts a schema to JSON Schema for OpenAPI or external validation. */
|
|
25
31
|
toJsonSchema,
|
|
32
|
+
/** Creates a branded type — nominal typing for IDs, slugs, etc. */
|
|
26
33
|
branded,
|
|
27
34
|
};
|
|
35
|
+
/** Schema definition and validation namespace — wraps zod for validation, drizzle for table/column/index definitions. */
|
|
28
36
|
export const schema = {
|
|
29
|
-
|
|
37
|
+
/** Validation sub-namespace — type constructors, combinators, formats, coerce, parse, tryParse, toJsonSchema, branded. */
|
|
30
38
|
check,
|
|
31
|
-
// Table/view definition
|
|
39
|
+
// Table/view definition — table, view, materializedView, pgSchema, sequence, policy, role, tableCreator, withReplicas
|
|
32
40
|
...schemaFeatures,
|
|
33
|
-
|
|
41
|
+
/** Column type builders for table definitions — text, uuid, integer, timestamp, jsonb, boolean, varchar, etc. */
|
|
34
42
|
col,
|
|
35
|
-
|
|
43
|
+
/** Index and constraint builders — index, uniqueIndex, primaryKey, foreignKey, unique, check. */
|
|
36
44
|
idx,
|
|
37
45
|
};
|
|
38
46
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/schema/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,8DAA8D;AAC9D,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAK1D,MAAM,KAAK,GAAG;IACZ,GAAG,gBAAgB;IACnB,GAAG,WAAW;IACd,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,MAAM;IACT,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,MAAM,EAAE,CAAC,CAAC,MAAM;IAEhB,KAAK;IACL,QAAQ;IACR,YAAY;IACZ,OAAO;CACC,CAAA;AAEV,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/schema/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,8DAA8D;AAC9D,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAK1D,8LAA8L;AAC9L,MAAM,KAAK,GAAG;IACZ,GAAG,gBAAgB;IACnB,GAAG,WAAW;IACd,GAAG,OAAO;IACV,GAAG,QAAQ;IACX,GAAG,MAAM;IACT,kDAAkD;IAClD,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,uEAAuE;IACvE,MAAM,EAAE,CAAC,CAAC,MAAM;IAEhB,kGAAkG;IAClG,KAAK;IACL,+FAA+F;IAC/F,QAAQ;IACR,2EAA2E;IAC3E,YAAY;IACZ,mEAAmE;IACnE,OAAO;CACC,CAAA;AAEV,yHAAyH;AACzH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,0HAA0H;IAC1H,KAAK;IAEL,sHAAsH;IACtH,GAAG,cAAc;IAEjB,iHAAiH;IACjH,GAAG;IAEH,iGAAiG;IACjG,GAAG;CACK,CAAA"}
|
package/dist/schema/types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { z } from 'zod/v4';
|
|
2
|
+
/** Any validation schema — the base type accepted by .input(), .query(), .params() in the fitting builder. */
|
|
2
3
|
export type Schema<T = unknown> = z.ZodType<T>;
|
|
4
|
+
/** Extracts the TypeScript type from a Schema — Infer<typeof mySchema> gives you the validated type. */
|
|
3
5
|
export type Infer<T extends Schema> = z.infer<T>;
|
|
4
6
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC9C,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE/B,8GAA8G;AAC9G,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC9C,wGAAwG;AACxG,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { defineStateMachine } from './define.js';
|
|
2
2
|
import { InvalidTransitionError, InvalidStateMachineError } from './errors.js';
|
|
3
|
+
/** State machine namespace — define valid transitions with guards and side effects. */
|
|
3
4
|
export declare const state: {
|
|
5
|
+
/** Defines a state machine from states, transitions, guards, and effects. Returns a StateMachine with transition/canTransition. */
|
|
4
6
|
define: typeof defineStateMachine;
|
|
7
|
+
/** Thrown when a transition is not allowed from the current state. */
|
|
5
8
|
InvalidTransitionError: typeof InvalidTransitionError;
|
|
9
|
+
/** Thrown when the state machine definition is internally inconsistent. */
|
|
6
10
|
InvalidStateMachineError: typeof InvalidStateMachineError;
|
|
7
11
|
};
|
|
8
12
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/state-machine/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE9E,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/state-machine/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE9E,uFAAuF;AACvF,eAAO,MAAM,KAAK;IAChB,mIAAmI;;IAEnI,sEAAsE;;IAEtE,2EAA2E;;CAE5E,CAAA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { defineStateMachine } from './define.js';
|
|
2
2
|
import { InvalidTransitionError, InvalidStateMachineError } from './errors.js';
|
|
3
|
+
/** State machine namespace — define valid transitions with guards and side effects. */
|
|
3
4
|
export const state = {
|
|
5
|
+
/** Defines a state machine from states, transitions, guards, and effects. Returns a StateMachine with transition/canTransition. */
|
|
4
6
|
define: defineStateMachine,
|
|
7
|
+
/** Thrown when a transition is not allowed from the current state. */
|
|
5
8
|
InvalidTransitionError,
|
|
9
|
+
/** Thrown when the state machine definition is internally inconsistent. */
|
|
6
10
|
InvalidStateMachineError,
|
|
7
11
|
};
|
|
8
12
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/state-machine/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE9E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,kBAAkB;IAC1B,sBAAsB;IACtB,wBAAwB;CACzB,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/state-machine/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE9E,uFAAuF;AACvF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,mIAAmI;IACnI,MAAM,EAAE,kBAAkB;IAC1B,sEAAsE;IACtE,sBAAsB;IACtB,2EAA2E;IAC3E,wBAAwB;CACzB,CAAA"}
|
package/dist/surface/http.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function createHttpSurface(config: HttpSurfaceConfig):
|
|
1
|
+
import type { SurfaceBuilder, HttpSurfaceConfig } from './types.js';
|
|
2
|
+
export declare function createHttpSurface(config: HttpSurfaceConfig): SurfaceBuilder;
|
|
3
3
|
//# sourceMappingURL=http.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/surface/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/surface/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAiB,iBAAiB,EAAkB,MAAM,YAAY,CAAA;AAKlG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAwC3E"}
|
package/dist/surface/http.js
CHANGED
|
@@ -2,9 +2,14 @@ import { DEFAULT_DB } from '../di/types.js';
|
|
|
2
2
|
import { createServer } from '../http/server.js';
|
|
3
3
|
export function createHttpSurface(config) {
|
|
4
4
|
const databases = collectHttpDatabases(config);
|
|
5
|
-
|
|
5
|
+
const deps = {};
|
|
6
|
+
const surface = {
|
|
6
7
|
kind: 'http',
|
|
7
|
-
manifest: { databases, jobTypes: [] },
|
|
8
|
+
manifest: { databases, jobTypes: [], dependencies: deps },
|
|
9
|
+
dependencies(d) {
|
|
10
|
+
Object.assign(deps, d);
|
|
11
|
+
return surface;
|
|
12
|
+
},
|
|
8
13
|
async start(context) {
|
|
9
14
|
const serverConfig = buildServerConfig(config);
|
|
10
15
|
const server = createServer(context, serverConfig);
|
|
@@ -26,6 +31,7 @@ export function createHttpSurface(config) {
|
|
|
26
31
|
};
|
|
27
32
|
},
|
|
28
33
|
};
|
|
34
|
+
return surface;
|
|
29
35
|
}
|
|
30
36
|
function buildServerConfig(config) {
|
|
31
37
|
const sc = { managed: true };
|
package/dist/surface/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/surface/http.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/surface/http.ts"],"names":[],"mappings":"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"}
|
package/dist/surface/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export { createWorkerSurface } from './worker.js';
|
|
|
3
3
|
export { createScriptSurface } from './script.js';
|
|
4
4
|
export { validateSurfaces, validateNoJobTypeDuplicates } from './validate.js';
|
|
5
5
|
export { startSurfaces, type StartResult } from './start.js';
|
|
6
|
-
export type { SurfaceKind, SurfaceManifest, SurfaceHandle, Surface, SurfaceContext, HttpSurfaceConfig, WorkerSurfaceConfig, ScriptSurfaceConfig, ScriptContext, RetryConfig, SurfaceMap, } from './types.js';
|
|
6
|
+
export type { SurfaceKind, SurfaceManifest, SurfaceHandle, Surface, SurfaceBuilder, SurfaceContext, HttpSurfaceConfig, WorkerSurfaceConfig, ScriptSurfaceConfig, ScriptContext, RetryConfig, SurfaceMap, } from './types.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/surface/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAC5D,YAAY,EACV,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/surface/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAC5D,YAAY,EACV,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EACpF,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAC1E,WAAW,EAAE,UAAU,GACxB,MAAM,YAAY,CAAA"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { createHttpSurface } from './http.js';
|
|
2
2
|
import { createWorkerSurface } from './worker.js';
|
|
3
3
|
import { createScriptSurface } from './script.js';
|
|
4
|
+
/** Surface namespace — declarative entry points that define how the app runs (HTTP server, background worker, one-shot script). */
|
|
4
5
|
export declare const surface: {
|
|
6
|
+
/** Creates an HTTP surface — a Fastify server with routes, middleware, and production validation. */
|
|
5
7
|
http: typeof createHttpSurface;
|
|
8
|
+
/** Creates a worker surface — a long-running process that claims and executes jobs from queues. */
|
|
6
9
|
worker: typeof createWorkerSurface;
|
|
10
|
+
/** Creates a script surface — a one-shot process that runs and exits (migrations, seeds, CLI tools). */
|
|
7
11
|
script: typeof createScriptSurface;
|
|
8
12
|
};
|
|
9
13
|
//# sourceMappingURL=namespace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/surface/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/surface/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,mIAAmI;AACnI,eAAO,MAAM,OAAO;IAClB,qGAAqG;;IAErG,mGAAmG;;IAEnG,wGAAwG;;CAEzG,CAAA"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { createHttpSurface } from './http.js';
|
|
2
2
|
import { createWorkerSurface } from './worker.js';
|
|
3
3
|
import { createScriptSurface } from './script.js';
|
|
4
|
+
/** Surface namespace — declarative entry points that define how the app runs (HTTP server, background worker, one-shot script). */
|
|
4
5
|
export const surface = {
|
|
6
|
+
/** Creates an HTTP surface — a Fastify server with routes, middleware, and production validation. */
|
|
5
7
|
http: createHttpSurface,
|
|
8
|
+
/** Creates a worker surface — a long-running process that claims and executes jobs from queues. */
|
|
6
9
|
worker: createWorkerSurface,
|
|
10
|
+
/** Creates a script surface — a one-shot process that runs and exits (migrations, seeds, CLI tools). */
|
|
7
11
|
script: createScriptSurface,
|
|
8
12
|
};
|
|
9
13
|
//# sourceMappingURL=namespace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/surface/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,mBAAmB;CAC5B,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/surface/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,mIAAmI;AACnI,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,qGAAqG;IACrG,IAAI,EAAE,iBAAiB;IACvB,mGAAmG;IACnG,MAAM,EAAE,mBAAmB;IAC3B,wGAAwG;IACxG,MAAM,EAAE,mBAAmB;CAC5B,CAAA"}
|
package/dist/surface/script.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function createScriptSurface(config: ScriptSurfaceConfig):
|
|
1
|
+
import type { SurfaceBuilder, ScriptSurfaceConfig } from './types.js';
|
|
2
|
+
export declare function createScriptSurface(config: ScriptSurfaceConfig): SurfaceBuilder;
|
|
3
3
|
//# sourceMappingURL=script.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/surface/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/surface/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,mBAAmB,EAAkB,MAAM,YAAY,CAAA;AAEpG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CA2B/E"}
|