@perstack/core 0.0.26 → 0.0.27

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.
package/dist/src/index.js CHANGED
@@ -110,7 +110,6 @@ function createRuntimeInitEvent(jobId, runId, expertName, runtime, version, quer
110
110
  expertName,
111
111
  experts: [],
112
112
  model: `${runtime}:default`,
113
- temperature: 0,
114
113
  maxRetries: 0,
115
114
  timeout: 0,
116
115
  query
@@ -232,7 +231,6 @@ var maxExpertInstructionLength = 1024 * 20;
232
231
  var maxExpertSkillItems = 255;
233
232
  var maxExpertDelegateItems = 255;
234
233
  var maxExpertTagItems = 8;
235
- var defaultTemperature = 0;
236
234
  var defaultMaxSteps = 100;
237
235
  var defaultMaxRetries = 5;
238
236
  var defaultTimeout = 5 * 1e3 * 60;
@@ -483,6 +481,11 @@ var toolCallPartSchema = basePartSchema.extend({
483
481
  toolName: z.string(),
484
482
  args: z.unknown()
485
483
  });
484
+ var thinkingPartSchema = basePartSchema.extend({
485
+ type: z.literal("thinkingPart"),
486
+ thinking: z.string(),
487
+ signature: z.string().optional()
488
+ });
486
489
  var toolResultPartSchema = basePartSchema.extend({
487
490
  type: z.literal("toolResultPart"),
488
491
  toolCallId: z.string(),
@@ -499,7 +502,8 @@ var messagePartSchema = z.discriminatedUnion("type", [
499
502
  fileInlinePartSchema,
500
503
  fileBinaryPartSchema,
501
504
  toolCallPartSchema,
502
- toolResultPartSchema
505
+ toolResultPartSchema,
506
+ thinkingPartSchema
503
507
  ]);
504
508
 
505
509
  // src/schemas/message.ts
@@ -528,7 +532,7 @@ var userMessageSchema = baseMessageSchema.extend({
528
532
  });
529
533
  var expertMessageSchema = baseMessageSchema.extend({
530
534
  type: z.literal("expertMessage"),
531
- contents: z.array(z.union([textPartSchema, toolCallPartSchema])),
535
+ contents: z.array(z.union([textPartSchema, toolCallPartSchema, thinkingPartSchema])),
532
536
  cache: z.boolean().optional()
533
537
  });
534
538
  var toolMessageSchema = baseMessageSchema.extend({
@@ -613,8 +617,74 @@ var checkpointSchema = z.object({
613
617
  partialToolResults: z.array(toolResultSchema).optional(),
614
618
  metadata: z.object({
615
619
  runtime: runtimeNameSchema.optional()
616
- }).passthrough().optional()
620
+ }).passthrough().optional(),
621
+ error: z.object({
622
+ name: z.string(),
623
+ message: z.string(),
624
+ statusCode: z.number().optional(),
625
+ isRetryable: z.boolean()
626
+ }).optional(),
627
+ retryCount: z.number().optional()
628
+ });
629
+ var anthropicProviderToolNameSchema = z.enum(["webSearch", "webFetch", "codeExecution"]);
630
+ var builtinAnthropicSkillSchema = z.object({
631
+ type: z.literal("builtin"),
632
+ skillId: z.enum(["pdf", "docx", "pptx", "xlsx"])
633
+ });
634
+ var customAnthropicSkillSchema = z.object({
635
+ type: z.literal("custom"),
636
+ name: z.string().min(1),
637
+ definition: z.string().min(1)
638
+ });
639
+ var anthropicProviderSkillSchema = z.discriminatedUnion("type", [
640
+ builtinAnthropicSkillSchema,
641
+ customAnthropicSkillSchema
642
+ ]);
643
+ var openaiProviderToolNameSchema = z.enum([
644
+ "webSearch",
645
+ "fileSearch",
646
+ "codeInterpreter",
647
+ "imageGeneration"
648
+ ]);
649
+ var googleProviderToolNameSchema = z.enum([
650
+ "googleSearch",
651
+ "codeExecution",
652
+ "urlContext",
653
+ "fileSearch",
654
+ "googleMaps"
655
+ ]);
656
+ var azureOpenAIProviderToolNameSchema = z.enum([
657
+ "webSearchPreview",
658
+ "fileSearch",
659
+ "codeInterpreter",
660
+ "imageGeneration"
661
+ ]);
662
+ var vertexProviderToolNameSchema = z.enum([
663
+ "codeExecution",
664
+ "urlContext",
665
+ "googleSearch",
666
+ "enterpriseWebSearch",
667
+ "googleMaps"
668
+ ]);
669
+ var webSearchOptionsSchema = z.object({
670
+ maxUses: z.number().int().positive().optional(),
671
+ allowedDomains: z.array(z.string()).optional()
672
+ });
673
+ var webFetchOptionsSchema = z.object({
674
+ maxUses: z.number().int().positive().optional()
675
+ });
676
+ var fileSearchOptionsSchema = z.object({
677
+ vectorStoreIds: z.array(z.string()).optional(),
678
+ maxNumResults: z.number().int().positive().optional()
617
679
  });
680
+ var providerToolOptionsSchema = z.object({
681
+ webSearch: webSearchOptionsSchema.optional(),
682
+ webFetch: webFetchOptionsSchema.optional(),
683
+ fileSearch: fileSearchOptionsSchema.optional()
684
+ }).optional();
685
+ function hasCustomProviderSkills(skills) {
686
+ return skills?.some((skill) => skill.type === "custom") ?? false;
687
+ }
618
688
  function isPrivateOrLocalIP(hostname) {
619
689
  if (hostname === "localhost" || hostname === "127.0.0.1" || hostname === "::1" || hostname === "0.0.0.0") {
620
690
  return true;
@@ -740,7 +810,10 @@ var expertSchema = z.object({
740
810
  );
741
811
  }),
742
812
  delegates: z.array(z.string().regex(expertKeyRegex).min(1)).optional().default([]),
743
- tags: z.array(z.string().regex(tagNameRegex).min(1)).optional().default([])
813
+ tags: z.array(z.string().regex(tagNameRegex).min(1)).optional().default([]),
814
+ providerTools: z.array(z.string()).optional(),
815
+ providerSkills: z.array(anthropicProviderSkillSchema).optional(),
816
+ providerToolOptions: providerToolOptionsSchema
744
817
  });
745
818
  var jobStatusSchema = z.enum([
746
819
  "running",
@@ -759,6 +832,29 @@ var jobSchema = z.object({
759
832
  startedAt: z.number(),
760
833
  finishedAt: z.number().optional()
761
834
  });
835
+ var lockfileToolDefinitionSchema = z.object({
836
+ skillName: z.string(),
837
+ name: z.string(),
838
+ description: z.string().optional(),
839
+ inputSchema: z.record(z.string(), z.unknown())
840
+ });
841
+ var lockfileExpertSchema = z.object({
842
+ key: z.string(),
843
+ name: z.string(),
844
+ version: z.string(),
845
+ description: z.string().optional(),
846
+ instruction: z.string(),
847
+ skills: z.record(z.string(), skillSchema),
848
+ delegates: z.array(z.string()),
849
+ tags: z.array(z.string()),
850
+ toolDefinitions: z.array(lockfileToolDefinitionSchema)
851
+ });
852
+ var lockfileSchema = z.object({
853
+ version: z.literal("1"),
854
+ generatedAt: z.number(),
855
+ configPath: z.string(),
856
+ experts: z.record(z.string(), lockfileExpertSchema)
857
+ });
762
858
  var headersSchema = z.record(z.string(), z.string()).optional();
763
859
  var providerNameSchema = z.enum([
764
860
  "anthropic",
@@ -837,6 +933,12 @@ var providerConfigSchema = z.discriminatedUnion("providerName", [
837
933
  ]);
838
934
 
839
935
  // src/schemas/perstack-toml.ts
936
+ var defaultReasoningBudget = "low";
937
+ var reasoningBudgetSchema = z.union([
938
+ z.enum(["none", "minimal", "low", "medium", "high"]),
939
+ z.number().int().nonnegative()
940
+ // 0 disables reasoning (same as "none")
941
+ ]);
840
942
  var 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])?)*$/;
841
943
  var punycodeRegex = /(?:^|\.)(xn--)/i;
842
944
  var domainPatternSchema = z.string().regex(domainPatternRegex, {
@@ -961,7 +1063,7 @@ var providerTableSchema = z.discriminatedUnion("providerName", [
961
1063
  var perstackConfigSchema = z.object({
962
1064
  provider: providerTableSchema.optional(),
963
1065
  model: z.string().optional(),
964
- temperature: z.number().optional(),
1066
+ reasoningBudget: reasoningBudgetSchema.optional(),
965
1067
  runtime: runtimeNameSchema.optional(),
966
1068
  maxSteps: z.number().optional(),
967
1069
  maxRetries: z.number().optional(),
@@ -1013,7 +1115,10 @@ var perstackConfigSchema = z.object({
1013
1115
  ])
1014
1116
  ).optional(),
1015
1117
  delegates: z.array(z.string()).optional(),
1016
- tags: z.array(z.string()).optional()
1118
+ tags: z.array(z.string()).optional(),
1119
+ providerTools: z.array(z.string()).optional(),
1120
+ providerSkills: z.array(anthropicProviderSkillSchema).optional(),
1121
+ providerToolOptions: providerToolOptionsSchema
1017
1122
  })
1018
1123
  ).optional(),
1019
1124
  perstackApiBaseUrl: z.url().refine((url) => url.startsWith("https://"), { message: "perstackApiBaseUrl must use HTTPS" }).optional(),
@@ -1024,12 +1129,15 @@ var commandOptionsSchema = z.object({
1024
1129
  config: z.string().optional(),
1025
1130
  provider: providerNameSchema.optional(),
1026
1131
  model: z.string().optional(),
1027
- temperature: z.string().optional().transform((value) => {
1132
+ reasoningBudget: z.string().optional().transform((value) => {
1028
1133
  if (value === void 0) return void 0;
1029
- const parsedValue = Number.parseFloat(value);
1134
+ if (["none", "minimal", "low", "medium", "high"].includes(value)) {
1135
+ return value;
1136
+ }
1137
+ const parsedValue = Number.parseInt(value, 10);
1030
1138
  if (Number.isNaN(parsedValue)) return void 0;
1031
1139
  return parsedValue;
1032
- }),
1140
+ }).pipe(reasoningBudgetSchema.optional()),
1033
1141
  maxSteps: z.string().optional().transform((value) => {
1034
1142
  if (value === void 0) return void 0;
1035
1143
  const parsedValue = Number.parseInt(value, 10);
@@ -1097,7 +1205,7 @@ var runSettingSchema = z.object({
1097
1205
  }).optional()
1098
1206
  }),
1099
1207
  experts: z.record(z.string(), expertSchema),
1100
- temperature: z.number().min(0).max(1),
1208
+ reasoningBudget: reasoningBudgetSchema.default(defaultReasoningBudget),
1101
1209
  maxSteps: z.number().min(1).optional().default(defaultMaxSteps),
1102
1210
  maxRetries: z.number().min(0),
1103
1211
  timeout: z.number().min(0),
@@ -1137,7 +1245,7 @@ var runParamsSchema = z.object({
1137
1245
  ])
1138
1246
  )
1139
1247
  ),
1140
- temperature: z.number().min(0).max(1).optional().default(defaultTemperature),
1248
+ reasoningBudget: reasoningBudgetSchema.optional().default(defaultReasoningBudget),
1141
1249
  maxSteps: z.number().min(1).optional().default(defaultMaxSteps),
1142
1250
  maxRetries: z.number().min(0).optional().default(defaultMaxRetries),
1143
1251
  timeout: z.number().min(0).optional().default(defaultTimeout),
@@ -1173,7 +1281,6 @@ var callTools = createEvent("callTools");
1173
1281
  var callInteractiveTool = createEvent("callInteractiveTool");
1174
1282
  var callDelegate = createEvent("callDelegate");
1175
1283
  var resolveToolResults = createEvent("resolveToolResults");
1176
- var resolveThought = createEvent("resolveThought");
1177
1284
  var attemptCompletion = createEvent("attemptCompletion");
1178
1285
  var finishToolCall = createEvent("finishToolCall");
1179
1286
  var resumeToolCalls = createEvent("resumeToolCalls");
@@ -1182,6 +1289,7 @@ var completeRun = createEvent("completeRun");
1182
1289
  var stopRunByInteractiveTool = createEvent("stopRunByInteractiveTool");
1183
1290
  var stopRunByDelegate = createEvent("stopRunByDelegate");
1184
1291
  var stopRunByExceededMaxSteps = createEvent("stopRunByExceededMaxSteps");
1292
+ var stopRunByError = createEvent("stopRunByError");
1185
1293
  var continueToNextStep = createEvent("continueToNextStep");
1186
1294
  function createRuntimeEvent(type, jobId, runId, data) {
1187
1295
  return {
@@ -1274,6 +1382,6 @@ function parseWithFriendlyError(schema, data, context) {
1274
1382
  throw new Error(`${prefix}${formatZodError(result.error)}`);
1275
1383
  }
1276
1384
 
1277
- export { BaseAdapter, SAFE_ENV_VARS, amazonBedrockProviderConfigSchema, anthropicProviderConfigSchema, attemptCompletion, azureOpenAiProviderConfigSchema, basePartSchema, callDelegate, callInteractiveTool, callTools, checkpointSchema, checkpointStatusSchema, completeRun, continueToNextStep, createCallToolsEvent, createCompleteRunEvent, createEmptyUsage, createEvent, createNormalizedCheckpoint, createResolveToolResultsEvent, createRuntimeEvent, createRuntimeInitEvent, createStartRunEvent, createStreamingTextEvent, createToolMessage, deepseekProviderConfigSchema, defaultMaxRetries, defaultMaxSteps, defaultPerstackApiBaseUrl, defaultTemperature, defaultTimeout, delegationTargetSchema, domainPatternSchema, envNameRegex, expertKeyRegex, expertMessageSchema, expertNameRegex, expertSchema, expertVersionRegex, fileBinaryPartSchema, fileInlinePartSchema, fileUrlPartSchema, finishAllToolCalls, finishToolCall, formatZodError, getAdapter, getFilteredEnv, getRegisteredRuntimes, googleGenerativeAiProviderConfigSchema, googleVertexProviderConfigSchema, headersSchema, imageBinaryPartSchema, imageInlinePartSchema, imageUrlPartSchema, instructionMessageSchema, interactiveSkillSchema, interactiveToolSchema, isAdapterAvailable, jobSchema, jobStatusSchema, knownModels, maxApplicationNameLength, maxCheckpointToolCallIdLength, maxEnvNameLength, maxExpertDelegateItems, maxExpertDescriptionLength, maxExpertInstructionLength, maxExpertJobFileNameLength, maxExpertJobQueryLength, maxExpertKeyLength, maxExpertNameLength, maxExpertSkillItems, maxExpertTagItems, maxExpertVersionTagLength, maxOrganizationNameLength, maxSkillDescriptionLength, maxSkillEndpointLength, maxSkillInputJsonSchemaLength, maxSkillNameLength, maxSkillPickOmitItems, maxSkillRequiredEnvItems, maxSkillRuleLength, maxSkillToolItems, maxSkillToolNameLength, mcpSseSkillSchema, mcpStdioSkillSchema, messagePartSchema, messageSchema, ollamaProviderConfigSchema, openAiProviderConfigSchema, organizationNameRegex, packageWithVersionRegex, parseExpertKey, parseWithFriendlyError, perstackConfigSchema, providerConfigSchema, providerNameSchema, providerTableSchema, registerAdapter, resolveThought, resolveToolResults, resumeToolCalls, retry, runCommandInputSchema, runParamsSchema, runSettingSchema, runtimeNameSchema, skillSchema, startCommandInputSchema, startGeneration, startRun, stepSchema, stopRunByDelegate, stopRunByExceededMaxSteps, stopRunByInteractiveTool, tagNameRegex, textPartSchema, toolCallPartSchema, toolCallSchema, toolMessageSchema, toolResultPartSchema, toolResultSchema, urlSafeRegex, usageSchema, userMessageSchema };
1385
+ export { BaseAdapter, SAFE_ENV_VARS, amazonBedrockProviderConfigSchema, anthropicProviderConfigSchema, anthropicProviderSkillSchema, anthropicProviderToolNameSchema, attemptCompletion, azureOpenAIProviderToolNameSchema, azureOpenAiProviderConfigSchema, basePartSchema, builtinAnthropicSkillSchema, callDelegate, callInteractiveTool, callTools, checkpointSchema, checkpointStatusSchema, completeRun, continueToNextStep, createCallToolsEvent, createCompleteRunEvent, createEmptyUsage, createEvent, createNormalizedCheckpoint, createResolveToolResultsEvent, createRuntimeEvent, createRuntimeInitEvent, createStartRunEvent, createStreamingTextEvent, createToolMessage, customAnthropicSkillSchema, deepseekProviderConfigSchema, defaultMaxRetries, defaultMaxSteps, defaultPerstackApiBaseUrl, defaultReasoningBudget, defaultTimeout, delegationTargetSchema, domainPatternSchema, envNameRegex, expertKeyRegex, expertMessageSchema, expertNameRegex, expertSchema, expertVersionRegex, fileBinaryPartSchema, fileInlinePartSchema, fileSearchOptionsSchema, fileUrlPartSchema, finishAllToolCalls, finishToolCall, formatZodError, getAdapter, getFilteredEnv, getRegisteredRuntimes, googleGenerativeAiProviderConfigSchema, googleProviderToolNameSchema, googleVertexProviderConfigSchema, hasCustomProviderSkills, headersSchema, imageBinaryPartSchema, imageInlinePartSchema, imageUrlPartSchema, instructionMessageSchema, interactiveSkillSchema, interactiveToolSchema, isAdapterAvailable, jobSchema, jobStatusSchema, knownModels, lockfileExpertSchema, lockfileSchema, lockfileToolDefinitionSchema, maxApplicationNameLength, maxCheckpointToolCallIdLength, maxEnvNameLength, maxExpertDelegateItems, maxExpertDescriptionLength, maxExpertInstructionLength, maxExpertJobFileNameLength, maxExpertJobQueryLength, maxExpertKeyLength, maxExpertNameLength, maxExpertSkillItems, maxExpertTagItems, maxExpertVersionTagLength, maxOrganizationNameLength, maxSkillDescriptionLength, maxSkillEndpointLength, maxSkillInputJsonSchemaLength, maxSkillNameLength, maxSkillPickOmitItems, maxSkillRequiredEnvItems, maxSkillRuleLength, maxSkillToolItems, maxSkillToolNameLength, mcpSseSkillSchema, mcpStdioSkillSchema, messagePartSchema, messageSchema, ollamaProviderConfigSchema, openAiProviderConfigSchema, openaiProviderToolNameSchema, organizationNameRegex, packageWithVersionRegex, parseExpertKey, parseWithFriendlyError, perstackConfigSchema, providerConfigSchema, providerNameSchema, providerTableSchema, providerToolOptionsSchema, reasoningBudgetSchema, registerAdapter, resolveToolResults, resumeToolCalls, retry, runCommandInputSchema, runParamsSchema, runSettingSchema, runtimeNameSchema, skillSchema, startCommandInputSchema, startGeneration, startRun, stepSchema, stopRunByDelegate, stopRunByError, stopRunByExceededMaxSteps, stopRunByInteractiveTool, tagNameRegex, textPartSchema, thinkingPartSchema, toolCallPartSchema, toolCallSchema, toolMessageSchema, toolResultPartSchema, toolResultSchema, urlSafeRegex, usageSchema, userMessageSchema, vertexProviderToolNameSchema, webFetchOptionsSchema, webSearchOptionsSchema };
1278
1386
  //# sourceMappingURL=index.js.map
1279
1387
  //# sourceMappingURL=index.js.map