tapimo 0.4.4 → 0.5.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 (162) hide show
  1. package/dist/App.d.ts +7403 -6127
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +4 -0
  4. package/dist/App.js.map +1 -1
  5. package/dist/Scope.d.ts +18 -1
  6. package/dist/Scope.d.ts.map +1 -1
  7. package/dist/Scope.js +24 -3
  8. package/dist/Scope.js.map +1 -1
  9. package/dist/admin/apps/verified-tokens.d.ts +115 -115
  10. package/dist/apps/data/App.d.ts +1838 -1534
  11. package/dist/apps/data/App.d.ts.map +1 -1
  12. package/dist/apps/data/App.js +135 -44
  13. package/dist/apps/data/App.js.map +1 -1
  14. package/dist/apps/data/{FundingRouteProviders.d.ts → FundingQuoteProviders.d.ts} +7 -7
  15. package/dist/apps/data/{FundingRouteProviders.d.ts.map → FundingQuoteProviders.d.ts.map} +1 -1
  16. package/dist/apps/data/{FundingRouteProviders.js → FundingQuoteProviders.js} +36 -91
  17. package/dist/apps/data/FundingQuoteProviders.js.map +1 -0
  18. package/dist/apps/data/index.d.ts +1 -1
  19. package/dist/apps/data/index.js +1 -1
  20. package/dist/apps/data/routes/activities.d.ts +242 -242
  21. package/dist/apps/data/routes/addresses.d.ts +227 -227
  22. package/dist/apps/data/routes/balances.d.ts +12 -12
  23. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  24. package/dist/apps/data/routes/balances.js +67 -149
  25. package/dist/apps/data/routes/balances.js.map +1 -1
  26. package/dist/apps/data/routes/blocks.d.ts +125 -126
  27. package/dist/apps/data/routes/blocks.d.ts.map +1 -1
  28. package/dist/apps/data/routes/blocks.js +3 -5
  29. package/dist/apps/data/routes/blocks.js.map +1 -1
  30. package/dist/apps/data/routes/coingecko.d.ts +55 -54
  31. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  32. package/dist/apps/data/routes/coingecko.js +3 -8
  33. package/dist/apps/data/routes/coingecko.js.map +1 -1
  34. package/dist/apps/data/routes/funding.d.ts +207 -388
  35. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  36. package/dist/apps/data/routes/funding.js +143 -221
  37. package/dist/apps/data/routes/funding.js.map +1 -1
  38. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  39. package/dist/apps/data/routes/rpc.js +86 -16
  40. package/dist/apps/data/routes/rpc.js.map +1 -1
  41. package/dist/apps/data/routes/tokenlist.d.ts +33 -33
  42. package/dist/apps/data/routes/transactions.d.ts +281 -281
  43. package/dist/apps/data/routes/transfers.d.ts +58 -58
  44. package/dist/apps/data/routes/verified-tokens.d.ts +86 -86
  45. package/dist/apps/data/routes/webhooks.d.ts +340 -0
  46. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  47. package/dist/apps/data/routes/webhooks.js +13 -1
  48. package/dist/apps/data/routes/webhooks.js.map +1 -1
  49. package/dist/apps/index.d.ts +1 -1
  50. package/dist/apps/index.js +1 -1
  51. package/dist/apps/management/App.d.ts +1090 -108
  52. package/dist/apps/management/App.d.ts.map +1 -1
  53. package/dist/apps/management/App.js +4 -0
  54. package/dist/apps/management/App.js.map +1 -1
  55. package/dist/apps/management/routes/api-keys.d.ts +118 -118
  56. package/dist/apps/management/routes/api-keys.js +2 -2
  57. package/dist/apps/management/routes/api-keys.js.map +1 -1
  58. package/dist/apps/management/routes/billing.d.ts +207 -207
  59. package/dist/apps/management/routes/invite-links.d.ts +1100 -0
  60. package/dist/apps/management/routes/invite-links.d.ts.map +1 -0
  61. package/dist/apps/management/routes/invite-links.js +411 -0
  62. package/dist/apps/management/routes/invite-links.js.map +1 -0
  63. package/dist/apps/management/routes/me.d.ts +17 -17
  64. package/dist/apps/management/routes/members.d.ts +71 -71
  65. package/dist/apps/management/routes/orgs.d.ts +12 -12
  66. package/dist/apps/management/routes/projects.d.ts +70 -70
  67. package/dist/apps/management/routes/scopes.d.ts +11 -11
  68. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  69. package/dist/apps/management/routes/scopes.js +2 -2
  70. package/dist/apps/management/routes/scopes.js.map +1 -1
  71. package/dist/apps/management/routes/usage.d.ts +75 -75
  72. package/dist/apps/relay/App.d.ts.map +1 -1
  73. package/dist/apps/relay/App.js +42 -4
  74. package/dist/apps/relay/App.js.map +1 -1
  75. package/dist/db/Db.d.ts +3 -0
  76. package/dist/db/Db.d.ts.map +1 -1
  77. package/dist/db/Db.js +57 -0
  78. package/dist/db/Db.js.map +1 -1
  79. package/dist/db/Schema.d.ts +31 -0
  80. package/dist/db/Schema.d.ts.map +1 -1
  81. package/dist/db/Schema.js +31 -0
  82. package/dist/db/Schema.js.map +1 -1
  83. package/dist/db/tables/inviteLinks.d.ts +42 -0
  84. package/dist/db/tables/inviteLinks.d.ts.map +1 -0
  85. package/dist/db/tables/inviteLinks.js +148 -0
  86. package/dist/db/tables/inviteLinks.js.map +1 -0
  87. package/dist/db/tables/organizations.d.ts.map +1 -1
  88. package/dist/db/tables/organizations.js +2 -0
  89. package/dist/db/tables/organizations.js.map +1 -1
  90. package/dist/handlers/relay.d.ts.map +1 -1
  91. package/dist/handlers/relay.js +13 -3
  92. package/dist/handlers/relay.js.map +1 -1
  93. package/dist/internal/Auth.d.ts +9 -1
  94. package/dist/internal/Auth.d.ts.map +1 -1
  95. package/dist/internal/Auth.js +130 -10
  96. package/dist/internal/Auth.js.map +1 -1
  97. package/dist/internal/EdgeCache.d.ts +3 -1
  98. package/dist/internal/EdgeCache.d.ts.map +1 -1
  99. package/dist/internal/EdgeCache.js +17 -2
  100. package/dist/internal/EdgeCache.js.map +1 -1
  101. package/dist/internal/{FundingRoutes.d.ts → FundingQuotes.d.ts} +185 -428
  102. package/dist/internal/FundingQuotes.d.ts.map +1 -0
  103. package/dist/internal/{FundingRoutes.js → FundingQuotes.js} +93 -218
  104. package/dist/internal/FundingQuotes.js.map +1 -0
  105. package/dist/internal/Viem.d.ts +3 -1
  106. package/dist/internal/Viem.d.ts.map +1 -1
  107. package/dist/internal/Viem.js +11 -2
  108. package/dist/internal/Viem.js.map +1 -1
  109. package/dist/internal/index.d.ts +1 -1
  110. package/dist/internal/index.js +1 -1
  111. package/package.json +1 -1
  112. package/src/ApiKeys.test.ts +23 -0
  113. package/src/App.test-d.ts +2 -0
  114. package/src/App.ts +6 -0
  115. package/src/Client.test-d.ts +20 -11
  116. package/src/Scope.test.ts +1 -0
  117. package/src/Scope.ts +30 -4
  118. package/src/apps/data/App.test.ts +354 -0
  119. package/src/apps/data/App.ts +159 -52
  120. package/src/apps/data/FundingQuoteProviders.test.ts +151 -0
  121. package/src/apps/data/{FundingRouteProviders.ts → FundingQuoteProviders.ts} +40 -101
  122. package/src/apps/data/index.ts +1 -1
  123. package/src/apps/data/routes/balances.test.ts +64 -18
  124. package/src/apps/data/routes/balances.ts +76 -177
  125. package/src/apps/data/routes/blocks.ts +3 -5
  126. package/src/apps/data/routes/coingecko.ts +3 -8
  127. package/src/apps/data/routes/funding.test.ts +151 -206
  128. package/src/apps/data/routes/funding.ts +156 -291
  129. package/src/apps/data/routes/indexer.test.ts +97 -1
  130. package/src/apps/data/routes/rpc.test.ts +219 -0
  131. package/src/apps/data/routes/rpc.ts +92 -17
  132. package/src/apps/data/routes/webhooks.test.ts +21 -0
  133. package/src/apps/data/routes/webhooks.ts +13 -1
  134. package/src/apps/index.ts +1 -1
  135. package/src/apps/management/App.ts +4 -0
  136. package/src/apps/management/routes/api-keys.test.ts +47 -3
  137. package/src/apps/management/routes/api-keys.ts +2 -2
  138. package/src/apps/management/routes/invite-links.test.ts +385 -0
  139. package/src/apps/management/routes/invite-links.ts +570 -0
  140. package/src/apps/management/routes/scopes.test.ts +3 -2
  141. package/src/apps/management/routes/scopes.ts +4 -2
  142. package/src/apps/relay/App.test.ts +324 -4
  143. package/src/apps/relay/App.ts +40 -4
  144. package/src/db/Db.ts +65 -0
  145. package/src/db/Schema.ts +39 -0
  146. package/src/db/tables/inviteLinks.ts +187 -0
  147. package/src/db/tables/organizations.ts +2 -0
  148. package/src/handlers/relay.ts +16 -4
  149. package/src/internal/Auth.test.ts +132 -22
  150. package/src/internal/Auth.ts +171 -14
  151. package/src/internal/EdgeCache.test.ts +24 -3
  152. package/src/internal/EdgeCache.ts +18 -2
  153. package/src/internal/FundingQuotes.test.ts +174 -0
  154. package/src/internal/{FundingRoutes.ts → FundingQuotes.ts} +153 -312
  155. package/src/internal/Viem.ts +14 -5
  156. package/src/internal/index.test.ts +1 -1
  157. package/src/internal/index.ts +1 -1
  158. package/dist/apps/data/FundingRouteProviders.js.map +0 -1
  159. package/dist/internal/FundingRoutes.d.ts.map +0 -1
  160. package/dist/internal/FundingRoutes.js.map +0 -1
  161. package/src/apps/data/FundingRouteProviders.test.ts +0 -225
  162. package/src/internal/FundingRoutes.test.ts +0 -213
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite-links.d.ts","sourceRoot":"","sources":["../../../../src/apps/management/routes/invite-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAO7B,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,sDAAsD;AACtD,yBAAiB,MAAM,CAAC;IAiBtB,qEAAqE;IAC9D,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;qBAkEtB,CAAA;IAED,qEAAqE;IAC9D,MAAM,UAAU;;;;;;;;qBA2CtB,CAAA;IAED,mBAAmB;IACZ,MAAM,UAAU;;;;;qBAmBoC,CAAA;IAE3D,mBAAmB;IACZ,MAAM,UAAU;;qBAMoC,CAAA;IAE3D,kDAAkD;IAC3C,MAAM,SAAS;;qBAS8B,CAAA;IAEpD,kCAAkC;IAC3B,MAAM,eAAe;;;qBAW3B,CAAA;IAED,6BAA6B;IACtB,MAAM,cAAc;;;;qBAiB1B,CAAA;IAED,gCAAgC;IACzB,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;qBAOxB,CAAA;IAED,sCAAsC;IAC/B,MAAM,mBAAmB;;;;;;;;;;qBAO/B,CAAA;IAED,iEAAiE;IAC1D,MAAM,MAAM;;qBASwD,CAAA;IAE3E,+DAA+D;IACxD,MAAM,UAAU;;;qBAekD,CAAA;IAEzE,2BAA2B;IACpB,MAAM,cAAc;;qBAS0C,CAAA;CACtE;AAYD,uEAAuE;AACvE,wBAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAiP1B"}
@@ -0,0 +1,411 @@
1
+ import { Hono } from 'hono';
2
+ import * as z from 'zod/mini';
3
+ import * as Db from '../../../db/Db.js';
4
+ import * as InviteLinks from '../../../db/tables/inviteLinks.js';
5
+ import * as Organizations from '../../../db/tables/organizations.js';
6
+ import * as Auth from '../../../internal/Auth.js';
7
+ import * as OpenApi from '../../../internal/OpenApi.js';
8
+ import * as Response from '../../../internal/Response.js';
9
+ import * as Schema from '../../../internal/Schema.js';
10
+ /** OpenAPI schemas owned by reusable invite links. */
11
+ export var schema;
12
+ (function (schema) {
13
+ const nullableExpiry = z
14
+ .nullable(z.iso.datetime({ offset: true }))
15
+ .check(z.describe('When the link expires (ISO 8601), or null for no expiry.'), z.meta({ examples: ['2026-01-08T00:00:00.000Z', null] }));
16
+ const nullableUses = z
17
+ .nullable(z.number().check(z.int(), z.positive()))
18
+ .check(z.describe('Maximum memberships the link may create, or null for unlimited.'), z.meta({ examples: [25, null] }));
19
+ const role = z
20
+ .literal('member')
21
+ .check(z.describe('Role granted by the link.'), z.meta({ examples: ['member'] }));
22
+ /** Management representation, including the recopyable bearer id. */
23
+ schema.InviteLink = Schema.describe(z.object({
24
+ createdAt: z
25
+ .string()
26
+ .check(z.describe('When the link was created (ISO 8601).'), z.meta({ examples: ['2026-01-01T00:00:00.000Z'] })),
27
+ createdBy: z
28
+ .string()
29
+ .check(z.describe('User id that created the link.'), z.meta({ examples: ['usr_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
30
+ enabled: z
31
+ .boolean()
32
+ .check(z.describe('Whether the link is enabled.'), z.meta({ examples: [true] })),
33
+ expiresAt: nullableExpiry,
34
+ id: z
35
+ .string()
36
+ .check(z.describe('Opaque invite-link resource id (`iln_…`).'), z.meta({ examples: ['iln_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
37
+ lastUsedAt: z
38
+ .nullable(z.string())
39
+ .check(z.describe('When the link last created a membership, or null.'), z.meta({ examples: ['2026-01-02T00:00:00.000Z', null] })),
40
+ maxUses: nullableUses,
41
+ name: z
42
+ .string()
43
+ .check(z.describe('Human-readable link name.'), z.meta({ examples: ['Community'] })),
44
+ orgId: z
45
+ .string()
46
+ .check(z.describe('Organization id (`org_…`) the link joins.'), z.meta({ examples: ['org_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
47
+ role,
48
+ status: z
49
+ .enum(['active', 'deleted', 'disabled', 'exhausted', 'expired'])
50
+ .check(z.describe('Current link availability.'), z.meta({ examples: ['active'] })),
51
+ token: z
52
+ .string()
53
+ .check(z.describe('Opaque bearer token embedded in the recipient URL (`lnk_…`).'), z.meta({ examples: ['lnk_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
54
+ updatedAt: z
55
+ .string()
56
+ .check(z.describe('When the link was last changed (ISO 8601).'), z.meta({ examples: ['2026-01-01T00:00:00.000Z'] })),
57
+ useCount: z
58
+ .number()
59
+ .check(z.int(), z.nonnegative(), z.describe('Memberships created through the link.'), z.meta({ examples: [3] })),
60
+ }), 'A reusable organization invite link.');
61
+ /** Redemption audit representation (never includes a bearer URL). */
62
+ schema.Redemption = Schema.describe(z.object({
63
+ createdAt: z
64
+ .string()
65
+ .check(z.describe('When the membership was created (ISO 8601).'), z.meta({ examples: ['2026-01-02T00:00:00.000Z'] })),
66
+ email: z
67
+ .string()
68
+ .check(z.describe('Verified email used for redemption.'), z.meta({ examples: ['dev@example.com'] })),
69
+ id: z
70
+ .string()
71
+ .check(z.describe('Opaque redemption id (`ilr_…`).'), z.meta({ examples: ['ilr_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
72
+ inviteLinkId: z
73
+ .string()
74
+ .check(z.describe('Invite-link resource id used for redemption.'), z.meta({ examples: ['iln_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
75
+ inviteLinkName: z
76
+ .string()
77
+ .check(z.describe('Link name at redemption time.'), z.meta({ examples: ['Community'] })),
78
+ orgId: z
79
+ .string()
80
+ .check(z.describe('Organization id joined through the link.'), z.meta({ examples: ['org_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
81
+ userId: z
82
+ .string()
83
+ .check(z.describe('User id that redeemed the link.'), z.meta({ examples: ['usr_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
84
+ }), 'An invite-link redemption audit record.');
85
+ /** Create body. */
86
+ schema.CreateBody = z
87
+ .object({
88
+ expiresAt: z.optional(nullableExpiry),
89
+ maxUses: z.optional(nullableUses),
90
+ name: z.optional(z
91
+ .string()
92
+ .check(z.trim(), z.minLength(1), z.maxLength(100), z.describe('Human-readable link name.'), z.meta({ examples: ['Community'] }))),
93
+ role: z
94
+ ._default(role, 'member')
95
+ .check(z.describe('Role granted by the link.'), z.meta({ examples: ['member'] })),
96
+ })
97
+ .check(z.describe('Fields for creating an invite link.'));
98
+ /** Update body. */
99
+ schema.UpdateBody = z
100
+ .object({
101
+ enabled: z
102
+ .boolean()
103
+ .check(z.describe('Whether the link is enabled.'), z.meta({ examples: [false] })),
104
+ })
105
+ .check(z.describe('Fields for updating an invite link.'));
106
+ /** Bearer-token body for recipient operations. */
107
+ schema.TokenBody = z
108
+ .object({
109
+ token: z
110
+ .string()
111
+ .check(z.describe('Opaque invite-link bearer token.'), z.meta({ examples: ['lnk_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
112
+ })
113
+ .check(z.describe('An invite-link bearer token.'));
114
+ /** Public active-link summary. */
115
+ schema.ResolveResponse = Schema.describe(z.object({
116
+ orgName: z
117
+ .string()
118
+ .check(z.describe('Human-readable name of the organization.'), z.meta({ examples: ['Acme, Inc.'] })),
119
+ role,
120
+ }), 'A public summary of an active invite link.');
121
+ /** Successful acceptance. */
122
+ schema.AcceptResponse = Schema.describe(z.object({
123
+ orgId: z
124
+ .string()
125
+ .check(z.describe('Organization id joined through the link.'), z.meta({ examples: ['org_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
126
+ role,
127
+ userId: z
128
+ .string()
129
+ .check(z.describe('Member user id.'), z.meta({ examples: ['usr_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
130
+ }), 'The membership granted through an invite link.');
131
+ /** Link collection response. */
132
+ schema.ListResponse = Schema.describe(z.object({
133
+ data: z
134
+ .array(schema.InviteLink)
135
+ .check(z.describe('Invite links, newest first.'), z.meta({ examples: [[]] })),
136
+ }), 'A non-paginated list of invite links.');
137
+ /** Redemption collection response. */
138
+ schema.RedemptionsResponse = Schema.describe(z.object({
139
+ data: z
140
+ .array(schema.Redemption)
141
+ .check(z.describe('Redemptions, newest first.'), z.meta({ examples: [[]] })),
142
+ }), 'A non-paginated list of invite-link redemptions.');
143
+ /** Path parameters addressing an organization's invite links. */
144
+ schema.Params = z
145
+ .object({
146
+ orgId: z
147
+ .string()
148
+ .check(z.describe('Organization id (`org_…`).'), z.meta({ examples: ['org_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
149
+ })
150
+ .check(z.describe("Path parameters for an organization's invite links."));
151
+ /** Path parameters addressing one organization invite link. */
152
+ schema.LinkParams = z
153
+ .object({
154
+ inviteLinkId: z
155
+ .string()
156
+ .check(z.describe('Invite-link resource id (`iln_…`).'), z.meta({ examples: ['iln_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
157
+ orgId: z
158
+ .string()
159
+ .check(z.describe('Organization id (`org_…`).'), z.meta({ examples: ['org_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
160
+ })
161
+ .check(z.describe('Path parameters for one organization invite link.'));
162
+ /** Delete confirmation. */
163
+ schema.DeleteResponse = z
164
+ .object({
165
+ id: z
166
+ .string()
167
+ .check(z.describe('Deleted invite-link resource id.'), z.meta({ examples: ['iln_1a2b3c4d5e6f7g8h9j0k1m2n'] })),
168
+ })
169
+ .check(z.describe('Confirmation that an invite link was deleted.'));
170
+ })(schema || (schema = {}));
171
+ const errors = { 404: 'No accessible invite link was found.' };
172
+ const bodyValidation = {
173
+ code: 'body_invalid',
174
+ message: 'Check the request body and try again.',
175
+ };
176
+ const paramValidation = {
177
+ code: 'param_invalid',
178
+ message: 'Check the path parameters and try again.',
179
+ };
180
+ /** Mounts reusable invite-link management and recipient operations. */
181
+ export function inviteLinks() {
182
+ return new Hono()
183
+ .post('/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/invite-links', Auth.policy({ session: true }), Auth.ensureOrg({ role: 'admin' }), OpenApi.validate('param', schema.Params, paramValidation), OpenApi.validate('json', schema.CreateBody, bodyValidation), OpenApi.describeRoute({
184
+ operationId: 'createInviteLink',
185
+ responses: OpenApi.responses({
186
+ errors,
187
+ success: { description: 'Created link.', schema: schema.InviteLink },
188
+ }),
189
+ summary: 'Create invite link',
190
+ tags: ['Invite Links'],
191
+ }), async (c) => {
192
+ if (Auth.narrowAccess)
193
+ return Auth.superAdminAccessError(c);
194
+ if (Auth.narrowScope)
195
+ return Auth.ensureOrgError(c);
196
+ if (OpenApi.narrowValidation)
197
+ return OpenApi.validationError(c, bodyValidation);
198
+ const body = c.req.valid('json');
199
+ try {
200
+ const record = await InviteLinks.create(Db.get(c.get('db')), {
201
+ createdBy: Auth.membership(c)?.userId ?? 'super_admin',
202
+ expiresAt: body.expiresAt === undefined
203
+ ? new Date(Date.now() + 7 * 86_400_000).toISOString()
204
+ : normalizeExpiry(body.expiresAt),
205
+ maxUses: body.maxUses ?? null,
206
+ ...(body.name === undefined ? {} : { name: body.name }),
207
+ orgId: Auth.org(c).id,
208
+ role: body.role,
209
+ });
210
+ return c.json(Response.validated(schema.InviteLink, serialize(record)), 200);
211
+ }
212
+ catch (cause) {
213
+ return Response.upstream(c, cause);
214
+ }
215
+ })
216
+ .get('/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/invite-links', Auth.policy({ session: true }), Auth.ensureOrg({ role: 'admin' }), OpenApi.validate('param', schema.Params, paramValidation), OpenApi.describeRoute({
217
+ operationId: 'listInviteLinks',
218
+ responses: OpenApi.responses({
219
+ errors,
220
+ success: { description: 'Invite links.', schema: schema.ListResponse },
221
+ }),
222
+ summary: 'List invite links',
223
+ tags: ['Invite Links'],
224
+ }), async (c) => {
225
+ if (Auth.narrowAccess)
226
+ return Auth.superAdminAccessError(c);
227
+ if (Auth.narrowScope)
228
+ return Auth.ensureOrgError(c);
229
+ if (OpenApi.narrowValidation)
230
+ return OpenApi.validationError(c, paramValidation);
231
+ try {
232
+ return c.json(Response.validated(schema.ListResponse, {
233
+ data: (await InviteLinks.list(Db.get(c.get('db')), Auth.org(c).id)).map(serialize),
234
+ }), 200);
235
+ }
236
+ catch (cause) {
237
+ return Response.upstream(c, cause);
238
+ }
239
+ })
240
+ .patch('/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/invite-links/:inviteLinkId{iln_[A-Za-z0-9_-]+}', Auth.policy({ session: true }), Auth.ensureOrg({ role: 'admin' }), OpenApi.validate('param', schema.LinkParams, paramValidation), OpenApi.validate('json', schema.UpdateBody, bodyValidation), OpenApi.describeRoute({
241
+ operationId: 'updateInviteLink',
242
+ responses: OpenApi.responses({
243
+ errors,
244
+ success: { description: 'Updated link.', schema: schema.InviteLink },
245
+ }),
246
+ summary: 'Update invite link',
247
+ tags: ['Invite Links'],
248
+ }), async (c) => {
249
+ if (Auth.narrowAccess)
250
+ return Auth.superAdminAccessError(c);
251
+ if (Auth.narrowScope)
252
+ return Auth.ensureOrgError(c);
253
+ if (OpenApi.narrowValidation)
254
+ return OpenApi.validationError(c, bodyValidation);
255
+ const body = c.req.valid('json');
256
+ try {
257
+ const record = await InviteLinks.update(Db.get(c.get('db')), Auth.org(c).id, c.req.valid('param').inviteLinkId, body.enabled);
258
+ if (!record)
259
+ return notFound(c);
260
+ return c.json(Response.validated(schema.InviteLink, serialize(record)), 200);
261
+ }
262
+ catch (cause) {
263
+ return Response.upstream(c, cause);
264
+ }
265
+ })
266
+ .delete('/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/invite-links/:inviteLinkId{iln_[A-Za-z0-9_-]+}', Auth.policy({ session: true }), Auth.ensureOrg({ role: 'admin' }), OpenApi.validate('param', schema.LinkParams, paramValidation), OpenApi.describeRoute({
267
+ operationId: 'deleteInviteLink',
268
+ responses: OpenApi.responses({
269
+ errors,
270
+ success: { description: 'Deleted link.', schema: schema.DeleteResponse },
271
+ }),
272
+ summary: 'Delete invite link',
273
+ tags: ['Invite Links'],
274
+ }), async (c) => {
275
+ if (Auth.narrowAccess)
276
+ return Auth.superAdminAccessError(c);
277
+ if (Auth.narrowScope)
278
+ return Auth.ensureOrgError(c);
279
+ if (OpenApi.narrowValidation)
280
+ return OpenApi.validationError(c, paramValidation);
281
+ try {
282
+ const id = c.req.valid('param').inviteLinkId;
283
+ if (!(await InviteLinks.remove(Db.get(c.get('db')), Auth.org(c).id, id)))
284
+ return notFound(c);
285
+ return c.json({ id }, 200);
286
+ }
287
+ catch (cause) {
288
+ return Response.upstream(c, cause);
289
+ }
290
+ })
291
+ .get('/v1/orgs/:orgId{org_[A-Za-z0-9_-]+}/invite-links/:inviteLinkId{iln_[A-Za-z0-9_-]+}/redemptions', Auth.policy({ session: true }), Auth.ensureOrg({ role: 'admin' }), OpenApi.validate('param', schema.LinkParams, paramValidation), OpenApi.describeRoute({
292
+ operationId: 'listInviteLinkRedemptions',
293
+ responses: OpenApi.responses({
294
+ errors,
295
+ success: { description: 'Redemptions.', schema: schema.RedemptionsResponse },
296
+ }),
297
+ summary: 'List link redemptions',
298
+ tags: ['Invite Links'],
299
+ }), async (c) => {
300
+ if (Auth.narrowAccess)
301
+ return Auth.superAdminAccessError(c);
302
+ if (Auth.narrowScope)
303
+ return Auth.ensureOrgError(c);
304
+ if (OpenApi.narrowValidation)
305
+ return OpenApi.validationError(c, paramValidation);
306
+ try {
307
+ const db = Db.get(c.get('db'));
308
+ const id = c.req.valid('param').inviteLinkId;
309
+ const link = await InviteLinks.get(db, id);
310
+ if (!link || link.orgId !== Auth.org(c).id)
311
+ return notFound(c);
312
+ return c.json(Response.validated(schema.RedemptionsResponse, {
313
+ data: await InviteLinks.listRedemptions(db, Auth.org(c).id, id),
314
+ }), 200);
315
+ }
316
+ catch (cause) {
317
+ return Response.upstream(c, cause);
318
+ }
319
+ })
320
+ .post('/v1/invite-links/resolve', Auth.policy({ public: true, session: true }), OpenApi.validate('json', schema.TokenBody, bodyValidation), OpenApi.describeRoute({
321
+ operationId: 'resolveInviteLink',
322
+ responses: OpenApi.responses({
323
+ errors,
324
+ success: { description: 'Active link summary.', schema: schema.ResolveResponse },
325
+ }),
326
+ summary: 'Resolve invite link',
327
+ tags: ['Invite Links'],
328
+ }), async (c) => {
329
+ if (Auth.narrowAccess)
330
+ return Auth.superAdminAccessError(c);
331
+ if (OpenApi.narrowValidation)
332
+ return OpenApi.validationError(c, bodyValidation);
333
+ try {
334
+ const db = Db.get(c.get('db'));
335
+ const link = await InviteLinks.getByToken(db, c.req.valid('json').token);
336
+ if (!link || InviteLinks.status(link) !== 'active')
337
+ return notFound(c);
338
+ const org = await Organizations.get(db, link.orgId);
339
+ if (!org)
340
+ return notFound(c);
341
+ return c.json(Response.validated(schema.ResolveResponse, { orgName: org.name, role: link.role }), 200);
342
+ }
343
+ catch (cause) {
344
+ return Response.upstream(c, cause);
345
+ }
346
+ })
347
+ .post('/v1/invite-links/accept', Auth.policy({ session: true }), OpenApi.validate('json', schema.TokenBody, bodyValidation), OpenApi.describeRoute({
348
+ operationId: 'acceptInviteLink',
349
+ responses: OpenApi.responses({
350
+ errors: { 403: 'A verified session email is required.', ...errors },
351
+ success: { description: 'Membership.', schema: schema.AcceptResponse },
352
+ }),
353
+ summary: 'Accept invite link',
354
+ tags: ['Invite Links'],
355
+ }), async (c) => {
356
+ if (Auth.narrowAccess)
357
+ return Auth.superAdminAccessError(c);
358
+ if (OpenApi.narrowValidation)
359
+ return OpenApi.validationError(c, bodyValidation);
360
+ const principal = Auth.getPrincipal(c);
361
+ if (principal?.type !== 'session' || !principal.email)
362
+ return Response.error(c, {
363
+ code: 'forbidden',
364
+ message: 'Verified session email required',
365
+ status: 403,
366
+ });
367
+ try {
368
+ const accepted = await InviteLinks.accept(Db.get(c.get('db')), c.req.valid('json').token, principal.id, principal.email);
369
+ if (!accepted)
370
+ return notFound(c);
371
+ return c.json(Response.validated(schema.AcceptResponse, {
372
+ orgId: accepted.link.orgId,
373
+ role: accepted.link.role,
374
+ userId: principal.id,
375
+ }), 200);
376
+ }
377
+ catch (cause) {
378
+ return Response.upstream(c, cause);
379
+ }
380
+ });
381
+ }
382
+ function serialize(record) {
383
+ return {
384
+ createdAt: record.createdAt,
385
+ createdBy: record.createdBy,
386
+ enabled: record.enabled,
387
+ expiresAt: record.expiresAt,
388
+ id: record.id,
389
+ lastUsedAt: record.lastUsedAt,
390
+ maxUses: record.maxUses,
391
+ name: record.name,
392
+ orgId: record.orgId,
393
+ role: record.role,
394
+ status: InviteLinks.status(record),
395
+ token: record.token,
396
+ updatedAt: record.updatedAt,
397
+ useCount: record.useCount,
398
+ };
399
+ }
400
+ /** Normalizes accepted offset timestamps so persisted expiry comparisons remain chronological. */
401
+ function normalizeExpiry(value) {
402
+ return value === null ? null : new Date(value).toISOString();
403
+ }
404
+ function notFound(c) {
405
+ return Response.error(c, {
406
+ code: 'invite_link_not_found',
407
+ message: 'Invite link not found',
408
+ status: 404,
409
+ });
410
+ }
411
+ //# sourceMappingURL=invite-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite-links.js","sourceRoot":"","sources":["../../../../src/apps/management/routes/invite-links.ts"],"names":[],"mappings":"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"}
@@ -20,39 +20,38 @@ export declare function me(): import("hono/hono-base").HonoBase<App.Environment,
20
20
  "/v1/me": {
21
21
  $get: {
22
22
  output: {
23
- error: {
24
- code: "api_key_malformed";
25
- details?: readonly Response.error.Detail[] | undefined;
26
- message: string;
27
- };
28
- requestId: string;
23
+ address?: string | undefined;
24
+ createdAt: string;
25
+ email?: string | undefined;
26
+ id: string;
27
+ updatedAt: string;
29
28
  };
30
29
  outputFormat: "json";
31
- status: 400;
30
+ status: 200;
32
31
  input: {};
33
32
  } | {
34
33
  output: {
35
34
  error: {
36
- code: "api_key_invalid" | "api_key_missing";
35
+ code: "api_key_malformed";
37
36
  details?: readonly Response.error.Detail[] | undefined;
38
37
  message: string;
39
38
  };
40
39
  requestId: string;
41
40
  };
42
41
  outputFormat: "json";
43
- status: 401;
42
+ status: 400;
44
43
  input: {};
45
44
  } | {
46
45
  output: {
47
46
  error: {
48
- code: "upstream_error";
47
+ code: "api_key_invalid" | "api_key_missing";
49
48
  details?: readonly Response.error.Detail[] | undefined;
50
49
  message: string;
51
50
  };
52
51
  requestId: string;
53
52
  };
54
53
  outputFormat: "json";
55
- status: 502;
54
+ status: 401;
56
55
  input: {};
57
56
  } | {
58
57
  output: {
@@ -80,14 +79,15 @@ export declare function me(): import("hono/hono-base").HonoBase<App.Environment,
80
79
  input: {};
81
80
  } | {
82
81
  output: {
83
- address?: string | undefined;
84
- createdAt: string;
85
- email?: string | undefined;
86
- id: string;
87
- updatedAt: string;
82
+ error: {
83
+ code: "upstream_error";
84
+ details?: readonly Response.error.Detail[] | undefined;
85
+ message: string;
86
+ };
87
+ requestId: string;
88
88
  };
89
89
  outputFormat: "json";
90
- status: 200;
90
+ status: 502;
91
91
  input: {};
92
92
  };
93
93
  };