@tailor-platform/create-sdk 2.0.0-next.1 → 2.0.0-next.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/CHANGELOG.md +94 -0
- package/package.json +8 -7
- package/templates/executor/.oxlintrc.json +1 -1
- package/templates/executor/__dot__gitignore +1 -1
- package/templates/executor/package.json +9 -8
- package/templates/executor/src/generated/db.ts +3 -3
- package/templates/executor/tailor.d.ts +4 -2
- package/templates/generators/.oxlintrc.json +1 -1
- package/templates/generators/__dot__gitignore +1 -1
- package/templates/generators/package.json +9 -8
- package/templates/generators/src/generated/db.ts +3 -3
- package/templates/generators/src/generated/files.ts +4 -4
- package/templates/generators/src/resolver/getProduct.test.ts +4 -3
- package/templates/generators/src/seed/data/Order.schema.ts +2 -2
- package/templates/generators/src/seed/data/Product.schema.ts +2 -2
- package/templates/generators/src/seed/data/User.schema.ts +2 -2
- package/templates/generators/src/seed/exec.mjs +1 -1
- package/templates/generators/tailor.d.ts +4 -2
- package/templates/hello-world/.oxlintrc.json +1 -1
- package/templates/hello-world/README.md +6 -6
- package/templates/hello-world/__dot__gitignore +1 -1
- package/templates/hello-world/package.json +8 -7
- package/templates/hello-world/src/generated/kysely-tailordb.ts +1 -1
- package/templates/hello-world/tailor.d.ts +4 -2
- package/templates/inventory-management/.oxlintrc.json +1 -1
- package/templates/inventory-management/README.md +8 -8
- package/templates/inventory-management/__dot__gitignore +1 -1
- package/templates/inventory-management/package.json +8 -7
- package/templates/inventory-management/src/executor/checkInventory.ts +1 -1
- package/templates/inventory-management/src/generated/kysely-tailordb.ts +8 -8
- package/templates/inventory-management/src/resolver/registerOrder.ts +2 -2
- package/templates/inventory-management/tailor.d.ts +4 -2
- package/templates/multi-application/.oxlintrc.json +1 -1
- package/templates/multi-application/README.md +2 -2
- package/templates/multi-application/__dot__gitignore +1 -1
- package/templates/multi-application/apps/admin/db/adminNote.ts +1 -1
- package/templates/multi-application/package.json +8 -7
- package/templates/resolver/.oxlintrc.json +1 -1
- package/templates/resolver/README.md +2 -2
- package/templates/resolver/__dot__gitignore +1 -1
- package/templates/resolver/package.json +9 -8
- package/templates/resolver/src/generated/db.ts +1 -1
- package/templates/resolver/src/resolver/add.test.ts +4 -3
- package/templates/resolver/src/resolver/incrementUserAge.test.ts +4 -3
- package/templates/resolver/src/resolver/showEnv.test.ts +2 -2
- package/templates/resolver/src/resolver/showUserInfo.test.ts +12 -9
- package/templates/resolver/src/resolver/showUserInfo.ts +3 -3
- package/templates/resolver/src/resolver/upsertUsers.test.ts +2 -2
- package/templates/resolver/tailor.d.ts +4 -2
- package/templates/static-web-site/.oxlintrc.json +1 -1
- package/templates/static-web-site/__dot__gitignore +1 -1
- package/templates/static-web-site/package.json +8 -7
- package/templates/static-web-site/tailor.d.ts +4 -2
- package/templates/tailordb/.oxlintrc.json +1 -1
- package/templates/tailordb/__dot__gitignore +1 -1
- package/templates/tailordb/package.json +9 -8
- package/templates/tailordb/src/generated/db.ts +3 -3
- package/templates/tailordb/tailor.d.ts +4 -2
- package/templates/workflow/.oxlintrc.json +1 -1
- package/templates/workflow/__dot__gitignore +1 -1
- package/templates/workflow/e2e/globalSetup.ts +1 -1
- package/templates/workflow/e2e/workflow.test.ts +1 -1
- package/templates/workflow/package.json +10 -9
- package/templates/workflow/src/generated/db.ts +2 -2
- package/templates/workflow/src/resolver/resolveApproval.test.ts +4 -3
- package/templates/workflow/src/workflow/approval.test.ts +8 -2
- package/templates/workflow/src/workflow/approval.ts +2 -2
- package/templates/workflow/src/workflow/order-fulfillment.test.ts +20 -8
- package/templates/workflow/tailor.d.ts +4 -2
|
@@ -18,7 +18,7 @@ export interface Namespace {
|
|
|
18
18
|
name: string;
|
|
19
19
|
description: string | null;
|
|
20
20
|
createdAt: Generated<Timestamp>;
|
|
21
|
-
updatedAt: Timestamp
|
|
21
|
+
updatedAt: Generated<Timestamp>;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
Contact: {
|
|
@@ -28,7 +28,7 @@ export interface Namespace {
|
|
|
28
28
|
phone: string | null;
|
|
29
29
|
address: string | null;
|
|
30
30
|
createdAt: Generated<Timestamp>;
|
|
31
|
-
updatedAt: Timestamp
|
|
31
|
+
updatedAt: Generated<Timestamp>;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
Inventory: {
|
|
@@ -36,14 +36,14 @@ export interface Namespace {
|
|
|
36
36
|
productId: string;
|
|
37
37
|
quantity: number;
|
|
38
38
|
createdAt: Generated<Timestamp>;
|
|
39
|
-
updatedAt: Timestamp
|
|
39
|
+
updatedAt: Generated<Timestamp>;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
Notification: {
|
|
43
43
|
id: Generated<string>;
|
|
44
44
|
message: string;
|
|
45
45
|
createdAt: Generated<Timestamp>;
|
|
46
|
-
updatedAt: Timestamp
|
|
46
|
+
updatedAt: Generated<Timestamp>;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
Order: {
|
|
@@ -54,7 +54,7 @@ export interface Namespace {
|
|
|
54
54
|
orderType: "PURCHASE" | "SALES";
|
|
55
55
|
contactId: string;
|
|
56
56
|
createdAt: Generated<Timestamp>;
|
|
57
|
-
updatedAt: Timestamp
|
|
57
|
+
updatedAt: Generated<Timestamp>;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
OrderItem: {
|
|
@@ -65,7 +65,7 @@ export interface Namespace {
|
|
|
65
65
|
unitPrice: number;
|
|
66
66
|
totalPrice: Generated<number | null>;
|
|
67
67
|
createdAt: Generated<Timestamp>;
|
|
68
|
-
updatedAt: Timestamp
|
|
68
|
+
updatedAt: Generated<Timestamp>;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
Product: {
|
|
@@ -74,7 +74,7 @@ export interface Namespace {
|
|
|
74
74
|
description: string | null;
|
|
75
75
|
categoryId: string;
|
|
76
76
|
createdAt: Generated<Timestamp>;
|
|
77
|
-
updatedAt: Timestamp
|
|
77
|
+
updatedAt: Generated<Timestamp>;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
User: {
|
|
@@ -83,7 +83,7 @@ export interface Namespace {
|
|
|
83
83
|
email: string;
|
|
84
84
|
role: "MANAGER" | "STAFF";
|
|
85
85
|
createdAt: Generated<Timestamp>;
|
|
86
|
-
updatedAt: Timestamp
|
|
86
|
+
updatedAt: Generated<Timestamp>;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -4,8 +4,8 @@ import { orderItem } from "../db/orderItem";
|
|
|
4
4
|
import { type DB, getDB } from "../generated/kysely-tailordb";
|
|
5
5
|
|
|
6
6
|
const input = {
|
|
7
|
-
order: t.object(order.omitFields(["id", "createdAt"])),
|
|
8
|
-
items: t.object(orderItem.omitFields(["id", "createdAt"]), { array: true }),
|
|
7
|
+
order: t.object(order.omitFields(["id", "createdAt", "updatedAt"])),
|
|
8
|
+
items: t.object(orderItem.omitFields(["id", "createdAt", "updatedAt"]), { array: true }),
|
|
9
9
|
};
|
|
10
10
|
interface Input {
|
|
11
11
|
order: t.infer<typeof input.order>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// This file is auto-generated by @tailor-platform/sdk
|
|
2
2
|
// Do not edit this file manually
|
|
3
|
-
// Regenerated automatically when running 'tailor
|
|
3
|
+
// Regenerated automatically when running 'tailor deploy' or 'tailor generate'
|
|
4
4
|
|
|
5
5
|
declare module "@tailor-platform/sdk" {
|
|
6
|
-
interface
|
|
6
|
+
interface Attributes {
|
|
7
7
|
role: "MANAGER" | "STAFF";
|
|
8
8
|
}
|
|
9
9
|
interface AttributeList {
|
|
@@ -15,6 +15,8 @@ declare module "@tailor-platform/sdk" {
|
|
|
15
15
|
staff: true;
|
|
16
16
|
}
|
|
17
17
|
interface IdpNameRegistry {}
|
|
18
|
+
interface ConnectionNameRegistry {}
|
|
19
|
+
interface AIGatewayNameRegistry {}
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
export {};
|
|
@@ -16,8 +16,8 @@ This project contains two applications: `user` and `admin`.
|
|
|
16
16
|
1. Create a new workspace:
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
npx tailor
|
|
20
|
-
npx tailor
|
|
19
|
+
npx tailor login
|
|
20
|
+
npx tailor workspace create --name <workspace-name> --region <workspace-region>
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
2. Deploy the project:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
node_modules/
|
|
2
|
-
.tailor
|
|
2
|
+
.tailor/
|
|
@@ -8,7 +8,7 @@ export const adminNote = db
|
|
|
8
8
|
.type("AdminNote", {
|
|
9
9
|
title: db.string(),
|
|
10
10
|
content: db.string(),
|
|
11
|
-
authorId: db.uuid().hooks({ create: ({
|
|
11
|
+
authorId: db.uuid().hooks({ create: ({ invoker }) => invoker?.id ?? crypto.randomUUID() }),
|
|
12
12
|
...db.fields.timestamps(),
|
|
13
13
|
})
|
|
14
14
|
// NOTE: This permits all operations for simplicity.
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "multi-application",
|
|
3
|
+
"version": "0.0.0",
|
|
3
4
|
"private": true,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"scripts": {
|
|
6
7
|
"deploy": "pnpm run deploy:user && pnpm run deploy:admin",
|
|
7
|
-
"deploy:user": "tailor
|
|
8
|
-
"deploy:admin": "tailor
|
|
8
|
+
"deploy:user": "tailor deploy -c apps/user/tailor.config.ts",
|
|
9
|
+
"deploy:admin": "tailor deploy -c apps/admin/tailor.config.ts",
|
|
9
10
|
"format": "oxfmt --write .",
|
|
10
11
|
"format:check": "oxfmt --check .",
|
|
11
12
|
"lint": "oxlint --type-aware .",
|
|
@@ -13,11 +14,11 @@
|
|
|
13
14
|
"typecheck": "tsc --noEmit"
|
|
14
15
|
},
|
|
15
16
|
"devDependencies": {
|
|
16
|
-
"@tailor-platform/sdk": "2.0.0-next.
|
|
17
|
+
"@tailor-platform/sdk": "2.0.0-next.3",
|
|
17
18
|
"@types/node": "24.13.2",
|
|
18
|
-
"oxfmt": "0.
|
|
19
|
-
"oxlint": "1.
|
|
20
|
-
"oxlint-tsgolint": "0.
|
|
21
|
-
"typescript": "
|
|
19
|
+
"oxfmt": "0.57.0",
|
|
20
|
+
"oxlint": "1.72.0",
|
|
21
|
+
"oxlint-tsgolint": "0.24.0",
|
|
22
|
+
"typescript": "6.0.3"
|
|
22
23
|
}
|
|
23
24
|
}
|
|
@@ -8,11 +8,11 @@ Demonstrates all resolver patterns with comprehensive testing approaches.
|
|
|
8
8
|
- Database query resolver (Kysely with transactions)
|
|
9
9
|
- Database mutation resolver (dependency injection pattern)
|
|
10
10
|
- Environment variable access
|
|
11
|
-
-
|
|
11
|
+
- Caller and invoker context access
|
|
12
12
|
|
|
13
13
|
## Testing Approaches
|
|
14
14
|
|
|
15
|
-
1. **Direct `body()` call** - Simple resolvers with `
|
|
15
|
+
1. **Direct `body()` call** - Simple resolvers with explicit `caller` / `invoker` context values
|
|
16
16
|
2. **`tailor-runtime` environment + `mockTailordb`** - Database resolvers via `mockTailordb` from `@tailor-platform/sdk/vitest` (no `vi.stubGlobal` needed)
|
|
17
17
|
3. **Dependency injection** - Extract `DbOperations` interface for testability
|
|
18
18
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
node_modules/
|
|
2
|
-
.tailor
|
|
2
|
+
.tailor/
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "resolver",
|
|
3
|
+
"version": "0.0.0",
|
|
3
4
|
"private": true,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"scripts": {
|
|
6
|
-
"generate": "tailor
|
|
7
|
-
"deploy": "tailor
|
|
7
|
+
"generate": "tailor generate",
|
|
8
|
+
"deploy": "tailor deploy",
|
|
8
9
|
"test": "vitest --project unit",
|
|
9
10
|
"test:unit": "vitest --project unit",
|
|
10
11
|
"format": "oxfmt --write .",
|
|
@@ -14,12 +15,12 @@
|
|
|
14
15
|
"typecheck": "tsc --noEmit"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
|
-
"@tailor-platform/sdk": "2.0.0-next.
|
|
18
|
+
"@tailor-platform/sdk": "2.0.0-next.3",
|
|
18
19
|
"@types/node": "24.13.2",
|
|
19
|
-
"oxfmt": "0.
|
|
20
|
-
"oxlint": "1.
|
|
21
|
-
"oxlint-tsgolint": "0.
|
|
22
|
-
"typescript": "
|
|
23
|
-
"vitest": "4.1.
|
|
20
|
+
"oxfmt": "0.57.0",
|
|
21
|
+
"oxlint": "1.72.0",
|
|
22
|
+
"oxlint-tsgolint": "0.24.0",
|
|
23
|
+
"typescript": "6.0.3",
|
|
24
|
+
"vitest": "4.1.9"
|
|
24
25
|
}
|
|
25
26
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { unauthenticatedTailorUser } from "@tailor-platform/sdk/test";
|
|
2
1
|
import { describe, expect, test } from "vitest";
|
|
3
2
|
import resolver from "./add";
|
|
4
3
|
|
|
@@ -6,7 +5,8 @@ describe("add resolver", () => {
|
|
|
6
5
|
test("adds two positive numbers", async () => {
|
|
7
6
|
const result = await resolver.body({
|
|
8
7
|
input: { left: 1, right: 2 },
|
|
9
|
-
|
|
8
|
+
caller: null,
|
|
9
|
+
invoker: null,
|
|
10
10
|
env: { appName: "Resolver Template", version: 1 },
|
|
11
11
|
});
|
|
12
12
|
expect(result).toBe(3);
|
|
@@ -15,7 +15,8 @@ describe("add resolver", () => {
|
|
|
15
15
|
test("handles negative numbers", async () => {
|
|
16
16
|
const result = await resolver.body({
|
|
17
17
|
input: { left: -5, right: 3 },
|
|
18
|
-
|
|
18
|
+
caller: null,
|
|
19
|
+
invoker: null,
|
|
19
20
|
env: { appName: "Resolver Template", version: 1 },
|
|
20
21
|
});
|
|
21
22
|
expect(result).toBe(-2);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { unauthenticatedTailorUser } from "@tailor-platform/sdk/test";
|
|
2
1
|
import { mockTailordb } from "@tailor-platform/sdk/vitest";
|
|
3
2
|
import { describe, expect, test } from "vitest";
|
|
4
3
|
import resolver from "./incrementUserAge";
|
|
@@ -15,7 +14,8 @@ describe("incrementUserAge resolver", () => {
|
|
|
15
14
|
|
|
16
15
|
const result = await resolver.body({
|
|
17
16
|
input: { email: "test@example.com" },
|
|
18
|
-
|
|
17
|
+
caller: null,
|
|
18
|
+
invoker: null,
|
|
19
19
|
env: { appName: "Resolver Template", version: 1 },
|
|
20
20
|
});
|
|
21
21
|
expect(result).toEqual({ oldAge: 30, newAge: 31 });
|
|
@@ -32,7 +32,8 @@ describe("incrementUserAge resolver", () => {
|
|
|
32
32
|
|
|
33
33
|
const result = resolver.body({
|
|
34
34
|
input: { email: "test@example.com" },
|
|
35
|
-
|
|
35
|
+
caller: null,
|
|
36
|
+
invoker: null,
|
|
36
37
|
env: { appName: "Resolver Template", version: 1 },
|
|
37
38
|
});
|
|
38
39
|
await expect(result).rejects.toThrowError(/no result/i);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { unauthenticatedTailorUser } from "@tailor-platform/sdk/test";
|
|
2
1
|
import { describe, expect, test } from "vitest";
|
|
3
2
|
import resolver from "./showEnv";
|
|
4
3
|
|
|
@@ -6,7 +5,8 @@ describe("showEnv resolver", () => {
|
|
|
6
5
|
test("returns environment variables", async () => {
|
|
7
6
|
const result = await resolver.body({
|
|
8
7
|
input: undefined as never,
|
|
9
|
-
|
|
8
|
+
caller: null,
|
|
9
|
+
invoker: null,
|
|
10
10
|
env: { appName: "Resolver Template", version: 1 },
|
|
11
11
|
});
|
|
12
12
|
expect(result).toEqual({ appName: "Resolver Template", version: 1 });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { TailorPrincipal } from "@tailor-platform/sdk";
|
|
2
2
|
import { describe, expect, test } from "vitest";
|
|
3
3
|
import resolver from "./showUserInfo";
|
|
4
4
|
|
|
@@ -6,26 +6,29 @@ describe("showUserInfo resolver", () => {
|
|
|
6
6
|
test("returns default user info", async () => {
|
|
7
7
|
const result = await resolver.body({
|
|
8
8
|
input: undefined as never,
|
|
9
|
-
|
|
9
|
+
caller: null,
|
|
10
|
+
invoker: null,
|
|
10
11
|
env: { appName: "Resolver Template", version: 1 },
|
|
11
12
|
});
|
|
12
13
|
expect(result).toEqual({
|
|
13
|
-
userId:
|
|
14
|
-
userType:
|
|
15
|
-
workspaceId:
|
|
14
|
+
userId: "anonymous",
|
|
15
|
+
userType: "anonymous",
|
|
16
|
+
workspaceId: "",
|
|
16
17
|
});
|
|
17
18
|
});
|
|
18
19
|
|
|
19
20
|
test("returns custom user info", async () => {
|
|
20
|
-
const
|
|
21
|
-
...unauthenticatedTailorUser,
|
|
21
|
+
const customCaller = {
|
|
22
22
|
id: "user-123",
|
|
23
23
|
type: "machine_user" as const,
|
|
24
24
|
workspaceId: "ws-456",
|
|
25
|
-
|
|
25
|
+
attributes: { role: "admin" },
|
|
26
|
+
attributeList: [],
|
|
27
|
+
} satisfies TailorPrincipal;
|
|
26
28
|
const result = await resolver.body({
|
|
27
29
|
input: undefined as never,
|
|
28
|
-
|
|
30
|
+
caller: customCaller,
|
|
31
|
+
invoker: customCaller,
|
|
29
32
|
env: { appName: "Resolver Template", version: 1 },
|
|
30
33
|
});
|
|
31
34
|
expect(result).toEqual({
|
|
@@ -6,9 +6,9 @@ const resolver = createResolver({
|
|
|
6
6
|
operation: "query",
|
|
7
7
|
body: (context) => {
|
|
8
8
|
return {
|
|
9
|
-
userId: context.
|
|
10
|
-
userType: context.
|
|
11
|
-
workspaceId: context.
|
|
9
|
+
userId: context.caller?.id ?? "anonymous",
|
|
10
|
+
userType: context.caller?.type ?? "anonymous",
|
|
11
|
+
workspaceId: context.caller?.workspaceId ?? "",
|
|
12
12
|
};
|
|
13
13
|
},
|
|
14
14
|
output: t.object({
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { unauthenticatedTailorUser } from "@tailor-platform/sdk/test";
|
|
2
1
|
import { createKyselyMock } from "@tailor-platform/sdk/vitest";
|
|
3
2
|
import { describe, expect, test, vi } from "vitest";
|
|
4
3
|
import { getDB, type Namespace } from "../generated/db";
|
|
@@ -30,7 +29,8 @@ describe("upsertUsers resolver", () => {
|
|
|
30
29
|
{ name: "Existing", email: "exists@example.com", age: 41 },
|
|
31
30
|
],
|
|
32
31
|
},
|
|
33
|
-
|
|
32
|
+
caller: null,
|
|
33
|
+
invoker: null,
|
|
34
34
|
env: { appName: "Resolver Template", version: 1 },
|
|
35
35
|
});
|
|
36
36
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// This file is auto-generated by @tailor-platform/sdk
|
|
2
2
|
// Do not edit this file manually
|
|
3
|
-
// Regenerated automatically when running 'tailor
|
|
3
|
+
// Regenerated automatically when running 'tailor deploy' or 'tailor generate'
|
|
4
4
|
|
|
5
5
|
declare module "@tailor-platform/sdk" {
|
|
6
|
-
interface
|
|
6
|
+
interface Attributes {
|
|
7
7
|
role: string;
|
|
8
8
|
}
|
|
9
9
|
interface AttributeList {
|
|
@@ -17,6 +17,8 @@ declare module "@tailor-platform/sdk" {
|
|
|
17
17
|
admin: true;
|
|
18
18
|
}
|
|
19
19
|
interface IdpNameRegistry {}
|
|
20
|
+
interface ConnectionNameRegistry {}
|
|
21
|
+
interface AIGatewayNameRegistry {}
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
node_modules/
|
|
2
|
-
.tailor
|
|
2
|
+
.tailor/
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "static-web-site",
|
|
3
|
+
"version": "0.0.0",
|
|
3
4
|
"private": true,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"scripts": {
|
|
6
|
-
"deploy": "tailor
|
|
7
|
-
"generate": "tailor
|
|
7
|
+
"deploy": "tailor deploy",
|
|
8
|
+
"generate": "tailor generate",
|
|
8
9
|
"format": "oxfmt --write .",
|
|
9
10
|
"format:check": "oxfmt --check .",
|
|
10
11
|
"lint": "oxlint --type-aware .",
|
|
@@ -12,11 +13,11 @@
|
|
|
12
13
|
"typecheck": "tsc --noEmit"
|
|
13
14
|
},
|
|
14
15
|
"devDependencies": {
|
|
15
|
-
"@tailor-platform/sdk": "2.0.0-next.
|
|
16
|
+
"@tailor-platform/sdk": "2.0.0-next.3",
|
|
16
17
|
"@types/node": "24.13.2",
|
|
17
|
-
"oxfmt": "0.
|
|
18
|
-
"oxlint": "1.
|
|
19
|
-
"oxlint-tsgolint": "0.
|
|
20
|
-
"typescript": "
|
|
18
|
+
"oxfmt": "0.57.0",
|
|
19
|
+
"oxlint": "1.72.0",
|
|
20
|
+
"oxlint-tsgolint": "0.24.0",
|
|
21
|
+
"typescript": "6.0.3"
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// This file is auto-generated by @tailor-platform/sdk
|
|
2
2
|
// Do not edit this file manually
|
|
3
|
-
// Regenerated automatically when running 'tailor
|
|
3
|
+
// Regenerated automatically when running 'tailor deploy' or 'tailor generate'
|
|
4
4
|
|
|
5
5
|
declare module "@tailor-platform/sdk" {
|
|
6
|
-
interface
|
|
6
|
+
interface Attributes {
|
|
7
7
|
role: "ADMIN" | "MEMBER";
|
|
8
8
|
}
|
|
9
9
|
interface AttributeList {
|
|
@@ -16,6 +16,8 @@ declare module "@tailor-platform/sdk" {
|
|
|
16
16
|
interface IdpNameRegistry {
|
|
17
17
|
"my-idp": true;
|
|
18
18
|
}
|
|
19
|
+
interface ConnectionNameRegistry {}
|
|
20
|
+
interface AIGatewayNameRegistry {}
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
node_modules/
|
|
2
|
-
.tailor
|
|
2
|
+
.tailor/
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tailordb",
|
|
3
|
+
"version": "0.0.0",
|
|
3
4
|
"private": true,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"scripts": {
|
|
6
|
-
"generate": "tailor
|
|
7
|
-
"deploy": "tailor
|
|
7
|
+
"generate": "tailor generate",
|
|
8
|
+
"deploy": "tailor deploy",
|
|
8
9
|
"test": "vitest --project unit",
|
|
9
10
|
"test:unit": "vitest --project unit",
|
|
10
11
|
"format": "oxfmt --write .",
|
|
@@ -14,12 +15,12 @@
|
|
|
14
15
|
"typecheck": "tsc --noEmit"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
|
-
"@tailor-platform/sdk": "2.0.0-next.
|
|
18
|
+
"@tailor-platform/sdk": "2.0.0-next.3",
|
|
18
19
|
"@types/node": "24.13.2",
|
|
19
|
-
"oxfmt": "0.
|
|
20
|
-
"oxlint": "1.
|
|
21
|
-
"oxlint-tsgolint": "0.
|
|
22
|
-
"typescript": "
|
|
23
|
-
"vitest": "4.1.
|
|
20
|
+
"oxfmt": "0.57.0",
|
|
21
|
+
"oxlint": "1.72.0",
|
|
22
|
+
"oxlint-tsgolint": "0.24.0",
|
|
23
|
+
"typescript": "6.0.3",
|
|
24
|
+
"vitest": "4.1.9"
|
|
24
25
|
}
|
|
25
26
|
}
|
|
@@ -32,7 +32,7 @@ export interface Namespace {
|
|
|
32
32
|
isInternal: boolean;
|
|
33
33
|
}>;
|
|
34
34
|
createdAt: Generated<Timestamp>;
|
|
35
|
-
updatedAt: Timestamp
|
|
35
|
+
updatedAt: Generated<Timestamp>;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
Task: {
|
|
@@ -46,7 +46,7 @@ export interface Namespace {
|
|
|
46
46
|
categoryId: string | null;
|
|
47
47
|
isArchived: Generated<boolean>;
|
|
48
48
|
createdAt: Generated<Timestamp>;
|
|
49
|
-
updatedAt: Timestamp
|
|
49
|
+
updatedAt: Generated<Timestamp>;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
User: {
|
|
@@ -56,7 +56,7 @@ export interface Namespace {
|
|
|
56
56
|
role: "ADMIN" | "MEMBER" | "VIEWER";
|
|
57
57
|
bio: string | null;
|
|
58
58
|
createdAt: Generated<Timestamp>;
|
|
59
|
-
updatedAt: Timestamp
|
|
59
|
+
updatedAt: Generated<Timestamp>;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// This file is auto-generated by @tailor-platform/sdk
|
|
2
2
|
// Do not edit this file manually
|
|
3
|
-
// Regenerated automatically when running 'tailor
|
|
3
|
+
// Regenerated automatically when running 'tailor deploy' or 'tailor generate'
|
|
4
4
|
|
|
5
5
|
declare module "@tailor-platform/sdk" {
|
|
6
|
-
interface
|
|
6
|
+
interface Attributes {
|
|
7
7
|
role: string;
|
|
8
8
|
}
|
|
9
9
|
interface AttributeList {
|
|
@@ -15,6 +15,8 @@ declare module "@tailor-platform/sdk" {
|
|
|
15
15
|
viewer: true;
|
|
16
16
|
}
|
|
17
17
|
interface IdpNameRegistry {}
|
|
18
|
+
interface ConnectionNameRegistry {}
|
|
19
|
+
interface AIGatewayNameRegistry {}
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
node_modules/
|
|
2
|
-
.tailor
|
|
2
|
+
.tailor/
|
|
@@ -55,7 +55,7 @@ export async function setup(project: TestProject): Promise<void> {
|
|
|
55
55
|
process.env.TAILOR_PLATFORM_WORKSPACE_ID = createdWorkspace.id;
|
|
56
56
|
// This pipeline deploys a fresh app into a per-run workspace, so let the
|
|
57
57
|
// SDK inject a missing app id even in CI (normally a hard error there).
|
|
58
|
-
process.env.
|
|
58
|
+
process.env.TAILOR_CI_ALLOW_ID_INJECTION = "true";
|
|
59
59
|
await deployApplication();
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workflow",
|
|
3
|
+
"version": "0.0.0",
|
|
3
4
|
"private": true,
|
|
4
5
|
"type": "module",
|
|
5
6
|
"scripts": {
|
|
6
|
-
"generate": "tailor
|
|
7
|
-
"deploy": "tailor
|
|
7
|
+
"generate": "tailor generate",
|
|
8
|
+
"deploy": "tailor deploy",
|
|
8
9
|
"test": "vitest --project unit",
|
|
9
10
|
"test:unit": "vitest --project unit",
|
|
10
11
|
"test:e2e": "vitest --project e2e",
|
|
@@ -15,14 +16,14 @@
|
|
|
15
16
|
"typecheck": "tsc --noEmit"
|
|
16
17
|
},
|
|
17
18
|
"devDependencies": {
|
|
18
|
-
"@tailor-platform/sdk": "2.0.0-next.
|
|
19
|
+
"@tailor-platform/sdk": "2.0.0-next.3",
|
|
19
20
|
"@types/node": "24.13.2",
|
|
20
|
-
"graphql": "
|
|
21
|
+
"graphql": "17.0.1",
|
|
21
22
|
"graphql-request": "7.4.0",
|
|
22
|
-
"oxfmt": "0.
|
|
23
|
-
"oxlint": "1.
|
|
24
|
-
"oxlint-tsgolint": "0.
|
|
25
|
-
"typescript": "
|
|
26
|
-
"vitest": "4.1.
|
|
23
|
+
"oxfmt": "0.57.0",
|
|
24
|
+
"oxlint": "1.72.0",
|
|
25
|
+
"oxlint-tsgolint": "0.24.0",
|
|
26
|
+
"typescript": "6.0.3",
|
|
27
|
+
"vitest": "4.1.9"
|
|
27
28
|
}
|
|
28
29
|
}
|