@perstack/core 0.0.52 → 0.0.54

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 (122) hide show
  1. package/dist/src/adapters/event-creators.d.ts +26 -0
  2. package/dist/src/adapters/event-creators.d.ts.map +1 -0
  3. package/dist/src/adapters/event-creators.js +126 -0
  4. package/dist/src/adapters/event-creators.js.map +1 -0
  5. package/dist/src/adapters/index.d.ts +2 -0
  6. package/dist/src/adapters/index.d.ts.map +1 -0
  7. package/dist/src/adapters/index.js +2 -0
  8. package/dist/src/adapters/index.js.map +1 -0
  9. package/dist/src/constants/constants.d.ts +11 -0
  10. package/dist/src/constants/constants.d.ts.map +1 -0
  11. package/dist/src/constants/constants.js +13 -0
  12. package/dist/src/constants/constants.js.map +1 -0
  13. package/dist/src/errors.d.ts +4 -0
  14. package/dist/src/errors.d.ts.map +1 -0
  15. package/dist/src/errors.js +7 -0
  16. package/dist/src/errors.js.map +1 -0
  17. package/dist/src/index.d.ts +28 -6219
  18. package/dist/src/index.d.ts.map +1 -0
  19. package/dist/src/index.js +28 -1904
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/known-models/index.d.ts +9 -0
  22. package/dist/src/known-models/index.d.ts.map +1 -0
  23. package/dist/src/known-models/index.js +216 -0
  24. package/dist/src/known-models/index.js.map +1 -0
  25. package/dist/src/schemas/activity.d.ts +2159 -0
  26. package/dist/src/schemas/activity.d.ts.map +1 -0
  27. package/dist/src/schemas/activity.js +209 -0
  28. package/dist/src/schemas/activity.js.map +1 -0
  29. package/dist/src/schemas/checkpoint.d.ts +338 -0
  30. package/dist/src/schemas/checkpoint.d.ts.map +1 -0
  31. package/dist/src/schemas/checkpoint.js +69 -0
  32. package/dist/src/schemas/checkpoint.js.map +1 -0
  33. package/dist/src/schemas/expert.d.ts +309 -0
  34. package/dist/src/schemas/expert.d.ts.map +1 -0
  35. package/dist/src/schemas/expert.js +70 -0
  36. package/dist/src/schemas/expert.js.map +1 -0
  37. package/dist/src/schemas/job.d.ts +44 -0
  38. package/dist/src/schemas/job.d.ts.map +1 -0
  39. package/dist/src/schemas/job.js +22 -0
  40. package/dist/src/schemas/job.js.map +1 -0
  41. package/dist/src/schemas/lockfile.d.ts +143 -0
  42. package/dist/src/schemas/lockfile.d.ts.map +1 -0
  43. package/dist/src/schemas/lockfile.js +26 -0
  44. package/dist/src/schemas/lockfile.js.map +1 -0
  45. package/dist/src/schemas/message-part.d.ts +239 -0
  46. package/dist/src/schemas/message-part.d.ts.map +1 -0
  47. package/dist/src/schemas/message-part.js +80 -0
  48. package/dist/src/schemas/message-part.js.map +1 -0
  49. package/dist/src/schemas/message.d.ts +236 -0
  50. package/dist/src/schemas/message.d.ts.map +1 -0
  51. package/dist/src/schemas/message.js +44 -0
  52. package/dist/src/schemas/message.js.map +1 -0
  53. package/dist/src/schemas/perstack-toml.d.ts +366 -0
  54. package/dist/src/schemas/perstack-toml.d.ts.map +1 -0
  55. package/dist/src/schemas/perstack-toml.js +175 -0
  56. package/dist/src/schemas/perstack-toml.js.map +1 -0
  57. package/dist/src/schemas/provider-config.d.ts +216 -0
  58. package/dist/src/schemas/provider-config.d.ts.map +1 -0
  59. package/dist/src/schemas/provider-config.js +86 -0
  60. package/dist/src/schemas/provider-config.js.map +1 -0
  61. package/dist/src/schemas/provider-tools.d.ts +93 -0
  62. package/dist/src/schemas/provider-tools.d.ts.map +1 -0
  63. package/dist/src/schemas/provider-tools.js +60 -0
  64. package/dist/src/schemas/provider-tools.js.map +1 -0
  65. package/dist/src/schemas/run-command.d.ts +127 -0
  66. package/dist/src/schemas/run-command.d.ts.map +1 -0
  67. package/dist/src/schemas/run-command.js +82 -0
  68. package/dist/src/schemas/run-command.js.map +1 -0
  69. package/dist/src/schemas/runtime-version.d.ts +4 -0
  70. package/dist/src/schemas/runtime-version.d.ts.map +1 -0
  71. package/dist/src/schemas/runtime-version.js +6 -0
  72. package/dist/src/schemas/runtime-version.js.map +1 -0
  73. package/dist/src/schemas/runtime.d.ts +1317 -0
  74. package/dist/src/schemas/runtime.d.ts.map +1 -0
  75. package/dist/src/schemas/runtime.js +205 -0
  76. package/dist/src/schemas/runtime.js.map +1 -0
  77. package/dist/src/schemas/skill-manager.d.ts +64 -0
  78. package/dist/src/schemas/skill-manager.d.ts.map +1 -0
  79. package/dist/src/schemas/skill-manager.js +2 -0
  80. package/dist/src/schemas/skill-manager.js.map +1 -0
  81. package/dist/src/schemas/skill.d.ts +147 -0
  82. package/dist/src/schemas/skill.d.ts.map +1 -0
  83. package/dist/src/schemas/skill.js +99 -0
  84. package/dist/src/schemas/skill.js.map +1 -0
  85. package/dist/src/schemas/step.d.ts +370 -0
  86. package/dist/src/schemas/step.d.ts.map +1 -0
  87. package/dist/src/schemas/step.js +21 -0
  88. package/dist/src/schemas/step.js.map +1 -0
  89. package/dist/src/schemas/tool-call.d.ts +19 -0
  90. package/dist/src/schemas/tool-call.d.ts.map +1 -0
  91. package/dist/src/schemas/tool-call.js +10 -0
  92. package/dist/src/schemas/tool-call.js.map +1 -0
  93. package/dist/src/schemas/tool-result.d.ts +86 -0
  94. package/dist/src/schemas/tool-result.d.ts.map +1 -0
  95. package/dist/src/schemas/tool-result.js +11 -0
  96. package/dist/src/schemas/tool-result.js.map +1 -0
  97. package/dist/src/schemas/usage.d.ts +22 -0
  98. package/dist/src/schemas/usage.d.ts.map +1 -0
  99. package/dist/src/schemas/usage.js +10 -0
  100. package/dist/src/schemas/usage.js.map +1 -0
  101. package/dist/src/utils/activity.d.ts +20 -0
  102. package/dist/src/utils/activity.d.ts.map +1 -0
  103. package/dist/src/utils/activity.js +449 -0
  104. package/dist/src/utils/activity.js.map +1 -0
  105. package/dist/src/utils/env-filter.d.ts +4 -0
  106. package/dist/src/utils/env-filter.d.ts.map +1 -0
  107. package/dist/src/utils/env-filter.js +50 -0
  108. package/dist/src/utils/env-filter.js.map +1 -0
  109. package/dist/src/utils/event-filter.d.ts +16 -0
  110. package/dist/src/utils/event-filter.d.ts.map +1 -0
  111. package/dist/src/utils/event-filter.js +31 -0
  112. package/dist/src/utils/event-filter.js.map +1 -0
  113. package/dist/src/utils/expert-type.d.ts +38 -0
  114. package/dist/src/utils/expert-type.d.ts.map +1 -0
  115. package/dist/src/utils/expert-type.js +88 -0
  116. package/dist/src/utils/expert-type.js.map +1 -0
  117. package/dist/src/utils/zod-error.d.ts +4 -0
  118. package/dist/src/utils/zod-error.d.ts.map +1 -0
  119. package/dist/src/utils/zod-error.js +17 -0
  120. package/dist/src/utils/zod-error.js.map +1 -0
  121. package/package.json +19 -17
  122. package/LICENSE +0 -202
