@venizia/ignis 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base/applications/base.js.map +1 -1
- package/dist/base/applications/boot-steps.js.map +1 -1
- package/dist/base/applications/common/index.js.map +1 -1
- package/dist/base/applications/common/types.js.map +1 -1
- package/dist/base/applications/index.js.map +1 -1
- package/dist/base/applications/server.js.map +1 -1
- package/dist/base/controllers/grpc/abstract.js.map +1 -1
- package/dist/base/controllers/grpc/adapter.js.map +1 -1
- package/dist/base/controllers/grpc/base.js.map +1 -1
- package/dist/base/controllers/grpc/common/index.js.map +1 -1
- package/dist/base/controllers/grpc/common/types.js.map +1 -1
- package/dist/base/controllers/grpc/index.js.map +1 -1
- package/dist/base/controllers/index.js.map +1 -1
- package/dist/base/index.js.map +1 -1
- package/dist/base/metadata/index.js.map +1 -1
- package/dist/base/metadata/request-context.js.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
- package/dist/base/middlewares/app-error/index.js.map +1 -1
- package/dist/base/middlewares/index.js.map +1 -1
- package/dist/base/middlewares/request-spy/index.js.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/environments.js.map +1 -1
- package/dist/common/index.js.map +1 -1
- package/dist/components/api-reference/common/constants.js.map +1 -1
- package/dist/components/api-reference/common/index.js.map +1 -1
- package/dist/components/api-reference/common/keys.js.map +1 -1
- package/dist/components/api-reference/common/types.js.map +1 -1
- package/dist/components/api-reference/component.js.map +1 -1
- package/dist/components/api-reference/index.js.map +1 -1
- package/dist/components/api-reference/ui/factory.js.map +1 -1
- package/dist/components/api-reference/ui/index.js.map +1 -1
- package/dist/components/api-reference/ui/scalar.js.map +1 -1
- package/dist/components/api-reference/ui/swagger.js.map +1 -1
- package/dist/components/auth/authenticate/component.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/index.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/definitions.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/index.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/service-certs/controller.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/service-certs/definitions.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/service-certs/index.js.map +1 -1
- package/dist/components/auth/authenticate/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/basic/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/basic/service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/jose-loader.js.map +1 -1
- package/dist/components/auth/authenticate/services/service/index.js.map +1 -1
- package/dist/components/auth/authenticate/services/service/signer.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/service/verifier.service.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/basic.strategy.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/issuer.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/verifier.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jws.strategy.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/service.strategy.js.map +1 -1
- package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
- package/dist/components/auth/authorize/adapters/common/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/common/types.js.map +1 -1
- package/dist/components/auth/authorize/adapters/connector.js.map +1 -1
- package/dist/components/auth/authorize/adapters/custom-grant-expander.js.map +1 -1
- package/dist/components/auth/authorize/adapters/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js.map +1 -1
- package/dist/components/auth/authorize/component.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin-module.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/index.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/models/index.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/policy-line-codec.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/user-policy-line-cache.js.map +1 -1
- package/dist/components/auth/authorize/index.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/base.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/domain-hierarchy.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/index.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/membership.js.map +1 -1
- package/dist/components/auth/authorize/role-managers/resource.js.map +1 -1
- package/dist/components/auth/index.js.map +1 -1
- package/dist/components/auth/models/entities/index.js.map +1 -1
- package/dist/components/auth/models/entities/permission.model.js.map +1 -1
- package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -1
- package/dist/components/auth/models/entities/role.model.js.map +1 -1
- package/dist/components/auth/models/entities/user.model.js.map +1 -1
- package/dist/components/auth/models/index.js.map +1 -1
- package/dist/components/controller/grpc/common/index.js.map +1 -1
- package/dist/components/controller/grpc/common/types.js.map +1 -1
- package/dist/components/controller/grpc/grpc.component.js.map +1 -1
- package/dist/components/controller/grpc/index.js.map +1 -1
- package/dist/components/controller/index.js.map +1 -1
- package/dist/components/health-check/common/constants.js.map +1 -1
- package/dist/components/health-check/common/index.js.map +1 -1
- package/dist/components/health-check/common/keys.js.map +1 -1
- package/dist/components/health-check/common/rest-paths.js.map +1 -1
- package/dist/components/health-check/common/types.js.map +1 -1
- package/dist/components/health-check/component.js.map +1 -1
- package/dist/components/health-check/controller.js.map +1 -1
- package/dist/components/health-check/index.js.map +1 -1
- package/dist/components/health-check/reporter.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/mail/common/constants.js.map +1 -1
- package/dist/components/mail/common/errors.js.map +1 -1
- package/dist/components/mail/common/index.js.map +1 -1
- package/dist/components/mail/common/keys.js.map +1 -1
- package/dist/components/mail/common/types/index.js.map +1 -1
- package/dist/components/mail/common/types/message.js.map +1 -1
- package/dist/components/mail/common/types/options.js.map +1 -1
- package/dist/components/mail/common/types/queue.js.map +1 -1
- package/dist/components/mail/common/types/template.js.map +1 -1
- package/dist/components/mail/common/types/verification.js.map +1 -1
- package/dist/components/mail/component.js.map +1 -1
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/executors/direct-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/executors/index.js.map +1 -1
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/index.js.map +1 -1
- package/dist/components/mail/helpers/transporters/amazon-ses-transporter.helper.js.map +1 -1
- package/dist/components/mail/helpers/transporters/index.js.map +1 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
- package/dist/components/mail/index.js.map +1 -1
- package/dist/components/mail/providers/index.js.map +1 -1
- package/dist/components/mail/providers/mail-queue-executor.provider.js.map +1 -1
- package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
- package/dist/components/mail/services/generators/index.js.map +1 -1
- package/dist/components/mail/services/generators/numeric-code.js.map +1 -1
- package/dist/components/mail/services/generators/random-token.js.map +1 -1
- package/dist/components/mail/services/generators/verification-data.js.map +1 -1
- package/dist/components/mail/services/index.js.map +1 -1
- package/dist/components/mail/services/mail.service.js.map +1 -1
- package/dist/components/mail/services/template.service.js.map +1 -1
- package/dist/components/mail/utilities/address.utility.js.map +1 -1
- package/dist/components/mail/utilities/attachment.utility.js.map +1 -1
- package/dist/components/mail/utilities/body.utility.js.map +1 -1
- package/dist/components/mail/utilities/index.js.map +1 -1
- package/dist/components/mail/utilities/mime.utility.js.map +1 -1
- package/dist/components/mail/utilities/type.utility.js.map +1 -1
- package/dist/components/mail/utilities/verification.utility.js.map +1 -1
- package/dist/components/request-tracker/component.js.map +1 -1
- package/dist/components/request-tracker/index.js.map +1 -1
- package/dist/components/socket-io/common/index.js.map +1 -1
- package/dist/components/socket-io/common/keys.js.map +1 -1
- package/dist/components/socket-io/common/types.js.map +1 -1
- package/dist/components/socket-io/component.js.map +1 -1
- package/dist/components/socket-io/handlers/bun.handler.js.map +1 -1
- package/dist/components/socket-io/handlers/index.js.map +1 -1
- package/dist/components/socket-io/handlers/node.handler.js.map +1 -1
- package/dist/components/socket-io/index.js.map +1 -1
- package/dist/components/static-asset/common/commit-token.js.map +1 -1
- package/dist/components/static-asset/common/constants.js.map +1 -1
- package/dist/components/static-asset/common/errors.js.map +1 -1
- package/dist/components/static-asset/common/index.js.map +1 -1
- package/dist/components/static-asset/common/keys.js.map +1 -1
- package/dist/components/static-asset/common/types.js.map +1 -1
- package/dist/components/static-asset/component.js.map +1 -1
- package/dist/components/static-asset/controller/base.definition.js.map +1 -1
- package/dist/components/static-asset/controller/factory.js.map +1 -1
- package/dist/components/static-asset/controller/index.js.map +1 -1
- package/dist/components/static-asset/controller/key-scope.js.map +1 -1
- package/dist/components/static-asset/controller/meta-link.js.map +1 -1
- package/dist/components/static-asset/controller/route-options.js.map +1 -1
- package/dist/components/static-asset/index.js.map +1 -1
- package/dist/components/static-asset/ingest.js.map +1 -1
- package/dist/components/static-asset/models/base.model.js.map +1 -1
- package/dist/components/static-asset/models/index.js.map +1 -1
- package/dist/components/static-asset/repositories/base.repository.js.map +1 -1
- package/dist/components/static-asset/repositories/index.js.map +1 -1
- package/dist/components/websocket/common/index.js.map +1 -1
- package/dist/components/websocket/common/keys.js.map +1 -1
- package/dist/components/websocket/common/types.js.map +1 -1
- package/dist/components/websocket/component.js.map +1 -1
- package/dist/components/websocket/handlers/bun.handler.js.map +1 -1
- package/dist/components/websocket/handlers/index.js.map +1 -1
- package/dist/components/websocket/index.js.map +1 -1
- package/dist/connectors/index.js.map +1 -1
- package/dist/connectors/meilisearch/index.js.map +1 -1
- package/dist/connectors/postgres/drivers/node-postgres.js.map +1 -1
- package/dist/connectors/postgres/drivers/pglite.js.map +1 -1
- package/dist/connectors/postgres/drivers/postgres-js.js.map +1 -1
- package/dist/connectors/postgres/drivers/postgres-js.mjs.map +1 -1
- package/dist/connectors/postgres/index.js.map +1 -1
- package/dist/connectors/postgres/supabase/index.js.map +1 -1
- package/dist/connectors/relational/index.js.map +1 -1
- package/dist/connectors/search/controllers/index.js.map +1 -1
- package/dist/connectors/search/index.js.map +1 -1
- package/dist/connectors/sqlite/drivers/libsql.js.map +1 -1
- package/dist/connectors/sqlite/index.js.map +1 -1
- package/dist/connectors/typesense/controllers/index.js.map +1 -1
- package/dist/connectors/typesense/index.js.map +1 -1
- package/dist/helpers/base-helper.js.map +1 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/utilities/drizzle-result.utility.js.map +1 -1
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/network.utility.js.map +1 -1
- package/dist/vulcan-preset/preset.json +8 -4
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-link.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/meta-link.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"meta-link.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/meta-link.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n IBucketRef,\n IFileStat,\n IObjectRef,\n IStorageHelper,\n IUploadResult,\n} from '@venizia/ignis-helpers';\nimport { resolveValueAsync } from '@venizia/ignis-helpers/common';\nimport type { AnyType } from '@venizia/ignis-helpers/common';\nimport type { TMetaLinkConfig, TStaticAssetStorageType, TUploadQuery } from '../common';\n\n/** What a stat says about one stored object: the columns a refresh rewrites and a new row starts from. */\nconst buildStoredObjectFacts = (opts: {\n helper: IStorageHelper;\n object: IObjectRef;\n link: string;\n fileStat: IFileStat;\n}) => {\n const { helper, object, link, fileStat } = opts;\n\n return {\n link,\n // The column is NOT NULL and a backend may report nothing.\n mimetype: fileStat.metadata?.mimetype ?? helper.getMimeType({ filename: object.key }),\n size: fileStat.size,\n etag: fileStat.etag,\n metadata: fileStat.metadata,\n isSynced: true,\n };\n};\n\n/** The upload result of an object already in storage, so a commit or a recreate writes its row the way an upload does. */\nexport const buildStoredUploadResult = (opts: {\n helper: IStorageHelper;\n bucket: IBucketRef;\n object: IObjectRef;\n link: string;\n fileStat: IFileStat;\n}): IUploadResult => {\n const { helper, bucket, object, link, fileStat } = opts;\n\n return {\n bucket,\n object: {\n key: object.key,\n size: fileStat.size,\n contentType: fileStat.metadata?.mimetype ?? helper.getMimeType({ filename: object.key }),\n },\n link,\n };\n};\n\n/** The MetaLink row for one stored object. Every path that creates a row goes through here, so each lands exactly the row an ordinary upload does. */\nexport const createMetaLinkRow = async (opts: {\n metaLink: TMetaLinkConfig<AnyType>;\n helper: IStorageHelper;\n storage: TStaticAssetStorageType;\n uploadResult: IUploadResult;\n fileStat: IFileStat;\n query: TUploadQuery;\n}): Promise<AnyType> => {\n const { metaLink, helper, storage, uploadResult, fileStat, query } = opts;\n\n if (metaLink.createMetaLink) {\n const created = await metaLink.createMetaLink({ uploadResult, fileStat, query });\n return created.data;\n }\n\n // Resolved per call so an application that swaps the repository is not pinned to the first one.\n const repository = await resolveValueAsync({ value: metaLink.repository });\n const created = await repository.create({\n data: {\n bucketName: uploadResult.bucket.name,\n objectName: uploadResult.object.key,\n ...buildStoredObjectFacts({\n helper,\n object: uploadResult.object,\n link: uploadResult.link,\n fileStat,\n }),\n storageType: storage,\n principalId: query.principalId ? String(query.principalId) : undefined,\n principalType: query.principalType ? String(query.principalType) : undefined,\n variant: query.variant ? String(query.variant) : undefined,\n // Absent leaves the column default rather than writing 0, so a row the caller never\n // ordered is indistinguishable from a legacy one.\n sequence: query.sequence === undefined ? undefined : Number(query.sequence),\n },\n });\n\n return created.data;\n};\n\n/**\n * Rewrites the stored-object facts on every row of the pair. Rows per pair are deliberately not\n * unique, and each keeps its own labels and storage type. A `createMetaLink` hook owns `link` and\n * `metadata`, so with one only the stat columns change; without one, `metadata` is merged per row.\n */\nexport const refreshMetaLinkRows = async (opts: {\n metaLink: TMetaLinkConfig<AnyType>;\n helper: IStorageHelper;\n bucket: IBucketRef;\n object: IObjectRef;\n link: string;\n fileStat: IFileStat;\n}): Promise<{ count: number; data: AnyType[] }> => {\n const { metaLink, helper, bucket, object, link, fileStat } = opts;\n\n const repository = await resolveValueAsync({ value: metaLink.repository });\n const { mimetype, size, etag, isSynced } = buildStoredObjectFacts({\n helper,\n object,\n link,\n fileStat,\n });\n const statColumns = { mimetype, size, etag, isSynced };\n\n const updated = await repository.updateAll({\n data: metaLink.createMetaLink ? statColumns : { ...statColumns, link },\n where: { bucketName: bucket.name, objectName: object.key },\n });\n const rows = updated.data ?? [];\n\n if (metaLink.createMetaLink || !fileStat.metadata) {\n return { count: updated.count, data: rows };\n }\n\n // One UPDATE per row: each merge starts from that row's own keys, which the statement above\n // returned untouched and which no single engine-neutral statement over the pair can express.\n const merged = await Promise.all(\n rows.map(row =>\n repository.updateById({\n id: row.id,\n data: { metadata: { ...row.metadata, ...fileStat.metadata } },\n }),\n ),\n );\n\n return { count: updated.count, data: merged.map(result => result.data) };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-options.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/route-options.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AACrD,sDAAuD;AAEvD,sCAA4E;AAE5E,wGAAwG;AACjG,MAAM,iBAAiB,GAAG,CAAC,IAEjC,EAA8E,EAAE;IAC/E,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAClD,OAAO,EAAE,SAAS,EAAE,OAAO,KAAK,KAAK,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B;AAEF;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CAAC,IAGzC,EAAsD,EAAE;IACvD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEtC,MAAM,KAAK,GAAsB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACvD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,aAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAE/E,kHAAkH;QAClH,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAA,eAAQ,EAAC;gBACb,KAAK,EAAE,0BAAiB,CAAC,gBAAgB;gBACzC,OAAO,EAAE,mBAAmB,cAAc,iCAAiC,QAAQ,EAAE;aACtF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAClF,CAAC,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC"}
|
|
1
|
+
{"version":3,"file":"route-options.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/route-options.ts"],"names":[],"mappings":";;;AAAA,0DAAqD;AACrD,sDAAuD;AAEvD,sCAA4E;AAE5E,wGAAwG;AACjG,MAAM,iBAAiB,GAAG,CAAC,IAEjC,EAA8E,EAAE;IAC/E,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAClD,OAAO,EAAE,SAAS,EAAE,OAAO,KAAK,KAAK,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B;AAEF;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CAAC,IAGzC,EAAsD,EAAE;IACvD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEtC,MAAM,KAAK,GAAsB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACvD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,aAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAE/E,kHAAkH;QAClH,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAA,eAAQ,EAAC;gBACb,KAAK,EAAE,0BAAiB,CAAC,gBAAgB;gBACzC,OAAO,EAAE,mBAAmB,cAAc,iCAAiC,QAAQ,EAAE;aACtF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAClF,CAAC,CAAC;AAzBW,QAAA,yBAAyB,6BAyBpC","sourcesContent":["import { HTTP } from '@venizia/ignis-helpers/common';\nimport { getError } from '@venizia/ignis-helpers/core';\nimport type { MiddlewareHandler } from 'hono';\nimport { StaticAssetErrors, type TStaticAssetRouteConfig } from '../common';\n\n/** Splits the `enabled` switch off the route config: it is this component's field, never a Hono one. */\nexport const readRouteOverride = (opts: {\n route?: TStaticAssetRouteConfig;\n}): { isEnabled: boolean; override: Omit<TStaticAssetRouteConfig, 'enabled'> } => {\n const { enabled, ...override } = opts.route ?? {};\n return { isEnabled: enabled !== false, override };\n};\n\n/**\n * The route's body validator reads the whole multipart body, so a declared length checked in the\n * handler arrives too late to save any memory. Appended after the application's own middleware, so\n * a check of its own still answers first.\n */\nexport const appendDeclaredLengthGuard = (opts: {\n middleware: TStaticAssetRouteConfig['middleware'];\n maxBytes: number;\n}): NonNullable<TStaticAssetRouteConfig['middleware']> => {\n const { middleware, maxBytes } = opts;\n\n const guard: MiddlewareHandler = async (context, next) => {\n const declaredLength = Number(context.req.header(HTTP.Headers.CONTENT_LENGTH));\n\n // Not authoritative: a multipart envelope is larger than its files, so the per-file check in the handler decides.\n if (Number.isFinite(declaredLength) && declaredLength > maxBytes) {\n throw getError({\n error: StaticAssetErrors.UPLOAD_TOO_LARGE,\n message: `Request body of ${declaredLength} bytes exceeds the maximum of ${maxBytes}`,\n });\n }\n\n await next();\n };\n\n if (!middleware) {\n return [guard];\n }\n\n return Array.isArray(middleware) ? [...middleware, guard] : [middleware, guard];\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/static-asset/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,+CAA6B;AAC7B,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/static-asset/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,+CAA6B;AAC7B,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB","sourcesContent":["export * from './common';\nexport * from './component';\nexport * from './controller';\nexport * from './models';\nexport * from './repositories';\nexport * from './ingest';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/components/static-asset/ingest.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AACvD,0DAUgC;AA2ChC,MAAM,cAAc,GAAG,CAAC,IAAuC,EAAU,EAAE;IACzE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IAC9E,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEhE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AACjE,CAAC,CAAC;AAEF,uDAAuD;AACvD,MAAa,WAAW;IACtB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAA2B;QAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAEtF,MAAM,QAAQ,GAAG,MAAM,yBAAS,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,GAAG,GAAG,UAAU;YACpB,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;YACtD,CAAC,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEhD,8FAA8F;QAC9F,gEAAgE;QAChE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YACjF,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,mDAAmD,GAAG,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,4FAA4F;QAC5F,+FAA+F;QAC/F,iGAAiG;QACjG,iEAAiE;QACjE,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,iCAAiB,CAAC,SAAS,CAAC;QAEjE,IAAI,cAAc,GAAG,QAAQ,EAAE,CAAC;YAC9B,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAA,eAAQ,EAAC;gBACb,KAAK,EAAE,+BAAe,CAAC,WAAW;gBAClC,OAAO,EAAE,0DAA0D,cAAc,WAAW,QAAQ,EAAE;aACvG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAA,eAAQ,EAAC,EAAE,OAAO,EAAE,yDAAyD,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,MAAM,GAAe,EAAE,GAAG,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1D,MAAM,MAAM,CAAC,WAAW,CAAC;YACvB,MAAM;YACN,MAAM;YACN,MAAM,EAAE,yBAAS,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9D,WAAW;YACX,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAA,eAAQ,EAAC;gBACb,OAAO,EAAE,uEAAuE,GAAG,EAAE;aACtF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;gBAC7B,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE;gBAC7C,IAAI;aACL;YACD,IAAI;SACL,CAAC;IACJ,CAAC;CACF;AA9ED,kCA8EC"}
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../src/components/static-asset/ingest.ts"],"names":[],"mappings":"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","sourcesContent":["import { getError } from '@venizia/ignis-helpers/core';\nimport {\n UrlIngest,\n UrlSafetyDefaults,\n UrlSafetyErrors,\n type IBucketRef,\n type IObjectRef,\n type IFileStat,\n type IStorageHelper,\n type IUploadResult,\n type IUrlSafetyPolicy,\n} from '@venizia/ignis-helpers';\n\n/**\n * What was stored, and what the backend reports about it. The stat is returned because `getStat`\n * already ran to size the result - a caller writing its own row would otherwise pay for it twice.\n *\n * This does NOT write a meta link. The columns an application attaches to an object - a principal,\n * a variant - come from its own domain, not from the object, so the row stays the caller's.\n */\nexport interface IIngestFromUrlResult {\n upload: IUploadResult;\n stat: IFileStat;\n}\n\n/** Where a fetched object lands, and what it is attached to. */\nexport interface IIngestFromUrlOptions {\n helper: IStorageHelper;\n url: string;\n bucket: IBucketRef;\n\n /**\n * Decides the stored key.\n *\n * **Absent, the key comes from the remote url's last path segment - which on an untrusted url is\n * named by whoever supplied it.** Pass `resolveKey` whenever the url is not your own; the\n * validation below bounds what it can do, but it does not make the remote name yours.\n */\n resolveKey?: (opts: { url: URL; contentType: string }) => string;\n folderPath?: string;\n\n /** Absent leaves IGNIS's own default: https only, no private address, 3 hops, 10s, 10 MB. */\n policy?: IUrlSafetyPolicy;\n\n /** Folder nesting the key may carry. Absent uses `BaseStorageHelper.DEFAULT_MAX_FOLDER_DEPTH`. */\n maxFolderDepth?: number;\n\n /**\n * Where the object is served from. **Required**: an absent hook used to yield an empty link, which\n * is exactly the value that satisfies a NOT NULL column and points nowhere.\n */\n normalizeLinkFn: (opts: { bucket: IBucketRef; object: IObjectRef }) => string;\n}\n\nconst readKeyFromUrl = (opts: { url: URL; folderPath?: string }): string => {\n const { url, folderPath } = opts;\n const lastSegment = url.pathname.split('/').filter(Boolean).pop() ?? 'object';\n const normalized = lastSegment.toLowerCase().replace(/ /g, '_');\n\n return folderPath ? `${folderPath}/${normalized}` : normalized;\n};\n\n/** Storing an object that came from somewhere else. */\nexport class AssetIngest {\n /**\n * Fetches an untrusted url and stores what comes back, without the bytes passing through this\n * process: the guarded body is capped and handed to `writeStream` as a stream.\n *\n * The url is guarded by `UrlIngest.fetchGuarded` - scheme allow-list, every resolved address\n * checked, redirects walked by hand with a per-hop re-check, and a timeout. A rebinding window\n * remains open between the check and the connect; see `UrlIngest.assertPublicHost`.\n *\n * The served content type is decided from the stored KEY, never from what the remote host\n * claimed - the same rule the asset routes apply, and for the same reason.\n */\n static async fromUrl(opts: IIngestFromUrlOptions): Promise<IIngestFromUrlResult> {\n const { helper, url, bucket, folderPath, policy, resolveKey, normalizeLinkFn } = opts;\n\n const response = await UrlIngest.fetchGuarded({ url, policy });\n const remoteType = response.headers.get('content-type')?.split(';')[0]?.trim() ?? '';\n const parsed = new URL(url);\n\n const key = resolveKey\n ? resolveKey({ url: parsed, contentType: remoteType })\n : readKeyFromUrl({ url: parsed, folderPath });\n\n // The helper's own default, not an unbounded one: an object arriving through ingest must obey\n // the same depth rule as one arriving through the upload route.\n if (!helper.isValidObjectKey({ object: { key }, maxDepth: opts.maxFolderDepth })) {\n await response.body?.cancel();\n throw getError({ message: `[AssetIngest.fromUrl] Invalid object key | key: ${key}` });\n }\n\n // Refused BEFORE the write starts, so a body that declares its size never opens a multipart\n // upload at all. A body that lies or omits the header is caught mid-flight by `capStream`, and\n // Bun's client answers that with `AbortMultipartUpload` - measured against a recording endpoint,\n // not assumed - so no orphaned parts are left behind either way.\n const declaredLength = Number(response.headers.get('content-length') ?? 0);\n const maxBytes = policy?.maxBytes ?? UrlSafetyDefaults.MAX_BYTES;\n\n if (declaredLength > maxBytes) {\n await response.body?.cancel();\n throw getError({\n error: UrlSafetyErrors.URL_REFUSED,\n message: `[AssetIngest.fromUrl] Body exceeds the cap | declared: ${declaredLength} | max: ${maxBytes}`,\n });\n }\n\n if (!response.body) {\n throw getError({ message: `[AssetIngest.fromUrl] Response carried no body | url: ${url}` });\n }\n\n const object: IObjectRef = { key };\n const contentType = helper.getMimeType({ filename: key });\n\n await helper.writeStream({\n bucket,\n object,\n source: UrlIngest.capStream({ source: response.body, policy }),\n contentType,\n maxFolderDepth: opts.maxFolderDepth,\n });\n\n const stat = await helper.getStat({ bucket, object });\n const link = normalizeLinkFn({ bucket, object });\n\n if (!link) {\n throw getError({\n message: `[AssetIngest.fromUrl] normalizeLinkFn returned an empty link | key: ${key}`,\n });\n }\n\n return {\n upload: {\n bucket: { name: bucket.name },\n object: { key, size: stat.size, contentType },\n link,\n },\n stat,\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../../src/components/static-asset/models/base.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAwC;AACxC,iEAM4C;AAC5C,iDAAoF;AAEpF,mNAAmN;AAE5M,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,+BAAqD;aAC1E,WAAM,GAAG,IAAA,iBAAO,EAC9B,UAAU,EACV;QACE,GAAG,IAAA,+BAAoB,EAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;QACvD,GAAG,IAAA,+BAAoB,GAAE;QACzB,UAAU,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC,CAAC,OAAO,EAAE;QACzC,UAAU,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC,CAAC,OAAO,EAAE;QACzC,IAAI,EAAE,IAAA,cAAI,GAAE,CAAC,OAAO,EAAE;QACtB,QAAQ,EAAE,IAAA,cAAI,GAAE,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,IAAA,iBAAO,GAAE,CAAC,OAAO,EAAE;QACzB,IAAI,EAAE,IAAA,cAAI,GAAE;QACZ,QAAQ,EAAE,IAAA,eAAK,GAAE,CAAC,KAAK,EAAuB;QAC9C,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC,CAAC,OAAO,EAAE;QAC3C,QAAQ,EAAE,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAEvD,+IAA+I;QAC/I,OAAO,EAAE,IAAA,cAAI,GAAE;QAEf,qJAAqJ;QACrJ,QAAQ,EAAE,IAAA,iBAAO,GAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAExC,uKAAuK;QACvK,aAAa,EAAE,IAAA,cAAI,EAAC,gBAAgB,CAAC;QACrC,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC;KAClC,EACD,GAAG,CAAC,EAAE,CAAC;QACL,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QACnD,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QACnD,IAAA,eAAK,EAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;QACrD,IAAA,eAAK,EAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/C,8FAA8F;QAC9F,IAAA,eAAK,EAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC;KAC9F,CACF,AAjCqB,CAiCpB;aAEc,cAAS,GAAG,GAAG,EAAE,CAAC,EAAE,AAAX,CAAY;;AApC1B,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,gBAAK,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;GAChC,iBAAiB,CAqC7B"}
|
|
1
|
+
{"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../../src/components/static-asset/models/base.model.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAwC;AACxC,iEAM4C;AAC5C,iDAAoF;AAEpF,mNAAmN;AAE5M,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,+BAAqD;aAC1E,WAAM,GAAG,IAAA,iBAAO,EAC9B,UAAU,EACV;QACE,GAAG,IAAA,+BAAoB,EAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;QACvD,GAAG,IAAA,+BAAoB,GAAE;QACzB,UAAU,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC,CAAC,OAAO,EAAE;QACzC,UAAU,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC,CAAC,OAAO,EAAE;QACzC,IAAI,EAAE,IAAA,cAAI,GAAE,CAAC,OAAO,EAAE;QACtB,QAAQ,EAAE,IAAA,cAAI,GAAE,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,IAAA,iBAAO,GAAE,CAAC,OAAO,EAAE;QACzB,IAAI,EAAE,IAAA,cAAI,GAAE;QACZ,QAAQ,EAAE,IAAA,eAAK,GAAE,CAAC,KAAK,EAAuB;QAC9C,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC,CAAC,OAAO,EAAE;QAC3C,QAAQ,EAAE,IAAA,iBAAO,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAEvD,+IAA+I;QAC/I,OAAO,EAAE,IAAA,cAAI,GAAE;QAEf,qJAAqJ;QACrJ,QAAQ,EAAE,IAAA,iBAAO,GAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAExC,uKAAuK;QACvK,aAAa,EAAE,IAAA,cAAI,EAAC,gBAAgB,CAAC;QACrC,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC;KAClC,EACD,GAAG,CAAC,EAAE,CAAC;QACL,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QACnD,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QACnD,IAAA,eAAK,EAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;QACrD,IAAA,eAAK,EAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/C,8FAA8F;QAC9F,IAAA,eAAK,EAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC;KAC9F,CACF,AAjCqB,CAiCpB;aAEc,cAAS,GAAG,GAAG,EAAE,CAAC,EAAE,AAAX,CAAY;;AApC1B,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,gBAAK,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;GAChC,iBAAiB,CAqC7B","sourcesContent":["import { model } from '@/base/metadata';\nimport {\n BaseRelationalEntity,\n generateIdColumnDefs,\n generateTzColumnDefs,\n type TTableObject,\n type TTableSchemaWithId,\n} from '@venizia/ignis-connectors/postgres';\nimport { boolean, index, integer, jsonb, pgTable, text } from 'drizzle-orm/pg-core';\n\n/** One row per (object, owner) pairing, NOT per object: one product image attached to the product and to each variant is the common case, so `(bucketName, objectName)` is indexed and deliberately NOT unique. */\n@model({ type: 'entity', skipMigrate: true })\nexport class BaseMetaLinkModel extends BaseRelationalEntity<typeof BaseMetaLinkModel.schema> {\n static override schema = pgTable(\n 'MetaLink',\n {\n ...generateIdColumnDefs({ id: { dataType: 'string' } }),\n ...generateTzColumnDefs(),\n bucketName: text('bucket_name').notNull(),\n objectName: text('object_name').notNull(),\n link: text().notNull(),\n mimetype: text().notNull(),\n size: integer().notNull(),\n etag: text(),\n metadata: jsonb().$type<Record<string, any>>(),\n storageType: text('storage_type').notNull(),\n isSynced: boolean('is_synced').notNull().default(false),\n\n /** An opaque label the caller chooses - a size, a role, a rendition name. The component stores and returns it and reads no meaning into it. */\n variant: text(),\n\n /** Display order within ONE principal. Defaults to 0 so legacy rows tie and `ORDER BY sequence, createdAt` reproduces the order they already had. */\n sequence: integer().notNull().default(0),\n\n /** A polymorphic owner: the type names the table, the id the row. Both nullable - an object may belong to nothing yet, which is how `recreate-metalink` writes one. */\n principalType: text('principal_type'),\n principalId: text('principal_id'),\n },\n def => [\n index(`IDX_MetaLink_bucketName`).on(def.bucketName),\n index(`IDX_MetaLink_objectName`).on(def.objectName),\n index(`IDX_MetaLink_storageType`).on(def.storageType),\n index(`IDX_MetaLink_isSynced`).on(def.isSynced),\n // Ordering runs inside a principal filter, so filter columns lead and the sort column trails.\n index(`IDX_MetaLink_principal_sequence`).on(def.principalType, def.principalId, def.sequence),\n ],\n );\n\n static override relations = () => [];\n}\n\nexport type TMetaLinkSchema = typeof BaseMetaLinkModel.schema;\nexport type TMetaLink = TTableObject<TMetaLinkSchema>;\n\n/** Any table whose row carries the MetaLink fields. The component reads and writes the ROW, so the table is free to carry another name or to live in another Postgres schema. */\nexport type TMetaLinkCompatibleSchema = TTableSchemaWithId & { $inferSelect: TMetaLink };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/static-asset/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/static-asset/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B","sourcesContent":["export * from './base.model';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../../src/components/static-asset/repositories/base.repository.ts"],"names":[],"mappings":";;;AAAA,iEAA2E;AAG3E,0FAA0F;AAC1F,MAAa,sBAAuB,SAAQ,gCAE3C;CAAG;AAFJ,wDAEI"}
|
|
1
|
+
{"version":3,"file":"base.repository.js","sourceRoot":"","sources":["../../../../src/components/static-asset/repositories/base.repository.ts"],"names":[],"mappings":";;;AAAA,iEAA2E;AAG3E,0FAA0F;AAC1F,MAAa,sBAAuB,SAAQ,gCAE3C;CAAG;AAFJ,wDAEI","sourcesContent":["import { DefaultCRUDRepository } from '@venizia/ignis-connectors/postgres';\nimport type { BaseMetaLinkModel } from '../models';\n\n/** Base MetaLink repository - bind a model + datasource via @repository in a subclass. */\nexport class BaseMetaLinkRepository extends DefaultCRUDRepository<\n typeof BaseMetaLinkModel.schema\n> {}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/static-asset/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/static-asset/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC","sourcesContent":["export * from './base.repository';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/websocket/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/websocket/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB","sourcesContent":["export * from './keys';\nexport * from './types';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/components/websocket/common/keys.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;aACf,uBAAkB,GAAG,yBAAyB,CAAC;aAE/C,mBAAc,GAAG,+BAA+B,CAAC;aACjD,qBAAgB,GAAG,iCAAiC,CAAC;aAErD,yBAAoB,GAAG,qCAAqC,CAAC;aAC7D,0BAAqB,GAAG,sCAAsC,CAAC;aAC/D,6BAAwB,GAAG,yCAAyC,CAAC;aACrE,gCAA2B,GAAG,4CAA4C,CAAC;aAC3E,oBAAe,GAAG,gCAAgC,CAAC;aACnD,yBAAoB,GAAG,qCAAqC,CAAC;aAC7D,sBAAiB,GAAG,kCAAkC,CAAC;;AAZzE,oDAaC"}
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/components/websocket/common/keys.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;aACf,uBAAkB,GAAG,yBAAyB,CAAC;aAE/C,mBAAc,GAAG,+BAA+B,CAAC;aACjD,qBAAgB,GAAG,iCAAiC,CAAC;aAErD,yBAAoB,GAAG,qCAAqC,CAAC;aAC7D,0BAAqB,GAAG,sCAAsC,CAAC;aAC/D,6BAAwB,GAAG,yCAAyC,CAAC;aACrE,gCAA2B,GAAG,4CAA4C,CAAC;aAC3E,oBAAe,GAAG,gCAAgC,CAAC;aACnD,yBAAoB,GAAG,qCAAqC,CAAC;aAC7D,sBAAiB,GAAG,kCAAkC,CAAC;;AAZzE,oDAaC","sourcesContent":["export class WebSocketBindingKeys {\n static readonly WEBSOCKET_INSTANCE = '@app/websocket/instance';\n\n static readonly SERVER_OPTIONS = '@app/websocket/server-options';\n static readonly REDIS_CONNECTION = '@app/websocket/redis-connection';\n\n static readonly AUTHENTICATE_HANDLER = '@app/websocket/authenticate-handler';\n static readonly VALIDATE_ROOM_HANDLER = '@app/websocket/validate-room-handler';\n static readonly CLIENT_CONNECTED_HANDLER = '@app/websocket/client-connected-handler';\n static readonly CLIENT_DISCONNECTED_HANDLER = '@app/websocket/client-disconnected-handler';\n static readonly MESSAGE_HANDLER = '@app/websocket/message-handler';\n static readonly OUTBOUND_TRANSFORMER = '@app/websocket/outbound-transformer';\n static readonly HANDSHAKE_HANDLER = '@app/websocket/handshake-handler';\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/websocket/common/types.ts"],"names":[],"mappings":";;;AAWA,0DAA2D;AAY9C,QAAA,sBAAsB,GAAmB;IACpD,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,iCAAiB,CAAC,IAAI;CAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/websocket/common/types.ts"],"names":[],"mappings":";;;AAWA,0DAA2D;AAY9C,QAAA,sBAAsB,GAAmB;IACpD,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,iCAAiB,CAAC,IAAI;CAC7B,CAAC","sourcesContent":["import type {\n IRedisHelper,\n IBunWebSocketConfig,\n TWebSocketAuthenticateFn,\n TWebSocketClientConnectedFn,\n TWebSocketClientDisconnectedFn,\n TWebSocketHandshakeFn,\n TWebSocketMessageHandler,\n TWebSocketOutboundTransformer,\n TWebSocketValidateRoomFn,\n} from '@venizia/ignis-helpers';\nimport { WebSocketDefaults } from '@venizia/ignis-helpers';\n\nexport interface IServerOptions {\n identifier: string;\n path?: string;\n defaultRooms?: string[];\n serverOptions?: IBunWebSocketConfig;\n heartbeatInterval?: number;\n heartbeatTimeout?: number;\n requireEncryption?: boolean;\n}\n\nexport const DEFAULT_SERVER_OPTIONS: IServerOptions = {\n identifier: 'WEBSOCKET_SERVER',\n path: WebSocketDefaults.PATH,\n};\n\nexport interface IResolvedBindings {\n redisConnection: IRedisHelper;\n authenticateFn: TWebSocketAuthenticateFn;\n validateRoomFn?: TWebSocketValidateRoomFn;\n clientConnectedFn?: TWebSocketClientConnectedFn;\n clientDisconnectedFn?: TWebSocketClientDisconnectedFn;\n messageHandler?: TWebSocketMessageHandler;\n outboundTransformer?: TWebSocketOutboundTransformer;\n handshakeFn?: TWebSocketHandshakeFn;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/websocket/component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/websocket/component.ts"],"names":[],"mappings":"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","sourcesContent":["import { type BaseApplication, type TBunServerInstance } from '@/base/applications';\nimport { BaseComponent } from '@venizia/ignis-kernel';\nimport { inject } from '@/base/metadata';\nimport { CoreBindings } from '@venizia/ignis-kernel';\nimport { Binding } from '@venizia/ignis-kernel';\nimport { getError } from '@venizia/ignis-helpers/core';\nimport { HTTP, RuntimeModules, type ValueOrPromise } from '@venizia/ignis-helpers/common';\nimport {\n type AbstractRedisHelper,\n isRedisHelper,\n type TWebSocketAuthenticateFn,\n type TWebSocketClientConnectedFn,\n type TWebSocketClientDisconnectedFn,\n type TWebSocketMessageHandler,\n type TWebSocketHandshakeFn,\n type TWebSocketOutboundTransformer,\n type TWebSocketValidateRoomFn,\n WebSocketDefaults,\n WebSocketServerHelper,\n} from '@venizia/ignis-helpers';\nimport {\n WebSocketBindingKeys,\n DEFAULT_SERVER_OPTIONS,\n type IResolvedBindings,\n type IServerOptions,\n} from './common';\nimport { createBunFetchHandler } from './handlers';\n\nexport class WebSocketComponent extends BaseComponent {\n protected serverOptions: IServerOptions;\n\n constructor(\n @inject({ key: CoreBindings.APPLICATION_INSTANCE }) private application: BaseApplication,\n ) {\n super({\n scope: WebSocketComponent.name,\n initDefault: { enable: true, container: application },\n bindings: {\n [WebSocketBindingKeys.SERVER_OPTIONS]: Binding.bind<Partial<IServerOptions>>({\n key: WebSocketBindingKeys.SERVER_OPTIONS,\n }).toValue(DEFAULT_SERVER_OPTIONS),\n\n [WebSocketBindingKeys.REDIS_CONNECTION]: Binding.bind<AbstractRedisHelper | null>({\n key: WebSocketBindingKeys.REDIS_CONNECTION,\n }).toValue(null),\n\n [WebSocketBindingKeys.AUTHENTICATE_HANDLER]: Binding.bind<TWebSocketAuthenticateFn | null>({\n key: WebSocketBindingKeys.AUTHENTICATE_HANDLER,\n }).toValue(null),\n\n [WebSocketBindingKeys.VALIDATE_ROOM_HANDLER]: Binding.bind<TWebSocketValidateRoomFn | null>(\n {\n key: WebSocketBindingKeys.VALIDATE_ROOM_HANDLER,\n },\n ).toValue(null),\n\n [WebSocketBindingKeys.CLIENT_CONNECTED_HANDLER]:\n Binding.bind<TWebSocketClientConnectedFn | null>({\n key: WebSocketBindingKeys.CLIENT_CONNECTED_HANDLER,\n }).toValue(null),\n\n [WebSocketBindingKeys.CLIENT_DISCONNECTED_HANDLER]:\n Binding.bind<TWebSocketClientDisconnectedFn | null>({\n key: WebSocketBindingKeys.CLIENT_DISCONNECTED_HANDLER,\n }).toValue(null),\n\n [WebSocketBindingKeys.MESSAGE_HANDLER]: Binding.bind<TWebSocketMessageHandler | null>({\n key: WebSocketBindingKeys.MESSAGE_HANDLER,\n }).toValue(null),\n\n [WebSocketBindingKeys.OUTBOUND_TRANSFORMER]:\n Binding.bind<TWebSocketOutboundTransformer | null>({\n key: WebSocketBindingKeys.OUTBOUND_TRANSFORMER,\n }).toValue(null),\n\n [WebSocketBindingKeys.HANDSHAKE_HANDLER]: Binding.bind<TWebSocketHandshakeFn | null>({\n key: WebSocketBindingKeys.HANDSHAKE_HANDLER,\n }).toValue(null),\n },\n });\n }\n\n private resolveBindings(): IResolvedBindings {\n const extraServerOptions =\n this.application.get<Partial<IServerOptions>>({\n key: WebSocketBindingKeys.SERVER_OPTIONS,\n isOptional: true,\n }) ?? {};\n this.serverOptions = Object.assign({}, DEFAULT_SERVER_OPTIONS, extraServerOptions);\n\n const redisConnection = this.application.get<AbstractRedisHelper>({\n key: WebSocketBindingKeys.REDIS_CONNECTION,\n });\n if (!isRedisHelper(redisConnection)) {\n throw getError({\n message:\n '[WebSocketComponent][resolveBindings] Invalid instance of redisConnection | Please init connection with RedisSingleHelper (single), RedisClusterHelper (cluster), or RedisSentinelHelper (sentinel)!',\n });\n }\n\n const authenticateFn = this.application.get<TWebSocketAuthenticateFn>({\n key: WebSocketBindingKeys.AUTHENTICATE_HANDLER,\n });\n if (!authenticateFn) {\n throw getError({\n message: '[WebSocketComponent] Invalid authenticateFn to setup WebSocket server!',\n });\n }\n\n const validateRoomFn =\n this.application.get<TWebSocketValidateRoomFn | null>({\n key: WebSocketBindingKeys.VALIDATE_ROOM_HANDLER,\n }) ?? undefined;\n const clientConnectedFn =\n this.application.get<TWebSocketClientConnectedFn | null>({\n key: WebSocketBindingKeys.CLIENT_CONNECTED_HANDLER,\n }) ?? undefined;\n const clientDisconnectedFn =\n this.application.get<TWebSocketClientDisconnectedFn | null>({\n key: WebSocketBindingKeys.CLIENT_DISCONNECTED_HANDLER,\n }) ?? undefined;\n const messageHandler =\n this.application.get<TWebSocketMessageHandler | null>({\n key: WebSocketBindingKeys.MESSAGE_HANDLER,\n }) ?? undefined;\n const outboundTransformer =\n this.application.get<TWebSocketOutboundTransformer | null>({\n key: WebSocketBindingKeys.OUTBOUND_TRANSFORMER,\n }) ?? undefined;\n const handshakeFn =\n this.application.get<TWebSocketHandshakeFn | null>({\n key: WebSocketBindingKeys.HANDSHAKE_HANDLER,\n }) ?? undefined;\n\n return {\n redisConnection,\n authenticateFn,\n validateRoomFn,\n clientConnectedFn,\n clientDisconnectedFn,\n messageHandler,\n outboundTransformer,\n handshakeFn,\n };\n }\n\n private registerBunHook(opts: IResolvedBindings) {\n const {\n redisConnection,\n authenticateFn,\n validateRoomFn,\n clientConnectedFn,\n clientDisconnectedFn,\n messageHandler,\n outboundTransformer,\n handshakeFn,\n } = opts;\n const serverOptions = this.serverOptions;\n\n const logger = this.logger.for(this.registerBunHook.name);\n\n this.application.registerPostStartHook({\n identifier: 'websocket-initialize',\n hook: async () => {\n const serverInstance = this.application.getServerInstance<TBunServerInstance>();\n const honoServer = this.application.getServer();\n\n if (!serverInstance) {\n throw getError({\n message: '[WebSocketComponent] Bun server instance not available!',\n });\n }\n\n const wsHelper = new WebSocketServerHelper({\n identifier: serverOptions.identifier,\n path: serverOptions.path,\n defaultRooms: serverOptions.defaultRooms,\n serverOptions: serverOptions.serverOptions,\n heartbeatInterval: serverOptions.heartbeatInterval,\n heartbeatTimeout: serverOptions.heartbeatTimeout,\n server: serverInstance,\n redisConnection,\n authenticateFn,\n validateRoomFn,\n clientConnectedFn,\n clientDisconnectedFn,\n messageHandler,\n outboundTransformer,\n handshakeFn,\n requireEncryption: serverOptions.requireEncryption,\n });\n await wsHelper.configure();\n\n this.application.bind({ key: WebSocketBindingKeys.WEBSOCKET_INSTANCE }).toValue(wsHelper);\n\n const wsPath = serverOptions.path ?? WebSocketDefaults.PATH;\n\n serverInstance.reload({\n fetch: createBunFetchHandler({ wsPath, honoServer }),\n websocket: wsHelper.getBunWebSocketHandler(),\n });\n\n logger.info('WebSocket initialized for Bun runtime');\n },\n });\n }\n\n override binding(): ValueOrPromise<void> {\n const logger = this.logger.for(this.binding.name);\n\n if (!this.application) {\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n message: '[binding] Invalid application to bind WebSocketComponent',\n });\n }\n\n logger.info('Binding WebSocket for application...');\n\n const runtime = RuntimeModules.detect();\n if (runtime === RuntimeModules.NODE) {\n throw getError({\n statusCode: HTTP.ResultCodes.RS_5.InternalServerError,\n message:\n '[WebSocketComponent] Node.js runtime is not supported yet. Please use Bun runtime.',\n });\n }\n\n const resolved = this.resolveBindings();\n logger.debug('WebSocket Server Options: %j', this.serverOptions);\n\n this.registerBunHook(resolved);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.handler.js","sourceRoot":"","sources":["../../../../src/components/websocket/handlers/bun.handler.ts"],"names":[],"mappings":";;AAIA,sDA4BC;AA/BD,sDAAyD;AAGzD,SAAgB,qBAAqB,CAAC,IAGrC;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEpC,OAAO,KAAK,EAAE,GAAY,EAAE,MAA0B,EAAiC,EAAE;QACvF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,kBAAkB,GACtB,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,CAAC;QAEvF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,mFAAmF;QACnF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACrC,IAAI,EAAE;gBACJ,QAAQ,EAAE,iBAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;aACxC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,QAAQ,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"bun.handler.js","sourceRoot":"","sources":["../../../../src/components/websocket/handlers/bun.handler.ts"],"names":[],"mappings":";;AAIA,sDA4BC;AA/BD,sDAAyD;AAGzD,SAAgB,qBAAqB,CAAC,IAGrC;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEpC,OAAO,KAAK,EAAE,GAAY,EAAE,MAA0B,EAAiC,EAAE;QACvF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,kBAAkB,GACtB,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,CAAC;QAEvF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,mFAAmF;QACnF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACrC,IAAI,EAAE;gBACJ,QAAQ,EAAE,iBAAU,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;aACxC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,QAAQ,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { TBunServerInstance } from '@/base/applications';\nimport { UuidHelper } from '@venizia/ignis-helpers/core';\nimport type { OpenAPIHono } from '@hono/zod-openapi';\n\nexport function createBunFetchHandler(opts: {\n wsPath: string;\n honoServer: OpenAPIHono;\n}): (req: Request, server: TBunServerInstance) => Promise<Response | undefined> {\n const { wsPath, honoServer } = opts;\n\n return async (req: Request, server: TBunServerInstance): Promise<Response | undefined> => {\n const url = new URL(req.url);\n const isWebSocketUpgrade =\n url.pathname === wsPath && req.headers.get('upgrade')?.toLowerCase() === 'websocket';\n\n if (!isWebSocketUpgrade) {\n return honoServer.fetch(req, server);\n }\n\n // Accept connection — authentication happens post-connect via 'authenticate' event\n const isUpgraded = server.upgrade(req, {\n data: {\n clientId: UuidHelper.getInstance().v4(),\n },\n });\n\n if (!isUpgraded) {\n return new Response('WebSocket upgrade failed', { status: 500 });\n }\n\n return undefined;\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/websocket/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/websocket/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B","sourcesContent":["export * from './bun.handler';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/websocket/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/websocket/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8CAA4B","sourcesContent":["export * from './common/keys';\nexport * from './component';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0FAA0F;AAC1F,gGAAgG;AAChG,gGAAgG;AAChG,8FAA8F;AAC9F,4FAA4F;AAC5F,qEAAmD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0FAA0F;AAC1F,gGAAgG;AAChG,gGAAgG;AAChG,8FAA8F;AAC9F,4FAA4F;AAC5F,qEAAmD","sourcesContent":["// Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so the root of\n// `@venizia/ignis` re-exports the same surface it did before the move: the pre-move root barrel\n// re-exported `./postgres` only, never the neutral relational/search cores, so re-exporting the\n// package root here instead would both drop postgres's names and collide on shared type names\n// (`TTableObject`, `TRelationConfig`, ...) that postgres redeclares rather than re-exports.\nexport * from '@venizia/ignis-connectors/postgres';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/meilisearch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wJAAwJ;AACxJ,wEAAsD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/meilisearch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wJAAwJ;AACxJ,wEAAsD","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/meilisearch` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/meilisearch';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-postgres.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mKAAmK;AACnK,mFAAiE"}
|
|
1
|
+
{"version":3,"file":"node-postgres.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mKAAmK;AACnK,mFAAiE","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/postgres/node-postgres` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/postgres/node-postgres';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pglite.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/pglite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4JAA4J;AAC5J,4EAA0D"}
|
|
1
|
+
{"version":3,"file":"pglite.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/pglite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4JAA4J;AAC5J,4EAA0D","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/postgres/pglite` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/postgres/pglite';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-js.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iKAAiK;AACjK,iFAA+D"}
|
|
1
|
+
{"version":3,"file":"postgres-js.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iKAAiK;AACjK,iFAA+D","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/postgres/postgres-js` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/postgres/postgres-js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-js.mjs","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.mts"],"names":[],"mappings":"AAAA,4KAA4K;AAC5K,cAAc,gDAAgD,CAAC"}
|
|
1
|
+
{"version":3,"file":"postgres-js.mjs","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.mts"],"names":[],"mappings":"AAAA,4KAA4K;AAC5K,cAAc,gDAAgD,CAAC","sourcesContent":["/** ESM twin of `postgres-js.ts`, served to `import`: the CommonJS chain `require()`s `postgres`, which Bun refuses while an ESM importer of `postgres` is still loading. */\nexport * from '@venizia/ignis-connectors/postgres/postgres-js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/postgres/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qJAAqJ;AACrJ,qEAAmD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/postgres/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qJAAqJ;AACrJ,qEAAmD","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/postgres` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/postgres';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/supabase/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8JAA8J;AAC9J,8EAA4D"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/supabase/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8JAA8J;AAC9J,8EAA4D","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/postgres/supabase` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/postgres/supabase';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/relational/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uJAAuJ;AACvJ,uEAAqD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/relational/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uJAAuJ;AACvJ,uEAAqD","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/relational` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/relational';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/search/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+JAA+J;AAC/J,+EAA6D"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/search/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+JAA+J;AAC/J,+EAA6D","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/search/controllers` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/search/controllers';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mJAAmJ;AACnJ,mEAAiD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mJAAmJ;AACnJ,mEAAiD","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/search` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/search';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsql.js","sourceRoot":"","sources":["../../../../src/connectors/sqlite/drivers/libsql.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0JAA0J;AAC1J,0EAAwD"}
|
|
1
|
+
{"version":3,"file":"libsql.js","sourceRoot":"","sources":["../../../../src/connectors/sqlite/drivers/libsql.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0JAA0J;AAC1J,0EAAwD","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/sqlite/libsql` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/sqlite/libsql';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/sqlite/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mJAAmJ;AACnJ,mEAAiD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/sqlite/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mJAAmJ;AACnJ,mEAAiD","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/sqlite` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/sqlite';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/typesense/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kKAAkK;AAClK,kFAAgE"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/typesense/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kKAAkK;AAClK,kFAAgE","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/typesense/controllers` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/typesense/controllers';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/typesense/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sJAAsJ;AACtJ,sEAAoD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/typesense/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sJAAsJ;AACtJ,sEAAoD","sourcesContent":["/** Alias barrel - the connectors moved to `@venizia/ignis-connectors`. Kept so `@venizia/ignis/typesense` keeps resolving for published consumers. */\nexport * from '@venizia/ignis-connectors/typesense';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-helper.js","sourceRoot":"","sources":["../../src/helpers/base-helper.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AAA3C,2GAAA,UAAU,OAAA"}
|
|
1
|
+
{"version":3,"file":"base-helper.js","sourceRoot":"","sources":["../../src/helpers/base-helper.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AAA3C,2GAAA,UAAU,OAAA","sourcesContent":["export { BaseHelper } from '@venizia/ignis-helpers';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,wDAAsC;AACtC,sDAAoD;AAA3C,2GAAA,WAAW,OAAA;AAEpB,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,wDAAsC;AACtC,sDAAoD;AAA3C,2GAAA,WAAW,OAAA;AAEpB,gDAA8B","sourcesContent":["// `inversion/**` moved to the kernel, which owns `ErrorSchema` - re-exported explicitly so the two\n// `export *`/`export type *` below resolve the name to a value rather than a type.\nexport type * from '@venizia/ignis-helpers';\nexport * from '@venizia/ignis-kernel';\nexport { ErrorSchema } from '@venizia/ignis-kernel';\n\nexport * from './base-helper';\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,wDAAsC;AAEtC,yCAAuB;AACvB,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,4CAA0B;AAC1B,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,wDAAsC;AAEtC,yCAAuB;AACvB,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,4CAA0B;AAC1B,8CAA4B","sourcesContent":["import 'reflect-metadata';\n\nexport * from '@venizia/ignis-kernel';\n\nexport * from './base';\nexport * from './common';\nexport * from './components';\nexport * from './connectors';\nexport * from './helpers';\nexport * from './utilities';\n\n/**\n * `IApplicationConfigs` from THIS package is the server flavour - the kernel's shape plus `host` and\n * `port`. An application built on `@venizia/ignis` always has a socket, so it should see both.\n *\n * Explicit, and here in the entry module rather than in a barrel: a name exported by two different\n * `export *` lines is ambiguous and TypeScript then exports NEITHER, silently. An explicit export\n * beats every star export, so this line is what makes the widened shape win.\n */\nexport type { IServerApplicationConfigs as IApplicationConfigs } from './base/applications/common/types';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gJAAgJ;AAChJ,oEAAkD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gJAAgJ;AAChJ,oEAAkD","sourcesContent":["/** Test-only entry (`@venizia/ignis/testing`): re-exports `@venizia/ignis-connectors/testing` and is never re-exported from the root barrel. */\nexport * from '@venizia/ignis-connectors/testing';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-result.utility.js","sourceRoot":"","sources":["../../src/utilities/drizzle-result.utility.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAEvD,2DAA2D;AACpD,MAAM,oBAAoB,GAAG,CAAC,IAAyB,EAAU,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,gGAAgG;IAChG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE,6GAA6G,OAAO,MAAM,EAAE;SACtI,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAiD,CAAC;IAE9E,iGAAiG;IACjG,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,eAAe;IACf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAA,eAAQ,EAAC;QACb,OAAO,EAAE,gIAAgI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC1K,CAAC,CAAC;AACL,CAAC,CAAC;AAjCW,QAAA,oBAAoB,wBAiC/B;AAEF,iDAAiD;AAC1C,MAAM,cAAc,GAAG,CAAO,IAAyB,EAAU,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2CAA2C;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE,uGAAuG,OAAO,MAAM,EAAE;SAChI,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAA4B,CAAC;IAE9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAc,CAAC;IACxB,CAAC;IAED,MAAM,IAAA,eAAQ,EAAC;QACb,OAAO,EAAE,+HAA+H,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KACzK,CAAC,CAAC;AACL,CAAC,CAAC;AA5BW,QAAA,cAAc,kBA4BzB"}
|
|
1
|
+
{"version":3,"file":"drizzle-result.utility.js","sourceRoot":"","sources":["../../src/utilities/drizzle-result.utility.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAEvD,2DAA2D;AACpD,MAAM,oBAAoB,GAAG,CAAC,IAAyB,EAAU,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,gGAAgG;IAChG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE,6GAA6G,OAAO,MAAM,EAAE;SACtI,CAAC,CAAC;IACL,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAiD,CAAC;IAE9E,iGAAiG;IACjG,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,eAAe;IACf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAA,eAAQ,EAAC;QACb,OAAO,EAAE,gIAAgI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC1K,CAAC,CAAC;AACL,CAAC,CAAC;AAjCW,QAAA,oBAAoB,wBAiC/B;AAEF,iDAAiD;AAC1C,MAAM,cAAc,GAAG,CAAO,IAAyB,EAAU,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2CAA2C;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAA,eAAQ,EAAC;YACb,OAAO,EAAE,uGAAuG,OAAO,MAAM,EAAE;SAChI,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAA4B,CAAC;IAE9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAc,CAAC;IACxB,CAAC;IAED,MAAM,IAAA,eAAQ,EAAC;QACb,OAAO,EAAE,+HAA+H,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KACzK,CAAC,CAAC;AACL,CAAC,CAAC;AA5BW,QAAA,cAAc,kBA4BzB","sourcesContent":["import { getError } from '@venizia/ignis-helpers/core';\n\n/** Rows affected by a write executed without RETURNING. */\nexport const readAffectedRowCount = (opts: { result: unknown }): number => {\n const { result } = opts;\n\n // Drizzle resolves some statements to nothing at all; the callers already treated that as zero.\n if (result === null || result === undefined) {\n return 0;\n }\n\n if (typeof result !== 'object') {\n throw getError({\n message: `[readAffectedRowCount] Unrecognized driver result | expected pg.QueryResult or postgres-js RowList | got: ${typeof result}`,\n });\n }\n\n const { rowCount, count } = result as { rowCount?: unknown; count?: unknown };\n\n // node-postgres. `rowCount` is null for statements that affect no rows by definition (e.g. DDL).\n if (typeof rowCount === 'number') {\n return rowCount;\n }\n\n if (rowCount === null) {\n return 0;\n }\n\n // postgres-js.\n if (typeof count === 'number') {\n return count;\n }\n\n throw getError({\n message: `[readAffectedRowCount] Unrecognized driver result | expected 'rowCount' (node-postgres) or 'count' (postgres-js) | got keys: ${Object.keys(result).join(', ')}`,\n });\n};\n\n/** Rows returned by `connector.execute(...)`. */\nexport const readResultRows = <TRow>(opts: { result: unknown }): TRow[] => {\n const { result } = opts;\n\n if (result === null || result === undefined) {\n return [];\n }\n\n // postgres-js: the result IS the row list.\n if (Array.isArray(result)) {\n return result as TRow[];\n }\n\n if (typeof result !== 'object') {\n throw getError({\n message: `[readResultRows] Unrecognized driver result | expected pg.QueryResult or postgres-js RowList | got: ${typeof result}`,\n });\n }\n\n // node-postgres: pg.QueryResult.\n const { rows } = result as { rows?: unknown };\n\n if (Array.isArray(rows)) {\n return rows as TRow[];\n }\n\n throw getError({\n message: `[readResultRows] Unrecognized driver result | expected an array (postgres-js) or a 'rows' array (node-postgres) | got keys: ${Object.keys(result).join(', ')}`,\n });\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oFAAoF;AACpF,wDAAsC;AAEtC,2DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oFAAoF;AACpF,wDAAsC;AAEtC,2DAAyC","sourcesContent":["// `error.utility.ts`, `jsx.utility.ts` and `schema.utility.ts` moved to the kernel.\nexport * from '@venizia/ignis-kernel';\n\nexport * from './drizzle-result.utility';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.utility.js","sourceRoot":"","sources":["../../src/utilities/network.utility.ts"],"names":[],"mappings":";;;AAAA,0DAA+D;AAC/D,0DAA0E;AAG1E,MAAa,cAAc;aACD,WAAM,GAAG,iCAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxE,8FAA8F;aAC/E,2BAAsB,GAAG,KAAK,CAAC;IAY9C,8GAA8G;IAC9G,MAAM,CAAC,aAAa,CAAC,OAAgB;QACnC,IAAI,CAAC;YACH,cAAc,CAAC,cAAc,KAAK,CAChC,uBAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CACrF,CAAC,WAAW,CAAC;YAEd,OAAO,cAAc,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,sBAAsB,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,cAAc,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,IAAI,CACxB,qFAAqF,EACrF,6BAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAChC,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;;AApCH,wCAqCC"}
|
|
1
|
+
{"version":3,"file":"network.utility.js","sourceRoot":"","sources":["../../src/utilities/network.utility.ts"],"names":[],"mappings":";;;AAAA,0DAA+D;AAC/D,0DAA0E;AAG1E,MAAa,cAAc;aACD,WAAM,GAAG,iCAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxE,8FAA8F;aAC/E,2BAAsB,GAAG,KAAK,CAAC;IAY9C,8GAA8G;IAC9G,MAAM,CAAC,aAAa,CAAC,OAAgB;QACnC,IAAI,CAAC;YACH,cAAc,CAAC,cAAc,KAAK,CAChC,uBAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CACrF,CAAC,WAAW,CAAC;YAEd,OAAO,cAAc,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc,CAAC,sBAAsB,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,cAAc,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,IAAI,CACxB,qFAAqF,EACrF,6BAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAChC,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;;AApCH,wCAqCC","sourcesContent":["import { RuntimeModules } from '@venizia/ignis-helpers/common';\nimport { ApplicationLogger, ErrorPrettier } from '@venizia/ignis-helpers';\nimport type { Context } from 'hono';\n\nexport class NetworkUtility {\n private static readonly logger = ApplicationLogger.get('getIncomingIp');\n /** Latches the warning: an absent conninfo peer fails identically for every later request. */\n private static hasReportedUnavailable = false;\n\n /**\n * Resolved once, on first use - not per request.\n *\n * `require()` re-walks module resolution on every call: measured at 1.35 us per request against\n * 0.014 us once memoised, and `RequestSpyMiddleware` puts this on the DEFAULT request path. Still\n * LAZY, though - `@hono/node-server` is an optional peer, so resolving it at module load would\n * make an absent optional dependency a startup failure instead of a per-request fallback.\n */\n private static connInfoReader?: (context: Context) => { remote?: { address?: string } };\n\n /** Reads the incoming IP from connection info across runtimes (Bun, Node.js) via runtime-specific methods. */\n static getIncomingIp(context: Context): string | null {\n try {\n NetworkUtility.connInfoReader ??= (\n RuntimeModules.isBun() ? require('hono/bun') : require('@hono/node-server/conninfo')\n ).getConnInfo;\n\n return NetworkUtility.connInfoReader?.(context)?.remote?.address ?? null;\n } catch (error) {\n if (NetworkUtility.hasReportedUnavailable) {\n return null;\n }\n\n NetworkUtility.hasReportedUnavailable = true;\n NetworkUtility.logger.warn(\n '[getIncomingIp] Connection info unavailable - reporting null for every request | %s',\n ErrorPrettier.format({ error }),\n );\n\n return null;\n }\n }\n}\n"]}
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
"side": "backend",
|
|
4
4
|
"summary": "An IGNIS API on Bun: one controller, AutoArtifacts, the API reference at /api/doc/explorer.",
|
|
5
5
|
"devPort": 3000,
|
|
6
|
+
"urls": [
|
|
7
|
+
"/api/hello",
|
|
8
|
+
"/api/doc/explorer"
|
|
9
|
+
],
|
|
6
10
|
"dependencies": {
|
|
7
11
|
"@hono/zod-openapi": "^1.6.3",
|
|
8
12
|
"@scalar/hono-api-reference": "^0.11.16",
|
|
9
|
-
"@venizia/ignis": "0.3.
|
|
10
|
-
"@venizia/ignis-boot": "0.3.
|
|
11
|
-
"@venizia/ignis-helpers": "0.3.
|
|
13
|
+
"@venizia/ignis": "0.3.2",
|
|
14
|
+
"@venizia/ignis-boot": "0.3.2",
|
|
15
|
+
"@venizia/ignis-helpers": "0.3.2",
|
|
12
16
|
"hono": "^4.13.7",
|
|
13
17
|
"winston": "^3.19.0",
|
|
14
18
|
"winston-daily-rotate-file": "^5.0.0",
|
|
@@ -29,7 +33,7 @@
|
|
|
29
33
|
"dev": "NODE_ENV=development bun run src/index.ts",
|
|
30
34
|
"start": "NODE_ENV=production bun run dist/index.js",
|
|
31
35
|
"build": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
|
|
32
|
-
"typecheck": "
|
|
36
|
+
"typecheck": "bun check --no-pretty -p tsconfig.json",
|
|
33
37
|
"lint": "oxlint -c .configs/oxlint.config.mts --deny-warnings && eslint -c .configs/eslint.config.mjs . && oxfmt -c .configs/oxfmt.config.mts --check \"**/*.{ts,tsx,mts,js,mjs}\"",
|
|
34
38
|
"lint:fix": "oxlint -c .configs/oxlint.config.mts --fix && eslint -c .configs/eslint.config.mjs . --fix && oxfmt -c .configs/oxfmt.config.mts \"**/*.{ts,tsx,mts,js,mjs}\"",
|
|
35
39
|
"test": "bun test"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ignis",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"access-control",
|
|
@@ -198,11 +198,11 @@
|
|
|
198
198
|
"prepublishOnly": "make rebuild"
|
|
199
199
|
},
|
|
200
200
|
"dependencies": {
|
|
201
|
-
"@venizia/ignis-connectors": "0.3.
|
|
202
|
-
"@venizia/ignis-filter": "0.3.
|
|
203
|
-
"@venizia/ignis-helpers": "0.3.
|
|
204
|
-
"@venizia/ignis-inversion": "0.3.
|
|
205
|
-
"@venizia/ignis-kernel": "0.3.
|
|
201
|
+
"@venizia/ignis-connectors": "0.3.2",
|
|
202
|
+
"@venizia/ignis-filter": "0.3.2",
|
|
203
|
+
"@venizia/ignis-helpers": "0.3.2",
|
|
204
|
+
"@venizia/ignis-inversion": "0.3.2",
|
|
205
|
+
"@venizia/ignis-kernel": "0.3.2",
|
|
206
206
|
"reflect-metadata": "^0.2.2"
|
|
207
207
|
},
|
|
208
208
|
"peerDependencies": {
|
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
"@types/nodemailer": "^8.0.1",
|
|
308
308
|
"@types/pg": "^8.23.1",
|
|
309
309
|
"@venizia/dev-configs": "0.3.1",
|
|
310
|
-
"@venizia/ignis-boot": "0.3.
|
|
310
|
+
"@venizia/ignis-boot": "0.3.2",
|
|
311
311
|
"casbin": "^5.51.1",
|
|
312
312
|
"eslint": "^10.10.0",
|
|
313
313
|
"meilisearch": "^0.60.0",
|