@truecodeio/sdk-core 0.2.7 → 0.2.8

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.
@@ -83,6 +83,25 @@ declare const appRouter: import('@trpc/server').TRPCBuiltRouter<{
83
83
  output: void;
84
84
  meta: object;
85
85
  }>;
86
+ updateCampaign: import('@trpc/server').TRPCMutationProcedure<{
87
+ input: {
88
+ id: string;
89
+ name?: string | undefined;
90
+ status?: string | undefined;
91
+ templateId?: string | undefined;
92
+ };
93
+ output: {
94
+ id: string;
95
+ name: string;
96
+ organizationId: string;
97
+ templateId: string;
98
+ createdBy: string;
99
+ createdAt: Date;
100
+ updatedAt: Date;
101
+ status: string;
102
+ };
103
+ meta: object;
104
+ }>;
86
105
  getTemplates: import('@trpc/server').TRPCQueryProcedure<{
87
106
  input: void;
88
107
  output: {
package/dist/client.d.ts CHANGED
@@ -86,6 +86,25 @@ export declare const createClient: ({ apiKey }: ClientConfig) => import('@trpc/c
86
86
  output: void;
87
87
  meta: object;
88
88
  }>;
89
+ updateCampaign: import('@trpc/server').TRPCMutationProcedure<{
90
+ input: {
91
+ id: string;
92
+ name?: string | undefined;
93
+ status?: string | undefined;
94
+ templateId?: string | undefined;
95
+ };
96
+ output: {
97
+ id: string;
98
+ name: string;
99
+ organizationId: string;
100
+ templateId: string;
101
+ createdBy: string;
102
+ createdAt: Date;
103
+ updatedAt: Date;
104
+ status: string;
105
+ };
106
+ meta: object;
107
+ }>;
89
108
  getTemplates: import('@trpc/server').TRPCQueryProcedure<{
90
109
  input: void;
91
110
  output: {
package/dist/index.d.ts CHANGED
@@ -4,66 +4,95 @@ type ClientOptions = {
4
4
  export declare const createBokoClient: (options: ClientOptions) => {
5
5
  getEligibleCampaign: () => Promise<{
6
6
  template: {
7
- content: {
7
+ content: Readonly<{
8
8
  id: string;
9
9
  type: "root";
10
10
  name: string;
11
11
  isCollapsed: boolean;
12
- props: {
12
+ props: Readonly<{
13
13
  color: string;
14
- };
15
- children: {
14
+ }>;
15
+ children: readonly Readonly<{
16
16
  id: string;
17
17
  type: "row";
18
18
  name: string;
19
19
  isCollapsed: boolean;
20
- props: {
21
- padding: {
20
+ props: Readonly<{
21
+ padding: Readonly<{
22
22
  top: number;
23
23
  right: number;
24
24
  bottom: number;
25
25
  left: number;
26
- };
26
+ }>;
27
27
  gap: number;
28
- background: {
28
+ background: Readonly<{
29
29
  color: string;
30
- };
31
- };
32
- children: {
30
+ }>;
31
+ alignment: Readonly<{
32
+ horizontal: "default" | "start" | "center" | "end";
33
+ }>;
34
+ }>;
35
+ children: readonly Readonly<{
33
36
  id: string;
34
37
  type: "column";
35
38
  name: string;
36
39
  isCollapsed: boolean;
37
- props: Record<string, unknown>;
38
- children: ({
40
+ props: Readonly<{
41
+ flexChildSize: "default" | "equal" | "none";
42
+ alignment: Readonly<{
43
+ vertical: "start" | "center" | "end";
44
+ }>;
45
+ }>;
46
+ children: readonly (Readonly<{
39
47
  id: string;
40
48
  type: "spacer";
41
49
  name: string;
42
50
  isCollapsed: boolean;
43
- props: {
51
+ props: Readonly<{
44
52
  size: number;
45
- };
46
- } | {
53
+ }>;
54
+ }> | Readonly<{
47
55
  id: string;
48
56
  type: "text";
49
57
  name: string;
50
58
  isCollapsed: boolean;
51
- props: {
52
- type: "paragraph" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6";
59
+ props: Readonly<{
53
60
  content: string;
54
- };
55
- } | {
61
+ type: "paragraph" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6";
62
+ }>;
63
+ }> | Readonly<{
56
64
  id: string;
57
65
  type: "button";
58
66
  name: string;
59
67
  isCollapsed: boolean;
60
- props: {
68
+ props: Readonly<{
61
69
  title: string;
62
- };
63
- })[];
64
- }[];
65
- }[];
66
- };
70
+ background: Readonly<{
71
+ color: Readonly<{
72
+ default: string;
73
+ hover: string;
74
+ }>;
75
+ }>;
76
+ text: Readonly<{
77
+ color: Readonly<{
78
+ default: string;
79
+ hover: string;
80
+ }>;
81
+ }>;
82
+ padding: Readonly<{
83
+ top: number;
84
+ right: number;
85
+ bottom: number;
86
+ left: number;
87
+ }>;
88
+ borderRadius: number;
89
+ fontSize: number;
90
+ fontWeight: number;
91
+ }>;
92
+ }>)[];
93
+ }>[];
94
+ }>[];
95
+ }>;
67
96
  id: string;
68
97
  name: string;
69
98
  organizationId: string;
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
1
- import { createTRPCClient as o, httpBatchLink as a } from "@trpc/client";
2
- import i from "superjson";
1
+ import { createTRPCClient as r, httpBatchLink as a } from "@trpc/client";
2
+ import l from "superjson";
3
3
  import { z as e } from "zod";
4
- const l = ({ apiKey: r }) => o({
4
+ const i = ({ apiKey: n }) => r({
5
5
  links: [
6
6
  a({
7
- transformer: i,
7
+ transformer: l,
8
8
  url: "https://boko-server-0d640b8d4fbf.herokuapp.com",
9
9
  headers: () => ({
10
- Authorization: `ApiKey ${r}`
10
+ Authorization: `ApiKey ${n}`
11
11
  })
12
12
  })
13
13
  ]
14
- }), s = e.object({
14
+ }), d = e.object({
15
15
  id: e.string(),
16
16
  type: e.literal("spacer"),
17
17
  name: e.string(),
18
18
  isCollapsed: e.boolean(),
19
19
  props: e.object({
20
20
  size: e.number()
21
- })
22
- }), p = e.object({
21
+ }).readonly()
22
+ }).readonly(), c = e.object({
23
23
  id: e.string(),
24
24
  type: e.literal("text"),
25
25
  name: e.string(),
@@ -35,25 +35,56 @@ const l = ({ apiKey: r }) => o({
35
35
  "heading-5",
36
36
  "heading-6"
37
37
  ])
38
- })
39
- }), c = e.object({
38
+ }).readonly()
39
+ }).readonly(), s = e.object({
40
40
  id: e.string(),
41
41
  type: e.literal("button"),
42
42
  name: e.string(),
43
43
  isCollapsed: e.boolean(),
44
44
  props: e.object({
45
- title: e.string()
46
- })
47
- }), g = e.object({
45
+ title: e.string(),
46
+ background: e.object({
47
+ color: e.object({
48
+ default: e.string(),
49
+ hover: e.string()
50
+ }).readonly()
51
+ }).readonly(),
52
+ text: e.object({
53
+ color: e.object({
54
+ default: e.string(),
55
+ hover: e.string()
56
+ }).readonly()
57
+ }).readonly(),
58
+ padding: e.object({
59
+ top: e.number(),
60
+ right: e.number(),
61
+ bottom: e.number(),
62
+ left: e.number()
63
+ }).readonly(),
64
+ borderRadius: e.number(),
65
+ fontSize: e.number().min(8).max(72).default(16),
66
+ fontWeight: e.number().min(100).max(900).multipleOf(100).default(400)
67
+ }).readonly()
68
+ }).readonly(), m = e.enum(["default", "equal", "none"]), p = e.enum(["start", "center", "end"]), b = e.object({
48
69
  id: e.string(),
49
70
  type: e.literal("column"),
50
71
  name: e.string(),
51
72
  isCollapsed: e.boolean(),
52
- props: e.record(e.string(), e.unknown()),
73
+ props: e.object({
74
+ flexChildSize: m,
75
+ alignment: e.object({
76
+ vertical: p
77
+ }).readonly()
78
+ }).readonly(),
53
79
  children: e.array(
54
- e.lazy(() => e.union([c, p, s]))
55
- )
56
- }), m = e.object({
80
+ e.lazy(() => e.union([s, c, d]))
81
+ ).readonly()
82
+ }).readonly(), g = e.enum([
83
+ "default",
84
+ "start",
85
+ "center",
86
+ "end"
87
+ ]), u = e.object({
57
88
  id: e.string(),
58
89
  type: e.literal("row"),
59
90
  name: e.string(),
@@ -64,45 +95,48 @@ const l = ({ apiKey: r }) => o({
64
95
  right: e.number(),
65
96
  bottom: e.number(),
66
97
  left: e.number()
67
- }),
98
+ }).readonly(),
68
99
  gap: e.number(),
69
100
  background: e.object({
70
101
  color: e.string()
71
- })
72
- }),
102
+ }).readonly(),
103
+ alignment: e.object({
104
+ horizontal: g
105
+ }).readonly()
106
+ }).readonly(),
73
107
  children: e.array(
74
- e.lazy(() => g)
75
- )
76
- }), b = e.object({
108
+ e.lazy(() => b)
109
+ ).readonly()
110
+ }).readonly(), y = e.object({
77
111
  id: e.string(),
78
112
  type: e.literal("root"),
79
113
  name: e.string(),
80
114
  isCollapsed: e.boolean(),
81
115
  props: e.object({
82
116
  color: e.string()
83
- }),
117
+ }).readonly(),
84
118
  children: e.array(
85
- e.lazy(() => m)
86
- )
87
- }), y = (r) => {
88
- const n = l({
89
- apiKey: r.apiKey
119
+ e.lazy(() => u)
120
+ ).readonly()
121
+ }).readonly(), C = (n) => {
122
+ const o = i({
123
+ apiKey: n.apiKey
90
124
  });
91
125
  return {
92
126
  getEligibleCampaign: async () => {
93
- const t = await n.getEligibleCampaign.query();
127
+ const t = await o.getEligibleCampaign.query();
94
128
  return t ? {
95
129
  ...t,
96
130
  template: {
97
131
  ...t.template,
98
132
  // TODO: Do we need to parse the content here or on procedure level?
99
- content: b.parse(t.template.content)
133
+ content: y.parse(t.template.content)
100
134
  }
101
135
  } : null;
102
136
  }
103
137
  };
104
138
  };
