@namera-ai/api 0.0.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 (105) hide show
  1. package/README.md +58 -0
  2. package/dist/common.js +13 -0
  3. package/dist/common.js.map +1 -0
  4. package/dist/index.d.ts +32 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +40 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/middlewares/admin.d.ts +25 -0
  9. package/dist/middlewares/admin.d.ts.map +1 -0
  10. package/dist/middlewares/admin.js +18 -0
  11. package/dist/middlewares/admin.js.map +1 -0
  12. package/dist/middlewares/auth.d.ts +640 -0
  13. package/dist/middlewares/auth.d.ts.map +1 -0
  14. package/dist/middlewares/auth.js +26 -0
  15. package/dist/middlewares/auth.js.map +1 -0
  16. package/dist/middlewares/index.d.ts +3 -0
  17. package/dist/routes/address-metadata.d.ts +147 -0
  18. package/dist/routes/address-metadata.d.ts.map +1 -0
  19. package/dist/routes/address-metadata.js +24 -0
  20. package/dist/routes/address-metadata.js.map +1 -0
  21. package/dist/routes/api-key.d.ts +864 -0
  22. package/dist/routes/api-key.d.ts.map +1 -0
  23. package/dist/routes/api-key.js +31 -0
  24. package/dist/routes/api-key.js.map +1 -0
  25. package/dist/routes/auth/core/index.d.ts +4 -0
  26. package/dist/routes/auth/core/magic-link.d.ts +34 -0
  27. package/dist/routes/auth/core/magic-link.d.ts.map +1 -0
  28. package/dist/routes/auth/core/magic-link.js +25 -0
  29. package/dist/routes/auth/core/magic-link.js.map +1 -0
  30. package/dist/routes/auth/core/session.d.ts +805 -0
  31. package/dist/routes/auth/core/session.d.ts.map +1 -0
  32. package/dist/routes/auth/core/session.js +31 -0
  33. package/dist/routes/auth/core/session.js.map +1 -0
  34. package/dist/routes/auth/core/user.d.ts +45 -0
  35. package/dist/routes/auth/core/user.d.ts.map +1 -0
  36. package/dist/routes/auth/core/user.js +15 -0
  37. package/dist/routes/auth/core/user.js.map +1 -0
  38. package/dist/routes/auth/index.d.ts +11 -0
  39. package/dist/routes/auth/notification.d.ts +392 -0
  40. package/dist/routes/auth/notification.d.ts.map +1 -0
  41. package/dist/routes/auth/notification.js +40 -0
  42. package/dist/routes/auth/notification.js.map +1 -0
  43. package/dist/routes/auth/oauth.d.ts +1347 -0
  44. package/dist/routes/auth/oauth.d.ts.map +1 -0
  45. package/dist/routes/auth/oauth.js +62 -0
  46. package/dist/routes/auth/oauth.js.map +1 -0
  47. package/dist/routes/auth/organization/index.d.ts +4 -0
  48. package/dist/routes/auth/organization/invitation.d.ts +400 -0
  49. package/dist/routes/auth/organization/invitation.d.ts.map +1 -0
  50. package/dist/routes/auth/organization/invitation.js +55 -0
  51. package/dist/routes/auth/organization/invitation.js.map +1 -0
  52. package/dist/routes/auth/organization/members.d.ts +250 -0
  53. package/dist/routes/auth/organization/members.d.ts.map +1 -0
  54. package/dist/routes/auth/organization/members.js +37 -0
  55. package/dist/routes/auth/organization/members.js.map +1 -0
  56. package/dist/routes/auth/organization/organization.d.ts +196 -0
  57. package/dist/routes/auth/organization/organization.d.ts.map +1 -0
  58. package/dist/routes/auth/organization/organization.js +31 -0
  59. package/dist/routes/auth/organization/organization.js.map +1 -0
  60. package/dist/routes/beta-invite.d.ts +24 -0
  61. package/dist/routes/beta-invite.d.ts.map +1 -0
  62. package/dist/routes/beta-invite.js +20 -0
  63. package/dist/routes/beta-invite.js.map +1 -0
  64. package/dist/routes/billing.d.ts +34 -0
  65. package/dist/routes/billing.d.ts.map +1 -0
  66. package/dist/routes/billing.js +14 -0
  67. package/dist/routes/billing.js.map +1 -0
  68. package/dist/routes/dashboard.d.ts +58 -0
  69. package/dist/routes/dashboard.d.ts.map +1 -0
  70. package/dist/routes/dashboard.js +14 -0
  71. package/dist/routes/dashboard.js.map +1 -0
  72. package/dist/routes/ens.d.ts +14 -0
  73. package/dist/routes/ens.d.ts.map +1 -0
  74. package/dist/routes/ens.js +15 -0
  75. package/dist/routes/ens.js.map +1 -0
  76. package/dist/routes/execution.d.ts +816 -0
  77. package/dist/routes/execution.d.ts.map +1 -0
  78. package/dist/routes/execution.js +50 -0
  79. package/dist/routes/execution.js.map +1 -0
  80. package/dist/routes/health.d.ts +10 -0
  81. package/dist/routes/health.d.ts.map +1 -0
  82. package/dist/routes/health.js +10 -0
  83. package/dist/routes/health.js.map +1 -0
  84. package/dist/routes/index.d.ts +23 -0
  85. package/dist/routes/portfolio.d.ts +94 -0
  86. package/dist/routes/portfolio.d.ts.map +1 -0
  87. package/dist/routes/portfolio.js +16 -0
  88. package/dist/routes/portfolio.js.map +1 -0
  89. package/dist/routes/session-key.d.ts +1844 -0
  90. package/dist/routes/session-key.d.ts.map +1 -0
  91. package/dist/routes/session-key.js +55 -0
  92. package/dist/routes/session-key.js.map +1 -0
  93. package/dist/routes/signature.d.ts +195 -0
  94. package/dist/routes/signature.d.ts.map +1 -0
  95. package/dist/routes/signature.js +38 -0
  96. package/dist/routes/signature.js.map +1 -0
  97. package/dist/routes/waitlist.d.ts +42 -0
  98. package/dist/routes/waitlist.d.ts.map +1 -0
  99. package/dist/routes/waitlist.js +27 -0
  100. package/dist/routes/waitlist.js.map +1 -0
  101. package/dist/routes/wallet.d.ts +547 -0
  102. package/dist/routes/wallet.d.ts.map +1 -0
  103. package/dist/routes/wallet.js +50 -0
  104. package/dist/routes/wallet.js.map +1 -0
  105. package/package.json +61 -0
