appos 0.2.4-0 → 0.3.1-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.
Files changed (135) hide show
  1. package/dist/bin/{auth-schema-7KeUwlcd.mjs → auth-schema-Va0CYicu.mjs} +1 -1
  2. package/dist/bin/concurrently.mjs +1 -1
  3. package/dist/bin/event-8JibGFH_.mjs +2 -0
  4. package/dist/bin/extract-blob-metadata-DjPfHtQ2.mjs +2 -0
  5. package/dist/bin/generate-image-variant-D5VDFyWj.mjs +2 -0
  6. package/dist/bin/generate-preview-Dssw7w5U.mjs +2 -0
  7. package/dist/bin/main.mjs +14 -38
  8. package/dist/bin/{purge-attachment-CMlJMNOk.mjs → purge-attachment-BBPzIxwt.mjs} +2 -2
  9. package/dist/bin/{purge-audit-logs-hd6q6vnR.mjs → purge-audit-logs-BeZy3IFM.mjs} +2 -2
  10. package/dist/bin/{purge-unattached-blobs-BYv5b9R9.mjs → purge-unattached-blobs-Duvv8Izd.mjs} +2 -2
  11. package/dist/bin/{track-db-changes-q0Vl7Htm.mjs → track-db-changes-CFykw_YO.mjs} +2 -2
  12. package/dist/bin/vite.mjs +1 -1
  13. package/dist/bin/vitest.mjs +1 -1
  14. package/dist/bin/workflow-BNUZrj4F.mjs +2 -0
  15. package/dist/bin/{youch-handler-Jj6i1XIT.mjs → youch-handler-BadUgHb0.mjs} +1 -1
  16. package/dist/exports/api/auth.mjs +1 -1
  17. package/dist/exports/api/constants.mjs +1 -0
  18. package/dist/exports/api/database.mjs +1 -1
  19. package/dist/exports/api/event.mjs +1 -1
  20. package/dist/exports/api/i18n.mjs +1 -1
  21. package/dist/exports/api/index.d.mts +2 -2
  22. package/dist/exports/api/index.mjs +1 -1
  23. package/dist/exports/api/instrumentation.mjs +1 -0
  24. package/dist/exports/api/middleware.mjs +1 -1
  25. package/dist/exports/api/openapi.d.mts +2 -2
  26. package/dist/exports/api/openapi.mjs +1 -1
  27. package/dist/exports/api/otel.d.mts +1 -1
  28. package/dist/exports/api/otel.mjs +1 -1
  29. package/dist/exports/api/workflow.mjs +1 -1
  30. package/dist/exports/api/workflows/api/event.mjs +1 -0
  31. package/dist/exports/api/workflows/{orm.d.mts → api/orm.d.mts} +1 -1
  32. package/dist/exports/api/workflows/{storage.d.mts → api/storage.d.mts} +1 -1
  33. package/dist/exports/api/workflows/api/workflow.mjs +1 -0
  34. package/dist/exports/api/workflows/constants.mjs +1 -0
  35. package/dist/exports/api/workflows/extract-blob-metadata.mjs +1 -1
  36. package/dist/exports/api/workflows/generate-image-variant.d.mts +2 -2
  37. package/dist/exports/api/workflows/generate-image-variant.mjs +1 -1
  38. package/dist/exports/api/workflows/generate-preview.mjs +1 -1
  39. package/dist/exports/api/workflows/purge-attachment.mjs +1 -1
  40. package/dist/exports/api/workflows/purge-audit-logs.mjs +1 -1
  41. package/dist/exports/api/workflows/purge-unattached-blobs.mjs +1 -1
  42. package/dist/exports/api/workflows/track-db-changes.d.mts +2 -2
  43. package/dist/exports/api/workflows/track-db-changes.mjs +1 -1
  44. package/dist/exports/cli/api/event.mjs +1 -1
  45. package/dist/exports/cli/api/workflow.mjs +1 -1
  46. package/dist/exports/cli/api/workflows/extract-blob-metadata.mjs +1 -1
  47. package/dist/exports/cli/api/workflows/generate-image-variant.mjs +1 -1
  48. package/dist/exports/cli/api/workflows/generate-preview.mjs +1 -1
  49. package/dist/exports/cli/constants.mjs +1 -0
  50. package/dist/exports/tests/api/app-context.mjs +1 -0
  51. package/dist/exports/tests/api/event.mjs +1 -0
  52. package/dist/exports/tests/{packages/appos/src/api → api}/index.d.mts +2 -2
  53. package/dist/exports/tests/api/middleware.mjs +1 -0
  54. package/dist/exports/tests/{packages/appos/src/api → api}/openapi.d.mts +2 -2
  55. package/dist/exports/tests/api/openapi.mjs +1 -0
  56. package/dist/exports/tests/{packages/appos/src/api → api}/orm.d.mts +1 -1
  57. package/dist/exports/tests/api/server.mjs +1 -0
  58. package/dist/exports/tests/api/workflow.mjs +1 -0
  59. package/dist/exports/tests/api/workflows/extract-blob-metadata.mjs +1 -0
  60. package/dist/exports/tests/api/workflows/generate-image-variant.mjs +1 -0
  61. package/dist/exports/tests/api/workflows/generate-preview.mjs +1 -0
  62. package/dist/exports/tests/api.d.mts +3 -3
  63. package/dist/exports/tests/api.mjs +1 -1
  64. package/dist/exports/tests/constants.mjs +1 -0
  65. package/dist/exports/tests/instrumentation.mjs +1 -0
  66. package/package.json +8 -10
  67. package/dist/bin/event-v2sCJkNd.mjs +0 -2
  68. package/dist/bin/extract-blob-metadata-TqNd9w-6.mjs +0 -2
  69. package/dist/bin/generate-image-variant-D8H9FxgD.mjs +0 -2
  70. package/dist/bin/generate-preview-5jLZLX6I.mjs +0 -2
  71. package/dist/bin/workflow-BagSlsMp.mjs +0 -2
  72. package/dist/exports/api/node_modules/.bun/change-case@5.4.4/node_modules/change-case/dist/index.mjs +0 -1
  73. package/dist/exports/api/packages/appos/src/constants.mjs +0 -1
  74. package/dist/exports/api/packages/appos/src/instrumentation.mjs +0 -1
  75. package/dist/exports/api/workflows/event.mjs +0 -1
  76. package/dist/exports/api/workflows/workflow.mjs +0 -1
  77. package/dist/exports/tests/node_modules/.bun/change-case@5.4.4/node_modules/change-case/dist/index.mjs +0 -1
  78. package/dist/exports/tests/node_modules/.bun/rate-limit-redis@4.3.1_f1fa5524233c9c60/node_modules/rate-limit-redis/dist/index.mjs +0 -25
  79. package/dist/exports/tests/packages/appos/src/api/event.mjs +0 -1
  80. package/dist/exports/tests/packages/appos/src/api/middleware.mjs +0 -1
  81. package/dist/exports/tests/packages/appos/src/api/server.mjs +0 -1
  82. package/dist/exports/tests/packages/appos/src/api/workflow.mjs +0 -1
  83. package/dist/exports/tests/packages/appos/src/api/workflows/extract-blob-metadata.mjs +0 -1
  84. package/dist/exports/tests/packages/appos/src/api/workflows/generate-image-variant.mjs +0 -1
  85. package/dist/exports/tests/packages/appos/src/api/workflows/generate-preview.mjs +0 -1
  86. package/dist/exports/tests/packages/appos/src/constants.mjs +0 -1
  87. package/dist/exports/tests/packages/appos/src/instrumentation.mjs +0 -1
  88. /package/dist/exports/api/{packages/appos/src/instrumentation.d.mts → instrumentation.d.mts} +0 -0
  89. /package/dist/exports/api/{packages/appos/src/web → web}/auth.mjs +0 -0
  90. /package/dist/exports/api/workflows/{auth-schema.mjs → api/auth-schema.mjs} +0 -0
  91. /package/dist/exports/api/workflows/{auth.d.mts → api/auth.d.mts} +0 -0
  92. /package/dist/exports/api/workflows/{cache.d.mts → api/cache.d.mts} +0 -0
  93. /package/dist/exports/api/workflows/{config.d.mts → api/config.d.mts} +0 -0
  94. /package/dist/exports/api/workflows/{container.d.mts → api/container.d.mts} +0 -0
  95. /package/dist/exports/api/workflows/{database.d.mts → api/database.d.mts} +0 -0
  96. /package/dist/exports/api/workflows/{event.d.mts → api/event.d.mts} +0 -0
  97. /package/dist/exports/api/workflows/{logger.d.mts → api/logger.d.mts} +0 -0
  98. /package/dist/exports/api/workflows/{mailer.d.mts → api/mailer.d.mts} +0 -0
  99. /package/dist/exports/api/workflows/{redis.mjs → api/redis.mjs} +0 -0
  100. /package/dist/exports/api/workflows/{storage-schema.d.mts → api/storage-schema.d.mts} +0 -0
  101. /package/dist/exports/api/workflows/{workflow.d.mts → api/workflow.d.mts} +0 -0
  102. /package/dist/exports/tests/{packages/appos/src/api → api}/app-context.d.mts +0 -0
  103. /package/dist/exports/tests/{packages/appos/src/api → api}/auth-schema.d.mts +0 -0
  104. /package/dist/exports/tests/{packages/appos/src/api → api}/auth-schema.mjs +0 -0
  105. /package/dist/exports/tests/{packages/appos/src/api → api}/auth.d.mts +0 -0
  106. /package/dist/exports/tests/{packages/appos/src/api → api}/cache.d.mts +0 -0
  107. /package/dist/exports/tests/{packages/appos/src/api → api}/config.d.mts +0 -0
  108. /package/dist/exports/tests/{packages/appos/src/api → api}/container.d.mts +0 -0
  109. /package/dist/exports/tests/{packages/appos/src/api → api}/database.d.mts +0 -0
  110. /package/dist/exports/tests/{packages/appos/src/api → api}/database.mjs +0 -0
  111. /package/dist/exports/tests/{packages/appos/src/api → api}/event.d.mts +0 -0
  112. /package/dist/exports/tests/{packages/appos/src/api → api}/i18n.d.mts +0 -0
  113. /package/dist/exports/tests/{packages/appos/src/api → api}/logger.d.mts +0 -0
  114. /package/dist/exports/tests/{packages/appos/src/api → api}/mailer.d.mts +0 -0
  115. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/error-handler.mjs +0 -0
  116. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/health.mjs +0 -0
  117. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/i18n.mjs +0 -0
  118. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/request-logger.d.mts +0 -0
  119. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/request-logger.mjs +0 -0
  120. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/shutdown.mjs +0 -0
  121. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/timeout.mjs +0 -0
  122. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware/youch-handler.mjs +0 -0
  123. /package/dist/exports/tests/{packages/appos/src/api → api}/middleware.d.mts +0 -0
  124. /package/dist/exports/tests/{packages/appos/src/api → api}/otel.d.mts +0 -0
  125. /package/dist/exports/tests/{packages/appos/src/api → api}/redis.d.mts +0 -0
  126. /package/dist/exports/tests/{packages/appos/src/api → api}/redis.mjs +0 -0
  127. /package/dist/exports/tests/{packages/appos/src/api → api}/storage-schema.d.mts +0 -0
  128. /package/dist/exports/tests/{packages/appos/src/api → api}/storage.d.mts +0 -0
  129. /package/dist/exports/tests/{packages/appos/src/api → api}/workflow.d.mts +0 -0
  130. /package/dist/exports/tests/{packages/appos/src/api → api}/workflows/generate-image-variant.d.mts +0 -0
  131. /package/dist/exports/tests/{packages/appos/src/api → api}/workflows/purge-attachment.mjs +0 -0
  132. /package/dist/exports/tests/{packages/appos/src/api → api}/workflows/purge-audit-logs.mjs +0 -0
  133. /package/dist/exports/tests/{packages/appos/src/api → api}/workflows/purge-unattached-blobs.mjs +0 -0
  134. /package/dist/exports/tests/{packages/appos/src/api → api}/workflows/track-db-changes.mjs +0 -0
  135. /package/dist/exports/tests/{packages/appos/src/instrumentation.d.mts → instrumentation.d.mts} +0 -0
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node --import=appos/instrumentation --no-warnings
1
+ #!/usr/bin/env node
2
2
  import{sql as e}from"drizzle-orm";import{pgTable as t}from"drizzle-orm/pg-core";function n(){let n=t(`accounts`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),accessToken:t.text(`access_token`),accessTokenExpiresAt:t.timestamp(`access_token_expires_at`,{mode:`string`,withTimezone:!0}),accountId:t.text(`account_id`).notNull(),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),idToken:t.text(`id_token`),providerId:t.text(`provider_id`).notNull(),password:t.text(`password`),userId:t.text(`user_id`).notNull().references(()=>l.id,{onDelete:`cascade`}),refreshToken:t.text(`refresh_token`),refreshTokenExpiresAt:t.timestamp(`refresh_token_expires_at`,{mode:`string`,withTimezone:!0}),scope:t.text(`scope`),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull()}),e=>[]),r=t(`api_keys`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),name:t.text(`name`),enabled:t.boolean(`enabled`).default(!0),expiresAt:t.timestamp(`expires_at`,{mode:`string`,withTimezone:!0}),key:t.text(`key`).notNull(),lastRefillAt:t.timestamp(`last_refill_at`,{mode:`string`,withTimezone:!0}),lastRequest:t.timestamp(`last_request`,{mode:`string`,withTimezone:!0}),lastUsedAt:t.timestamp(`last_used_at`,{mode:`string`,withTimezone:!0}),metadata:t.text(`metadata`),permissions:t.text(`permissions`),prefix:t.text(`prefix`),rateLimitEnabled:t.boolean(`rate_limit_enabled`).default(!0),rateLimitTimeWindow:t.integer(`rate_limit_time_window`).default(864e5),rateLimitMax:t.integer(`rate_limit_max`).default(10),refillInterval:t.integer(`refill_interval`),refillAmount:t.integer(`refill_amount`),requestCount:t.integer(`request_count`),remaining:t.integer(`remaining`),start:t.text(`start`),userId:t.text(`user_id`).notNull().references(()=>l.id,{onDelete:`cascade`}),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull()}),e=>[]),i=t(`invitations`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),email:t.text(`email`).notNull(),expiresAt:t.timestamp(`expires_at`,{mode:`string`,withTimezone:!0}).notNull(),inviterId:t.text(`inviter_id`).notNull().references(()=>l.id,{onDelete:`cascade`}),organizationId:t.text(`organization_id`).notNull().references(()=>o.id,{onDelete:`cascade`}),role:t.text(`role`),status:t.text(`status`).default(`pending`).notNull(),teamId:t.text(`team_id`),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull()}),e=>[]),a=t(`members`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),organizationId:t.text(`organization_id`).notNull().references(()=>o.id,{onDelete:`cascade`}),role:t.text(`role`).default(`member`).notNull(),userId:t.text(`user_id`).notNull().references(()=>l.id,{onDelete:`cascade`}),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull()}),e=>[]),o=t(`organizations`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),name:t.text(`name`).notNull(),slug:t.text(`slug`).unique(),logo:t.text(`logo`),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),metadata:t.text(`metadata`)}),e=>[]),s=t(`sessions`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),activeOrganizationId:t.text(`active_organization_id`).references(()=>o.id,{onDelete:`set null`}),activeTeamId:t.text(`active_team_id`),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),expiresAt:t.timestamp(`expires_at`,{mode:`string`,withTimezone:!0}).notNull(),impersonatedBy:t.text(`impersonated_by`).references(()=>l.id,{onDelete:`set null`}),ipAddress:t.text(`ip_address`),token:t.text(`token`).notNull().unique(),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),userAgent:t.text(`user_agent`),userId:t.text(`user_id`).notNull().references(()=>l.id,{onDelete:`cascade`})}),e=>[]),c=t(`sso_providers`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),domain:t.text(`domain`).notNull(),issuer:t.text(`issuer`).notNull(),oidcConfig:t.text(`oidc_config`),organizationId:t.text(`organization_id`).references(()=>o.id,{onDelete:`cascade`}),providerId:t.text(`provider_id`).notNull().unique(),samlConfig:t.text(`saml_config`),userId:t.text(`user_id`).references(()=>l.id,{onDelete:`cascade`})}),e=>[]),l=t(`users`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),banExpires:t.timestamp(`ban_expires`,{mode:`string`,withTimezone:!0}),banReason:t.text(`ban_reason`),banned:t.boolean(`banned`).default(!1),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),displayUsername:t.text(`display_username`),email:t.text(`email`).notNull().unique(),emailVerified:t.boolean(`email_verified`).default(!1).notNull(),image:t.text(`image`),isAnonymous:t.boolean(`is_anonymous`),lastLoginMethod:t.text(`last_login_method`),name:t.text(`name`).notNull(),phoneNumber:t.text(`phone_number`).unique(),phoneNumberVerified:t.boolean(`phone_number_verified`),role:t.text(`role`),twoFactorEnabled:t.boolean(`two_factor_enabled`).default(!1),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),username:t.text(`username`).unique()}),e=>[]),u=t(`teams`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),name:t.text(`name`).notNull(),organizationId:t.text(`organization_id`).notNull().references(()=>o.id,{onDelete:`cascade`}),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull()}),e=>[]),d=t(`team_members`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),teamId:t.text(`team_id`).notNull().references(()=>u.id,{onDelete:`cascade`}),userId:t.text(`user_id`).notNull().references(()=>l.id,{onDelete:`cascade`}),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull()}),e=>[]),f=t(`two_factors`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),secret:t.text(`secret`).notNull(),backupCodes:t.text(`backup_codes`).notNull(),userId:t.text(`user_id`).notNull().references(()=>l.id,{onDelete:`cascade`})}),e=>[]),p=t(`verifications`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),expiresAt:t.timestamp(`expires_at`,{mode:`string`,withTimezone:!0}).notNull(),identifier:t.text(`identifier`).notNull(),updatedAt:t.timestamp(`updated_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull(),value:t.text(`value`).notNull()}),e=>[]);return{tables:{accounts:n,apiKeys:r,auditLogs:t(`audit_logs`,t=>({id:t.text(`id`).primaryKey().default(e`uuidv7()`),tableName:t.text(`table_name`),action:t.text(`action`).notNull(),customAction:t.text(`custom_action`),oldData:t.jsonb(`old_data`),newData:t.jsonb(`new_data`),metadata:t.jsonb(`metadata`),organizationId:t.text(`organization_id`).references(()=>o.id,{onDelete:`set null`}),userId:t.text(`user_id`).references(()=>l.id,{onDelete:`set null`}),sessionId:t.text(`session_id`).references(()=>s.id,{onDelete:`set null`}),requestId:t.text(`request_id`),createdAt:t.timestamp(`created_at`,{mode:`string`,withTimezone:!0}).default(e`NOW()`).notNull()}),e=>[]),invitations:i,members:a,organizations:o,sessions:s,ssoProviders:c,teams:u,teamMembers:d,twoFactors:f,users:l,verifications:p},relations:e=>({users:{sessions:e.many.sessions({from:e.users.id,to:e.sessions.userId}),accounts:e.many.accounts({from:e.users.id,to:e.accounts.userId}),apiKeys:e.many.apiKeys({from:e.users.id,to:e.apiKeys.userId}),memberships:e.many.members({from:e.users.id,to:e.members.userId}),invitations:e.many.invitations({from:e.users.id,to:e.invitations.inviterId}),ssoProvider:e.one.ssoProviders({from:e.users.id,to:e.ssoProviders.userId}),twoFactor:e.one.twoFactors({from:e.users.id,to:e.twoFactors.userId})},sessions:{user:e.one.users({from:e.sessions.userId,to:e.users.id})},accounts:{user:e.one.users({from:e.accounts.userId,to:e.users.id})},apiKeys:{user:e.one.users({from:e.apiKeys.userId,to:e.users.id})},organizations:{members:e.many.members({from:e.organizations.id,to:e.members.organizationId}),invitations:e.many.invitations({from:e.organizations.id,to:e.invitations.organizationId}),teams:e.many.teams({from:e.organizations.id,to:e.teams.organizationId})},members:{organization:e.one.organizations({from:e.members.organizationId,to:e.organizations.id}),user:e.one.users({from:e.members.userId,to:e.users.id})},invitations:{organization:e.one.organizations({from:e.invitations.organizationId,to:e.organizations.id}),inviter:e.one.users({from:e.invitations.inviterId,to:e.users.id})},teams:{organization:e.one.organizations({from:e.teams.organizationId,to:e.organizations.id})},ssoProviders:{user:e.one.users({from:e.ssoProviders.userId,to:e.users.id})},verifications:{},twoFactors:{user:e.one.users({from:e.twoFactors.userId,to:e.users.id})},auditLogs:{organization:e.one.organizations({from:e.auditLogs.organizationId,to:e.organizations.id}),user:e.one.users({from:e.auditLogs.userId,to:e.users.id}),session:e.one.sessions({from:e.auditLogs.sessionId,to:e.sessions.id})}})}}export{n as t};
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node --import=appos/instrumentation --no-warnings
1
+ #!/usr/bin/env node
2
2
  import{createRequire as e}from"node:module";import{spawn as t}from"node:child_process";import{dirname as n,join as r}from"node:path";const i=r(n(e(import.meta.url).resolve(`concurrently/package.json`)),`dist`,`bin`,`concurrently.js`);t(process.execPath,[i,...process.argv.slice(2)],{stdio:`inherit`}).on(`exit`,e=>process.exit(e??0));export{};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{c as e,i as t,s as n}from"./workflow-BNUZrj4F.mjs";import{basename as r,join as i}from"node:path";import{glob as a}from"node:fs/promises";import{camelCase as o}from"es-toolkit";import{z as s}from"zod";import{createClient as c}from"redis";function l(e){let t=null,n=null;return{inputSchema:e.input,get name(){return n},register(e,r){t=e,n=r},async emit(r){if(!t||!n)throw Error(`Event not registered. Ensure the worker is started before emitting events.`);let i=e.input.parse(r),a={container:t,input:i};await e.run(a),t.eventBus.publish(n,i).catch(e=>{t.logger.error({err:e,event:n},`Redis publish failed`)})},async subscribe(r){if(!t||!n)throw Error(`Event not registered. Ensure the worker is started before subscribing.`);return t.eventBus.subscribe(n,async i=>{let a=e.input.parse(i),o={container:t,input:a};try{await r(o)}catch(e){t.logger.error({err:e,event:n},`Event subscription handler error`)}})}}}const u=l({input:s.object({action:s.enum([`INSERT`,`UPDATE`,`DELETE`]),newData:s.record(s.string(),s.unknown()).nullable(),oldData:s.record(s.string(),s.unknown()).nullable(),organizationId:s.string().nullable(),tableName:s.string(),timestamp:s.string(),userId:s.string().nullable()}),async run(){}});function d(e){return o(r(e,`.ts`))}async function f(r){let{container:o}=r,s=r.eventsDir??i(process.cwd(),t,n);u.register(o,`dbChanges`);let c=await Array.fromAsync(a(`${s}/**/*.${e}`,{exclude:[`**/*.test.ts`,`**/*.spec.ts`,`**/*.test.js`,`**/*.spec.js`]}));for(let e of c){let t=await import(e);if(t.default&&typeof t.default==`object`&&`emit`in t.default&&`subscribe`in t.default){let n=d(e);t.default.register(o,n)}}}export{f as n,u as t};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{n as e}from"./workflow-BNUZrj4F.mjs";import{join as t}from"node:path";import n from"zod";import{ALL_FORMATS as r,BlobSource as i,Input as a}from"mediabunny";const o=e({input:n.object({blobId:n.string()}),async run({container:e,input:{blobId:n},step:o}){let s=await o(`fetch-blob`,async()=>e.storage.primary.getBlob(n));if(!s)throw Error(`Blob ${n} not found`);let c=await o(`download-blob`,async()=>e.storage.primary.downloadBlob(n));if(!c)throw Error(`Failed to download blob ${n}`);let l={};return s.contentType?.startsWith(`image/`)?l=await o(`extract-image-metadata`,async()=>{let e=(await import(`sharp`)).default,t=await e(c).metadata();return{width:t.width,height:t.height,format:t.format,hasAlpha:t.hasAlpha,space:t.space}}):s.contentType?.startsWith(`video/`)||s.contentType?.startsWith(`audio/`)?l=await o(`extract-media-metadata`,async()=>{let e=new Uint8Array(c),t=new a({source:new i(new Blob([e],{type:s.contentType||`video/mp4`})),formats:r}),n=await t.computeDuration(),o=await t.getMetadataTags(),l={},u={},d=!1,f=!1;try{let e=await t.getPrimaryVideoTrack();if(e){d=!0;let t=e.displayWidth&&e.displayHeight?e.displayWidth/e.displayHeight:null;l={width:e.displayWidth,height:e.displayHeight,rotation:e.rotation,angle:e.rotation,displayAspectRatio:t}}}catch{}try{let e=await t.getPrimaryAudioTrack();e&&(f=!0,u={sampleRate:e.sampleRate,channels:e.numberOfChannels})}catch{}return{duration:n,video:d,audio:f,...l,...u,tags:o}}):s.contentType===`application/pdf`&&(l=await o(`extract-pdf-metadata`,async()=>{try{let e=await import(`pdfjs-dist/legacy/build/pdf.mjs`),n=`${t(process.cwd(),`node_modules/pdfjs-dist/standard_fonts`)}/`,r=await e.getDocument({data:new Uint8Array(c),standardFontDataUrl:n}).promise,i=await r.getMetadata(),a=(await r.getPage(1)).getViewport({scale:1}),o=i.info;return{pageCount:r.numPages,width:a.width,height:a.height,title:o?.Title||null,author:o?.Author||null,subject:o?.Subject||null,keywords:o?.Keywords||null,creator:o?.Creator||null,producer:o?.Producer||null,creationDate:o?.CreationDate||null,modificationDate:o?.ModDate||null,pdfVersion:o?.PDFFormatVersion||null}}catch(t){return e.logger.error({error:t,errorMessage:t instanceof Error?t.message:String(t),errorStack:t instanceof Error?t.stack:void 0,errorCode:t?.code,blobId:n},`Failed to extract PDF metadata`),{error:`Failed to extract PDF metadata`,errorMessage:t instanceof Error?t.message:String(t)}}})),await o(`save-metadata`,async()=>{await e.storage.primary.updateBlobMetadata(n,{...l,analyzed:!0})}),e.logger.info({blobId:n,metadata:l},`Metadata extracted`),{...l,analyzed:!0}}});export{o as extractBlobMetadata};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{n as e}from"./workflow-BNUZrj4F.mjs";import{z as t}from"zod";const n=t.object({width:t.number().optional(),height:t.number().optional(),fit:t.enum([`cover`,`contain`,`fill`,`inside`,`outside`]).optional(),position:t.enum([`top`,`right top`,`right`,`right bottom`,`bottom`,`left bottom`,`left`,`left top`,`centre`]).optional(),kernel:t.enum([`nearest`,`linear`,`cubic`,`mitchell`,`lanczos2`,`lanczos3`]).optional()}),r=t.object({resize:n.optional(),rotate:t.number().optional(),flip:t.boolean().optional(),flop:t.boolean().optional(),sharpen:t.boolean().optional(),blur:t.number().optional(),grayscale:t.boolean().optional(),format:t.enum([`jpeg`,`png`,`webp`,`avif`,`gif`]).optional(),quality:t.number().min(1).max(100).optional(),preview:t.literal(!0).optional()}),i=e({input:t.object({blobId:t.string(),transformations:r}),async run({container:e,input:{blobId:t,transformations:n},step:r}){if(!await r(`fetch-blob`,async()=>e.storage.primary.getBlob(t)))throw Error(`Blob ${t} not found`);let i=await r(`download-blob`,async()=>e.storage.primary.downloadBlob(t));if(!i)throw Error(`Failed to download blob ${t}`);let a=await r(`apply-transformations`,async()=>{let e=(await import(`sharp`)).default,t=e(i);return n.resize&&(t=t.resize({width:n.resize.width,height:n.resize.height,fit:n.resize.fit,position:n.resize.position,kernel:n.resize.kernel})),n.rotate!==void 0&&(t=t.rotate(n.rotate)),n.flip&&(t=t.flip()),n.flop&&(t=t.flop()),n.sharpen&&(t=t.sharpen()),n.blur!==void 0&&(t=t.blur(n.blur)),n.grayscale&&(t=t.grayscale()),n.format&&(t=t.toFormat(n.format,{quality:n.quality})),t.toBuffer()}),o=await r(`store-variant`,async()=>e.storage.primary.createVariant(t,n,a));return e.logger.info({blobId:t,variantId:o.id},`Image variant generated`),o}});export{i as generateImageVariant};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{n as e}from"./workflow-BNUZrj4F.mjs";import{spawn as t}from"node:child_process";import{join as n}from"node:path";import r from"zod";const i=e({input:r.object({blobId:r.string(),timeInSeconds:r.number().optional()}),async run({container:e,input:{blobId:r,timeInSeconds:i=1},step:a}){let o=await a(`fetch-blob`,async()=>e.storage.primary.getBlob(r));if(!o)throw Error(`Blob ${r} not found`);let s=await a(`download-blob`,async()=>e.storage.primary.downloadBlob(r));if(!s)throw Error(`Failed to download blob ${r}`);let c=null;if(o.contentType?.startsWith(`video/`))c=await a(`generate-video-preview`,async()=>new Promise((n,a)=>{try{let o=t(`ffmpeg`,[`-i`,`pipe:0`,`-ss`,i.toString(),`-frames:v`,`1`,`-f`,`image2pipe`,`-c:v`,`png`,`pipe:1`]),c=[],l=[];o.stdout.on(`data`,e=>{c.push(e)}),o.stderr.on(`data`,e=>{l.push(e)}),o.on(`close`,async t=>{if(t===0)try{let e=Buffer.concat(c),t=(await import(`sharp`)).default;n(await t(e).jpeg({quality:80}).toBuffer())}catch(t){e.logger.error({error:t,blobId:r},`Failed to convert video frame to JPEG`),a(t)}else{let n=Buffer.concat(l).toString(),i=Error(`FFmpeg exited with code ${t}: ${n}`);e.logger.error({error:i,blobId:r,code:t,stderr:n},`Failed to generate video preview`),a(i)}}),o.on(`error`,t=>{e.logger.error({error:t,blobId:r},`Failed to spawn FFmpeg process`),a(t)}),o.stdin.on(`error`,t=>{t.code!==`EPIPE`&&e.logger.error({error:t,blobId:r},`Failed to write to FFmpeg stdin`)}),o.stdin.write(s),o.stdin.end()}catch(t){e.logger.error({error:t,blobId:r},`Failed to generate video preview`),a(t)}}));else if(o.contentType===`application/pdf`)c=await a(`generate-pdf-preview`,async()=>{try{let e=await import(`pdfjs-dist/legacy/build/pdf.mjs`),{createCanvas:t}=await import(`canvas`),r=(await import(`sharp`)).default,i=`${n(process.cwd(),`node_modules/pdfjs-dist/standard_fonts`)}/`,a=await(await e.getDocument({data:new Uint8Array(s),standardFontDataUrl:i}).promise).getPage(1),o=a.getViewport({scale:2}),c=t(o.width,o.height),l=c.getContext(`2d`);return await a.render({canvasContext:l,viewport:o,canvas:c}).promise,await r(c.toBuffer(`image/png`)).resize(800,800,{fit:`inside`,withoutEnlargement:!0}).jpeg({quality:85}).toBuffer()}catch(t){throw e.logger.error({error:t,errorMessage:t instanceof Error?t.message:String(t),errorStack:t instanceof Error?t.stack:void 0,errorCode:t?.code,blobId:r},`Failed to generate PDF preview`),t}});else if(o.contentType?.startsWith(`image/`))c=await a(`generate-image-preview`,async()=>{let e=(await import(`sharp`)).default;return await e(s).resize(800,800,{fit:`inside`,withoutEnlargement:!0}).jpeg({quality:85}).toBuffer()});else throw Error(`Preview generation not supported for content type: ${o.contentType}`);let l=await a(`store-preview`,async()=>await e.storage.primary.createVariant(r,{preview:!0},c));return e.logger.info({blobId:r,previewId:l.id,contentType:o.contentType},`Preview generated`),l}});export{i as generatePreview};