@rankwrangler/http-client 0.2.1 → 0.2.3

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.
package/README.md CHANGED
@@ -63,12 +63,15 @@ npm publish --access public --userconfig ../../.npmrc
63
63
 
64
64
  Before publishing:
65
65
 
66
- 1. Bump `version` in `packages/http-client/package.json`.
67
- 2. Run `bun run http-client:build` from repo root.
68
- 3. Run `npm pack --dry-run` from `packages/http-client`.
66
+ 1. Run `bun run release:bump <patch|minor|major|X.Y.Z>` from repo root.
67
+ 2. Run `bun install` from repo root.
68
+ 3. Run `bun run release:collect-changelog-context`, then draft `CHANGELOG.md` entry.
69
+ 4. Run `bun run release:check`.
70
+ 5. Run `bun run http-client:build` from repo root.
71
+ 6. Run `npm pack --dry-run` from `packages/http-client`.
69
72
 
70
73
  ## Versioning
71
74
 
72
- - App releases are tracked in root `CHANGELOG.md` as `vX.Y.Z` entries.
73
- - npm client releases are tracked in `packages/http-client/package.json` with SemVer.
74
- - These two version tracks are related but independent.
75
+ - App releases and npm package versions are synchronized to the same `X.Y.Z`.
76
+ - `CHANGELOG.md` uses `vX.Y.Z`; package files use `X.Y.Z`.
77
+ - Canonical process lives in `docs/release-runbook.md`.
@@ -16,6 +16,9 @@ export type ProductInfo = {
16
16
  dateFirstAvailable: string | null;
17
17
  title: string | null;
18
18
  brand: string | null;
19
+ isMerchListing: boolean;
20
+ bullet1: string | null;
21
+ bullet2: string | null;
19
22
  rootCategoryId: number | null;
20
23
  rootCategoryBsr: number | null;
21
24
  rootCategoryDisplayName: string | null;
@@ -123,25 +126,73 @@ export declare const publicAppRouter: import("@trpc/server").TRPCBuiltRouter<{
123
126
  endAt?: unknown;
124
127
  limit?: unknown;
125
128
  days?: unknown;
129
+ metrics?: ("bsr" | "price")[] | undefined;
130
+ format?: "legacy" | "agent" | undefined;
126
131
  };
127
132
  output: {
128
- collecting: boolean;
129
- syncTriggered: boolean;
130
133
  marketplaceId: string;
131
134
  asin: string;
132
- metric: "bsrMain" | "bsrCategory" | "priceAmazon" | "priceNew" | "priceNewFba";
135
+ metric: "bsrMain";
136
+ latestImportAt: string | null;
137
+ categoryNames: Record<string, string>;
138
+ points: {
139
+ categoryId: number;
140
+ categoryName: string | null;
141
+ observedAt: string;
142
+ keepaMinutes: number;
143
+ value: number | null;
144
+ isMissing: boolean;
145
+ }[];
146
+ collecting: boolean;
147
+ syncTriggered: boolean;
148
+ } | {
149
+ schemaVersion: 1;
150
+ status: string;
133
151
  latestImportAt: string | null;
134
- categoryNames: {
135
- [x: string]: string;
152
+ series: {
153
+ price?: {
154
+ unit: "minorCurrency";
155
+ currencyCode: "USD";
156
+ valueScale: 100;
157
+ points: ([
158
+ string,
159
+ number | null
160
+ ] | [
161
+ string,
162
+ null,
163
+ 1
164
+ ])[];
165
+ } | undefined;
166
+ bsr?: {
167
+ unit: "rank";
168
+ category: {
169
+ id: number;
170
+ name: string;
171
+ } | null;
172
+ points: ([
173
+ string,
174
+ number | null
175
+ ] | [
176
+ string,
177
+ null,
178
+ 1
179
+ ])[];
180
+ } | undefined;
136
181
  };
182
+ marketplaceId: string;
183
+ asin: string;
184
+ metric: "bsrMain";
185
+ categoryNames: Record<string, string>;
137
186
  points: {
138
187
  categoryId: number;
139
- categoryName: string;
188
+ categoryName: string | null;
140
189
  observedAt: string;
141
190
  keepaMinutes: number;
142
191
  value: number | null;
143
192
  isMissing: boolean;
144
193
  }[];
194
+ collecting: boolean;
195
+ syncTriggered: boolean;
145
196
  };
146
197
  meta: object;
147
198
  }>;
@@ -178,6 +229,45 @@ export declare const publicAppRouter: import("@trpc/server").TRPCBuiltRouter<{
178
229
  output: ProductInfo;
179
230
  meta: object;
180
231
  }>;
232
+ dev: import("@trpc/server").TRPCBuiltRouter<{
233
+ ctx: {
234
+ user: ClerkUser;
235
+ isAdmin: boolean;
236
+ authType: "license" | "clerk" | "none";
237
+ license: {
238
+ key: string;
239
+ data: LicenseUsageData | undefined;
240
+ };
241
+ licenseError: undefined;
242
+ request: import("fastify").FastifyRequest<import("fastify").RouteGenericInterface, import("fastify").RawServerDefault, import("http").IncomingMessage, import("fastify").FastifySchema, import("fastify").FastifyTypeProviderDefault, unknown, import("fastify").FastifyBaseLogger, import("fastify/types/type-provider.js").ResolveFastifyRequestType<import("fastify").FastifyTypeProviderDefault, import("fastify").FastifySchema, import("fastify").RouteGenericInterface>>;
243
+ } | {
244
+ user: null;
245
+ isAdmin: boolean;
246
+ authType: "license" | "clerk" | "none";
247
+ license: null;
248
+ licenseError: string | undefined;
249
+ request: import("fastify").FastifyRequest<import("fastify").RouteGenericInterface, import("fastify").RawServerDefault, import("http").IncomingMessage, import("fastify").FastifySchema, import("fastify").FastifyTypeProviderDefault, unknown, import("fastify").FastifyBaseLogger, import("fastify/types/type-provider.js").ResolveFastifyRequestType<import("fastify").FastifyTypeProviderDefault, import("fastify").FastifySchema, import("fastify").RouteGenericInterface>>;
250
+ } | {
251
+ user: ClerkUser;
252
+ isAdmin: boolean;
253
+ authType: "license" | "clerk" | "none";
254
+ license: null;
255
+ licenseError: undefined;
256
+ request: import("fastify").FastifyRequest<import("fastify").RouteGenericInterface, import("fastify").RawServerDefault, import("http").IncomingMessage, import("fastify").FastifySchema, import("fastify").FastifyTypeProviderDefault, unknown, import("fastify").FastifyBaseLogger, import("fastify/types/type-provider.js").ResolveFastifyRequestType<import("fastify").FastifyTypeProviderDefault, import("fastify").FastifySchema, import("fastify").RouteGenericInterface>>;
257
+ };
258
+ meta: object;
259
+ errorShape: import("@trpc/server").TRPCDefaultErrorShape;
260
+ transformer: false;
261
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
262
+ createClerkSignInToken: import("@trpc/server").TRPCMutationProcedure<{
263
+ input: void;
264
+ output: {
265
+ ticket: string;
266
+ expiresInSeconds: number;
267
+ };
268
+ meta: object;
269
+ }>;
270
+ }>>;
181
271
  license: import("@trpc/server").TRPCBuiltRouter<{
182
272
  ctx: {
183
273
  user: ClerkUser;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rankwrangler/http-client",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Typed tRPC client for RankWrangler",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,7 +11,10 @@
11
11
  "default": "./dist/index.js"
12
12
  }
13
13
  },
14
- "files": ["dist", "README.md"],
14
+ "files": [
15
+ "dist",
16
+ "README.md"
17
+ ],
15
18
  "publishConfig": {
16
19
  "access": "public"
17
20
  },