tapimo 0.7.2 → 0.8.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 (294) hide show
  1. package/README.md +10 -7
  2. package/dist/ApiKey.d.ts +3 -0
  3. package/dist/ApiKey.d.ts.map +1 -1
  4. package/dist/ApiKey.js +10 -0
  5. package/dist/ApiKey.js.map +1 -1
  6. package/dist/ApiKeys.d.ts +7 -3
  7. package/dist/ApiKeys.d.ts.map +1 -1
  8. package/dist/ApiKeys.js +9 -2
  9. package/dist/ApiKeys.js.map +1 -1
  10. package/dist/App.d.ts +20434 -19484
  11. package/dist/App.d.ts.map +1 -1
  12. package/dist/App.js +62 -4
  13. package/dist/App.js.map +1 -1
  14. package/dist/admin/App.d.ts +84 -74
  15. package/dist/admin/App.d.ts.map +1 -1
  16. package/dist/admin/apps/api-keys.d.ts +14 -1
  17. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  18. package/dist/admin/apps/api-keys.js +6 -2
  19. package/dist/admin/apps/api-keys.js.map +1 -1
  20. package/dist/admin/apps/organizations.d.ts +2 -0
  21. package/dist/admin/apps/organizations.d.ts.map +1 -1
  22. package/dist/admin/apps/verified-tokens.d.ts +168 -168
  23. package/dist/admin/ui.generated.d.ts +1 -1
  24. package/dist/admin/ui.generated.js +67 -67
  25. package/dist/admin/ui.generated.js.map +1 -1
  26. package/dist/analytics/Analytics.d.ts +2 -0
  27. package/dist/analytics/Analytics.d.ts.map +1 -1
  28. package/dist/analytics/Analytics.js +3 -0
  29. package/dist/analytics/Analytics.js.map +1 -1
  30. package/dist/apps/data/App.d.ts +10305 -12785
  31. package/dist/apps/data/App.d.ts.map +1 -1
  32. package/dist/apps/data/App.js +4 -8
  33. package/dist/apps/data/App.js.map +1 -1
  34. package/dist/apps/data/routes/activities.d.ts +24 -24
  35. package/dist/apps/data/routes/addresses.d.ts +288 -288
  36. package/dist/apps/data/routes/balances.d.ts +6 -6
  37. package/dist/apps/data/routes/blocks.d.ts +39 -39
  38. package/dist/apps/data/routes/coingecko.d.ts +170 -170
  39. package/dist/apps/data/routes/earn.d.ts +436 -6
  40. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  41. package/dist/apps/data/routes/earn.js +631 -4
  42. package/dist/apps/data/routes/earn.js.map +1 -1
  43. package/dist/apps/data/routes/exchanges.d.ts +10 -10
  44. package/dist/apps/data/routes/fee-amm.d.ts +2 -2
  45. package/dist/apps/data/routes/indexer.d.ts +6 -6
  46. package/dist/apps/data/routes/indexer.js +4 -1
  47. package/dist/apps/data/routes/indexer.js.map +1 -1
  48. package/dist/apps/data/routes/receipts.d.ts +235 -235
  49. package/dist/apps/data/routes/rpc.d.ts +1 -1
  50. package/dist/apps/data/routes/rpc.js +4 -1
  51. package/dist/apps/data/routes/rpc.js.map +1 -1
  52. package/dist/apps/data/routes/tokenlist.d.ts +36 -36
  53. package/dist/apps/data/routes/tokens.d.ts +6 -6
  54. package/dist/apps/data/routes/transactions.d.ts +2 -2
  55. package/dist/apps/data/routes/transfers.d.ts +1 -1
  56. package/dist/apps/data/routes/valuation.d.ts +1 -1
  57. package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
  58. package/dist/apps/data/routes/webhooks.d.ts +9 -9
  59. package/dist/apps/data/routes/zones.d.ts +14 -14
  60. package/dist/apps/funding/Access.d.ts +16 -0
  61. package/dist/apps/funding/Access.d.ts.map +1 -0
  62. package/dist/apps/funding/Access.js +22 -0
  63. package/dist/apps/funding/Access.js.map +1 -0
  64. package/dist/apps/{data/routes/funding.d.ts → funding/App.d.ts} +1717 -3035
  65. package/dist/apps/funding/App.d.ts.map +1 -0
  66. package/dist/apps/funding/App.js +46 -0
  67. package/dist/apps/funding/App.js.map +1 -0
  68. package/dist/apps/funding/Inventory.d.ts +5 -0
  69. package/dist/apps/funding/Inventory.d.ts.map +1 -0
  70. package/dist/apps/funding/Inventory.js +25 -0
  71. package/dist/apps/funding/Inventory.js.map +1 -0
  72. package/dist/apps/funding/ProviderAttempts.d.ts +5 -0
  73. package/dist/apps/funding/ProviderAttempts.d.ts.map +1 -0
  74. package/dist/apps/funding/ProviderAttempts.js +24 -0
  75. package/dist/apps/funding/ProviderAttempts.js.map +1 -0
  76. package/dist/apps/funding/index.d.ts +2 -0
  77. package/dist/apps/funding/index.d.ts.map +1 -0
  78. package/dist/apps/funding/index.js +2 -0
  79. package/dist/apps/funding/index.js.map +1 -0
  80. package/dist/apps/funding/routes/chains.d.ts +169 -0
  81. package/dist/apps/funding/routes/chains.d.ts.map +1 -0
  82. package/dist/apps/funding/routes/chains.js +80 -0
  83. package/dist/apps/funding/routes/chains.js.map +1 -0
  84. package/dist/apps/funding/routes/deposit-addresses.d.ts +2388 -0
  85. package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -0
  86. package/dist/apps/funding/routes/deposit-addresses.js +860 -0
  87. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -0
  88. package/dist/apps/funding/routes/providers.d.ts +91 -0
  89. package/dist/apps/funding/routes/providers.d.ts.map +1 -0
  90. package/dist/apps/funding/routes/providers.js +56 -0
  91. package/dist/apps/funding/routes/providers.js.map +1 -0
  92. package/dist/apps/funding/routes/quotes.d.ts +426 -0
  93. package/dist/apps/funding/routes/quotes.d.ts.map +1 -0
  94. package/dist/apps/funding/routes/quotes.js +188 -0
  95. package/dist/apps/funding/routes/quotes.js.map +1 -0
  96. package/dist/apps/funding/routes/transfers.d.ts +1999 -0
  97. package/dist/apps/funding/routes/transfers.d.ts.map +1 -0
  98. package/dist/apps/funding/routes/transfers.js +614 -0
  99. package/dist/apps/funding/routes/transfers.js.map +1 -0
  100. package/dist/apps/index.d.ts +1 -0
  101. package/dist/apps/index.d.ts.map +1 -1
  102. package/dist/apps/index.js +1 -0
  103. package/dist/apps/index.js.map +1 -1
  104. package/dist/apps/management/App.d.ts +430 -165
  105. package/dist/apps/management/App.d.ts.map +1 -1
  106. package/dist/apps/management/routes/api-keys.d.ts +298 -21
  107. package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
  108. package/dist/apps/management/routes/api-keys.js +75 -1
  109. package/dist/apps/management/routes/api-keys.js.map +1 -1
  110. package/dist/apps/management/routes/billing.d.ts +6 -6
  111. package/dist/apps/management/routes/faucet.d.ts +35 -35
  112. package/dist/apps/management/routes/invitations.d.ts +48 -48
  113. package/dist/apps/management/routes/invite-links.d.ts +38 -38
  114. package/dist/apps/management/routes/members.d.ts +69 -69
  115. package/dist/apps/management/routes/orgs.d.ts +37 -37
  116. package/dist/apps/management/routes/projects.d.ts +25 -25
  117. package/dist/apps/management/routes/scopes.d.ts +1 -1
  118. package/dist/apps/management/routes/usage.d.ts +72 -72
  119. package/dist/apps/management/routes/verified-token-requests.d.ts +18 -18
  120. package/dist/apps/management/routes/webhooks.d.ts +128 -128
  121. package/dist/apps/mcp.d.ts +2 -3
  122. package/dist/apps/mcp.d.ts.map +1 -1
  123. package/dist/apps/mcp.js +16 -14
  124. package/dist/apps/mcp.js.map +1 -1
  125. package/dist/apps/metadata.d.ts +4 -0
  126. package/dist/apps/metadata.d.ts.map +1 -1
  127. package/dist/apps/metadata.js +10 -0
  128. package/dist/apps/metadata.js.map +1 -1
  129. package/dist/apps/mpp/App.d.ts +2 -2
  130. package/dist/cloudflare.d.ts +50 -0
  131. package/dist/cloudflare.d.ts.map +1 -1
  132. package/dist/cloudflare.js +178 -0
  133. package/dist/cloudflare.js.map +1 -1
  134. package/dist/db/Db.d.ts +2 -0
  135. package/dist/db/Db.d.ts.map +1 -1
  136. package/dist/db/Db.js +37 -0
  137. package/dist/db/Db.js.map +1 -1
  138. package/dist/db/Schema.d.ts +12 -0
  139. package/dist/db/Schema.d.ts.map +1 -1
  140. package/dist/db/Schema.js +20 -0
  141. package/dist/db/Schema.js.map +1 -1
  142. package/dist/db/tables/fundingDepositAddresses.d.ts +13 -0
  143. package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -1
  144. package/dist/db/tables/fundingDepositAddresses.js +12 -0
  145. package/dist/db/tables/fundingDepositAddresses.js.map +1 -1
  146. package/dist/db/tables/fundingDepositRequestObservations.d.ts +45 -0
  147. package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +1 -0
  148. package/dist/db/tables/fundingDepositRequestObservations.js +46 -0
  149. package/dist/db/tables/fundingDepositRequestObservations.js.map +1 -0
  150. package/dist/db/tables/fundingDeposits.d.ts +57 -1
  151. package/dist/db/tables/fundingDeposits.d.ts.map +1 -1
  152. package/dist/db/tables/fundingDeposits.js +82 -0
  153. package/dist/db/tables/fundingDeposits.js.map +1 -1
  154. package/dist/internal/Auth.d.ts +11 -11
  155. package/dist/internal/Auth.d.ts.map +1 -1
  156. package/dist/internal/Auth.js +41 -15
  157. package/dist/internal/Auth.js.map +1 -1
  158. package/dist/internal/Cache.js +1 -1
  159. package/dist/internal/Cache.js.map +1 -1
  160. package/dist/internal/EdgeCache.d.ts +2 -2
  161. package/dist/internal/EdgeCache.d.ts.map +1 -1
  162. package/dist/internal/EdgeCache.js +10 -4
  163. package/dist/internal/EdgeCache.js.map +1 -1
  164. package/dist/internal/IpAllowlist.d.ts +15 -0
  165. package/dist/internal/IpAllowlist.d.ts.map +1 -0
  166. package/dist/internal/IpAllowlist.js +27 -0
  167. package/dist/internal/IpAllowlist.js.map +1 -0
  168. package/dist/internal/OpenApi.d.ts +1 -1
  169. package/dist/internal/OpenApi.js +1 -1
  170. package/dist/internal/OpenApi.js.map +1 -1
  171. package/dist/internal/Tidx.d.ts +6 -0
  172. package/dist/internal/Tidx.d.ts.map +1 -1
  173. package/dist/internal/Tidx.js +13 -3
  174. package/dist/internal/Tidx.js.map +1 -1
  175. package/dist/internal/Viem.d.ts +8 -0
  176. package/dist/internal/Viem.d.ts.map +1 -1
  177. package/dist/internal/Viem.js +12 -5
  178. package/dist/internal/Viem.js.map +1 -1
  179. package/dist/internal/funding/Deposit.d.ts +42 -0
  180. package/dist/internal/funding/Deposit.d.ts.map +1 -1
  181. package/dist/internal/funding/Deposit.js +37 -5
  182. package/dist/internal/funding/Deposit.js.map +1 -1
  183. package/dist/internal/funding/Evidence.d.ts +1 -5
  184. package/dist/internal/funding/Evidence.d.ts.map +1 -1
  185. package/dist/internal/funding/Evidence.js +4 -3
  186. package/dist/internal/funding/Evidence.js.map +1 -1
  187. package/dist/internal/funding/Provider.d.ts +102 -0
  188. package/dist/internal/funding/Provider.d.ts.map +1 -1
  189. package/dist/internal/funding/Provider.js +5 -0
  190. package/dist/internal/funding/Provider.js.map +1 -1
  191. package/dist/internal/funding/Reconciliation.d.ts +16 -2
  192. package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
  193. package/dist/internal/funding/Reconciliation.js +257 -48
  194. package/dist/internal/funding/Reconciliation.js.map +1 -1
  195. package/dist/internal/funding/SourceObservation.d.ts +108 -0
  196. package/dist/internal/funding/SourceObservation.d.ts.map +1 -0
  197. package/dist/internal/funding/SourceObservation.js +143 -0
  198. package/dist/internal/funding/SourceObservation.js.map +1 -0
  199. package/dist/internal/funding/Subsidy.d.ts +2 -2
  200. package/dist/internal/funding/Subsidy.d.ts.map +1 -1
  201. package/dist/internal/funding/Subsidy.js +1 -1
  202. package/dist/internal/funding/Subsidy.js.map +1 -1
  203. package/dist/internal/funding/index.d.ts +1 -0
  204. package/dist/internal/funding/index.d.ts.map +1 -1
  205. package/dist/internal/funding/index.js +1 -0
  206. package/dist/internal/funding/index.js.map +1 -1
  207. package/dist/internal/funding/providers/relay.d.ts +43 -1
  208. package/dist/internal/funding/providers/relay.d.ts.map +1 -1
  209. package/dist/internal/funding/providers/relay.js +434 -27
  210. package/dist/internal/funding/providers/relay.js.map +1 -1
  211. package/package.json +3 -3
  212. package/src/ApiKey.test.ts +35 -0
  213. package/src/ApiKey.ts +27 -0
  214. package/src/ApiKeys.test.ts +29 -0
  215. package/src/ApiKeys.ts +11 -3
  216. package/src/App.test.ts +23 -5
  217. package/src/App.ts +76 -5
  218. package/src/Client.test-d.ts +171 -19
  219. package/src/admin/apps/api-keys.test.ts +25 -1
  220. package/src/admin/apps/api-keys.ts +6 -2
  221. package/src/admin/ui.generated.ts +67 -67
  222. package/src/analytics/Analytics.ts +4 -0
  223. package/src/apps/composition.test.ts +100 -2
  224. package/src/apps/data/App.test.ts +0 -12
  225. package/src/apps/data/App.ts +4 -8
  226. package/src/apps/data/routes/earn.test.ts +283 -0
  227. package/src/apps/data/routes/earn.ts +800 -3
  228. package/src/apps/data/routes/indexer.ts +2 -1
  229. package/src/apps/data/routes/rpc.ts +2 -0
  230. package/src/apps/data/routes/tokens.test.ts +6 -8
  231. package/src/apps/funding/Access.ts +26 -0
  232. package/src/apps/funding/App.test.ts +78 -0
  233. package/src/apps/funding/App.ts +63 -0
  234. package/src/apps/funding/Inventory.ts +30 -0
  235. package/src/apps/funding/ProviderAttempts.ts +26 -0
  236. package/src/apps/funding/index.ts +1 -0
  237. package/src/apps/funding/routes/chains.test.ts +78 -0
  238. package/src/apps/funding/routes/chains.ts +101 -0
  239. package/src/apps/funding/routes/deposit-addresses.test.ts +1628 -0
  240. package/src/apps/funding/routes/deposit-addresses.ts +1015 -0
  241. package/src/apps/funding/routes/providers.test.ts +165 -0
  242. package/src/apps/funding/routes/providers.ts +73 -0
  243. package/src/apps/funding/routes/quotes.test.ts +511 -0
  244. package/src/apps/funding/routes/quotes.ts +205 -0
  245. package/src/apps/funding/routes/transfers.test.ts +1255 -0
  246. package/src/apps/funding/routes/transfers.ts +704 -0
  247. package/src/apps/index.ts +1 -0
  248. package/src/apps/management/routes/api-keys.test.ts +98 -0
  249. package/src/apps/management/routes/api-keys.ts +96 -1
  250. package/src/apps/mcp.test.ts +17 -2
  251. package/src/apps/mcp.ts +18 -13
  252. package/src/apps/metadata.ts +12 -0
  253. package/src/apps/mpp/internal/Policy.test.ts +7 -1
  254. package/src/cloudflare.ts +279 -0
  255. package/src/db/Db.ts +62 -0
  256. package/src/db/Schema.ts +24 -0
  257. package/src/db/tables/fundingDepositAddresses.ts +28 -0
  258. package/src/db/tables/fundingDepositRequestObservations.test.ts +106 -0
  259. package/src/db/tables/fundingDepositRequestObservations.ts +99 -0
  260. package/src/db/tables/fundingDeposits.test.ts +138 -0
  261. package/src/db/tables/fundingDeposits.ts +145 -1
  262. package/src/internal/Auth.test.ts +177 -5
  263. package/src/internal/Auth.ts +48 -18
  264. package/src/internal/Cache.test.ts +37 -3
  265. package/src/internal/Cache.ts +1 -1
  266. package/src/internal/EdgeCache.test.ts +7 -7
  267. package/src/internal/EdgeCache.ts +13 -4
  268. package/src/internal/IpAllowlist.test.ts +52 -0
  269. package/src/internal/IpAllowlist.ts +39 -0
  270. package/src/internal/Log.test.ts +7 -1
  271. package/src/internal/OpenApi.ts +1 -1
  272. package/src/internal/Tidx.test.ts +28 -0
  273. package/src/internal/Tidx.ts +19 -3
  274. package/src/internal/Viem.test.ts +28 -0
  275. package/src/internal/Viem.ts +21 -5
  276. package/src/internal/funding/Deposit.ts +74 -5
  277. package/src/internal/funding/Evidence.test.ts +2 -2
  278. package/src/internal/funding/Evidence.ts +4 -9
  279. package/src/internal/funding/Provider.ts +115 -0
  280. package/src/internal/funding/Reconciliation.local.test.ts +7 -0
  281. package/src/internal/funding/Reconciliation.test.ts +1052 -35
  282. package/src/internal/funding/Reconciliation.ts +328 -56
  283. package/src/internal/funding/SourceObservation.test.ts +301 -0
  284. package/src/internal/funding/SourceObservation.ts +267 -0
  285. package/src/internal/funding/Subsidy.ts +2 -2
  286. package/src/internal/funding/index.test.ts +1 -0
  287. package/src/internal/funding/index.ts +1 -0
  288. package/src/internal/funding/providers/relay.test.ts +94 -4
  289. package/src/internal/funding/providers/relay.ts +528 -27
  290. package/dist/apps/data/routes/funding.d.ts.map +0 -1
  291. package/dist/apps/data/routes/funding.js +0 -1557
  292. package/dist/apps/data/routes/funding.js.map +0 -1
  293. package/src/apps/data/routes/funding.test.ts +0 -2994
  294. package/src/apps/data/routes/funding.ts +0 -1821