105
139
  export {
106
- y as createBokoClient
140
+ C as createBokoClient
107
141
  };
108
142
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/client.ts","../../../node_modules/.pnpm/@truecodeio+client-shared@0.1.5/node_modules/@truecodeio/client-shared/src/schemas/tree-nodes/index.ts","../src/index.ts"],"sourcesContent":["import { createTRPCClient, httpBatchLink } from \"@trpc/client\";\nimport superjson from \"superjson\";\nimport type { AppRouter } from \"./app-router-types\";\n\ntype ClientConfig = {\n apiKey: string;\n};\n\nexport const createClient = ({ apiKey }: ClientConfig) => {\n return createTRPCClient<AppRouter>({\n links: [\n httpBatchLink({\n transformer: superjson,\n url: __SERVER_URL__,\n headers: () => {\n return {\n Authorization: `ApiKey ${apiKey}`,\n };\n },\n }),\n ],\n });\n};\n","import { z } from \"zod\";\n\nexport const spacerNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"spacer\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n size: z.number(),\n }),\n});\n\nexport const textNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"text\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n content: z.string(),\n type: z.enum([\n \"paragraph\",\n \"heading-1\",\n \"heading-2\",\n \"heading-3\",\n \"heading-4\",\n \"heading-5\",\n \"heading-6\",\n ]),\n }),\n});\n\nexport const buttonNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"button\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n title: z.string(),\n }),\n});\n\nexport const columnNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"column\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.record(z.string(), z.unknown()),\n children: z.array(\n z.lazy(() => {\n return z.union([buttonNodeSchema, textNodeSchema, spacerNodeSchema]);\n }),\n ),\n});\n\nexport const rowNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"row\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n padding: z.object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n }),\n gap: z.number(),\n background: z.object({\n color: z.string(),\n }),\n }),\n children: z.array(\n z.lazy(() => {\n return columnNodeSchema;\n }),\n ),\n});\n\nexport const rootNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"root\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n color: z.string(),\n }),\n children: z.array(\n z.lazy(() => {\n return rowNodeSchema;\n }),\n ),\n});\n\nexport type NodeT =\n | z.infer<typeof rootNodeSchema>\n | z.infer<typeof rowNodeSchema>\n | z.infer<typeof columnNodeSchema>\n | z.infer<typeof buttonNodeSchema>\n | z.infer<typeof textNodeSchema>\n | z.infer<typeof spacerNodeSchema>;\n","import { createClient } from \"./client.ts\";\nimport { rootNodeSchema } from \"@truecodeio/client-shared/schemas/tree-nodes/index.ts\";\n\ntype ClientOptions = {\n apiKey: string;\n};\n\nexport const createBokoClient = (options: ClientOptions) => {\n const client = createClient({\n apiKey: options.apiKey,\n });\n\n return {\n getEligibleCampaign: async () => {\n const eligibleCampaign = await client.getEligibleCampaign.query();\n\n if (!eligibleCampaign) {\n return null;\n }\n\n return {\n ...eligibleCampaign,\n template: {\n ...eligibleCampaign.template,\n // TODO: Do we need to parse the content here or on procedure level?\n content: rootNodeSchema.parse(eligibleCampaign.template.content),\n },\n };\n },\n };\n};\n\nexport type EligibleCampaign = NonNullable<\n Awaited<\n ReturnType<ReturnType<typeof createBokoClient>[\"getEligibleCampaign\"]>\n >\n>;\n"],"names":["createClient","apiKey","createTRPCClient","httpBatchLink","superjson","spacerNodeSchema","z","textNodeSchema","buttonNodeSchema","columnNodeSchema","rowNodeSchema","rootNodeSchema","createBokoClient","options","client","eligibleCampaign"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"index.js","sources":["../src/client.ts","../../../node_modules/.pnpm/@truecodeio+domain-shared@0.1.6/node_modules/@truecodeio/domain-shared/src/schemas/tree-nodes/index.ts","../src/index.ts"],"sourcesContent":["import { createTRPCClient, httpBatchLink } from \"@trpc/client\";\nimport superjson from \"superjson\";\nimport type { AppRouter } from \"./app-router-types\";\n\ntype ClientConfig = {\n apiKey: string;\n};\n\nexport const createClient = ({ apiKey }: ClientConfig) => {\n return createTRPCClient<AppRouter>({\n links: [\n httpBatchLink({\n transformer: superjson,\n url: __SERVER_URL__,\n headers: () => {\n return {\n Authorization: `ApiKey ${apiKey}`,\n };\n },\n }),\n ],\n });\n};\n","import { z } from \"zod\";\n\nexport const spacerNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"spacer\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n size: z.number(),\n })\n .readonly(),\n })\n .readonly();\n\nexport const textNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"text\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n content: z.string(),\n type: z.enum([\n \"paragraph\",\n \"heading-1\",\n \"heading-2\",\n \"heading-3\",\n \"heading-4\",\n \"heading-5\",\n \"heading-6\",\n ]),\n })\n .readonly(),\n })\n .readonly();\n\nexport const buttonNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"button\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n title: z.string(),\n background: z\n .object({\n color: z\n .object({\n default: z.string(),\n hover: z.string(),\n })\n .readonly(),\n })\n .readonly(),\n text: z\n .object({\n color: z\n .object({\n default: z.string(),\n hover: z.string(),\n })\n .readonly(),\n })\n .readonly(),\n padding: z\n .object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n })\n .readonly(),\n borderRadius: z.number(),\n fontSize: z.number().min(8).max(72).default(16),\n fontWeight: z.number().min(100).max(900).multipleOf(100).default(400),\n })\n .readonly(),\n })\n .readonly();\n\nexport const flexChildSizeSchema = z.enum([\"default\", \"equal\", \"none\"]);\n\nexport const verticalAlignmentSchema = z.enum([\"start\", \"center\", \"end\"]);\n\nexport const columnNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"column\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n flexChildSize: flexChildSizeSchema,\n alignment: z\n .object({\n vertical: verticalAlignmentSchema,\n })\n .readonly(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return z.union([buttonNodeSchema, textNodeSchema, spacerNodeSchema]);\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport const horizontalAlignmentSchema = z.enum([\n \"default\",\n \"start\",\n \"center\",\n \"end\",\n]);\n\nexport const rowNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"row\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n padding: z\n .object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n })\n .readonly(),\n gap: z.number(),\n background: z\n .object({\n color: z.string(),\n })\n .readonly(),\n alignment: z\n .object({\n horizontal: horizontalAlignmentSchema,\n })\n .readonly(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return columnNodeSchema;\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport const rootNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"root\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n color: z.string(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return rowNodeSchema;\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport type ButtonNodeT = z.infer<typeof buttonNodeSchema>;\n\nexport type RootNodeT = z.infer<typeof rootNodeSchema>;\n\nexport type RowNodeT = z.infer<typeof rowNodeSchema>;\n\nexport type ColumnNodeT = z.infer<typeof columnNodeSchema>;\n\nexport type TextNodeT = z.infer<typeof textNodeSchema>;\n\nexport type SpacerNodeT = z.infer<typeof spacerNodeSchema>;\n\nexport type NodeT =\n | RootNodeT\n | RowNodeT\n | ColumnNodeT\n | ButtonNodeT\n | TextNodeT\n | SpacerNodeT;\n\ntype ChildrenNonContainableNodeT = ButtonNodeT | TextNodeT | SpacerNodeT;\n\nexport type ChildrenContainableNodeT = Exclude<\n NodeT,\n ChildrenNonContainableNodeT\n>;\n\nexport type ChildrenNodeT = Exclude<NodeT, RootNodeT>;\n\nexport type NodeByTypeT = {\n [N in NodeT as N[\"type\"]]: N;\n};\n","import { createClient } from \"./client.ts\";\nimport { rootNodeSchema } from \"@truecodeio/domain-shared/schemas/tree-nodes/index.ts\";\n\ntype ClientOptions = {\n apiKey: string;\n};\n\nexport const createBokoClient = (options: ClientOptions) => {\n const client = createClient({\n apiKey: options.apiKey,\n });\n\n return {\n getEligibleCampaign: async () => {\n const eligibleCampaign = await client.getEligibleCampaign.query();\n\n if (!eligibleCampaign) {\n return null;\n }\n\n return {\n ...eligibleCampaign,\n template: {\n ...eligibleCampaign.template,\n // TODO: Do we need to parse the content here or on procedure level?\n content: rootNodeSchema.parse(eligibleCampaign.template.content),\n },\n };\n },\n };\n};\n\nexport type EligibleCampaign = NonNullable<\n Awaited<\n ReturnType<ReturnType<typeof createBokoClient>[\"getEligibleCampaign\"]>\n >\n>;\n"],"names":["createClient","apiKey","createTRPCClient","httpBatchLink","superjson","spacerNodeSchema","z","textNodeSchema","buttonNodeSchema","flexChildSizeSchema","verticalAlignmentSchema","columnNodeSchema","horizontalAlignmentSchema","rowNodeSchema","rootNodeSchema","createBokoClient","options","client","eligibleCampaign"],"mappings":"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","x_google_ignoreList":[1]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truecodeio/sdk-core",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -12,16 +12,16 @@
12
12
  "dist"
13
13
  ],
14
14
  "dependencies": {
15
- "@trpc/client": "^11.4.2",
16
- "@trpc/server": "11.4.2",
17
- "@truecodeio/client-shared": "^0.1.5",
15
+ "@trpc/client": "^11.4.3",
16
+ "@trpc/server": "11.4.3",
17
+ "@truecodeio/domain-shared": "^0.1.6",
18
18
  "superjson": "^2.2.2",
19
- "zod": "^3.25.67"
19
+ "zod": "^4.0.5"
20
20
  },
21
21
  "devDependencies": {
22
- "typescript-eslint": "^8.35.0",
23
- "vite": "^7.0.0",
24
- "vite-plugin-dts": "^4.4.0",
22
+ "typescript-eslint": "^8.38.0",
23
+ "vite": "^7.0.5",
24
+ "vite-plugin-dts": "^4.5.4",
25
25
  "@boko/eslint-config": "1.0.0",
26
26
  "@boko/tsconfig": "^1.0.0"
27
27
  },