@upstash/qstash 0.0.11 → 0.0.14

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 (71) hide show
  1. package/README.md +2 -2
  2. package/esm/_dnt.shims.js +0 -3
  3. package/esm/deps/deno.land/std@0.147.0/_wasm_crypto/lib/deno_std_wasm_crypto.generated.mjs +3159 -0
  4. package/esm/deps/deno.land/std@0.147.0/_wasm_crypto/mod.js +38 -0
  5. package/esm/deps/deno.land/std@0.147.0/crypto/_fnv/fnv32.js +24 -0
  6. package/esm/deps/deno.land/std@0.147.0/crypto/_fnv/fnv64.js +27 -0
  7. package/esm/deps/deno.land/std@0.147.0/crypto/_fnv/index.js +21 -0
  8. package/esm/deps/deno.land/std@0.147.0/crypto/_fnv/util.js +48 -0
  9. package/esm/deps/deno.land/std@0.147.0/crypto/mod.js +149 -0
  10. package/esm/deps/deno.land/{std@0.144.0 → std@0.147.0}/encoding/base64.js +0 -0
  11. package/esm/deps/deno.land/{std@0.144.0 → std@0.147.0}/encoding/base64url.js +1 -1
  12. package/esm/deps.js +1 -0
  13. package/esm/entrypoints/cloudflare.js +12 -0
  14. package/esm/entrypoints/nextjs.js +13 -5
  15. package/esm/entrypoints/nodejs.js +12 -0
  16. package/esm/pkg/client/client.js +130 -0
  17. package/esm/pkg/client/endpoints.js +63 -0
  18. package/esm/pkg/client/error.js +9 -0
  19. package/esm/pkg/client/http.js +81 -0
  20. package/esm/pkg/client/messages.js +64 -0
  21. package/esm/pkg/client/schedules.js +41 -0
  22. package/esm/pkg/client/topics.js +71 -0
  23. package/esm/pkg/client/types.js +1 -0
  24. package/esm/{consumer.js → pkg/consumer.js} +16 -8
  25. package/package.json +29 -11
  26. package/script/_dnt.shims.js +1 -5
  27. package/script/deps/deno.land/std@0.147.0/_wasm_crypto/lib/deno_std_wasm_crypto.generated.mjs +3167 -0
  28. package/script/deps/deno.land/std@0.147.0/_wasm_crypto/mod.js +43 -0
  29. package/script/deps/deno.land/std@0.147.0/crypto/_fnv/fnv32.js +29 -0
  30. package/script/deps/deno.land/std@0.147.0/crypto/_fnv/fnv64.js +32 -0
  31. package/script/deps/deno.land/std@0.147.0/crypto/_fnv/index.js +25 -0
  32. package/script/deps/deno.land/std@0.147.0/crypto/_fnv/util.js +54 -0
  33. package/script/deps/deno.land/std@0.147.0/crypto/mod.js +175 -0
  34. package/script/deps/deno.land/{std@0.144.0 → std@0.147.0}/encoding/base64.js +0 -0
  35. package/script/deps/deno.land/{std@0.144.0 → std@0.147.0}/encoding/base64url.js +1 -2
  36. package/script/deps.js +27 -0
  37. package/script/entrypoints/cloudflare.js +42 -0
  38. package/script/entrypoints/nextjs.js +36 -5
  39. package/script/entrypoints/nodejs.js +42 -0
  40. package/script/pkg/client/client.js +134 -0
  41. package/script/pkg/client/endpoints.js +67 -0
  42. package/script/pkg/client/error.js +13 -0
  43. package/script/pkg/client/http.js +85 -0
  44. package/script/pkg/client/messages.js +68 -0
  45. package/script/pkg/client/schedules.js +45 -0
  46. package/script/pkg/client/topics.js +75 -0
  47. package/script/pkg/client/types.js +2 -0
  48. package/script/{consumer.js → pkg/consumer.js} +16 -31
  49. package/types/_dnt.shims.d.ts +1 -4
  50. package/types/deps/deno.land/std@0.147.0/_wasm_crypto/lib/deno_std_wasm_crypto.generated.d.mts +125 -0
  51. package/types/deps/deno.land/std@0.147.0/_wasm_crypto/mod.d.ts +12 -0
  52. package/types/deps/deno.land/std@0.147.0/crypto/_fnv/fnv32.d.ts +2 -0
  53. package/types/deps/deno.land/std@0.147.0/crypto/_fnv/fnv64.d.ts +2 -0
  54. package/types/deps/deno.land/std@0.147.0/crypto/_fnv/index.d.ts +1 -0
  55. package/types/deps/deno.land/std@0.147.0/crypto/_fnv/util.d.ts +13 -0
  56. package/types/deps/deno.land/std@0.147.0/crypto/mod.d.ts +53 -0
  57. package/types/deps/deno.land/{std@0.144.0 → std@0.147.0}/encoding/base64.d.ts +0 -0
  58. package/types/deps/deno.land/{std@0.144.0 → std@0.147.0}/encoding/base64url.d.ts +0 -1
  59. package/types/deps.d.ts +1 -0
  60. package/types/entrypoints/cloudflare.d.ts +5 -0
  61. package/types/entrypoints/nextjs.d.ts +6 -0
  62. package/types/entrypoints/nodejs.d.ts +5 -0
  63. package/types/pkg/client/client.d.ts +193 -0
  64. package/types/pkg/client/endpoints.d.ts +59 -0
  65. package/types/pkg/client/error.d.ts +6 -0
  66. package/types/pkg/client/http.d.ts +66 -0
  67. package/types/pkg/client/messages.d.ts +66 -0
  68. package/types/pkg/client/schedules.d.ts +63 -0
  69. package/types/pkg/client/topics.d.ts +64 -0
  70. package/types/pkg/client/types.d.ts +20 -0
  71. package/types/{consumer.d.ts → pkg/consumer.d.ts} +14 -1