@@ -0,0 +1,366 @@
1
+ import { z } from "zod";
2
+ import type { RuntimeVersion } from "./runtime-version.js";
3
+ /** Reasoning budget for native LLM reasoning (extended thinking / test-time scaling) */
4
+ export type ReasoningBudget = "none" | "minimal" | "low" | "medium" | "high" | number;
5
+ /** Default reasoning budget - enables extended thinking by default */
6
+ export declare const defaultReasoningBudget: ReasoningBudget;
7
+ export declare const reasoningBudgetSchema: z.ZodUnion<readonly [z.ZodEnum<{
8
+ none: "none";
9
+ minimal: "minimal";
10
+ low: "low";
11
+ medium: "medium";
12
+ high: "high";
13
+ }>, z.ZodNumber]>;
14
+ export declare const domainPatternSchema: z.ZodString;
15
+ declare const anthropicSettingSchema: z.ZodObject<{
16
+ baseUrl: z.ZodOptional<z.ZodString>;
17
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
18
+ }, z.core.$strip>;
19
+ declare const googleSettingSchema: z.ZodObject<{
20
+ baseUrl: z.ZodOptional<z.ZodString>;
21
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
22
+ }, z.core.$strip>;
23
+ declare const openAiSettingSchema: z.ZodObject<{
24
+ baseUrl: z.ZodOptional<z.ZodString>;
25
+ organization: z.ZodOptional<z.ZodString>;
26
+ project: z.ZodOptional<z.ZodString>;
27
+ name: z.ZodOptional<z.ZodString>;
28
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
29
+ }, z.core.$strip>;
30
+ declare const ollamaSettingSchema: z.ZodObject<{
31
+ baseUrl: z.ZodOptional<z.ZodString>;
32
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
33
+ }, z.core.$strip>;
34
+ declare const azureOpenAiSettingSchema: z.ZodObject<{
35
+ resourceName: z.ZodOptional<z.ZodString>;
36
+ apiVersion: z.ZodOptional<z.ZodString>;
37
+ baseUrl: z.ZodOptional<z.ZodString>;
38
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
39
+ useDeploymentBasedUrls: z.ZodOptional<z.ZodBoolean>;
40
+ }, z.core.$strip>;
41
+ declare const amazonBedrockSettingSchema: z.ZodObject<{
42
+ region: z.ZodOptional<z.ZodString>;
43
+ }, z.core.$strip>;
44
+ declare const googleVertexSettingSchema: z.ZodObject<{
45
+ project: z.ZodOptional<z.ZodString>;
46
+ location: z.ZodOptional<z.ZodString>;
47
+ baseUrl: z.ZodOptional<z.ZodString>;
48
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
49
+ }, z.core.$strip>;
50
+ declare const deepseekSettingSchema: z.ZodObject<{
51
+ baseUrl: z.ZodOptional<z.ZodString>;
52
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
53
+ }, z.core.$strip>;
54
+ /** Provider configuration in perstack.toml */
55
+ export type ProviderTable = {
56
+ providerName: "anthropic";
57
+ setting?: z.infer<typeof anthropicSettingSchema>;
58
+ } | {
59
+ providerName: "google";
60
+ setting?: z.infer<typeof googleSettingSchema>;
61
+ } | {
62
+ providerName: "openai";
63
+ setting?: z.infer<typeof openAiSettingSchema>;
64
+ } | {
65
+ providerName: "ollama";
66
+ setting?: z.infer<typeof ollamaSettingSchema>;
67
+ } | {
68
+ providerName: "azure-openai";
69
+ setting?: z.infer<typeof azureOpenAiSettingSchema>;
70
+ } | {
71
+ providerName: "amazon-bedrock";
72
+ setting?: z.infer<typeof amazonBedrockSettingSchema>;
73
+ } | {
74
+ providerName: "google-vertex";
75
+ setting?: z.infer<typeof googleVertexSettingSchema>;
76
+ } | {
77
+ providerName: "deepseek";
78
+ setting?: z.infer<typeof deepseekSettingSchema>;
79
+ };
80
+ export declare const providerTableSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
81
+ providerName: z.ZodLiteral<"anthropic">;
82
+ setting: z.ZodOptional<z.ZodObject<{
83
+ baseUrl: z.ZodOptional<z.ZodString>;
84
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
85
+ }, z.core.$strip>>;
86
+ }, z.core.$strip>, z.ZodObject<{
87
+ providerName: z.ZodLiteral<"google">;
88
+ setting: z.ZodOptional<z.ZodObject<{
89
+ baseUrl: z.ZodOptional<z.ZodString>;
90
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
91
+ }, z.core.$strip>>;
92
+ }, z.core.$strip>, z.ZodObject<{
93
+ providerName: z.ZodLiteral<"openai">;
94
+ setting: z.ZodOptional<z.ZodObject<{
95
+ baseUrl: z.ZodOptional<z.ZodString>;
96
+ organization: z.ZodOptional<z.ZodString>;
97
+ project: z.ZodOptional<z.ZodString>;
98
+ name: z.ZodOptional<z.ZodString>;
99
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
100
+ }, z.core.$strip>>;
101
+ }, z.core.$strip>, z.ZodObject<{
102
+ providerName: z.ZodLiteral<"ollama">;
103
+ setting: z.ZodOptional<z.ZodObject<{
104
+ baseUrl: z.ZodOptional<z.ZodString>;
105
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
106
+ }, z.core.$strip>>;
107
+ }, z.core.$strip>, z.ZodObject<{
108
+ providerName: z.ZodLiteral<"azure-openai">;
109
+ setting: z.ZodOptional<z.ZodObject<{
110
+ resourceName: z.ZodOptional<z.ZodString>;
111
+ apiVersion: z.ZodOptional<z.ZodString>;
112
+ baseUrl: z.ZodOptional<z.ZodString>;
113
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
114
+ useDeploymentBasedUrls: z.ZodOptional<z.ZodBoolean>;
115
+ }, z.core.$strip>>;
116
+ }, z.core.$strip>, z.ZodObject<{
117
+ providerName: z.ZodLiteral<"amazon-bedrock">;
118
+ setting: z.ZodOptional<z.ZodObject<{
119
+ region: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strip>>;
121
+ }, z.core.$strip>, z.ZodObject<{
122
+ providerName: z.ZodLiteral<"google-vertex">;
123
+ setting: z.ZodOptional<z.ZodObject<{
124
+ project: z.ZodOptional<z.ZodString>;
125
+ location: z.ZodOptional<z.ZodString>;
126
+ baseUrl: z.ZodOptional<z.ZodString>;
127
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
128
+ }, z.core.$strip>>;
129
+ }, z.core.$strip>, z.ZodObject<{
130
+ providerName: z.ZodLiteral<"deepseek">;
131
+ setting: z.ZodOptional<z.ZodObject<{
132
+ baseUrl: z.ZodOptional<z.ZodString>;
133
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
134
+ }, z.core.$strip>>;
135
+ }, z.core.$strip>], "providerName">;
136
+ /** Skill configuration in perstack.toml */
137
+ export type PerstackConfigSkill = {
138
+ type: "mcpStdioSkill";
139
+ description?: string;
140
+ rule?: string;
141
+ pick?: string[];
142
+ omit?: string[];
143
+ command: string;
144
+ packageName?: string;
145
+ args?: string[];
146
+ requiredEnv?: string[];
147
+ allowedDomains?: string[];
148
+ } | {
149
+ type: "mcpSseSkill";
150
+ description?: string;
151
+ rule?: string;
152
+ pick?: string[];
153
+ omit?: string[];
154
+ endpoint: string;
155
+ allowedDomains?: string[];
156
+ } | {
157
+ type: "interactiveSkill";
158
+ description?: string;
159
+ rule?: string;
160
+ tools: Record<string, {
161
+ description?: string;
162
+ inputJsonSchema: string;
163
+ }>;
164
+ };
165
+ /** Expert definition in perstack.toml (simplified from full Expert) */
166
+ export interface PerstackConfigExpert {
167
+ /** Semantic version */
168
+ version?: string;
169
+ /** Minimum runtime version required */
170
+ minRuntimeVersion?: RuntimeVersion;
171
+ /** Description of the Expert */
172
+ description?: string;
173
+ /** System instruction */
174
+ instruction: string;
175
+ /** Skills configuration */
176
+ skills?: Record<string, PerstackConfigSkill>;
177
+ /** Delegates list */
178
+ delegates?: string[];
179
+ /** Tags for categorization */
180
+ tags?: string[];
181
+ /** Provider-specific tool names to enable */
182
+ providerTools?: string[];
183
+ /** Anthropic Agent Skills configuration */
184
+ providerSkills?: Array<{
185
+ type: "builtin";
186
+ skillId: "pdf" | "docx" | "pptx" | "xlsx";
187
+ } | {
188
+ type: "custom";
189
+ name: string;
190
+ definition: string;
191
+ }>;
192
+ /** Provider tool options */
193
+ providerToolOptions?: {
194
+ webSearch?: {
195
+ maxUses?: number;
196
+ allowedDomains?: string[];
197
+ };
198
+ webFetch?: {
199
+ maxUses?: number;
200
+ };
201
+ fileSearch?: {
202
+ vectorStoreIds?: string[];
203
+ maxNumResults?: number;
204
+ };
205
+ };
206
+ }
207
+ /**
208
+ * Configuration loaded from perstack.toml.
209
+ * This is the primary configuration file for Perstack projects.
210
+ */
211
+ export interface PerstackConfig {
212
+ /** Default provider configuration */
213
+ provider?: ProviderTable;
214
+ /** Default model name */
215
+ model?: string;
216
+ /** Reasoning budget for native LLM reasoning (extended thinking) */
217
+ reasoningBudget?: ReasoningBudget;
218
+ /** Maximum retries on generation failure */
219
+ maxRetries?: number;
220
+ /** Timeout per generation in milliseconds */
221
+ timeout?: number;
222
+ /** Expert definitions */
223
+ experts?: Record<string, PerstackConfigExpert>;
224
+ /** Custom Perstack API base URL */
225
+ perstackApiBaseUrl?: string;
226
+ /** Custom command for @perstack/base skill */
227
+ perstackBaseSkillCommand?: string[];
228
+ /** Paths to .env files */
229
+ envPath?: string[];
230
+ }
231
+ export declare const perstackConfigSchema: z.ZodObject<{
232
+ provider: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
233
+ providerName: z.ZodLiteral<"anthropic">;
234
+ setting: z.ZodOptional<z.ZodObject<{
235
+ baseUrl: z.ZodOptional<z.ZodString>;
236
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
237
+ }, z.core.$strip>>;
238
+ }, z.core.$strip>, z.ZodObject<{
239
+ providerName: z.ZodLiteral<"google">;
240
+ setting: z.ZodOptional<z.ZodObject<{
241
+ baseUrl: z.ZodOptional<z.ZodString>;
242
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
243
+ }, z.core.$strip>>;
244
+ }, z.core.$strip>, z.ZodObject<{
245
+ providerName: z.ZodLiteral<"openai">;
246
+ setting: z.ZodOptional<z.ZodObject<{
247
+ baseUrl: z.ZodOptional<z.ZodString>;
248
+ organization: z.ZodOptional<z.ZodString>;
249
+ project: z.ZodOptional<z.ZodString>;
250
+ name: z.ZodOptional<z.ZodString>;
251
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
252
+ }, z.core.$strip>>;
253
+ }, z.core.$strip>, z.ZodObject<{
254
+ providerName: z.ZodLiteral<"ollama">;
255
+ setting: z.ZodOptional<z.ZodObject<{
256
+ baseUrl: z.ZodOptional<z.ZodString>;
257
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
258
+ }, z.core.$strip>>;
259
+ }, z.core.$strip>, z.ZodObject<{
260
+ providerName: z.ZodLiteral<"azure-openai">;
261
+ setting: z.ZodOptional<z.ZodObject<{
262
+ resourceName: z.ZodOptional<z.ZodString>;
263
+ apiVersion: z.ZodOptional<z.ZodString>;
264
+ baseUrl: z.ZodOptional<z.ZodString>;
265
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
266
+ useDeploymentBasedUrls: z.ZodOptional<z.ZodBoolean>;
267
+ }, z.core.$strip>>;
268
+ }, z.core.$strip>, z.ZodObject<{
269
+ providerName: z.ZodLiteral<"amazon-bedrock">;
270
+ setting: z.ZodOptional<z.ZodObject<{
271
+ region: z.ZodOptional<z.ZodString>;
272
+ }, z.core.$strip>>;
273
+ }, z.core.$strip>, z.ZodObject<{
274
+ providerName: z.ZodLiteral<"google-vertex">;
275
+ setting: z.ZodOptional<z.ZodObject<{
276
+ project: z.ZodOptional<z.ZodString>;
277
+ location: z.ZodOptional<z.ZodString>;
278
+ baseUrl: z.ZodOptional<z.ZodString>;
279
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
280
+ }, z.core.$strip>>;
281
+ }, z.core.$strip>, z.ZodObject<{
282
+ providerName: z.ZodLiteral<"deepseek">;
283
+ setting: z.ZodOptional<z.ZodObject<{
284
+ baseUrl: z.ZodOptional<z.ZodString>;
285
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
286
+ }, z.core.$strip>>;
287
+ }, z.core.$strip>], "providerName">>;
288
+ model: z.ZodOptional<z.ZodString>;
289
+ reasoningBudget: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
290
+ none: "none";
291
+ minimal: "minimal";
292
+ low: "low";
293
+ medium: "medium";
294
+ high: "high";
295
+ }>, z.ZodNumber]>>;
296
+ maxRetries: z.ZodOptional<z.ZodNumber>;
297
+ timeout: z.ZodOptional<z.ZodNumber>;
298
+ experts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
299
+ version: z.ZodOptional<z.ZodString>;
300
+ minRuntimeVersion: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`v${number}.${number}`, string>>>;
301
+ description: z.ZodOptional<z.ZodString>;
302
+ instruction: z.ZodString;
303
+ skills: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
304
+ type: z.ZodLiteral<"mcpStdioSkill">;
305
+ description: z.ZodOptional<z.ZodString>;
306
+ rule: z.ZodOptional<z.ZodString>;
307
+ pick: z.ZodOptional<z.ZodArray<z.ZodString>>;
308
+ omit: z.ZodOptional<z.ZodArray<z.ZodString>>;
309
+ command: z.ZodString;
310
+ packageName: z.ZodOptional<z.ZodString>;
311
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
312
+ requiredEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
+ allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
314
+ }, z.core.$strip>, z.ZodObject<{
315
+ type: z.ZodLiteral<"mcpSseSkill">;
316
+ description: z.ZodOptional<z.ZodString>;
317
+ rule: z.ZodOptional<z.ZodString>;
318
+ pick: z.ZodOptional<z.ZodArray<z.ZodString>>;
319
+ omit: z.ZodOptional<z.ZodArray<z.ZodString>>;
320
+ endpoint: z.ZodString;
321
+ allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
322
+ }, z.core.$strip>, z.ZodObject<{
323
+ type: z.ZodLiteral<"interactiveSkill">;
324
+ description: z.ZodOptional<z.ZodString>;
325
+ rule: z.ZodOptional<z.ZodString>;
326
+ tools: z.ZodRecord<z.ZodString, z.ZodObject<{
327
+ description: z.ZodOptional<z.ZodString>;
328
+ inputJsonSchema: z.ZodString;
329
+ }, z.core.$strip>>;
330
+ }, z.core.$strip>], "type">>>;
331
+ delegates: z.ZodOptional<z.ZodArray<z.ZodString>>;
332
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
333
+ providerTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
334
+ providerSkills: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
335
+ type: z.ZodLiteral<"builtin">;
336
+ skillId: z.ZodEnum<{
337
+ pdf: "pdf";
338
+ docx: "docx";
339
+ pptx: "pptx";
340
+ xlsx: "xlsx";
341
+ }>;
342
+ }, z.core.$strip>, z.ZodObject<{
343
+ type: z.ZodLiteral<"custom">;
344
+ name: z.ZodString;
345
+ definition: z.ZodString;
346
+ }, z.core.$strip>], "type">>>;
347
+ providerToolOptions: z.ZodOptional<z.ZodObject<{
348
+ webSearch: z.ZodOptional<z.ZodObject<{
349
+ maxUses: z.ZodOptional<z.ZodNumber>;
350
+ allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
351
+ }, z.core.$strip>>;
352
+ webFetch: z.ZodOptional<z.ZodObject<{
353
+ maxUses: z.ZodOptional<z.ZodNumber>;
354
+ }, z.core.$strip>>;
355
+ fileSearch: z.ZodOptional<z.ZodObject<{
356
+ vectorStoreIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
357
+ maxNumResults: z.ZodOptional<z.ZodNumber>;
358
+ }, z.core.$strip>>;
359
+ }, z.core.$strip>>;
360
+ }, z.core.$strip>>>;
361
+ perstackApiBaseUrl: z.ZodOptional<z.ZodURL>;
362
+ perstackBaseSkillCommand: z.ZodOptional<z.ZodArray<z.ZodString>>;
363
+ envPath: z.ZodOptional<z.ZodArray<z.ZodString>>;
364
+ }, z.core.$strip>;
365
+ export {};
366
+ //# sourceMappingURL=perstack-toml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perstack-toml.d.ts","sourceRoot":"","sources":["../../../src/schemas/perstack-toml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ import { z } from "zod";
2
+ import { headersSchema } from "./provider-config.js";
3
+ import { anthropicProviderSkillSchema, providerToolOptionsSchema } from "./provider-tools.js";
4
+ import { runtimeVersionSchema } from "./runtime-version.js";
5
+ import { isPrivateOrLocalIP } from "./skill.js";
6
+ /** Default reasoning budget - enables extended thinking by default */
7
+ export const defaultReasoningBudget = "low";
8
+ export const reasoningBudgetSchema = z.union([
9
+ z.enum(["none", "minimal", "low", "medium", "high"]),
10
+ z.number().int().nonnegative(), // 0 disables reasoning (same as "none")
11
+ ]);
12
+ const domainPatternRegex = /^(\*\.)?[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*$/;
13
+ const punycodeRegex = /(?:^|\.)(xn--)/i;
14
+ export const domainPatternSchema = z
15
+ .string()
16
+ .regex(domainPatternRegex, {
17
+ message: "Invalid domain pattern. Use exact domain (example.com) or wildcard prefix (*.example.com)",
18
+ })
19
+ .refine((domain) => !punycodeRegex.test(domain), {
20
+ message: "Punycode domains (xn--) are not allowed to prevent homograph attacks. Use ASCII domains only.",
21
+ });
22
+ const sseEndpointSchema = z
23
+ .string()
24
+ .url()
25
+ .refine((url) => {
26
+ try {
27
+ const parsed = new URL(url);
28
+ if (parsed.protocol !== "https:")
29
+ return false;
30
+ if (isPrivateOrLocalIP(parsed.hostname))
31
+ return false;
32
+ return true;
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ }, { message: "SSE endpoint must be a public HTTPS URL" });
38
+ const httpsUrlSchema = z
39
+ .string()
40
+ .url()
41
+ .refine((url) => url.startsWith("https://"), { message: "URL must use HTTPS" });
42
+ const anthropicSettingSchema = z.object({
43
+ baseUrl: httpsUrlSchema.optional(),
44
+ headers: headersSchema,
45
+ });
46
+ const googleSettingSchema = z.object({
47
+ baseUrl: httpsUrlSchema.optional(),
48
+ headers: headersSchema,
49
+ });
50
+ const openAiSettingSchema = z.object({
51
+ baseUrl: httpsUrlSchema.optional(),
52
+ organization: z.string().optional(),
53
+ project: z.string().optional(),
54
+ name: z.string().optional(),
55
+ headers: headersSchema,
56
+ });
57
+ const ollamaSettingSchema = z.object({
58
+ baseUrl: z.string().optional(),
59
+ headers: headersSchema,
60
+ });
61
+ const azureOpenAiSettingSchema = z.object({
62
+ resourceName: z.string().optional(),
63
+ apiVersion: z.string().optional(),
64
+ baseUrl: httpsUrlSchema.optional(),
65
+ headers: headersSchema,
66
+ useDeploymentBasedUrls: z.boolean().optional(),
67
+ });
68
+ const amazonBedrockSettingSchema = z.object({
69
+ region: z.string().optional(),
70
+ });
71
+ const googleVertexSettingSchema = z.object({
72
+ project: z.string().optional(),
73
+ location: z.string().optional(),
74
+ baseUrl: httpsUrlSchema.optional(),
75
+ headers: headersSchema,
76
+ });
77
+ const deepseekSettingSchema = z.object({
78
+ baseUrl: httpsUrlSchema.optional(),
79
+ headers: headersSchema,
80
+ });
81
+ export const providerTableSchema = z.discriminatedUnion("providerName", [
82
+ z.object({
83
+ providerName: z.literal("anthropic"),
84
+ setting: anthropicSettingSchema.optional(),
85
+ }),
86
+ z.object({
87
+ providerName: z.literal("google"),
88
+ setting: googleSettingSchema.optional(),
89
+ }),
90
+ z.object({
91
+ providerName: z.literal("openai"),
92
+ setting: openAiSettingSchema.optional(),
93
+ }),
94
+ z.object({
95
+ providerName: z.literal("ollama"),
96
+ setting: ollamaSettingSchema.optional(),
97
+ }),
98
+ z.object({
99
+ providerName: z.literal("azure-openai"),
100
+ setting: azureOpenAiSettingSchema.optional(),
101
+ }),
102
+ z.object({
103
+ providerName: z.literal("amazon-bedrock"),
104
+ setting: amazonBedrockSettingSchema.optional(),
105
+ }),
106
+ z.object({
107
+ providerName: z.literal("google-vertex"),
108
+ setting: googleVertexSettingSchema.optional(),
109
+ }),
110
+ z.object({
111
+ providerName: z.literal("deepseek"),
112
+ setting: deepseekSettingSchema.optional(),
113
+ }),
114
+ ]);
115
+ export const perstackConfigSchema = z.object({
116
+ provider: providerTableSchema.optional(),
117
+ model: z.string().optional(),
118
+ reasoningBudget: reasoningBudgetSchema.optional(),
119
+ maxRetries: z.number().optional(),
120
+ timeout: z.number().optional(),
121
+ experts: z
122
+ .record(z.string(), z.object({
123
+ version: z.string().optional(),
124
+ minRuntimeVersion: runtimeVersionSchema.optional(),
125
+ description: z.string().optional(),
126
+ instruction: z.string(),
127
+ skills: z
128
+ .record(z.string(), z.discriminatedUnion("type", [
129
+ z.object({
130
+ type: z.literal("mcpStdioSkill"),
131
+ description: z.string().optional(),
132
+ rule: z.string().optional(),
133
+ pick: z.array(z.string()).optional(),
134
+ omit: z.array(z.string()).optional(),
135
+ command: z.string(),
136
+ packageName: z.string().optional(),
137
+ args: z.array(z.string()).optional(),
138
+ requiredEnv: z.array(z.string()).optional(),
139
+ allowedDomains: z.array(domainPatternSchema).optional(),
140
+ }),
141
+ z.object({
142
+ type: z.literal("mcpSseSkill"),
143
+ description: z.string().optional(),
144
+ rule: z.string().optional(),
145
+ pick: z.array(z.string()).optional(),
146
+ omit: z.array(z.string()).optional(),
147
+ endpoint: sseEndpointSchema,
148
+ allowedDomains: z.array(domainPatternSchema).optional(),
149
+ }),
150
+ z.object({
151
+ type: z.literal("interactiveSkill"),
152
+ description: z.string().optional(),
153
+ rule: z.string().optional(),
154
+ tools: z.record(z.string(), z.object({
155
+ description: z.string().optional(),
156
+ inputJsonSchema: z.string(),
157
+ })),
158
+ }),
159
+ ]))
160
+ .optional(),
161
+ delegates: z.array(z.string()).optional(),
162
+ tags: z.array(z.string()).optional(),
163
+ providerTools: z.array(z.string()).optional(),
164
+ providerSkills: z.array(anthropicProviderSkillSchema).optional(),
165
+ providerToolOptions: providerToolOptionsSchema,
166
+ }))
167
+ .optional(),
168
+ perstackApiBaseUrl: z
169
+ .url()
170
+ .refine((url) => url.startsWith("https://"), { message: "perstackApiBaseUrl must use HTTPS" })
171
+ .optional(),
172
+ perstackBaseSkillCommand: z.array(z.string()).optional(),
173
+ envPath: z.array(z.string()).optional(),
174
+ });
175
+ //# sourceMappingURL=perstack-toml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perstack-toml.js","sourceRoot":"","sources":["../../../src/schemas/perstack-toml.ts"],"names":[],"mappings":"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"}