@promptbook/cli 0.112.0-103 → 0.112.0-105

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 (190) hide show
  1. package/apps/agents-server/src/app/AddAgentButton.tsx +0 -5
  2. package/apps/agents-server/src/app/actions.ts +50 -0
  3. package/apps/agents-server/src/app/admin/image-generator-test/ImageAttachmentsEditor.tsx +19 -3
  4. package/apps/agents-server/src/app/admin/limits/LimitsClient.tsx +11 -12
  5. package/apps/agents-server/src/app/admin/metadata/MetadataClient.tsx +34 -2
  6. package/apps/agents-server/src/app/admin/servers/CreateServerDialog.tsx +6 -1
  7. package/apps/agents-server/src/app/admin/servers/useCreateServerWizard.ts +13 -1
  8. package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +11 -2
  9. package/apps/agents-server/src/app/agents/[agentName]/AgentProfileChat.tsx +14 -5
  10. package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorWrapper.tsx +7 -1
  11. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +11 -1
  12. package/apps/agents-server/src/app/agents/[agentName]/images/default-avatar.png/route.ts +6 -2
  13. package/apps/agents-server/src/app/api/health/route.ts +18 -0
  14. package/apps/agents-server/src/app/api/images/[filename]/route.ts +6 -2
  15. package/apps/agents-server/src/app/api/internal/agent-runner-limits/route.ts +51 -0
  16. package/apps/agents-server/src/app/api/upload/route.ts +48 -12
  17. package/apps/agents-server/src/app/layout.tsx +13 -0
  18. package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +1 -4
  19. package/apps/agents-server/src/components/FileUploadAvailability/FileUploadAvailabilityContext.tsx +50 -0
  20. package/apps/agents-server/src/components/FileUploadAvailability/FileUploadUnavailableNotice.tsx +45 -0
  21. package/apps/agents-server/src/components/Header/Header.tsx +0 -11
  22. package/apps/agents-server/src/components/Header/useHeaderAgentMenus.tsx +0 -5
  23. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +85 -76
  24. package/apps/agents-server/src/components/NewAgentDialog/NewAgentDialog.tsx +7 -3
  25. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardKnowledgeStep.tsx +6 -0
  26. package/apps/agents-server/src/components/NewAgentDialog/useNewAgentDialog.tsx +39 -16
  27. package/apps/agents-server/src/components/NewAgentDialog/useNewAgentWizardKnowledgeState.ts +8 -1
  28. package/apps/agents-server/src/constants/defaultAgentAvatarVisual.ts +1 -1
  29. package/apps/agents-server/src/constants/serverLimits.ts +22 -2
  30. package/apps/agents-server/src/database/migrations/2026-06-0200-default-agent-avatar-visual-octopus3d3.sql +16 -0
  31. package/apps/agents-server/src/database/seedDefaultAgents.ts +218 -0
  32. package/apps/agents-server/src/middleware.ts +2 -1
  33. package/apps/agents-server/src/tools/$provideCdnForServer.ts +114 -9
  34. package/apps/agents-server/src/utils/agentRouting/resolveAgentRouteTarget.ts +27 -4
  35. package/apps/agents-server/src/utils/defaultAgents/loadDefaultAgentBooks.ts +103 -0
  36. package/apps/agents-server/src/utils/knowledge/createInlineKnowledgeSourceUploader.ts +24 -5
  37. package/apps/agents-server/src/utils/serverLimits.ts +26 -1
  38. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerDefaultAgents.ts +1 -85
  39. package/apps/agents-server/src/utils/shareTargetPayloads.ts +20 -2
  40. package/apps/agents-server/src/utils/upload/fileUploadAvailability.ts +91 -0
  41. package/apps/agents-server/src/utils/upload/uploadFileToServer.ts +46 -2
  42. package/esm/apps/agents-server/src/constants/federatedAgentImport.d.ts +42 -0
  43. package/esm/apps/agents-server/src/constants/serverLimits.d.ts +207 -0
  44. package/esm/apps/agents-server/src/constants/toolUsageLimits.d.ts +55 -0
  45. package/esm/index.es.js +1109 -35
  46. package/esm/index.es.js.map +1 -1
  47. package/esm/scripts/run-agent-messages/main/AgentMessageFailureTracker.d.ts +27 -0
  48. package/esm/scripts/run-agent-messages/main/handleAgentWatchError.d.ts +4 -0
  49. package/esm/scripts/run-agent-messages/main/runAgentMessages.d.ts +1 -0
  50. package/esm/scripts/run-agent-messages/messages/moveAgentMessageToFailed.d.ts +17 -0
  51. package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
  52. package/esm/src/avatars/visuals/octopus3d3AvatarVisual.d.ts +7 -0
  53. package/esm/src/book-components/BookEditor/BookEditor.d.ts +5 -4
  54. package/esm/src/book-components/BookEditor/BookEditorTheme.d.ts +24 -0
  55. package/esm/src/book-components/BookEditor/useBookEditorMonacoLanguage.d.ts +1 -6
  56. package/esm/src/book-components/BookEditor/useBookEditorMonacoLifecycle.d.ts +1 -4
  57. package/esm/src/book-components/BookEditor/useBookEditorMonacoStyles.d.ts +2 -1
  58. package/esm/src/cli/cli-commands/agent-folder/agentProjectPaths.d.ts +6 -0
  59. package/esm/src/version.d.ts +1 -1
  60. package/package.json +1 -1
  61. package/src/avatars/types/AvatarVisualDefinition.ts +1 -0
  62. package/src/avatars/visuals/avatarVisualRegistry.ts +2 -0
  63. package/src/avatars/visuals/octopus3d3AvatarVisual.ts +902 -0
  64. package/src/book-components/BookEditor/BookEditor.tsx +10 -7
  65. package/src/book-components/BookEditor/BookEditorMonaco.tsx +3 -1
  66. package/src/book-components/BookEditor/BookEditorTheme.ts +32 -0
  67. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +12 -15
  68. package/src/book-components/BookEditor/useBookEditorMonacoLifecycle.ts +1 -5
  69. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +2 -1
  70. package/src/cli/cli-commands/agent-folder/agentProjectPaths.ts +7 -0
  71. package/src/cli/cli-commands/agents-server/buildAgentsServer.ts +109 -9
  72. package/src/cli/cli-commands/agents-server/startAgentsServer.ts +132 -4
  73. package/src/other/templates/getTemplatesPipelineCollection.ts +690 -747
  74. package/src/utils/agents/resolveAgentAvatarImageUrl.ts +1 -1
  75. package/src/version.ts +2 -2
  76. package/src/versions.txt +2 -1
  77. package/umd/apps/agents-server/src/constants/federatedAgentImport.d.ts +42 -0
  78. package/umd/apps/agents-server/src/constants/serverLimits.d.ts +207 -0
  79. package/umd/apps/agents-server/src/constants/toolUsageLimits.d.ts +55 -0
  80. package/umd/index.umd.js +1109 -35
  81. package/umd/index.umd.js.map +1 -1
  82. package/umd/scripts/run-agent-messages/main/AgentMessageFailureTracker.d.ts +27 -0
  83. package/umd/scripts/run-agent-messages/main/handleAgentWatchError.d.ts +4 -0
  84. package/umd/scripts/run-agent-messages/main/runAgentMessages.d.ts +1 -0
  85. package/umd/scripts/run-agent-messages/messages/moveAgentMessageToFailed.d.ts +17 -0
  86. package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
  87. package/umd/src/avatars/visuals/octopus3d3AvatarVisual.d.ts +7 -0
  88. package/umd/src/book-components/BookEditor/BookEditor.d.ts +5 -4
  89. package/umd/src/book-components/BookEditor/BookEditorTheme.d.ts +24 -0
  90. package/umd/src/book-components/BookEditor/useBookEditorMonacoLanguage.d.ts +1 -6
  91. package/umd/src/book-components/BookEditor/useBookEditorMonacoLifecycle.d.ts +1 -4
  92. package/umd/src/book-components/BookEditor/useBookEditorMonacoStyles.d.ts +2 -1
  93. package/umd/src/cli/cli-commands/agent-folder/agentProjectPaths.d.ts +6 -0
  94. package/umd/src/version.d.ts +1 -1
  95. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddress.test.ts.todo +0 -108
  96. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddresses.test.ts.todo +0 -117
  97. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddress.test.ts.todo +0 -119
  98. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddresses.test.ts.todo +0 -74
  99. package/apps/agents-server/tests/e2e/authentication-and-navigation.spec.ts.todo +0 -178
  100. package/src/_packages/browser.index.ts +0 -31
  101. package/src/_packages/browser.readme.md +0 -43
  102. package/src/book-2.0/agent-source/parseAgentSourceWithCommitments.test.ts.todo +0 -265
  103. package/src/book-components/BookEditor/BookEditorMonaco.test.tsx.todo +0 -115
  104. package/src/book-components/Chat/utils/renderMarkdown.test.ts.tmp +0 -199
  105. package/src/collection/agent-collection/constructors/agent-collection-in-directory/AgentCollectionInDirectory.test.ts.todo +0 -131
  106. package/src/commands/_common/parseCommand.test.ts.todo +0 -48
  107. package/src/commitments/META_LINK/META_LINK.test.ts.todo +0 -75
  108. package/src/conversion/validation/pipelineStringToJson-errors.test.ts.todo +0 -33
  109. package/src/dialogs/simple-prompt/SimplePromptInterfaceTools.ts +0 -51
  110. package/src/executables/browsers/locateSafari.test.ts.tmp +0 -15
  111. package/src/execution/PromptbookFetch.test-type.ts +0 -14
  112. package/src/execution/createPipelineExecutor/00-createPipelineExecutor.test.ts.todo +0 -0
  113. package/src/execution/execution-report/executionReportJsonToString.test.ts.todo +0 -83
  114. package/src/execution/utils/usageToHuman.test.ts.todo +0 -80
  115. package/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.ts +0 -76
  116. package/src/llm-providers/_common/utils/assertUniqueModels.ts +0 -27
  117. package/src/llm-providers/_multiple/playground/playground.ts +0 -141
  118. package/src/llm-providers/_multiple/playground/tsconfig.json +0 -19
  119. package/src/llm-providers/agent/playground/playground.ts +0 -190
  120. package/src/llm-providers/agent/playground/tsconfig.json +0 -19
  121. package/src/llm-providers/anthropic-claude/playground/playground.ts +0 -99
  122. package/src/llm-providers/anthropic-claude/playground/tsconfig.json +0 -19
  123. package/src/llm-providers/azure-openai/playground/playground.ts +0 -101
  124. package/src/llm-providers/azure-openai/playground/tsconfig.json +0 -19
  125. package/src/llm-providers/ollama/playground/playground.ts +0 -120
  126. package/src/llm-providers/ollama/playground/tsconfig.json +0 -19
  127. package/src/llm-providers/openai/playground/playground.ts +0 -406
  128. package/src/llm-providers/openai/playground/tsconfig.json +0 -19
  129. package/src/llm-providers/remote/playground/playground.ts +0 -144
  130. package/src/llm-providers/remote/playground/tsconfig.json +0 -19
  131. package/src/llm-providers/vercel/playground/playground.ts +0 -133
  132. package/src/llm-providers/vercel/playground/tsconfig.json +0 -19
  133. package/src/personas/preparePersona.test.ts.todo +0 -126
  134. package/src/playground/backup/_playground-boilerplate.ts.txt +0 -37
  135. package/src/playground/backup/playground-agent-os.txt +0 -62
  136. package/src/playground/backup/playground-brj-app.ts.txt +0 -302
  137. package/src/playground/backup/playground-browser-playwright.txt +0 -110
  138. package/src/playground/backup/playground-claude-mcp.txt +0 -43
  139. package/src/playground/backup/playground-document-conversion.txt +0 -84
  140. package/src/playground/backup/playground-glob.ts.txt +0 -42
  141. package/src/playground/backup/playground-mcp-server.txt +0 -1
  142. package/src/playground/backup/playground-openai-agent-kit.txt +0 -73
  143. package/src/playground/backup/playground-openai-function-calling.txt +0 -131
  144. package/src/playground/backup/playground-openai-streaming.ts.txt +0 -68
  145. package/src/playground/backup/playground-scrape-knowledge.txt +0 -65
  146. package/src/playground/backup/playground-scraperFetch.ts.txt +0 -44
  147. package/src/playground/backup/playground-using-openai-compatible-route-on-agents-server.ts.txt +0 -49
  148. package/src/playground/backup/playground-write-pavolhejny-bio.txt +0 -120
  149. package/src/playground/permanent/_boilerplate.ts +0 -54
  150. package/src/playground/permanent/agent-with-browser-playground.ts +0 -92
  151. package/src/playground/permanent/error-handling-playground.ts +0 -103
  152. package/src/playground/playground.ts +0 -36
  153. package/src/playground/tsconfig.json +0 -19
  154. package/src/scrapers/_boilerplate/BoilerplateScraper.test.ts.todo +0 -73
  155. package/src/scrapers/_boilerplate/playground/boilerplate-scraper-playground.ts +0 -79
  156. package/src/scrapers/_boilerplate/playground/tsconfig.json +0 -19
  157. package/src/scrapers/_common/utils/files/blobToDataurl.test.ts.todo +0 -17
  158. package/src/scrapers/_common/utils/files/dataurlToBlob.test.ts.todo +0 -52
  159. package/src/scrapers/_common/utils/files/isValidDataurl.test.ts.todo +0 -42
  160. package/src/scrapers/_common/utils/files/shorten.test.ts.todo +0 -13
  161. package/src/scrapers/document/playground/document-scraper-playground.ts +0 -80
  162. package/src/scrapers/document/playground/tsconfig.json +0 -19
  163. package/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.ts +0 -80
  164. package/src/scrapers/document-legacy/playground/tsconfig.json +0 -19
  165. package/src/scrapers/markdown/playground/markdown-scraper-playground.ts +0 -74
  166. package/src/scrapers/markdown/playground/tsconfig.json +0 -19
  167. package/src/scrapers/markitdown/MarkitdownScraper.test.ts.todo +0 -132
  168. package/src/scrapers/markitdown/playground/markitdown-scraper-playground.ts +0 -91
  169. package/src/scrapers/markitdown/playground/tsconfig.json +0 -19
  170. package/src/scrapers/pdf/PdfScraper.test.ts.todo +0 -52
  171. package/src/scrapers/pdf/playground/pdf-scraper-playground.ts +0 -75
  172. package/src/scrapers/pdf/playground/tsconfig.json +0 -19
  173. package/src/scrapers/website/playground/tsconfig.json +0 -19
  174. package/src/scrapers/website/playground/website-scraper-playground.ts +0 -82
  175. package/src/storage/_common/PromptbookStorage.test-type.ts +0 -14
  176. package/src/storage/local-storage/getIndexedDbStorage.ts +0 -36
  177. package/src/storage/local-storage/getLocalStorage.ts +0 -33
  178. package/src/storage/local-storage/getSessionStorage.ts +0 -33
  179. package/src/storage/local-storage/utils/IndexedDbStorageOptions.ts +0 -16
  180. package/src/storage/local-storage/utils/makePromptbookStorageFromIndexedDb.ts +0 -58
  181. package/src/storage/local-storage/utils/makePromptbookStorageFromWebStorage.ts +0 -45
  182. package/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.test.ts.todo +0 -35
  183. package/src/transpilers/openai-sdk/playground/playground.ts +0 -85
  184. package/src/transpilers/openai-sdk/playground/tmp/chatbot-openaisdk-1.js +0 -194
  185. package/src/transpilers/openai-sdk/playground/tmp/package.json +0 -3
  186. package/src/transpilers/openai-sdk/playground/tsconfig.json +0 -18
  187. package/src/utils/editable/utils/findUsableParameters.test.ts.todo +0 -43
  188. package/src/utils/editable/utils/stringifyPipelineJson.test.ts.todo +0 -38
  189. package/src/utils/markdown/prettifyMarkdown.test.ts.tmp +0 -42
  190. package/src/utils/serialization/serializeToPromptbookJavascript.test.ts.todo +0 -116
