@eva_solutions/auth-sdk 0.0.0-stage → 3.0.0-dev-20261109133200
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/CHANGELOG.md +290 -0
- package/LICENSE +21 -0
- package/README.md +481 -2
- package/dist/admin/index.cjs +4 -0
- package/dist/admin/index.d.cts +2 -0
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.js +1 -0
- package/dist/admin-DjvuvuI8.js +408 -0
- package/dist/admin-DjvuvuI8.js.map +1 -0
- package/dist/admin-Q6lbWqLM.cjs +419 -0
- package/dist/admin-Q6lbWqLM.cjs.map +1 -0
- package/dist/api-path-2Ulruz7R.cjs +34 -0
- package/dist/api-path-2Ulruz7R.cjs.map +1 -0
- package/dist/api-path-B-vSkL2H.js +29 -0
- package/dist/api-path-B-vSkL2H.js.map +1 -0
- package/dist/auth-19r-Q6X2.js +84 -0
- package/dist/auth-19r-Q6X2.js.map +1 -0
- package/dist/auth-DX1N5JA4.cjs +131 -0
- package/dist/auth-DX1N5JA4.cjs.map +1 -0
- package/dist/auth-handlers-B3iJaPln.js +343 -0
- package/dist/auth-handlers-B3iJaPln.js.map +1 -0
- package/dist/auth-handlers-BTbXKJms.d.ts +15 -0
- package/dist/auth-handlers-BTbXKJms.d.ts.map +1 -0
- package/dist/auth-handlers-CDzGFDTu.cjs +404 -0
- package/dist/auth-handlers-CDzGFDTu.cjs.map +1 -0
- package/dist/auth-handlers-DRUUTEtW.d.cts +15 -0
- package/dist/auth-handlers-DRUUTEtW.d.cts.map +1 -0
- package/dist/catalog-CHPqldcj.cjs +172 -0
- package/dist/catalog-CHPqldcj.cjs.map +1 -0
- package/dist/catalog-CIqpzgsM.d.cts +75 -0
- package/dist/catalog-CIqpzgsM.d.cts.map +1 -0
- package/dist/catalog-CIqpzgsM.d.ts +75 -0
- package/dist/catalog-CIqpzgsM.d.ts.map +1 -0
- package/dist/catalog-DqPhtCKZ.js +95 -0
- package/dist/catalog-DqPhtCKZ.js.map +1 -0
- package/dist/config-3avoUa9e.d.cts +95 -0
- package/dist/config-3avoUa9e.d.cts.map +1 -0
- package/dist/config-COX7rGAP.d.ts +95 -0
- package/dist/config-COX7rGAP.d.ts.map +1 -0
- package/dist/constants-BE1_9Tod.cjs +52 -0
- package/dist/constants-BE1_9Tod.cjs.map +1 -0
- package/dist/constants-BY7QZokc.js +29 -0
- package/dist/constants-BY7QZokc.js.map +1 -0
- package/dist/constants-CcbhOaAP.cjs +153 -0
- package/dist/constants-CcbhOaAP.cjs.map +1 -0
- package/dist/constants-rNuD5qJn.js +94 -0
- package/dist/constants-rNuD5qJn.js.map +1 -0
- package/dist/contracts/index.cjs +1006 -0
- package/dist/contracts/index.cjs.map +1 -0
- package/dist/contracts/index.d.cts +488 -0
- package/dist/contracts/index.d.cts.map +1 -0
- package/dist/contracts/index.d.ts +488 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +817 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/cookies-DCIcr7uy.cjs +94 -0
- package/dist/cookies-DCIcr7uy.cjs.map +1 -0
- package/dist/cookies-DKEC7AWv.js +71 -0
- package/dist/cookies-DKEC7AWv.js.map +1 -0
- package/dist/delegated-token-CVNbMNfy.js +426 -0
- package/dist/delegated-token-CVNbMNfy.js.map +1 -0
- package/dist/delegated-token-DHSK4rHI.cjs +461 -0
- package/dist/delegated-token-DHSK4rHI.cjs.map +1 -0
- package/dist/error-helpers-0woh13Wd.d.cts +105 -0
- package/dist/error-helpers-0woh13Wd.d.cts.map +1 -0
- package/dist/error-helpers-Ct3AUK1I.d.ts +105 -0
- package/dist/error-helpers-Ct3AUK1I.d.ts.map +1 -0
- package/dist/error-helpers-XCh4ZJ-g.cjs +282 -0
- package/dist/error-helpers-XCh4ZJ-g.cjs.map +1 -0
- package/dist/error-helpers-lnwgNOw9.js +145 -0
- package/dist/error-helpers-lnwgNOw9.js.map +1 -0
- package/dist/error-messages-CGpW1fsg.d.cts +48 -0
- package/dist/error-messages-CGpW1fsg.d.cts.map +1 -0
- package/dist/error-messages-CGpW1fsg.d.ts +48 -0
- package/dist/error-messages-CGpW1fsg.d.ts.map +1 -0
- package/dist/event-codes-BBJHon-I.cjs +48 -0
- package/dist/event-codes-BBJHon-I.cjs.map +1 -0
- package/dist/event-codes-BgcJWsov.d.cts +42 -0
- package/dist/event-codes-BgcJWsov.d.cts.map +1 -0
- package/dist/event-codes-BgcJWsov.d.ts +42 -0
- package/dist/event-codes-BgcJWsov.d.ts.map +1 -0
- package/dist/event-codes-DR5_VlaR.js +43 -0
- package/dist/event-codes-DR5_VlaR.js.map +1 -0
- package/dist/generic/index.cjs +91 -0
- package/dist/generic/index.cjs.map +1 -0
- package/dist/generic/index.d.cts +27 -0
- package/dist/generic/index.d.cts.map +1 -0
- package/dist/generic/index.d.ts +27 -0
- package/dist/generic/index.d.ts.map +1 -0
- package/dist/generic/index.js +80 -0
- package/dist/generic/index.js.map +1 -0
- package/dist/hono/index.cjs +309 -0
- package/dist/hono/index.cjs.map +1 -0
- package/dist/hono/index.d.cts +272 -0
- package/dist/hono/index.d.cts.map +1 -0
- package/dist/hono/index.d.ts +272 -0
- package/dist/hono/index.d.ts.map +1 -0
- package/dist/hono/index.js +290 -0
- package/dist/hono/index.js.map +1 -0
- package/dist/hono-openapi/index.cjs +326 -0
- package/dist/hono-openapi/index.cjs.map +1 -0
- package/dist/hono-openapi/index.d.cts +14 -0
- package/dist/hono-openapi/index.d.cts.map +1 -0
- package/dist/hono-openapi/index.d.ts +14 -0
- package/dist/hono-openapi/index.d.ts.map +1 -0
- package/dist/hono-openapi/index.js +307 -0
- package/dist/hono-openapi/index.js.map +1 -0
- package/dist/http-client-BVF3iktR.cjs +211 -0
- package/dist/http-client-BVF3iktR.cjs.map +1 -0
- package/dist/http-client-Da0-OMfc.js +206 -0
- package/dist/http-client-Da0-OMfc.js.map +1 -0
- package/dist/index-CIH_2t7Y.d.ts +240 -0
- package/dist/index-CIH_2t7Y.d.ts.map +1 -0
- package/dist/index-CZru7c5T.d.cts +1711 -0
- package/dist/index-CZru7c5T.d.cts.map +1 -0
- package/dist/index-CZru7c5T.d.ts +1711 -0
- package/dist/index-CZru7c5T.d.ts.map +1 -0
- package/dist/index-DMVe5IJA.d.cts +240 -0
- package/dist/index-DMVe5IJA.d.cts.map +1 -0
- package/dist/index-DRWKobSp.d.ts +312 -0
- package/dist/index-DRWKobSp.d.ts.map +1 -0
- package/dist/index-DU9wJ-P2.d.cts +312 -0
- package/dist/index-DU9wJ-P2.d.cts.map +1 -0
- package/dist/index-DbiXllNy.d.cts +66 -0
- package/dist/index-DbiXllNy.d.cts.map +1 -0
- package/dist/index-z9r98qlk.d.ts +66 -0
- package/dist/index-z9r98qlk.d.ts.map +1 -0
- package/dist/index.cjs +89 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +114 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +114 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/jwt-BBNqk0TV.cjs +155 -0
- package/dist/jwt-BBNqk0TV.cjs.map +1 -0
- package/dist/jwt-DhqgH94B.js +150 -0
- package/dist/jwt-DhqgH94B.js.map +1 -0
- package/dist/key-resolver-CESqj4-P.cjs +45 -0
- package/dist/key-resolver-CESqj4-P.cjs.map +1 -0
- package/dist/key-resolver-D56I2Zpz.js +34 -0
- package/dist/key-resolver-D56I2Zpz.js.map +1 -0
- package/dist/parse-error-response-6qOQS5y9.cjs +316 -0
- package/dist/parse-error-response-6qOQS5y9.cjs.map +1 -0
- package/dist/parse-error-response-BM9-kjs0.js +239 -0
- package/dist/parse-error-response-BM9-kjs0.js.map +1 -0
- package/dist/path-segment-C25i6aaH.cjs +29 -0
- package/dist/path-segment-C25i6aaH.cjs.map +1 -0
- package/dist/path-segment-CyqnaFrP.js +24 -0
- package/dist/path-segment-CyqnaFrP.js.map +1 -0
- package/dist/react/index.cjs +336 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +151 -0
- package/dist/react/index.d.cts.map +1 -0
- package/dist/react/index.d.ts +151 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +300 -0
- package/dist/react/index.js.map +1 -0
- package/dist/refresh-dedup-CKaHHe7m.js +14 -0
- package/dist/refresh-dedup-CKaHHe7m.js.map +1 -0
- package/dist/refresh-dedup-CLdACQXR.cjs +19 -0
- package/dist/refresh-dedup-CLdACQXR.cjs.map +1 -0
- package/dist/rolldown-runtime-CmQyd0Gu.cjs +27 -0
- package/dist/routes-DpAzgY1V.cjs +424 -0
- package/dist/routes-DpAzgY1V.cjs.map +1 -0
- package/dist/routes-F1g5aVqP.js +347 -0
- package/dist/routes-F1g5aVqP.js.map +1 -0
- package/dist/s2s/index.cjs +24 -0
- package/dist/s2s/index.d.cts +5 -0
- package/dist/s2s/index.d.ts +5 -0
- package/dist/s2s/index.js +5 -0
- package/dist/s2s-6wbotr78.cjs +926 -0
- package/dist/s2s-6wbotr78.cjs.map +1 -0
- package/dist/s2s-B_0SIQzn.js +897 -0
- package/dist/s2s-B_0SIQzn.js.map +1 -0
- package/dist/sign-C7y6xdvT.cjs +324 -0
- package/dist/sign-C7y6xdvT.cjs.map +1 -0
- package/dist/sign-HFtcYwa-.js +259 -0
- package/dist/sign-HFtcYwa-.js.map +1 -0
- package/dist/tokens-C1nzkn21.cjs +232 -0
- package/dist/tokens-C1nzkn21.cjs.map +1 -0
- package/dist/tokens-C3Z40qd7.js +107 -0
- package/dist/tokens-C3Z40qd7.js.map +1 -0
- package/dist/types-Ai3iIFlB.d.cts +538 -0
- package/dist/types-Ai3iIFlB.d.cts.map +1 -0
- package/dist/types-Bxg4hCMc.d.cts +52 -0
- package/dist/types-Bxg4hCMc.d.cts.map +1 -0
- package/dist/types-CEABh1Zf.d.ts +96 -0
- package/dist/types-CEABh1Zf.d.ts.map +1 -0
- package/dist/types-Ci0Jq0xB.d.cts +96 -0
- package/dist/types-Ci0Jq0xB.d.cts.map +1 -0
- package/dist/types-DXg8BvEh.d.ts +52 -0
- package/dist/types-DXg8BvEh.d.ts.map +1 -0
- package/dist/types-_zY7QbM5.d.ts +538 -0
- package/dist/types-_zY7QbM5.d.ts.map +1 -0
- package/dist/webhooks/index.cjs +8 -0
- package/dist/webhooks/index.d.cts +5 -0
- package/dist/webhooks/index.d.ts +5 -0
- package/dist/webhooks/index.js +4 -0
- package/dist/webhooks-B5sAWC9W.js +74 -0
- package/dist/webhooks-B5sAWC9W.js.map +1 -0
- package/dist/webhooks-Cx11psg1.cjs +79 -0
- package/dist/webhooks-Cx11psg1.cjs.map +1 -0
- package/package.json +192 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["z","idSchema","z","z","ACTIVITY_STATES","PRIVACY_STATES","z","z","z","EVENT_CODES","DELIVERY_STATUSES","z","z","scopesOf","SERVICE_AUDIENCE_SCOPES","SERVICE_AUDIENCES","productoSlugSchema","z","SERVICE_TOKEN_ERROR_CODES","nombreSchema","z","productoSlugSchema","z","TOKEN_EXCHANGE_GRANT_TYPE","ACCESS_TOKEN_TYPE","TOKEN_EXCHANGE_ERROR_CODES","z","idSchema","z","z","z","INTER_EMPRESA_PERMISSION_LIST","z","DELEGABLE_SCOPES","DELEGABLE_AUDIENCE_SCOPES","DELEGABLE_AUDIENCES","z","EVENT_CODES"],"sources":["../../../auth-contracts/dist/empresa-vocab.js","../../../auth-contracts/dist/common.js","../../../auth-contracts/dist/empresas.js","../../../auth-contracts/dist/users.js","../../../auth-contracts/dist/sessions.js","../../../auth-contracts/dist/internal-users.js","../../../auth-contracts/dist/webhooks.js","../../../auth-contracts/dist/maintenance.js","../../../auth-contracts/dist/service-clients.js","../../../auth-contracts/dist/service-tokens.js","../../../auth-contracts/dist/productos.js","../../../auth-contracts/dist/token-exchange.js","../../../auth-contracts/dist/contrataciones.js","../../../auth-contracts/dist/grupos.js","../../../auth-contracts/dist/directorio.js","../../../auth-contracts/dist/autorizaciones.js","../../../auth-contracts/dist/delegations.js","../../../auth-contracts/dist/identity-events.js"],"sourcesContent":["// src/empresa-vocab.ts\n/**\n* PURE module: it must never reference `zod` or any schema module of this package (see\n* `constants.ts`). Vocabulary of companies shared by the API, the SDK and the products: roles,\n* company and contract states, directions of an authorization listing.\n*/\n/** Role of a person in a company, from the most to the least powerful. Auth reads it from the DB on every operation. */\nconst EMPRESA_ROLES = [\n\t\"titular\",\n\t\"administrador\",\n\t\"miembro\"\n];\n/** True when `role` is at least `minimum` (`titular` > `administrador` > `miembro`). */\nfunction empresaRoleAtLeast(role, minimum) {\n\treturn EMPRESA_ROLES.indexOf(role) <= EMPRESA_ROLES.indexOf(minimum);\n}\n/** States of a company. A company in `baja` answers 404 to every mutation except `reactivar`. */\nconst EMPRESA_ESTADOS = [\"activa\", \"baja\"];\n/** States of the contract of a product by a company (`empresa_productos.estado`). */\nconst CONTRATACION_ESTADOS = [\n\t\"prueba\",\n\t\"pendiente_pago\",\n\t\"activo\",\n\t\"suspendido\",\n\t\"cancelado\"\n];\n/**\n* The only states that count as contracted (and only while `hasta` is empty or in the future; Auth\n* evaluates it on every read, no event fires when `hasta` passes).\n*/\nconst CONTRATACION_ESTADOS_VIGENTES = [\"prueba\", \"activo\"];\n/** States billing or the Auth admin can write on any contract row (a product only asks for `pendiente_pago` or `cancelado`). */\nconst CONTRATACION_ESTADOS_FACTURACION = [\n\t\"prueba\",\n\t\"activo\",\n\t\"suspendido\",\n\t\"cancelado\"\n];\n/** True when a contract in `estado` counts as contracted, ignoring `hasta`. */\nfunction isContratacionVigente(estado) {\n\treturn CONTRATACION_ESTADOS_VIGENTES.includes(estado);\n}\n/** Directions of the authorizations listing of a company. */\nconst AUTORIZACION_DIRECCIONES = [\"otorgadas\", \"recibidas\"];\n/** What happens to the previous holder when the Auth admin reassigns the holder of a company. */\nconst TITULAR_ANTERIOR_DESTINOS = [\"miembro\", \"fuera\"];\nexport { AUTORIZACION_DIRECCIONES, CONTRATACION_ESTADOS, CONTRATACION_ESTADOS_FACTURACION, CONTRATACION_ESTADOS_VIGENTES, EMPRESA_ESTADOS, EMPRESA_ROLES, TITULAR_ANTERIOR_DESTINOS, empresaRoleAtLeast, isContratacionVigente };\n\n//# sourceMappingURL=empresa-vocab.js.map","import { z } from \"zod\";\n// src/common.ts\n/**\n* SCHEMA module: generic confirmation responses shared by several routes. Descriptions are wire\n* text and must not name routes.\n*/\n/** Response with a confirmation message. */\nconst messageResponseSchema = z.object({ data: z.object({ message: z.string().meta({ description: \"Mensaje de confirmación\" }) }) });\n/** Response with a confirmation message and the number of affected items. */\nconst messageWithCountResponseSchema = z.object({ data: z.object({\n\tmessage: z.string().meta({ description: \"Mensaje de confirmación\" }),\n\tcount: z.number().meta({ description: \"Cantidad de elementos afectados\" })\n}) });\nexport { messageResponseSchema, messageWithCountResponseSchema };\n\n//# sourceMappingURL=common.js.map","import { EMPRESA_ESTADOS, EMPRESA_ROLES, TITULAR_ANTERIOR_DESTINOS } from \"./empresa-vocab.js\";\nimport { z } from \"zod\";\n// src/empresas.ts\n/**\n* SCHEMA module: companies, their branches and members, as exposed by the service-to-service API\n* and the admin surface. Request bodies are strict BASE objects with no refinements (the API adds\n* rules like \"at least one field\").\n*\n* One mechanism for every action of a person on a company: the backend of a product sends its\n* service token (Bearer, `aud: auth-api`, the route permission) PLUS the access token of the person\n* as `subjectToken` in the body (`SUBJECT_TOKEN_HEADER` on the requests that have no body). The\n* company comes from the route, never from the session. What is reserved to the Auth admin or to\n* billing carries no `subjectToken`.\n*/\nconst idSchema = z.string().min(1).max(64);\n/** Access token (`at+jwt`) of the person on whose behalf a product acts. */\nconst subjectTokenSchema = z.string().min(1).max(4096).meta({ description: \"Access token de la persona que pide la acción\" });\n/** Body of the requests that carry nothing but the person (`DELETE` and the like). */\nconst subjectTokenRequestSchema = z.object({ subjectToken: subjectTokenSchema }).strict();\n/** Branch of a company. */\nconst sucursalSchema = z.object({\n\tid: z.string().meta({ description: \"ID de la sucursal\" }),\n\tempresaId: z.string().meta({ description: \"ID de la empresa\" }),\n\tnombre: z.string().meta({ description: \"Nombre de la sucursal\" }),\n\tdireccion: z.string().nullable().meta({ description: \"Dirección de la sucursal\" }),\n\tactiva: z.boolean().meta({ description: \"false tras la baja lógica de la sucursal\" })\n});\n/** Branch as seen by an actor with no product: no address. */\nconst sucursalRecortadaSchema = sucursalSchema.pick({\n\tid: true,\n\tempresaId: true,\n\tnombre: true,\n\tactiva: true\n});\n/** Public profile of a company (the directory shows only these fields, and only when `visible`). */\nconst empresaPerfilSchema = z.object({\n\tvisible: z.boolean().meta({ description: \"La empresa aparece en el directorio (false por defecto)\" }),\n\trubro: z.string().nullable(),\n\tciudad: z.string().nullable(),\n\tdescripcion: z.string().nullable()\n});\nconst rubroSchema = z.string().trim().min(1).max(100);\nconst ciudadSchema = z.string().trim().min(1).max(100);\nconst descripcionSchema = z.string().trim().min(1).max(1e3);\n/** Profile fields of the update body: `null` clears the value. */\nconst updateEmpresaPerfilSchema = z.object({\n\tvisible: z.boolean().optional(),\n\trubro: rubroSchema.nullable().optional(),\n\tciudad: ciudadSchema.nullable().optional(),\n\tdescripcion: descripcionSchema.nullable().optional()\n}).strict();\nconst rucSchema = z.string().trim().min(1).max(20);\nconst razonSocialSchema = z.string().trim().min(1).max(200);\nconst direccionSchema = z.string().min(1).max(500);\nconst celularSchema = z.string().min(1).max(30);\nconst emailSchema = z.string().trim().toLowerCase().max(254).email();\nconst imgSchema = z.string().trim().url().max(2048);\n/**\n* `POST /internal/empresas`. The person of `subjectToken` becomes the holder (`titular`) and the\n* product of the actor is contracted in `prueba`. An actor with no product cannot create companies.\n*/\nconst createEmpresaRequestSchema = z.object({\n\truc: rucSchema.meta({ description: \"RUC de la empresa\" }),\n\trazonSocial: razonSocialSchema,\n\tslug: z.string().regex(/^[a-z0-9][a-z0-9-]{1,63}$/, { error: \"slug debe matchear ^[a-z0-9][a-z0-9-]{1,63}$\" }),\n\tdireccion: direccionSchema.optional(),\n\tcelular: celularSchema.optional(),\n\temail: emailSchema.optional(),\n\tsubjectToken: subjectTokenSchema\n}).strict();\n/**\n* `PATCH /internal/empresas/{id}`: master data, profile and directory visibility. `ruc` and `slug`\n* are immutable (a body carrying them is rejected by `.strict()`).\n*/\nconst updateEmpresaRequestSchema = z.object({\n\trazonSocial: razonSocialSchema.optional(),\n\tdireccion: direccionSchema.nullable().optional(),\n\tcelular: celularSchema.nullable().optional(),\n\temail: emailSchema.nullable().optional(),\n\timg: imgSchema.nullable().optional(),\n\tperfil: updateEmpresaPerfilSchema.optional(),\n\tsubjectToken: subjectTokenSchema\n}).strict();\n/** Query of `GET /internal/empresas`: the companies that contracted the product of the actor. */\nconst listEmpresasQuerySchema = z.object({\n\tq: z.string().trim().min(1).max(100).optional(),\n\tcursor: z.string().min(1).max(256).optional()\n}).strict();\nconst addEmpresaMemberRequestSchema = z.object({\n\tuserId: idSchema,\n\tsubjectToken: subjectTokenSchema\n}).strict();\n/** `PATCH /internal/empresas/{id}/miembros/{userId}`: only the holder changes roles. */\nconst updateEmpresaMemberRequestSchema = z.object({\n\trol: z.enum(EMPRESA_ROLES),\n\tsubjectToken: subjectTokenSchema\n}).strict();\n/** `DELETE /internal/empresas/{id}/miembros/{userId}`: `userId` = the person of the token leaves by their own account. */\nconst removeEmpresaMemberRequestSchema = subjectTokenRequestSchema;\nconst createSucursalRequestSchema = z.object({\n\tnombre: z.string().trim().min(1).max(100),\n\tdireccion: direccionSchema.optional(),\n\tsubjectToken: subjectTokenSchema\n}).strict();\nconst updateSucursalRequestSchema = z.object({\n\tnombre: z.string().trim().min(1).max(100).optional(),\n\tdireccion: direccionSchema.nullable().optional(),\n\tsubjectToken: subjectTokenSchema\n}).strict();\n/** `DELETE /internal/empresas/{id}/sucursales/{sucursalId}` is a logical deactivation (`activa = false`). */\nconst deactivateSucursalRequestSchema = subjectTokenRequestSchema;\n/**\n* `POST /admin/empresas/{id}/titular`: dispute over a RUC or a company with no holder. The person\n* becomes the holder; the previous holder (if any) stays as a `miembro` or leaves, as the runbook says.\n*/\nconst reassignTitularRequestSchema = z.object({\n\tuserId: idSchema,\n\ttitularAnterior: z.enum(TITULAR_ANTERIOR_DESTINOS).optional().default(\"miembro\")\n}).strict();\nconst empresaFields = {\n\tid: z.string().meta({ description: \"ID de la empresa\" }),\n\truc: z.string().meta({ description: \"RUC de la empresa\" }),\n\trazonSocial: z.string().meta({ description: \"Razón social\" }),\n\tslug: z.string().meta({ description: \"Slug identificador\" }),\n\tdireccion: z.string().nullable().meta({ description: \"Dirección de la empresa\" }),\n\tcelular: z.string().nullable().meta({ description: \"Celular de contacto\" }),\n\temail: z.string().nullable().meta({ description: \"Email de contacto\" }),\n\timg: z.string().nullable().meta({ description: \"URL de imagen/logo\" }),\n\testado: z.enum(EMPRESA_ESTADOS),\n\tgrupoId: z.string().nullable().meta({ description: \"Grupo de empresas al que pertenece, si tiene\" }),\n\tperfil: empresaPerfilSchema\n};\n/** Company as answered by its creation (201) and its update (200). */\nconst empresaResponseSchema = z.object({ data: z.object(empresaFields) });\n/** Page of companies; `nextCursor` is `null` on the last page. */\nconst listEmpresasResponseSchema = z.object({ data: z.object({\n\tempresas: z.array(z.object(empresaFields)),\n\tnextCursor: z.string().nullable()\n}) });\n/** Full view (`GET /internal/empresas/{id}`) for an actor whose product the company contracted. */\nconst empresaDetailResponseSchema = z.object({ data: z.object({\n\tvista: z.literal(\"completa\"),\n\t...empresaFields,\n\tsucursales: z.array(sucursalSchema),\n\tmiembros: z.array(z.object({\n\t\tuserId: z.string(),\n\t\trol: z.enum(EMPRESA_ROLES)\n\t}))\n}) });\n/** Trimmed view for an actor with no product (a shared service): no contact data, no members. */\nconst empresaRecortadaResponseSchema = z.object({ data: z.object({\n\tvista: z.literal(\"recortada\"),\n\tid: z.string(),\n\trazonSocial: z.string(),\n\testado: z.enum(EMPRESA_ESTADOS),\n\tsucursales: z.array(sucursalRecortadaSchema)\n}) });\n/** `GET /internal/empresas/{id}`: one of the two views, told apart by `data.vista`. */\nconst getEmpresaResponseSchema = z.object({ data: z.discriminatedUnion(\"vista\", [empresaDetailResponseSchema.shape.data, empresaRecortadaResponseSchema.shape.data]) });\n/** Answer of adding a member (201) and of changing a role (200). */\nconst empresaMemberResponseSchema = z.object({ data: z.object({\n\tempresaId: z.string(),\n\tuserId: z.string(),\n\trol: z.enum(EMPRESA_ROLES)\n}) });\n/** Answer of creating (201) and updating (200) a branch. */\nconst sucursalResponseSchema = z.object({ data: sucursalSchema });\n/** Answer of `baja` and `reactivar` (internal with `empresas:baja`, and admin). */\nconst empresaEstadoResponseSchema = z.object({ data: z.object({\n\tid: z.string(),\n\testado: z.enum(EMPRESA_ESTADOS)\n}) });\n/** Answer of the holder reassignment. */\nconst reassignTitularResponseSchema = z.object({ data: z.object({\n\tempresaId: z.string(),\n\ttitularUserId: z.string(),\n\ttitularAnteriorUserId: z.string().nullable()\n}) });\nexport { addEmpresaMemberRequestSchema, createEmpresaRequestSchema, createSucursalRequestSchema, deactivateSucursalRequestSchema, empresaDetailResponseSchema, empresaEstadoResponseSchema, empresaMemberResponseSchema, empresaPerfilSchema, empresaRecortadaResponseSchema, empresaResponseSchema, getEmpresaResponseSchema, listEmpresasQuerySchema, listEmpresasResponseSchema, reassignTitularRequestSchema, reassignTitularResponseSchema, removeEmpresaMemberRequestSchema, subjectTokenRequestSchema, subjectTokenSchema, sucursalRecortadaSchema, sucursalResponseSchema, sucursalSchema, updateEmpresaMemberRequestSchema, updateEmpresaPerfilSchema, updateEmpresaRequestSchema, updateSucursalRequestSchema };\n\n//# sourceMappingURL=empresas.js.map","import { ACTIVITY_STATES, PRIVACY_STATES } from \"./constants.js\";\nimport { EMPRESA_ROLES } from \"./empresa-vocab.js\";\nimport { sucursalSchema } from \"./empresas.js\";\nimport { z } from \"zod\";\n// src/users.ts\n/**\n* SCHEMA module: the user profile and its update body. The update body is the strict BASE object\n* with no `.refine`, so the API can plug it into `createRoute` without changing the OpenAPI\n* document; the API adds its own rules (\"at least one field\", \"latitude and longitude together\").\n*/\n/** Public profile of a user (allowlist: it carries no internal fields). */\nconst publicProfileSchema = z.object({\n\tid: z.string().meta({ description: \"ID del usuario\" }),\n\tphone: z.string().meta({ description: \"Teléfono del usuario\" }),\n\tname: z.string().nullable().meta({ description: \"Nombre\" }),\n\tlastName: z.string().nullable().meta({ description: \"Apellido\" }),\n\temail: z.string().nullable().meta({ description: \"Correo electrónico\" }),\n\tdni: z.string().nullable().meta({ description: \"Documento de identidad\" }),\n\tstateActivity: z.enum(ACTIVITY_STATES).meta({ description: \"Estado de actividad\" }),\n\tstatePrivacy: z.enum(PRIVACY_STATES).meta({ description: \"Estado de privacidad\" }),\n\tcreatedAt: z.string().meta({ description: \"Fecha de creación\" })\n});\nconst profileResponseSchema = z.object({ data: publicProfileSchema });\n/** Group a company belongs to (grouping only: it grants no access). */\nconst companyGroupSchema = z.object({\n\tid: z.string().meta({ description: \"ID del grupo\" }),\n\tnombre: z.string().meta({ description: \"Nombre del grupo\" })\n});\nconst companyIdentityFields = {\n\tid: z.string().meta({ description: \"ID de la empresa\" }),\n\truc: z.string().meta({ description: \"RUC de la empresa\" }),\n\trazonSocial: z.string().meta({ description: \"Razón social\" }),\n\tslug: z.string().meta({ description: \"Slug identificador\" }),\n\trol: z.enum(EMPRESA_ROLES).meta({ description: \"Rol de la persona en la empresa (para mostrar u ocultar pantallas)\" }),\n\tgrupo: companyGroupSchema.nullable().meta({ description: \"Grupo de la empresa, si tiene\" })\n};\n/** Company the user belongs to that has the product of the token contracted. */\nconst contractedCompanySchema = z.object({\n\t...companyIdentityFields,\n\tcontratado: z.literal(true),\n\tdireccion: z.string().nullable().meta({ description: \"Dirección de la empresa\" }),\n\tcelular: z.string().nullable().meta({ description: \"Celular de contacto\" }),\n\temail: z.string().nullable().meta({ description: \"Email de contacto\" }),\n\timg: z.string().nullable().meta({ description: \"URL de imagen/logo\" }),\n\tsucursales: z.array(sucursalSchema).meta({ description: \"Sucursales de la empresa\" })\n});\n/**\n* Company the user HOLDS (`titular`) that has not contracted the product of the token: no contact\n* data and no branches, only what is needed to ask for the contract.\n*/\nconst uncontractedCompanySchema = z.object({\n\t...companyIdentityFields,\n\tcontratado: z.literal(false)\n});\n/** Company of the user: with the product contracted (full data) or not (holder only, trimmed). */\nconst companySchema = z.discriminatedUnion(\"contratado\", [contractedCompanySchema, uncontractedCompanySchema]);\n/**\n* Companies the user belongs to: the active ones that have the product of the token contracted,\n* plus those the user holds without it (`contratado: false`).\n*/\nconst companyListResponseSchema = z.object({ data: z.array(companySchema).meta({ description: \"Lista de empresas\" }) });\n/** Update body: strict BASE object, every field optional. */\nconst updateUserRequestSchema = z.object({\n\tname: z.string().min(1).max(100).nullable().optional().meta({ description: \"Nombre\" }),\n\tlastName: z.string().min(1).max(100).nullable().optional().meta({ description: \"Apellido\" }),\n\temail: z.string().trim().toLowerCase().max(254).email().nullable().optional().meta({ description: \"Correo electrónico\" }),\n\tdni: z.string().trim().toUpperCase().min(1).max(20).nullable().optional().meta({ description: \"Documento de identidad\" }),\n\taddress: z.string().min(1).max(500).nullable().optional().meta({ description: \"Dirección\" }),\n\tlocationLat: z.string().regex(/^-?(?:[0-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)$/, { error: \"Formato de latitud inválido\" }).nullable().optional().meta({\n\t\tdescription: \"Latitud\",\n\t\texample: \"-34.6037\"\n\t}),\n\tlocationLon: z.string().regex(/^-?(?:\\d{1,2}(?:\\.\\d+)?|1[0-7]\\d(?:\\.\\d+)?|180(?:\\.0+)?)$/, { error: \"Formato de longitud inválido\" }).nullable().optional().meta({\n\t\tdescription: \"Longitud\",\n\t\texample: \"-58.3816\"\n\t})\n}).strict();\nexport { companyGroupSchema, companyListResponseSchema, companySchema, contractedCompanySchema, profileResponseSchema, publicProfileSchema, uncontractedCompanySchema, updateUserRequestSchema };\n\n//# sourceMappingURL=users.js.map","import { z } from \"zod\";\n// src/sessions.ts\n/** SCHEMA module: the active sessions of the authenticated user. */\n/** Response of the active sessions list. */\nconst sessionListResponseSchema = z.object({ data: z.array(z.object({\n\tsessionId: z.uuid().meta({ description: \"ID de la sesión\" }),\n\tdeviceType: z.string().meta({ description: \"Tipo de dispositivo\" }),\n\tos: z.string().meta({ description: \"Sistema operativo\" }),\n\tbrowser: z.string().meta({ description: \"Navegador\" }),\n\tipAddress: z.string().meta({ description: \"Dirección IP\" }),\n\tcreatedAt: z.string().meta({ description: \"Fecha de creación de la sesión\" }),\n\tcurrent: z.boolean().meta({ description: \"Indica si es la sesión actual\" })\n})).meta({ description: \"Lista de sesiones\" }) });\nexport { sessionListResponseSchema };\n\n//# sourceMappingURL=sessions.js.map","import \"./constants.js\";\nimport { publicProfileSchema } from \"./users.js\";\nimport { z } from \"zod\";\n// src/internal-users.ts\n/**\n* SCHEMA module: service-to-service users batch. `ids` is capped at `USERS_BATCH_MAX_IDS`\n* (constants), the hard upper bound: the API env `USERS_BATCH_MAX_IDS` can only lower it, and the\n* published OpenAPI document carries it as `maxItems`.\n*/\nconst usersBatchRequestSchema = z.object({ ids: z.array(z.string()).max(100).meta({ description: \"IDs de usuarios. Strings que no sean UUID v4 se filtran tolerantemente.\" }) }).strict();\nconst usersBatchResponseSchema = z.object({ data: z.object({ users: z.array(publicProfileSchema).meta({ description: \"Usuarios activos encontrados. No se garantiza el orden.\" }) }) });\nexport { usersBatchRequestSchema, usersBatchResponseSchema };\n\n//# sourceMappingURL=internal-users.js.map","import { DELIVERY_STATUSES } from \"./constants.js\";\nimport { EVENT_CODES } from \"./event-codes.js\";\nimport { z } from \"zod\";\n// src/webhooks.ts\n/**\n* SCHEMA module: webhook subscriptions and their deliveries. Request bodies are strict BASE\n* objects with no refinements, and descriptions are wire text: they must not name routes.\n*/\nconst UUID_REGEX = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;\nconst webhookUrlSchema = z.string().regex(/^[hH][tT][tT][pP][sS]?:\\/\\/[^\\s\\x00-\\x1F\\x7F]+$/).url({ protocol: /^https?$/ }).max(2048);\nconst eventCodesSchema = z.array(z.enum(EVENT_CODES)).min(1).max(32);\nconst createSubscriptionRequestSchema = z.object({\n\turl: webhookUrlSchema,\n\teventCodes: eventCodesSchema,\n\tenabled: z.boolean().optional().default(true)\n}).strict();\nconst updateSubscriptionRequestSchema = z.object({\n\turl: webhookUrlSchema.optional(),\n\teventCodes: eventCodesSchema.optional(),\n\tenabled: z.boolean().optional()\n}).strict();\n/** Query of the deliveries listing: numbers arrive as strings and are coerced. */\nconst deliveriesQuerySchema = z.object({\n\tevent_id: z.string().regex(UUID_REGEX).optional(),\n\tsubscription_id: z.string().regex(UUID_REGEX).optional(),\n\tstatus: z.enum(DELIVERY_STATUSES).optional(),\n\tlimit: z.coerce.number().int().min(1).max(100).default(50),\n\toffset: z.coerce.number().int().min(0).default(0)\n}).strict();\n/**\n* Query of `POST /admin/webhooks/republish-pending`: pending deliveries older than\n* `older_than_minutes` (default 10, at most one week) are republished, `limit` per call (default\n* and maximum 100, one QStash batch). Strict: a misspelled parameter fails instead of being ignored.\n*/\nconst republishPendingQuerySchema = z.object({\n\tolder_than_minutes: z.coerce.number().int().min(1).max(10080).default(10),\n\tlimit: z.coerce.number().int().min(1).max(100).default(100)\n}).strict();\nconst republishPendingResponseSchema = z.object({ data: z.object({\n\trepublished: z.number().int().meta({ description: \"Entregas republicadas en QStash en esta llamada\" }),\n\thasMore: z.boolean().meta({ description: \"true si quedan más entregas pending viejas: vuelve a llamar\" })\n}) });\nconst subscriptionSchema = z.object({\n\tid: z.string().meta({ description: \"ID de la subscription\" }),\n\tclientId: z.string().meta({ description: \"ID del cliente\" }),\n\turl: z.string().meta({ description: \"URL del webhook\" }),\n\teventCodes: z.array(z.string()).meta({ description: \"Eventos suscritos\" }),\n\tenabled: z.boolean().meta({ description: \"Estado activo\" }),\n\tcreatedAt: z.string().meta({ description: \"Fecha de creación\" }),\n\tupdatedAt: z.string().meta({ description: \"Fecha de actualización\" })\n});\n/** Creation answer: the signing key travels only here, one time. */\nconst subscriptionWithSecretResponseSchema = z.object({ data: z.object({\n\tsubscription: subscriptionSchema,\n\tsigningKey: z.string().meta({ description: \"Signing key one-time\" })\n}) });\nconst subscriptionResponseSchema = z.object({ data: subscriptionSchema });\nconst subscriptionListResponseSchema = z.object({ data: z.object({ subscriptions: z.array(subscriptionSchema).meta({ description: \"Lista de subscriptions del cliente\" }) }) });\nconst rotateSubscriptionSecretResponseSchema = z.object({ data: z.object({\n\tid: z.string().meta({ description: \"ID de la subscription\" }),\n\tsigningKey: z.string().meta({ description: \"Nueva signing key one-time\" }),\n\tupdatedAt: z.string().meta({ description: \"Fecha de actualización\" })\n}) });\nconst deliverySchema = z.object({\n\tid: z.string().meta({ description: \"ID del delivery\" }),\n\tsubscriptionId: z.string().meta({ description: \"ID de la subscription\" }),\n\teventId: z.string().meta({ description: \"ID del evento\" }),\n\tstatus: z.enum(DELIVERY_STATUSES).meta({ description: \"Estado del delivery\" }),\n\tattempts: z.number().meta({ description: \"Número de intentos\" }),\n\tlastAttemptAt: z.string().nullable().meta({ description: \"Último intento\" }),\n\tnextRetryAt: z.string().nullable().meta({ description: \"Próximo retry\" }),\n\tresponseStatus: z.number().nullable().meta({ description: \"HTTP status de respuesta\" }),\n\tcreatedAt: z.string().meta({ description: \"Fecha de creación\" })\n});\nconst deliveryListResponseSchema = z.object({ data: z.object({ deliveries: z.array(deliverySchema).meta({ description: \"Lista de deliveries\" }) }) });\nexport { createSubscriptionRequestSchema, deliveriesQuerySchema, deliveryListResponseSchema, deliverySchema, republishPendingQuerySchema, republishPendingResponseSchema, rotateSubscriptionSecretResponseSchema, subscriptionListResponseSchema, subscriptionResponseSchema, subscriptionSchema, subscriptionWithSecretResponseSchema, updateSubscriptionRequestSchema };\n\n//# sourceMappingURL=webhooks.js.map","import { z } from \"zod\";\n// src/maintenance.ts\n/**\n* SCHEMA module: on-demand cleanup of expired data (admin). The query is a strict BASE object with\n* no refinements, and descriptions are wire text: they must not name routes.\n*/\n/**\n* Query of `POST /admin/maintenance/cleanup`: `limit` (default and maximum 100) caps each of the two\n* batches of one call. Strict: a misspelled parameter fails instead of being ignored.\n*/\nconst maintenanceCleanupQuerySchema = z.object({ limit: z.coerce.number().int().min(1).max(100).default(100) }).strict();\nconst maintenanceCleanupResponseSchema = z.object({ data: z.object({\n\tusersPurged: z.number().int().meta({ description: \"Cuentas eliminadas con la ventana de restauración vencida, purgadas en esta llamada\" }),\n\teventsDeleted: z.number().int().meta({ description: \"Eventos de webhook sin entregas vivas y fuera de la retención, borrados en esta llamada\" }),\n\thasMore: z.boolean().meta({ description: \"true si queda más por limpiar: vuelve a llamar\" })\n}) });\nexport { maintenanceCleanupQuerySchema, maintenanceCleanupResponseSchema };\n\n//# sourceMappingURL=maintenance.js.map","import { productoSlugSchema } from \"./auth.js\";\nimport { SERVICE_AUDIENCES, SERVICE_AUDIENCE_SCOPES } from \"./catalog.js\";\nimport { z } from \"zod\";\n// src/service-clients.ts\n/**\n* SCHEMA module: service client provisioning (admin) and the user restore answer. The update body\n* is the strict BASE object: the API adds its own \"at least one field\" rule on top of it, so this\n* package never carries a refinement. The format of the generated key stays in the API.\n*/\n/** Human readable slug: starts with a lower case letter, 3 to 64 chars of `[a-z0-9-]`. */\nconst serviceClientSlugSchema = z.string().regex(/^[a-z][a-z0-9-]{2,63}$/, { error: \"slug debe matchear ^[a-z][a-z0-9-]{2,63}$\" });\n/**\n* Permissions of one audience without repeats. Duplicates are removed (first order kept) instead\n* of rejected: repeating a scope does not change what is granted. At least one is required (a\n* grant with no permissions is removed, not stored) and the input list is bounded (repeats\n* included) so a request cannot carry an arbitrarily long array.\n*/\nconst scopesOf = (scopes) => z.array(z.enum(scopes)).min(1).max(16).transform((list) => [...new Set(list)]);\n/**\n* Create or replace the grant of a service client on one audience. One variant per audience of the\n* catalog, so a permission typo or a permission of another audience (`admin` on `auth-api`) is\n* rejected by the schema itself. A test pins that every audience has its variant.\n*/\nconst setServiceClientGrantRequestSchema = z.discriminatedUnion(\"audience\", [z.object({\n\taudience: z.literal(\"auth-api\"),\n\tscopes: scopesOf(SERVICE_AUDIENCE_SCOPES[\"auth-api\"])\n}).strict(), z.object({\n\taudience: z.literal(\"whatsapp-api\"),\n\tscopes: scopesOf(SERVICE_AUDIENCE_SCOPES[\"whatsapp-api\"])\n}).strict()]);\nconst serviceClientGrantSchema = z.object({\n\taudience: z.enum(SERVICE_AUDIENCES),\n\tscopes: z.array(z.string())\n}).meta({ id: \"ServiceClientGrant\" });\n/**\n* Identity of a backend: the product it belongs to (FK to `productos`) and the service audience it\n* IS. Both are set by the admin and may be absent. Product slugs and audiences never coincide.\n* `null` clears the value on update.\n*/\nconst productoOfClientSchema = productoSlugSchema.meta({ description: \"Producto al que pertenece el backend\" });\nconst audienciaOfClientSchema = z.enum(SERVICE_AUDIENCES).meta({ description: \"Servicio que ES el backend (audiencia del catálogo, única)\" });\nconst createServiceClientRequestSchema = z.object({\n\tslug: serviceClientSlugSchema,\n\tname: z.string().min(1).max(100).optional(),\n\tproducto: productoOfClientSchema.optional(),\n\taudiencia: audienciaOfClientSchema.optional(),\n\tesAdmin: z.boolean().optional().default(false).meta({ description: \"Marca de administrador de Auth: autoriza la superficie /admin firmada\" })\n}).strict();\n/** Update body: strict BASE object, every field optional. */\nconst updateServiceClientRequestSchema = z.object({\n\tenabled: z.boolean().optional(),\n\tesAdmin: z.boolean().optional(),\n\tname: z.string().min(1).max(100).optional(),\n\tproducto: productoOfClientSchema.nullable().optional(),\n\taudiencia: audienciaOfClientSchema.nullable().optional()\n}).strict();\n/** Public view of a service client: it never carries the stored key material. */\nconst serviceClientPublicSchema = z.object({\n\tid: z.string().uuid(),\n\tslug: z.string(),\n\tname: z.string(),\n\tenabled: z.boolean(),\n\tesAdmin: z.boolean(),\n\tproducto: z.string().nullable(),\n\taudiencia: z.enum(SERVICE_AUDIENCES).nullable(),\n\tgrants: z.array(serviceClientGrantSchema),\n\tlastUsedAt: z.union([z.string(), z.null()]),\n\tcreatedAt: z.string(),\n\tupdatedAt: z.string()\n}).meta({ id: \"ServiceClientPublic\" });\n/** Creation answer: the generated key travels only here, one time. */\nconst createServiceClientResponseSchema = z.object({ data: z.object({\n\tid: z.string().uuid(),\n\tslug: z.string(),\n\tname: z.string(),\n\tesAdmin: z.boolean(),\n\tproducto: z.string().nullable(),\n\taudiencia: z.enum(SERVICE_AUDIENCES).nullable(),\n\tenabled: z.literal(true),\n\tsecret: z.string(),\n\twarning: z.string()\n}) }).meta({ id: \"AdminCreateResponse\" });\nconst listServiceClientsResponseSchema = z.object({ data: z.object({ clientes: z.array(serviceClientPublicSchema) }) }).meta({ id: \"AdminListResponse\" });\nconst getServiceClientResponseSchema = z.object({ data: z.object({ cliente: serviceClientPublicSchema }) }).meta({ id: \"AdminDetailResponse\" });\nconst listServiceClientGrantsResponseSchema = z.object({ data: z.object({ grants: z.array(serviceClientGrantSchema) }) }).meta({ id: \"AdminGrantsResponse\" });\nconst setServiceClientGrantResponseSchema = z.object({ data: z.object({ grant: serviceClientGrantSchema }) }).meta({ id: \"AdminGrantResponse\" });\nconst updateServiceClientResponseSchema = z.object({ data: z.object({\n\tcliente: serviceClientPublicSchema,\n\twarning: z.string().optional()\n}) }).meta({ id: \"AdminUpdateResponse\" });\nconst rotateServiceClientSecretResponseSchema = z.object({ data: z.object({\n\tslug: z.string(),\n\tsecret: z.string(),\n\twarning: z.string()\n}) }).meta({ id: \"AdminRotateSecretResponse\" });\nconst restoreUserResponseSchema = z.object({ data: z.object({\n\tuserId: z.string().uuid().meta({ description: \"ID del usuario restaurado\" }),\n\tstateAccount: z.literal(\"no_verificado\").meta({ description: \"Estado de cuenta tras la restauración (siempre no_verificado)\" }),\n\tpreviouslyDeletedAt: z.string().nullable().meta({ description: \"Timestamp ISO 8601 de cuando fue eliminado originalmente\" }),\n\trestoredAt: z.string().meta({ description: \"Timestamp ISO 8601 de la restauración\" })\n}) }).meta({ id: \"AdminRestaurarUsuarioResponse\" });\nexport { createServiceClientRequestSchema, createServiceClientResponseSchema, getServiceClientResponseSchema, listServiceClientGrantsResponseSchema, listServiceClientsResponseSchema, restoreUserResponseSchema, rotateServiceClientSecretResponseSchema, serviceClientGrantSchema, serviceClientPublicSchema, serviceClientSlugSchema, setServiceClientGrantRequestSchema, setServiceClientGrantResponseSchema, updateServiceClientRequestSchema, updateServiceClientResponseSchema };\n\n//# sourceMappingURL=service-clients.js.map","import { SERVICE_TOKEN_ERROR_CODES } from \"./tokens.js\";\nimport { z } from \"zod\";\n// src/service-tokens.ts\n/**\n* SCHEMA module: the service token endpoint. Unlike the rest of the API its bodies are NOT wrapped\n* in `{ data }` nor `{ error: { code, message } }`: they follow RFC 6749 (5.1 success, 5.2 errors),\n* so any OAuth-aware client can read them.\n*\n* `audience` is a plain string on purpose: an unknown audience is answered with `invalid_target`\n* (RFC 8707), not with a validation error. The API checks it against the audience catalog.\n*/\nconst serviceTokenRequestSchema = z.object({\n\taudience: z.string().min(1).max(64).meta({\n\t\tdescription: \"Servicio destino del token (audiencia del catálogo)\",\n\t\texample: \"whatsapp-api\"\n\t}),\n\tscope: z.string().min(1).max(512).optional().meta({ description: \"Permisos pedidos separados por espacio; si falta se conceden todos los concedidos para la audiencia\" })\n}).strict();\nconst serviceTokenResponseSchema = z.object({\n\taccess_token: z.string().meta({ description: \"JWT de servicio firmado\" }),\n\ttoken_type: z.literal(\"Bearer\"),\n\texpires_in: z.number().int().positive().meta({ description: \"Segundos de vida desde la respuesta\" }),\n\tscope: z.string().meta({ description: \"Permisos concedidos separados por espacio\" })\n}).meta({ id: \"ServiceTokenResponse\" });\nconst serviceTokenErrorSchema = z.object({\n\terror: z.enum(SERVICE_TOKEN_ERROR_CODES),\n\terror_description: z.string().optional()\n}).meta({ id: \"ServiceTokenError\" });\nexport { serviceTokenErrorSchema, serviceTokenRequestSchema, serviceTokenResponseSchema };\n\n//# sourceMappingURL=service-tokens.js.map","import { productoSlugSchema } from \"./auth.js\";\nimport { z } from \"zod\";\n// src/productos.ts\n/**\n* SCHEMA module: products (the audience of the user access token) as administered through the\n* signed `/admin` surface. There is no delete: a product is disabled. The API applies the rules\n* the contract does not carry (no refinements here): a slug that equals a service audience\n* (`isServiceAudience`) is a 400, and an update body with no field is a 400.\n*/\nconst nombreSchema = z.string().trim().min(1).max(100);\nconst productoSchema = z.object({\n\tslug: z.string(),\n\tnombre: z.string(),\n\tenabled: z.boolean()\n}).meta({ id: \"Producto\" });\nconst createProductoRequestSchema = z.object({\n\tslug: productoSlugSchema,\n\tnombre: nombreSchema,\n\tenabled: z.boolean().optional().default(true)\n}).strict();\n/** Update body: strict BASE object, every field optional. */\nconst updateProductoRequestSchema = z.object({\n\tnombre: nombreSchema.optional(),\n\tenabled: z.boolean().optional()\n}).strict();\nconst listProductosResponseSchema = z.object({ data: z.object({ productos: z.array(productoSchema) }) }).meta({ id: \"AdminProductosResponse\" });\n/** Answer of creating (201) and of updating (200) a product. */\nconst productoResponseSchema = z.object({ data: z.object({ producto: productoSchema }) }).meta({ id: \"AdminProductoResponse\" });\nexport { createProductoRequestSchema, listProductosResponseSchema, productoResponseSchema, productoSchema, updateProductoRequestSchema };\n\n//# sourceMappingURL=productos.js.map","import { ACCESS_TOKEN_TYPE, TOKEN_EXCHANGE_ERROR_CODES, TOKEN_EXCHANGE_GRANT_TYPE } from \"./tokens.js\";\nimport { z } from \"zod\";\nconst tokenExchangeRequestSchema = z.object({\n\tgrant_type: z.literal(TOKEN_EXCHANGE_GRANT_TYPE),\n\tsubject_token: z.string().min(1).max(4096).meta({ description: \"Access token del usuario (aud = producto del actor) o token delegado (aud = audiencia del actor)\" }),\n\tsubject_token_type: z.literal(ACCESS_TOKEN_TYPE),\n\taudience: z.string().min(1).max(64).meta({\n\t\tdescription: \"Servicio destino del token delegado (una sola audiencia)\",\n\t\texample: \"whatsapp-api\"\n\t}),\n\tscope: z.string().min(1).max(512).optional().meta({ description: \"Permisos pedidos separados por espacio; si falta se emite todo lo delegable para esa arista\" })\n}).strict();\nconst tokenExchangeResponseSchema = z.object({\n\taccess_token: z.string().meta({ description: \"JWT delegado firmado\" }),\n\tissued_token_type: z.literal(ACCESS_TOKEN_TYPE),\n\ttoken_type: z.literal(\"Bearer\"),\n\texpires_in: z.number().int().positive().meta({ description: \"Segundos de vida desde la respuesta\" }),\n\tscope: z.string().meta({ description: \"Permisos emitidos separados por espacio\" })\n}).meta({ id: \"TokenExchangeResponse\" });\nconst tokenExchangeErrorSchema = z.object({\n\terror: z.enum(TOKEN_EXCHANGE_ERROR_CODES),\n\terror_description: z.string().optional()\n}).meta({ id: \"TokenExchangeError\" });\nexport { tokenExchangeErrorSchema, tokenExchangeRequestSchema, tokenExchangeResponseSchema };\n\n//# sourceMappingURL=token-exchange.js.map","import { CONTRATACION_ESTADOS, CONTRATACION_ESTADOS_FACTURACION } from \"./empresa-vocab.js\";\nimport { z } from \"zod\";\n// src/contrataciones.ts\n/**\n* SCHEMA module: contracts of a product by a company (`empresa_productos`). A product asks for\n* its own contract (`POST`) or cancels it (`DELETE`) with its service token (permission\n* `contrataciones:pedir`, grantable to products) plus the access token\n* of a holder (`subjectToken`, see `empresas.ts`); billing (permission `contrataciones:escribir`, never granted to a product,\n* no product) and the Auth admin write any row with `PUT`. Only `prueba` and `activo`, with\n* `hasta` empty or in the future, count as contracted.\n*/\nconst contratacionSchema = z.object({\n\tempresaId: z.string(),\n\tproducto: z.string(),\n\testado: z.enum(CONTRATACION_ESTADOS),\n\tdesde: z.string().meta({ description: \"Timestamp ISO 8601 de inicio\" }),\n\thasta: z.string().nullable().meta({ description: \"Timestamp ISO 8601 de vencimiento; null = sin vencimiento\" }),\n\tactualizadoEn: z.string()\n});\n/**\n* `PUT .../productos/{producto}` (billing and the Auth admin). `hasta` omitted leaves it as is;\n* `null` removes the end; a value sets (or extends) it.\n*/\nconst setContratacionRequestSchema = z.object({\n\testado: z.enum(CONTRATACION_ESTADOS_FACTURACION),\n\thasta: z.iso.datetime({ offset: true }).nullable().optional()\n}).strict();\n/** Answer of asking for (201) and of writing (200) a contract. */\nconst contratacionResponseSchema = z.object({ data: contratacionSchema });\n/** `GET /internal/empresas/{id}/productos/{producto}`: for shared services that serve service-to-service calls. */\nconst contratadoResponseSchema = z.object({ data: z.object({ contratado: z.boolean() }) });\nexport { contratacionResponseSchema, contratacionSchema, contratadoResponseSchema, setContratacionRequestSchema };\n\n//# sourceMappingURL=contrataciones.js.map","import { subjectTokenRequestSchema, subjectTokenSchema } from \"./empresas.js\";\nimport { z } from \"zod\";\n// src/grupos.ts\n/**\n* SCHEMA module: groups of companies (grouping only, they grant no access: membership stays per\n* company). Only a holder (`titular`) groups: every request carries the `subjectToken` of a person\n* who holds the companies involved. A group left with no companies deletes itself.\n*/\nconst idSchema = z.string().min(1).max(64);\nconst nombreSchema = z.string().trim().min(1).max(100);\nconst grupoSchema = z.object({\n\tid: z.string(),\n\tnombre: z.string(),\n\tempresaIds: z.array(z.string())\n});\n/** Creates a group with one company of the person. */\nconst createGrupoRequestSchema = z.object({\n\tnombre: nombreSchema,\n\tempresaId: idSchema,\n\tsubjectToken: subjectTokenSchema\n}).strict();\n/** Renaming: a holder of any company of the group. */\nconst renameGrupoRequestSchema = z.object({\n\tnombre: nombreSchema,\n\tsubjectToken: subjectTokenSchema\n}).strict();\nconst addGrupoEmpresaRequestSchema = z.object({\n\tempresaId: idSchema,\n\tsubjectToken: subjectTokenSchema\n}).strict();\nconst removeGrupoEmpresaRequestSchema = subjectTokenRequestSchema;\n/** Answer of creating (201), renaming (200) and adding a company (201). */\nconst grupoResponseSchema = z.object({ data: grupoSchema });\nexport { addGrupoEmpresaRequestSchema, createGrupoRequestSchema, grupoResponseSchema, grupoSchema, removeGrupoEmpresaRequestSchema, renameGrupoRequestSchema };\n\n//# sourceMappingURL=grupos.js.map","import { z } from \"zod\";\n// src/directorio.ts\n/**\n* SCHEMA module: the directory of companies, the only cross-company search. Open to users with the\n* access token of any enabled product (rate limited per user) and to services with\n* `directorio:leer`. Only active, opted-in companies, only the public profile fields, at most 50\n* per page.\n*/\nconst directorioQuerySchema = z.object({\n\tq: z.string().trim().min(1).max(100).optional(),\n\trubro: z.string().trim().min(1).max(100).optional(),\n\tciudad: z.string().trim().min(1).max(100).optional(),\n\tcursor: z.string().min(1).max(256).optional()\n}).strict();\nconst directorioEmpresaSchema = z.object({\n\tid: z.string(),\n\trazonSocial: z.string(),\n\trubro: z.string().nullable(),\n\tciudad: z.string().nullable(),\n\tdescripcion: z.string().nullable(),\n\timg: z.string().nullable()\n});\nconst directorioResponseSchema = z.object({ data: z.object({\n\tempresas: z.array(directorioEmpresaSchema),\n\tnextCursor: z.string().nullable()\n}) });\nexport { directorioEmpresaSchema, directorioQuerySchema, directorioResponseSchema };\n\n//# sourceMappingURL=directorio.js.map","import { INTER_EMPRESA_PERMISSION_LIST } from \"./catalog.js\";\nimport { AUTORIZACION_DIRECCIONES } from \"./empresa-vocab.js\";\nimport { subjectTokenRequestSchema, subjectTokenSchema } from \"./empresas.js\";\nimport { z } from \"zod\";\n// src/autorizaciones.ts\n/**\n* SCHEMA module: authorizations between companies, only for private data. The permission is one\n* of the closed inter-company catalog (`INTER_EMPRESA_PERMISSIONS`), never a service permission.\n* An administrator or the holder of the grantor grants and revokes; one of the beneficiary can\n* renounce (all with the `subjectToken` mechanism of `empresas.ts`). Which permissions a product\n* may grant is administered with `producto_permisos_autorizables`.\n*/\nconst idSchema = z.string().min(1).max(64);\nconst interEmpresaPermissionSchema = z.enum(INTER_EMPRESA_PERMISSION_LIST);\nconst createAutorizacionRequestSchema = z.object({\n\tbeneficiariaId: idSchema,\n\tpermiso: interEmpresaPermissionSchema,\n\tsubjectToken: subjectTokenSchema\n}).strict();\n/** `DELETE`: revocation by the grantor or renunciation by the beneficiary. */\nconst deleteAutorizacionRequestSchema = subjectTokenRequestSchema;\n/** Query of `GET /internal/empresas/{id}/autorizaciones` (the person goes in `SUBJECT_TOKEN_HEADER`). */\nconst listAutorizacionesQuerySchema = z.object({ direccion: z.enum(AUTORIZACION_DIRECCIONES) }).strict();\n/**\n* Query of `GET /internal/autorizaciones/verificar`: only for actors whose audience owns the\n* permission (the actor may also have a product). Valid only while both companies are active.\n*/\nconst verificarAutorizacionQuerySchema = z.object({\n\totorgante: idSchema,\n\tbeneficiaria: idSchema,\n\tpermiso: interEmpresaPermissionSchema\n}).strict();\n/** Authorization in force. */\nconst autorizacionSchema = z.object({\n\tid: z.string(),\n\totorganteId: z.string(),\n\tbeneficiariaId: z.string(),\n\tpermiso: z.string(),\n\tcreadaEn: z.string(),\n\tcreadaPor: z.string().meta({ description: \"Persona que la concedió\" })\n});\nconst autorizacionResponseSchema = z.object({ data: autorizacionSchema });\nconst listAutorizacionesResponseSchema = z.object({ data: z.object({ autorizaciones: z.array(autorizacionSchema) }) });\nconst verificarAutorizacionResponseSchema = z.object({ data: z.object({ autorizado: z.boolean() }) });\n/** Permissions of the inter-company catalog without repeats (first order kept); an empty list clears them. */\nconst setProductoPermisosAutorizablesRequestSchema = z.object({ permisos: z.array(interEmpresaPermissionSchema).max(64).transform((list) => [...new Set(list)]) }).strict();\n/** Permissions a product may grant on behalf of its companies (admin). */\nconst productoPermisosAutorizablesResponseSchema = z.object({ data: z.object({\n\tproducto: z.string(),\n\tpermisos: z.array(z.string())\n}) }).meta({ id: \"AdminProductoPermisosAutorizablesResponse\" });\nexport { autorizacionResponseSchema, autorizacionSchema, createAutorizacionRequestSchema, deleteAutorizacionRequestSchema, interEmpresaPermissionSchema, listAutorizacionesQuerySchema, listAutorizacionesResponseSchema, productoPermisosAutorizablesResponseSchema, setProductoPermisosAutorizablesRequestSchema, verificarAutorizacionQuerySchema, verificarAutorizacionResponseSchema };\n\n//# sourceMappingURL=autorizaciones.js.map","import { DELEGABLE_AUDIENCES, DELEGABLE_AUDIENCE_SCOPES, DELEGABLE_SCOPES } from \"./catalog.js\";\nimport { z } from \"zod\";\n// src/delegations.ts\n/**\n* SCHEMA module: delegation edges of a service client (admin), `service_client_delegations`. An\n* edge says \"this client may exchange a token for a delegated one towards `audience`, carrying at\n* most `scopes`\". `auth-api` is never a destination and `admin` is never delegable: the schemas\n* are built from `DELEGABLE_AUDIENCE_SCOPES`, so the typo or the forbidden value is rejected by the\n* schema itself.\n*\n* `requiere_scope_origen` (snake case, like the rest of the token vocabulary) makes the edge usable\n* for a RE-exchange: the incoming delegated token must carry at least one of those permissions. An\n* edge that does not define it admits no re-exchange (only the first hop from a user access token).\n*/\n/** Permissions of one audience without repeats (first order kept); at least one, bounded. */\nconst scopesOf = (scopes) => z.array(z.enum(scopes)).min(1).max(16).transform((list) => [...new Set(list)]);\nconst originScopes = z.array(z.enum(DELEGABLE_SCOPES)).min(1).max(16).transform((list) => [...new Set(list)]);\n/**\n* Create or replace the edge of a service client towards one audience. One variant per delegable\n* audience; a test pins that every delegable audience has its variant.\n*/\nconst setServiceClientDelegationRequestSchema = z.discriminatedUnion(\"audience\", [z.object({\n\taudience: z.literal(\"whatsapp-api\"),\n\tscopes: scopesOf(DELEGABLE_AUDIENCE_SCOPES[\"whatsapp-api\"]),\n\trequiere_scope_origen: originScopes.optional()\n}).strict()]);\nconst serviceClientDelegationSchema = z.object({\n\taudience: z.enum(DELEGABLE_AUDIENCES),\n\tscopes: z.array(z.string()),\n\trequiere_scope_origen: z.array(z.string()).meta({ description: \"Vacío = la arista no admite re-exchange\" })\n}).meta({ id: \"ServiceClientDelegation\" });\nconst listServiceClientDelegationsResponseSchema = z.object({ data: z.object({ delegations: z.array(serviceClientDelegationSchema) }) }).meta({ id: \"AdminDelegationsResponse\" });\nconst setServiceClientDelegationResponseSchema = z.object({ data: z.object({ delegation: serviceClientDelegationSchema }) }).meta({ id: \"AdminDelegationResponse\" });\nexport { listServiceClientDelegationsResponseSchema, serviceClientDelegationSchema, setServiceClientDelegationRequestSchema, setServiceClientDelegationResponseSchema };\n\n//# sourceMappingURL=delegations.js.map","import { EVENT_CODES } from \"./event-codes.js\";\nimport { CONTRATACION_ESTADOS, EMPRESA_ROLES } from \"./empresa-vocab.js\";\nimport { z } from \"zod\";\n// src/identity-events.ts\n/**\n* SCHEMA module: `data` of the webhook events added by identity phase 2. Ids only: no contact\n* data travels in an event, so the receiver reads what it needs through the API (which applies the\n* contract and role rules). `empresa.*`, `grupo.*` and `autorizacion.*` reach only the clients that\n* contracted the product of the affected company, or have no product.\n*/\nconst empresaId = z.string();\nconst empresaEventPayloadSchema = z.object({ empresaId });\nconst empresaMemberRoleChangedPayloadSchema = z.object({\n\tempresaId,\n\tuserId: z.string(),\n\trol: z.enum(EMPRESA_ROLES)\n});\nconst empresaBranchEventPayloadSchema = z.object({\n\tempresaId,\n\tsucursalId: z.string()\n});\nconst empresaProductChangedPayloadSchema = z.object({\n\tempresaId,\n\tproducto: z.string(),\n\testado: z.enum(CONTRATACION_ESTADOS)\n});\n/** Phase 1 events: `empresa.member_added` and `empresa.member_removed`. */\nconst empresaMemberEventPayloadSchema = z.object({\n\tempresaId,\n\tuserId: z.string()\n});\nconst grupoEventPayloadSchema = z.object({ grupoId: z.string() });\nconst grupoMemberEventPayloadSchema = z.object({\n\tgrupoId: z.string(),\n\tempresaId\n});\nconst autorizacionEventPayloadSchema = z.object({\n\tautorizacionId: z.string(),\n\totorganteId: z.string(),\n\tbeneficiariaId: z.string(),\n\tpermiso: z.string()\n});\n/** `data` schema of each `empresa.*`, `grupo.*` and `autorizacion.*` event (ids only: no `slug`, no first member), by event code. */\nconst IDENTITY_EVENT_PAYLOAD_SCHEMAS = {\n\t[EVENT_CODES.EMPRESA_CREATED]: empresaEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_MEMBER_ADDED]: empresaMemberEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_MEMBER_REMOVED]: empresaMemberEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_BRANCH_CREATED]: empresaBranchEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_UPDATED]: empresaEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_DEACTIVATED]: empresaEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_REACTIVATED]: empresaEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_MEMBER_ROLE_CHANGED]: empresaMemberRoleChangedPayloadSchema,\n\t[EVENT_CODES.EMPRESA_BRANCH_UPDATED]: empresaBranchEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_BRANCH_DEACTIVATED]: empresaBranchEventPayloadSchema,\n\t[EVENT_CODES.EMPRESA_PRODUCT_CHANGED]: empresaProductChangedPayloadSchema,\n\t[EVENT_CODES.GRUPO_UPDATED]: grupoEventPayloadSchema,\n\t[EVENT_CODES.GRUPO_MEMBER_ADDED]: grupoMemberEventPayloadSchema,\n\t[EVENT_CODES.GRUPO_MEMBER_REMOVED]: grupoMemberEventPayloadSchema,\n\t[EVENT_CODES.AUTORIZACION_GRANTED]: autorizacionEventPayloadSchema,\n\t[EVENT_CODES.AUTORIZACION_REVOKED]: autorizacionEventPayloadSchema\n};\nexport { IDENTITY_EVENT_PAYLOAD_SCHEMAS, autorizacionEventPayloadSchema, empresaBranchEventPayloadSchema, empresaEventPayloadSchema, empresaMemberEventPayloadSchema, empresaMemberRoleChangedPayloadSchema, empresaProductChangedPayloadSchema, grupoEventPayloadSchema, grupoMemberEventPayloadSchema };\n\n//# sourceMappingURL=identity-events.js.map"],"mappings":"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"}
|