@shipfox/client-agent 4.0.0 → 5.0.0

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,2 +1,2 @@
1
1
  $ shipfox-swc
2
- Successfully compiled: 30 files with swc (438.91ms)
2
+ Successfully compiled: 31 files with swc (457.97ms)
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @shipfox/client-agent
2
2
 
3
+ ## 5.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8d8cdef: Extracts workspace onboarding into a dedicated coordinator and shares its feature query policies.
8
+
9
+ ### Patch Changes
10
+
11
+ - f1d6465: Moves workspace-settings and project-workflow route ownership from centralized packages into each feature's own route module, so a feature package declares and ships its own settings pages.
12
+ - Updated dependencies [de559bb]
13
+ - Updated dependencies [ffd727b]
14
+ - @shipfox/api-agent-dto@8.0.0
15
+ - @shipfox/client-shell@5.0.0
16
+
3
17
  ## 4.0.0
4
18
 
5
19
  ### Patch Changes
package/dist/feature.d.ts CHANGED
@@ -4,6 +4,17 @@ export declare const agentFeature: {
4
4
  readonly path: "/workspaces/$wid/model-provider";
5
5
  readonly parent: "workspaceLayout";
6
6
  readonly impl: "@shipfox/client-agent/routes/model-provider";
7
+ }, {
8
+ readonly path: "/workspaces/$wid/settings/agents";
9
+ readonly parent: "workspaceSettings";
10
+ readonly impl: "@shipfox/client-agent/routes/agents-settings";
11
+ }];
12
+ readonly settingsSections: readonly [{
13
+ readonly id: "settings.agents";
14
+ readonly pathSegment: "agents";
15
+ readonly label: "Agents";
16
+ readonly icon: "robot2Line";
17
+ readonly order: 400;
7
18
  }];
8
19
  };
9
20
  //# sourceMappingURL=feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../src/feature.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;CASvB,CAAC"}
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../src/feature.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;CAuBvB,CAAC"}
package/dist/feature.js CHANGED
@@ -6,6 +6,20 @@ export const agentFeature = defineClientFeature({
6
6
  path: '/workspaces/$wid/model-provider',
7
7
  parent: 'workspaceLayout',
8
8
  impl: '@shipfox/client-agent/routes/model-provider'
9
+ },
10
+ {
11
+ path: '/workspaces/$wid/settings/agents',
12
+ parent: 'workspaceSettings',
13
+ impl: '@shipfox/client-agent/routes/agents-settings'
14
+ }
15
+ ],
16
+ settingsSections: [
17
+ {
18
+ id: 'settings.agents',
19
+ pathSegment: 'agents',
20
+ label: 'Agents',
21
+ icon: 'robot2Line',
22
+ order: 400
9
23
  }
10
24
  ]