@@ -41,6 +41,16 @@ export type ServerFileUploadResult = {
41
41
  size: number;
42
42
  };
43
43
 
44
+ /**
45
+ * Error response shape accepted from the upload endpoint.
46
+ *
47
+ * @private used by `uploadFileToServer`
48
+ */
49
+ type ServerFileUploadErrorResponse = {
50
+ error?: string | { message?: string };
51
+ message?: string;
52
+ };
53
+
44
54
  /**
45
55
  * Builds the default CDN key used for user-uploaded files.
46
56
  *
@@ -50,6 +60,38 @@ export function buildDefaultUserFileUploadPath(normalizedFilename: string): stri
50
60
  return `user/files/${normalizedFilename}`;
51
61
  }
52
62
 
63
+ /**
64
+ * Resolves the most useful error message from an upload response body.
65
+ *
66
+ * @param responseBody - Parsed JSON response body.
67
+ * @param status - HTTP status code.
68
+ * @returns Error message for the rejected upload promise.
69
+ * @private helper of `uploadFileToServer`
70
+ */
71
+ function resolveUploadErrorMessage(
72
+ responseBody: (Partial<ServerFileUploadResult> & ServerFileUploadErrorResponse) | null,
73
+ status: number,
74
+ ): string {
75
+ if (typeof responseBody?.error === 'string' && responseBody.error) {
76
+ return responseBody.error;
77
+ }
78
+
79
+ if (
80
+ typeof responseBody?.error === 'object' &&
81
+ responseBody.error !== null &&
82
+ typeof responseBody.error.message === 'string' &&
83
+ responseBody.error.message
84
+ ) {
85
+ return responseBody.error.message;
86
+ }
87
+
88
+ if (typeof responseBody?.message === 'string' && responseBody.message) {
89
+ return responseBody.message;
90
+ }
91
+
92
+ return `File upload failed with HTTP ${status}.`;
93
+ }
94
+
53
95
  /**
54
96
  * Uploads one browser file to `/api/upload` using normal multipart form data.
55
97
  *
@@ -82,7 +124,9 @@ export function uploadFileToServer(options: ServerFileUploadOptions): Promise<Se
82
124
  };
83
125
 
84
126
  request.onload = () => {
85
- const responseBody = request.response as Partial<ServerFileUploadResult> & { error?: string } | null;
127
+ const responseBody = request.response as
128
+ | (Partial<ServerFileUploadResult> & ServerFileUploadErrorResponse)
129
+ | null;
86
130
 
87
131
  if (request.status >= 200 && request.status < 300 && responseBody?.url) {
88
132
  options.onProgress?.(1 as number_percent, {
@@ -94,7 +138,7 @@ export function uploadFileToServer(options: ServerFileUploadOptions): Promise<Se
94
138
  return;
95
139
  }
96
140
 
97
- reject(new Error(responseBody?.error || `File upload failed with HTTP ${request.status}.`));
141
+ reject(new Error(resolveUploadErrorMessage(responseBody, request.status)));
98
142
  };
99
143
 
100
144
  request.onerror = () => reject(new Error('File upload failed.'));
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Metadata key storing the delay between retry attempts when importing federated agent books.
3
+ *
4
+ * @private internal Agents Server constant
5
+ */
6
+ export declare const FEDERATED_AGENT_IMPORT_RETRY_DELAY_MS_METADATA_KEY: "FEDERATED_AGENT_IMPORT_RETRY_DELAY_MS";
7
+ /**
8
+ * Total number of attempts used when loading a federated imported agent before falling back.
9
+ *
10
+ * @private internal Agents Server constant
11
+ */
12
+ export declare const FEDERATED_AGENT_IMPORT_MAX_ATTEMPTS: 3;
13
+ /**
14
+ * Default delay in milliseconds between federated imported-agent retry attempts.
15
+ *
16
+ * @private internal Agents Server constant
17
+ */
18
+ export declare const DEFAULT_FEDERATED_AGENT_IMPORT_RETRY_DELAY_MS = 500;
19
+ /**
20
+ * Runtime configuration applied to federated imported-agent retries.
21
+ *
22
+ * @private internal Agents Server type
23
+ */
24
+ export type FederatedAgentImportConfiguration = {
25
+ /**
26
+ * Total number of attempts used before returning the fallback book.
27
+ */
28
+ readonly maxAttempts: number;
29
+ /**
30
+ * Delay in milliseconds between retry attempts.
31
+ */
32
+ readonly retryDelayMs: number;
33
+ };
34
+ /**
35
+ * Default retry configuration for federated imported-agent loading.
36
+ *
37
+ * @private internal Agents Server constant
38
+ */
39
+ export declare const DEFAULT_FEDERATED_AGENT_IMPORT_CONFIGURATION: Readonly<{
40
+ maxAttempts: 3;
41
+ retryDelayMs: 500;
42
+ }>;
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Legacy metadata key storing the maximum accepted file upload size in megabytes.
3
+ *
4
+ * @private shared Agents Server constant
5
+ */
6
+ export declare const MAX_FILE_UPLOAD_SIZE_MB_METADATA_KEY: "MAX_FILE_UPLOAD_SIZE_MB";
7
+ /**
8
+ * Default maximum accepted spawn depth in one tool-runtime context.
9
+ *
10
+ * @private shared Agents Server constant
11
+ */
12
+ export declare const DEFAULT_SPAWN_AGENT_MAX_DEPTH = 2;
13
+ /**
14
+ * Default maximum number of spawned agents allowed per actor in one time window.
15
+ *
16
+ * @private shared Agents Server constant
17
+ */
18
+ export declare const DEFAULT_SPAWN_AGENT_RATE_LIMIT_MAX = 5;
19
+ /**
20
+ * Default spawn rate-limit window size in milliseconds.
21
+ *
22
+ * @private shared Agents Server constant
23
+ */
24
+ export declare const DEFAULT_SPAWN_AGENT_RATE_LIMIT_WINDOW_MS: number;
25
+ /**
26
+ * Default maximum number of failed local runner attempts before a queued message is moved to `messages/failed`.
27
+ *
28
+ * @private shared Agents Server constant
29
+ */
30
+ export declare const DEFAULT_LOCAL_AGENT_RUNNER_MAX_FAILED_ATTEMPTS = 3;
31
+ /**
32
+ * Stable keys used by the dedicated server-limits table.
33
+ *
34
+ * @private shared Agents Server constant
35
+ */
36
+ export declare const SERVER_LIMIT_KEYS: {
37
+ readonly TIMEOUT_MAX_ACTIVE_PER_CHAT: "TIMEOUT_MAX_ACTIVE_PER_CHAT";
38
+ readonly TIMEOUT_MAX_FIRED_PER_DAY_PER_CHAT: "TIMEOUT_MAX_FIRED_PER_DAY_PER_CHAT";
39
+ readonly MAX_FILE_UPLOAD_SIZE_MB: "MAX_FILE_UPLOAD_SIZE_MB";
40
+ readonly FEDERATED_AGENT_IMPORT_RETRY_DELAY_MS: "FEDERATED_AGENT_IMPORT_RETRY_DELAY_MS";
41
+ readonly SPAWN_AGENT_MAX_DEPTH: "SPAWN_AGENT_MAX_DEPTH";
42
+ readonly SPAWN_AGENT_RATE_LIMIT_MAX: "SPAWN_AGENT_RATE_LIMIT_MAX";
43
+ readonly SPAWN_AGENT_RATE_LIMIT_WINDOW_MS: "SPAWN_AGENT_RATE_LIMIT_WINDOW_MS";
44
+ readonly LOCAL_AGENT_RUNNER_MAX_FAILED_ATTEMPTS: "LOCAL_AGENT_RUNNER_MAX_FAILED_ATTEMPTS";
45
+ };
46
+ /**
47
+ * One supported dedicated server-limit key.
48
+ *
49
+ * @private shared Agents Server type
50
+ */
51
+ export type ServerLimitKey = (typeof SERVER_LIMIT_KEYS)[keyof typeof SERVER_LIMIT_KEYS];
52
+ /**
53
+ * Supported units rendered in the admin limits page.
54
+ *
55
+ * @private shared Agents Server type
56
+ */
57
+ export type ServerLimitUnit = 'count' | 'MB' | 'ms';
58
+ /**
59
+ * Shared definition describing one supported configurable limit.
60
+ *
61
+ * @private shared Agents Server type
62
+ */
63
+ export type ServerLimitDefinition = {
64
+ readonly key: ServerLimitKey;
65
+ readonly category: 'Timeout tools' | 'Files' | 'Federation' | 'Agent spawning' | 'Local agent runner';
66
+ readonly title: string;
67
+ readonly description: string;
68
+ readonly unit: ServerLimitUnit;
69
+ readonly defaultValue: number;
70
+ readonly minimumValue: number;
71
+ readonly step: number;
72
+ readonly legacyMetadataKeys: ReadonlyArray<string>;
73
+ };
74
+ /**
75
+ * Shared metadata for all server limits exposed in the admin UI and runtime loaders.
76
+ *
77
+ * @private shared Agents Server constant
78
+ */
79
+ export declare const SERVER_LIMIT_DEFINITIONS: ({
80
+ key: "TIMEOUT_MAX_ACTIVE_PER_CHAT";
81
+ category: "Timeout tools";
82
+ title: string;
83
+ description: string;
84
+ unit: "count";
85
+ defaultValue: number;
86
+ minimumValue: number;
87
+ step: number;
88
+ legacyMetadataKeys: string[];
89
+ } | {
90
+ key: "TIMEOUT_MAX_FIRED_PER_DAY_PER_CHAT";
91
+ category: "Timeout tools";
92
+ title: string;
93
+ description: string;
94
+ unit: "count";
95
+ defaultValue: number;
96
+ minimumValue: number;
97
+ step: number;
98
+ legacyMetadataKeys: string[];
99
+ } | {
100
+ key: "MAX_FILE_UPLOAD_SIZE_MB";
101
+ category: "Files";
102
+ title: string;
103
+ description: string;
104
+ unit: "MB";
105
+ defaultValue: number;
106
+ minimumValue: number;
107
+ step: number;
108
+ legacyMetadataKeys: "MAX_FILE_UPLOAD_SIZE_MB"[];
109
+ } | {
110
+ key: "FEDERATED_AGENT_IMPORT_RETRY_DELAY_MS";
111
+ category: "Federation";
112
+ title: string;
113
+ description: string;
114
+ unit: "ms";
115
+ defaultValue: number;
116
+ minimumValue: number;
117
+ step: number;
118
+ legacyMetadataKeys: "FEDERATED_AGENT_IMPORT_RETRY_DELAY_MS"[];
119
+ } | {
120
+ key: "SPAWN_AGENT_MAX_DEPTH";
121
+ category: "Agent spawning";
122
+ title: string;
123
+ description: string;
124
+ unit: "count";
125
+ defaultValue: number;
126
+ minimumValue: number;
127
+ step: number;
128
+ legacyMetadataKeys: never[];
129
+ } | {
130
+ key: "SPAWN_AGENT_RATE_LIMIT_MAX";
131
+ category: "Agent spawning";
132
+ title: string;
133
+ description: string;
134
+ unit: "count";
135
+ defaultValue: number;
136
+ minimumValue: number;
137
+ step: number;
138
+ legacyMetadataKeys: never[];
139
+ } | {
140
+ key: "SPAWN_AGENT_RATE_LIMIT_WINDOW_MS";
141
+ category: "Agent spawning";
142
+ title: string;
143
+ description: string;
144
+ unit: "ms";
145
+ defaultValue: number;
146
+ minimumValue: number;
147
+ step: number;
148
+ legacyMetadataKeys: never[];
149
+ } | {
150
+ key: "LOCAL_AGENT_RUNNER_MAX_FAILED_ATTEMPTS";
151
+ category: "Local agent runner";
152
+ title: string;
153
+ description: string;
154
+ unit: "count";
155
+ defaultValue: number;
156
+ minimumValue: number;
157
+ step: number;
158
+ legacyMetadataKeys: never[];
159
+ })[];
160
+ /**
161
+ * Fast lookup map used by server-limit validators and UI helpers.
162
+ *
163
+ * @private shared Agents Server constant
164
+ */
165
+ export declare const SERVER_LIMIT_DEFINITION_BY_KEY: Map<ServerLimitKey, ServerLimitDefinition>;
166
+ /**
167
+ * Default values used whenever a server-limit row has not been persisted yet.
168
+ *
169
+ * @private shared Agents Server constant
170
+ */
171
+ export declare const DEFAULT_SERVER_LIMIT_VALUES: Readonly<Record<ServerLimitKey, number>>;
172
+ /**
173
+ * Deprecated metadata keys that now mirror dedicated server-limit rows for backward compatibility.
174
+ *
175
+ * @private shared Agents Server constant
176
+ */
177
+ export declare const DEPRECATED_LIMIT_METADATA_KEYS: string[];
178
+ /**
179
+ * Description of one deprecated metadata key that now points to the dedicated limits page.
180
+ *
181
+ * @private shared Agents Server type
182
+ */
183
+ export type DeprecatedLimitMetadataDefinition = {
184
+ readonly key: string;
185
+ readonly href: '/admin/limits';
186
+ readonly limitKeys: ReadonlyArray<ServerLimitKey>;
187
+ readonly limitTitles: ReadonlyArray<string>;
188
+ readonly message: string;
189
+ };
190
+ /**
191
+ * Returns the deprecated-metadata descriptor when one metadata key now belongs to the limits page.
192
+ *
193
+ * @param metadataKey - Metadata key being rendered in the admin metadata UI.
194
+ * @returns Deprecated metadata descriptor or `null`.
195
+ *
196
+ * @private shared Agents Server helper
197
+ */
198
+ export declare function getDeprecatedLimitMetadataDefinition(metadataKey: string): DeprecatedLimitMetadataDefinition | null;
199
+ /**
200
+ * Resolves one shared server-limit definition by key.
201
+ *
202
+ * @param key - Dedicated server-limit key.
203
+ * @returns Matching definition or `null`.
204
+ *
205
+ * @private shared Agents Server helper
206
+ */
207
+ export declare function getServerLimitDefinition(key: string): ServerLimitDefinition | null;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Metadata key used to persist tool-usage limits.
3
+ *
4
+ * @private shared constant for Agents Server
5
+ */
6
+ export declare const TOOL_USAGE_LIMITS_METADATA_KEY = "TOOL_USAGE_LIMITS";
7
+ /**
8
+ * Timeout-specific limits supported by the current admin UI.
9
+ *
10
+ * @private shared type for Agents Server
11
+ */
12
+ export type TimeoutToolUsageLimits = {
13
+ maxActivePerChat: number;
14
+ maxFiredPerDayPerChat: number;
15
+ };
16
+ /**
17
+ * Full tool-limits payload stored in metadata.
18
+ *
19
+ * The shape is intentionally extensible so other tools can be added later.
20
+ *
21
+ * @private shared type for Agents Server
22
+ */
23
+ export type ToolUsageLimits = Record<string, unknown> & {
24
+ timeout: TimeoutToolUsageLimits;
25
+ };
26
+ /**
27
+ * Default timeout limits applied when administrators do not override them.
28
+ *
29
+ * @private shared constant for Agents Server
30
+ */
31
+ export declare const DEFAULT_TIMEOUT_TOOL_USAGE_LIMITS: TimeoutToolUsageLimits;
32
+ /**
33
+ * Default tool-limits payload used across metadata, admin UI, and runtime enforcement.
34
+ *
35
+ * @private shared constant for Agents Server
36
+ */
37
+ export declare const DEFAULT_TOOL_USAGE_LIMITS: ToolUsageLimits;
38
+ /**
39
+ * Normalizes the complete tool-limits payload while preserving unknown future keys.
40
+ *
41
+ * @param rawValue - Unknown persisted payload.
42
+ * @returns Normalized tool-usage limits.
43
+ *
44
+ * @private shared Agents Server helper
45
+ */
46
+ export declare function normalizeToolUsageLimits(rawValue: unknown): ToolUsageLimits;
47
+ /**
48
+ * Normalizes timeout-specific limits with defaults and integer guards.
49
+ *
50
+ * @param rawValue - Unknown timeout payload.
51
+ * @returns Normalized timeout tool limits.
52
+ *
53
+ * @private shared Agents Server helper
54
+ */
55
+ export declare function normalizeTimeoutToolUsageLimits(rawValue: unknown): TimeoutToolUsageLimits;