@marinoscar/platform-api 0.1.0-next.17 → 0.1.0-next.19
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 +26 -0
- package/dist/ai/runtime/ai-limits.service.d.ts.map +1 -1
- package/dist/ai/runtime/ai-limits.service.js +8 -1
- package/dist/ai/runtime/ai-limits.service.js.map +1 -1
- package/dist/ai/testing/conformance/ai-no-sdk-leak.suite.js +4 -4
- package/dist/ai/testing/conformance/ai-no-sdk-leak.suite.js.map +1 -1
- package/dist/ai/testing/conformance/ai-secret-egress.suite.js +1 -1
- package/dist/ai/testing/conformance/ai-secret-egress.suite.js.map +1 -1
- package/dist/ai/usage/ai-usage-admin.controller.d.ts +6 -3
- package/dist/ai/usage/ai-usage-admin.controller.d.ts.map +1 -1
- package/dist/ai/usage/ai-usage-admin.controller.js +31 -17
- package/dist/ai/usage/ai-usage-admin.controller.js.map +1 -1
- package/dist/ai/usage/ai-usage.controller.d.ts +5 -2
- package/dist/ai/usage/ai-usage.controller.d.ts.map +1 -1
- package/dist/ai/usage/ai-usage.controller.js +18 -11
- package/dist/ai/usage/ai-usage.controller.js.map +1 -1
- package/dist/ai/usage/ai-usage.service.d.ts +19 -4
- package/dist/ai/usage/ai-usage.service.d.ts.map +1 -1
- package/dist/ai/usage/ai-usage.service.js +84 -43
- package/dist/ai/usage/ai-usage.service.js.map +1 -1
- package/dist/ai/usage/dto/ai-usage.dto.d.ts +8 -0
- package/dist/ai/usage/dto/ai-usage.dto.d.ts.map +1 -1
- package/dist/ai/usage/dto/ai-usage.dto.js +16 -5
- package/dist/ai/usage/dto/ai-usage.dto.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/timezone/request-time-zone.d.ts +61 -0
- package/dist/core/timezone/request-time-zone.d.ts.map +1 -0
- package/dist/core/timezone/request-time-zone.js +71 -0
- package/dist/core/timezone/request-time-zone.js.map +1 -0
- package/dist/credentials/testing/with-credential-purposes.d.ts +2 -2
- package/dist/credentials/testing/with-credential-purposes.js +2 -2
- package/dist/doctor/egress/classify-host.d.ts +1 -1
- package/dist/doctor/egress/classify-host.js +1 -1
- package/dist/email/email-settings.controller.d.ts +5 -2
- package/dist/email/email-settings.controller.d.ts.map +1 -1
- package/dist/email/email-settings.controller.js +11 -5
- package/dist/email/email-settings.controller.js.map +1 -1
- package/dist/email/email-test-send.service.d.ts +11 -1
- package/dist/email/email-test-send.service.d.ts.map +1 -1
- package/dist/email/email-test-send.service.js +17 -3
- package/dist/email/email-test-send.service.js.map +1 -1
- package/dist/email/index.d.ts +2 -2
- package/dist/email/index.d.ts.map +1 -1
- package/dist/email/index.js +3 -1
- package/dist/email/index.js.map +1 -1
- package/dist/email/templates/backup-failed.email.d.ts.map +1 -1
- package/dist/email/templates/backup-failed.email.js +9 -5
- package/dist/email/templates/backup-failed.email.js.map +1 -1
- package/dist/email/templates/format-date.d.ts +39 -0
- package/dist/email/templates/format-date.d.ts.map +1 -0
- package/dist/email/templates/format-date.js +103 -0
- package/dist/email/templates/format-date.js.map +1 -0
- package/dist/email/templates/index.d.ts +2 -0
- package/dist/email/templates/index.d.ts.map +1 -1
- package/dist/email/templates/index.js +4 -1
- package/dist/email/templates/index.js.map +1 -1
- package/dist/email/templates/job-failed.email.d.ts +1 -1
- package/dist/email/templates/job-failed.email.d.ts.map +1 -1
- package/dist/email/templates/job-failed.email.js +6 -6
- package/dist/email/templates/job-failed.email.js.map +1 -1
- package/dist/email/templates/layout-theme.d.ts +1 -1
- package/dist/email/templates/node-offline.email.d.ts.map +1 -1
- package/dist/email/templates/node-offline.email.js +11 -7
- package/dist/email/templates/node-offline.email.js.map +1 -1
- package/dist/email/templates/render-context.d.ts +5 -0
- package/dist/email/templates/render-context.d.ts.map +1 -1
- package/dist/email/templates/render-context.js.map +1 -1
- package/dist/email/templates/restore-completed.email.d.ts.map +1 -1
- package/dist/email/templates/restore-completed.email.js +9 -5
- package/dist/email/templates/restore-completed.email.js.map +1 -1
- package/dist/email/templates/role-changed.email.d.ts +1 -1
- package/dist/email/templates/role-changed.email.d.ts.map +1 -1
- package/dist/email/templates/role-changed.email.js +6 -7
- package/dist/email/templates/role-changed.email.js.map +1 -1
- package/dist/email/templates/test-email.email.d.ts +1 -1
- package/dist/email/templates/test-email.email.d.ts.map +1 -1
- package/dist/email/templates/test-email.email.js +6 -11
- package/dist/email/templates/test-email.email.js.map +1 -1
- package/dist/exports/export-job.d.ts +1 -0
- package/dist/exports/export-job.d.ts.map +1 -1
- package/dist/exports/export-job.js +2 -0
- package/dist/exports/export-job.js.map +1 -1
- package/dist/exports/export.types.d.ts +8 -0
- package/dist/exports/export.types.d.ts.map +1 -1
- package/dist/exports/exports.controller.d.ts +4 -2
- package/dist/exports/exports.controller.d.ts.map +1 -1
- package/dist/exports/exports.controller.js +15 -6
- package/dist/exports/exports.controller.js.map +1 -1
- package/dist/exports/exports.service.d.ts +5 -0
- package/dist/exports/exports.service.d.ts.map +1 -1
- package/dist/exports/exports.service.js +3 -0
- package/dist/exports/exports.service.js.map +1 -1
- package/dist/exports/handlers/export-run.handler.d.ts.map +1 -1
- package/dist/exports/handlers/export-run.handler.js +4 -1
- package/dist/exports/handlers/export-run.handler.js.map +1 -1
- package/dist/exports/index.d.ts +1 -0
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/index.js +7 -2
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/testing/conformance.d.ts.map +1 -1
- package/dist/exports/testing/conformance.js +1 -0
- package/dist/exports/testing/conformance.js.map +1 -1
- package/dist/host/http/cors-options.d.ts +5 -1
- package/dist/host/http/cors-options.d.ts.map +1 -1
- package/dist/host/http/cors-options.js.map +1 -1
- package/dist/identity/auth/dto/auth-user.dto.js +4 -4
- package/dist/identity/auth/dto/auth-user.dto.js.map +1 -1
- package/dist/identity/auth/sign-in-policy.d.ts +1 -1
- package/dist/identity/pat/pat.controller.d.ts +4 -3
- package/dist/identity/pat/pat.controller.d.ts.map +1 -1
- package/dist/identity/pat/pat.controller.js +19 -5
- package/dist/identity/pat/pat.controller.js.map +1 -1
- package/dist/identity/pat/pat.service.d.ts +21 -0
- package/dist/identity/pat/pat.service.d.ts.map +1 -1
- package/dist/identity/pat/pat.service.js +27 -10
- package/dist/identity/pat/pat.service.js.map +1 -1
- package/dist/jobs/provider-throttle.service.js +2 -2
- package/dist/jobs/provider-throttle.service.js.map +1 -1
- package/dist/manifest/permission-sets.d.ts +2 -2
- package/dist/manifest/permission-sets.js +4 -4
- package/dist/manifest/permission-sets.js.map +1 -1
- package/dist/notifications/channels/browser-notification.channel.js +1 -1
- package/dist/notifications/channels/browser-notification.channel.js.map +1 -1
- package/dist/notifications/channels/browser-templates.d.ts +12 -1
- package/dist/notifications/channels/browser-templates.d.ts.map +1 -1
- package/dist/notifications/channels/browser-templates.js +5 -4
- package/dist/notifications/channels/browser-templates.js.map +1 -1
- package/dist/notifications/channels/email-notification.channel.d.ts.map +1 -1
- package/dist/notifications/channels/email-notification.channel.js +3 -3
- package/dist/notifications/channels/email-notification.channel.js.map +1 -1
- package/dist/notifications/channels/push-notification.channel.js +1 -1
- package/dist/notifications/channels/push-notification.channel.js.map +1 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/notification.types.d.ts +15 -0
- package/dist/notifications/notification.types.d.ts.map +1 -1
- package/dist/notifications/notification.types.js.map +1 -1
- package/dist/notifications/notifications.service.d.ts.map +1 -1
- package/dist/notifications/notifications.service.js +8 -0
- package/dist/notifications/notifications.service.js.map +1 -1
- package/dist/notifications/push-config.controller.d.ts +5 -2
- package/dist/notifications/push-config.controller.d.ts.map +1 -1
- package/dist/notifications/push-config.controller.js +11 -5
- package/dist/notifications/push-config.controller.js.map +1 -1
- package/dist/notifications/push-test.service.d.ts +1 -1
- package/dist/notifications/push-test.service.d.ts.map +1 -1
- package/dist/notifications/push-test.service.js +6 -4
- package/dist/notifications/push-test.service.js.map +1 -1
- package/dist/settings/index.d.ts +1 -1
- package/dist/settings/registry/assemble.d.ts +3 -3
- package/dist/settings/registry/assemble.js +4 -4
- package/dist/settings/registry/assemble.js.map +1 -1
- package/dist/settings/registry/compose.d.ts +3 -1
- package/dist/settings/registry/compose.d.ts.map +1 -1
- package/dist/settings/registry/compose.js.map +1 -1
- package/dist/settings/registry/core-user-fields.d.ts +4 -4
- package/dist/settings/registry/core-user-fields.d.ts.map +1 -1
- package/dist/settings/registry/core-user-fields.js +5 -4
- package/dist/settings/registry/core-user-fields.js.map +1 -1
- package/dist/settings/settings-resolver.d.ts +28 -1
- package/dist/settings/settings-resolver.d.ts.map +1 -1
- package/dist/settings/settings-resolver.js +41 -0
- package/dist/settings/settings-resolver.js.map +1 -1
- package/dist/settings/settings.module.d.ts.map +1 -1
- package/dist/settings/settings.module.js +9 -4
- package/dist/settings/settings.module.js.map +1 -1
- package/dist/settings/user-settings/user-settings.service.d.ts.map +1 -1
- package/dist/settings/user-settings/user-settings.service.js +14 -0
- package/dist/settings/user-settings/user-settings.service.js.map +1 -1
- package/dist/sharing/grants/grants.service.js +2 -2
- package/dist/sharing/grants/grants.service.js.map +1 -1
- package/dist/sharing/groups/group-invites.service.js +1 -1
- package/dist/sharing/groups/group-invites.service.js.map +1 -1
- package/dist/sharing/groups/sharing-effects.d.ts +2 -1
- package/dist/sharing/groups/sharing-effects.d.ts.map +1 -1
- package/dist/sharing/groups/sharing-effects.js +4 -4
- package/dist/sharing/groups/sharing-effects.js.map +1 -1
- package/dist/sharing/index.d.ts +1 -1
- package/dist/sharing/index.d.ts.map +1 -1
- package/dist/sharing/index.js.map +1 -1
- package/dist/sharing/notifications/group-invitation.templates.d.ts +23 -0
- package/dist/sharing/notifications/group-invitation.templates.d.ts.map +1 -1
- package/dist/sharing/notifications/group-invitation.templates.js +17 -2
- package/dist/sharing/notifications/group-invitation.templates.js.map +1 -1
- package/dist/sharing/notifications/shared-with-you.templates.d.ts +1 -1
- package/dist/sharing/notifications/shared-with-you.templates.d.ts.map +1 -1
- package/dist/sharing/notifications/shared-with-you.templates.js +3 -2
- package/dist/sharing/notifications/shared-with-you.templates.js.map +1 -1
- package/dist/sharing/ports.d.ts +15 -2
- package/dist/sharing/ports.d.ts.map +1 -1
- package/dist/sharing/ports.js.map +1 -1
- package/dist/telemetry/testing/stub-ports.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-usage-admin.controller.js","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage-admin.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ai-usage-admin.controller.js","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage-admin.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,6CAA+E;AAE/E,gDAAqE;AACrE,kDAA8C;AAC9C,4CAA4E;AAC5E,gDAAwD;AACxD,4CAA4C;AAC5C,yDAAoD;AACpD,qDAS4B;AAE5B,gFAAgF;AAChF,iDAAiD;AACjD,gFAAgF;AAChF,EAAE;AACF,kFAAkF;AAClF,EAAE;AACF,8DAA8D;AAC9D,8EAA8E;AAC9E,2EAA2E;AAC3E,uDAAuD;AACvD,gFAAgF;AAEhF;;;;;GAKG;AAGI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAEd;IACA;IAFnB,YACmB,KAAqB,EACrB,QAA0B;QAD1B,UAAK,GAAL,KAAK,CAAgB;QACrB,aAAQ,GAAR,QAAQ,CAAkB;IAC1C,CAAC;IAmCE,AAAN,KAAK,CAAC,MAAM,CACD,KAA2B,EACjB,MAAc,EAC1B,OAA2B;QAElC,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAuBK,AAAN,KAAK,CAAC,SAAS,CACJ,KAAyB,EACpB,KAAa,EACR,MAAc,EAC1B,OAA2B;QAElC,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/F,CAAC;CACF,CAAA;AAhFY,wDAAsB;AAuC3B;IAjCL,IAAA,YAAG,EAAC,OAAO,CAAC;IACZ,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,0BAAW,CAAC,cAAc,CAAC,EAAE,CAAC;IACnD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mDAAmD;QAC5D,WAAW,EACT,sKAAsK;YACtK,qCAAqC,0CAA2B,iBAAiB;YACjF,GAAG,sCAAuB,2DAA2D;YACrF,oFAAoF;YACpF,yFAAyF;YACzF,qFAAqF;YACrF,0FAA0F;YAC1F,oFAAoF;YACpF,6EAA6E;YAC7E,0FAA0F;YAC1F,0FAA0F;YAC1F,oEAAoE;YACpE,4FAA4F;YAC5F,aAAa;YACb,yEAAyE;YACzE,+DAA+D;KAClE,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IACzH,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qEAAqE,EAAE,CAAC;IAC3I,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,yJAAyJ,EAAE,CAAC;IAC/N,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,sCAAuB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAC5G,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IACpH,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAC1G,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;IAChH,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IAC3H,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;IACjI,IAAA,uBAAe,EAAC,+BAAgB,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IACtE,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,4CAA4C,EAAE,IAAI,EAAE,gBAAQ,EAAE,CAAC;IAErG,WAAA,IAAA,cAAK,GAAE,CAAA;IACP,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,YAAG,GAAE,CAAA;;qCAFU,mCAAoB;;oDAOrC;AAuBK;IArBL,IAAA,YAAG,EAAC,WAAW,CAAC;IAChB,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,0BAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wEAAwE;QACjF,WAAW,EACT,uFAAuF;YACvF,kFAAkF;YAClF,mFAAmF;YACnF,4EAA4E;KAC/E,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IACzH,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qEAAqE,EAAE,CAAC;IAC3I,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,yJAAyJ,EAAE,CAAC;IAC/N,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,oCAAqB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAC1G,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACtH,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAC1G,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;IAChH,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;IACjI,IAAA,uBAAe,EAAC,+BAAgB,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IACrF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,4CAA4C,EAAE,IAAI,EAAE,gBAAQ,EAAE,CAAC;IACvG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,yDAAyD,EAAE,IAAI,EAAE,gBAAQ,EAAE,CAAC;IAElH,WAAA,IAAA,cAAK,GAAE,CAAA;IACP,WAAA,IAAA,kBAAU,GAAE,CAAA;IACZ,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,YAAG,GAAE,CAAA;;qCAHU,iCAAkB;;uDAQnC;iCA/EU,sBAAsB;IAFlC,IAAA,iBAAO,EAAC,mBAAmB,CAAC;IAC5B,IAAA,mBAAU,EAAC,UAAU,CAAC;qCAGK,iCAAc;QACX,wBAAgB;GAHlC,sBAAsB,CAgFlC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type RequestWithHeaders } from '../../core/index';
|
|
2
|
+
import { SettingsResolver } from '../../settings/index';
|
|
1
3
|
import { AiUsageService } from './ai-usage.service';
|
|
2
4
|
import { AiUsageMeQueryDto, type AiUsageReport } from './dto/ai-usage.dto';
|
|
3
5
|
/**
|
|
@@ -8,7 +10,8 @@ import { AiUsageMeQueryDto, type AiUsageReport } from './dto/ai-usage.dto';
|
|
|
8
10
|
*/
|
|
9
11
|
export declare class AiUsageController {
|
|
10
12
|
private readonly usage;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
private readonly settings;
|
|
14
|
+
constructor(usage: AiUsageService, settings: SettingsResolver);
|
|
15
|
+
mine(query: AiUsageMeQueryDto, userId: string, orgId: string, request: RequestWithHeaders): Promise<AiUsageReport>;
|
|
13
16
|
}
|
|
14
17
|
//# sourceMappingURL=ai-usage.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-usage.controller.d.ts","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-usage.controller.d.ts","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAEL,iBAAiB,EAIjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAc5B;;;;;GAKG;AACH,qBAIa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,gBAAgB;IAuBvC,IAAI,CACC,KAAK,EAAE,iBAAiB,EACd,MAAM,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GACjC,OAAO,CAAC,aAAa,CAAC;CAI1B"}
|
|
@@ -18,7 +18,8 @@ const swagger_1 = require("@nestjs/swagger");
|
|
|
18
18
|
const index_1 = require("../../identity/index");
|
|
19
19
|
const ai_constants_1 = require("../ai.constants");
|
|
20
20
|
const index_2 = require("../../core/index");
|
|
21
|
-
const index_3 = require("../../
|
|
21
|
+
const index_3 = require("../../settings/index");
|
|
22
|
+
const index_4 = require("../../core/index");
|
|
22
23
|
const ai_enabled_guard_1 = require("../config/ai-enabled.guard");
|
|
23
24
|
const ai_org_enabled_interceptor_1 = require("../config/ai-org-enabled.interceptor");
|
|
24
25
|
const ai_usage_service_1 = require("./ai-usage.service");
|
|
@@ -42,11 +43,14 @@ const ai_usage_dto_1 = require("./dto/ai-usage.dto");
|
|
|
42
43
|
*/
|
|
43
44
|
let AiUsageController = class AiUsageController {
|
|
44
45
|
usage;
|
|
45
|
-
|
|
46
|
+
settings;
|
|
47
|
+
constructor(usage, settings) {
|
|
46
48
|
this.usage = usage;
|
|
49
|
+
this.settings = settings;
|
|
47
50
|
}
|
|
48
|
-
async mine(query, userId, orgId) {
|
|
49
|
-
|
|
51
|
+
async mine(query, userId, orgId, request) {
|
|
52
|
+
const timeZone = query.tz ?? (await this.settings.resolveRequestTimeZone(request, userId));
|
|
53
|
+
return this.usage.report({ from: query.from, to: query.to, groupBy: query.groupBy, userId, timeZone }, undefined, orgId);
|
|
50
54
|
}
|
|
51
55
|
};
|
|
52
56
|
exports.AiUsageController = AiUsageController;
|
|
@@ -55,7 +59,7 @@ __decorate([
|
|
|
55
59
|
(0, index_1.Auth)({ permissions: [ai_constants_1.PERMISSIONS.AI_USE] }),
|
|
56
60
|
(0, swagger_1.ApiOperation)({
|
|
57
61
|
summary: 'My AI usage',
|
|
58
|
-
description: 'Your own recorded provider round trips, summed over a window of
|
|
62
|
+
description: 'Your own recorded provider round trips, summed over a window of calendar days in `timeZone` (query `tz`, default your profile zone), both ' +
|
|
59
63
|
`inclusive — default the last ${ai_usage_dto_1.DEFAULT_AI_USAGE_RANGE_DAYS} days, at most ` +
|
|
60
64
|
`${ai_usage_dto_1.MAX_AI_USAGE_RANGE_DAYS}. Same shape as the admin report; \`groupBy\` is \`day\` ` +
|
|
61
65
|
'(chronological, zero-filled) or `model` (key `<provider>:<modelId>`). The `orgKey*` ' +
|
|
@@ -63,17 +67,19 @@ __decorate([
|
|
|
63
67
|
'Refused with **400** (`details.reason: "AI_USAGE_RANGE_INVALID"`) for a reversed or ' +
|
|
64
68
|
'over-long range.',
|
|
65
69
|
}),
|
|
66
|
-
(0, swagger_1.ApiQuery)({ name: 'from', required: false, type: String, description: 'First
|
|
67
|
-
(0, swagger_1.ApiQuery)({ name: 'to', required: false, type: String, description: 'Last
|
|
70
|
+
(0, swagger_1.ApiQuery)({ name: 'from', required: false, type: String, description: 'First day included in `timeZone`, `YYYY-MM-DD`.' }),
|
|
71
|
+
(0, swagger_1.ApiQuery)({ name: 'to', required: false, type: String, description: 'Last day included in `timeZone`, `YYYY-MM-DD`. Default today there.' }),
|
|
72
|
+
(0, swagger_1.ApiQuery)({ name: 'tz', required: false, type: String, description: 'IANA time zone the days are cut in (`America/Costa_Rica`). Default: your profile zone, then the `X-Time-Zone` header, then `UTC`. Echoed as `timeZone`.' }),
|
|
68
73
|
(0, swagger_1.ApiQuery)({ name: 'groupBy', required: false, enum: ai_usage_dto_1.AI_USAGE_ME_GROUP_BY, description: 'Default `day`.' }),
|
|
69
74
|
(0, index_2.ApiDataResponse)(ai_usage_dto_1.AiUsageReportDto, { description: 'Your usage report' }),
|
|
70
|
-
(0, swagger_1.ApiResponse)({ status: 400, description: 'Invalid query, or `AI_USAGE_RANGE_INVALID`', type:
|
|
71
|
-
(0, swagger_1.ApiResponse)({ status: 403, description: '`AI_DISABLED`, or missing `ai:use`', type:
|
|
75
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Invalid query, or `AI_USAGE_RANGE_INVALID`', type: index_4.ErrorDto }),
|
|
76
|
+
(0, swagger_1.ApiResponse)({ status: 403, description: '`AI_DISABLED`, or missing `ai:use`', type: index_4.ErrorDto }),
|
|
72
77
|
__param(0, (0, common_1.Query)()),
|
|
73
78
|
__param(1, (0, index_1.CurrentUser)('id')),
|
|
74
79
|
__param(2, (0, index_1.CurrentOrg)()),
|
|
80
|
+
__param(3, (0, common_1.Req)()),
|
|
75
81
|
__metadata("design:type", Function),
|
|
76
|
-
__metadata("design:paramtypes", [ai_usage_dto_1.AiUsageMeQueryDto, String, String]),
|
|
82
|
+
__metadata("design:paramtypes", [ai_usage_dto_1.AiUsageMeQueryDto, String, String, Object]),
|
|
77
83
|
__metadata("design:returntype", Promise)
|
|
78
84
|
], AiUsageController.prototype, "mine", null);
|
|
79
85
|
exports.AiUsageController = AiUsageController = __decorate([
|
|
@@ -81,6 +87,7 @@ exports.AiUsageController = AiUsageController = __decorate([
|
|
|
81
87
|
(0, common_1.Controller)('ai/usage'),
|
|
82
88
|
(0, common_1.UseGuards)(ai_enabled_guard_1.AiEnabledGuard),
|
|
83
89
|
(0, common_1.UseInterceptors)(ai_org_enabled_interceptor_1.AiOrgEnabledInterceptor),
|
|
84
|
-
__metadata("design:paramtypes", [ai_usage_service_1.AiUsageService
|
|
90
|
+
__metadata("design:paramtypes", [ai_usage_service_1.AiUsageService,
|
|
91
|
+
index_3.SettingsResolver])
|
|
85
92
|
], AiUsageController);
|
|
86
93
|
//# sourceMappingURL=ai-usage.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-usage.controller.js","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"ai-usage.controller.js","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,13 +29,19 @@ export interface AiUsageQuery {
|
|
|
29
29
|
* user's own.
|
|
30
30
|
*/
|
|
31
31
|
withCost?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* IANA zone whose calendar days the report is cut by; resolved by the
|
|
34
|
+
* controller (query `tz`, else the caller's profile zone). Default `UTC`.
|
|
35
|
+
*/
|
|
36
|
+
timeZone?: string;
|
|
32
37
|
}
|
|
33
|
-
/** A resolved window: `from`/`to` inclusive
|
|
38
|
+
/** A resolved window: `from`/`to` inclusive calendar days in `timeZone`, `start`/`end` the half-open instants. */
|
|
34
39
|
export interface AiUsageRange {
|
|
35
40
|
from: string;
|
|
36
41
|
to: string;
|
|
37
42
|
start: Date;
|
|
38
43
|
end: Date;
|
|
44
|
+
timeZone: string;
|
|
39
45
|
}
|
|
40
46
|
/**
|
|
41
47
|
* Exported for the reference app's wiring and tests (route discovery, contract
|
|
@@ -57,6 +63,13 @@ export declare class AiUsageService {
|
|
|
57
63
|
* every organization's through the system client.
|
|
58
64
|
*/
|
|
59
65
|
report(query: AiUsageQuery, now?: Date, orgId?: string): Promise<AiUsageReport>;
|
|
66
|
+
/** Per-zone answers of `pg_timezone_names`, kept for the life of the process. */
|
|
67
|
+
private readonly knownZones;
|
|
68
|
+
/**
|
|
69
|
+
* The zone to bucket in: `requested` when Postgres knows it (checked once per
|
|
70
|
+
* zone against `pg_timezone_names`, then cached), else UTC. UTC is never queried.
|
|
71
|
+
*/
|
|
72
|
+
private databaseKnowsZone;
|
|
60
73
|
/** Non-day groups, labelled, most requests first (ties by key, so the order is stable). */
|
|
61
74
|
private labelled;
|
|
62
75
|
/**
|
|
@@ -80,12 +93,14 @@ export declare class AiUsageService {
|
|
|
80
93
|
* The window a report covers. Pure, so the defaults and bounds are unit
|
|
81
94
|
* testable without a database.
|
|
82
95
|
*
|
|
83
|
-
* Defaults: `to` = today
|
|
84
|
-
* inclusive).
|
|
96
|
+
* Days are CALENDAR DAYS IN `timeZone`. Defaults: `to` = today there; `from` =
|
|
97
|
+
* `to` minus 29 days (30 days inclusive). `start` is local midnight of `from`
|
|
98
|
+
* and `end` local midnight after `to`, as instants, so a DST day is 23 or 25
|
|
99
|
+
* hours long. Refused with 400 `AI_USAGE_RANGE_INVALID` when `from` is after
|
|
85
100
|
* `to` or the span exceeds `MAX_AI_USAGE_RANGE_DAYS` — refused, not clamped:
|
|
86
101
|
* a caller who asked for a year and silently got a quarter would compare the
|
|
87
102
|
* wrong numbers (the job-insights argument).
|
|
88
103
|
*/
|
|
89
|
-
export declare function resolveAiUsageRange(from: string | undefined, to: string | undefined, now: Date): AiUsageRange;
|
|
104
|
+
export declare function resolveAiUsageRange(from: string | undefined, to: string | undefined, now: Date, timeZone?: string): AiUsageRange;
|
|
90
105
|
export declare function emptyBucket(): AiUsageBucket;
|
|
91
106
|
//# sourceMappingURL=ai-usage.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-usage.service.d.ts","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAA6C,KAAK,SAAS,EAAuB,MAAM,UAAU,CAAC;AAG1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-usage.service.d.ts","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAA6C,KAAK,SAAS,EAAuB,MAAM,UAAU,CAAC;AAG1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAiD5B,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAE7C,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAe/D,wFAAwF;AACxF,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAS9C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,cAAc,CAAC;IACxB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kHAAkH;AAClH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2DD;;;;;GAKG;AACH,qBACa,cAAc;IAIE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAKC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAZ3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAGd,MAAM,EAAE,QAAQ,EACzC,QAAQ,EAAE,kBAAkB,EAKF,MAAM,EAAE,cAAc,EAGhB,OAAO,CAAC,EAAE,SAAS,YAAA;IAGtE;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAE,IAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4FjG,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAEzD;;;OAGG;YACW,iBAAiB;IAe/B,2FAA2F;YAC7E,QAAQ;IA4CtB;;;;;;;;;;OAUG;YACW,KAAK;IA+EnB,oGAAoG;YACtF,UAAU;YAmBV,WAAW;YAaX,SAAS;CAcxB;AAgCD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,GAAG,EAAE,IAAI,EACT,QAAQ,GAAE,MAAiC,GAC1C,YAAY,CAqBd;AAqBD,wBAAgB,WAAW,IAAI,aAAa,CAa3C"}
|
|
@@ -24,6 +24,7 @@ const operation_registry_1 = require("../core/operation-registry");
|
|
|
24
24
|
const ai_feature_registry_1 = require("../features/ai-feature.registry");
|
|
25
25
|
const provider_registry_1 = require("../core/provider-registry");
|
|
26
26
|
const ai_usage_dto_1 = require("./dto/ai-usage.dto");
|
|
27
|
+
const timezone_1 = require("@marinoscar/platform-contract/timezone");
|
|
27
28
|
// =============================================================================
|
|
28
29
|
// AiUsageService — aggregates over `ai_usage_events` (issue #443, epic #420)
|
|
29
30
|
// =============================================================================
|
|
@@ -41,10 +42,18 @@ const ai_usage_dto_1 = require("./dto/ai-usage.dto");
|
|
|
41
42
|
// admin report and the `(user_id, created_at)` index for a user's own.
|
|
42
43
|
//
|
|
43
44
|
// ⚠ THE GROUP KEY IS A FIXED SQL FRAGMENT PICKED FROM `GROUP_KEY_SQL` BY AN
|
|
44
|
-
// ENUM THE DTO VALIDATED — never text from the request.
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
// three
|
|
45
|
+
// ENUM THE DTO VALIDATED — never text from the request. The `day` key carries
|
|
46
|
+
// the report's time zone as a BOUND parameter (`AT TIME ZONE $n`), and a
|
|
47
|
+
// parameter repeated in `GROUPING(expr)` / `SELECT expr` / `GROUP BY expr`
|
|
48
|
+
// becomes three different placeholders that Postgres will not match. So the key
|
|
49
|
+
// is computed ONCE, in the derived table `src` (`gkey`), and every statement
|
|
50
|
+
// groups by the plain column.
|
|
51
|
+
//
|
|
52
|
+
// DAYS ARE CALENDAR DAYS IN THE REPORT'S TIME ZONE (the caller's `tz`, else
|
|
53
|
+
// their profile zone, else UTC), echoed back as `timeZone`. `from`/`to` are
|
|
54
|
+
// local midnights converted to instants, so a day may be 23 or 25 hours long.
|
|
55
|
+
// The AI DAILY LIMITS are not this: they reset at UTC midnight on purpose (see
|
|
56
|
+
// the limits service).
|
|
48
57
|
//
|
|
49
58
|
// Every count/sum is cast at the database (`::int`, `::float8`): `count(*)` is
|
|
50
59
|
// `bigint` and `sum(int)` is `bigint`/`numeric`, which Prisma returns as a JS
|
|
@@ -58,8 +67,8 @@ const DAY_MS = 24 * 60 * 60 * 1000;
|
|
|
58
67
|
exports.AI_USAGE_NO_USER_KEY = 'system';
|
|
59
68
|
/** Stable reason code for an unusable range (in `details.reason`). */
|
|
60
69
|
exports.AI_USAGE_RANGE_INVALID = 'AI_USAGE_RANGE_INVALID';
|
|
70
|
+
/** The group key fragments. `day` is built per report (it binds the zone), see {@link groupKeySql}. */
|
|
61
71
|
const GROUP_KEY_SQL = {
|
|
62
|
-
day: prisma_1.Prisma.raw(`to_char(created_at AT TIME ZONE 'UTC', 'YYYY-MM-DD')`),
|
|
63
72
|
user: prisma_1.Prisma.raw(`user_id::text`),
|
|
64
73
|
model: prisma_1.Prisma.raw(`provider || ':' || model_id`),
|
|
65
74
|
provider: prisma_1.Prisma.raw(`provider`),
|
|
@@ -113,10 +122,12 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
113
122
|
* every organization's through the system client.
|
|
114
123
|
*/
|
|
115
124
|
async report(query, now = new Date(), orgId) {
|
|
116
|
-
const range = resolveAiUsageRange(query.from, query.to, now);
|
|
117
|
-
const key = GROUP_KEY_SQL[query.groupBy];
|
|
118
|
-
const where = whereSql(range, query);
|
|
119
125
|
const db = orgId ? this.prisma.forOrg(orgId) : this.system.asSystem('admin-aggregate');
|
|
126
|
+
// A zone Intl accepts but Postgres does not know would make `AT TIME ZONE` fail: fall back to UTC.
|
|
127
|
+
const timeZone = await this.databaseKnowsZone(db, query.timeZone);
|
|
128
|
+
const range = resolveAiUsageRange(query.from, query.to, now, timeZone);
|
|
129
|
+
const key = prisma_1.Prisma.raw('gkey');
|
|
130
|
+
const src = sourceSql(groupKeySql(query.groupBy, range.timeZone), whereSql(range, query));
|
|
120
131
|
const [rows, unitRows] = await Promise.all([
|
|
121
132
|
db.$queryRaw(prisma_1.Prisma.sql `
|
|
122
133
|
SELECT
|
|
@@ -131,8 +142,7 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
131
142
|
(count(*) FILTER (WHERE key_source = 'org'))::int AS org_requests,
|
|
132
143
|
coalesce(sum(input_tokens) FILTER (WHERE key_source = 'org'), 0)::float8 AS org_input_tokens,
|
|
133
144
|
coalesce(sum(output_tokens) FILTER (WHERE key_source = 'org'), 0)::float8 AS org_output_tokens
|
|
134
|
-
FROM
|
|
135
|
-
${where}
|
|
145
|
+
FROM ${src}
|
|
136
146
|
GROUP BY GROUPING SETS ((${key}), ())
|
|
137
147
|
`),
|
|
138
148
|
// `CASE` rather than a WHERE on `jsonb_typeof`: `jsonb_each` raises on a
|
|
@@ -144,12 +154,11 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
144
154
|
${key} AS key,
|
|
145
155
|
u.unit AS unit,
|
|
146
156
|
sum((u.amount)::numeric)::float8 AS amount
|
|
147
|
-
FROM
|
|
157
|
+
FROM ${src},
|
|
148
158
|
LATERAL jsonb_each(
|
|
149
159
|
CASE WHEN jsonb_typeof(units) = 'object' THEN units ELSE '{}'::jsonb END
|
|
150
160
|
) AS u(unit, amount)
|
|
151
|
-
|
|
152
|
-
AND jsonb_typeof(u.amount) = 'number'
|
|
161
|
+
WHERE jsonb_typeof(u.amount) = 'number'
|
|
153
162
|
GROUP BY GROUPING SETS ((${key}, u.unit), (u.unit))
|
|
154
163
|
`),
|
|
155
164
|
]);
|
|
@@ -177,7 +186,7 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
177
186
|
}
|
|
178
187
|
const priced = query.withCost === true && this.pricing !== undefined;
|
|
179
188
|
if (priced) {
|
|
180
|
-
const costs = await this.costs(db, key,
|
|
189
|
+
const costs = await this.costs(db, key, src);
|
|
181
190
|
totals = { ...totals, cost: costs.total };
|
|
182
191
|
for (const group of groups)
|
|
183
192
|
group.bucket = { ...group.bucket, cost: costs.byKey.get(group.key) ?? null };
|
|
@@ -187,12 +196,32 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
187
196
|
: await this.labelled(query.groupBy, groups);
|
|
188
197
|
return {
|
|
189
198
|
range: { from: range.from, to: range.to },
|
|
199
|
+
timeZone: range.timeZone,
|
|
190
200
|
groupBy: query.groupBy,
|
|
191
201
|
...(query.withCost === true ? { priced } : {}),
|
|
192
202
|
totals,
|
|
193
203
|
series,
|
|
194
204
|
};
|
|
195
205
|
}
|
|
206
|
+
/** Per-zone answers of `pg_timezone_names`, kept for the life of the process. */
|
|
207
|
+
knownZones = new Map();
|
|
208
|
+
/**
|
|
209
|
+
* The zone to bucket in: `requested` when Postgres knows it (checked once per
|
|
210
|
+
* zone against `pg_timezone_names`, then cached), else UTC. UTC is never queried.
|
|
211
|
+
*/
|
|
212
|
+
async databaseKnowsZone(db, requested) {
|
|
213
|
+
if (!requested || requested === timezone_1.DEFAULT_SERVER_TIME_ZONE)
|
|
214
|
+
return timezone_1.DEFAULT_SERVER_TIME_ZONE;
|
|
215
|
+
let known = this.knownZones.get(requested);
|
|
216
|
+
if (known === undefined) {
|
|
217
|
+
const rows = await db.$queryRaw(prisma_1.Prisma.sql `SELECT 1 FROM pg_timezone_names WHERE name = ${requested} LIMIT 1`);
|
|
218
|
+
known = Array.isArray(rows) && rows.length > 0;
|
|
219
|
+
this.knownZones.set(requested, known);
|
|
220
|
+
if (!known)
|
|
221
|
+
this.logger.warn(`Postgres does not know the time zone "${requested}"; the usage report falls back to UTC`);
|
|
222
|
+
}
|
|
223
|
+
return known ? requested : timezone_1.DEFAULT_SERVER_TIME_ZONE;
|
|
224
|
+
}
|
|
196
225
|
/** Non-day groups, labelled, most requests first (ties by key, so the order is stable). */
|
|
197
226
|
async labelled(groupBy, groups) {
|
|
198
227
|
const emails = groupBy === 'user' ? await this.emailsFor(groups) : new Map();
|
|
@@ -243,7 +272,7 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
243
272
|
* do not here, but `day` and `user` reports are different cuts of the same
|
|
244
273
|
* slices).
|
|
245
274
|
*/
|
|
246
|
-
async costs(db, key,
|
|
275
|
+
async costs(db, key, src) {
|
|
247
276
|
const pricing = this.pricing;
|
|
248
277
|
const [rows, unitRows] = await Promise.all([
|
|
249
278
|
db.$queryRaw(prisma_1.Prisma.sql `
|
|
@@ -257,8 +286,7 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
257
286
|
coalesce(sum(output_tokens), 0)::float8 AS output_tokens,
|
|
258
287
|
coalesce(sum(reasoning_tokens), 0)::float8 AS reasoning_tokens,
|
|
259
288
|
coalesce(sum(cached_input_tokens), 0)::float8 AS cached_input_tokens
|
|
260
|
-
FROM
|
|
261
|
-
${where}
|
|
289
|
+
FROM ${src}
|
|
262
290
|
GROUP BY ${key}, provider, model_id, operation
|
|
263
291
|
`),
|
|
264
292
|
db.$queryRaw(prisma_1.Prisma.sql `
|
|
@@ -269,12 +297,11 @@ let AiUsageService = AiUsageService_1 = class AiUsageService {
|
|
|
269
297
|
operation,
|
|
270
298
|
u.unit AS unit,
|
|
271
299
|
sum((u.amount)::numeric)::float8 AS amount
|
|
272
|
-
FROM
|
|
300
|
+
FROM ${src},
|
|
273
301
|
LATERAL jsonb_each(
|
|
274
302
|
CASE WHEN jsonb_typeof(units) = 'object' THEN units ELSE '{}'::jsonb END
|
|
275
303
|
) AS u(unit, amount)
|
|
276
|
-
|
|
277
|
-
AND jsonb_typeof(u.amount) = 'number'
|
|
304
|
+
WHERE jsonb_typeof(u.amount) = 'number'
|
|
278
305
|
GROUP BY ${key}, provider, model_id, operation, u.unit
|
|
279
306
|
`),
|
|
280
307
|
]);
|
|
@@ -360,6 +387,19 @@ exports.AiUsageService = AiUsageService = AiUsageService_1 = __decorate([
|
|
|
360
387
|
__param(3, (0, common_1.Inject)(ports_1.AI_PRICING)),
|
|
361
388
|
__metadata("design:paramtypes", [Object, provider_registry_1.AiProviderRegistry, Object, Object])
|
|
362
389
|
], AiUsageService);
|
|
390
|
+
/**
|
|
391
|
+
* The group key expression. `day` is the calendar day in `timeZone`, bound as a
|
|
392
|
+
* parameter (the key is evaluated once, in {@link sourceSql}).
|
|
393
|
+
*/
|
|
394
|
+
function groupKeySql(groupBy, timeZone) {
|
|
395
|
+
return groupBy === 'day'
|
|
396
|
+
? prisma_1.Prisma.sql `to_char(created_at AT TIME ZONE ${timeZone}::text, 'YYYY-MM-DD')`
|
|
397
|
+
: GROUP_KEY_SQL[groupBy];
|
|
398
|
+
}
|
|
399
|
+
/** The filtered rows with the group key computed once as `gkey`. */
|
|
400
|
+
function sourceSql(key, where) {
|
|
401
|
+
return prisma_1.Prisma.sql `(SELECT *, ${key} AS gkey FROM ai_usage_events ${where}) AS src`;
|
|
402
|
+
}
|
|
363
403
|
function whereSql(range, query) {
|
|
364
404
|
const clauses = [
|
|
365
405
|
prisma_1.Prisma.sql `created_at >= ${range.start}::timestamptz`,
|
|
@@ -381,45 +421,46 @@ function whereSql(range, query) {
|
|
|
381
421
|
* The window a report covers. Pure, so the defaults and bounds are unit
|
|
382
422
|
* testable without a database.
|
|
383
423
|
*
|
|
384
|
-
* Defaults: `to` = today
|
|
385
|
-
* inclusive).
|
|
424
|
+
* Days are CALENDAR DAYS IN `timeZone`. Defaults: `to` = today there; `from` =
|
|
425
|
+
* `to` minus 29 days (30 days inclusive). `start` is local midnight of `from`
|
|
426
|
+
* and `end` local midnight after `to`, as instants, so a DST day is 23 or 25
|
|
427
|
+
* hours long. Refused with 400 `AI_USAGE_RANGE_INVALID` when `from` is after
|
|
386
428
|
* `to` or the span exceeds `MAX_AI_USAGE_RANGE_DAYS` — refused, not clamped:
|
|
387
429
|
* a caller who asked for a year and silently got a quarter would compare the
|
|
388
430
|
* wrong numbers (the job-insights argument).
|
|
389
431
|
*/
|
|
390
|
-
function resolveAiUsageRange(from, to, now) {
|
|
391
|
-
const toDay = to ?
|
|
392
|
-
const fromDay = from ?
|
|
393
|
-
if (fromDay
|
|
432
|
+
function resolveAiUsageRange(from, to, now, timeZone = timezone_1.DEFAULT_SERVER_TIME_ZONE) {
|
|
433
|
+
const toDay = to ? checkedDay(to) : (0, timezone_1.zonedDateKey)(now, timeZone);
|
|
434
|
+
const fromDay = from ? checkedDay(from) : (0, timezone_1.addDaysToDateKey)(toDay, -(ai_usage_dto_1.DEFAULT_AI_USAGE_RANGE_DAYS - 1));
|
|
435
|
+
if (fromDay > toDay) {
|
|
394
436
|
throw rangeError('`from` must not be after `to`.');
|
|
395
437
|
}
|
|
396
|
-
const days = Math.round((toDay
|
|
438
|
+
const days = Math.round((dayNumber(toDay) - dayNumber(fromDay))) + 1;
|
|
397
439
|
if (days > ai_usage_dto_1.MAX_AI_USAGE_RANGE_DAYS) {
|
|
398
440
|
throw rangeError(`The range covers ${days} days; at most ${ai_usage_dto_1.MAX_AI_USAGE_RANGE_DAYS} are allowed.`);
|
|
399
441
|
}
|
|
400
442
|
return {
|
|
401
|
-
from:
|
|
402
|
-
to:
|
|
403
|
-
start: fromDay,
|
|
404
|
-
end:
|
|
443
|
+
from: fromDay,
|
|
444
|
+
to: toDay,
|
|
445
|
+
start: (0, timezone_1.zonedDayStart)(fromDay, timeZone),
|
|
446
|
+
end: (0, timezone_1.zonedDayStart)((0, timezone_1.addDaysToDateKey)(toDay, 1), timeZone),
|
|
447
|
+
timeZone,
|
|
405
448
|
};
|
|
406
449
|
}
|
|
407
|
-
|
|
450
|
+
/** Whole days since the epoch of a `YYYY-MM-DD` (zone-free calendar arithmetic). */
|
|
451
|
+
function dayNumber(day) {
|
|
452
|
+
return Date.parse(`${day}T00:00:00.000Z`) / DAY_MS;
|
|
453
|
+
}
|
|
454
|
+
function checkedDay(day) {
|
|
408
455
|
const parsed = new Date(`${day}T00:00:00.000Z`);
|
|
409
|
-
if (Number.isNaN(parsed.getTime()) ||
|
|
456
|
+
if (Number.isNaN(parsed.getTime()) || parsed.toISOString().slice(0, 10) !== day) {
|
|
410
457
|
throw rangeError(`"${day}" is not a valid date (YYYY-MM-DD).`);
|
|
411
458
|
}
|
|
412
|
-
return
|
|
459
|
+
return day;
|
|
413
460
|
}
|
|
414
461
|
function rangeError(message) {
|
|
415
462
|
return new common_1.BadRequestException({ message, details: { reason: exports.AI_USAGE_RANGE_INVALID } });
|
|
416
463
|
}
|
|
417
|
-
function startOfUtcDay(date) {
|
|
418
|
-
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
|
|
419
|
-
}
|
|
420
|
-
function isoDay(date) {
|
|
421
|
-
return date.toISOString().slice(0, 10);
|
|
422
|
-
}
|
|
423
464
|
function emptyBucket() {
|
|
424
465
|
return {
|
|
425
466
|
requests: 0,
|
|
@@ -448,12 +489,12 @@ function toBucket(row, units) {
|
|
|
448
489
|
orgKeyOutputTokens: Number(row.org_output_tokens),
|
|
449
490
|
};
|
|
450
491
|
}
|
|
451
|
-
/** Every day of the range, in order, with a zero bucket where nothing was recorded. */
|
|
492
|
+
/** Every calendar day of the range, in order, with a zero bucket where nothing was recorded. */
|
|
452
493
|
function zeroFilledDays(range, groups) {
|
|
453
494
|
const byDay = new Map(groups.map((g) => [g.key, g.bucket]));
|
|
454
495
|
const series = [];
|
|
455
|
-
|
|
456
|
-
|
|
496
|
+
// Stepped on the calendar (never by 24 hours), so a DST day cannot skip or repeat a key.
|
|
497
|
+
for (let day = range.from; day <= range.to; day = (0, timezone_1.addDaysToDateKey)(day, 1)) {
|
|
457
498
|
series.push({ key: day, label: day, ...(byDay.get(day) ?? emptyBucket()) });
|
|
458
499
|
}
|
|
459
500
|
return series;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-usage.service.js","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-usage.service.js","sourceRoot":"","sources":["../../../src/ai/usage/ai-usage.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export type AiUsageGroupBy = (typeof AI_USAGE_ADMIN_GROUP_BY)[number];
|
|
|
13
13
|
export declare const aiUsageMeQuerySchema: z.ZodObject<{
|
|
14
14
|
from: z.ZodOptional<z.ZodISODate>;
|
|
15
15
|
to: z.ZodOptional<z.ZodISODate>;
|
|
16
|
+
tz: z.ZodOptional<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
|
|
16
17
|
groupBy: z.ZodDefault<z.ZodEnum<{
|
|
17
18
|
model: "model";
|
|
18
19
|
day: "day";
|
|
@@ -21,6 +22,7 @@ export declare const aiUsageMeQuerySchema: z.ZodObject<{
|
|
|
21
22
|
export declare const aiUsageAdminQuerySchema: z.ZodObject<{
|
|
22
23
|
from: z.ZodOptional<z.ZodISODate>;
|
|
23
24
|
to: z.ZodOptional<z.ZodISODate>;
|
|
25
|
+
tz: z.ZodOptional<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
|
|
24
26
|
groupBy: z.ZodDefault<z.ZodEnum<{
|
|
25
27
|
org: "org";
|
|
26
28
|
user: "user";
|
|
@@ -44,6 +46,7 @@ export declare const aiUsageAdminQuerySchema: z.ZodObject<{
|
|
|
44
46
|
export declare const aiUsageOrgQuerySchema: z.ZodObject<{
|
|
45
47
|
from: z.ZodOptional<z.ZodISODate>;
|
|
46
48
|
to: z.ZodOptional<z.ZodISODate>;
|
|
49
|
+
tz: z.ZodOptional<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
|
|
47
50
|
groupBy: z.ZodDefault<z.ZodEnum<{
|
|
48
51
|
user: "user";
|
|
49
52
|
model: "model";
|
|
@@ -61,6 +64,7 @@ export declare const aiUsageOrgQuerySchema: z.ZodObject<{
|
|
|
61
64
|
declare const AiUsageOrgQueryDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
|
|
62
65
|
from: z.ZodOptional<z.ZodISODate>;
|
|
63
66
|
to: z.ZodOptional<z.ZodISODate>;
|
|
67
|
+
tz: z.ZodOptional<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
|
|
64
68
|
groupBy: z.ZodDefault<z.ZodEnum<{
|
|
65
69
|
user: "user";
|
|
66
70
|
model: "model";
|
|
@@ -81,6 +85,7 @@ export type AiUsageOrgQuery = z.output<typeof aiUsageOrgQuerySchema>;
|
|
|
81
85
|
declare const AiUsageMeQueryDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
|
|
82
86
|
from: z.ZodOptional<z.ZodISODate>;
|
|
83
87
|
to: z.ZodOptional<z.ZodISODate>;
|
|
88
|
+
tz: z.ZodOptional<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
|
|
84
89
|
groupBy: z.ZodDefault<z.ZodEnum<{
|
|
85
90
|
model: "model";
|
|
86
91
|
day: "day";
|
|
@@ -91,6 +96,7 @@ export declare class AiUsageMeQueryDto extends AiUsageMeQueryDto_base {
|
|
|
91
96
|
declare const AiUsageAdminQueryDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
|
|
92
97
|
from: z.ZodOptional<z.ZodISODate>;
|
|
93
98
|
to: z.ZodOptional<z.ZodISODate>;
|
|
99
|
+
tz: z.ZodOptional<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
|
|
94
100
|
groupBy: z.ZodDefault<z.ZodEnum<{
|
|
95
101
|
org: "org";
|
|
96
102
|
user: "user";
|
|
@@ -160,6 +166,7 @@ export declare const aiUsageReportSchema: z.ZodObject<{
|
|
|
160
166
|
from: z.ZodISODate;
|
|
161
167
|
to: z.ZodISODate;
|
|
162
168
|
}, z.core.$strip>;
|
|
169
|
+
timeZone: z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
163
170
|
groupBy: z.ZodEnum<{
|
|
164
171
|
org: "org";
|
|
165
172
|
user: "user";
|
|
@@ -211,6 +218,7 @@ declare const AiUsageReportDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
|
|
|
211
218
|
from: z.ZodISODate;
|
|
212
219
|
to: z.ZodISODate;
|
|
213
220
|
}, z.core.$strip>;
|
|
221
|
+
timeZone: z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>;
|
|
214
222
|
groupBy: z.ZodEnum<{
|
|
215
223
|
org: "org";
|
|
216
224
|
user: "user";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-usage.dto.d.ts","sourceRoot":"","sources":["../../../../src/ai/usage/dto/ai-usage.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-usage.dto.d.ts","sourceRoot":"","sources":["../../../../src/ai/usage/dto/ai-usage.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,2FAU1B,CAAC;AAEX,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,oFAAqF,CAAC;AAExH,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,2BAA4B,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAItE,eAAO,MAAM,oBAAoB;;;;;;;;iBAQ/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;iBAgBlC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAWhC,CAAC;;;;;;;;;;;;;;;;;;;AAEH,qBAAa,kBAAmB,SAAQ,uBAAmC;CAAG;AAC9E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;;;;;;;;;;AAErE,qBAAa,iBAAkB,SAAQ,sBAAkC;CAAG;;;;;;;;;;;;;;;;;;;;;AAC5E,qBAAa,oBAAqB,SAAQ,yBAAqC;CAAG;AAElF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAYzE;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;iBAqB9B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAclC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qBAAa,gBAAiB,SAAQ,qBAAiC;CAAG;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|