@pymthouse/builder-sdk 0.0.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +106 -2
  2. package/dist/client-BHfjDvIe.d.ts +129 -0
  3. package/dist/client-CvhJEhjV.d.cts +129 -0
  4. package/dist/config.cjs +122 -0
  5. package/dist/config.cjs.map +1 -0
  6. package/dist/config.d.cts +29 -0
  7. package/dist/config.d.ts +29 -0
  8. package/dist/config.js +111 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/device-initiate.cjs +88 -0
  11. package/dist/device-initiate.cjs.map +1 -0
  12. package/dist/device-initiate.d.cts +32 -0
  13. package/dist/device-initiate.d.ts +32 -0
  14. package/dist/device-initiate.js +84 -0
  15. package/dist/device-initiate.js.map +1 -0
  16. package/dist/device.cjs +1 -1
  17. package/dist/device.cjs.map +1 -1
  18. package/dist/device.d.cts +1 -1
  19. package/dist/device.d.ts +1 -1
  20. package/dist/device.js +1 -1
  21. package/dist/device.js.map +1 -1
  22. package/dist/env.cjs +1071 -28
  23. package/dist/env.cjs.map +1 -1
  24. package/dist/env.d.cts +15 -2
  25. package/dist/env.d.ts +15 -2
  26. package/dist/env.js +1071 -28
  27. package/dist/env.js.map +1 -1
  28. package/dist/gateway/client/index.cjs +492 -0
  29. package/dist/gateway/client/index.cjs.map +1 -0
  30. package/dist/gateway/client/index.d.cts +63 -0
  31. package/dist/gateway/client/index.d.ts +63 -0
  32. package/dist/gateway/client/index.js +489 -0
  33. package/dist/gateway/client/index.js.map +1 -0
  34. package/dist/gateway/index.cjs +16 -0
  35. package/dist/gateway/index.cjs.map +1 -0
  36. package/dist/gateway/index.d.cts +52 -0
  37. package/dist/gateway/index.d.ts +52 -0
  38. package/dist/gateway/index.js +10 -0
  39. package/dist/gateway/index.js.map +1 -0
  40. package/dist/gateway/server/index.cjs +1248 -0
  41. package/dist/gateway/server/index.cjs.map +1 -0
  42. package/dist/gateway/server/index.d.cts +31 -0
  43. package/dist/gateway/server/index.d.ts +31 -0
  44. package/dist/gateway/server/index.js +1233 -0
  45. package/dist/gateway/server/index.js.map +1 -0
  46. package/dist/index.cjs +1401 -137
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.d.cts +41 -5
  49. package/dist/index.d.ts +41 -5
  50. package/dist/index.js +1334 -105
  51. package/dist/index.js.map +1 -1
  52. package/dist/ingest-B3Yi8Tb1.d.cts +271 -0
  53. package/dist/ingest-DoKJTWU9.d.ts +271 -0
  54. package/dist/plan-pricing.cjs +108 -0
  55. package/dist/plan-pricing.cjs.map +1 -0
  56. package/dist/plan-pricing.d.cts +15 -0
  57. package/dist/plan-pricing.d.ts +15 -0
  58. package/dist/plan-pricing.js +98 -0
  59. package/dist/plan-pricing.js.map +1 -0
  60. package/dist/signer/server.cjs +1366 -0
  61. package/dist/signer/server.cjs.map +1 -0
  62. package/dist/signer/server.d.cts +73 -0
  63. package/dist/signer/server.d.ts +73 -0
  64. package/dist/signer/server.js +1331 -0
  65. package/dist/signer/server.js.map +1 -0
  66. package/dist/tokens.cjs +75 -0
  67. package/dist/tokens.cjs.map +1 -0
  68. package/dist/tokens.d.cts +48 -0
  69. package/dist/tokens.d.ts +48 -0
  70. package/dist/tokens.js +64 -0
  71. package/dist/tokens.js.map +1 -0
  72. package/dist/types-_R1AwEZp.d.cts +343 -0
  73. package/dist/types-_R1AwEZp.d.ts +343 -0
  74. package/dist/verify.cjs +1 -1
  75. package/dist/verify.cjs.map +1 -1
  76. package/dist/verify.d.cts +1 -1
  77. package/dist/verify.d.ts +1 -1
  78. package/dist/verify.js +1 -1
  79. package/dist/verify.js.map +1 -1
  80. package/gateway/proto/lp_rpc.proto +542 -0
  81. package/package.json +57 -1
  82. package/dist/env-4YmzarGJ.d.ts +0 -68
  83. package/dist/env-CZczUMzR.d.cts +0 -68
  84. package/dist/types-W9PJAspR.d.cts +0 -136
  85. package/dist/types-W9PJAspR.d.ts +0 -136
