@rankwrangler/http-client 0.4.1 → 0.6.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.
package/README.md CHANGED
@@ -54,13 +54,13 @@ bun run http-client:build
54
54
  From `packages/http-client`:
55
55
 
56
56
  ```bash
57
- set -a
58
- source ../../.env
59
- set +a
60
- npm whoami --userconfig ../../.npmrc
61
- npm publish --access public --userconfig ../../.npmrc
57
+ node ../../scripts/release/with-npm-token.mjs npm whoami --userconfig ../../.npmrc
58
+ node ../../scripts/release/with-npm-token.mjs npm publish --access public --userconfig ../../.npmrc
62
59
  ```
63
60
 
61
+ On macOS, the helper reads `NPM_TOKEN` from the environment first and otherwise falls back to the
62
+ Keychain item `rankwrangler-npm-token` for account `$USER`.
63
+
64
64
  Before publishing:
65
65
 
66
66
  1. Run `bun run release:bump <patch|minor|major|X.Y.Z>` from repo root.
@@ -10,6 +10,59 @@ export interface ClerkUser {
10
10
  sub: string;
11
11
  email?: string;
12
12
  }
13
+ declare const productHistoryBuckets: readonly [
14
+ "auto",
15
+ "day",
16
+ "week",
17
+ "month"
18
+ ];
19
+ export type ProductHistoryBucket = (typeof productHistoryBuckets)[number];
20
+ export type ResolvedHistoryBucket = Exclude<ProductHistoryBucket, "auto">;
21
+ export type HistoryBucketTuple = [
22
+ string,
23
+ number | null
24
+ ];
25
+ export type HistoryBucketSummary = {
26
+ first: number | null;
27
+ latest: number | null;
28
+ min: number | null;
29
+ max: number | null;
30
+ count: number;
31
+ firstBucketAt: string | null;
32
+ latestBucketAt: string | null;
33
+ };
34
+ export type AgentHistorySeries = {
35
+ bsr?: {
36
+ unit: "rank";
37
+ category: {
38
+ id: number;
39
+ name: string | null;
40
+ } | null;
41
+ buckets: HistoryBucketTuple[];
42
+ summary: HistoryBucketSummary;
43
+ };
44
+ price?: {
45
+ unit: "minorCurrency";
46
+ currencyCode: "USD";
47
+ valueScale: 100;
48
+ buckets: HistoryBucketTuple[];
49
+ summary: HistoryBucketSummary;
50
+ };
51
+ };
52
+ export type AgentHistoryResponse = {
53
+ schemaVersion: 2;
54
+ marketplaceId: string;
55
+ asin: string;
56
+ status: "collecting" | "ready" | "empty";
57
+ latestImportAt: string | null;
58
+ syncTriggered: boolean;
59
+ range: {
60
+ startAt: string;
61
+ endAt: string;
62
+ bucket: ResolvedHistoryBucket;
63
+ };
64
+ series: AgentHistorySeries;
65
+ };
13
66
  export type ProductInfo = {
14
67
  asin: string;
15
68
  marketplaceId: string;
@@ -128,60 +181,30 @@ export declare const publicAppRouter: import("@trpc/server").TRPCBuiltRouter<{
128
181
  days?: unknown;
129
182
  metrics?: ("bsr" | "price")[] | undefined;
130
183
  format?: "legacy" | "agent" | undefined;
184
+ bucket?: "auto" | "day" | "week" | "month" | undefined;
131
185
  };
132
- output: {
186
+ output: AgentHistoryResponse | {
187
+ syncTriggered: boolean;
133
188
  marketplaceId: string;
134
189
  asin: string;
135
- metric: "bsrMain";
190
+ metric: "bsrMain" | "bsrCategory" | "priceAmazon" | "priceNew" | "priceNewFba";
136
191
  latestImportAt: string | null;
137
- categoryNames: Record<string, string>;
192
+ categoryNames: {
193
+ [x: string]: string;
194
+ };
138
195
  points: {
139
196
  categoryId: number;
140
- categoryName: string | null;
197
+ categoryName: string;
141
198
  observedAt: string;
142
199
  keepaMinutes: number;
143
200
  value: number | null;
144
201
  isMissing: boolean;
145
202
  }[];
146
- collecting: boolean;
147
- syncTriggered: boolean;
148
203
  } | {
149
- schemaVersion: 1;
150
- status: string;
151
- latestImportAt: string | null;
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;
181
- };
182
204
  marketplaceId: string;
183
205
  asin: string;
184
206
  metric: "bsrMain";
207
+ latestImportAt: string | null;
185
208
  categoryNames: Record<string, string>;
186
209
  points: {
187
210
  categoryId: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rankwrangler/http-client",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "Typed tRPC client for RankWrangler",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,12 +16,13 @@
16
16
  "README.md"
17
17
  ],
18
18
  "publishConfig": {
19
- "access": "public"
19
+ "access": "public",
20
+ "provenance": true
20
21
  },
21
22
  "sideEffects": false,
22
23
  "dependencies": {
23
- "@trpc/client": "^11.0.0",
24
- "@trpc/server": "^11.0.0"
24
+ "@trpc/client": "11.10.0",
25
+ "@trpc/server": "11.10.0"
25
26
  },
26
27
  "packageManager": "bun@1.1.27"
27
28
  }