@keystrokehq/cli 0.1.148 → 0.1.150
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/dist-CSUmvad5.mjs +3 -0
- package/dist/{dist-GDLyM5sd.mjs → dist-CYcxzKHH.mjs} +1 -1
- package/dist/{dist-BjwZD7UZ.mjs → dist-CtEL33PB.mjs} +96 -20
- package/dist/dist-CtEL33PB.mjs.map +1 -0
- package/dist/{dist-xLTJXuWY.mjs → dist-DG8fjuMY.mjs} +5 -3
- package/dist/dist-DG8fjuMY.mjs.map +1 -0
- package/dist/index.mjs +9 -1
- package/dist/index.mjs.map +1 -1
- package/dist/{program-DU1iPR-p.mjs → program-Bv7Wv_O4.mjs} +137 -49
- package/dist/program-Bv7Wv_O4.mjs.map +1 -0
- package/dist/skills-bundle/_AGENTS.mcp.md +2 -2
- package/dist/skills-bundle/_AGENTS.md +7 -3
- package/package.json +3 -3
- package/dist/dist-BjwZD7UZ.mjs.map +0 -1
- package/dist/dist-CgDJj_3M.mjs +0 -3
- package/dist/dist-xLTJXuWY.mjs.map +0 -1
- package/dist/program-DU1iPR-p.mjs.map +0 -1
|
@@ -2904,7 +2904,7 @@ function registerWorkflowRunGetter(fn) {
|
|
|
2904
2904
|
const AGENT_MODEL_ID_PATTERN = /^[a-z0-9-]+\/.+/;
|
|
2905
2905
|
custom((value) => typeof value === "string" && AGENT_MODEL_ID_PATTERN.test(value), "model must be vendor/model-id");
|
|
2906
2906
|
//#endregion
|
|
2907
|
-
//#region ../../packages/agent/dist/validate-agent-model-ids-
|
|
2907
|
+
//#region ../../packages/agent/dist/validate-agent-model-ids-D2ODPNKe.mjs
|
|
2908
2908
|
const STATIC_MODEL_IDS = new Set([
|
|
2909
2909
|
"alibaba/qwen-3-14b",
|
|
2910
2910
|
"alibaba/qwen-3-235b",
|
|
@@ -2931,6 +2931,7 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
2931
2931
|
"alibaba/qwen3.5-plus",
|
|
2932
2932
|
"alibaba/qwen3.6-27b",
|
|
2933
2933
|
"alibaba/qwen3.6-plus",
|
|
2934
|
+
"alibaba/qwen3.7-flash",
|
|
2934
2935
|
"alibaba/qwen3.7-max",
|
|
2935
2936
|
"alibaba/qwen3.7-plus",
|
|
2936
2937
|
"alibaba/wan-v2.5-t2v-preview",
|
|
@@ -2939,13 +2940,15 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
2939
2940
|
"alibaba/wan-v2.6-r2v",
|
|
2940
2941
|
"alibaba/wan-v2.6-r2v-flash",
|
|
2941
2942
|
"alibaba/wan-v2.6-t2v",
|
|
2943
|
+
"alibaba/wan-v2.7-r2v",
|
|
2944
|
+
"alibaba/wan-v2.7-t2v",
|
|
2942
2945
|
"amazon/nova-2-lite",
|
|
2943
2946
|
"amazon/nova-lite",
|
|
2944
2947
|
"amazon/nova-micro",
|
|
2945
2948
|
"amazon/nova-pro",
|
|
2946
2949
|
"amazon/titan-embed-text-v2",
|
|
2947
2950
|
"anthropic/claude-3-haiku",
|
|
2948
|
-
"anthropic/claude-
|
|
2951
|
+
"anthropic/claude-fable-5",
|
|
2949
2952
|
"anthropic/claude-haiku-4.5",
|
|
2950
2953
|
"anthropic/claude-opus-4",
|
|
2951
2954
|
"anthropic/claude-opus-4.1",
|
|
@@ -2953,10 +2956,13 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
2953
2956
|
"anthropic/claude-opus-4.6",
|
|
2954
2957
|
"anthropic/claude-opus-4.7",
|
|
2955
2958
|
"anthropic/claude-opus-4.8",
|
|
2959
|
+
"anthropic/claude-opus-4.8-fast",
|
|
2960
|
+
"anthropic/claude-opus-5",
|
|
2961
|
+
"anthropic/claude-opus-5-fast",
|
|
2956
2962
|
"anthropic/claude-sonnet-4",
|
|
2957
2963
|
"anthropic/claude-sonnet-4.5",
|
|
2958
2964
|
"anthropic/claude-sonnet-4.6",
|
|
2959
|
-
"
|
|
2965
|
+
"anthropic/claude-sonnet-5",
|
|
2960
2966
|
"arcee-ai/trinity-large-thinking",
|
|
2961
2967
|
"arcee-ai/trinity-mini",
|
|
2962
2968
|
"bfl/flux-2-flex",
|
|
@@ -2979,6 +2985,7 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
2979
2985
|
"bytedance/seedream-4.0",
|
|
2980
2986
|
"bytedance/seedream-4.5",
|
|
2981
2987
|
"bytedance/seedream-5.0-lite",
|
|
2988
|
+
"bytedance/seedream-5.0-pro",
|
|
2982
2989
|
"cohere/command-a",
|
|
2983
2990
|
"cohere/embed-v4.0",
|
|
2984
2991
|
"cohere/rerank-v3.5",
|
|
@@ -2998,16 +3005,17 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
2998
3005
|
"google/gemini-2.5-pro",
|
|
2999
3006
|
"google/gemini-3-flash",
|
|
3000
3007
|
"google/gemini-3-pro-image",
|
|
3001
|
-
"google/gemini-3-pro-preview",
|
|
3002
3008
|
"google/gemini-3.1-flash-image",
|
|
3003
3009
|
"google/gemini-3.1-flash-image-preview",
|
|
3004
3010
|
"google/gemini-3.1-flash-lite",
|
|
3005
3011
|
"google/gemini-3.1-flash-lite-image",
|
|
3006
|
-
"google/gemini-3.1-flash-lite-preview",
|
|
3007
3012
|
"google/gemini-3.1-pro-preview",
|
|
3008
3013
|
"google/gemini-3.5-flash",
|
|
3014
|
+
"google/gemini-3.5-flash-lite",
|
|
3015
|
+
"google/gemini-3.6-flash",
|
|
3009
3016
|
"google/gemini-embedding-001",
|
|
3010
3017
|
"google/gemini-embedding-2",
|
|
3018
|
+
"google/gemini-omni-flash-preview",
|
|
3011
3019
|
"google/gemma-4-26b-a4b-it",
|
|
3012
3020
|
"google/gemma-4-31b-it",
|
|
3013
3021
|
"google/imagen-4.0-fast-generate-001",
|
|
@@ -3021,6 +3029,7 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3021
3029
|
"google/veo-3.1-generate-001",
|
|
3022
3030
|
"inception/mercury-2",
|
|
3023
3031
|
"inception/mercury-coder-small",
|
|
3032
|
+
"inclusionai/ling-3.0-flash-free",
|
|
3024
3033
|
"interfaze/interfaze-beta",
|
|
3025
3034
|
"klingai/kling-v2.5-turbo-i2v",
|
|
3026
3035
|
"klingai/kling-v2.5-turbo-t2v",
|
|
@@ -3030,19 +3039,16 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3030
3039
|
"klingai/kling-v3.0-i2v",
|
|
3031
3040
|
"klingai/kling-v3.0-motion-control",
|
|
3032
3041
|
"klingai/kling-v3.0-t2v",
|
|
3042
|
+
"kwaipilot/kat-coder-air-v2.5",
|
|
3033
3043
|
"kwaipilot/kat-coder-pro-v1",
|
|
3034
3044
|
"kwaipilot/kat-coder-pro-v2",
|
|
3035
|
-
"
|
|
3036
|
-
"meituan/longcat-flash-thinking-2601",
|
|
3045
|
+
"kwaipilot/kat-coder-pro-v2.5",
|
|
3037
3046
|
"meta/llama-3.1-70b",
|
|
3038
3047
|
"meta/llama-3.1-8b",
|
|
3039
|
-
"meta/llama-3.2-11b",
|
|
3040
|
-
"meta/llama-3.2-1b",
|
|
3041
|
-
"meta/llama-3.2-3b",
|
|
3042
|
-
"meta/llama-3.2-90b",
|
|
3043
3048
|
"meta/llama-3.3-70b",
|
|
3044
3049
|
"meta/llama-4-maverick",
|
|
3045
3050
|
"meta/llama-4-scout",
|
|
3051
|
+
"meta/muse-spark-1.1",
|
|
3046
3052
|
"minimax/minimax-m2",
|
|
3047
3053
|
"minimax/minimax-m2.1",
|
|
3048
3054
|
"minimax/minimax-m2.1-lightning",
|
|
@@ -3054,7 +3060,6 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3054
3060
|
"mistral/codestral",
|
|
3055
3061
|
"mistral/codestral-embed",
|
|
3056
3062
|
"mistral/devstral-2",
|
|
3057
|
-
"mistral/devstral-small",
|
|
3058
3063
|
"mistral/devstral-small-2",
|
|
3059
3064
|
"mistral/magistral-medium",
|
|
3060
3065
|
"mistral/magistral-small",
|
|
@@ -3068,13 +3073,14 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3068
3073
|
"mistral/mistral-nemo",
|
|
3069
3074
|
"mistral/mistral-small",
|
|
3070
3075
|
"mistral/pixtral-12b",
|
|
3071
|
-
"mistral/pixtral-large",
|
|
3072
3076
|
"moonshotai/kimi-k2",
|
|
3073
3077
|
"moonshotai/kimi-k2-thinking",
|
|
3074
3078
|
"moonshotai/kimi-k2.5",
|
|
3075
3079
|
"moonshotai/kimi-k2.6",
|
|
3076
3080
|
"moonshotai/kimi-k2.7-code",
|
|
3077
3081
|
"moonshotai/kimi-k2.7-code-highspeed",
|
|
3082
|
+
"moonshotai/kimi-k3",
|
|
3083
|
+
"moonshotai/kimi-k3-fast",
|
|
3078
3084
|
"morph/morph-v3-fast",
|
|
3079
3085
|
"morph/morph-v3-large",
|
|
3080
3086
|
"nvidia/nemotron-3-nano-30b-a3b",
|
|
@@ -3083,7 +3089,6 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3083
3089
|
"nvidia/nemotron-nano-12b-v2-vl",
|
|
3084
3090
|
"nvidia/nemotron-nano-9b-v2",
|
|
3085
3091
|
"openai/gpt-3.5-turbo",
|
|
3086
|
-
"openai/gpt-3.5-turbo-instruct",
|
|
3087
3092
|
"openai/gpt-4-turbo",
|
|
3088
3093
|
"openai/gpt-4.1",
|
|
3089
3094
|
"openai/gpt-4.1-mini",
|
|
@@ -3094,7 +3099,6 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3094
3099
|
"openai/gpt-4o-mini-transcribe",
|
|
3095
3100
|
"openai/gpt-4o-transcribe",
|
|
3096
3101
|
"openai/gpt-5",
|
|
3097
|
-
"openai/gpt-5-chat",
|
|
3098
3102
|
"openai/gpt-5-codex",
|
|
3099
3103
|
"openai/gpt-5-mini",
|
|
3100
3104
|
"openai/gpt-5-nano",
|
|
@@ -3105,7 +3109,6 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3105
3109
|
"openai/gpt-5.1-instant",
|
|
3106
3110
|
"openai/gpt-5.1-thinking",
|
|
3107
3111
|
"openai/gpt-5.2",
|
|
3108
|
-
"openai/gpt-5.2-chat",
|
|
3109
3112
|
"openai/gpt-5.2-codex",
|
|
3110
3113
|
"openai/gpt-5.2-pro",
|
|
3111
3114
|
"openai/gpt-5.3-chat",
|
|
@@ -3116,6 +3119,9 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3116
3119
|
"openai/gpt-5.4-pro",
|
|
3117
3120
|
"openai/gpt-5.5",
|
|
3118
3121
|
"openai/gpt-5.5-pro",
|
|
3122
|
+
"openai/gpt-5.6-luna",
|
|
3123
|
+
"openai/gpt-5.6-sol",
|
|
3124
|
+
"openai/gpt-5.6-terra",
|
|
3119
3125
|
"openai/gpt-image-1",
|
|
3120
3126
|
"openai/gpt-image-1-mini",
|
|
3121
3127
|
"openai/gpt-image-1.5",
|
|
@@ -3125,7 +3131,9 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3125
3131
|
"openai/gpt-oss-safeguard-20b",
|
|
3126
3132
|
"openai/gpt-realtime-1.5",
|
|
3127
3133
|
"openai/gpt-realtime-2",
|
|
3134
|
+
"openai/gpt-realtime-2.1",
|
|
3128
3135
|
"openai/gpt-realtime-mini",
|
|
3136
|
+
"openai/gpt-realtime-whisper",
|
|
3129
3137
|
"openai/o1",
|
|
3130
3138
|
"openai/o3",
|
|
3131
3139
|
"openai/o3-deep-research",
|
|
@@ -3141,6 +3149,8 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3141
3149
|
"perplexity/sonar",
|
|
3142
3150
|
"perplexity/sonar-pro",
|
|
3143
3151
|
"perplexity/sonar-reasoning-pro",
|
|
3152
|
+
"poolside/laguna-s-2.1",
|
|
3153
|
+
"poolside/laguna-s-2.1-free",
|
|
3144
3154
|
"prodia/flux-fast-schnell",
|
|
3145
3155
|
"quiverai/arrow-1.1",
|
|
3146
3156
|
"recraft/recraft-v2",
|
|
@@ -3154,6 +3164,8 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3154
3164
|
"sakana/fugu-ultra",
|
|
3155
3165
|
"stepfun/step-3.5-flash",
|
|
3156
3166
|
"stepfun/step-3.7-flash",
|
|
3167
|
+
"tencent/hy3",
|
|
3168
|
+
"thinkingmachines/inkling",
|
|
3157
3169
|
"voyage/rerank-2.5",
|
|
3158
3170
|
"voyage/rerank-2.5-lite",
|
|
3159
3171
|
"voyage/voyage-3-large",
|
|
@@ -3175,6 +3187,7 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3175
3187
|
"xai/grok-4.20-reasoning",
|
|
3176
3188
|
"xai/grok-4.20-reasoning-beta",
|
|
3177
3189
|
"xai/grok-4.3",
|
|
3190
|
+
"xai/grok-4.5",
|
|
3178
3191
|
"xai/grok-build-0.1",
|
|
3179
3192
|
"xai/grok-imagine-image",
|
|
3180
3193
|
"xai/grok-imagine-video",
|
|
@@ -3183,8 +3196,6 @@ const STATIC_MODEL_IDS = new Set([
|
|
|
3183
3196
|
"xai/grok-stt",
|
|
3184
3197
|
"xai/grok-tts",
|
|
3185
3198
|
"xai/grok-voice-think-fast-1.0",
|
|
3186
|
-
"xiaomi/mimo-v2-flash",
|
|
3187
|
-
"xiaomi/mimo-v2-pro",
|
|
3188
3199
|
"xiaomi/mimo-v2.5",
|
|
3189
3200
|
"xiaomi/mimo-v2.5-pro",
|
|
3190
3201
|
"zai/glm-4.5",
|
|
@@ -38066,6 +38077,71 @@ var StreamableHTTPClientTransport = class {
|
|
|
38066
38077
|
};
|
|
38067
38078
|
//#endregion
|
|
38068
38079
|
//#region ../../packages/mcp/dist/index.mjs
|
|
38080
|
+
/** Thrown when a URL is not safe for server-side outbound fetch (SSRF guard). */
|
|
38081
|
+
var PublicHttpUrlError = class extends Error {
|
|
38082
|
+
constructor(message) {
|
|
38083
|
+
super(message);
|
|
38084
|
+
this.name = "PublicHttpUrlError";
|
|
38085
|
+
}
|
|
38086
|
+
};
|
|
38087
|
+
const BLOCKED_HOSTNAMES = new Set([
|
|
38088
|
+
"localhost",
|
|
38089
|
+
"metadata.google.internal",
|
|
38090
|
+
"metadata.goog"
|
|
38091
|
+
]);
|
|
38092
|
+
function normalizeHostname(hostname) {
|
|
38093
|
+
const trimmed = hostname.trim().toLowerCase();
|
|
38094
|
+
if (trimmed.startsWith("[") && trimmed.endsWith("]")) return trimmed.slice(1, -1);
|
|
38095
|
+
return trimmed;
|
|
38096
|
+
}
|
|
38097
|
+
function parseIpv4Octets(hostname) {
|
|
38098
|
+
const parts = hostname.split(".");
|
|
38099
|
+
if (parts.length !== 4) return null;
|
|
38100
|
+
const octets = [];
|
|
38101
|
+
for (const part of parts) {
|
|
38102
|
+
if (!/^\d+$/.test(part)) return null;
|
|
38103
|
+
const value = Number(part);
|
|
38104
|
+
if (value > 255) return null;
|
|
38105
|
+
octets.push(value);
|
|
38106
|
+
}
|
|
38107
|
+
return octets;
|
|
38108
|
+
}
|
|
38109
|
+
function isPrivateIpv4(octets) {
|
|
38110
|
+
const a = octets[0];
|
|
38111
|
+
const b = octets[1];
|
|
38112
|
+
if (a === void 0 || b === void 0) return true;
|
|
38113
|
+
if (a === 0 || a === 10 || a === 127) return true;
|
|
38114
|
+
if (a === 169 && b === 254) return true;
|
|
38115
|
+
if (a === 172 && b >= 16 && b <= 31) return true;
|
|
38116
|
+
if (a === 192 && b === 168) return true;
|
|
38117
|
+
return false;
|
|
38118
|
+
}
|
|
38119
|
+
function isPrivateIpv6(hostname) {
|
|
38120
|
+
if (hostname === "::1") return true;
|
|
38121
|
+
if (hostname.startsWith("fe80:")) return true;
|
|
38122
|
+
if (hostname.startsWith("fc") || hostname.startsWith("fd")) return true;
|
|
38123
|
+
return false;
|
|
38124
|
+
}
|
|
38125
|
+
function isBlockedHost(hostname) {
|
|
38126
|
+
if (BLOCKED_HOSTNAMES.has(hostname)) return true;
|
|
38127
|
+
if (hostname.endsWith(".localhost")) return true;
|
|
38128
|
+
const ipv4 = parseIpv4Octets(hostname);
|
|
38129
|
+
if (ipv4) return isPrivateIpv4(ipv4);
|
|
38130
|
+
if (hostname.includes(":")) return isPrivateIpv6(hostname);
|
|
38131
|
+
return false;
|
|
38132
|
+
}
|
|
38133
|
+
/** Validate that a URL is safe to fetch from the platform (http/https, public hosts only). */
|
|
38134
|
+
function assertPublicHttpUrl(urlString) {
|
|
38135
|
+
let url;
|
|
38136
|
+
try {
|
|
38137
|
+
url = new URL(urlString.trim());
|
|
38138
|
+
} catch {
|
|
38139
|
+
throw new PublicHttpUrlError("Invalid URL");
|
|
38140
|
+
}
|
|
38141
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") throw new PublicHttpUrlError("URL must use http or https");
|
|
38142
|
+
if (isBlockedHost(normalizeHostname(url.hostname))) throw new PublicHttpUrlError("URL host is not allowed");
|
|
38143
|
+
return url;
|
|
38144
|
+
}
|
|
38069
38145
|
const DEFAULT_TIMEOUT_MS = 15e3;
|
|
38070
38146
|
/**
|
|
38071
38147
|
* Connect a read-only MCP client over Streamable HTTP, run `fn`, and always close.
|
|
@@ -46551,6 +46627,6 @@ async function emitStoredRouteManifestForProject(projectRoot) {
|
|
|
46551
46627
|
persistModularRouteManifest(projectRoot, await buildStoredRouteManifestForProject(projectRoot));
|
|
46552
46628
|
}
|
|
46553
46629
|
//#endregion
|
|
46554
|
-
export {
|
|
46630
|
+
export { withMcpReadClient as $, schemaToJson as A, validatePollGroups as B, integrationPackagesFingerprint as C, pollGroupRouteFromId as D, pollGroupId as E, toStoredRouteManifest as F, webhookManifestAttachmentSchemasFromBindings as G, validateTriggerAttachments as H, tryReadProjectManifest as I, workflowKeyForAttachment as J, webhookMatchSchemaForBindings as K, validateAttachmentTargets as L, sha256Bytes as M, sha256File as N, pollRouteFromSourceSlug as O, splitStoredRouteManifest as P, assertPublicHttpUrl as Q, validateImportedTriggerAttachment as R, importWorkflowDefinition as S, persistModularRouteManifest as T, validateUniqueAttachmentSlugs as U, validateProjectModules as V, validateUniqueTriggerSourceSlugs as W, attachmentSlugFromRecord as X, workflowRouteFromKey as Y, PublicHttpUrlError as Z, discoverWorkflows as _, captureException as _t, buildPollGroups as a, classifyCall as at, importAgentDefinition as b, flushTelemetry as bt, buildWebhookBindingsByRoute as c, locateWorkflow as ct, contentHashForModule as d, entryIdFromFile as dt, artifactIndexFromModules as et, countAgentCredentials as f, readKeystrokeIgnoreDirective as ft, discoverWorkflowEntries as g, alias as gt, discoverTriggerAttachments as h, walkTypeScriptFiles as ht, agentRouteFromKey as i, packDirFromDisk as it, serializeRouteManifest as j, projectActionsFingerprint as k, collectAgentAppSlugs as l, discoverEntries as lt, discoverSkillManifestEntries as m, validateUniqueModuleKeys as mt, agentKeyForAttachment as n, mapInParallelBatches as nt, buildStoredRouteManifestForProject as o, computeCallSiteIds as ot, discoverAgentEntries as p, shouldSkipKeystrokeModuleFile as pt, webhookRouteFromEndpoint as q, agentManifestEntry as r, moduleBlobRefsFromModules as rt, buildStoredRouteManifestFromContext as s, diagnoseWorkflowSource as st, actionsCatalogFingerprint as t, collectArtifactModules as tt, collectAgentToolSlugs as u, discoverModuleFileEntries as ut, emitStoredRouteManifestForProject as v, configureTelemetry as vt, isModularManifestEmitCacheHit as w, importTriggerAttachments as x, shutdownTelemetry as xt, hashDirectoryContents as y, event as yt, validateImportedWorkflowDefinition as z };
|
|
46555
46631
|
|
|
46556
|
-
//# sourceMappingURL=dist-
|
|
46632
|
+
//# sourceMappingURL=dist-CtEL33PB.mjs.map
|