package/dist/index.d.ts CHANGED
@@ -1,8 +1,22 @@
1
- import { U as UsageByUserRow, a as UsageForExternalUser, b as UsageApiResponse, c as UsageByPipelineModelRow, O as OidcDiscoveryDocument, F as FetchLike } from './types-W9PJAspR.js';
2
- export { A as AppUserRecord, C as ClientCredentialsTokenResponse, D as DeviceApprovalInput, G as GetDiscoveryOptions, M as MintUserAccessTokenInput, d as MintUserAccessTokenResponse, e as MintUserSignerSessionTokenInput, P as ParsedDeviceApprovalRedirect, f as PmtHouseClientOptions, T as TokenExchangeResponse, g as UpsertAppUserInput, h as UsageQueryInput, i as UsageTotals } from './types-W9PJAspR.js';
3
- export { P as PmtHouseClient, b as buildDeviceCodeResource, c as createPmtHouseClientFromEnv, g as getPymthouseBaseUrl, n as normalizeUserCode } from './env-4YmzarGJ.js';
1
+ export { NETWORK_USD_PER_MICRO, applyRetailRateToNetworkMicros, defaultRetailRateUsd, markupPercentToRetailRateUsd, parseMarkupPercentInput, parseRetailRateUsd, retailRateUsdPerMillion, retailRateUsdToMarkupPercent } from './plan-pricing.js';
2
+ export { i as ingestSignedTicket, a as ingestSignedTicketsBatch, s as signerSnapshotToIngestPayload } from './ingest-DoKJTWU9.js';
3
+ import { r as UsageByUserRow, s as UsageForExternalUser, e as UsageApiResponse, n as MeScopeUsagePayload, t as UsageByPipelineModelRow, u as UsageByPipelineModelFiatRow, O as OidcDiscoveryDocument, F as FetchLike, v as AppManifestResponse } from './types-_R1AwEZp.js';
4
+ export { w as AllowancePolicy, x as AppManifestCapability, A as AppUserRecord, q as ApproveDeviceLoginInput, B as BillingProduct, y as BillingSyncState, z as BillingSyncStatus, E as CapabilityPriceRule, C as ClientCredentialsTokenResponse, D as DeviceApprovalInput, o as GetAppManifestResult, G as GetDiscoveryOptions, l as GrantSource, L as ListBillingProductsResult, p as MintSignerSessionForExternalUserInput, M as MintUserAccessTokenInput, b as MintUserAccessTokenResponse, c as MintUserSignerSessionTokenInput, a as ParsedDeviceApprovalRedirect, h as PlanSyncResult, P as PmtHouseClientOptions, S as SignedTicketIngestInput, f as SignedTicketIngestResult, H as SignerRoutingConfig, g as SignerRoutingResponse, T as TokenExchangeResponse, U as UpsertAppUserInput, i as UsageBalanceResponse, I as UsageDailyPipelineRow, d as UsageQueryInput, J as UsageTotals, k as UserAllowanceGrantInput, j as UserAllowancesResponse, K as UserCreditGrantInput, N as UserCreditsResponse, m as UserSubscriptionResponse } from './types-_R1AwEZp.js';
5
+ export { P as PmtHouseClient, b as buildDeviceCodeResource, n as normalizeUserCode } from './client-BHfjDvIe.js';
6
+ export { PYMTHOUSE_NOT_CONFIGURED_MESSAGE, getBuilderApiV1BaseFromIssuerUrl, getPymthouseIssuerOrigin, getPymthouseIssuerUrlFromEnv, getPymthousePublicClientIdFromEnv, isPymthouseConfigured, readPymthouseEnv } from './config.js';
4
7
  import { AuthorizationServer } from 'oauth4webapi';
8
+ export { PYMTHOUSE_SIGNER_SESSION_TTL_MS, SIGNER_SESSION_EXPIRES_IN_SEC, SIGNER_SESSION_TTL_MS, SIGN_JOB_SCOPE, SignerSessionToken, computePymthouseExpiry, computeSignerSessionExpiry, decodeJwtExp, isLikelyOidcJwt, isOpaqueSignerSessionToken, parseSignerSessionExchange } from './tokens.js';
5
9
 
