@keystrokehq/hosting 0.1.6 → 0.1.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.
- package/dist/index.cjs +97 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +97 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -4
package/dist/index.mjs
CHANGED
|
@@ -5266,18 +5266,19 @@ object({
|
|
|
5266
5266
|
source: _enum([
|
|
5267
5267
|
"custom",
|
|
5268
5268
|
"mcp",
|
|
5269
|
-
"openapi"
|
|
5269
|
+
"openapi",
|
|
5270
|
+
"graphql"
|
|
5270
5271
|
]).default("custom"),
|
|
5271
|
-
|
|
5272
|
+
url: string().url().optional(),
|
|
5272
5273
|
authKind: AppAuthKindSchema.optional(),
|
|
5273
5274
|
fields: optionalCredentialFieldsSchema.optional(),
|
|
5274
5275
|
credentialScheme: AppCredentialSchemeSchema.optional(),
|
|
5275
5276
|
oauthScopes: array(OAuthScopeOptionSchema).optional()
|
|
5276
5277
|
}).superRefine((data, ctx) => {
|
|
5277
|
-
if (data.source === "mcp" && !data.
|
|
5278
|
+
if ((data.source === "mcp" || data.source === "openapi" || data.source === "graphql") && !data.url) ctx.addIssue({
|
|
5278
5279
|
code: "custom",
|
|
5279
|
-
message: "
|
|
5280
|
-
path: ["
|
|
5280
|
+
message: "url is required for this app source",
|
|
5281
|
+
path: ["url"]
|
|
5281
5282
|
});
|
|
5282
5283
|
if (!(data.authKind ?? (data.source === "custom" ? "api_key" : void 0))) {
|
|
5283
5284
|
ctx.addIssue({
|
|
@@ -5303,7 +5304,7 @@ object({
|
|
|
5303
5304
|
category: string().min(1),
|
|
5304
5305
|
authKind: AppAuthKindSchema,
|
|
5305
5306
|
source: AppSourceSchema,
|
|
5306
|
-
|
|
5307
|
+
url: string().url().nullable().optional(),
|
|
5307
5308
|
credentialFields: optionalCredentialFieldsSchema.optional(),
|
|
5308
5309
|
credentialScheme: AppCredentialSchemeSchema.optional(),
|
|
5309
5310
|
oauthScopes: array(OAuthScopeOptionSchema).optional(),
|
|
@@ -5323,7 +5324,7 @@ object({
|
|
|
5323
5324
|
source: AppSourceSchema,
|
|
5324
5325
|
credentialFields: AppCredentialFieldsSchema.optional(),
|
|
5325
5326
|
credentialScheme: AppCredentialSchemeSchema.optional(),
|
|
5326
|
-
|
|
5327
|
+
url: string().url().nullable().optional(),
|
|
5327
5328
|
createdAt: string().min(1),
|
|
5328
5329
|
updatedAt: string().min(1)
|
|
5329
5330
|
});
|
|
@@ -5342,8 +5343,8 @@ object({
|
|
|
5342
5343
|
credentialFields: AppCredentialFieldsSchema.optional(),
|
|
5343
5344
|
/** Composio auth scheme when credentialFields are present. */
|
|
5344
5345
|
credentialScheme: AppCredentialSchemeSchema.optional(),
|
|
5345
|
-
/**
|
|
5346
|
-
|
|
5346
|
+
/** Endpoint URL for MCP, OpenAPI, or GraphQL custom apps. */
|
|
5347
|
+
url: string().url().nullable().optional(),
|
|
5347
5348
|
/** When present, the app supports agent gateway bindings (external channels). */
|
|
5348
5349
|
gateway: AppGatewaySchema.optional()
|
|
5349
5350
|
});
|
|
@@ -5377,7 +5378,7 @@ object({
|
|
|
5377
5378
|
credentialFields: record(string(), AppCredentialFieldSchema).optional(),
|
|
5378
5379
|
credentialScheme: AppCredentialSchemeSchema.optional(),
|
|
5379
5380
|
oauthScopes: array(OAuthScopeOptionSchema),
|
|
5380
|
-
|
|
5381
|
+
url: string().url(),
|
|
5381
5382
|
oauth: McpAuthProbeOAuthSchema.optional(),
|
|
5382
5383
|
serverName: string().optional(),
|
|
5383
5384
|
serverDescription: string().optional()
|
|
@@ -5401,7 +5402,21 @@ object({
|
|
|
5401
5402
|
credentialFields: record(string(), AppCredentialFieldSchema).optional(),
|
|
5402
5403
|
credentialScheme: AppCredentialSchemeSchema.optional(),
|
|
5403
5404
|
oauthScopes: array(OAuthScopeOptionSchema),
|
|
5404
|
-
|
|
5405
|
+
url: string().url(),
|
|
5406
|
+
name: string().optional(),
|
|
5407
|
+
description: string().optional(),
|
|
5408
|
+
homepageUrl: string().optional()
|
|
5409
|
+
})
|
|
5410
|
+
});
|
|
5411
|
+
object({ url: string().url() });
|
|
5412
|
+
object({
|
|
5413
|
+
detected: boolean(),
|
|
5414
|
+
template: object({
|
|
5415
|
+
authKind: AppAuthKindSchema,
|
|
5416
|
+
credentialFields: record(string(), AppCredentialFieldSchema).optional(),
|
|
5417
|
+
credentialScheme: AppCredentialSchemeSchema.optional(),
|
|
5418
|
+
oauthScopes: array(OAuthScopeOptionSchema),
|
|
5419
|
+
url: string().url(),
|
|
5405
5420
|
name: string().optional(),
|
|
5406
5421
|
description: string().optional(),
|
|
5407
5422
|
homepageUrl: string().optional()
|
|
@@ -5663,6 +5678,7 @@ object({
|
|
|
5663
5678
|
/** Honeypot — must stay empty; bots that fill it are ignored silently. */
|
|
5664
5679
|
companyWebsite: string().optional()
|
|
5665
5680
|
});
|
|
5681
|
+
object({ models: array(string()) });
|
|
5666
5682
|
const ValidationErrorDetailSchema = object({
|
|
5667
5683
|
path: string(),
|
|
5668
5684
|
message: string()
|
|
@@ -5676,6 +5692,43 @@ object({
|
|
|
5676
5692
|
details: array(ValidationErrorDetailSchema).optional()
|
|
5677
5693
|
});
|
|
5678
5694
|
object({ message: string() });
|
|
5695
|
+
const CHAT_ATTACHMENT_MAX_BYTES = 10 * 1024 * 1024;
|
|
5696
|
+
[
|
|
5697
|
+
{
|
|
5698
|
+
mediaType: "image/png",
|
|
5699
|
+
ext: "png"
|
|
5700
|
+
},
|
|
5701
|
+
{
|
|
5702
|
+
mediaType: "image/jpeg",
|
|
5703
|
+
ext: "jpg"
|
|
5704
|
+
},
|
|
5705
|
+
{
|
|
5706
|
+
mediaType: "image/webp",
|
|
5707
|
+
ext: "webp"
|
|
5708
|
+
},
|
|
5709
|
+
{
|
|
5710
|
+
mediaType: "image/gif",
|
|
5711
|
+
ext: "gif"
|
|
5712
|
+
},
|
|
5713
|
+
{
|
|
5714
|
+
mediaType: "application/pdf",
|
|
5715
|
+
ext: "pdf"
|
|
5716
|
+
}
|
|
5717
|
+
].map((type) => type.mediaType);
|
|
5718
|
+
const ChatAttachmentInputSchema = object({
|
|
5719
|
+
storageKey: string().min(1),
|
|
5720
|
+
mediaType: string().min(1),
|
|
5721
|
+
filename: string().optional()
|
|
5722
|
+
});
|
|
5723
|
+
object({
|
|
5724
|
+
contentType: string().min(1),
|
|
5725
|
+
filename: string().min(1),
|
|
5726
|
+
size: number$1().int().positive().max(CHAT_ATTACHMENT_MAX_BYTES)
|
|
5727
|
+
});
|
|
5728
|
+
object({
|
|
5729
|
+
uploadUrl: string().url(),
|
|
5730
|
+
storageKey: string().min(1)
|
|
5731
|
+
});
|
|
5679
5732
|
const CredentialRunContextSchema = object({
|
|
5680
5733
|
orgId: string().min(1).optional(),
|
|
5681
5734
|
projectId: string().min(1).optional(),
|
|
@@ -5684,7 +5737,8 @@ const CredentialRunContextSchema = object({
|
|
|
5684
5737
|
selection: record(string(), string()).optional()
|
|
5685
5738
|
});
|
|
5686
5739
|
const ThinkingLevelSchema = _enum([
|
|
5687
|
-
"
|
|
5740
|
+
"provider-default",
|
|
5741
|
+
"none",
|
|
5688
5742
|
"minimal",
|
|
5689
5743
|
"low",
|
|
5690
5744
|
"medium",
|
|
@@ -5692,15 +5746,17 @@ const ThinkingLevelSchema = _enum([
|
|
|
5692
5746
|
"xhigh"
|
|
5693
5747
|
]);
|
|
5694
5748
|
object({
|
|
5695
|
-
message: string()
|
|
5749
|
+
message: string(),
|
|
5696
5750
|
sessionId: string().min(1).optional(),
|
|
5697
5751
|
subscriptionId: string().min(1).optional(),
|
|
5698
5752
|
context: CredentialRunContextSchema.optional(),
|
|
5699
|
-
thinkingLevel: ThinkingLevelSchema.optional()
|
|
5700
|
-
|
|
5753
|
+
thinkingLevel: ThinkingLevelSchema.optional(),
|
|
5754
|
+
files: array(ChatAttachmentInputSchema).max(5).optional()
|
|
5755
|
+
}).refine((data) => data.message.trim().length > 0 || (data.files?.length ?? 0) > 0, { message: "message or files is required" });
|
|
5701
5756
|
object({
|
|
5702
5757
|
sessionId: string(),
|
|
5703
5758
|
messages: array(record(string(), unknown())),
|
|
5759
|
+
text: string(),
|
|
5704
5760
|
error: string().nullable()
|
|
5705
5761
|
});
|
|
5706
5762
|
const SkipResponseSchema = object({
|
|
@@ -5925,6 +5981,14 @@ object({
|
|
|
5925
5981
|
steps: array(WorkflowStepRunSchema),
|
|
5926
5982
|
trace: TraceResponseSchema.nullable()
|
|
5927
5983
|
});
|
|
5984
|
+
const WorkflowHookStatusSchema = _enum(["waiting", "resumed"]);
|
|
5985
|
+
object({ items: array(object({
|
|
5986
|
+
token: string(),
|
|
5987
|
+
correlationId: string(),
|
|
5988
|
+
status: WorkflowHookStatusSchema,
|
|
5989
|
+
createdAt: string(),
|
|
5990
|
+
resumeUrl: string().nullable()
|
|
5991
|
+
})) });
|
|
5928
5992
|
const AgentSessionStatusSchema = _enum([
|
|
5929
5993
|
"running",
|
|
5930
5994
|
"completed",
|
|
@@ -6702,6 +6766,10 @@ const AgentSummarySchema = object({
|
|
|
6702
6766
|
description: string().optional(),
|
|
6703
6767
|
sourcePath: string().min(1).optional(),
|
|
6704
6768
|
model: string().optional(),
|
|
6769
|
+
capabilities: object({
|
|
6770
|
+
images: boolean(),
|
|
6771
|
+
files: boolean()
|
|
6772
|
+
}).optional(),
|
|
6705
6773
|
systemPrompt: string().optional(),
|
|
6706
6774
|
toolCount: optionalCount,
|
|
6707
6775
|
credentialCount: optionalCount,
|
|
@@ -6814,6 +6882,20 @@ object({
|
|
|
6814
6882
|
})),
|
|
6815
6883
|
generatedAt: isoDateTime
|
|
6816
6884
|
});
|
|
6885
|
+
/** A single source file returned by the bulk active-source download endpoint. */
|
|
6886
|
+
const DownloadActiveProjectSourceFileSchema = object({
|
|
6887
|
+
path: string().min(1),
|
|
6888
|
+
contents: string()
|
|
6889
|
+
});
|
|
6890
|
+
object({
|
|
6891
|
+
artifactId: string(),
|
|
6892
|
+
files: array(DownloadActiveProjectSourceFileSchema)
|
|
6893
|
+
});
|
|
6894
|
+
object({
|
|
6895
|
+
projectId: string(),
|
|
6896
|
+
artifactId: string(),
|
|
6897
|
+
pulledAt: string().datetime()
|
|
6898
|
+
});
|
|
6817
6899
|
object({ files: array(object({
|
|
6818
6900
|
id: string(),
|
|
6819
6901
|
path: string().min(1)
|