@truefoundry/trueforge-ui 0.3.0-rc.5 → 0.3.0-rc.7

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{AgentCodeSnippets-V5A56M7R.js → AgentCodeSnippets-T7PR6PDP.js} +7 -7
  3. package/dist/AgentMetricChart-J3RCSCAG.js +15 -0
  4. package/dist/{AgentOverview-NPC4P2EY.js → AgentOverview-WC7WMNMS.js} +11 -9
  5. package/dist/AgentOverview-WC7WMNMS.js.map +1 -0
  6. package/dist/{AgentSessionEventTimeline-UUXOJXTC.js → AgentSessionEventTimeline-SETKGGCI.js} +7 -7
  7. package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js → AgentSessionEventTimelineChart-4Y7PY5SJ.js} +7 -7
  8. package/dist/{AgentSessions-WHODEG2M.js → AgentSessions-YCAPM5GK.js} +8 -8
  9. package/dist/{ConnectorSettings-QTAI4TQX.js → ConnectorSettings-PXWRCFAL.js} +7 -7
  10. package/dist/{DockLayout-TATYU5SV.js → DockLayout-JRKCKAG2.js} +10 -10
  11. package/dist/{DrawerLayout-DXHNV33K.js → DrawerLayout-U7YPUZBR.js} +11 -11
  12. package/dist/{ModelSettings-UWTBHQRG.js → ModelSettings-VXYMJEMO.js} +7 -7
  13. package/dist/OpenUiFenceBlock-KPZFLUSC.js +9 -0
  14. package/dist/{SandboxSettings-BITQONS3.js → SandboxSettings-6DRUH72J.js} +7 -7
  15. package/dist/SchedulesPage-2G6F4XO6.js +15 -0
  16. package/dist/{SettingsBuilder-3OA4UCIM.js → SettingsBuilder-6FJVZLJT.js} +9 -9
  17. package/dist/{SettingsBuilder-3OA4UCIM.js.map → SettingsBuilder-6FJVZLJT.js.map} +1 -1
  18. package/dist/{ShellRouteSync-J74MV23Q.js → ShellRouteSync-SJXFKUAJ.js} +4 -4
  19. package/dist/{SidebarLayout-EQXQPYIU.js → SidebarLayout-EQ7EYCWR.js} +12 -12
  20. package/dist/{SkillSettings-KQ6GQ7JW.js → SkillSettings-IHVI7FDM.js} +7 -7
  21. package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js → TrueForgeUIWithRouter-5OJFI3PF.js} +9 -9
  22. package/dist/{WidgetLayout-YWZTYFZL.js → WidgetLayout-PN5ZDOLM.js} +10 -10
  23. package/dist/{chunk-TAABBM7F.js → chunk-2GIZY3JJ.js} +3 -1
  24. package/dist/chunk-2GIZY3JJ.js.map +1 -0
  25. package/dist/{chunk-4MCIDE2C.js → chunk-2QTH6JHX.js} +3 -3
  26. package/dist/{chunk-ZZB3JIBQ.js → chunk-2UBSLCKB.js} +9 -9
  27. package/dist/{chunk-IIHJ32YH.js → chunk-3ZW74FHC.js} +3 -3
  28. package/dist/{chunk-CFGLAGWH.js → chunk-CG75X77Q.js} +2 -2
  29. package/dist/{chunk-TFFTZB26.js → chunk-E33DFTVN.js} +8 -8
  30. package/dist/chunk-E33DFTVN.js.map +1 -0
  31. package/dist/{chunk-ERIIJKJY.js → chunk-F7YRYFAF.js} +4 -4
  32. package/dist/chunk-JCL3Q7RW.js +587 -0
  33. package/dist/{chunk-OWDH67NY.js.map → chunk-JCL3Q7RW.js.map} +1 -1
  34. package/dist/{chunk-IVDIBAVH.js → chunk-L7HNKKS2.js} +2 -2
  35. package/dist/{chunk-INY3J2BV.js → chunk-OWXPMQ7N.js} +10 -10
  36. package/dist/{chunk-7NYDADYN.js → chunk-PX6MNNN3.js} +5 -5
  37. package/dist/{chunk-3QWUHGNL.js → chunk-T6QQV5LK.js} +55 -12
  38. package/dist/chunk-T6QQV5LK.js.map +1 -0
  39. package/dist/{chunk-DCVKW445.js → chunk-TMIILLHB.js} +478 -268
  40. package/dist/chunk-TMIILLHB.js.map +1 -0
  41. package/dist/{chunk-MMU55KCW.js → chunk-XANC4F2H.js} +318 -166
  42. package/dist/chunk-XANC4F2H.js.map +1 -0
  43. package/dist/index.d.ts +15 -11
  44. package/dist/index.js +12 -12
  45. package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +2 -1
  46. package/dist/plugins/trueforge-agent-server-adapter/index.js +65 -14
  47. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
  48. package/dist/styles.css +1 -1
  49. package/package.json +3 -3
  50. package/dist/AgentMetricChart-GEADURES.js +0 -15
  51. package/dist/AgentOverview-NPC4P2EY.js.map +0 -1
  52. package/dist/OpenUiFenceBlock-FHEYXZEQ.js +0 -9
  53. package/dist/SchedulesPage-JIUWNYUH.js +0 -15
  54. package/dist/chunk-3QWUHGNL.js.map +0 -1
  55. package/dist/chunk-DCVKW445.js.map +0 -1
  56. package/dist/chunk-MMU55KCW.js.map +0 -1
  57. package/dist/chunk-OWDH67NY.js +0 -587
  58. package/dist/chunk-TAABBM7F.js.map +0 -1
  59. package/dist/chunk-TFFTZB26.js.map +0 -1
  60. /package/dist/{AgentCodeSnippets-V5A56M7R.js.map → AgentCodeSnippets-T7PR6PDP.js.map} +0 -0
  61. /package/dist/{AgentMetricChart-GEADURES.js.map → AgentMetricChart-J3RCSCAG.js.map} +0 -0
  62. /package/dist/{AgentSessionEventTimeline-UUXOJXTC.js.map → AgentSessionEventTimeline-SETKGGCI.js.map} +0 -0
  63. /package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js.map → AgentSessionEventTimelineChart-4Y7PY5SJ.js.map} +0 -0
  64. /package/dist/{AgentSessions-WHODEG2M.js.map → AgentSessions-YCAPM5GK.js.map} +0 -0
  65. /package/dist/{ConnectorSettings-QTAI4TQX.js.map → ConnectorSettings-PXWRCFAL.js.map} +0 -0
  66. /package/dist/{DockLayout-TATYU5SV.js.map → DockLayout-JRKCKAG2.js.map} +0 -0
  67. /package/dist/{DrawerLayout-DXHNV33K.js.map → DrawerLayout-U7YPUZBR.js.map} +0 -0
  68. /package/dist/{ModelSettings-UWTBHQRG.js.map → ModelSettings-VXYMJEMO.js.map} +0 -0
  69. /package/dist/{OpenUiFenceBlock-FHEYXZEQ.js.map → OpenUiFenceBlock-KPZFLUSC.js.map} +0 -0
  70. /package/dist/{SandboxSettings-BITQONS3.js.map → SandboxSettings-6DRUH72J.js.map} +0 -0
  71. /package/dist/{SchedulesPage-JIUWNYUH.js.map → SchedulesPage-2G6F4XO6.js.map} +0 -0
  72. /package/dist/{ShellRouteSync-J74MV23Q.js.map → ShellRouteSync-SJXFKUAJ.js.map} +0 -0
  73. /package/dist/{SidebarLayout-EQXQPYIU.js.map → SidebarLayout-EQ7EYCWR.js.map} +0 -0
  74. /package/dist/{SkillSettings-KQ6GQ7JW.js.map → SkillSettings-IHVI7FDM.js.map} +0 -0
  75. /package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js.map → TrueForgeUIWithRouter-5OJFI3PF.js.map} +0 -0
  76. /package/dist/{WidgetLayout-YWZTYFZL.js.map → WidgetLayout-PN5ZDOLM.js.map} +0 -0
  77. /package/dist/{chunk-4MCIDE2C.js.map → chunk-2QTH6JHX.js.map} +0 -0
  78. /package/dist/{chunk-ZZB3JIBQ.js.map → chunk-2UBSLCKB.js.map} +0 -0
  79. /package/dist/{chunk-IIHJ32YH.js.map → chunk-3ZW74FHC.js.map} +0 -0
  80. /package/dist/{chunk-CFGLAGWH.js.map → chunk-CG75X77Q.js.map} +0 -0
  81. /package/dist/{chunk-ERIIJKJY.js.map → chunk-F7YRYFAF.js.map} +0 -0
  82. /package/dist/{chunk-IVDIBAVH.js.map → chunk-L7HNKKS2.js.map} +0 -0
  83. /package/dist/{chunk-INY3J2BV.js.map → chunk-OWXPMQ7N.js.map} +0 -0
  84. /package/dist/{chunk-7NYDADYN.js.map → chunk-PX6MNNN3.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -592,7 +592,7 @@ type AgentOverviewProps = {
592
592
  };
593
593
  type AgentOverviewCardProps = {
594
594
  title: string;
595
- icon: string;
595
+ icon?: string;
596
596
  count?: number;
597
597
  children: ReactNode;
598
598
  };
@@ -1504,15 +1504,16 @@ declare module '../theme/SlotsProvider.js' {
1504
1504
  type SaveAgentFormProps = {
1505
1505
  intent: 'create' | 'update';
1506
1506
  name: string;
1507
+ description: string;
1507
1508
  spec: AgentSpec;
1508
1509
  saving: boolean;
1509
1510
  error: string | null;
1510
1511
  onNameChange: (name: string) => void;
1511
- onChange: (spec: AgentSpec) => void;
1512
+ onDescriptionChange: (description: string) => void;
1512
1513
  onCancel: () => void;
1513
1514
  onSave: () => void;
1514
1515
  };
1515
- declare function SaveAgentForm({ intent, name, spec, saving, error, onNameChange, onCancel, onSave, }: SaveAgentFormProps): react.JSX.Element;
1516
+ declare function SaveAgentForm({ intent, name, description, spec, saving, error, onNameChange, onDescriptionChange, onCancel, onSave, }: SaveAgentFormProps): react.JSX.Element;
1516
1517
  declare module '../theme/SlotsProvider.js' {
1517
1518
  interface AtomSlots {
1518
1519
  SaveAgentForm: typeof SaveAgentForm;
@@ -2044,6 +2045,7 @@ type IconButtonProps = Omit<ButtonProps, 'size' | 'children'> & {
2044
2045
  children: react__default.ReactNode;
2045
2046
  };
2046
2047
 
2048
+ type MenuPlacement = 'top' | 'bottom';
2047
2049
  type PopoverSelectOption<T extends string> = {
2048
2050
  value: T;
2049
2051
  label: string;
@@ -2055,8 +2057,8 @@ type CommonPopoverSelectProps<T extends string> = {
2055
2057
  disabled?: boolean;
2056
2058
  className?: string;
2057
2059
  menuClassName?: string;
2058
- /** Which edge of the trigger the menu opens toward. Default `bottom`. */
2059
- menuPlacement?: 'top' | 'bottom';
2060
+ /** Preferred open edge; flips when that side lacks room. Default `bottom`. */
2061
+ menuPlacement?: MenuPlacement;
2060
2062
  /** When set, renders a labeled chip trigger (label | value chip + chevron). */
2061
2063
  prefix?: string;
2062
2064
  emptyContent?: ReactNode;
@@ -2084,6 +2086,7 @@ type DropdownMenuProps = {
2084
2086
  open?: boolean;
2085
2087
  onOpenChange?: (open: boolean) => void;
2086
2088
  closeOnClick?: boolean;
2089
+ lockScroll?: boolean;
2087
2090
  };
2088
2091
 
2089
2092
  type ResponsiveDropdownTriggerProps = {
@@ -2204,16 +2207,13 @@ type ScheduleFormFieldsProps = {
2204
2207
  values: ScheduleFormValues;
2205
2208
  onChange: (next: ScheduleFormValues) => void;
2206
2209
  agentId: string;
2210
+ agentLabel: string;
2207
2211
  onAgentIdChange?: (agentId: string) => void;
2208
- agentOptions: Array<{
2209
- agentId: string;
2210
- name: string;
2211
- }>;
2212
- agentOptionsLoaded?: boolean;
2212
+ onAgentPicked?: (agent: AgentLibraryEntry) => void;
2213
2213
  agentPickerDisabled?: boolean;
2214
2214
  onBuildAgent?: () => void;
2215
2215
  };
2216
- declare function ScheduleFormFields({ values, onChange, agentId, onAgentIdChange, agentOptions, agentOptionsLoaded, agentPickerDisabled, onBuildAgent, }: ScheduleFormFieldsProps): react.JSX.Element;
2216
+ declare function ScheduleFormFields({ values, onChange, agentId, agentLabel, onAgentIdChange, onAgentPicked, agentPickerDisabled, onBuildAgent, }: ScheduleFormFieldsProps): react.JSX.Element;
2217
2217
 
2218
2218
  declare function ScheduleLastRunsCell({ runs }: {
2219
2219
  runs: readonly ScheduleRun[];
@@ -2417,6 +2417,8 @@ type ShellMode = {
2417
2417
  agentId?: string;
2418
2418
  /** Display / welcome label (often same as agentId). */
2419
2419
  agentName?: string;
2420
+ /** Published-agent description, kept outside the executable agent spec. */
2421
+ description?: string;
2420
2422
  /** Seed for mutable (draft) runtime. */
2421
2423
  agentSpec?: AgentSpec;
2422
2424
  locked: boolean;
@@ -2430,6 +2432,7 @@ type SelectLibraryAgentRequest = {
2430
2432
  isCreateAgent?: boolean;
2431
2433
  agentId?: string;
2432
2434
  agentName?: string;
2435
+ description?: string;
2433
2436
  agentSpec?: AgentSpec;
2434
2437
  };
2435
2438
  type SettingsSection = 'models' | 'connectors' | 'skills' | 'sandbox';
@@ -2477,6 +2480,7 @@ type ShellModeContextValue = {
2477
2480
  bindMutableAgent: (req: {
2478
2481
  agentId: string;
2479
2482
  agentName: string;
2483
+ description?: string;
2480
2484
  agentSpec: AgentSpec;
2481
2485
  }) => void;
2482
2486
  /** @deprecated Prefer `selectLibraryAgent({ isMutable: false, agentName })`. */
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  ThreadListContainer
4
- } from "./chunk-TFFTZB26.js";
4
+ } from "./chunk-E33DFTVN.js";
5
5
  import {
6
6
  ApprovalNavContainer,
7
7
  AskUserContainer,
@@ -16,12 +16,12 @@ import {
16
16
  threadHasPendingMcpAuth,
17
17
  useApprovalNav,
18
18
  useComposerPauseView
19
- } from "./chunk-ERIIJKJY.js";
19
+ } from "./chunk-F7YRYFAF.js";
20
20
  import {
21
21
  ServerInitLoader,
22
22
  TrueForgeUIShell,
23
23
  TrueFoundryChatProvider
24
- } from "./chunk-INY3J2BV.js";
24
+ } from "./chunk-OWXPMQ7N.js";
25
25
  import "./chunk-DJUFS2BW.js";
26
26
  import {
27
27
  ComposerBusyProvider,
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-BSIPI3KV.js";
32
32
  import {
33
33
  AgentMetricChart
34
- } from "./chunk-IVDIBAVH.js";
34
+ } from "./chunk-L7HNKKS2.js";
35
35
  import {
36
36
  createTrueFoundryServer
37
37
  } from "./chunk-7AAO4UDQ.js";
@@ -50,7 +50,7 @@ import {
50
50
  ScheduleStatusBadge,
51
51
  SchedulesPage,
52
52
  TestScheduleScreen
53
- } from "./chunk-DCVKW445.js";
53
+ } from "./chunk-TMIILLHB.js";
54
54
  import {
55
55
  AgentCodeBlock,
56
56
  AgentConfigEditors,
@@ -192,14 +192,14 @@ import {
192
192
  useThemeMode,
193
193
  useToaster,
194
194
  useToasterOptional
195
- } from "./chunk-MMU55KCW.js";
196
- import "./chunk-3QWUHGNL.js";
195
+ } from "./chunk-XANC4F2H.js";
196
+ import "./chunk-T6QQV5LK.js";
197
197
  import {
198
198
  DraftCatalogProvider,
199
199
  Icon,
200
200
  registerIcons,
201
201
  useDraftCatalog
202
- } from "./chunk-IIHJ32YH.js";
202
+ } from "./chunk-3ZW74FHC.js";
203
203
  import {
204
204
  DEFAULT_AGENT_CONFIG,
205
205
  ServerProvider,
@@ -222,14 +222,14 @@ import {
222
222
  useServer,
223
223
  useServerCapabilities,
224
224
  useShellMode
225
- } from "./chunk-TAABBM7F.js";
225
+ } from "./chunk-2GIZY3JJ.js";
226
226
  import {
227
227
  useAui,
228
228
  useAuiState
229
229
  } from "./chunk-M6MHLVSO.js";
230
230
  import {
231
231
  OpenUiFenceBlock
232
- } from "./chunk-CFGLAGWH.js";
232
+ } from "./chunk-CG75X77Q.js";
233
233
  import {
234
234
  PRESETS,
235
235
  ThemeProvider,
@@ -239,7 +239,7 @@ import {
239
239
  useOptionalContentClassNames,
240
240
  useTheme,
241
241
  useThemeIcons
242
- } from "./chunk-OWDH67NY.js";
242
+ } from "./chunk-JCL3Q7RW.js";
243
243
 
244
244
  // src/icons/agent-2.svg
245
245
  import * as React from "react";
@@ -440,7 +440,7 @@ function ToolGroupContainer({ children, group }) {
440
440
  import { lazy, Suspense } from "react";
441
441
  import { jsx as jsx12 } from "react/jsx-runtime";
442
442
  var TrueForgeUIWithRouter = lazy(
443
- () => import("./TrueForgeUIWithRouter-R3UXQZRY.js").then((m) => ({ default: m.TrueForgeUIWithRouter }))
443
+ () => import("./TrueForgeUIWithRouter-5OJFI3PF.js").then((m) => ({ default: m.TrueForgeUIWithRouter }))
444
444
  );
445
445
  function TrueForgeUI(props) {
446
446
  const isMcpAuthScreen = typeof window !== "undefined" && new URLSearchParams(window.location.search).get("screenType") === "mcp-auth";
@@ -264,7 +264,6 @@ interface AgentSpec<TModel extends Model = Model, TSkill extends SkillMount = Sk
264
264
  config?: TConfig;
265
265
  instructions?: string;
266
266
  variables?: Record<string, string>;
267
- description?: string;
268
267
  }
269
268
  interface ListResult<T> {
270
269
  data: T[];
@@ -655,6 +654,8 @@ interface AgentDetail<TSpec extends AgentSpec = AgentSpec> {
655
654
  agentId: string;
656
655
  /** Display name (e.g. "release-notes-writer"). */
657
656
  name: string;
657
+ /** Published-agent description; not part of the executable agent spec. */
658
+ description?: string;
658
659
  agentSpec: TSpec;
659
660
  }
660
661
  /** Stream vs non-stream bodies for one language on the Use In Code tab. */
@@ -344,6 +344,7 @@ function createHarnessAgentSessionsServer(options = {}) {
344
344
  return {
345
345
  agentId: data.id,
346
346
  name: data.name,
347
+ description: data.description,
347
348
  agentSpec: toUiAgentSpec(data.manifest)
348
349
  };
349
350
  },
@@ -377,6 +378,43 @@ function createHarnessAgentSessionsServer(options = {}) {
377
378
  };
378
379
  }
379
380
 
381
+ // src/plugins/trueforge-agent-server-adapter/agentsList.ts
382
+ var AGENTS_PAGE_DEFAULT = 50;
383
+ var AGENTS_PAGE_LIMIT = 100;
384
+ function clampAgentsPageSize(size) {
385
+ return Math.min(Math.max(size, 1), AGENTS_PAGE_LIMIT);
386
+ }
387
+ async function listAgentsPage({
388
+ client,
389
+ limit,
390
+ offset = 0,
391
+ agentName
392
+ }) {
393
+ const pageSize = clampAgentsPageSize(limit);
394
+ const start = Math.max(0, offset);
395
+ const page = await client.agents.list({
396
+ limit: pageSize,
397
+ ...agentName === void 0 ? {} : { agentName }
398
+ });
399
+ let at = 0;
400
+ while (at < start) {
401
+ if (!page.hasNextPage()) return [];
402
+ await page.getNextPage();
403
+ at += pageSize;
404
+ }
405
+ return [...page.data];
406
+ }
407
+ async function drainAgentsList(client) {
408
+ const items = [];
409
+ const page = await client.agents.list({ limit: AGENTS_PAGE_DEFAULT });
410
+ for (; ; ) {
411
+ items.push(...page.data);
412
+ if (!page.hasNextPage()) break;
413
+ await page.getNextPage();
414
+ }
415
+ return items;
416
+ }
417
+
380
418
  // src/plugins/trueforge-agent-server-adapter/catalogs/connectorCatalog.ts
381
419
  var DEFAULT_API_KEY_HEADER = "Authorization";
382
420
  function toUiAuthPublic(auth) {
@@ -619,6 +657,7 @@ function toLibraryEntry(agent) {
619
657
  return {
620
658
  name: agent.name,
621
659
  agentId: agent.id,
660
+ description: agent.description,
622
661
  agentSpec: toUiAgentSpec(agent.manifest),
623
662
  createdBySubject: agent.createdBySubject
624
663
  };
@@ -675,30 +714,42 @@ function createHarnessBuilderServer(options = {}) {
675
714
  );
676
715
  },
677
716
  async searchAgents(req) {
678
- const { data } = await client.agents.list();
679
- const query = req?.query?.trim().toLowerCase();
680
- const filtered = query === void 0 || query === "" ? data : data.filter((agent) => agent.name.toLowerCase().includes(query));
717
+ const limit = clampAgentsPageSize(req?.limit ?? AGENTS_PAGE_DEFAULT);
681
718
  const offset = req?.offset ?? 0;
682
- const limit = req?.limit ?? 50;
683
- return filtered.slice(offset, offset + limit).map(toLibraryEntry);
719
+ const query = req?.query?.trim();
720
+ const rows = await listAgentsPage({
721
+ client,
722
+ limit,
723
+ offset,
724
+ ...query === void 0 || query === "" ? {} : { agentName: query }
725
+ });
726
+ return rows.map(toLibraryEntry);
684
727
  },
685
- async saveAgent({ agentName, agentSpec, intent }) {
728
+ async saveAgent({ agentName, description: descriptionRaw, agentSpec, intent }) {
686
729
  const manifest = toHarnessAgentSpec(agentSpec);
730
+ const description = descriptionRaw?.trim();
687
731
  if (intent === "update") {
688
- const { data } = await client.agents.list();
689
- const existing = data.find((agent) => agent.name === agentName);
732
+ const agents = await drainAgentsList(client);
733
+ const existing = agents.find((agent) => agent.name === agentName);
690
734
  if (!existing) {
691
735
  return {};
692
736
  }
693
- await client.agents.update(existing.id, { manifest });
737
+ await client.agents.update(existing.id, {
738
+ ...description ? { description } : {},
739
+ manifest
740
+ });
694
741
  return { agentId: existing.id };
695
742
  }
696
- const created = await client.agents.create({ name: agentName, manifest });
743
+ const created = await client.agents.create({
744
+ name: agentName,
745
+ description: description || agentName,
746
+ manifest
747
+ });
697
748
  return { agentId: created.data.id };
698
749
  },
699
750
  async deleteAgent({ agentName }) {
700
- const { data } = await client.agents.list();
701
- const existing = data.find((agent) => agent.name === agentName);
751
+ const agents = await drainAgentsList(client);
752
+ const existing = agents.find((agent) => agent.name === agentName);
702
753
  if (!existing) return;
703
754
  await client.agents.delete(existing.id);
704
755
  }
@@ -1043,10 +1094,10 @@ function createHarnessPermissionsServer(options = {}) {
1043
1094
  // src/plugins/trueforge-agent-server-adapter/schedules/scheduleServer.ts
1044
1095
  var SCHEDULES_PAGE_LIMIT = 25;
1045
1096
  async function loadAgentIndex(client) {
1046
- const { data } = await client.agents.list();
1097
+ const agents = await drainAgentsList(client);
1047
1098
  const idToName = /* @__PURE__ */ new Map();
1048
1099
  const nameToId = /* @__PURE__ */ new Map();
1049
- for (const agent of data) {
1100
+ for (const agent of agents) {
1050
1101
  idToName.set(agent.id, agent.name);
1051
1102
  nameToId.set(agent.name, agent.id);
1052
1103
  }