10
+ /** ISO bounds for the current calendar month in UTC (billing-friendly window). */
11
+ declare function getUtcCalendarMonthIsoBounds(now?: Date): {
12
+ startDate: string;
13
+ endDate: string;
14
+ };
15
+ /**
16
+ * Parse a single date query value. Accepts ISO strings understood by `Date.parse`.
17
+ * Returns `null` when missing, empty, or invalid.
18
+ */
19
+ declare function parseUsageDateParam(raw: string | null): string | null;
6
20
  /**
7
21
  * Sum all `byUser` buckets whose `externalUserId` matches the provider user.
8
22
  *
@@ -16,9 +30,28 @@ declare function aggregateUsageByExternalUserId(byUser: UsageByUserRow[] | undef
16
30
  declare function summarizeUsageForExternalUser(usage: UsageApiResponse, externalUserId: string): UsageForExternalUser;
17
31
  /**
18
32
  * Returns `byPipelineModel` rows from a Usage API response, sorted by `pipeline` then `modelId`.
19
- * Use with `getUsage({ groupBy: "pipeline_model", ... })`.
20
33
  */
21
34
  declare function listUsageByPipelineModel(usage: UsageApiResponse): UsageByPipelineModelRow[];
35
+ /** Map `externalUserId` to internal `endUserId` values for follow-up pipeline_model queries. */
36
+ declare function getEndUserIdsForExternalUser(usage: UsageApiResponse, externalUserId: string): string[];
37
+ /** @deprecated Use {@link getEndUserIdsForExternalUser}. */
38
+ declare const getUsageRecordUserIdsForExternalUser: typeof getEndUserIdsForExternalUser;
39
+ interface UsageFiatSummary {
40
+ externalUserId: string;
41
+ requestCount: number;
42
+ currency: string;
43
+ networkFeeUsdMicros: string;
44
+ ownerChargeUsdMicros: string;
45
+ endUserBillableUsdMicros: string;
46
+ }
47
+ /** Sum fiat usage fields across duplicate `byUser` buckets for one external user. */
48
+ declare function summarizeUsageFiatForExternalUser(usageByUser: UsageApiResponse, externalUserId: string): UsageFiatSummary;
49
+ /** Merge and sort pipeline/model rows from multiple Usage API responses. */
50
+ declare function mergeUsageByPipelineModel(usagePipelineModels: UsageApiResponse | UsageApiResponse[] | undefined): UsageByPipelineModelFiatRow[];
51
+ /** Build the session-scoped `scope=me` usage payload for integrator BFFs. */
52
+ declare function buildMeScopeUsagePayload(usageByUser: UsageApiResponse, externalUserId: string, usagePipelineModel?: UsageApiResponse | UsageApiResponse[], usageDaily?: UsageApiResponse): MeScopeUsagePayload;
53
+ /** Default cap for parallel pipeline_model fetches per external user (matches NaaP BFF). */
54
+ declare const DEFAULT_MAX_END_USER_IDS = 25;
22
55
 
23
56
  declare class PmtHouseError extends Error {
24
57
  readonly status: number;
@@ -44,4 +77,7 @@ declare function loadAuthorizationServer(issuerUrl: string, fetchImpl: FetchLike
44
77
  declare function fetchDiscoveryDocument(issuerUrl: string, fetchImpl: FetchLike, options?: LoadAuthorizationServerOptions): Promise<OidcDiscoveryDocument>;
45
78
  declare function clearDiscoveryCache(issuerUrl?: string): void;
46
79
 
47
- export { FetchLike, type LoadAuthorizationServerOptions, OidcDiscoveryDocument, PmtHouseError, UsageApiResponse, UsageByPipelineModelRow, UsageByUserRow, UsageForExternalUser, aggregateUsageByExternalUserId, authorizationServerToOidcDocument, clearDiscoveryCache, fetchDiscoveryDocument, listUsageByPipelineModel, loadAuthorizationServer, summarizeUsageForExternalUser, toPmtHouseError };
80
+ declare function parseAppManifestResponse(json: unknown): AppManifestResponse;
81
+ declare function computeManifestRevision(data: Pick<AppManifestResponse, "capabilities" | "excludedCapabilities" | "manifestVersion"> | null): string;
82
+
83
+ export { AppManifestResponse, DEFAULT_MAX_END_USER_IDS, FetchLike, type LoadAuthorizationServerOptions, MeScopeUsagePayload, OidcDiscoveryDocument, PmtHouseError, UsageApiResponse, UsageByPipelineModelFiatRow, UsageByPipelineModelRow, UsageByUserRow, UsageForExternalUser, aggregateUsageByExternalUserId, authorizationServerToOidcDocument, buildMeScopeUsagePayload, clearDiscoveryCache, computeManifestRevision, fetchDiscoveryDocument, getEndUserIdsForExternalUser, getUsageRecordUserIdsForExternalUser, getUtcCalendarMonthIsoBounds, listUsageByPipelineModel, loadAuthorizationServer, mergeUsageByPipelineModel, parseAppManifestResponse, parseUsageDateParam, summarizeUsageFiatForExternalUser, summarizeUsageForExternalUser, toPmtHouseError };