@appconda/nextjs 1.0.135 → 1.0.137

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.
@@ -1,57 +1,29 @@
1
+ import { z } from 'zod';
1
2
  import { Agent, AIModel } from './types';
2
- export declare const ListAgents: import("next-safe-action").SafeActionFn<string, undefined, readonly [], {
3
- formErrors: string[];
4
- fieldErrors: {};
5
- } | undefined, readonly [], Agent[]>;
6
- export declare const CreateAgent: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
7
- id: import("zod").ZodOptional<import("zod").ZodString>;
8
- name: import("zod").ZodString;
9
- modelId: import("zod").ZodString;
10
- }, "strip", import("zod").ZodTypeAny, {
11
- name: string;
12
- modelId: string;
13
- id?: string | undefined;
14
- }, {
15
- name: string;
16
- modelId: string;
17
- id?: string | undefined;
18
- }>, readonly [], {
19
- _errors?: string[];
20
- name?: {
21
- _errors?: string[];
22
- };
23
- modelId?: {
24
- _errors?: string[];
25
- };
26
- id?: {
27
- _errors?: string[];
28
- };
29
- }, readonly [], Agent>;
30
- export declare const GetAgent: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
31
- id: import("zod").ZodString;
32
- }, "strip", import("zod").ZodTypeAny, {
33
- id: string;
34
- }, {
35
- id: string;
36
- }>, readonly [], {
37
- _errors?: string[];
38
- id?: {
39
- _errors?: string[];
40
- };
41
- }, readonly [], Agent>;
42
- export declare const ListModelProviders: import("next-safe-action").SafeActionFn<string, undefined, readonly [], {
43
- formErrors: string[];
44
- fieldErrors: {};
45
- } | undefined, readonly [], Agent[]>;
46
- export declare const ListModels: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
47
- modelProviderId: import("zod").ZodString;
48
- }, "strip", import("zod").ZodTypeAny, {
49
- modelProviderId: string;
50
- }, {
51
- modelProviderId: string;
52
- }>, readonly [], {
53
- _errors?: string[];
54
- modelProviderId?: {
55
- _errors?: string[];
56
- };
57
- }, readonly [], AIModel[]>;
3
+ import { CreateAgentSchema, GetAgentSchema, ListModelsSchema } from './schema';
4
+ export declare const ListAgents: () => Promise<{
5
+ data?: Agent[];
6
+ serverError?: string;
7
+ }>;
8
+ export declare const CreateAgent: ({ parsedInput }: {
9
+ parsedInput: z.infer<typeof CreateAgentSchema>;
10
+ }) => Promise<{
11
+ data?: Agent;
12
+ serverError?: string;
13
+ }>;
14
+ export declare const GetAgent: ({ parsedInput }: {
15
+ parsedInput: z.infer<typeof GetAgentSchema>;
16
+ }) => Promise<{
17
+ data?: Agent;
18
+ serverError?: string;
19
+ }>;
20
+ export declare const ListModelProviders: () => Promise<{
21
+ data?: Agent[];
22
+ serverError?: string;
23
+ }>;
24
+ export declare const ListModels: ({ parsedInput }: {
25
+ parsedInput: z.infer<typeof ListModelsSchema>;
26
+ }) => Promise<{
27
+ data?: AIModel[];
28
+ serverError?: string;
29
+ }>;
@@ -1,64 +1,53 @@
1
1
  'use server';
2
- import { actionClient } from '../../actions/actionClient';
3
2
  import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