@@ -0,0 +1,26 @@
1
+ import { HttpApiError, HttpApiMiddleware, HttpApiSecurity } from "effect/unstable/httpapi";
2
+ import { Context } from "effect";
3
+
4
+ //#region src/middlewares/auth.ts
5
+ var CurrentActor = class extends Context.Service()("@namera-ai/api/CurrentActor") {};
6
+ const AuthTokenSecurity = HttpApiSecurity.apiKey({
7
+ in: "cookie",
8
+ key: "auth-token"
9
+ });
10
+ const ApiKeySecurity = HttpApiSecurity.apiKey({
11
+ in: "header",
12
+ key: "x-api-key"
13
+ });
14
+ const BearerSecurity = HttpApiSecurity.bearer;
15
+ var Authorization = class extends HttpApiMiddleware.Service()("@namera-ai/api/Authorization", {
16
+ error: HttpApiError.UnauthorizedNoContent,
17
+ security: {
18
+ authToken: AuthTokenSecurity,
19
+ apiKey: ApiKeySecurity,
20
+ bearer: BearerSecurity
21
+ }
22
+ }) {};
23
+
24
+ //#endregion
25
+ export { ApiKeySecurity, AuthTokenSecurity, Authorization, BearerSecurity, CurrentActor };
26
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","names":[],"sources":["../../src/middlewares/auth.ts"],"sourcesContent":["import { Context } from \"effect\";\nimport { HttpApiError, HttpApiMiddleware, HttpApiSecurity } from \"effect/unstable/httpapi\";\n\nimport type { CurrentActorResponse } from \"@namera-ai/protocol/dto\";\n\nexport class CurrentActor extends Context.Service<CurrentActor, CurrentActorResponse>()(\n \"@namera-ai/api/CurrentActor\",\n) {}\n\nexport const AuthTokenSecurity = HttpApiSecurity.apiKey({\n in: \"cookie\",\n key: \"auth-token\",\n});\n\nexport const ApiKeySecurity = HttpApiSecurity.apiKey({\n in: \"header\",\n key: \"x-api-key\",\n});\n\nexport const BearerSecurity = HttpApiSecurity.bearer;\n\nexport class Authorization extends HttpApiMiddleware.Service<\n Authorization,\n {\n provides: CurrentActor;\n }\n>()(\"@namera-ai/api/Authorization\", {\n error: HttpApiError.UnauthorizedNoContent,\n security: {\n authToken: AuthTokenSecurity,\n apiKey: ApiKeySecurity,\n bearer: BearerSecurity,\n },\n}) {}\n"],"mappings":";;;;AAKA,IAAa,eAAb,cAAkC,QAAQ,QAA4C,CAAC,CACrF,6BACF,CAAC,CAAC,CAAC;AAEH,MAAa,oBAAoB,gBAAgB,OAAO;CACtD,IAAI;CACJ,KAAK;AACP,CAAC;AAED,MAAa,iBAAiB,gBAAgB,OAAO;CACnD,IAAI;CACJ,KAAK;AACP,CAAC;AAED,MAAa,iBAAiB,gBAAgB;AAE9C,IAAa,gBAAb,cAAmC,kBAAkB,QAKnD,CAAC,CAAC,gCAAgC;CAClC,OAAO,aAAa;CACpB,UAAU;EACR,WAAW;EACX,QAAQ;EACR,QAAQ;CACV;AACF,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ApiKeySecurity, AuthTokenSecurity, Authorization, BearerSecurity, CurrentActor } from "./auth.js";
2
+ import { AdminAuthorization, CurrentAdmin } from "./admin.js";
3
+ export { AdminAuthorization, ApiKeySecurity, AuthTokenSecurity, Authorization, BearerSecurity, CurrentActor, CurrentAdmin };
@@ -0,0 +1,147 @@
1
+ import { Authorization } from "../middlewares/auth.js";
2
+ import "../middlewares/index.js";
3
+ import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
4
+ import { AddressMetadataUnavailableError } from "@namera-ai/protocol";
5
+ //#region src/routes/address-metadata.d.ts
6
+ declare const AddressMetadataGroup_base: HttpApiGroup.HttpApiGroup<"addressMetadata", HttpApiEndpoint.HttpApiEndpoint<"resolve", "POST", "/address-metadata/resolve", never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
7
+ readonly addresses: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
8
+ readonly namespace: import("effect/Schema").Literal<"eip155">;
9
+ readonly chainId: import("effect/Schema").Literals<readonly ["eip155:1", "eip155:10", "eip155:8453", "eip155:42161", "eip155:84532", "eip155:421614", "eip155:11155111", "eip155:11155420"]>;
10
+ readonly address: import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">;
11
+ }>]>>;
12
+ }>>, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
13
+ readonly items: import("effect/Schema").$Array<import("effect/Schema").Struct<{
14
+ readonly schemaVersion: import("effect/Schema").Literal<1>;
15
+ readonly namespace: import("effect/Schema").Literal<"eip155">;
16
+ readonly chainId: import("effect/Schema").Literals<readonly ["eip155:1", "eip155:10", "eip155:8453", "eip155:42161", "eip155:84532", "eip155:421614", "eip155:11155111", "eip155:11155420"]>;
17
+ readonly address: import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">;
18
+ readonly kind: import("effect/Schema").Literals<readonly ["eoa", "contract", "fungible-token", "nft-contract", "unknown"]>;
19
+ readonly identity: import("effect/Schema").Struct<{
20
+ readonly displayName: import("effect/Schema").NullOr<import("effect/Schema").String>;
21
+ readonly description: import("effect/Schema").NullOr<import("effect/Schema").String>;
22
+ readonly iconUrl: import("effect/Schema").NullOr<import("effect/Schema").String>;
23
+ }>;
24
+ readonly trust: import("effect/Schema").Struct<{
25
+ readonly reputation: import("effect/Schema").Literals<readonly ["credible", "neutral", "suspicious", "scam", "unknown"]>;
26
+ readonly isScam: import("effect/Schema").Boolean;
27
+ readonly isSourceVerified: import("effect/Schema").NullOr<import("effect/Schema").Boolean>;
28
+ readonly signals: import("effect/Schema").$Array<import("effect/Schema").Literals<readonly ["blockscout", "metadata-tag", "token-market"]>>;
29
+ }>;
30
+ readonly tags: import("effect/Schema").$Array<import("effect/Schema").Struct<{
31
+ readonly type: import("effect/Schema").Literals<readonly ["name", "category", "protocol", "information", "classifier", "note"]>;
32
+ readonly slug: import("effect/Schema").String;
33
+ readonly name: import("effect/Schema").String;
34
+ }>>;
35
+ readonly token: import("effect/Schema").NullOr<import("effect/Schema").Struct<{
36
+ readonly standard: import("effect/Schema").Literals<readonly ["erc20", "erc721", "erc1155", "other"]>;
37
+ readonly name: import("effect/Schema").NullOr<import("effect/Schema").String>;
38
+ readonly symbol: import("effect/Schema").NullOr<import("effect/Schema").String>;
39
+ readonly decimals: import("effect/Schema").NullOr<import("effect/Schema").Int>;
40
+ readonly logoUrl: import("effect/Schema").NullOr<import("effect/Schema").String>;
41
+ }>>;
42
+ readonly contract: import("effect/Schema").NullOr<import("effect/Schema").Struct<{
43
+ readonly name: import("effect/Schema").NullOr<import("effect/Schema").String>;
44
+ readonly proxyType: import("effect/Schema").NullOr<import("effect/Schema").String>;
45
+ readonly implementationAddress: import("effect/Schema").NullOr<import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">>;
46
+ readonly implementationName: import("effect/Schema").NullOr<import("effect/Schema").String>;
47
+ }>>;
48
+ readonly provenance: import("effect/Schema").Struct<{
49
+ readonly provider: import("effect/Schema").Literal<"blockscout">;
50
+ readonly observedAt: import("effect/Schema").DateTimeUtcFromString;
51
+ }>;
52
+ }>>;
53
+ }>>, import("effect/Schema").toCodecJson<typeof AddressMetadataUnavailableError | import("effect/unstable/httpapi/HttpApiSchema").asNoContent<typeof import("effect/unstable/httpapi/HttpApiError").Forbidden> | import("effect/unstable/httpapi/HttpApiSchema").asNoContent<typeof import("effect/unstable/httpapi/HttpApiError").InternalServerError> | typeof import("@namera-ai/protocol").RateLimitExceeded>, Authorization, never> | HttpApiEndpoint.HttpApiEndpoint<"search", "GET", "/address-metadata/search", never, import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
54
+ readonly namespace: import("effect/Schema").Literal<"eip155">;
55
+ readonly chainId: import("effect/Schema").Literals<readonly ["eip155:1", "eip155:10", "eip155:8453", "eip155:42161", "eip155:84532", "eip155:421614", "eip155:11155111", "eip155:11155420"]>;
56
+ readonly query: import("effect/Schema").String;
57
+ readonly cursor: import("effect/Schema").optionalKey<import("effect/Schema").String>;
58
+ }>>, never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
59
+ readonly items: import("effect/Schema").$Array<import("effect/Schema").Struct<{
60
+ readonly schemaVersion: import("effect/Schema").Literal<1>;
61
+ readonly namespace: import("effect/Schema").Literal<"eip155">;
62
+ readonly chainId: import("effect/Schema").Literals<readonly ["eip155:1", "eip155:10", "eip155:8453", "eip155:42161", "eip155:84532", "eip155:421614", "eip155:11155111", "eip155:11155420"]>;
63
+ readonly address: import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">;
64
+ readonly kind: import("effect/Schema").Literals<readonly ["eoa", "contract", "fungible-token", "nft-contract", "unknown"]>;
65
+ readonly identity: import("effect/Schema").Struct<{
66
+ readonly displayName: import("effect/Schema").NullOr<import("effect/Schema").String>;
67
+ readonly description: import("effect/Schema").NullOr<import("effect/Schema").String>;
68
+ readonly iconUrl: import("effect/Schema").NullOr<import("effect/Schema").String>;
69
+ }>;
70
+ readonly trust: import("effect/Schema").Struct<{
71
+ readonly reputation: import("effect/Schema").Literals<readonly ["credible", "neutral", "suspicious", "scam", "unknown"]>;
72
+ readonly isScam: import("effect/Schema").Boolean;
73
+ readonly isSourceVerified: import("effect/Schema").NullOr<import("effect/Schema").Boolean>;
74
+ readonly signals: import("effect/Schema").$Array<import("effect/Schema").Literals<readonly ["blockscout", "metadata-tag", "token-market"]>>;
75
+ }>;
76
+ readonly tags: import("effect/Schema").$Array<import("effect/Schema").Struct<{
77
+ readonly type: import("effect/Schema").Literals<readonly ["name", "category", "protocol", "information", "classifier", "note"]>;
78
+ readonly slug: import("effect/Schema").String;
79
+ readonly name: import("effect/Schema").String;
80
+ }>>;
81
+ readonly token: import("effect/Schema").NullOr<import("effect/Schema").Struct<{
82
+ readonly standard: import("effect/Schema").Literals<readonly ["erc20", "erc721", "erc1155", "other"]>;
83
+ readonly name: import("effect/Schema").NullOr<import("effect/Schema").String>;
84
+ readonly symbol: import("effect/Schema").NullOr<import("effect/Schema").String>;
85
+ readonly decimals: import("effect/Schema").NullOr<import("effect/Schema").Int>;
86
+ readonly logoUrl: import("effect/Schema").NullOr<import("effect/Schema").String>;
87
+ }>>;
88
+ readonly contract: import("effect/Schema").NullOr<import("effect/Schema").Struct<{
89
+ readonly name: import("effect/Schema").NullOr<import("effect/Schema").String>;
90
+ readonly proxyType: import("effect/Schema").NullOr<import("effect/Schema").String>;
91
+ readonly implementationAddress: import("effect/Schema").NullOr<import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">>;
92
+ readonly implementationName: import("effect/Schema").NullOr<import("effect/Schema").String>;
93
+ }>>;
94
+ readonly provenance: import("effect/Schema").Struct<{
95
+ readonly provider: import("effect/Schema").Literal<"blockscout">;
96
+ readonly observedAt: import("effect/Schema").DateTimeUtcFromString;
97
+ }>;
98
+ }>>;
99
+ readonly nextCursor: import("effect/Schema").NullOr<import("effect/Schema").String>;
100
+ }>>, import("effect/Schema").toCodecJson<import("effect/unstable/httpapi/HttpApiSchema").asNoContent<typeof import("effect/unstable/httpapi/HttpApiError").Forbidden> | import("effect/unstable/httpapi/HttpApiSchema").asNoContent<typeof import("effect/unstable/httpapi/HttpApiError").InternalServerError> | typeof import("@namera-ai/protocol").RateLimitExceeded>, Authorization, never> | HttpApiEndpoint.HttpApiEndpoint<"get", "GET", "/address-metadata/:namespace/:chainId/:address", import("effect/Schema").toCodecStringTree<import("effect/Schema").Struct<{
101
+ readonly namespace: import("effect/Schema").Literal<"eip155">;
102
+ readonly chainId: import("effect/Schema").Literals<readonly ["eip155:1", "eip155:10", "eip155:8453", "eip155:42161", "eip155:84532", "eip155:421614", "eip155:11155111", "eip155:11155420"]>;
103
+ readonly address: import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">;
104
+ }>>, never, never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
105
+ readonly schemaVersion: import("effect/Schema").Literal<1>;
106
+ readonly namespace: import("effect/Schema").Literal<"eip155">;
107
+ readonly chainId: import("effect/Schema").Literals<readonly ["eip155:1", "eip155:10", "eip155:8453", "eip155:42161", "eip155:84532", "eip155:421614", "eip155:11155111", "eip155:11155420"]>;
108
+ readonly address: import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">;
109
+ readonly kind: import("effect/Schema").Literals<readonly ["eoa", "contract", "fungible-token", "nft-contract", "unknown"]>;
110
+ readonly identity: import("effect/Schema").Struct<{
111
+ readonly displayName: import("effect/Schema").NullOr<import("effect/Schema").String>;
112
+ readonly description: import("effect/Schema").NullOr<import("effect/Schema").String>;
113
+ readonly iconUrl: import("effect/Schema").NullOr<import("effect/Schema").String>;
114
+ }>;
115
+ readonly trust: import("effect/Schema").Struct<{
116
+ readonly reputation: import("effect/Schema").Literals<readonly ["credible", "neutral", "suspicious", "scam", "unknown"]>;
117
+ readonly isScam: import("effect/Schema").Boolean;
118
+ readonly isSourceVerified: import("effect/Schema").NullOr<import("effect/Schema").Boolean>;
119
+ readonly signals: import("effect/Schema").$Array<import("effect/Schema").Literals<readonly ["blockscout", "metadata-tag", "token-market"]>>;
120
+ }>;
121
+ readonly tags: import("effect/Schema").$Array<import("effect/Schema").Struct<{
122
+ readonly type: import("effect/Schema").Literals<readonly ["name", "category", "protocol", "information", "classifier", "note"]>;
123
+ readonly slug: import("effect/Schema").String;
124
+ readonly name: import("effect/Schema").String;
125
+ }>>;
126
+ readonly token: import("effect/Schema").NullOr<import("effect/Schema").Struct<{
127
+ readonly standard: import("effect/Schema").Literals<readonly ["erc20", "erc721", "erc1155", "other"]>;
128
+ readonly name: import("effect/Schema").NullOr<import("effect/Schema").String>;
129
+ readonly symbol: import("effect/Schema").NullOr<import("effect/Schema").String>;
130
+ readonly decimals: import("effect/Schema").NullOr<import("effect/Schema").Int>;
131
+ readonly logoUrl: import("effect/Schema").NullOr<import("effect/Schema").String>;
132
+ }>>;
133
+ readonly contract: import("effect/Schema").NullOr<import("effect/Schema").Struct<{
134
+ readonly name: import("effect/Schema").NullOr<import("effect/Schema").String>;
135
+ readonly proxyType: import("effect/Schema").NullOr<import("effect/Schema").String>;
136
+ readonly implementationAddress: import("effect/Schema").NullOr<import("effect/Schema").brand<import("effect/Schema").TemplateLiteral<readonly ["0x", import("effect/Schema").String]>, "EthereumAddress">>;
137
+ readonly implementationName: import("effect/Schema").NullOr<import("effect/Schema").String>;
138
+ }>>;
139
+ readonly provenance: import("effect/Schema").Struct<{
140
+ readonly provider: import("effect/Schema").Literal<"blockscout">;
141
+ readonly observedAt: import("effect/Schema").DateTimeUtcFromString;
142
+ }>;
143
+ }>>, import("effect/Schema").toCodecJson<typeof AddressMetadataUnavailableError | import("effect/unstable/httpapi/HttpApiSchema").asNoContent<typeof import("effect/unstable/httpapi/HttpApiError").Forbidden> | import("effect/unstable/httpapi/HttpApiSchema").asNoContent<typeof import("effect/unstable/httpapi/HttpApiError").InternalServerError> | typeof import("@namera-ai/protocol").RateLimitExceeded>, Authorization, never>, false>;
144
+ declare class AddressMetadataGroup extends AddressMetadataGroup_base {}
145
+ //#endregion
146
+ export { AddressMetadataGroup };
147
+ //# sourceMappingURL=address-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-metadata.d.ts","names":[],"sources":["../../src/routes/address-metadata.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAea,6BAA6B"}
@@ -0,0 +1,24 @@
1
+ import { CommonErrors } from "../common.js";
2
+ import { Authorization } from "../middlewares/auth.js";
3
+ import { HttpApiEndpoint, HttpApiGroup, OpenApi } from "effect/unstable/httpapi";
4
+ import { AddressMetadataUnavailableError } from "@namera-ai/protocol";
5
+ import { AddressMetadataResponse, GetAddressMetadataRequest, ResolveAddressMetadataRequest, ResolveAddressMetadataResponse, SearchAddressMetadataRequest, SearchAddressMetadataResponse } from "@namera-ai/protocol/dto";
6
+
7
+ //#region src/routes/address-metadata.ts
8
+ var AddressMetadataGroup = class extends HttpApiGroup.make("addressMetadata").add(HttpApiEndpoint.post("resolve", "/resolve", {
9
+ payload: ResolveAddressMetadataRequest,
10
+ success: ResolveAddressMetadataResponse,
11
+ error: [AddressMetadataUnavailableError, ...CommonErrors]
12
+ }).annotate(OpenApi.Summary, "Resolve normalized metadata for a batch of addresses"), HttpApiEndpoint.get("search", "/search", {
13
+ query: SearchAddressMetadataRequest,
14
+ success: SearchAddressMetadataResponse,
15
+ error: CommonErrors
16
+ }).annotate(OpenApi.Summary, "Search enriched addresses on a chain"), HttpApiEndpoint.get("get", "/:namespace/:chainId/:address", {
17
+ params: GetAddressMetadataRequest,
18
+ success: AddressMetadataResponse,
19
+ error: [AddressMetadataUnavailableError, ...CommonErrors]
20
+ }).annotate(OpenApi.Summary, "Get normalized metadata for an address")).annotate(OpenApi.Description, "Namespace-neutral address identity and trust metadata").middleware(Authorization).prefix("/address-metadata") {};
21
+
22
+ //#endregion
23
+ export { AddressMetadataGroup };
24
+ //# sourceMappingURL=address-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-metadata.js","names":[],"sources":["../../src/routes/address-metadata.ts"],"sourcesContent":["import { HttpApiEndpoint, HttpApiGroup, OpenApi } from \"effect/unstable/httpapi\";\n\nimport { AddressMetadataUnavailableError } from \"@namera-ai/protocol\";\nimport {\n AddressMetadataResponse,\n GetAddressMetadataRequest,\n ResolveAddressMetadataRequest,\n ResolveAddressMetadataResponse,\n SearchAddressMetadataRequest,\n SearchAddressMetadataResponse,\n} from \"@namera-ai/protocol/dto\";\n\nimport { CommonErrors } from \"#/common\";\nimport { Authorization } from \"#/middlewares/index\";\n\nexport class AddressMetadataGroup extends HttpApiGroup.make(\"addressMetadata\")\n .add(\n HttpApiEndpoint.post(\"resolve\", \"/resolve\", {\n payload: ResolveAddressMetadataRequest,\n success: ResolveAddressMetadataResponse,\n error: [AddressMetadataUnavailableError, ...CommonErrors],\n }).annotate(OpenApi.Summary, \"Resolve normalized metadata for a batch of addresses\"),\n HttpApiEndpoint.get(\"search\", \"/search\", {\n query: SearchAddressMetadataRequest,\n success: SearchAddressMetadataResponse,\n error: CommonErrors,\n }).annotate(OpenApi.Summary, \"Search enriched addresses on a chain\"),\n HttpApiEndpoint.get(\"get\", \"/:namespace/:chainId/:address\", {\n params: GetAddressMetadataRequest,\n success: AddressMetadataResponse,\n error: [AddressMetadataUnavailableError, ...CommonErrors],\n }).annotate(OpenApi.Summary, \"Get normalized metadata for an address\"),\n )\n .annotate(OpenApi.Description, \"Namespace-neutral address identity and trust metadata\")\n .middleware(Authorization)\n .prefix(\"/address-metadata\") {}\n"],"mappings":";;;;;;;AAeA,IAAa,uBAAb,cAA0C,aAAa,KAAK,iBAAiB,CAAC,CAC3E,IACC,gBAAgB,KAAK,WAAW,YAAY;CAC1C,SAAS;CACT,SAAS;CACT,OAAO,CAAC,iCAAiC,GAAG,YAAY;AAC1D,CAAC,CAAC,CAAC,SAAS,QAAQ,SAAS,sDAAsD,GACnF,gBAAgB,IAAI,UAAU,WAAW;CACvC,OAAO;CACP,SAAS;CACT,OAAO;AACT,CAAC,CAAC,CAAC,SAAS,QAAQ,SAAS,sCAAsC,GACnE,gBAAgB,IAAI,OAAO,iCAAiC;CAC1D,QAAQ;CACR,SAAS;CACT,OAAO,CAAC,iCAAiC,GAAG,YAAY;AAC1D,CAAC,CAAC,CAAC,SAAS,QAAQ,SAAS,wCAAwC,CACvE,CAAC,CACA,SAAS,QAAQ,aAAa,uDAAuD,CAAC,CACtF,WAAW,aAAa,CAAC,CACzB,OAAO,mBAAmB,CAAC,CAAC,CAAC"}