@tthr/server 0.0.1 → 0.0.2
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/dist/index.d.ts +57 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -5,13 +5,46 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { z, type ZodType } from 'zod';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Authentication context
|
|
9
|
+
*/
|
|
10
|
+
export interface AuthContext {
|
|
11
|
+
userId: string | null;
|
|
12
|
+
claims: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Execution context passed to query and mutation handlers
|
|
9
16
|
*/
|
|
10
17
|
export interface ExecutionContext {
|
|
11
|
-
auth:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
18
|
+
auth: AuthContext;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Tether context for actions - provides access to queries, mutations, and env vars
|
|
22
|
+
*/
|
|
23
|
+
export interface TetherContext {
|
|
24
|
+
/**
|
|
25
|
+
* Call a query function
|
|
26
|
+
* @param name - Function name (e.g., 'todos.list' or 'orders.get')
|
|
27
|
+
* @param args - Arguments to pass to the query
|
|
28
|
+
*/
|
|
29
|
+
query: <T = unknown>(name: string, args?: unknown) => Promise<T>;
|
|
30
|
+
/**
|
|
31
|
+
* Call a mutation function
|
|
32
|
+
* @param name - Function name (e.g., 'todos.create' or 'orders.update')
|
|
33
|
+
* @param args - Arguments to pass to the mutation
|
|
34
|
+
*/
|
|
35
|
+
mutation: <T = unknown>(name: string, args?: unknown) => Promise<T>;
|
|
36
|
+
/**
|
|
37
|
+
* Access environment variables configured in the dashboard
|
|
38
|
+
* Values are decrypted at runtime
|
|
39
|
+
*/
|
|
40
|
+
env: Record<string, string | undefined>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Action execution context - includes auth and tether helpers
|
|
44
|
+
*/
|
|
45
|
+
export interface ActionContext {
|
|
46
|
+
auth: AuthContext;
|
|
47
|
+
tether: TetherContext;
|
|
15
48
|
}
|
|
16
49
|
/**
|
|
17
50
|
* Query function definition
|
|
@@ -32,7 +65,7 @@ export interface MutationDefinition<TArgs, TResult> {
|
|
|
32
65
|
*/
|
|
33
66
|
export interface ActionDefinition<TArgs, TResult> {
|
|
34
67
|
args?: ZodType<TArgs>;
|
|
35
|
-
handler: (args: TArgs, ctx:
|
|
68
|
+
handler: (args: TArgs, ctx: ActionContext) => Promise<TResult> | TResult;
|
|
36
69
|
}
|
|
37
70
|
/**
|
|
38
71
|
* Define a query function
|
|
@@ -79,19 +112,29 @@ export declare function mutation<TArgs = void, TResult = unknown>(definition: Mu
|
|
|
79
112
|
* Define an action function
|
|
80
113
|
*
|
|
81
114
|
* Actions are for side effects like HTTP calls or sending emails.
|
|
82
|
-
* They
|
|
115
|
+
* They can call queries and mutations via the tether context, and
|
|
116
|
+
* access environment variables via tether.env.
|
|
83
117
|
*
|
|
84
118
|
* @example
|
|
85
119
|
* ```ts
|
|
86
|
-
* export const
|
|
120
|
+
* export const checkout = action({
|
|
87
121
|
* args: z.object({
|
|
88
|
-
*
|
|
89
|
-
* subject: z.string(),
|
|
90
|
-
* body: z.string(),
|
|
122
|
+
* orderId: z.string(),
|
|
91
123
|
* }),
|
|
92
|
-
* handler: async ({
|
|
93
|
-
*
|
|
94
|
-
*
|
|
124
|
+
* handler: async ({ orderId }, { tether }) => {
|
|
125
|
+
* // Call a query
|
|
126
|
+
* const order = await tether.query('orders.get', { id: orderId });
|
|
127
|
+
*
|
|
128
|
+
* // Use environment variables
|
|
129
|
+
* const response = await fetch('https://api.stripe.com/v1/charges', {
|
|
130
|
+
* headers: { Authorization: `Bearer ${tether.env.STRIPE_SECRET_KEY}` },
|
|
131
|
+
* // ...
|
|
132
|
+
* });
|
|
133
|
+
*
|
|
134
|
+
* // Call a mutation
|
|
135
|
+
* await tether.mutation('orders.update', { id: orderId, status: 'paid' });
|
|
136
|
+
*
|
|
137
|
+
* return { success: true };
|
|
95
138
|
* },
|
|
96
139
|
* });
|
|
97
140
|
* ```
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -58,19 +58,29 @@ export function mutation(definition) {
|
|
|
58
58
|
* Define an action function
|
|
59
59
|
*
|
|
60
60
|
* Actions are for side effects like HTTP calls or sending emails.
|
|
61
|
-
* They
|
|
61
|
+
* They can call queries and mutations via the tether context, and
|
|
62
|
+
* access environment variables via tether.env.
|
|
62
63
|
*
|
|
63
64
|
* @example
|
|
64
65
|
* ```ts
|
|
65
|
-
* export const
|
|
66
|
+
* export const checkout = action({
|
|
66
67
|
* args: z.object({
|
|
67
|
-
*
|
|
68
|
-
* subject: z.string(),
|
|
69
|
-
* body: z.string(),
|
|
68
|
+
* orderId: z.string(),
|
|
70
69
|
* }),
|
|
71
|
-
* handler: async ({
|
|
72
|
-
*
|
|
73
|
-
*
|
|
70
|
+
* handler: async ({ orderId }, { tether }) => {
|
|
71
|
+
* // Call a query
|
|
72
|
+
* const order = await tether.query('orders.get', { id: orderId });
|
|
73
|
+
*
|
|
74
|
+
* // Use environment variables
|
|
75
|
+
* const response = await fetch('https://api.stripe.com/v1/charges', {
|
|
76
|
+
* headers: { Authorization: `Bearer ${tether.env.STRIPE_SECRET_KEY}` },
|
|
77
|
+
* // ...
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* // Call a mutation
|
|
81
|
+
* await tether.mutation('orders.update', { id: orderId, status: 'paid' });
|
|
82
|
+
*
|
|
83
|
+
* return { success: true };
|
|
74
84
|
* },
|
|
75
85
|
* });
|
|
76
86
|
* ```
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAgB,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|