4
- import { CreateAgentSchema, GetAgentSchema, ListModelsSchema } from './schema';
5
- export const ListAgents = actionClient
6
- //.schema(ListWaitlistSignupsSchema)
7
- .action(async ({ parsedInput }) => {
3
+ export const ListAgents = async () => {
8
4
  try {
9
5
  const { agent } = await getSDKForCurrentUser();
10
- return await agent.ListAgents(); // typo: Wiatlist mi?
6
+ return { data: await agent.ListAgents() };
11
7
  }
12
8
  catch (error) {
13
- console.error('Error in ListWaitlistSignups:', error);
14
- throw new Error('Failed to fetch ListWaitlistSignups');
9
+ console.error('Error in ListAgents:', error);
10
+ return { serverError: error.toString() };
15
11
  }
16
- });
17
- export const CreateAgent = actionClient
18
- .schema(CreateAgentSchema)
19
- .action(async ({ parsedInput }) => {
12
+ };
13
+ export const CreateAgent = async ({ parsedInput }) => {
20
14
  try {
21
15
  const { agent } = await getSDKForCurrentUser();
22
- return await agent.CreateAgent(parsedInput);
16
+ return { data: await agent.CreateAgent(parsedInput) };
23
17
  }
24
18
  catch (error) {
25
- console.error('Error in ListWaitlists:', error);
26
- throw new Error('Failed to fetch ListWaitlists');
19
+ console.error('Error in CreateAgent:', error);
20
+ return { serverError: error.toString() };
27
21
  }
28
- });
29
- export const GetAgent = actionClient
30
- .schema(GetAgentSchema)
31
- .action(async ({ parsedInput }) => {
22
+ };
23
+ export const GetAgent = async ({ parsedInput }) => {
32
24
  try {
33
25
  const { agent } = await getSDKForCurrentUser();
34
- return await agent.GetAgent(parsedInput);
26
+ return { data: await agent.GetAgent(parsedInput) };
35
27
  }
36
28
  catch (error) {
37
- console.error('Error in ListWaitlists:', error);
38
- throw new Error('Failed to fetch ListWaitlists');
29
+ console.error('Error in GetAgent:', error);
30
+ return { serverError: error.toString() };
39
31
  }
40
- });
41
- export const ListModelProviders = actionClient
42
- .action(async ({ parsedInput }) => {
32
+ };
33
+ export const ListModelProviders = async () => {
43
34
  try {
44
35
  const { agent } = await getSDKForCurrentUser();
45
- return await agent.ListModelProviders();
36
+ return { data: await agent.ListModelProviders() };
46
37
  }
47
38
  catch (error) {
48
39
  console.error('Error in ListModelProviders:', error);
49
- throw new Error('Failed to fetch ListModelProviders');
40
+ return { serverError: error.toString() };
50
41
  }
51
- });
52
- export const ListModels = actionClient
53
- .schema(ListModelsSchema)
54
- .action(async ({ parsedInput }) => {
42
+ };
43
+ export const ListModels = async ({ parsedInput }) => {
55
44
  try {
56
45
  const { agent } = await getSDKForCurrentUser();
57
- return await agent.ListModels(parsedInput);
46
+ return { data: await agent.ListModels(parsedInput) };
58
47
  }
59
48
  catch (error) {
60
49
  console.error('Error in ListModels:', error);
61
- throw new Error('Failed to fetch ListModels');
50
+ return { serverError: error.toString() };
62
51
  }
63
- });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvYWdlbnQvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQztBQUdiLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSS9FLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxZQUFZO0lBQ2xDLG9DQUFvQztLQUNuQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQW9CLEVBQUU7SUFDaEQsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxPQUFPLE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMscUJBQXFCO0lBQzFELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBSVAsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFlBQVk7S0FDbEMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0tBQ3pCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBa0IsRUFBRTtJQUM5QyxJQUFJLENBQUM7UUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQy9DLE9BQU8sTUFBTSxLQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDckQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRVAsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFlBQVk7S0FDL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQztLQUN0QixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQWtCLEVBQUU7SUFDOUMsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxPQUFPLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU3QyxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVQLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFlBQVk7S0FDekMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFvQixFQUFFO0lBQ2hELElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDL0MsT0FBTyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRVAsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFlBQVk7S0FDakMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0tBQ3hCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBc0IsRUFBRTtJQUNsRCxJQUFJLENBQUM7UUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQy9DLE9BQU8sTUFBTSxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDbEQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzZXJ2ZXInO1xuXG5cbmltcG9ydCB7IGFjdGlvbkNsaWVudCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvYWN0aW9uQ2xpZW50JztcbmltcG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSAnLi4vLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXInO1xuaW1wb3J0IHsgZ2V0U0RLRm9yU2VydmljZSB9IGZyb20gJy4uLy4uL2dldFNES0ZvclNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlYXRlQWdlbnRTY2hlbWEsIEdldEFnZW50U2NoZW1hLCBMaXN0TW9kZWxzU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHsgQWdlbnQsIEFJTW9kZWwgfSBmcm9tICcuL3R5cGVzJztcblxuXG5leHBvcnQgY29uc3QgTGlzdEFnZW50cyA9IGFjdGlvbkNsaWVudFxuICAgIC8vLnNjaGVtYShMaXN0V2FpdGxpc3RTaWdudXBzU2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8QWdlbnRbXT4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IGFnZW50IH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGFnZW50Lkxpc3RBZ2VudHMoKTsgLy8gdHlwbzogV2lhdGxpc3QgbWk/XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0V2FpdGxpc3RTaWdudXBzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIExpc3RXYWl0bGlzdFNpZ251cHMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5cblxuZXhwb3J0IGNvbnN0IENyZWF0ZUFnZW50ID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShDcmVhdGVBZ2VudFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEFnZW50PiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgYWdlbnQgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgYWdlbnQuQ3JlYXRlQWdlbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0V2FpdGxpc3RzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIExpc3RXYWl0bGlzdHMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgR2V0QWdlbnQgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKEdldEFnZW50U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8QWdlbnQ+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBhZ2VudCB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBhZ2VudC5HZXRBZ2VudChwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RXYWl0bGlzdHM6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggTGlzdFdhaXRsaXN0cycpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0TW9kZWxQcm92aWRlcnMgPSBhY3Rpb25DbGllbnRcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEFnZW50W10+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBhZ2VudCB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBhZ2VudC5MaXN0TW9kZWxQcm92aWRlcnMoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RNb2RlbFByb3ZpZGVyczonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBMaXN0TW9kZWxQcm92aWRlcnMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgTGlzdE1vZGVscyA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoTGlzdE1vZGVsc1NjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPEFJTW9kZWxbXT4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IGFnZW50IH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGFnZW50Lkxpc3RNb2RlbHMocGFyc2VkSW5wdXQpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdE1vZGVsczonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBMaXN0TW9kZWxzJyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgICJdfQ==
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvYWdlbnQvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQztBQUliLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBS2xFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxLQUFLLElBQXFELEVBQUU7SUFDOUUsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDN0MsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUlOLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQXNELEVBQWlELEVBQUU7SUFDaEosSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0lBRTFELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQzdDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFTixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFtRCxFQUFpRCxFQUFFO0lBQzFJLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztJQUV2RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRU4sTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxJQUFxRCxFQUFFO0lBQ3RGLElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDN0MsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVMLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQXFELEVBQXFELEVBQUU7SUFDbEosSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQzdDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHNlcnZlcic7XG5cblxuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5pbXBvcnQgeyBnZXRTREtGb3JDdXJyZW50VXNlciB9IGZyb20gJy4uLy4uL2dldFNES0ZvckN1cnJlbnRVc2VyJztcbmltcG9ydCB7IEFnZW50LCBBSU1vZGVsIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBDcmVhdGVBZ2VudFNjaGVtYSwgR2V0QWdlbnRTY2hlbWEsIExpc3RNb2RlbHNTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cblxuZXhwb3J0IGNvbnN0IExpc3RBZ2VudHMgPSBhc3luYyAoKTogUHJvbWlzZTx7ZGF0YT86IEFnZW50W10sIHNlcnZlckVycm9yPzogc3RyaW5nfT4gPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgeyBhZ2VudCB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IGFnZW50Lkxpc3RBZ2VudHMoKSB9O1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdEFnZW50czonLCBlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4geyBzZXJ2ZXJFcnJvcjogZXJyb3IudG9TdHJpbmcoKSB9O1xuICAgICAgICB9XG4gICAgfTtcblxuXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVBZ2VudCA9IGFzeW5jICh7IHBhcnNlZElucHV0IH06IHsgcGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUFnZW50U2NoZW1hPiB9KTogUHJvbWlzZTx7ZGF0YT86IEFnZW50LCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgYWdlbnQgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCBhZ2VudC5DcmVhdGVBZ2VudChwYXJzZWRJbnB1dCkgfTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gQ3JlYXRlQWdlbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCkgfTtcbiAgICAgICAgfVxuICAgIH07XG5cbmV4cG9ydCBjb25zdCBHZXRBZ2VudCA9IGFzeW5jICh7IHBhcnNlZElucHV0IH06IHsgcGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldEFnZW50U2NoZW1hPiB9KTogUHJvbWlzZTx7ZGF0YT86IEFnZW50LCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgYWdlbnQgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCBhZ2VudC5HZXRBZ2VudChwYXJzZWRJbnB1dCkgfTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gR2V0QWdlbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCkgfTtcbiAgICAgICAgfVxuICAgIH07XG5cbmV4cG9ydCBjb25zdCBMaXN0TW9kZWxQcm92aWRlcnMgPSBhc3luYyAoKTogUHJvbWlzZTx7ZGF0YT86IEFnZW50W10sIHNlcnZlckVycm9yPzogc3RyaW5nfT4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IGFnZW50IH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgYWdlbnQuTGlzdE1vZGVsUHJvdmlkZXJzKCkgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RNb2RlbFByb3ZpZGVyczonLCBlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4geyBzZXJ2ZXJFcnJvcjogZXJyb3IudG9TdHJpbmcoKSB9O1xuICAgICAgICB9XG4gICAgfVxuXG5leHBvcnQgY29uc3QgTGlzdE1vZGVscyA9IGFzeW5jICh7IHBhcnNlZElucHV0IH06IHsgcGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RNb2RlbHNTY2hlbWE+IH0pOiBQcm9taXNlPHtkYXRhPzogQUlNb2RlbFtdLCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyBhZ2VudCB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IGFnZW50Lkxpc3RNb2RlbHMocGFyc2VkSW5wdXQpIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0TW9kZWxzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiB7IHNlcnZlckVycm9yOiBlcnJvci50b1N0cmluZygpIH07XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgIl19
@@ -1,4 +1,4 @@
1
- export declare const getAllNodesAction: import("next-safe-action").SafeActionFn<string, undefined, readonly [], {
2
- formErrors: string[];
3
- fieldErrors: {};
4
- } | undefined, readonly [], any[]>;
1
+ export declare const getAllNodesAction: () => Promise<{
2
+ data: Node[];
3
+ serverError?: string;
4
+ }>;
@@ -1,16 +1,13 @@
1
1
  'use server';
2
- import { actionClient } from "../../../actions/actionClient";
3
2
  import { getSDKForCurrentUser } from "../../../getSDKForCurrentUser";
4
- export const getAllNodesAction = actionClient
5
- // .schema(listModelsSchema)
6
- .action(async ({ parsedInput }) => {
3
+ export const getAllNodesAction = async () => {
7
4
  try {
8
5
  const { node } = await getSDKForCurrentUser();
9
- return await node.GetAllNodes();
6
+ return { data: await node.GetAllNodes() };
10
7
  }
11
8
  catch (error) {
12
9
  console.error('Error in getAllNodesAction:', error);
13
- throw new Error('Failed to fetch nodes');
10
+ return { serverError: error.toString() };
14
11
  }
15
- });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FpL25vZGUvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFFYixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsWUFBWTtJQUN6Qyw0QkFBNEI7S0FDM0IsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7SUFDOUIsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzZXJ2ZXInO1xuXG5pbXBvcnQgeyBhY3Rpb25DbGllbnQgfSBmcm9tIFwiLi4vLi4vLi4vYWN0aW9ucy9hY3Rpb25DbGllbnRcIjtcbmltcG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSBcIi4uLy4uLy4uL2dldFNES0ZvckN1cnJlbnRVc2VyXCI7XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxOb2Rlc0FjdGlvbiA9IGFjdGlvbkNsaWVudFxuICAgIC8vIC5zY2hlbWEobGlzdE1vZGVsc1NjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgbm9kZSB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBub2RlLkdldEFsbE5vZGVzKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBnZXRBbGxOb2Rlc0FjdGlvbjonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBub2RlcycpO1xuICAgICAgICB9XG4gICAgfSk7XG4iXX0=
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FpL25vZGUvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFFYixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLElBQW1ELEVBQUU7SUFDbkYsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDN0MsQ0FBQztBQUNMLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc2VydmVyJztcblxuaW1wb3J0IHsgZ2V0U0RLRm9yQ3VycmVudFVzZXIgfSBmcm9tIFwiLi4vLi4vLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXJcIjtcblxuZXhwb3J0IGNvbnN0IGdldEFsbE5vZGVzQWN0aW9uID0gYXN5bmMgKCk6IFByb21pc2U8e2RhdGE6IE5vZGVbXSwgc2VydmVyRXJyb3I/OiBzdHJpbmd9PiA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IG5vZGUgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCBub2RlLkdldEFsbE5vZGVzKCkgfTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGdldEFsbE5vZGVzQWN0aW9uOicsIGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiB7IHNlcnZlckVycm9yOiBlcnJvci50b1N0cmluZygpIH07XG4gICAgICAgIH1cbiAgICB9XG4iXX0=
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@appconda/nextjs",
3
3
  "homepage": "https://appconda.io/support",
4
4
  "description": "Appconda is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
5
- "version": "1.0.135",
5
+ "version": "1.0.137",
6
6
  "license": "BSD-3-Clause",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -1,79 +1,66 @@
1
1
  'use server';
2
2
 
3
3
 
4
- import { actionClient } from '../../actions/actionClient';
4
+ import { z } from 'zod';
5
5
  import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
6
- import { getSDKForService } from '../../getSDKForService';
7
- import { CreateAgentSchema, GetAgentSchema, ListModelsSchema } from './schema';
8
6
  import { Agent, AIModel } from './types';
7
+ import { CreateAgentSchema, GetAgentSchema, ListModelsSchema } from './schema';
9
8
 
10
9
 
11
- export const ListAgents = actionClient
12
- //.schema(ListWaitlistSignupsSchema)
13
- .action(async ({ parsedInput }): Promise<Agent[]> => {
10
+ export const ListAgents = async (): Promise<{data?: Agent[], serverError?: string}> => {
14
11
  try {
15
-
16
12
  const { agent } = await getSDKForCurrentUser();
17
- return await agent.ListAgents(); // typo: Wiatlist mi?
13
+ return { data: await agent.ListAgents() };
18
14
  } catch (error) {
19
- console.error('Error in ListWaitlistSignups:', error);
20
- throw new Error('Failed to fetch ListWaitlistSignups');
15
+ console.error('Error in ListAgents:', error);
16
+ return { serverError: error.toString() };
21
17
  }
22
- });
18
+ };
23
19
 
24
20
 
25
21
 
26
- export const CreateAgent = actionClient
27
- .schema(CreateAgentSchema)
28
- .action(async ({ parsedInput }): Promise<Agent> => {
22
+ export const CreateAgent = async ({ parsedInput }: { parsedInput: z.infer<typeof CreateAgentSchema> }): Promise<{data?: Agent, serverError?: string}> => {
29
23
  try {
30
-
31
24
  const { agent } = await getSDKForCurrentUser();
32
- return await agent.CreateAgent(parsedInput);
25
+ return { data: await agent.CreateAgent(parsedInput) };
33
26
 
34
27
  } catch (error) {
35
- console.error('Error in ListWaitlists:', error);
36
- throw new Error('Failed to fetch ListWaitlists');
28
+ console.error('Error in CreateAgent:', error);
29
+ return { serverError: error.toString() };
37
30
  }
38
- });
31
+ };
39
32
 
40
- export const GetAgent = actionClient
41
- .schema(GetAgentSchema)
42
- .action(async ({ parsedInput }): Promise<Agent> => {
33
+ export const GetAgent = async ({ parsedInput }: { parsedInput: z.infer<typeof GetAgentSchema> }): Promise<{data?: Agent, serverError?: string}> => {
43
34
  try {
44
-
45
35
  const { agent } = await getSDKForCurrentUser();
46
- return await agent.GetAgent(parsedInput);
36
+ return { data: await agent.GetAgent(parsedInput) };
47
37
 
48
38
  } catch (error) {
49
- console.error('Error in ListWaitlists:', error);
50
- throw new Error('Failed to fetch ListWaitlists');
39
+ console.error('Error in GetAgent:', error);
40
+ return { serverError: error.toString() };
51
41
  }
52
- });
42
+ };
53
43
 
54
- export const ListModelProviders = actionClient
55
- .action(async ({ parsedInput }): Promise<Agent[]> => {
44
+ export const ListModelProviders = async (): Promise<{data?: Agent[], serverError?: string}> => {
56
45
  try {
57
46
 
58
47
  const { agent } = await getSDKForCurrentUser();
59
- return await agent.ListModelProviders();
48
+ return { data: await agent.ListModelProviders() };
60
49
  } catch (error) {
61
50
  console.error('Error in ListModelProviders:', error);
62
- throw new Error('Failed to fetch ListModelProviders');
51
+ return { serverError: error.toString() };
63
52
  }
64
- });
53
+ }
65
54
 
66
- export const ListModels = actionClient
67
- .schema(ListModelsSchema)
68
- .action(async ({ parsedInput }): Promise<AIModel[]> => {
55
+ export const ListModels = async ({ parsedInput }: { parsedInput: z.infer<typeof ListModelsSchema> }): Promise<{data?: AIModel[], serverError?: string}> => {
69
56
  try {
70
57
 
71
58
  const { agent } = await getSDKForCurrentUser();
72
- return await agent.ListModels(parsedInput);
59
+ return { data: await agent.ListModels(parsedInput) };
73
60
  } catch (error) {
74
61
  console.error('Error in ListModels:', error);
75
- throw new Error('Failed to fetch ListModels');
62
+ return { serverError: error.toString() };
76
63
  }
77
- });
64
+ };
78
65
 
79
66
 
@@ -1,16 +1,13 @@
1
1
  'use server';
2
2
 
3
- import { actionClient } from "../../../actions/actionClient";
4
3
  import { getSDKForCurrentUser } from "../../../getSDKForCurrentUser";
5
4
 
6
- export const getAllNodesAction = actionClient
7
- // .schema(listModelsSchema)
8
- .action(async ({ parsedInput }) => {
5
+ export const getAllNodesAction = async (): Promise<{data: Node[], serverError?: string}> => {
9
6
  try {
10
7
  const { node } = await getSDKForCurrentUser();
11
- return await node.GetAllNodes();
8
+ return { data: await node.GetAllNodes() };
12
9
  } catch (error) {
13
10
  console.error('Error in getAllNodesAction:', error);
14
- throw new Error('Failed to fetch nodes');
11
+ return { serverError: error.toString() };
15
12
  }
16
- });
13
+ }