11
25
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/feature.ts"],"sourcesContent":["import {defineClientFeature} from '@shipfox/client-shell';\n\nexport const agentFeature = defineClientFeature({\n id: 'shipfox.agent',\n routes: [\n {\n path: '/workspaces/$wid/model-provider',\n parent: 'workspaceLayout',\n impl: '@shipfox/client-agent/routes/model-provider',\n },\n ],\n});\n"],"names":["defineClientFeature","agentFeature","id","routes","path","parent","impl"],"mappings":"AAAA,SAAQA,mBAAmB,QAAO,wBAAwB;AAE1D,OAAO,MAAMC,eAAeD,oBAAoB;IAC9CE,IAAI;IACJC,QAAQ;QACN;YACEC,MAAM;YACNC,QAAQ;YACRC,MAAM;QACR;KACD;AACH,GAAG"}
1
+ {"version":3,"sources":["../src/feature.ts"],"sourcesContent":["import {defineClientFeature} from '@shipfox/client-shell';\n\nexport const agentFeature = defineClientFeature({\n id: 'shipfox.agent',\n routes: [\n {\n path: '/workspaces/$wid/model-provider',\n parent: 'workspaceLayout',\n impl: '@shipfox/client-agent/routes/model-provider',\n },\n {\n path: '/workspaces/$wid/settings/agents',\n parent: 'workspaceSettings',\n impl: '@shipfox/client-agent/routes/agents-settings',\n },\n ],\n settingsSections: [\n {\n id: 'settings.agents',\n pathSegment: 'agents',\n label: 'Agents',\n icon: 'robot2Line',\n order: 400,\n },\n ],\n});\n"],"names":["defineClientFeature","agentFeature","id","routes","path","parent","impl","settingsSections","pathSegment","label","icon","order"],"mappings":"AAAA,SAAQA,mBAAmB,QAAO,wBAAwB;AAE1D,OAAO,MAAMC,eAAeD,oBAAoB;IAC9CE,IAAI;IACJC,QAAQ;QACN;YACEC,MAAM;YACNC,QAAQ;YACRC,MAAM;QACR;QACA;YACEF,MAAM;YACNC,QAAQ;YACRC,MAAM;QACR;KACD;IACDC,kBAAkB;QAChB;YACEL,IAAI;YACJM,aAAa;YACbC,OAAO;YACPC,MAAM;YACNC,OAAO;QACT;KACD;AACH,GAAG"}
@@ -1,9 +1,12 @@
1
- import type { CreateCustomModelProviderBodyDto, DiscoverCustomModelProviderModelsBodyDto, DiscoverCustomModelProviderModelsBySlugBodyDto, ModelProviderRef, SetDefaultHarnessBodyDto, SetDefaultModelProviderBodyDto, SupportedModelProviderId, UpdateCustomModelProviderBodyDto, UpdateModelProviderConfigBodyDto, UpdateModelProviderDefaultModelBodyDto } from '@shipfox/api-agent-dto';
1
+ import type { CreateCustomModelProviderBodyDto, DiscoverCustomModelProviderModelsBodyDto, DiscoverCustomModelProviderModelsBySlugBodyDto, ListModelProviderConfigsResponseDto, ModelProviderRef, SetDefaultHarnessBodyDto, SetDefaultModelProviderBodyDto, SupportedModelProviderId, UpdateCustomModelProviderBodyDto, UpdateModelProviderConfigBodyDto, UpdateModelProviderDefaultModelBodyDto } from '@shipfox/api-agent-dto';
2
+ import { type FetchQueryOptions } from '@tanstack/react-query';
2
3
  export declare const modelProviderQueryKeys: {
3
4
  all: readonly ["model-providers"];
4
5
  catalog: () => readonly ["model-providers", "catalog"];
5
6
  configs: (workspaceId: string) => readonly ["model-providers", "configs", string];
6
7
  };
