@usequeek/app-sdk 0.5.0 → 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 +172 -16
- package/dist/app-auth.d.ts +23 -2
- package/dist/app-auth.d.ts.map +1 -1
- package/dist/app-auth.js +40 -6
- package/dist/app-auth.js.map +1 -1
- package/dist/auth-fetch.d.ts +90 -0
- package/dist/auth-fetch.d.ts.map +1 -0
- package/dist/auth-fetch.js +261 -0
- package/dist/auth-fetch.js.map +1 -0
- package/dist/client.d.ts +32 -10
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -2
- package/dist/client.js.map +1 -1
- package/dist/frame.d.ts +233 -4
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +694 -19
- package/dist/frame.js.map +1 -1
- package/dist/handoff.d.ts +32 -2
- package/dist/handoff.d.ts.map +1 -1
- package/dist/handoff.js +2 -1
- package/dist/handoff.js.map +1 -1
- package/dist/hono.d.ts +13 -0
- package/dist/hono.d.ts.map +1 -1
- package/dist/hono.js +15 -0
- package/dist/hono.js.map +1 -1
- package/dist/index.d.ts +11 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/install-handlers.d.ts +33 -8
- package/dist/install-handlers.d.ts.map +1 -1
- package/dist/install-handlers.js +133 -15
- package/dist/install-handlers.js.map +1 -1
- package/dist/merchant-schema.d.ts +1550 -68
- package/dist/merchant-schema.d.ts.map +1 -1
- package/dist/merchant-schema.js +1 -1
- package/dist/proxy.d.ts +122 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +204 -0
- package/dist/proxy.js.map +1 -0
- package/dist/react.d.ts +78 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +262 -0
- package/dist/react.js.map +1 -0
- package/dist/scopes.d.ts +174 -0
- package/dist/scopes.d.ts.map +1 -0
- package/dist/scopes.js +297 -0
- package/dist/scopes.js.map +1 -0
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +52 -2
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +99 -12
- package/dist/session.js.map +1 -1
- package/dist/store.d.ts +33 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +114 -4
- package/dist/store.js.map +1 -1
- package/dist/theme.d.ts +96 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +158 -0
- package/dist/theme.js.map +1 -0
- package/dist/tokens.d.ts +30 -15
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +57 -19
- package/dist/tokens.js.map +1 -1
- package/dist/webhooks.d.ts.map +1 -1
- package/dist/webhooks.js +1 -1
- package/dist/webhooks.js.map +1 -1
- package/package.json +17 -5
- package/CHANGELOG.md +0 -150
- package/openapi/merchant.json +0 -21452
package/dist/tokens.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type AppCredential } from "./app-auth.js";
|
|
2
|
-
import { QueekApiError, type QueekClient } from "./client.js";
|
|
2
|
+
import { type MerchantPaths, QueekApiError, type QueekClient, type ResolvedPaths } from "./client.js";
|
|
3
3
|
import { type Logger } from "./logger.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type InstallationStore } from "./store.js";
|
|
5
5
|
/**
|
|
6
6
|
* Installation tokens (S1, SDK 0.2.0): the app holds ONE asymmetric app
|
|
7
7
|
* credential and mints short-lived installation tokens from Queek on
|
|
@@ -14,10 +14,12 @@ import type { InstallationStore } from "./store.js";
|
|
|
14
14
|
* - A merchant-API token refusal → drop it, re-mint once, retry once; a
|
|
15
15
|
* second refusal propagates. Token refusal = any 401, or a 403 with
|
|
16
16
|
* `api_key_revoked` / `api_key_expired` / `invalid_client_key` (rev 7).
|
|
17
|
-
* A merchant 403 `
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* A merchant 403 `insufficient_scope` (stale grant) follows the same
|
|
18
|
+
* drop + re-mint-once + retry-once path. A merchant 403
|
|
19
|
+
* `app_token_revoked` is the app-wide kill switch (drop all + halt, no
|
|
20
|
+
* mint); any other merchant 403 (plan, mode) propagates untouched. (If
|
|
21
|
+
* the re-mint itself hits `invalid_client` / kill-switch / gone, the
|
|
22
|
+
* mint path below applies those rules.)
|
|
21
23
|
* - Concurrent callers in one process share ONE in-flight mint per
|
|
22
24
|
* installation (single-flight). Across containers two mints are harmless
|
|
23
25
|
* by design: Queek keeps coexisting tokens valid (K=2 slots) and the
|
|
@@ -37,7 +39,13 @@ export declare const APP_API_PATH = "/api/v1/apps";
|
|
|
37
39
|
/** Minimal surface the installation client needs (stubs stay one-liners). */
|
|
38
40
|
export interface AppTokens {
|
|
39
41
|
acquireToken(installationId: string): Promise<string>;
|
|
40
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Forget one installation's cached token. When `expectedToken` (the value
|
|
44
|
+
* the failing call presented) is given, the drop is compare-and-clear: a
|
|
45
|
+
* no-op when the store already holds a different (fresher) token, so a
|
|
46
|
+
* late drop can never wipe a concurrent re-mint.
|
|
47
|
+
*/
|
|
48
|
+
dropCachedToken(installationId: string, expectedToken?: string): Promise<void>;
|
|
41
49
|
/**
|
|
42
50
|
* Kill-switch path: forget EVERY cached token for the app and halt
|
|
43
51
|
* minting (loud log inside). Called on a merchant 403 `app_token_revoked`.
|
|
@@ -91,7 +99,7 @@ export declare class AppTokenProvider implements AppTokens {
|
|
|
91
99
|
acquireToken(installationId: string): Promise<string>;
|
|
92
100
|
private acquireUnshared;
|
|
93
101
|
private isFresh;
|
|
94
|
-
dropCachedToken(installationId: string): Promise<void>;
|
|
102
|
+
dropCachedToken(installationId: string, expectedToken?: string): Promise<void>;
|
|
95
103
|
/** Kill-switch path (also used by ops): forget every cached token, keep the rows. */
|
|
96
104
|
dropAllCachedTokens(): Promise<void>;
|
|
97
105
|
/**
|
|
@@ -151,12 +159,19 @@ export interface InstallationClientOptions {
|
|
|
151
159
|
* installation token is resolved per request (usually a cache hit — the
|
|
152
160
|
* store IS the cache, one shared row per installation), sent as
|
|
153
161
|
* `X-Client-Key`, and on a merchant-API token refusal (any 401, or 403
|
|
154
|
-
* `api_key_revoked` / `api_key_expired` / `invalid_client_key`)
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
* exactly like the
|
|
162
|
+
* `api_key_revoked` / `api_key_expired` / `invalid_client_key`) — or a 403
|
|
163
|
+
* `insufficient_scope` after a grant change — it is dropped, re-minted
|
|
164
|
+
* once, and the call retried once; a second refusal propagates to the
|
|
165
|
+
* caller. A merchant 403 `app_token_revoked` drops all cached tokens and
|
|
166
|
+
* halts minting; any other 403 propagates without a mint. 429/network
|
|
167
|
+
* retries (`requestWithRetry`) reuse one idempotency key exactly like the
|
|
168
|
+
* static client.
|
|
169
|
+
*
|
|
170
|
+
* Generic over the app's Merchant API paths (`TPaths`, default: the
|
|
171
|
+
* bundled `MerchantPaths` compat shim). Pass the app's own codegen output
|
|
172
|
+
* (`createInstallationClient<AppPaths>(...)`) for current types with zero
|
|
173
|
+
* SDK publish; the default keeps existing apps compiling unchanged but
|
|
174
|
+
* does NOT auto-update (re-run codegen in the app; sunset signal at 1.0).
|
|
160
175
|
*/
|
|
161
|
-
export declare function createInstallationClient(options: InstallationClientOptions): QueekClient
|
|
176
|
+
export declare function createInstallationClient<TPaths = MerchantPaths>(options: InstallationClientOptions): QueekClient<ResolvedPaths<TPaths>>;
|
|
162
177
|
//# sourceMappingURL=tokens.d.ts.map
|
package/dist/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/tokens.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { APP_TOKEN_REVOKED_CODE, AppMintHaltedError, INVALID_CLIENT_CODE, isAppTokenRevoked, isInstallationGone, isInstallationPending, isTokenRefusal, MAX_MINT_ATTEMPTS, MINT_BACKOFF_BASE_MS, MINT_BACKOFF_MAX_MS, RETRY_JITTER_MAX_MS, signAppJwt, TOKEN_VALIDITY_SKEW_SECONDS, UnknownInstallationError, } from "./app-auth.js";
|
|
2
|
-
import { createQueekClient, MERCHANT_API_PATH, QueekApiError, queekApiErrorFromResponse, resolveApiBase, } from "./client.js";
|
|
1
|
+
import { APP_TOKEN_REVOKED_CODE, AppMintHaltedError, INVALID_CLIENT_CODE, isAppTokenRevoked, isInstallationGone, isInstallationPending, isInsufficientScope, isTokenRefusal, MAX_MINT_ATTEMPTS, MINT_BACKOFF_BASE_MS, MINT_BACKOFF_MAX_MS, RETRY_JITTER_MAX_MS, signAppJwt, TOKEN_VALIDITY_SKEW_SECONDS, UnknownInstallationError, } from "./app-auth.js";
|
|
2
|
+
import { createQueekClient, isWriteMethod, MERCHANT_API_PATH, newIdempotencyKey, QueekApiError, queekApiErrorFromResponse, resolveApiBase, } from "./client.js";
|
|
3
3
|
import { createLogger } from "./logger.js";
|
|
4
|
+
import { defaultClearCachedTokenIfMatches } from "./store.js";
|
|
4
5
|
/**
|
|
5
6
|
* Installation tokens (S1, SDK 0.2.0): the app holds ONE asymmetric app
|
|
6
7
|
* credential and mints short-lived installation tokens from Queek on
|
|
@@ -13,10 +14,12 @@ import { createLogger } from "./logger.js";
|
|
|
13
14
|
* - A merchant-API token refusal → drop it, re-mint once, retry once; a
|
|
14
15
|
* second refusal propagates. Token refusal = any 401, or a 403 with
|
|
15
16
|
* `api_key_revoked` / `api_key_expired` / `invalid_client_key` (rev 7).
|
|
16
|
-
* A merchant 403 `
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* A merchant 403 `insufficient_scope` (stale grant) follows the same
|
|
18
|
+
* drop + re-mint-once + retry-once path. A merchant 403
|
|
19
|
+
* `app_token_revoked` is the app-wide kill switch (drop all + halt, no
|
|
20
|
+
* mint); any other merchant 403 (plan, mode) propagates untouched. (If
|
|
21
|
+
* the re-mint itself hits `invalid_client` / kill-switch / gone, the
|
|
22
|
+
* mint path below applies those rules.)
|
|
20
23
|
* - Concurrent callers in one process share ONE in-flight mint per
|
|
21
24
|
* installation (single-flight). Across containers two mints are harmless
|
|
22
25
|
* by design: Queek keeps coexisting tokens valid (K=2 slots) and the
|
|
@@ -126,8 +129,18 @@ export class AppTokenProvider {
|
|
|
126
129
|
return false;
|
|
127
130
|
return expiresMs - this.nowMs() > TOKEN_VALIDITY_SKEW_SECONDS * 1000;
|
|
128
131
|
}
|
|
129
|
-
async dropCachedToken(installationId) {
|
|
130
|
-
|
|
132
|
+
async dropCachedToken(installationId, expectedToken) {
|
|
133
|
+
if (expectedToken === undefined) {
|
|
134
|
+
await this.store.clearCachedToken(installationId);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
// Native compare-and-clear when the store has it; otherwise the
|
|
138
|
+
// portable get + compare + clear default (custom stores keep working).
|
|
139
|
+
if (typeof this.store.clearCachedTokenIfMatches === "function") {
|
|
140
|
+
await this.store.clearCachedTokenIfMatches(installationId, expectedToken);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
await defaultClearCachedTokenIfMatches(this.store, installationId, expectedToken);
|
|
131
144
|
}
|
|
132
145
|
/** Kill-switch path (also used by ops): forget every cached token, keep the rows. */
|
|
133
146
|
async dropAllCachedTokens() {
|
|
@@ -311,12 +324,19 @@ export function createAppTokenProvider(options) {
|
|
|
311
324
|
* installation token is resolved per request (usually a cache hit — the
|
|
312
325
|
* store IS the cache, one shared row per installation), sent as
|
|
313
326
|
* `X-Client-Key`, and on a merchant-API token refusal (any 401, or 403
|
|
314
|
-
* `api_key_revoked` / `api_key_expired` / `invalid_client_key`)
|
|
315
|
-
*
|
|
316
|
-
*
|
|
317
|
-
*
|
|
318
|
-
*
|
|
319
|
-
* exactly like the
|
|
327
|
+
* `api_key_revoked` / `api_key_expired` / `invalid_client_key`) — or a 403
|
|
328
|
+
* `insufficient_scope` after a grant change — it is dropped, re-minted
|
|
329
|
+
* once, and the call retried once; a second refusal propagates to the
|
|
330
|
+
* caller. A merchant 403 `app_token_revoked` drops all cached tokens and
|
|
331
|
+
* halts minting; any other 403 propagates without a mint. 429/network
|
|
332
|
+
* retries (`requestWithRetry`) reuse one idempotency key exactly like the
|
|
333
|
+
* static client.
|
|
334
|
+
*
|
|
335
|
+
* Generic over the app's Merchant API paths (`TPaths`, default: the
|
|
336
|
+
* bundled `MerchantPaths` compat shim). Pass the app's own codegen output
|
|
337
|
+
* (`createInstallationClient<AppPaths>(...)`) for current types with zero
|
|
338
|
+
* SDK publish; the default keeps existing apps compiling unchanged but
|
|
339
|
+
* does NOT auto-update (re-run codegen in the app; sunset signal at 1.0).
|
|
320
340
|
*/
|
|
321
341
|
export function createInstallationClient(options) {
|
|
322
342
|
// Validated here, once, before any fetch — same rules as the static client.
|
|
@@ -343,8 +363,14 @@ export function createInstallationClient(options) {
|
|
|
343
363
|
}
|
|
344
364
|
async function request(method, path, requestOptions = {}) {
|
|
345
365
|
const token = await options.tokens.acquireToken(options.installationId);
|
|
366
|
+
// One Idempotency-Key for both attempts (generated here when the caller
|
|
367
|
+
// did not supply one): the inner client would otherwise mint a fresh key
|
|
368
|
+
// per attempt, so the retry would carry a different key. Reads keep no
|
|
369
|
+
// key, exactly like the static client.
|
|
370
|
+
const idempotencyKey = requestOptions.idempotencyKey ?? (isWriteMethod(method) ? newIdempotencyKey() : undefined);
|
|
371
|
+
const attemptOptions = idempotencyKey === undefined ? requestOptions : { ...requestOptions, idempotencyKey };
|
|
346
372
|
try {
|
|
347
|
-
return await (await clientForToken(token)).request(method, path,
|
|
373
|
+
return await (await clientForToken(token)).request(method, path, attemptOptions);
|
|
348
374
|
}
|
|
349
375
|
catch (error) {
|
|
350
376
|
if (!(error instanceof QueekApiError))
|
|
@@ -356,18 +382,30 @@ export function createInstallationClient(options) {
|
|
|
356
382
|
await options.tokens.revokeAppAccess();
|
|
357
383
|
throw error;
|
|
358
384
|
}
|
|
385
|
+
// Stale grant: the cached token predates a scope change (e.g. the
|
|
386
|
+
// dev loop re-granted with a new scope). Drop it, re-mint once,
|
|
387
|
+
// retry once — exactly like a dead token. The retry is a direct
|
|
388
|
+
// client call, never a recursive `request()`, so a second 403
|
|
389
|
+
// propagates instead of looping. A scope 403 fails the scope check
|
|
390
|
+
// before executing anything, so re-sending the same body under the
|
|
391
|
+
// same Idempotency-Key cannot duplicate a write.
|
|
392
|
+
if (isInsufficientScope(error.status, error.code)) {
|
|
393
|
+
await options.tokens.dropCachedToken(options.installationId, token);
|
|
394
|
+
const fresh = await options.tokens.acquireToken(options.installationId);
|
|
395
|
+
return (await clientForToken(fresh)).request(method, path, attemptOptions);
|
|
396
|
+
}
|
|
359
397
|
// Token refusals ONLY (rev 7): any 401, or a 403 carrying a
|
|
360
|
-
// revoked/expired-key code. Every other 403 (
|
|
361
|
-
//
|
|
398
|
+
// revoked/expired-key code. Every other 403 (plan, mode) propagates
|
|
399
|
+
// to the caller without burning a mint.
|
|
362
400
|
if (!isTokenRefusal(error.status, error.code))
|
|
363
401
|
throw error;
|
|
364
402
|
// Dead token: drop it, re-mint once, retry once. The re-mint runs
|
|
365
403
|
// the full contract error mapping (halt/purge on
|
|
366
404
|
// invalid_client/kill-switch/gone); a second merchant refusal
|
|
367
405
|
// propagates to the caller.
|
|
368
|
-
await options.tokens.dropCachedToken(options.installationId);
|
|
406
|
+
await options.tokens.dropCachedToken(options.installationId, token);
|
|
369
407
|
const fresh = await options.tokens.acquireToken(options.installationId);
|
|
370
|
-
return (await clientForToken(fresh)).request(method, path,
|
|
408
|
+
return (await clientForToken(fresh)).request(method, path, attemptOptions);
|
|
371
409
|
}
|
|
372
410
|
}
|
|
373
411
|
async function requestWithRetry(method, path, retryOptions = {}) {
|
package/dist/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/webhooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAsC,MAAM,eAAe,CAAC;AAQ3G,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD,MAAM,WAAW,oBAAoB,CAAC,KAAK,GAAG,OAAO;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,kBAAkB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,CAC9C,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACrC,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,iBAAiB,CAAC;IACzB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,uDAAuD;IACvD,aAAa,CAAC,EAAE,CACd,QAAQ,EAAE,oBAAoB,GAAG,IAAI,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,KAChE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAyCD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA2EzB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAanB"}
|
package/dist/webhooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { decodeBody, readHeader, toResponse
|
|
1
|
+
import { decodeBody, readHeader, toResponse } from "./delivery.js";
|
|
2
2
|
import { MAX_TIMESTAMP_SKEW_SECONDS, verifyQueekSignature, WEBHOOK_ID_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, } from "./signatures.js";
|
|
3
3
|
/**
|
|
4
4
|
* Framework-agnostic receiver for Queek topic deliveries
|
package/dist/webhooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usequeek/app-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SDK for Queek installable apps: webhook signature verification, install handlers, typed Merchant API client, webhook dispatch, encrypted installation store.",
|
|
@@ -26,18 +26,21 @@
|
|
|
26
26
|
"./hono": {
|
|
27
27
|
"types": "./dist/hono.d.ts",
|
|
28
28
|
"default": "./dist/hono.js"
|
|
29
|
+
},
|
|
30
|
+
"./react": {
|
|
31
|
+
"types": "./dist/react.d.ts",
|
|
32
|
+
"default": "./dist/react.js"
|
|
29
33
|
}
|
|
30
34
|
},
|
|
31
35
|
"files": [
|
|
32
36
|
"dist",
|
|
33
|
-
"openapi/merchant.json",
|
|
34
37
|
"README.md",
|
|
35
|
-
"LICENSE"
|
|
36
|
-
"CHANGELOG.md"
|
|
38
|
+
"LICENSE"
|
|
37
39
|
],
|
|
38
40
|
"scripts": {
|
|
39
41
|
"build": "tsc -p tsconfig.json",
|
|
40
42
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
43
|
+
"typecheck:tests": "tsc --noEmit -p tsconfig.tests.json",
|
|
41
44
|
"lint": "biome check .",
|
|
42
45
|
"test": "vitest run",
|
|
43
46
|
"verify-package": "node scripts/verify-package.mjs",
|
|
@@ -46,19 +49,28 @@
|
|
|
46
49
|
"check:publish": "node scripts/check-publish.mjs"
|
|
47
50
|
},
|
|
48
51
|
"peerDependencies": {
|
|
49
|
-
"hono": "^4"
|
|
52
|
+
"hono": "^4",
|
|
53
|
+
"react": "^18 || ^19"
|
|
50
54
|
},
|
|
51
55
|
"peerDependenciesMeta": {
|
|
52
56
|
"hono": {
|
|
53
57
|
"optional": true
|
|
58
|
+
},
|
|
59
|
+
"react": {
|
|
60
|
+
"optional": true
|
|
54
61
|
}
|
|
55
62
|
},
|
|
56
63
|
"devDependencies": {
|
|
57
64
|
"@biomejs/biome": "2.5.14",
|
|
58
65
|
"@types/node": "22.20.4",
|
|
59
66
|
"@types/pg": "^8.23.1",
|
|
67
|
+
"@types/react": "^19.3.0",
|
|
68
|
+
"@types/react-dom": "^19.3.0",
|
|
60
69
|
"hono": "4.13.9",
|
|
70
|
+
"jsdom": "^28.1.0",
|
|
61
71
|
"openapi-typescript": "7.13.0",
|
|
72
|
+
"react": "^19.3.0",
|
|
73
|
+
"react-dom": "^19.3.0",
|
|
62
74
|
"typescript": "5.9.3",
|
|
63
75
|
"vitest": "3.2.4"
|
|
64
76
|
},
|
package/CHANGELOG.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to `@usequeek/app-sdk` are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
4
|
-
|
|
5
|
-
## [0.5.0] - 2026-09-29
|
|
6
|
-
|
|
7
|
-
Framework-agnostic core: the install handoff and webhook receivers no longer require Hono.
|
|
8
|
-
|
|
9
|
-
### Changed
|
|
10
|
-
|
|
11
|
-
- **BREAKING:** `createInstallHandlers` and `createWebhookHandler` moved from the package root to
|
|
12
|
-
the `@usequeek/app-sdk/hono` subpath (thin wrappers over the new core — same options objects,
|
|
13
|
-
same behaviour, same errors/status codes). Migration:
|
|
14
|
-
`import { createInstallHandlers } from "@usequeek/app-sdk/hono"`. `hono` is now an optional
|
|
15
|
-
peer (`peerDependenciesMeta: { hono: { optional: true } }`), so non-Hono apps install zero
|
|
16
|
-
framework code. `./server` keeps working as today.
|
|
17
|
-
- The root entry is framework-free in three thin layers, each a wrapper over the one below:
|
|
18
|
-
layer 1 `handleInstallDelivery(input, options)` / `handleWebhookDelivery(input, options)` take
|
|
19
|
-
untouched body bytes + headers (`Record` or `Headers`, case-insensitive, array-tolerant) plus
|
|
20
|
-
method/path where the install endpoints genuinely need them, and return plain
|
|
21
|
-
`{ status, body }` — zero request/response types, so whatever request object each framework
|
|
22
|
-
supports works; layer 2 `handleInstallRequest` / `handleWebhookRequest` adapt the Web-standard
|
|
23
|
-
`Request` → `Response` onto layer 1; layer 3 `@usequeek/app-sdk/hono` adapts Hono onto layer 2.
|
|
24
|
-
|
|
25
|
-
### Added
|
|
26
|
-
|
|
27
|
-
- `delivery.ts`: `CoreDelivery` / `InstallDelivery` / `DeliveryResult` / `CoreHeaders` plus
|
|
28
|
-
`readHeader`, `decodeBody`, `toResponse`.
|
|
29
|
-
- `hono.ts` behind the `./hono` export: the Hono wrappers.
|
|
30
|
-
- `scripts/verify-package.mjs` now proves the split in two sandboxes: the root entry plus
|
|
31
|
-
`./server` work with NO `hono` installed and NO framework at all (layer 1 is called directly
|
|
32
|
-
with a `Buffer` + plain headers; importing `/hono` there fails — the proof the root carries
|
|
33
|
-
zero framework imports), while `/hono` works with it.
|
|
34
|
-
|
|
35
|
-
## [0.2.0] - 2026-09-25
|
|
36
|
-
|
|
37
|
-
GitHub-style app credentials (slice S1 of `app-credentials-and-databases`, built against the
|
|
38
|
-
`/api/v1/apps` wire contract in parallel with the backend B1/B2 — the backend is not deployed yet).
|
|
39
|
-
|
|
40
|
-
### Changed
|
|
41
|
-
|
|
42
|
-
- **BREAKING:** the install handoff no longer carries a store-callable `api_key`, and the store
|
|
43
|
-
no longer has an `api_key_enc` column. Installations cache one minted token instead
|
|
44
|
-
(`token_enc` + `token_expires_at` + `token_kid`); opening a 0.1.x SQLite database migrates it
|
|
45
|
-
(legacy key ciphertext is discarded — minted tokens replace it).
|
|
46
|
-
- `InstallationRecord` carries the cached token (`token`/`tokenExpiresAt`/`tokenKid`, memory-only
|
|
47
|
-
plaintext) plus the persisted 409-pending mark (`pending`); `InstallationStore` gains
|
|
48
|
-
`listInstallations()`, `clearCachedToken()`, `clearAllCachedTokens()`,
|
|
49
|
-
`markInstallationPending()` / `clearInstallationPending()` / `isKnownPending()`.
|
|
50
|
-
Opening a v1 database migrates it (schema v2: `pending` column, backfilled false;
|
|
51
|
-
Postgres `schema_version` guard converges to exactly one row at version 2).
|
|
52
|
-
- The default install handler merges a redelivered install envelope for an existing installation
|
|
53
|
-
idempotently (resync path): secret + settings refresh, `installedAt` and the cached token kept.
|
|
54
|
-
- The logger additionally redacts bare RS256 JWTs and PEM private-key blocks.
|
|
55
|
-
- `.env.example` files document `APP_KEY_ID` + `APP_PRIVATE_KEY`.
|
|
56
|
-
|
|
57
|
-
### Added
|
|
58
|
-
|
|
59
|
-
- `app-auth.ts`: `loadAppCredential` (`APP_SLUG`/`APP_KEY_ID`/`APP_PRIVATE_KEY`, RSA PEM validated
|
|
60
|
-
at boot), `signAppJwt` (RS256 via `node:crypto` only, `iat` now − 60 s, `exp` window 540 s,
|
|
61
|
-
`kid` header), and the wire-contract error codes in exactly one place (`INVALID_CLIENT_CODE`,
|
|
62
|
-
`APP_TOKEN_REVOKED_CODE` (confirmed: `ApiError::APP_TOKEN_REVOKED`, also returned when the app is
|
|
63
|
-
disabled), `APP_INSTALLATION_GONE_CODE`, `APP_INSTALLATION_PENDING_CODE`, `RESYNC_COOLDOWN_CODE`,
|
|
64
|
-
`TOO_MANY_REQUESTS_CODE`).
|
|
65
|
-
- `tokens.ts`: `createAppTokenProvider` (`acquireToken` with 5-minute validity skew, in-process
|
|
66
|
-
single-flight per installation, exact contract error mapping: `invalid_client` halts, kill-switch
|
|
67
|
-
403 drops all tokens and halts, `app_installation_gone` purges, 429 + jitter, bounded 5xx
|
|
68
|
-
backoff) and `createInstallationClient` (every call through `acquireToken`; merchant re-mint
|
|
69
|
-
only on token refusals — any 401 or 403 `api_key_revoked`/`api_key_expired`/`invalid_client_key`
|
|
70
|
-
→ drop, re-mint once, retry once; merchant 403 `app_token_revoked` → drop all + halt; every
|
|
71
|
-
other 403 propagates without a mint).
|
|
72
|
-
|
|
73
|
-
### Fixed
|
|
74
|
-
|
|
75
|
-
- Merchant 403s that are NOT token refusals (e.g. `insufficient_scope`, plan, mode) no longer
|
|
76
|
-
burn a mint per call: they propagate to the caller untouched (rev 7 review). `AppTokens` gains
|
|
77
|
-
`revokeAppAccess()` for the merchant-observed kill switch.
|
|
78
|
-
- Mint/resync 409 `app_installation_pending` (rev 8 review): retry later with backoff
|
|
79
|
-
(bounded), NEVER purge, NEVER halt. The installation carries a persisted pending mark
|
|
80
|
-
(B2 review r2: `pending` column on the installation row, schema v2 — survives restarts;
|
|
81
|
-
`markInstallationPending` / `isKnownPending` / `clearInstallationPending` on both the
|
|
82
|
-
stores and `AppTokenProvider`, which delegates); a 409 with any other code propagates
|
|
83
|
-
untouched.
|
|
84
|
-
- Resync 404 `app_installation_gone` purges just that installation and the run continues
|
|
85
|
-
(backend re-checks status on resync per B2 review r2 — an uninstall landing between
|
|
86
|
-
authorize and resync 404s here); the row's deletion drops its pending mark with it.
|
|
87
|
-
- Resync 429s are distinguished by code (rev 8): 429 `resync_cooldown` is the ≤1/hour
|
|
88
|
-
rotation cooldown (skipped + recorded in `cooldownSkipped`, never retried); any other 429
|
|
89
|
-
is the per-app bucket (`too_many_requests`: `Retry-After` + jitter, bounded retries,
|
|
90
|
-
then the run aborts — never recorded as a cooldown skip). `ResyncResult` gains
|
|
91
|
-
`pendingSkipped` for installations still pending after the retry budget.
|
|
92
|
-
- Resync purge-absent keeps locally pending rows (rev 8): `GET installations` lists active
|
|
93
|
-
installations only, so absence never purges an installation the app knows (via a 409 on
|
|
94
|
-
mint or resync) is pending. The list cursor is treated as opaque keyset throughout —
|
|
95
|
-
followed until `next_cursor` is null, never interpreted.
|
|
96
|
-
- `resync.ts`: `resyncFromQueek` (active-only list over an opaque keyset cursor →
|
|
97
|
-
per-installation resync with pending-retry/skip + cooldown-skip vs throttle-retry →
|
|
98
|
-
drop cached tokens → purge absent except known-pending; connectivity scope only).
|
|
99
|
-
- `store.ts`: `PostgresInstallationStore` (`pg`, pool max 2, advisory-locked schema +
|
|
100
|
-
`schema_version` row), `createInstallationStore` (`DATABASE_URL` → Postgres, else SQLite —
|
|
101
|
-
refused in production), AES-GCM envelope unchanged.
|
|
102
|
-
- `background.ts`: `runInstallationCatchup` (uniform 0–600 s start jitter, per-install error
|
|
103
|
-
isolation, concurrency ≤ pool size, honors 429 once per installation).
|
|
104
|
-
- CI runs the Postgres suite via a `postgres:16` service container (`DATABASE_URL` always set);
|
|
105
|
-
without `DATABASE_URL` those tests skip cleanly.
|
|
106
|
-
- Vitest suites against a local fake Queek server (JWT-verifying mint, opaque-cursor list, resync,
|
|
107
|
-
merchant refusals): cache-hit/expiry/single-flight/two-container minting, every contract error,
|
|
108
|
-
wipe → resync → connectivity, cooldown skip vs throttle retry, pending mint/resync retry + skip,
|
|
109
|
-
purge-absent (including pending-kept), resync-404 purges one installation without aborting,
|
|
110
|
-
persisted pending marks (v1→v2 migration + restart simulation on both stores),
|
|
111
|
-
production-refuses-SQLite.
|
|
112
|
-
|
|
113
|
-
## [0.3.0] - 2026-09-25
|
|
114
|
-
|
|
115
|
-
One shared Postgres pool per app process (the apps' own tables now live beside the SDK's tables in the same per-app database).
|
|
116
|
-
|
|
117
|
-
### Added
|
|
118
|
-
|
|
119
|
-
- `store.ts`: `createPostgresPool(connectionString, max)` — builds one `pg` Pool with the idle-client error guard for a process to share between its installation store and its app store. `PostgresInstallationStore` and `createInstallationStore` accept an optional shared `pool` (a provided pool wins over `DATABASE_URL`; `close()` never ends a pool the store does not own). `PostgresStoreOptions.connectionString` is now optional when `pool` is given.
|
|
120
|
-
|
|
121
|
-
## [0.4.0] - 2026-09-28
|
|
122
|
-
|
|
123
|
-
Standalone release: `@usequeek/app-sdk` ships from its own repo (`usequeek/app-sdk`).
|
|
124
|
-
|
|
125
|
-
### Added
|
|
126
|
-
|
|
127
|
-
- Session verifier as a server-only export (`@usequeek/app-sdk/server`): `verifySessionToken` — HS256 dashboard session tokens minted per installation (`embsec_…` secret, 20 s clock tolerance, slug audience + api_base issuer, full installation binding). The secret never enters a browser bundle: the main entry does not export the verifier. `sessionTokenInstallationId` reads the token's `installation_id` as an unverified routing hint.
|
|
128
|
-
- Frame bridge (`frame.ts`, browser-safe, no secret): `listenToDashboard` (accepts only the exact dashboard origin) and `sendReady` (exact target origin, never `"*"`).
|
|
129
|
-
- Resync handoff accepted on both `/install` and `/settings` (`type: app/resync`): the install-shaped data plus the resync-only `secret_rotated` flag merges via `saveResyncedInstallation` (secrets/settings/scopes refresh, `installedAt` and the cached token kept).
|
|
130
|
-
- Install handoff carries `app_id` + `embed_secret`: the app's own id (exactly as the session token signs it) and the installation's `embsec_…` embed secret, handed over on install/resync and kept on the installation record (`embedSecret` encrypted, `appId`).
|
|
131
|
-
|
|
132
|
-
### Changed
|
|
133
|
-
|
|
134
|
-
- Merchant snapshot refreshed from production (line-properties PATCH, `storefront.domains`, `app_id`, no list `meta.currency`): regenerated types from the live Merchant API contract (decision 2026-09-24-one-public-product-object) — the product list + retrieve now return the one public `ProductResource`, the same object as `products/*` webhooks (`id` = int p_id, `uid` = UUID, plus `url`, `storefront_price`, `storefront_compare_at_price`, `primary_image_url`, `variants[]` with integer `id` = variant p_id, `images[]`; no cost/wholesale/discount internals).
|
|
135
|
-
- Installation-bound app writes for the S3a contract (queek_backend@c1fa1c31; snapshot intentionally ahead of production — see `openapi/merchant.drift.json`, re-check after the S3a deploy): `setSetupNotice` (PUT app/setup, full-sheet write), `sendAlert` (POST app/alerts, severity/title/message plus optional dedupe key), `collectedDefinitions.list/create/update` (the calling installation's own collected types), and `createRecord` (POST records with a fresh Idempotency-Key per submit; `values` is a `{field_key: value}` object per the backend's FormsAppCollectedTest).
|
|
136
|
-
|
|
137
|
-
## [0.1.0] - 2026-09-24
|
|
138
|
-
|
|
139
|
-
First release: the kit every Queek app is built from.
|
|
140
|
-
|
|
141
|
-
### Added
|
|
142
|
-
|
|
143
|
-
- Standard Webhooks signature verification (`verifyQueekSignature`) with timestamp-skew enforcement.
|
|
144
|
-
- Hono install/uninstall/settings handlers (`createInstallHandlers`) with encrypted persistence defaults.
|
|
145
|
-
- Typed Merchant API client (`createQueekClient`): `X-Client-Key` auth, `Idempotency-Key` on writes, typed errors, 429 retry helpers. Types generated from the committed `openapi/merchant.json` snapshot.
|
|
146
|
-
- Topic webhook dispatch (`createWebhookHandler`) with per-installation secrets and `webhook-id` dedupe.
|
|
147
|
-
- Encrypted SQLite installation store (`SqliteInstallationStore`, AES-GCM).
|
|
148
|
-
- Detached background-task helper (`detach`) with delivery-result tracking.
|
|
149
|
-
- Redacting JSON logger (`createLogger`).
|
|
150
|
-
- Dev-only `QUEEK_DEV_API_HOSTS` API-host override (refused when `NODE_ENV=production`).
|