@@ -5,6 +5,7 @@ import * as Response from '../../../internal/Response.js';
5
5
  export declare namespace schema {
6
6
  /** One API key: metadata only — the token appears once, at mint. */
7
7
  const Key: z.ZodMiniObject<{
8
+ allowedIps: z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>;
8
9
  createdAt: z.ZodMiniString<string>;
9
10
  createdBy: z.ZodMiniOptional<z.ZodMiniString<string>>;
10
11
  environment: z.ZodMiniEnum<{
@@ -37,6 +38,7 @@ export declare namespace schema {
37
38
  }, z.core.$strip>;
38
39
  /** Request body minting a key. The wildcard scope is not issuable here. */
39
40
  const KeyBody: z.ZodMiniObject<{
41
+ allowedIps: z.ZodMiniOptional<z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>>;
40
42
  environment: z.ZodMiniDefault<z.ZodMiniEnum<{
41
43
  production: "production";
42
44
  sandbox: "sandbox";
@@ -48,6 +50,7 @@ export declare namespace schema {
48
50
  namespace createApiKey {
49
51
  /** The minted key plus its one-time token. */
50
52
  const Response: z.ZodMiniObject<{
53
+ allowedIps: z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>;
51
54
  createdAt: z.ZodMiniString<string>;
52
55
  createdBy: z.ZodMiniOptional<z.ZodMiniString<string>>;
53
56
  environment: z.ZodMiniEnum<{
@@ -77,6 +80,7 @@ export declare namespace schema {
77
80
  /** Non-paginated list of a project's keys. */
78
81
  const Response: z.ZodMiniObject<{
79
82
  data: z.ZodMiniArray<z.ZodMiniObject<{
83
+ allowedIps: z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>;
80
84
  createdAt: z.ZodMiniString<string>;
81
85
  createdBy: z.ZodMiniOptional<z.ZodMiniString<string>>;
82
86
  environment: z.ZodMiniEnum<{
@@ -106,6 +110,7 @@ export declare namespace schema {
106
110
  /** Non-paginated list of every key in the organization. */
107
111
  const Response: z.ZodMiniObject<{
108
112
  data: z.ZodMiniArray<z.ZodMiniObject<{
113
+ allowedIps: z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>;
109
114
  createdAt: z.ZodMiniString<string>;
110
115
  createdBy: z.ZodMiniOptional<z.ZodMiniString<string>>;
111
116
  environment: z.ZodMiniEnum<{
@@ -130,9 +135,16 @@ export declare namespace schema {
130
135
  id: z.ZodMiniString<string>;
131
136
  }, z.core.$strip>;
132
137
  }
138
+ /** Schemas for the updateApiKey operation. */
139
+ namespace updateApiKey {
140
+ /** Request body replacing or clearing a key's IP allowlist. */
141
+ const Body: z.ZodMiniObject<{
142
+ allowedIps: z.ZodMiniReadonly<z.ZodMiniArray<z.ZodMiniString<string>>>;
143
+ }, z.core.$strip>;
144
+ }
133
145
  }
134
146
  /**
135
- * Mounts project-attributed API key mint, list, and revoke routes plus the org-wide list. Project routes enforce caller organization and project attribution.
147
+ * Mounts project-attributed API key mint, list, update, and revoke routes plus the org-wide list. Project routes enforce caller organization and project attribution.
136
148
  */
137
149
  export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-base").HonoBase<App.Environment, {
138
150
  "/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/projects/:projectId{prj_[A-Za-z0-9_-]+}/api-keys": {
@@ -154,6 +166,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
154
166
  };
155
167
  } & {
156
168
  json: {
169
+ allowedIps?: readonly string[] | undefined;
157
170
  environment?: "production" | "sandbox" | undefined;
158
171
  name?: string | undefined;
159
172
  scopes?: string[] | undefined;
@@ -177,6 +190,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
177
190
  };
178
191
  } & {
179
192
  json: {
193
+ allowedIps?: readonly string[] | undefined;
180
194
  environment?: "production" | "sandbox" | undefined;
181
195
  name?: string | undefined;
182
196
  scopes?: string[] | undefined;
@@ -200,6 +214,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
200
214
  };
201
215
  } & {
202
216
  json: {
217
+ allowedIps?: readonly string[] | undefined;
203
218
  environment?: "production" | "sandbox" | undefined;
204
219
  name?: string | undefined;
205
220
  scopes?: string[] | undefined;
@@ -208,14 +223,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
208
223
  } | {
209
224
  output: {
210
225
  error: {
211
- code: "forbidden";
226
+ code: "body_invalid";
212
227
  details?: readonly Response.error.Detail[] | undefined;
213
228
  message: string;
214
229
  };
215
230
  requestId: string;
216
231
  };
217
232
  outputFormat: "json";
218
- status: 403;
233
+ status: 400;
219
234
  input: {
220
235
  param: {
221
236
  orgId: string;
@@ -223,6 +238,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
223
238
  };
224
239
  } & {
225
240
  json: {
241
+ allowedIps?: readonly string[] | undefined;
226
242
  environment?: "production" | "sandbox" | undefined;
227
243
  name?: string | undefined;
228
244
  scopes?: string[] | undefined;
@@ -231,14 +247,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
231
247
  } | {
232
248
  output: {
233
249
  error: {
234
- code: "organization_not_found" | "project_not_found";
250
+ code: "param_invalid";
235
251
  details?: readonly Response.error.Detail[] | undefined;
236
252
  message: string;
237
253
  };
238
254
  requestId: string;
239
255
  };
240
256
  outputFormat: "json";
241
- status: 404;
257
+ status: 400;
242
258
  input: {
243
259
  param: {
244
260
  orgId: string;
@@ -246,6 +262,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
246
262
  };
247
263
  } & {
248
264
  json: {
265
+ allowedIps?: readonly string[] | undefined;
249
266
  environment?: "production" | "sandbox" | undefined;
250
267
  name?: string | undefined;
251
268
  scopes?: string[] | undefined;
@@ -254,14 +271,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
254
271
  } | {
255
272
  output: {
256
273
  error: {
257
- code: "param_invalid";
274
+ code: "forbidden";
258
275
  details?: readonly Response.error.Detail[] | undefined;
259
276
  message: string;
260
277
  };
261
278
  requestId: string;
262
279
  };
263
280
  outputFormat: "json";
264
- status: 400;
281
+ status: 403;
265
282
  input: {
266
283
  param: {
267
284
  orgId: string;
@@ -269,6 +286,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
269
286
  };
270
287
  } & {
271
288
  json: {
289
+ allowedIps?: readonly string[] | undefined;
272
290
  environment?: "production" | "sandbox" | undefined;
273
291
  name?: string | undefined;
274
292
  scopes?: string[] | undefined;
@@ -277,14 +295,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
277
295
  } | {
278
296
  output: {
279
297
  error: {
280
- code: "body_invalid";
298
+ code: "organization_not_found" | "project_not_found";
281
299
  details?: readonly Response.error.Detail[] | undefined;
282
300
  message: string;
283
301
  };
284
302
  requestId: string;
285
303
  };
286
304
  outputFormat: "json";
287
- status: 400;
305
+ status: 404;
288
306
  input: {
289
307
  param: {
290
308
  orgId: string;
@@ -292,6 +310,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
292
310
  };
293
311
  } & {
294
312
  json: {
313
+ allowedIps?: readonly string[] | undefined;
295
314
  environment?: "production" | "sandbox" | undefined;
296
315
  name?: string | undefined;
297
316
  scopes?: string[] | undefined;
@@ -315,6 +334,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
315
334
  };
316
335
  } & {
317
336
  json: {
337
+ allowedIps?: readonly string[] | undefined;
318
338
  environment?: "production" | "sandbox" | undefined;
319
339
  name?: string | undefined;
320
340
  scopes?: string[] | undefined;
@@ -338,6 +358,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
338
358
  };
339
359
  } & {
340
360
  json: {
361
+ allowedIps?: readonly string[] | undefined;
341
362
  environment?: "production" | "sandbox" | undefined;
342
363
  name?: string | undefined;
343
364
  scopes?: string[] | undefined;
@@ -345,6 +366,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
345
366
  };
346
367
  } | {
347
368
  output: {
369
+ allowedIps: readonly string[];
348
370
  createdAt: string;
349
371
  createdBy?: string | undefined;
350
372
  environment: "production" | "sandbox";
@@ -367,6 +389,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
367
389
  };
368
390
  } & {
369
391
  json: {
392
+ allowedIps?: readonly string[] | undefined;
370
393
  environment?: "production" | "sandbox" | undefined;
371
394
  name?: string | undefined;
372
395
  scopes?: string[] | undefined;
@@ -421,7 +444,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
421
444
  } | {
422
445
  output: {
423
446
  error: {
424
- code: "api_key_forbidden";
447
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
425
448
  details?: readonly Response.error.Detail[] | undefined;
426
449
  message: string;
427
450
  };
@@ -505,14 +528,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
505
528
  } | {
506
529
  output: {
507
530
  error: {
508
- code: "organization_not_found" | "project_not_found";
531
+ code: "param_invalid";
509
532
  details?: readonly Response.error.Detail[] | undefined;
510
533
  message: string;
511
534
  };
512
535
  requestId: string;
513
536
  };
514
537
  outputFormat: "json";
515
- status: 404;
538
+ status: 400;
516
539
  input: {
517
540
  param: {
518
541
  orgId: string;
@@ -526,14 +549,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
526
549
  } | {
527
550
  output: {
528
551
  error: {
529
- code: "param_invalid";
552
+ code: "organization_not_found" | "project_not_found";
530
553
  details?: readonly Response.error.Detail[] | undefined;
531
554
  message: string;
532
555
  };
533
556
  requestId: string;
534
557
  };
535
558
  outputFormat: "json";
536
- status: 400;
559
+ status: 404;
537
560
  input: {
538
561
  param: {
539
562
  orgId: string;
@@ -568,6 +591,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
568
591
  } | {
569
592
  output: {
570
593
  data: {
594
+ allowedIps: readonly string[];
571
595
  createdAt: string;
572
596
  createdBy?: string | undefined;
573
597
  environment: "production" | "sandbox";
@@ -640,7 +664,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
640
664
  } | {
641
665
  output: {
642
666
  error: {
643
- code: "api_key_forbidden";
667
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
644
668
  details?: readonly Response.error.Detail[] | undefined;
645
669
  message: string;
646
670
  };
@@ -720,14 +744,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
720
744
  } | {
721
745
  output: {
722
746
  error: {
723
- code: "organization_not_found";
747
+ code: "param_invalid";
724
748
  details?: readonly Response.error.Detail[] | undefined;
725
749
  message: string;
726
750
  };
727
751
  requestId: string;
728
752
  };
729
753
  outputFormat: "json";
730
- status: 404;
754
+ status: 400;
731
755
  input: {
732
756
  param: {
733
757
  orgId: string;
@@ -740,14 +764,14 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
740
764
  } | {
741
765
  output: {
742
766
  error: {
743
- code: "param_invalid";
767
+ code: "organization_not_found";
744
768
  details?: readonly Response.error.Detail[] | undefined;
745
769
  message: string;
746
770
  };
747
771
  requestId: string;
748
772
  };
749
773
  outputFormat: "json";
750
- status: 400;
774
+ status: 404;
751
775
  input: {
752
776
  param: {
753
777
  orgId: string;
@@ -780,6 +804,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
780
804
  } | {
781
805
  output: {
782
806
  data: {
807
+ allowedIps: readonly string[];
783
808
  createdAt: string;
784
809
  createdBy?: string | undefined;
785
810
  environment: "production" | "sandbox";
@@ -808,7 +833,7 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
808
833
  };
809
834
  } & {
810
835
  "/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/projects/:projectId{prj_[A-Za-z0-9_-]+}/api-keys/:keyId{key_[A-Za-z0-9_-]+}": {
811
- $delete: {
836
+ $patch: {
812
837
  output: {
813
838
  error: {
814
839
  code: "api_key_malformed";
@@ -825,6 +850,10 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
825
850
  orgId: string;
826
851
  projectId: string;
827
852
  };
853
+ } & {
854
+ json: {
855
+ allowedIps: readonly string[];
856
+ };
828
857
  };
829
858
  } | {
830
859
  output: {
@@ -843,11 +872,15 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
843
872
  orgId: string;
844
873
  projectId: string;
845
874
  };
875
+ } & {
876
+ json: {
877
+ allowedIps: readonly string[];
878
+ };
846
879
  };
847
880
  } | {
848
881
  output: {
849
882
  error: {
850
- code: "api_key_forbidden";
883
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
851
884
  details?: readonly Response.error.Detail[] | undefined;
852
885
  message: string;
853
886
  };
@@ -861,6 +894,10 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
861
894
  orgId: string;
862
895
  projectId: string;
863
896
  };
897
+ } & {
898
+ json: {
899
+ allowedIps: readonly string[];
900
+ };
864
901
  };
865
902
  } | {
866
903
  output: {
@@ -879,6 +916,10 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
879
916
  orgId: string;
880
917
  projectId: string;
881
918
  };
919
+ } & {
920
+ json: {
921
+ allowedIps: readonly string[];
922
+ };
882
923
  };
883
924
  } | {
884
925
  output: {
@@ -897,6 +938,54 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
897
938
  orgId: string;
898
939
  projectId: string;
899
940
  };
941
+ } & {
942
+ json: {
943
+ allowedIps: readonly string[];
944
+ };
945
+ };
946
+ } | {
947
+ output: {
948
+ error: {
949
+ code: "body_invalid";
950
+ details?: readonly Response.error.Detail[] | undefined;
951
+ message: string;
952
+ };
953
+ requestId: string;
954
+ };
955
+ outputFormat: "json";
956
+ status: 400;
957
+ input: {
958
+ param: {
959
+ keyId: string;
960
+ orgId: string;
961
+ projectId: string;
962
+ };
963
+ } & {
964
+ json: {
965
+ allowedIps: readonly string[];
966
+ };
967
+ };
968
+ } | {
969
+ output: {
970
+ error: {
971
+ code: "param_invalid";
972
+ details?: readonly Response.error.Detail[] | undefined;
973
+ message: string;
974
+ };
975
+ requestId: string;
976
+ };
977
+ outputFormat: "json";
978
+ status: 400;
979
+ input: {
980
+ param: {
981
+ keyId: string;
982
+ orgId: string;
983
+ projectId: string;
984
+ };
985
+ } & {
986
+ json: {
987
+ allowedIps: readonly string[];
988
+ };
900
989
  };
901
990
  } | {
902
991
  output: {
@@ -909,6 +998,176 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
909
998
  };
910
999
  outputFormat: "json";
911
1000
  status: 404;
1001
+ input: {
1002
+ param: {
1003
+ keyId: string;
1004
+ orgId: string;
1005
+ projectId: string;
1006
+ };
1007
+ } & {
1008
+ json: {
1009
+ allowedIps: readonly string[];
1010
+ };
1011
+ };
1012
+ } | {
1013
+ output: {
1014
+ error: {
1015
+ code: "api_keys_not_enabled";
1016
+ details?: readonly Response.error.Detail[] | undefined;
1017
+ message: string;
1018
+ };
1019
+ requestId: string;
1020
+ };
1021
+ outputFormat: "json";
1022
+ status: 404;
1023
+ input: {
1024
+ param: {
1025
+ keyId: string;
1026
+ orgId: string;
1027
+ projectId: string;
1028
+ };
1029
+ } & {
1030
+ json: {
1031
+ allowedIps: readonly string[];
1032
+ };
1033
+ };
1034
+ } | {
1035
+ output: {
1036
+ error: {
1037
+ code: "api_key_not_found";
1038
+ details?: readonly Response.error.Detail[] | undefined;
1039
+ message: string;
1040
+ };
1041
+ requestId: string;
1042
+ };
1043
+ outputFormat: "json";
1044
+ status: 404;
1045
+ input: {
1046
+ param: {
1047
+ keyId: string;
1048
+ orgId: string;
1049
+ projectId: string;
1050
+ };
1051
+ } & {
1052
+ json: {
1053
+ allowedIps: readonly string[];
1054
+ };
1055
+ };
1056
+ } | {
1057
+ output: {
1058
+ allowedIps: readonly string[];
1059
+ createdAt: string;
1060
+ createdBy?: string | undefined;
1061
+ environment: "production" | "sandbox";
1062
+ expiresAt?: string | undefined;
1063
+ id: string;
1064
+ lastUsedAt?: string | undefined;
1065
+ name?: string | undefined;
1066
+ orgId: string;
1067
+ projectId?: string | undefined;
1068
+ scopes: string[];
1069
+ tokenLast4: string;
1070
+ };
1071
+ outputFormat: "json";
1072
+ status: 200;
1073
+ input: {
1074
+ param: {
1075
+ keyId: string;
1076
+ orgId: string;
1077
+ projectId: string;
1078
+ };
1079
+ } & {
1080
+ json: {
1081
+ allowedIps: readonly string[];
1082
+ };
1083
+ };
1084
+ };
1085
+ };
1086
+ } & {
1087
+ "/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/projects/:projectId{prj_[A-Za-z0-9_-]+}/api-keys/:keyId{key_[A-Za-z0-9_-]+}": {
1088
+ $delete: {
1089
+ output: {
1090
+ error: {
1091
+ code: "api_key_malformed";
1092
+ details?: readonly Response.error.Detail[] | undefined;
1093
+ message: string;
1094
+ };
1095
+ requestId: string;
1096
+ };
1097
+ outputFormat: "json";
1098
+ status: 400;
1099
+ input: {
1100
+ param: {
1101
+ keyId: string;
1102
+ orgId: string;
1103
+ projectId: string;
1104
+ };
1105
+ };
1106
+ } | {
1107
+ output: {
1108
+ error: {
1109
+ code: "api_key_invalid" | "api_key_missing";
1110
+ details?: readonly Response.error.Detail[] | undefined;
1111
+ message: string;
1112
+ };
1113
+ requestId: string;
1114
+ };
1115
+ outputFormat: "json";
1116
+ status: 401;
1117
+ input: {
1118
+ param: {
1119
+ keyId: string;
1120
+ orgId: string;
1121
+ projectId: string;
1122
+ };
1123
+ };
1124
+ } | {
1125
+ output: {
1126
+ error: {
1127
+ code: "api_key_forbidden" | "api_key_ip_forbidden";
1128
+ details?: readonly Response.error.Detail[] | undefined;
1129
+ message: string;
1130
+ };
1131
+ requestId: string;
1132
+ };
1133
+ outputFormat: "json";
1134
+ status: 403;
1135
+ input: {
1136
+ param: {
1137
+ keyId: string;
1138
+ orgId: string;
1139
+ projectId: string;
1140
+ };
1141
+ };
1142
+ } | {
1143
+ output: {
1144
+ error: {
1145
+ code: "payment_required" | "rate_limit_exceeded";
1146
+ details?: readonly Response.error.Detail[] | undefined;
1147
+ message: string;
1148
+ };
1149
+ requestId: string;
1150
+ };
1151
+ outputFormat: "json";
1152
+ status: 429;
1153
+ input: {
1154
+ param: {
1155
+ keyId: string;
1156
+ orgId: string;
1157
+ projectId: string;
1158
+ };
1159
+ };
1160
+ } | {
1161
+ output: {
1162
+ error: {
1163
+ code: "upstream_error";
1164
+ details?: readonly Response.error.Detail[] | undefined;
1165
+ message: string;
1166
+ };
1167
+ requestId: string;
1168
+ };
1169
+ outputFormat: "json";
1170
+ status: 502;
912
1171
  input: {
913
1172
  param: {
914
1173
  keyId: string;
@@ -934,6 +1193,24 @@ export declare function apiKeys(options?: apiKeys.Options): import("hono/hono-ba
934
1193
  projectId: string;
935
1194
  };
936
1195
  };
1196
+ } | {
1197
+ output: {
1198
+ error: {
1199
+ code: "organization_not_found" | "project_not_found";
1200
+ details?: readonly Response.error.Detail[] | undefined;
1201
+ message: string;
1202
+ };
1203
+ requestId: string;
1204
+ };
1205
+ outputFormat: "json";
1206
+ status: 404;
1207
+ input: {
1208
+ param: {
1209
+ keyId: string;
1210
+ orgId: string;
1211
+ projectId: string;
1212
+ };
1213
+ };
937
1214
  } | {
938
1215
  output: {
939
1216
  error: {
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../../../src/apps/management/routes/api-keys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAK7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAK3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAKzD,kDAAkD;AAClD,yBAAiB,MAAM,CAAC;IACtB,oEAAoE;IAC7D,MAAM,GAAG;;;;;;;;;;;;;;;qBAgEf,CAAA;IAED,6DAA6D;IACtD,MAAM,MAAM;;;qBAe8C,CAAA;IAEjE,mEAAmE;IAC5D,MAAM,SAAS;;qBASiD,CAAA;IAEvE,8CAA8C;IACvC,MAAM,SAAS;;;;qBAqBkC,CAAA;IAExD,2EAA2E;IACpE,MAAM,OAAO;;;;;;;qBAoBkC,CAAA;IAEtD,8CAA8C;IAC9C,UAAiB,YAAY,CAAC;QAC5B,8CAA8C;QACvC,MAAM,QAAQ;;;;;;;;;;;;;;;;yBAUpB,CAAA;KACF;IAED,6CAA6C;IAC7C,UAAiB,WAAW,CAAC;QAC3B,mDAAmD;QAC5C,MAAM,KAAK;;;;;0BAEgD,CAAA;QAElE,8CAA8C;QACvC,MAAM,QAAQ;;;;;;;;;;;;;;;;;yBAKpB,CAAA;KACF;IAED,gDAAgD;IAChD,UAAiB,cAAc,CAAC;QAC9B,0DAA0D;QACnD,MAAM,KAAK;;;;;0BAEsD,CAAA;QAExE,2DAA2D;QACpD,MAAM,QAAQ;;;;;;;;;;;;;;;;;yBAOpB,CAAA;KACF;IAED,8CAA8C;IAC9C,UAAiB,YAAY,CAAC;QAC5B,6CAA6C;QACtC,MAAM,QAAQ;;yBASyC,CAAA;KAC/D;CACF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,OAAO,CAAC,OAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2HAmRpD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,kDAAkD;IAClD,KAAK,OAAO,GAAG;QACb,oHAAoH;QACpH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC9B,CAAA;CACF"}
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../../../src/apps/management/routes/api-keys.ts"],"names":[],"mappings":"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"}