8
+ type ModelProviderConfigsQueryKey = ReturnType<typeof modelProviderQueryKeys.configs> | readonly ['model-providers', 'configs'];
9
+ type ModelProviderConfigsQueryOptions = FetchQueryOptions<ListModelProviderConfigsResponseDto, Error, ListModelProviderConfigsResponseDto, ModelProviderConfigsQueryKey>;
7
10
  export declare function getModelProviderCatalog({ signal }?: {
8
11
  signal?: AbortSignal;
9
12
  }): Promise<{
@@ -60,6 +63,7 @@ export declare function listModelProviderConfigs({ workspaceId, signal, }: {
60
63
  default_provider_id: string | null;
61
64
  default_harness_id: "pi" | "claude" | null;
62
65
  }>;
66
+ export declare function modelProviderConfigsQueryOptions(workspaceId: string | undefined): ModelProviderConfigsQueryOptions;
63
67
  export declare function upsertModelProviderConfig({ workspaceId, providerId, body, }: {
64
68
  workspaceId: string;
65
69
  providerId: SupportedModelProviderId;
@@ -331,4 +335,5 @@ export declare function useSetDefaultHarnessMutation(): import("@tanstack/react-
331
335
  workspaceId: string;
332
336
  body: SetDefaultHarnessBodyDto;
333
337
  }, unknown>;
338
+ export {};
334
339
  //# sourceMappingURL=model-providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-providers.d.ts","sourceRoot":"","sources":["../../../src/hooks/api/model-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-providers.d.ts","sourceRoot":"","sources":["../../../src/hooks/api/model-providers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { apiRequest } from '@shipfox/client-api';
2
- import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
2
+ import { queryOptions, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
3
3
  export const modelProviderQueryKeys = {
4
4
  all: [
5
5
  'model-providers'
@@ -24,6 +24,19 @@ export async function listModelProviderConfigs({ workspaceId, signal }) {
24
24
  signal
25
25
  });
26
26
  }
27
+ export function modelProviderConfigsQueryOptions(workspaceId) {
28
+ return queryOptions({
29
+ queryKey: workspaceId ? modelProviderQueryKeys.configs(workspaceId) : [
30
+ ...modelProviderQueryKeys.all,
31
+ 'configs'
32
+ ],
33
+ enabled: Boolean(workspaceId),
34
+ queryFn: ({ signal })=>listModelProviderConfigs({
35
+ workspaceId: workspaceId ?? '',
36
+ signal
37
+ })
38
+ });
39
+ }
27
40
  export async function upsertModelProviderConfig({ workspaceId, providerId, body }) {
28
41
  return await apiRequest(`/workspaces/${workspaceId}/agent/model-providers/${providerId}`, {
29
42
  method: 'PUT',
@@ -87,17 +100,7 @@ export function useModelProviderCatalogQuery() {
87
100
  });
88
101
  }
89
102
  export function useModelProviderConfigsQuery(workspaceId) {
90
- return useQuery({
91
- queryKey: workspaceId ? modelProviderQueryKeys.configs(workspaceId) : [
92
- ...modelProviderQueryKeys.all,
93
- 'configs'
94
- ],
95
- enabled: Boolean(workspaceId),
96
- queryFn: ({ signal })=>listModelProviderConfigs({
97
- workspaceId: workspaceId ?? '',
98
- signal
99
- })
100
- });
103
+ return useQuery(modelProviderConfigsQueryOptions(workspaceId));
101
104
  }
102
105
  export function useUpsertModelProviderConfigMutation() {
103
106
  const queryClient = useQueryClient();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/api/model-providers.ts"],"sourcesContent":["import type {\n CreateCustomModelProviderBodyDto,\n CustomModelProviderConfigDto,\n DiscoverCustomModelProviderModelsBodyDto,\n DiscoverCustomModelProviderModelsBySlugBodyDto,\n DiscoverCustomModelProviderModelsResponseDto,\n ListModelProviderConfigsResponseDto,\n ModelProviderCatalogResponseDto,\n ModelProviderConfigDto,\n ModelProviderRef,\n SetDefaultHarnessBodyDto,\n SetDefaultHarnessResponseDto,\n SetDefaultModelProviderBodyDto,\n SetDefaultModelProviderResponseDto,\n SupportedModelProviderId,\n UpdateCustomModelProviderBodyDto,\n UpdateModelProviderConfigBodyDto,\n UpdateModelProviderDefaultModelBodyDto,\n} from '@shipfox/api-agent-dto';\nimport {apiRequest} from '@shipfox/client-api';\nimport {useMutation, useQuery, useQueryClient} from '@tanstack/react-query';\n\nexport const modelProviderQueryKeys = {\n all: ['model-providers'] as const,\n catalog: () => [...modelProviderQueryKeys.all, 'catalog'] as const,\n configs: (workspaceId: string) =>\n [...modelProviderQueryKeys.all, 'configs', workspaceId] as const,\n};\n\nexport async function getModelProviderCatalog({signal}: {signal?: AbortSignal} = {}) {\n return await apiRequest<ModelProviderCatalogResponseDto>('/agent/model-provider-catalog', {\n signal,\n });\n}\n\nexport async function listModelProviderConfigs({\n workspaceId,\n signal,\n}: {\n workspaceId: string;\n signal?: AbortSignal;\n}) {\n return await apiRequest<ListModelProviderConfigsResponseDto>(\n `/workspaces/${workspaceId}/agent/model-providers`,\n {signal},\n );\n}\n\nexport async function upsertModelProviderConfig({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: SupportedModelProviderId;\n body: UpdateModelProviderConfigBodyDto;\n}) {\n return await apiRequest<ModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/model-providers/${providerId}`,\n {method: 'PUT', body},\n );\n}\n\nexport async function createCustomModelProviderConfig({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: CreateCustomModelProviderBodyDto;\n}) {\n return await apiRequest<CustomModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers`,\n {method: 'POST', body},\n );\n}\n\nexport async function updateCustomModelProviderConfig({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: ModelProviderRef;\n body: UpdateCustomModelProviderBodyDto;\n}) {\n return await apiRequest<CustomModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers/${providerId}`,\n {method: 'PUT', body},\n );\n}\n\nexport async function discoverCustomModelProviderModels({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: DiscoverCustomModelProviderModelsBodyDto;\n}) {\n return await apiRequest<DiscoverCustomModelProviderModelsResponseDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers/discover-models`,\n {method: 'POST', body},\n );\n}\n\nexport async function discoverCustomModelProviderModelsBySlug({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: ModelProviderRef;\n body: DiscoverCustomModelProviderModelsBySlugBodyDto;\n}) {\n return await apiRequest<DiscoverCustomModelProviderModelsResponseDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers/${providerId}/discover-models`,\n {method: 'POST', body},\n );\n}\n\nexport async function deleteModelProviderConfig({\n workspaceId,\n providerId,\n}: {\n workspaceId: string;\n providerId: ModelProviderRef;\n}) {\n return await apiRequest<void>(`/workspaces/${workspaceId}/agent/model-providers/${providerId}`, {\n method: 'DELETE',\n });\n}\n\nexport async function updateModelProviderDefaultModel({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: SupportedModelProviderId;\n body: UpdateModelProviderDefaultModelBodyDto;\n}) {\n return await apiRequest<ModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/model-providers/${providerId}/default-model`,\n {method: 'PUT', body},\n );\n}\n\nexport async function setDefaultModelProvider({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: SetDefaultModelProviderBodyDto;\n}) {\n return await apiRequest<SetDefaultModelProviderResponseDto>(\n `/workspaces/${workspaceId}/agent/default-model-provider`,\n {method: 'PUT', body},\n );\n}\n\nexport async function setDefaultHarness({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: SetDefaultHarnessBodyDto;\n}) {\n return await apiRequest<SetDefaultHarnessResponseDto>(\n `/workspaces/${workspaceId}/agent/default-harness`,\n {method: 'PUT', body},\n );\n}\n\nexport function useModelProviderCatalogQuery() {\n return useQuery({\n queryKey: modelProviderQueryKeys.catalog(),\n queryFn: ({signal}) => getModelProviderCatalog({signal}),\n staleTime: 1000 * 60 * 60,\n });\n}\n\nexport function useModelProviderConfigsQuery(workspaceId: string | undefined) {\n return useQuery({\n queryKey: workspaceId\n ? modelProviderQueryKeys.configs(workspaceId)\n : [...modelProviderQueryKeys.all, 'configs'],\n enabled: Boolean(workspaceId),\n queryFn: ({signal}) => listModelProviderConfigs({workspaceId: workspaceId ?? '', signal}),\n });\n}\n\nexport function useUpsertModelProviderConfigMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: upsertModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useCreateCustomModelProviderMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: createCustomModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useUpdateCustomModelProviderMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: updateCustomModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useDiscoverCustomModelProviderModelsMutation() {\n return useMutation({mutationFn: discoverCustomModelProviderModels});\n}\n\nexport function useDiscoverCustomModelProviderModelsBySlugMutation() {\n return useMutation({mutationFn: discoverCustomModelProviderModelsBySlug});\n}\n\nexport function useDeleteModelProviderConfigMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: deleteModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useUpdateModelProviderDefaultModelMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: updateModelProviderDefaultModel,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useSetDefaultModelProviderMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: setDefaultModelProvider,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useSetDefaultHarnessMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: setDefaultHarness,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n"],"names":["apiRequest","useMutation","useQuery","useQueryClient","modelProviderQueryKeys","all","catalog","configs","workspaceId","getModelProviderCatalog","signal","listModelProviderConfigs","upsertModelProviderConfig","providerId","body","method","createCustomModelProviderConfig","updateCustomModelProviderConfig","discoverCustomModelProviderModels","discoverCustomModelProviderModelsBySlug","deleteModelProviderConfig","updateModelProviderDefaultModel","setDefaultModelProvider","setDefaultHarness","useModelProviderCatalogQuery","queryKey","queryFn","staleTime","useModelProviderConfigsQuery","enabled","Boolean","useUpsertModelProviderConfigMutation","queryClient","mutationFn","onSuccess","_config","variables","invalidateQueries","useCreateCustomModelProviderMutation","useUpdateCustomModelProviderMutation","useDiscoverCustomModelProviderModelsMutation","useDiscoverCustomModelProviderModelsBySlugMutation","useDeleteModelProviderConfigMutation","useUpdateModelProviderDefaultModelMutation","useSetDefaultModelProviderMutation","useSetDefaultHarnessMutation"],"mappings":"AAmBA,SAAQA,UAAU,QAAO,sBAAsB;AAC/C,SAAQC,WAAW,EAAEC,QAAQ,EAAEC,cAAc,QAAO,wBAAwB;AAE5E,OAAO,MAAMC,yBAAyB;IACpCC,KAAK;QAAC;KAAkB;IACxBC,SAAS,IAAM;eAAIF,uBAAuBC,GAAG;YAAE;SAAU;IACzDE,SAAS,CAACC,cACR;eAAIJ,uBAAuBC,GAAG;YAAE;YAAWG;SAAY;AAC3D,EAAE;AAEF,OAAO,eAAeC,wBAAwB,EAACC,MAAM,EAAyB,GAAG,CAAC,CAAC;IACjF,OAAO,MAAMV,WAA4C,iCAAiC;QACxFU;IACF;AACF;AAEA,OAAO,eAAeC,yBAAyB,EAC7CH,WAAW,EACXE,MAAM,EAIP;IACC,OAAO,MAAMV,WACX,CAAC,YAAY,EAAEQ,YAAY,sBAAsB,CAAC,EAClD;QAACE;IAAM;AAEX;AAEA,OAAO,eAAeE,0BAA0B,EAC9CJ,WAAW,EACXK,UAAU,EACVC,IAAI,EAKL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,uBAAuB,EAAEK,YAAY,EAChE;QAACE,QAAQ;QAAOD;IAAI;AAExB;AAEA,OAAO,eAAeE,gCAAgC,EACpDR,WAAW,EACXM,IAAI,EAIL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,6BAA6B,CAAC,EACzD;QAACO,QAAQ;QAAQD;IAAI;AAEzB;AAEA,OAAO,eAAeG,gCAAgC,EACpDT,WAAW,EACXK,UAAU,EACVC,IAAI,EAKL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,8BAA8B,EAAEK,YAAY,EACvE;QAACE,QAAQ;QAAOD;IAAI;AAExB;AAEA,OAAO,eAAeI,kCAAkC,EACtDV,WAAW,EACXM,IAAI,EAIL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,6CAA6C,CAAC,EACzE;QAACO,QAAQ;QAAQD;IAAI;AAEzB;AAEA,OAAO,eAAeK,wCAAwC,EAC5DX,WAAW,EACXK,UAAU,EACVC,IAAI,EAKL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,8BAA8B,EAAEK,WAAW,gBAAgB,CAAC,EACvF;QAACE,QAAQ;QAAQD;IAAI;AAEzB;AAEA,OAAO,eAAeM,0BAA0B,EAC9CZ,WAAW,EACXK,UAAU,EAIX;IACC,OAAO,MAAMb,WAAiB,CAAC,YAAY,EAAEQ,YAAY,uBAAuB,EAAEK,YAAY,EAAE;QAC9FE,QAAQ;IACV;AACF;AAEA,OAAO,eAAeM,gCAAgC,EACpDb,WAAW,EACXK,UAAU,EACVC,IAAI,EAKL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,uBAAuB,EAAEK,WAAW,cAAc,CAAC,EAC9E;QAACE,QAAQ;QAAOD;IAAI;AAExB;AAEA,OAAO,eAAeQ,wBAAwB,EAC5Cd,WAAW,EACXM,IAAI,EAIL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,6BAA6B,CAAC,EACzD;QAACO,QAAQ;QAAOD;IAAI;AAExB;AAEA,OAAO,eAAeS,kBAAkB,EACtCf,WAAW,EACXM,IAAI,EAIL;IACC,OAAO,MAAMd,WACX,CAAC,YAAY,EAAEQ,YAAY,sBAAsB,CAAC,EAClD;QAACO,QAAQ;QAAOD;IAAI;AAExB;AAEA,OAAO,SAASU;IACd,OAAOtB,SAAS;QACduB,UAAUrB,uBAAuBE,OAAO;QACxCoB,SAAS,CAAC,EAAChB,MAAM,EAAC,GAAKD,wBAAwB;gBAACC;YAAM;QACtDiB,WAAW,OAAO,KAAK;IACzB;AACF;AAEA,OAAO,SAASC,6BAA6BpB,WAA+B;IAC1E,OAAON,SAAS;QACduB,UAAUjB,cACNJ,uBAAuBG,OAAO,CAACC,eAC/B;eAAIJ,uBAAuBC,GAAG;YAAE;SAAU;QAC9CwB,SAASC,QAAQtB;QACjBkB,SAAS,CAAC,EAAChB,MAAM,EAAC,GAAKC,yBAAyB;gBAACH,aAAaA,eAAe;gBAAIE;YAAM;IACzF;AACF;AAEA,OAAO,SAASqB;IACd,MAAMC,cAAc7B;IACpB,OAAOF,YAAY;QACjBgC,YAAYrB;QACZsB,WAAW,OAAOC,SAASC;YACzB,MAAMJ,YAAYK,iBAAiB,CAAC;gBAClCZ,UAAUrB,uBAAuBG,OAAO,CAAC6B,UAAU5B,WAAW;YAChE;QACF;IACF;AACF;AAEA,OAAO,SAAS8B;IACd,MAAMN,cAAc7B;IACpB,OAAOF,YAAY;QACjBgC,YAAYjB;QACZkB,WAAW,OAAOC,SAASC;YACzB,MAAMJ,YAAYK,iBAAiB,CAAC;gBAClCZ,UAAUrB,uBAAuBG,OAAO,CAAC6B,UAAU5B,WAAW;YAChE;QACF;IACF;AACF;AAEA,OAAO,SAAS+B;IACd,MAAMP,cAAc7B;IACpB,OAAOF,YAAY;QACjBgC,YAAYhB;QACZiB,WAAW,OAAOC,SAASC;YACzB,MAAMJ,YAAYK,iBAAiB,CAAC;gBAClCZ,UAAUrB,uBAAuBG,OAAO,CAAC6B,UAAU5B,WAAW;YAChE;QACF;IACF;AACF;AAEA,OAAO,SAASgC;IACd,OAAOvC,YAAY;QAACgC,YAAYf;IAAiC;AACnE;AAEA,OAAO,SAASuB;IACd,OAAOxC,YAAY;QAACgC,YAAYd;IAAuC;AACzE;AAEA,OAAO,SAASuB;IACd,MAAMV,cAAc7B;IACpB,OAAOF,YAAY;QACjBgC,YAAYb;QACZc,WAAW,OAAOC,SAASC;YACzB,MAAMJ,YAAYK,iBAAiB,CAAC;gBAClCZ,UAAUrB,uBAAuBG,OAAO,CAAC6B,UAAU5B,WAAW;YAChE;QACF;IACF;AACF;AAEA,OAAO,SAASmC;IACd,MAAMX,cAAc7B;IACpB,OAAOF,YAAY;QACjBgC,YAAYZ;QACZa,WAAW,OAAOC,SAASC;YACzB,MAAMJ,YAAYK,iBAAiB,CAAC;gBAClCZ,UAAUrB,uBAAuBG,OAAO,CAAC6B,UAAU5B,WAAW;YAChE;QACF;IACF;AACF;AAEA,OAAO,SAASoC;IACd,MAAMZ,cAAc7B;IACpB,OAAOF,YAAY;QACjBgC,YAAYX;QACZY,WAAW,OAAOC,SAASC;YACzB,MAAMJ,YAAYK,iBAAiB,CAAC;gBAClCZ,UAAUrB,uBAAuBG,OAAO,CAAC6B,UAAU5B,WAAW;YAChE;QACF;IACF;AACF;AAEA,OAAO,SAASqC;IACd,MAAMb,cAAc7B;IACpB,OAAOF,YAAY;QACjBgC,YAAYV;QACZW,WAAW,OAAOC,SAASC;YACzB,MAAMJ,YAAYK,iBAAiB,CAAC;gBAClCZ,UAAUrB,uBAAuBG,OAAO,CAAC6B,UAAU5B,WAAW;YAChE;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/hooks/api/model-providers.ts"],"sourcesContent":["import type {\n CreateCustomModelProviderBodyDto,\n CustomModelProviderConfigDto,\n DiscoverCustomModelProviderModelsBodyDto,\n DiscoverCustomModelProviderModelsBySlugBodyDto,\n DiscoverCustomModelProviderModelsResponseDto,\n ListModelProviderConfigsResponseDto,\n ModelProviderCatalogResponseDto,\n ModelProviderConfigDto,\n ModelProviderRef,\n SetDefaultHarnessBodyDto,\n SetDefaultHarnessResponseDto,\n SetDefaultModelProviderBodyDto,\n SetDefaultModelProviderResponseDto,\n SupportedModelProviderId,\n UpdateCustomModelProviderBodyDto,\n UpdateModelProviderConfigBodyDto,\n UpdateModelProviderDefaultModelBodyDto,\n} from '@shipfox/api-agent-dto';\nimport {apiRequest} from '@shipfox/client-api';\nimport {\n type FetchQueryOptions,\n queryOptions,\n useMutation,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query';\n\nexport const modelProviderQueryKeys = {\n all: ['model-providers'] as const,\n catalog: () => [...modelProviderQueryKeys.all, 'catalog'] as const,\n configs: (workspaceId: string) =>\n [...modelProviderQueryKeys.all, 'configs', workspaceId] as const,\n};\n\ntype ModelProviderConfigsQueryKey =\n | ReturnType<typeof modelProviderQueryKeys.configs>\n | readonly ['model-providers', 'configs'];\n\ntype ModelProviderConfigsQueryOptions = FetchQueryOptions<\n ListModelProviderConfigsResponseDto,\n Error,\n ListModelProviderConfigsResponseDto,\n ModelProviderConfigsQueryKey\n>;\n\nexport async function getModelProviderCatalog({signal}: {signal?: AbortSignal} = {}) {\n return await apiRequest<ModelProviderCatalogResponseDto>('/agent/model-provider-catalog', {\n signal,\n });\n}\n\nexport async function listModelProviderConfigs({\n workspaceId,\n signal,\n}: {\n workspaceId: string;\n signal?: AbortSignal;\n}) {\n return await apiRequest<ListModelProviderConfigsResponseDto>(\n `/workspaces/${workspaceId}/agent/model-providers`,\n {signal},\n );\n}\n\nexport function modelProviderConfigsQueryOptions(\n workspaceId: string | undefined,\n): ModelProviderConfigsQueryOptions {\n return queryOptions({\n queryKey: workspaceId\n ? modelProviderQueryKeys.configs(workspaceId)\n : ([...modelProviderQueryKeys.all, 'configs'] as const),\n enabled: Boolean(workspaceId),\n queryFn: ({signal}) => listModelProviderConfigs({workspaceId: workspaceId ?? '', signal}),\n });\n}\n\nexport async function upsertModelProviderConfig({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: SupportedModelProviderId;\n body: UpdateModelProviderConfigBodyDto;\n}) {\n return await apiRequest<ModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/model-providers/${providerId}`,\n {method: 'PUT', body},\n );\n}\n\nexport async function createCustomModelProviderConfig({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: CreateCustomModelProviderBodyDto;\n}) {\n return await apiRequest<CustomModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers`,\n {method: 'POST', body},\n );\n}\n\nexport async function updateCustomModelProviderConfig({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: ModelProviderRef;\n body: UpdateCustomModelProviderBodyDto;\n}) {\n return await apiRequest<CustomModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers/${providerId}`,\n {method: 'PUT', body},\n );\n}\n\nexport async function discoverCustomModelProviderModels({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: DiscoverCustomModelProviderModelsBodyDto;\n}) {\n return await apiRequest<DiscoverCustomModelProviderModelsResponseDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers/discover-models`,\n {method: 'POST', body},\n );\n}\n\nexport async function discoverCustomModelProviderModelsBySlug({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: ModelProviderRef;\n body: DiscoverCustomModelProviderModelsBySlugBodyDto;\n}) {\n return await apiRequest<DiscoverCustomModelProviderModelsResponseDto>(\n `/workspaces/${workspaceId}/agent/custom-model-providers/${providerId}/discover-models`,\n {method: 'POST', body},\n );\n}\n\nexport async function deleteModelProviderConfig({\n workspaceId,\n providerId,\n}: {\n workspaceId: string;\n providerId: ModelProviderRef;\n}) {\n return await apiRequest<void>(`/workspaces/${workspaceId}/agent/model-providers/${providerId}`, {\n method: 'DELETE',\n });\n}\n\nexport async function updateModelProviderDefaultModel({\n workspaceId,\n providerId,\n body,\n}: {\n workspaceId: string;\n providerId: SupportedModelProviderId;\n body: UpdateModelProviderDefaultModelBodyDto;\n}) {\n return await apiRequest<ModelProviderConfigDto>(\n `/workspaces/${workspaceId}/agent/model-providers/${providerId}/default-model`,\n {method: 'PUT', body},\n );\n}\n\nexport async function setDefaultModelProvider({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: SetDefaultModelProviderBodyDto;\n}) {\n return await apiRequest<SetDefaultModelProviderResponseDto>(\n `/workspaces/${workspaceId}/agent/default-model-provider`,\n {method: 'PUT', body},\n );\n}\n\nexport async function setDefaultHarness({\n workspaceId,\n body,\n}: {\n workspaceId: string;\n body: SetDefaultHarnessBodyDto;\n}) {\n return await apiRequest<SetDefaultHarnessResponseDto>(\n `/workspaces/${workspaceId}/agent/default-harness`,\n {method: 'PUT', body},\n );\n}\n\nexport function useModelProviderCatalogQuery() {\n return useQuery({\n queryKey: modelProviderQueryKeys.catalog(),\n queryFn: ({signal}) => getModelProviderCatalog({signal}),\n staleTime: 1000 * 60 * 60,\n });\n}\n\nexport function useModelProviderConfigsQuery(workspaceId: string | undefined) {\n return useQuery(modelProviderConfigsQueryOptions(workspaceId));\n}\n\nexport function useUpsertModelProviderConfigMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: upsertModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useCreateCustomModelProviderMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: createCustomModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useUpdateCustomModelProviderMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: updateCustomModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useDiscoverCustomModelProviderModelsMutation() {\n return useMutation({mutationFn: discoverCustomModelProviderModels});\n}\n\nexport function useDiscoverCustomModelProviderModelsBySlugMutation() {\n return useMutation({mutationFn: discoverCustomModelProviderModelsBySlug});\n}\n\nexport function useDeleteModelProviderConfigMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: deleteModelProviderConfig,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useUpdateModelProviderDefaultModelMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: updateModelProviderDefaultModel,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useSetDefaultModelProviderMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: setDefaultModelProvider,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n\nexport function useSetDefaultHarnessMutation() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: setDefaultHarness,\n onSuccess: async (_config, variables) => {\n await queryClient.invalidateQueries({\n queryKey: modelProviderQueryKeys.configs(variables.workspaceId),\n });\n },\n });\n}\n"],"names":["apiRequest","queryOptions","useMutation","useQuery","useQueryClient","modelProviderQueryKeys","all","catalog","configs","workspaceId","getModelProviderCatalog","signal","listModelProviderConfigs","modelProviderConfigsQueryOptions","queryKey","enabled","Boolean","queryFn","upsertModelProviderConfig","providerId","body","method","createCustomModelProviderConfig","updateCustomModelProviderConfig","discoverCustomModelProviderModels","discoverCustomModelProviderModelsBySlug","deleteModelProviderConfig","updateModelProviderDefaultModel","setDefaultModelProvider","setDefaultHarness","useModelProviderCatalogQuery","staleTime","useModelProviderConfigsQuery","useUpsertModelProviderConfigMutation","queryClient","mutationFn","onSuccess","_config","variables","invalidateQueries","useCreateCustomModelProviderMutation","useUpdateCustomModelProviderMutation","useDiscoverCustomModelProviderModelsMutation","useDiscoverCustomModelProviderModelsBySlugMutation","useDeleteModelProviderConfigMutation","useUpdateModelProviderDefaultModelMutation","useSetDefaultModelProviderMutation","useSetDefaultHarnessMutation"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ declare const _default: import("@shipfox/client-shell/runtime").RouteImpl<{
2
+ readonly component: () => import("react").JSX.Element;
3
+ }>;
4
+ export default _default;
5
+ //# sourceMappingURL=agents-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-settings.d.ts","sourceRoot":"","sources":["../../src/routes/agents-settings.tsx"],"names":[],"mappings":";;;AAGA,wBAUG"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { defineRoute, useActiveWorkspace } from '@shipfox/client-shell/runtime';
3
+ import { WorkspaceHarnessesSection, WorkspaceModelProvidersSection } from '#index.js';
4
+ export default defineRoute({
5
+ component: ()=>{
6
+ const workspace = useActiveWorkspace();
7
+ return /*#__PURE__*/ _jsxs("div", {
8
+ className: "flex flex-col gap-32",
9
+ children: [
10
+ /*#__PURE__*/ _jsx(WorkspaceHarnessesSection, {
11
+ workspaceId: workspace.id
12
+ }),
13
+ /*#__PURE__*/ _jsx(WorkspaceModelProvidersSection, {
14
+ workspaceId: workspace.id
15
+ })
16
+ ]
17
+ });
18
+ }
19
+ });
20
+
21
+ //# sourceMappingURL=agents-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/routes/agents-settings.tsx"],"sourcesContent":["import {defineRoute, useActiveWorkspace} from '@shipfox/client-shell/runtime';\nimport {WorkspaceHarnessesSection, WorkspaceModelProvidersSection} from '#index.js';\n\nexport default defineRoute({\n component: () => {\n const workspace = useActiveWorkspace();\n return (\n <div className=\"flex flex-col gap-32\">\n <WorkspaceHarnessesSection workspaceId={workspace.id} />\n <WorkspaceModelProvidersSection workspaceId={workspace.id} />\n </div>\n );\n },\n});\n"],"names":["defineRoute","useActiveWorkspace","WorkspaceHarnessesSection","WorkspaceModelProvidersSection","component","workspace","div","className","workspaceId","id"],"mappings":";AAAA,SAAQA,WAAW,EAAEC,kBAAkB,QAAO,gCAAgC;AAC9E,SAAQC,yBAAyB,EAAEC,8BAA8B,QAAO,YAAY;AAEpF,eAAeH,YAAY;IACzBI,WAAW;QACT,MAAMC,YAAYJ;QAClB,qBACE,MAACK;YAAIC,WAAU;;8BACb,KAACL;oBAA0BM,aAAaH,UAAUI,EAAE;;8BACpD,KAACN;oBAA+BK,aAAaH,UAAUI,EAAE;;;;IAG/D;AACF,GAAG"}