@stripe/extensibility-sdk 0.22.4

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 (113) hide show
  1. package/LICENSE.md +19 -0
  2. package/dist/config-values/generate.cjs +262 -0
  3. package/dist/config-values/generate.d.ts +38 -0
  4. package/dist/config-values/generate.d.ts.map +1 -0
  5. package/dist/config-values/generate.js +232 -0
  6. package/dist/config-values/parse.d.ts +87 -0
  7. package/dist/config-values/parse.d.ts.map +1 -0
  8. package/dist/extensibility-sdk-alpha.d.ts +542 -0
  9. package/dist/extensibility-sdk-beta.d.ts +542 -0
  10. package/dist/extensibility-sdk-config-values-alpha.d.ts +27 -0
  11. package/dist/extensibility-sdk-config-values-beta.d.ts +27 -0
  12. package/dist/extensibility-sdk-config-values-internal.d.ts +118 -0
  13. package/dist/extensibility-sdk-config-values-public.d.ts +27 -0
  14. package/dist/extensibility-sdk-extensions-alpha.d.ts +1592 -0
  15. package/dist/extensibility-sdk-extensions-beta.d.ts +1592 -0
  16. package/dist/extensibility-sdk-extensions-internal.d.ts +1655 -0
  17. package/dist/extensibility-sdk-extensions-public.d.ts +1592 -0
  18. package/dist/extensibility-sdk-internal-alpha.d.ts +9 -0
  19. package/dist/extensibility-sdk-internal-beta.d.ts +9 -0
  20. package/dist/extensibility-sdk-internal-internal.d.ts +23 -0
  21. package/dist/extensibility-sdk-internal-public.d.ts +9 -0
  22. package/dist/extensibility-sdk-internal.d.ts +915 -0
  23. package/dist/extensibility-sdk-jsonschema-alpha.d.ts +3 -0
  24. package/dist/extensibility-sdk-jsonschema-beta.d.ts +3 -0
  25. package/dist/extensibility-sdk-jsonschema-internal.d.ts +15 -0
  26. package/dist/extensibility-sdk-jsonschema-public.d.ts +3 -0
  27. package/dist/extensibility-sdk-public.d.ts +542 -0
  28. package/dist/extensibility-sdk-stdlib-alpha.d.ts +531 -0
  29. package/dist/extensibility-sdk-stdlib-beta.d.ts +531 -0
  30. package/dist/extensibility-sdk-stdlib-internal.d.ts +904 -0
  31. package/dist/extensibility-sdk-stdlib-public.d.ts +531 -0
  32. package/dist/extensions/billing/bill/discount_calculation.d.ts +226 -0
  33. package/dist/extensions/billing/bill/discount_calculation.d.ts.map +1 -0
  34. package/dist/extensions/billing/bill/index.d.ts +2 -0
  35. package/dist/extensions/billing/bill/index.d.ts.map +1 -0
  36. package/dist/extensions/billing/customer_balance_application.d.ts +82 -0
  37. package/dist/extensions/billing/customer_balance_application.d.ts.map +1 -0
  38. package/dist/extensions/billing/index.d.ts +8 -0
  39. package/dist/extensions/billing/index.d.ts.map +1 -0
  40. package/dist/extensions/billing/invoice_collection_setting.d.ts +117 -0
  41. package/dist/extensions/billing/invoice_collection_setting.d.ts.map +1 -0
  42. package/dist/extensions/billing/prorations.d.ts +222 -0
  43. package/dist/extensions/billing/prorations.d.ts.map +1 -0
  44. package/dist/extensions/billing/recurring_billing_item_handling.d.ts +326 -0
  45. package/dist/extensions/billing/recurring_billing_item_handling.d.ts.map +1 -0
  46. package/dist/extensions/billing/types.d.ts +33 -0
  47. package/dist/extensions/billing/types.d.ts.map +1 -0
  48. package/dist/extensions/context.d.ts +9 -0
  49. package/dist/extensions/context.d.ts.map +1 -0
  50. package/dist/extensions/core/index.d.ts +3 -0
  51. package/dist/extensions/core/index.d.ts.map +1 -0
  52. package/dist/extensions/core/workflows/custom_action.d.ts +142 -0
  53. package/dist/extensions/core/workflows/custom_action.d.ts.map +1 -0
  54. package/dist/extensions/core/workflows/index.d.ts +2 -0
  55. package/dist/extensions/core/workflows/index.d.ts.map +1 -0
  56. package/dist/extensions/extend/index.d.ts +3 -0
  57. package/dist/extensions/extend/index.d.ts.map +1 -0
  58. package/dist/extensions/extend/workflows/custom_action.d.ts +142 -0
  59. package/dist/extensions/extend/workflows/custom_action.d.ts.map +1 -0
  60. package/dist/extensions/extend/workflows/index.d.ts +2 -0
  61. package/dist/extensions/extend/workflows/index.d.ts.map +1 -0
  62. package/dist/extensions/index.cjs +2356 -0
  63. package/dist/extensions/index.d.ts +9 -0
  64. package/dist/extensions/index.d.ts.map +1 -0
  65. package/dist/extensions/index.js +2435 -0
  66. package/dist/extensions/registry.d.ts +19 -0
  67. package/dist/extensions/registry.d.ts.map +1 -0
  68. package/dist/extensions/types.d.ts +10 -0
  69. package/dist/extensions/types.d.ts.map +1 -0
  70. package/dist/index.cjs +1519 -0
  71. package/dist/index.d.ts +12 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +1460 -0
  74. package/dist/internal.cjs +156 -0
  75. package/dist/internal.d.ts +3 -0
  76. package/dist/internal.d.ts.map +1 -0
  77. package/dist/internal.js +128 -0
  78. package/dist/jsonschema.cjs +18 -0
  79. package/dist/jsonschema.d.ts +2 -0
  80. package/dist/jsonschema.d.ts.map +1 -0
  81. package/dist/jsonschema.js +0 -0
  82. package/dist/stdlib/brand.d.ts +27 -0
  83. package/dist/stdlib/brand.d.ts.map +1 -0
  84. package/dist/stdlib/decimal.d.ts +324 -0
  85. package/dist/stdlib/decimal.d.ts.map +1 -0
  86. package/dist/stdlib/extension-method.d.ts +27 -0
  87. package/dist/stdlib/extension-method.d.ts.map +1 -0
  88. package/dist/stdlib/generated.d.ts +15 -0
  89. package/dist/stdlib/generated.d.ts.map +1 -0
  90. package/dist/stdlib/index.cjs +1519 -0
  91. package/dist/stdlib/index.d.ts +18 -0
  92. package/dist/stdlib/index.d.ts.map +1 -0
  93. package/dist/stdlib/index.js +1460 -0
  94. package/dist/stdlib/refs.d.ts +62 -0
  95. package/dist/stdlib/refs.d.ts.map +1 -0
  96. package/dist/stdlib/scalars.d.ts +141 -0
  97. package/dist/stdlib/scalars.d.ts.map +1 -0
  98. package/dist/stdlib/transform-strategies.d.ts +74 -0
  99. package/dist/stdlib/transform-strategies.d.ts.map +1 -0
  100. package/dist/stdlib/transforms.d.ts +97 -0
  101. package/dist/stdlib/transforms.d.ts.map +1 -0
  102. package/dist/stdlib/type-utils.d.ts +9 -0
  103. package/dist/stdlib/type-utils.d.ts.map +1 -0
  104. package/dist/stdlib/types.d.ts +281 -0
  105. package/dist/stdlib/types.d.ts.map +1 -0
  106. package/dist/stdlib/utils.d.ts +7 -0
  107. package/dist/stdlib/utils.d.ts.map +1 -0
  108. package/dist/tsconfig.build.tsbuildinfo +1 -0
  109. package/package.json +111 -0
  110. package/tslibs/5.9.3/lib.es2022.egress.d.ts +4328 -0
  111. package/tslibs/5.9.3/lib.es2022.restricted.d.ts +4067 -0
  112. package/tslibs/lib.egress.globals.d.ts +112 -0
  113. package/tslibs/lib.restricted.globals.d.ts +1 -0
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Global runtime functions provided by the script execution environment.
3
+ * These are available at runtime but need to be declared for TypeScript.
4
+ */
5
+
6
+ /**
7
+ * HTTP method types supported by endpointFetch.
8
+ */
9
+ type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
10
+
11
+ /**
12
+ * Request object for endpointFetch.
13
+ */
14
+ interface EndpointFetchRequest {
15
+ /** The endpoint identifier (references app manifest). */
16
+ endpoint: string;
17
+ /** URL path suffix (e.g., "/v1/send_message"). */
18
+ path: string;
19
+ /** HTTP method. */
20
+ method: HttpMethod;
21
+ /** Request body (JSON string). */
22
+ body?: string;
23
+ /** HTTP headers. */
24
+ headers?: Record<string, string>;
25
+ }
26
+
27
+ /**
28
+ * Successful response object from endpointFetch (2xx only).
29
+ */
30
+ interface EndpointFetchResponse {
31
+ /** Always true for successful responses. */
32
+ ok: true;
33
+ /** HTTP status code (200-299). */
34
+ status: number;
35
+ /** Response body (JSON string). */
36
+ body?: string;
37
+ }
38
+
39
+ /**
40
+ * Error codes set on exceptions thrown by endpointFetch.
41
+ *
42
+ * - EXT_* codes: the upstream endpoint returned a non-2xx HTTP response.
43
+ * - ERR_* codes: infrastructure or network failure prevented the request.
44
+ */
45
+ type EndpointFetchErrorCode =
46
+ | 'EXT_BAD_REQUEST'
47
+ | 'EXT_UNAUTHORIZED'
48
+ | 'EXT_NOT_ALLOWED'
49
+ | 'EXT_NOT_FOUND'
50
+ | 'EXT_RATE_LIMIT'
51
+ | 'EXT_RUNTIME_ERROR'
52
+ | 'EXT_RESOURCE_UNAVAILABLE'
53
+ | 'EXT_TIMEOUT'
54
+ | 'ERR_INTERNAL'
55
+ | 'ERR_NETWORK'
56
+ | 'ERR_PROFILE';
57
+
58
+ /**
59
+ * Error thrown by endpointFetch on non-2xx responses or infrastructure failures.
60
+ *
61
+ * For HTTP errors (EXT_* codes), `status` and `body` contain the upstream response.
62
+ * For infra/network errors (ERR_* codes), `status` and `body` are undefined.
63
+ */
64
+ interface EndpointFetchError extends Error {
65
+ /** Error code for classification. */
66
+ code?: EndpointFetchErrorCode;
67
+ /** HTTP status code (present for EXT_* errors). */
68
+ status?: number;
69
+ /** Response body string (present for EXT_* errors, null if upstream returned empty). */
70
+ body?: string | null;
71
+ }
72
+
73
+ /**
74
+ * Makes an async HTTP request to an external endpoint.
75
+ *
76
+ * Only available in the Egress execution profile.
77
+ *
78
+ * - Resolves with an {@link EndpointFetchResponse} for 2xx responses.
79
+ * - Rejects with an {@link EndpointFetchError} for non-2xx responses, network failures,
80
+ * and infrastructure failures.
81
+ *
82
+ * @param request - The request object.
83
+ * @returns A promise resolving to the response object (2xx only).
84
+ * @throws {EndpointFetchError} On non-2xx HTTP responses (EXT_* codes),
85
+ * infrastructure failures (ERR_INTERNAL),
86
+ * network failures (ERR_NETWORK),
87
+ * or profile violations (ERR_PROFILE).
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * try {
92
+ * const result = await endpointFetch({
93
+ * endpoint: "test_api",
94
+ * path: "/v1/test",
95
+ * method: "POST",
96
+ * body: JSON.stringify({ key: "value" }),
97
+ * });
98
+ * const data = JSON.parse(result.body!);
99
+ * return { success: true, ts: data.ts };
100
+ * } catch (e) {
101
+ * const error = e as EndpointFetchError;
102
+ * if (error.code === 'EXT_RATE_LIMIT') {
103
+ * return { success: false, retriable: true, reason: 'rate_limited' };
104
+ * }
105
+ * if (error.status) {
106
+ * return { success: false, status: error.status };
107
+ * }
108
+ * throw error; // re-throw infra errors for automatic retry
109
+ * }
110
+ * ```
111
+ */
112
+ declare function endpointFetch(request: EndpointFetchRequest): Promise<EndpointFetchResponse>;
@@ -0,0 +1 @@
1
+ // No runtime globals are available in the restricted execution profile.