@@ -0,0 +1,63 @@
1
+ import { Requester } from "./http.js";
2
+ import type { Log, Task } from "./types.js";
3
+ export declare type GetScheduleRequest = {
4
+ id: string;
5
+ };
6
+ export declare type DeleteScheduleRequest = {
7
+ id: string;
8
+ };
9
+ export declare type Schedule = {
10
+ scheduled: string;
11
+ cron: string;
12
+ createdAt: number;
13
+ content: {
14
+ header: Record<string, string[]>;
15
+ body: string;
16
+ };
17
+ destination: {
18
+ type: "topic";
19
+ topicId: string;
20
+ url?: never;
21
+ } | {
22
+ type: "url";
23
+ topicd?: never;
24
+ url: string;
25
+ };
26
+ settings: {
27
+ deadline?: number;
28
+ notBefore?: number;
29
+ retries?: number;
30
+ };
31
+ };
32
+ export declare type ListLogsRequest = {
33
+ id: string;
34
+ cursor?: number;
35
+ };
36
+ export declare type ListLogsResponse = {
37
+ cursor?: number;
38
+ logs: Log[];
39
+ };
40
+ export declare type ListTasksRequest = {
41
+ id: string;
42
+ cursor?: number;
43
+ };
44
+ export declare type ListTasksResponse = {
45
+ cursor?: number;
46
+ logs: Task[];
47
+ };
48
+ export declare class Schedules {
49
+ private readonly http;
50
+ constructor(http: Requester);
51
+ /**
52
+ * Get a schedule
53
+ */
54
+ get(req: GetScheduleRequest): Promise<Schedule>;
55
+ /**
56
+ * List your schedules
57
+ */
58
+ list(): Promise<Schedule[]>;
59
+ /**
60
+ * Delete a schedule
61
+ */
62
+ delete(req: DeleteScheduleRequest): Promise<void>;
63
+ }
@@ -0,0 +1,64 @@
1
+ import { Requester } from "./http.js";
2
+ export declare type CreateTopicRequest = {
3
+ /**
4
+ * The name of the topic.
5
+ * Must be unique and only contain alphanumeric, hyphen, underscore and periods.
6
+ */
7
+ name: string;
8
+ };
9
+ export declare type GetTopicRequest = {
10
+ name: string;
11
+ id?: never;
12
+ } | {
13
+ id: string;
14
+ name?: never;
15
+ };
16
+ export declare type UpdateTopicRequest = {
17
+ id: string;
18
+ name?: string;
19
+ };
20
+ export declare type DeleteTopicRequest = {
21
+ name: string;
22
+ id?: never;
23
+ } | {
24
+ id: string;
25
+ name?: never;
26
+ };
27
+ export declare type Topic = {
28
+ /**
29
+ * id for this topic
30
+ */
31
+ id: string;
32
+ /**
33
+ * The name of this topic.
34
+ */
35
+ name: string;
36
+ /**
37
+ * A list of all subscribed endpoints
38
+ */
39
+ endpointIds: string[];
40
+ };
41
+ export declare class Topics {
42
+ private readonly http;
43
+ constructor(http: Requester);
44
+ /**
45
+ * Create a new topic with the given name.
46
+ */
47
+ create(req: CreateTopicRequest): Promise<Topic>;
48
+ /**
49
+ * Get a list of all topics.
50
+ */
51
+ list(): Promise<Topic[]>;
52
+ /**
53
+ * Get a single topic by name or id.
54
+ */
55
+ get(req: GetTopicRequest): Promise<Topic>;
56
+ /**
57
+ * Update a topic
58
+ */
59
+ update(req: UpdateTopicRequest): Promise<Topic>;
60
+ /**
61
+ * Delete a topic by name or id.
62
+ */
63
+ delete(req: DeleteTopicRequest): Promise<void>;
64
+ }
@@ -0,0 +1,20 @@
1
+ export declare type State = "created" | "planned" | "active" | "delivered" | "error" | "failed" | "canceled";
2
+ export declare type Log = {
3
+ time: number;
4
+ state: State;
5
+ messageId: string;
6
+ taskId?: string;
7
+ nextScheduledAt?: number;
8
+ error?: string;
9
+ };
10
+ export declare type WithCursor<T> = T & {
11
+ cursor?: number;
12
+ };
13
+ export declare type Task = {
14
+ taskId: string;
15
+ state: State;
16
+ maxRetry: number;
17
+ retried: number;
18
+ completedAt?: number;
19
+ url: string;
20
+ };
@@ -1,6 +1,18 @@
1
+ import { crypto } from "../deps/deno.land/std@0.147.0/crypto/mod.js";
2
+ export declare type SubtleCrypto = typeof crypto.subtle;
3
+ /**
4
+ * Necessary to verify the signature of a request.
5
+ */
1
6
  export declare type ConsumerConfig = {
7
+ /**
8
+ * The current signing key. Get it from `https://console.upstash.com/qstash
9
+ */
2
10
  currentSigningKey: string;
11
+ /**
12
+ * The next signing key. Get it from `https://console.upstash.com/qstash
13
+ */
3
14
  nextSigningKey: string;
15
+ subtleCrypto: SubtleCrypto;
4
16
  };
5
17
  export declare type VerifyRequest = {
6
18
  /**
@@ -10,7 +22,7 @@ export declare type VerifyRequest = {
10
22
  /**
11
23
  * The raw request body.
12
24
  */
13
- body: string;
25
+ body: string | Uint8Array;
14
26
  /**
15
27
  * URL of the endpoint where the request was sent to.
16
28
  */
@@ -25,6 +37,7 @@ export declare class SignatureError extends Error {
25
37
  export declare class Consumer {
26
38
  private readonly currentSigningKey;
27
39
  private readonly nextSigningKey;
40
+ private readonly subtleCrypto;
28
41
  constructor(config: ConsumerConfig);
29
42
  /**
30
43
  * Verify the signature of a request.