@keystrokehq/cli 0.1.144 → 0.1.145
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-YtNRS_BV.mjs → dist-B72RPrho.mjs} +6291 -6270
- package/dist/dist-B72RPrho.mjs.map +1 -0
- package/dist/{dist-DwD4VJLx.mjs → dist-CBVf3SwI.mjs} +2 -2
- package/dist/{dist-DwD4VJLx.mjs.map → dist-CBVf3SwI.mjs.map} +1 -1
- package/dist/{dist-D_xlxdl2.mjs → dist-CyKcvwuI.mjs} +10 -4
- package/dist/dist-CyKcvwuI.mjs.map +1 -0
- package/dist/dist-Duu6X1Sh.mjs +4 -0
- package/dist/{dist-B3Tr74Uv.mjs → dist-E6dh6qXe.mjs} +485 -471
- package/dist/dist-E6dh6qXe.mjs.map +1 -0
- package/dist/index.mjs +1 -1
- package/dist/{maybe-auto-update-CQt3Ienz.mjs → maybe-auto-update-CKoJBwJ_.mjs} +2 -2
- package/dist/{maybe-auto-update-CQt3Ienz.mjs.map → maybe-auto-update-CKoJBwJ_.mjs.map} +1 -1
- package/dist/{program-DgUV3vFS.mjs → program-OcNo9lRF.mjs} +11 -11
- package/dist/{program-DgUV3vFS.mjs.map → program-OcNo9lRF.mjs.map} +1 -1
- package/dist/{run-package-manager-update-BF5rz2Rt.mjs → run-package-manager-update-DgeSZuUc.mjs} +2 -2
- package/dist/{run-package-manager-update-BF5rz2Rt.mjs.map → run-package-manager-update-DgeSZuUc.mjs.map} +1 -1
- package/package.json +3 -3
- package/dist/dist-B3Tr74Uv.mjs.map +0 -1
- package/dist/dist-D_xlxdl2.mjs.map +0 -1
- package/dist/dist-RnvQQpQe.mjs +0 -4
- package/dist/dist-YtNRS_BV.mjs.map +0 -1
|
@@ -4793,17 +4793,410 @@ var ZodFirstPartyTypeKind;
|
|
|
4793
4793
|
function number(params) {
|
|
4794
4794
|
return /* @__PURE__ */ _coercedNumber(ZodNumber, params);
|
|
4795
4795
|
}
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4796
|
+
//#endregion
|
|
4797
|
+
//#region ../../packages/shared/dist/billing-BL8kgXs-.mjs
|
|
4798
|
+
const isoDateTime$7 = string().datetime();
|
|
4799
|
+
const subscriptionStatusSchema = _enum([
|
|
4800
|
+
"none",
|
|
4801
|
+
"trialing",
|
|
4802
|
+
"active",
|
|
4803
|
+
"past_due",
|
|
4804
|
+
"canceled"
|
|
4805
|
+
]);
|
|
4806
|
+
const CreditPackSchema = object({
|
|
4807
|
+
id: string(),
|
|
4808
|
+
usd: number$1(),
|
|
4809
|
+
microCredits: number$1(),
|
|
4810
|
+
label: string()
|
|
4811
|
+
});
|
|
4812
|
+
const AutoTopupSummarySchema = object({
|
|
4813
|
+
enabled: boolean(),
|
|
4814
|
+
thresholdMicroCredits: number$1().nullable(),
|
|
4815
|
+
amountMicroCredits: number$1().nullable(),
|
|
4816
|
+
/** A saved payment method exists to charge off-session. */
|
|
4817
|
+
hasPaymentMethod: boolean(),
|
|
4818
|
+
/** A top-up invoice payment is in flight. */
|
|
4819
|
+
pending: boolean()
|
|
4820
|
+
});
|
|
4821
|
+
/**
|
|
4822
|
+
* The plan's resolved limits. Storage overage is billed from the wallet's
|
|
4823
|
+
* pushed-down `includedStorageGb`; concurrency, per-pass run timeouts, and
|
|
4824
|
+
* API/MCP rate limits are enforced from the wallet (timeouts/concurrency) or
|
|
4825
|
+
* plan preset (rate limits). Log retention is configured but not pruned yet.
|
|
4826
|
+
*/
|
|
4827
|
+
const PlanLimitsSchema = object({
|
|
4828
|
+
includedStorageGb: number$1(),
|
|
4829
|
+
concurrencyLimit: number$1(),
|
|
4830
|
+
/** Max non-deleted projects; enforced on create only. */
|
|
4831
|
+
maxProjects: number$1(),
|
|
4832
|
+
agentTimeoutMs: number$1(),
|
|
4833
|
+
workflowTimeoutMs: number$1(),
|
|
4834
|
+
pollTimeoutMs: number$1(),
|
|
4835
|
+
/** Configured retention window; pruning not implemented yet. */
|
|
4836
|
+
logRetentionDays: number$1(),
|
|
4837
|
+
apiRateLimitCapacity: number$1(),
|
|
4838
|
+
apiRateLimitRefillPerSec: number$1(),
|
|
4839
|
+
mcpRateLimitCapacity: number$1(),
|
|
4840
|
+
mcpRateLimitRefillPerSec: number$1()
|
|
4841
|
+
});
|
|
4842
|
+
const BillingSummaryResponseSchema = object({
|
|
4843
|
+
planKey: string(),
|
|
4844
|
+
subscriptionStatus: subscriptionStatusSchema,
|
|
4845
|
+
/** Remaining plan-bucket balance this period (µc). */
|
|
4846
|
+
planCreditMicroCredits: number$1(),
|
|
4847
|
+
/** Remaining prepaid balance (µc). Never expires. */
|
|
4848
|
+
prepaidCreditMicroCredits: number$1(),
|
|
4849
|
+
/**
|
|
4850
|
+
* Resolved monthly plan allotment (µc) — override ?? preset. Powers the
|
|
4851
|
+
* credit-usage progress denominator (`used = allotment − remaining`).
|
|
4852
|
+
*/
|
|
4853
|
+
monthlyCreditMicroCredits: number$1(),
|
|
4854
|
+
periodStart: isoDateTime$7.nullable(),
|
|
4855
|
+
periodEnd: isoDateTime$7.nullable(),
|
|
4856
|
+
autoTopup: AutoTopupSummarySchema,
|
|
4857
|
+
creditPacks: array(CreditPackSchema),
|
|
4858
|
+
limits: PlanLimitsSchema
|
|
4859
|
+
});
|
|
4860
|
+
const BillingUsageMeterSchema = object({
|
|
4861
|
+
/** Meter key (`llm`, `vm_second`, …); null groups uncategorized rows. */
|
|
4862
|
+
meterKey: string().nullable(),
|
|
4863
|
+
/** Charged this period, µc. */
|
|
4864
|
+
microCredits: number$1(),
|
|
4865
|
+
/** Tracked-but-not-charged usage (e.g. BYOK LLM calls), display USD. */
|
|
4866
|
+
unchargedUsd: number$1()
|
|
4867
|
+
});
|
|
4868
|
+
const BillingUsageResponseSchema = object({
|
|
4869
|
+
periodStart: isoDateTime$7.nullable(),
|
|
4870
|
+
periodEnd: isoDateTime$7.nullable(),
|
|
4871
|
+
totalMicroCredits: number$1(),
|
|
4872
|
+
byMeter: array(BillingUsageMeterSchema)
|
|
4873
|
+
});
|
|
4874
|
+
const billingLedgerEntryTypeSchema = _enum([
|
|
4875
|
+
"grant_plan",
|
|
4876
|
+
"grant_prepaid",
|
|
4877
|
+
"expire_plan",
|
|
4878
|
+
"adjustment"
|
|
4879
|
+
]);
|
|
4880
|
+
const BillingActivityResponseSchema = object({
|
|
4881
|
+
entries: array(object({
|
|
4882
|
+
id: string(),
|
|
4883
|
+
entryType: billingLedgerEntryTypeSchema,
|
|
4884
|
+
label: string(),
|
|
4885
|
+
/** Signed: positive grants, negative expirations/adjustments. */
|
|
4886
|
+
microCredits: number$1(),
|
|
4887
|
+
bucket: _enum(["plan", "prepaid"]).nullable(),
|
|
4888
|
+
/** Stripe invoice behind the entry, when there is one — powers "View invoice". */
|
|
4889
|
+
stripeInvoiceId: string().nullable(),
|
|
4890
|
+
createdAt: isoDateTime$7
|
|
4891
|
+
})),
|
|
4892
|
+
/** Set only when the latest payment failure is newer than the latest successful payment. */
|
|
4893
|
+
lastPaymentFailureAt: isoDateTime$7.nullable()
|
|
4894
|
+
});
|
|
4895
|
+
const CreateSubscriptionCheckoutRequestSchema = object({
|
|
4896
|
+
/** Web-app path to land on after Checkout (must be a path, not a URL). */
|
|
4897
|
+
returnPath: string().startsWith("/").max(512).optional() });
|
|
4898
|
+
const CreateCreditsCheckoutRequestSchema = object({
|
|
4899
|
+
packId: string(),
|
|
4900
|
+
returnPath: string().startsWith("/").max(512).optional()
|
|
4901
|
+
});
|
|
4902
|
+
const CreateBillingPortalRequestSchema = object({ returnPath: string().startsWith("/").max(512).optional() });
|
|
4903
|
+
/** Checkout + Portal both respond with a Stripe-hosted URL to redirect to. */
|
|
4904
|
+
const BillingRedirectResponseSchema = object({ url: string().url() });
|
|
4905
|
+
/** Fresh Stripe-hosted links for one invoice, resolved on click (never stored). */
|
|
4906
|
+
const BillingInvoiceUrlResponseSchema = object({
|
|
4907
|
+
/** Hosted invoice page (view, download, receipt). */
|
|
4908
|
+
url: string().url(),
|
|
4909
|
+
/** Direct PDF download when Stripe provides one. */
|
|
4910
|
+
pdf: string().url().nullable()
|
|
4911
|
+
});
|
|
4912
|
+
const ConfirmCheckoutRequestSchema = object({
|
|
4913
|
+
/** Stripe Checkout Session id from the `session_id` success-URL param. */
|
|
4914
|
+
sessionId: string().min(1).max(255) });
|
|
4915
|
+
const ConfirmCheckoutResponseSchema = object({
|
|
4916
|
+
/**
|
|
4917
|
+
* `granted` — credits are in the wallet now; `processing` — payment not
|
|
4918
|
+
* complete yet, the webhook will finish it; `ignored` — not a confirmable
|
|
4919
|
+
* session for this org.
|
|
4920
|
+
*/
|
|
4921
|
+
status: _enum([
|
|
4922
|
+
"granted",
|
|
4923
|
+
"processing",
|
|
4924
|
+
"ignored"
|
|
4925
|
+
]),
|
|
4926
|
+
reason: string().optional()
|
|
4927
|
+
});
|
|
4928
|
+
const UpdateAutoTopupRequestSchema = object({
|
|
4929
|
+
enabled: boolean(),
|
|
4930
|
+
thresholdMicroCredits: number$1().int().positive().optional(),
|
|
4931
|
+
packId: string().optional()
|
|
4932
|
+
});
|
|
4933
|
+
const BillingUsageEventSourceSchema = _enum([
|
|
4934
|
+
"ai_gateway",
|
|
4935
|
+
"sandbox",
|
|
4936
|
+
"web_proxy",
|
|
4937
|
+
"storage",
|
|
4938
|
+
"dispatch",
|
|
4939
|
+
"poll"
|
|
4800
4940
|
]);
|
|
4941
|
+
const BillingUsageMeterKeySchema = _enum([
|
|
4942
|
+
"llm",
|
|
4943
|
+
"vm_second",
|
|
4944
|
+
"web_search",
|
|
4945
|
+
"web_fetch",
|
|
4946
|
+
"workflow_run",
|
|
4947
|
+
"agent_run",
|
|
4948
|
+
"poll_trigger",
|
|
4949
|
+
"tigris_storage"
|
|
4950
|
+
]);
|
|
4951
|
+
const BillingUsageKeySourceSchema = _enum(["platform", "byok"]);
|
|
4952
|
+
const BillingUsageRunKindSchema = _enum(["agent", "workflow"]);
|
|
4953
|
+
object({ events: array(object({
|
|
4954
|
+
projectId: string().min(1).max(255).nullable().optional(),
|
|
4955
|
+
runId: string().min(1).max(255).nullable().optional(),
|
|
4956
|
+
runKind: BillingUsageRunKindSchema.nullable().optional(),
|
|
4957
|
+
source: BillingUsageEventSourceSchema,
|
|
4958
|
+
sourceEventId: string().min(1).max(512),
|
|
4959
|
+
meterKey: BillingUsageMeterKeySchema,
|
|
4960
|
+
quantity: number$1().finite().nonnegative(),
|
|
4961
|
+
unit: string().min(1).max(64),
|
|
4962
|
+
providerCostUsd: number$1().finite().nonnegative().nullable().optional(),
|
|
4963
|
+
keySource: BillingUsageKeySourceSchema.nullable().optional(),
|
|
4964
|
+
occurredAt: isoDateTime$7,
|
|
4965
|
+
metadata: record(string(), unknown()).nullable().optional()
|
|
4966
|
+
}).strict()).min(1).max(100) }).strict();
|
|
4967
|
+
object({
|
|
4968
|
+
accepted: number$1().int().nonnegative(),
|
|
4969
|
+
inserted: number$1().int().nonnegative(),
|
|
4970
|
+
duplicate: number$1().int().nonnegative(),
|
|
4971
|
+
settledLedgerId: string().nullable(),
|
|
4972
|
+
chargeMicroCredits: number$1().int().nonnegative()
|
|
4973
|
+
});
|
|
4974
|
+
//#endregion
|
|
4975
|
+
//#region ../../packages/shared/dist/credential-runtime-PPZh5Cbn.mjs
|
|
4801
4976
|
const ACTIVE_ORG_HEADER = "x-keystroke-org-id";
|
|
4802
4977
|
/**
|
|
4803
4978
|
* Client surface that originated the request. The hosted web app and CLI set this
|
|
4804
4979
|
* explicitly; missing values are treated as `api` (programmatic / unknown).
|
|
4805
4980
|
*/
|
|
4806
4981
|
const CLIENT_CHANNEL_HEADER = "x-keystroke-client";
|
|
4982
|
+
function isValidIanaTimezone(value) {
|
|
4983
|
+
try {
|
|
4984
|
+
Intl.DateTimeFormat(void 0, { timeZone: value });
|
|
4985
|
+
return true;
|
|
4986
|
+
} catch {
|
|
4987
|
+
return false;
|
|
4988
|
+
}
|
|
4989
|
+
}
|
|
4990
|
+
const PublicModelsResponseSchema = object({ models: array(string()) });
|
|
4991
|
+
const CHAT_ATTACHMENT_MAX_BYTES = 10 * 1024 * 1024;
|
|
4992
|
+
[
|
|
4993
|
+
{
|
|
4994
|
+
mediaType: "image/png",
|
|
4995
|
+
ext: "png"
|
|
4996
|
+
},
|
|
4997
|
+
{
|
|
4998
|
+
mediaType: "image/jpeg",
|
|
4999
|
+
ext: "jpg"
|
|
5000
|
+
},
|
|
5001
|
+
{
|
|
5002
|
+
mediaType: "image/webp",
|
|
5003
|
+
ext: "webp"
|
|
5004
|
+
},
|
|
5005
|
+
{
|
|
5006
|
+
mediaType: "image/gif",
|
|
5007
|
+
ext: "gif"
|
|
5008
|
+
},
|
|
5009
|
+
{
|
|
5010
|
+
mediaType: "application/pdf",
|
|
5011
|
+
ext: "pdf"
|
|
5012
|
+
}
|
|
5013
|
+
].map((type) => type.mediaType);
|
|
5014
|
+
const ChatAttachmentInputSchema = object({
|
|
5015
|
+
storageKey: string().min(1),
|
|
5016
|
+
mediaType: string().min(1),
|
|
5017
|
+
filename: string().optional()
|
|
5018
|
+
});
|
|
5019
|
+
/** JSON-safe file ref for workflow inputs, step outputs, and `agent.prompt({ files })`. */
|
|
5020
|
+
const FilePartSchema = object({
|
|
5021
|
+
type: literal("file"),
|
|
5022
|
+
mediaType: string().min(1),
|
|
5023
|
+
url: string().min(1),
|
|
5024
|
+
filename: string().optional()
|
|
5025
|
+
});
|
|
5026
|
+
const PresignChatAttachmentRequestSchema = object({
|
|
5027
|
+
contentType: string().min(1),
|
|
5028
|
+
filename: string().min(1),
|
|
5029
|
+
size: number$1().int().positive().max(CHAT_ATTACHMENT_MAX_BYTES)
|
|
5030
|
+
});
|
|
5031
|
+
const PresignChatAttachmentResponseSchema = object({
|
|
5032
|
+
uploadUrl: string().url(),
|
|
5033
|
+
storageKey: string().min(1)
|
|
5034
|
+
});
|
|
5035
|
+
//#endregion
|
|
5036
|
+
//#region ../../packages/shared/dist/platform-origin.mjs
|
|
5037
|
+
const LOCAL_PLATFORM_ORIGIN = "http://localhost:3002";
|
|
5038
|
+
/** Default production platform origin when no env override is set. */
|
|
5039
|
+
const DEFAULT_CLOUD_PLATFORM_ORIGIN = "https://api.keystroke.ai";
|
|
5040
|
+
/** Reads `PUBLIC_PLATFORM_URL` when explicitly set. */
|
|
5041
|
+
function resolveExplicitPublicPlatformOrigin(env = process.env) {
|
|
5042
|
+
return env.PUBLIC_PLATFORM_URL?.replace(/\/$/, "") || void 0;
|
|
5043
|
+
}
|
|
5044
|
+
/** `PUBLIC_PLATFORM_URL` origin; falls back to {@link LOCAL_PLATFORM_ORIGIN} when unset. */
|
|
5045
|
+
function resolvePublicPlatformOrigin(env = process.env) {
|
|
5046
|
+
return resolveExplicitPublicPlatformOrigin(env) ?? "http://localhost:3002";
|
|
5047
|
+
}
|
|
5048
|
+
//#endregion
|
|
5049
|
+
//#region ../../packages/shared/dist/credential-spec-B-iwg8Oc.mjs
|
|
5050
|
+
/** OpenAPI 3.0 JSON Schema for manifests and route discovery. */
|
|
5051
|
+
const OPENAPI_JSON_SCHEMA = Symbol.for("keystroke.openapiJsonSchema");
|
|
5052
|
+
/** Read OpenAPI 3.0 JSON stored on a {@link schemaFromJson} result. */
|
|
5053
|
+
function getOpenApiJsonSchema(schema) {
|
|
5054
|
+
return schema[OPENAPI_JSON_SCHEMA];
|
|
5055
|
+
}
|
|
5056
|
+
/** How a credential instance is stored (`credential_instances.auth_kind`). */
|
|
5057
|
+
const CredentialAuthKindSchema = _enum([
|
|
5058
|
+
"api_key",
|
|
5059
|
+
"oauth_managed",
|
|
5060
|
+
"keystroke"
|
|
5061
|
+
]);
|
|
5062
|
+
/**
|
|
5063
|
+
* Where a credential instance is stored (`credential_instances.scope_type`), and the only thing an
|
|
5064
|
+
* action/tool can pin via `.scope(...)`. There is no resolution chain: when no scope is pinned, the
|
|
5065
|
+
* resolver tries the project default, then the org default, then throws.
|
|
5066
|
+
*/
|
|
5067
|
+
const CredentialScopeTypeSchema = _enum([
|
|
5068
|
+
"organization",
|
|
5069
|
+
"project",
|
|
5070
|
+
"user"
|
|
5071
|
+
]);
|
|
5072
|
+
CredentialAuthKindSchema.options;
|
|
5073
|
+
CredentialScopeTypeSchema.options;
|
|
5074
|
+
/** Non-empty human-readable label or description (trimmed). */
|
|
5075
|
+
const requiredDisplayTextSchema = string().trim().min(1);
|
|
5076
|
+
const CredentialAssignmentTargetTypeSchema = _enum([
|
|
5077
|
+
"workflow",
|
|
5078
|
+
"agent",
|
|
5079
|
+
"poll"
|
|
5080
|
+
]);
|
|
5081
|
+
const CredentialAssignmentRecordSchema = object({
|
|
5082
|
+
id: string(),
|
|
5083
|
+
targetType: CredentialAssignmentTargetTypeSchema,
|
|
5084
|
+
targetKey: string(),
|
|
5085
|
+
consumerId: string(),
|
|
5086
|
+
credentialSlug: string(),
|
|
5087
|
+
instanceId: string(),
|
|
5088
|
+
credential: string().optional(),
|
|
5089
|
+
scopeType: _enum([
|
|
5090
|
+
"organization",
|
|
5091
|
+
"project",
|
|
5092
|
+
"user"
|
|
5093
|
+
]).optional(),
|
|
5094
|
+
createdAt: string(),
|
|
5095
|
+
updatedAt: string()
|
|
5096
|
+
});
|
|
5097
|
+
const CredentialAssignmentListResponseSchema = object({ assignments: array(CredentialAssignmentRecordSchema) });
|
|
5098
|
+
const AssignCredentialBodySchema = object({
|
|
5099
|
+
targetType: CredentialAssignmentTargetTypeSchema,
|
|
5100
|
+
targetKey: string().min(1),
|
|
5101
|
+
/** Omit or '*' for wildcard assignment. */
|
|
5102
|
+
consumerId: string().optional(),
|
|
5103
|
+
credential: string().min(1)
|
|
5104
|
+
});
|
|
5105
|
+
const CredentialAssignmentListQuerySchema = object({
|
|
5106
|
+
targetType: CredentialAssignmentTargetTypeSchema,
|
|
5107
|
+
targetKey: string().min(1)
|
|
5108
|
+
});
|
|
5109
|
+
const CredentialConsumerListQuerySchema = object({
|
|
5110
|
+
targetType: CredentialAssignmentTargetTypeSchema,
|
|
5111
|
+
targetKey: string().min(1)
|
|
5112
|
+
});
|
|
5113
|
+
const CredentialConsumerListResponseSchema = object({ consumers: array(object({
|
|
5114
|
+
consumerId: string(),
|
|
5115
|
+
label: string(),
|
|
5116
|
+
appSlugs: array(string())
|
|
5117
|
+
})) });
|
|
5118
|
+
const McpConnectionStatusSchema = _enum([
|
|
5119
|
+
"INITIATED",
|
|
5120
|
+
"ACTIVE",
|
|
5121
|
+
"EXPIRED",
|
|
5122
|
+
"FAILED",
|
|
5123
|
+
"INACTIVE",
|
|
5124
|
+
"REVOKED"
|
|
5125
|
+
]);
|
|
5126
|
+
object({
|
|
5127
|
+
slug: string(),
|
|
5128
|
+
name: string(),
|
|
5129
|
+
connected: boolean(),
|
|
5130
|
+
connectionId: string().optional(),
|
|
5131
|
+
status: McpConnectionStatusSchema.optional()
|
|
5132
|
+
});
|
|
5133
|
+
object({
|
|
5134
|
+
connectionId: string(),
|
|
5135
|
+
entityId: string(),
|
|
5136
|
+
instanceId: string()
|
|
5137
|
+
});
|
|
5138
|
+
const McpCredentialAssignmentTargetSchema = object({
|
|
5139
|
+
type: CredentialAssignmentTargetTypeSchema,
|
|
5140
|
+
key: string().trim().min(1)
|
|
5141
|
+
});
|
|
5142
|
+
const ExecuteKeystrokeToolRequestSchema = object({
|
|
5143
|
+
app: string().trim().min(1),
|
|
5144
|
+
tool: string().trim().min(1),
|
|
5145
|
+
arguments: record(string(), unknown()).default({}),
|
|
5146
|
+
/** Pinned provider toolkit version, sourced from the app definition; forwarded to the provider. */
|
|
5147
|
+
version: string().trim().min(1),
|
|
5148
|
+
/** When set, platform MCP resolve checks credential assignments before scope defaults. */
|
|
5149
|
+
assignmentTarget: McpCredentialAssignmentTargetSchema.optional(),
|
|
5150
|
+
/** Tool/step consumer id for assignment lookup (action slug or workflow step correlation id). */
|
|
5151
|
+
consumerId: string().trim().min(1).optional(),
|
|
5152
|
+
/** Explicit credential instance slug; overrides default resolution to pick that instance. */
|
|
5153
|
+
credentialSlug: string().trim().min(1).optional(),
|
|
5154
|
+
/** Project slug (CLI --project); the platform resolves it to a project and binds that scope. */
|
|
5155
|
+
projectSlug: string().trim().min(1).optional()
|
|
5156
|
+
});
|
|
5157
|
+
object({
|
|
5158
|
+
error: _enum([
|
|
5159
|
+
"not_found",
|
|
5160
|
+
"forbidden",
|
|
5161
|
+
"mcp_execute_failed"
|
|
5162
|
+
]),
|
|
5163
|
+
message: string()
|
|
5164
|
+
});
|
|
5165
|
+
object({ accessToken: string() });
|
|
5166
|
+
function isCredentialInput(value) {
|
|
5167
|
+
if (typeof value !== "object" || value === null) return false;
|
|
5168
|
+
const candidate = value;
|
|
5169
|
+
return typeof candidate.key === "string" && CredentialAuthKindSchema.safeParse(candidate.kind).success && candidate.schema instanceof ZodType && (candidate.materializedSchema === void 0 || candidate.materializedSchema instanceof ZodType);
|
|
5170
|
+
}
|
|
5171
|
+
const credentialInputSchema = custom((value) => isCredentialInput(value), "must be a credential requirement");
|
|
5172
|
+
function normalizeCredentialList(list) {
|
|
5173
|
+
return list.map((item) => toCredentialRequirement(item));
|
|
5174
|
+
}
|
|
5175
|
+
function isCredentialRequirement(item) {
|
|
5176
|
+
return typeof item.scope !== "function";
|
|
5177
|
+
}
|
|
5178
|
+
function toCredentialRequirement(item) {
|
|
5179
|
+
if (isCredentialRequirement(item)) return {
|
|
5180
|
+
key: item.key,
|
|
5181
|
+
kind: item.kind,
|
|
5182
|
+
schema: item.schema,
|
|
5183
|
+
materializedSchema: item.materializedSchema ?? item.schema,
|
|
5184
|
+
...item.scope !== void 0 ? { scope: item.scope } : {},
|
|
5185
|
+
...item.tokenField !== void 0 ? { tokenField: item.tokenField } : {}
|
|
5186
|
+
};
|
|
5187
|
+
return {
|
|
5188
|
+
key: item.key,
|
|
5189
|
+
kind: item.kind,
|
|
5190
|
+
schema: item.schema,
|
|
5191
|
+
materializedSchema: item.materializedSchema,
|
|
5192
|
+
...item.tokenField !== void 0 ? { tokenField: item.tokenField } : {}
|
|
5193
|
+
};
|
|
5194
|
+
}
|
|
5195
|
+
new Set([
|
|
5196
|
+
"hello",
|
|
5197
|
+
"greeting",
|
|
5198
|
+
"greet"
|
|
5199
|
+
]);
|
|
4807
5200
|
/** Auth, session, and account-entry URL segments. */
|
|
4808
5201
|
const AUTH_ACCOUNT_SLUGS = [
|
|
4809
5202
|
"2fa",
|
|
@@ -5416,14 +5809,14 @@ const OrganizationUserRoleSchema = _enum([
|
|
|
5416
5809
|
"admin",
|
|
5417
5810
|
"builder"
|
|
5418
5811
|
]);
|
|
5419
|
-
const isoDateTime$
|
|
5812
|
+
const isoDateTime$6 = string().datetime();
|
|
5420
5813
|
const OrganizationSchema = object({
|
|
5421
5814
|
id: string(),
|
|
5422
5815
|
name: string(),
|
|
5423
5816
|
slug: OrganizationSlugSchema,
|
|
5424
5817
|
verified: boolean(),
|
|
5425
|
-
createdAt: isoDateTime$
|
|
5426
|
-
updatedAt: isoDateTime$
|
|
5818
|
+
createdAt: isoDateTime$6,
|
|
5819
|
+
updatedAt: isoDateTime$6
|
|
5427
5820
|
});
|
|
5428
5821
|
const ProjectSchema = object({
|
|
5429
5822
|
id: string(),
|
|
@@ -5435,8 +5828,8 @@ const ProjectSchema = object({
|
|
|
5435
5828
|
baseUrl: string().nullable(),
|
|
5436
5829
|
runtimeId: string().nullable(),
|
|
5437
5830
|
lastError: string().nullable(),
|
|
5438
|
-
createdAt: isoDateTime$
|
|
5439
|
-
updatedAt: isoDateTime$
|
|
5831
|
+
createdAt: isoDateTime$6,
|
|
5832
|
+
updatedAt: isoDateTime$6
|
|
5440
5833
|
});
|
|
5441
5834
|
const UserOrganizationSchema = object({
|
|
5442
5835
|
organization: OrganizationSchema,
|
|
@@ -5460,7 +5853,7 @@ const ProjectListMetricsSchema = object({
|
|
|
5460
5853
|
workflowCount: number$1(),
|
|
5461
5854
|
skillCount: number$1(),
|
|
5462
5855
|
credentialCount: number$1(),
|
|
5463
|
-
lastDeploymentAt: isoDateTime$
|
|
5856
|
+
lastDeploymentAt: isoDateTime$6.nullable()
|
|
5464
5857
|
});
|
|
5465
5858
|
const ListProjectMetricsResponseSchema = record(string(), ProjectListMetricsSchema);
|
|
5466
5859
|
const CreateProjectRequestSchema = object({
|
|
@@ -5533,26 +5926,15 @@ function listenPortFromUrl(url, fallback) {
|
|
|
5533
5926
|
if (parsed.protocol === "http:") return 80;
|
|
5534
5927
|
return fallback;
|
|
5535
5928
|
}
|
|
5536
|
-
/** Shorthand: listen port from `PUBLIC_*_URL` or fallback. */
|
|
5537
|
-
function listenPortFromPublicUrl(value, fallback) {
|
|
5538
|
-
const trimmed = value?.trim();
|
|
5539
|
-
if (!trimmed) return fallback;
|
|
5540
|
-
try {
|
|
5541
|
-
return listenPortFromUrl(trimmed, fallback);
|
|
5542
|
-
} catch {
|
|
5543
|
-
return fallback;
|
|
5544
|
-
}
|
|
5545
|
-
}
|
|
5546
|
-
const LOCAL_PLATFORM_ORIGIN = "http://localhost:3002";
|
|
5547
|
-
/** Default production platform origin when no env override is set. */
|
|
5548
|
-
const DEFAULT_CLOUD_PLATFORM_ORIGIN = "https://api.keystroke.ai";
|
|
5549
|
-
/** Reads `PUBLIC_PLATFORM_URL` when explicitly set. */
|
|
5550
|
-
function resolveExplicitPublicPlatformOrigin(env = process.env) {
|
|
5551
|
-
return env.PUBLIC_PLATFORM_URL?.replace(/\/$/, "") || void 0;
|
|
5552
|
-
}
|
|
5553
|
-
/** `PUBLIC_PLATFORM_URL` origin; falls back to {@link LOCAL_PLATFORM_ORIGIN} when unset. */
|
|
5554
|
-
function resolvePublicPlatformOrigin(env = process.env) {
|
|
5555
|
-
return resolveExplicitPublicPlatformOrigin(env) ?? "http://localhost:3002";
|
|
5929
|
+
/** Shorthand: listen port from `PUBLIC_*_URL` or fallback. */
|
|
5930
|
+
function listenPortFromPublicUrl(value, fallback) {
|
|
5931
|
+
const trimmed = value?.trim();
|
|
5932
|
+
if (!trimmed) return fallback;
|
|
5933
|
+
try {
|
|
5934
|
+
return listenPortFromUrl(trimmed, fallback);
|
|
5935
|
+
} catch {
|
|
5936
|
+
return fallback;
|
|
5937
|
+
}
|
|
5556
5938
|
}
|
|
5557
5939
|
/**
|
|
5558
5940
|
* Target for Zod ↔ JSON Schema round-trips of persisted Keystroke schemas
|
|
@@ -5575,36 +5957,8 @@ function zodToStoredJsonSchema(schema, options = {}) {
|
|
|
5575
5957
|
} } : {}
|
|
5576
5958
|
});
|
|
5577
5959
|
}
|
|
5578
|
-
function isValidIanaTimezone(value) {
|
|
5579
|
-
try {
|
|
5580
|
-
Intl.DateTimeFormat(void 0, { timeZone: value });
|
|
5581
|
-
return true;
|
|
5582
|
-
} catch {
|
|
5583
|
-
return false;
|
|
5584
|
-
}
|
|
5585
|
-
}
|
|
5586
5960
|
/** On-disk path under the project root (packed in deploy artifacts when present). */
|
|
5587
5961
|
const ROUTE_MANIFEST_REL_PATH = "dist/.keystroke/route-manifest.json";
|
|
5588
|
-
/** How a credential instance is stored (`credential_instances.auth_kind`). */
|
|
5589
|
-
const CredentialAuthKindSchema = _enum([
|
|
5590
|
-
"api_key",
|
|
5591
|
-
"oauth_managed",
|
|
5592
|
-
"keystroke"
|
|
5593
|
-
]);
|
|
5594
|
-
/**
|
|
5595
|
-
* Where a credential instance is stored (`credential_instances.scope_type`), and the only thing an
|
|
5596
|
-
* action/tool can pin via `.scope(...)`. There is no resolution chain: when no scope is pinned, the
|
|
5597
|
-
* resolver tries the project default, then the org default, then throws.
|
|
5598
|
-
*/
|
|
5599
|
-
const CredentialScopeTypeSchema = _enum([
|
|
5600
|
-
"organization",
|
|
5601
|
-
"project",
|
|
5602
|
-
"user"
|
|
5603
|
-
]);
|
|
5604
|
-
CredentialAuthKindSchema.options;
|
|
5605
|
-
CredentialScopeTypeSchema.options;
|
|
5606
|
-
/** Non-empty human-readable label or description (trimmed). */
|
|
5607
|
-
const requiredDisplayTextSchema = string().trim().min(1);
|
|
5608
5962
|
/**
|
|
5609
5963
|
* Structural workflow-canvas graph contract.
|
|
5610
5964
|
*
|
|
@@ -5870,255 +6224,79 @@ const storedRouteManifestEntryV2Schema = discriminatedUnion("kind", [
|
|
|
5870
6224
|
kind: literal("workflow"),
|
|
5871
6225
|
slug: string(),
|
|
5872
6226
|
name: requiredDisplayTextSchema,
|
|
5873
|
-
description: requiredDisplayTextSchema,
|
|
5874
|
-
subscribable: boolean(),
|
|
5875
|
-
moduleFile: string(),
|
|
5876
|
-
requestSchema: record(string(), unknown()),
|
|
5877
|
-
responseSchema: record(string(), unknown()).optional(),
|
|
5878
|
-
/** Deterministic AST control-flow skeleton (deploy-time producer). */
|
|
5879
|
-
flowGraph: WorkflowCanvasGraphSchema.optional(),
|
|
5880
|
-
/** sha256 of the workflow source the `flowGraph` was produced from (staleness). */
|
|
5881
|
-
flowGraphSourceHash: string().optional(),
|
|
5882
|
-
/** sha256 of `JSON.stringify(flowGraph)` — baked at build so canvas polls skip re-hashing. */
|
|
5883
|
-
flowGraphHash: string().optional()
|
|
5884
|
-
}),
|
|
5885
|
-
object({
|
|
5886
|
-
kind: literal("trigger-webhook"),
|
|
5887
|
-
endpoint: string(),
|
|
5888
|
-
attachmentIds: array(string()),
|
|
5889
|
-
moduleFile: string(),
|
|
5890
|
-
/** sha256 of the trigger source file, baked at build time for overview change-detection. */
|
|
5891
|
-
sourceHash: string().optional(),
|
|
5892
|
-
attachmentSchemas: attachmentSchemasSchema,
|
|
5893
|
-
attachmentMeta: attachmentMetaSchema.optional()
|
|
5894
|
-
}),
|
|
5895
|
-
object({
|
|
5896
|
-
kind: literal("trigger-poll"),
|
|
5897
|
-
attachmentId: string(),
|
|
5898
|
-
attachmentIds: array(string()),
|
|
5899
|
-
moduleFile: string(),
|
|
5900
|
-
sourceHash: string().optional(),
|
|
5901
|
-
schedule: string(),
|
|
5902
|
-
/** IANA timezone for schedule wall-clock fields. When omitted, UTC. */
|
|
5903
|
-
timezone: string().optional(),
|
|
5904
|
-
name: requiredDisplayTextSchema,
|
|
5905
|
-
description: requiredDisplayTextSchema
|
|
5906
|
-
}),
|
|
5907
|
-
object({
|
|
5908
|
-
kind: literal("trigger-poll-group"),
|
|
5909
|
-
pollId: string(),
|
|
5910
|
-
attachmentIds: array(string()),
|
|
5911
|
-
moduleFile: string(),
|
|
5912
|
-
schedule: string(),
|
|
5913
|
-
/** IANA timezone for schedule wall-clock fields. When omitted, UTC. */
|
|
5914
|
-
timezone: string().optional()
|
|
5915
|
-
}),
|
|
5916
|
-
object({
|
|
5917
|
-
kind: literal("cron-schedule"),
|
|
5918
|
-
attachmentId: string(),
|
|
5919
|
-
attachmentIds: array(string()),
|
|
5920
|
-
moduleFile: string(),
|
|
5921
|
-
sourceHash: string().optional(),
|
|
5922
|
-
schedule: string(),
|
|
5923
|
-
/** IANA timezone for schedule wall-clock fields. When omitted, UTC. */
|
|
5924
|
-
timezone: string().optional(),
|
|
5925
|
-
/** Static cron payload from `defineCronSource({ payload })` — omitted when the source has none. */
|
|
5926
|
-
payload: unknown().optional(),
|
|
5927
|
-
name: requiredDisplayTextSchema,
|
|
5928
|
-
description: requiredDisplayTextSchema
|
|
5929
|
-
})
|
|
5930
|
-
]);
|
|
5931
|
-
const storedRouteManifestV2Schema = object({
|
|
5932
|
-
version: literal(2),
|
|
5933
|
-
entries: array(storedRouteManifestEntryV2Schema),
|
|
5934
|
-
skills: array(StoredRouteManifestSkillSchema).default([]),
|
|
5935
|
-
integrations: array(string()).optional()
|
|
5936
|
-
});
|
|
5937
|
-
/**
|
|
5938
|
-
* Parse a stored route manifest. Only the strict v2 schema is supported: the
|
|
5939
|
-
* builder always emits v2 and every deploy regenerates the manifest, so there is
|
|
5940
|
-
* no legacy upcasting. (The pre-v2 `normalizeEntryToV2` path was removed once the
|
|
5941
|
-
* data tables were truncated and all artifacts redeployed.)
|
|
5942
|
-
*/
|
|
5943
|
-
function parseStoredRouteManifest(value) {
|
|
5944
|
-
return storedRouteManifestV2Schema.parse(value);
|
|
5945
|
-
}
|
|
5946
|
-
const isoDateTime$6 = string().datetime();
|
|
5947
|
-
const subscriptionStatusSchema = _enum([
|
|
5948
|
-
"none",
|
|
5949
|
-
"trialing",
|
|
5950
|
-
"active",
|
|
5951
|
-
"past_due",
|
|
5952
|
-
"canceled"
|
|
5953
|
-
]);
|
|
5954
|
-
const CreditPackSchema = object({
|
|
5955
|
-
id: string(),
|
|
5956
|
-
usd: number$1(),
|
|
5957
|
-
microCredits: number$1(),
|
|
5958
|
-
label: string()
|
|
5959
|
-
});
|
|
5960
|
-
const AutoTopupSummarySchema = object({
|
|
5961
|
-
enabled: boolean(),
|
|
5962
|
-
thresholdMicroCredits: number$1().nullable(),
|
|
5963
|
-
amountMicroCredits: number$1().nullable(),
|
|
5964
|
-
/** A saved payment method exists to charge off-session. */
|
|
5965
|
-
hasPaymentMethod: boolean(),
|
|
5966
|
-
/** A top-up invoice payment is in flight. */
|
|
5967
|
-
pending: boolean()
|
|
5968
|
-
});
|
|
5969
|
-
/**
|
|
5970
|
-
* The plan's resolved limits. Storage overage is billed from the wallet's
|
|
5971
|
-
* pushed-down `includedStorageGb`; concurrency, per-pass run timeouts, and
|
|
5972
|
-
* API/MCP rate limits are enforced from the wallet (timeouts/concurrency) or
|
|
5973
|
-
* plan preset (rate limits). Log retention is configured but not pruned yet.
|
|
5974
|
-
*/
|
|
5975
|
-
const PlanLimitsSchema = object({
|
|
5976
|
-
includedStorageGb: number$1(),
|
|
5977
|
-
concurrencyLimit: number$1(),
|
|
5978
|
-
/** Max non-deleted projects; enforced on create only. */
|
|
5979
|
-
maxProjects: number$1(),
|
|
5980
|
-
agentTimeoutMs: number$1(),
|
|
5981
|
-
workflowTimeoutMs: number$1(),
|
|
5982
|
-
pollTimeoutMs: number$1(),
|
|
5983
|
-
/** Configured retention window; pruning not implemented yet. */
|
|
5984
|
-
logRetentionDays: number$1(),
|
|
5985
|
-
apiRateLimitCapacity: number$1(),
|
|
5986
|
-
apiRateLimitRefillPerSec: number$1(),
|
|
5987
|
-
mcpRateLimitCapacity: number$1(),
|
|
5988
|
-
mcpRateLimitRefillPerSec: number$1()
|
|
5989
|
-
});
|
|
5990
|
-
const BillingSummaryResponseSchema = object({
|
|
5991
|
-
planKey: string(),
|
|
5992
|
-
subscriptionStatus: subscriptionStatusSchema,
|
|
5993
|
-
/** Remaining plan-bucket balance this period (µc). */
|
|
5994
|
-
planCreditMicroCredits: number$1(),
|
|
5995
|
-
/** Remaining prepaid balance (µc). Never expires. */
|
|
5996
|
-
prepaidCreditMicroCredits: number$1(),
|
|
5997
|
-
/**
|
|
5998
|
-
* Resolved monthly plan allotment (µc) — override ?? preset. Powers the
|
|
5999
|
-
* credit-usage progress denominator (`used = allotment − remaining`).
|
|
6000
|
-
*/
|
|
6001
|
-
monthlyCreditMicroCredits: number$1(),
|
|
6002
|
-
periodStart: isoDateTime$6.nullable(),
|
|
6003
|
-
periodEnd: isoDateTime$6.nullable(),
|
|
6004
|
-
autoTopup: AutoTopupSummarySchema,
|
|
6005
|
-
creditPacks: array(CreditPackSchema),
|
|
6006
|
-
limits: PlanLimitsSchema
|
|
6007
|
-
});
|
|
6008
|
-
const BillingUsageMeterSchema = object({
|
|
6009
|
-
/** Meter key (`llm`, `vm_second`, …); null groups uncategorized rows. */
|
|
6010
|
-
meterKey: string().nullable(),
|
|
6011
|
-
/** Charged this period, µc. */
|
|
6012
|
-
microCredits: number$1(),
|
|
6013
|
-
/** Tracked-but-not-charged usage (e.g. BYOK LLM calls), display USD. */
|
|
6014
|
-
unchargedUsd: number$1()
|
|
6015
|
-
});
|
|
6016
|
-
const BillingUsageResponseSchema = object({
|
|
6017
|
-
periodStart: isoDateTime$6.nullable(),
|
|
6018
|
-
periodEnd: isoDateTime$6.nullable(),
|
|
6019
|
-
totalMicroCredits: number$1(),
|
|
6020
|
-
byMeter: array(BillingUsageMeterSchema)
|
|
6021
|
-
});
|
|
6022
|
-
const billingLedgerEntryTypeSchema = _enum([
|
|
6023
|
-
"grant_plan",
|
|
6024
|
-
"grant_prepaid",
|
|
6025
|
-
"expire_plan",
|
|
6026
|
-
"adjustment"
|
|
6027
|
-
]);
|
|
6028
|
-
const BillingActivityResponseSchema = object({
|
|
6029
|
-
entries: array(object({
|
|
6030
|
-
id: string(),
|
|
6031
|
-
entryType: billingLedgerEntryTypeSchema,
|
|
6032
|
-
label: string(),
|
|
6033
|
-
/** Signed: positive grants, negative expirations/adjustments. */
|
|
6034
|
-
microCredits: number$1(),
|
|
6035
|
-
bucket: _enum(["plan", "prepaid"]).nullable(),
|
|
6036
|
-
/** Stripe invoice behind the entry, when there is one — powers "View invoice". */
|
|
6037
|
-
stripeInvoiceId: string().nullable(),
|
|
6038
|
-
createdAt: isoDateTime$6
|
|
6039
|
-
})),
|
|
6040
|
-
/** Set only when the latest payment failure is newer than the latest successful payment. */
|
|
6041
|
-
lastPaymentFailureAt: isoDateTime$6.nullable()
|
|
6042
|
-
});
|
|
6043
|
-
const CreateSubscriptionCheckoutRequestSchema = object({
|
|
6044
|
-
/** Web-app path to land on after Checkout (must be a path, not a URL). */
|
|
6045
|
-
returnPath: string().startsWith("/").max(512).optional() });
|
|
6046
|
-
const CreateCreditsCheckoutRequestSchema = object({
|
|
6047
|
-
packId: string(),
|
|
6048
|
-
returnPath: string().startsWith("/").max(512).optional()
|
|
6049
|
-
});
|
|
6050
|
-
const CreateBillingPortalRequestSchema = object({ returnPath: string().startsWith("/").max(512).optional() });
|
|
6051
|
-
/** Checkout + Portal both respond with a Stripe-hosted URL to redirect to. */
|
|
6052
|
-
const BillingRedirectResponseSchema = object({ url: string().url() });
|
|
6053
|
-
/** Fresh Stripe-hosted links for one invoice, resolved on click (never stored). */
|
|
6054
|
-
const BillingInvoiceUrlResponseSchema = object({
|
|
6055
|
-
/** Hosted invoice page (view, download, receipt). */
|
|
6056
|
-
url: string().url(),
|
|
6057
|
-
/** Direct PDF download when Stripe provides one. */
|
|
6058
|
-
pdf: string().url().nullable()
|
|
6059
|
-
});
|
|
6060
|
-
const ConfirmCheckoutRequestSchema = object({
|
|
6061
|
-
/** Stripe Checkout Session id from the `session_id` success-URL param. */
|
|
6062
|
-
sessionId: string().min(1).max(255) });
|
|
6063
|
-
const ConfirmCheckoutResponseSchema = object({
|
|
6064
|
-
/**
|
|
6065
|
-
* `granted` — credits are in the wallet now; `processing` — payment not
|
|
6066
|
-
* complete yet, the webhook will finish it; `ignored` — not a confirmable
|
|
6067
|
-
* session for this org.
|
|
6068
|
-
*/
|
|
6069
|
-
status: _enum([
|
|
6070
|
-
"granted",
|
|
6071
|
-
"processing",
|
|
6072
|
-
"ignored"
|
|
6073
|
-
]),
|
|
6074
|
-
reason: string().optional()
|
|
6075
|
-
});
|
|
6076
|
-
const UpdateAutoTopupRequestSchema = object({
|
|
6077
|
-
enabled: boolean(),
|
|
6078
|
-
thresholdMicroCredits: number$1().int().positive().optional(),
|
|
6079
|
-
packId: string().optional()
|
|
6080
|
-
});
|
|
6081
|
-
const BillingUsageEventSourceSchema = _enum([
|
|
6082
|
-
"ai_gateway",
|
|
6083
|
-
"sandbox",
|
|
6084
|
-
"web_proxy",
|
|
6085
|
-
"storage",
|
|
6086
|
-
"dispatch",
|
|
6087
|
-
"poll"
|
|
6088
|
-
]);
|
|
6089
|
-
const BillingUsageMeterKeySchema = _enum([
|
|
6090
|
-
"llm",
|
|
6091
|
-
"vm_second",
|
|
6092
|
-
"web_search",
|
|
6093
|
-
"web_fetch",
|
|
6094
|
-
"workflow_run",
|
|
6095
|
-
"agent_run",
|
|
6096
|
-
"poll_trigger",
|
|
6097
|
-
"tigris_storage"
|
|
6227
|
+
description: requiredDisplayTextSchema,
|
|
6228
|
+
subscribable: boolean(),
|
|
6229
|
+
moduleFile: string(),
|
|
6230
|
+
requestSchema: record(string(), unknown()),
|
|
6231
|
+
responseSchema: record(string(), unknown()).optional(),
|
|
6232
|
+
/** Deterministic AST control-flow skeleton (deploy-time producer). */
|
|
6233
|
+
flowGraph: WorkflowCanvasGraphSchema.optional(),
|
|
6234
|
+
/** sha256 of the workflow source the `flowGraph` was produced from (staleness). */
|
|
6235
|
+
flowGraphSourceHash: string().optional(),
|
|
6236
|
+
/** sha256 of `JSON.stringify(flowGraph)` — baked at build so canvas polls skip re-hashing. */
|
|
6237
|
+
flowGraphHash: string().optional()
|
|
6238
|
+
}),
|
|
6239
|
+
object({
|
|
6240
|
+
kind: literal("trigger-webhook"),
|
|
6241
|
+
endpoint: string(),
|
|
6242
|
+
attachmentIds: array(string()),
|
|
6243
|
+
moduleFile: string(),
|
|
6244
|
+
/** sha256 of the trigger source file, baked at build time for overview change-detection. */
|
|
6245
|
+
sourceHash: string().optional(),
|
|
6246
|
+
attachmentSchemas: attachmentSchemasSchema,
|
|
6247
|
+
attachmentMeta: attachmentMetaSchema.optional()
|
|
6248
|
+
}),
|
|
6249
|
+
object({
|
|
6250
|
+
kind: literal("trigger-poll"),
|
|
6251
|
+
attachmentId: string(),
|
|
6252
|
+
attachmentIds: array(string()),
|
|
6253
|
+
moduleFile: string(),
|
|
6254
|
+
sourceHash: string().optional(),
|
|
6255
|
+
schedule: string(),
|
|
6256
|
+
/** IANA timezone for schedule wall-clock fields. When omitted, UTC. */
|
|
6257
|
+
timezone: string().optional(),
|
|
6258
|
+
name: requiredDisplayTextSchema,
|
|
6259
|
+
description: requiredDisplayTextSchema
|
|
6260
|
+
}),
|
|
6261
|
+
object({
|
|
6262
|
+
kind: literal("trigger-poll-group"),
|
|
6263
|
+
pollId: string(),
|
|
6264
|
+
attachmentIds: array(string()),
|
|
6265
|
+
moduleFile: string(),
|
|
6266
|
+
schedule: string(),
|
|
6267
|
+
/** IANA timezone for schedule wall-clock fields. When omitted, UTC. */
|
|
6268
|
+
timezone: string().optional()
|
|
6269
|
+
}),
|
|
6270
|
+
object({
|
|
6271
|
+
kind: literal("cron-schedule"),
|
|
6272
|
+
attachmentId: string(),
|
|
6273
|
+
attachmentIds: array(string()),
|
|
6274
|
+
moduleFile: string(),
|
|
6275
|
+
sourceHash: string().optional(),
|
|
6276
|
+
schedule: string(),
|
|
6277
|
+
/** IANA timezone for schedule wall-clock fields. When omitted, UTC. */
|
|
6278
|
+
timezone: string().optional(),
|
|
6279
|
+
/** Static cron payload from `defineCronSource({ payload })` — omitted when the source has none. */
|
|
6280
|
+
payload: unknown().optional(),
|
|
6281
|
+
name: requiredDisplayTextSchema,
|
|
6282
|
+
description: requiredDisplayTextSchema
|
|
6283
|
+
})
|
|
6098
6284
|
]);
|
|
6099
|
-
const
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
|
|
6104
|
-
runKind: BillingUsageRunKindSchema.nullable().optional(),
|
|
6105
|
-
source: BillingUsageEventSourceSchema,
|
|
6106
|
-
sourceEventId: string().min(1).max(512),
|
|
6107
|
-
meterKey: BillingUsageMeterKeySchema,
|
|
6108
|
-
quantity: number$1().finite().nonnegative(),
|
|
6109
|
-
unit: string().min(1).max(64),
|
|
6110
|
-
providerCostUsd: number$1().finite().nonnegative().nullable().optional(),
|
|
6111
|
-
keySource: BillingUsageKeySourceSchema.nullable().optional(),
|
|
6112
|
-
occurredAt: isoDateTime$6,
|
|
6113
|
-
metadata: record(string(), unknown()).nullable().optional()
|
|
6114
|
-
}).strict()).min(1).max(100) }).strict();
|
|
6115
|
-
object({
|
|
6116
|
-
accepted: number$1().int().nonnegative(),
|
|
6117
|
-
inserted: number$1().int().nonnegative(),
|
|
6118
|
-
duplicate: number$1().int().nonnegative(),
|
|
6119
|
-
settledLedgerId: string().nullable(),
|
|
6120
|
-
chargeMicroCredits: number$1().int().nonnegative()
|
|
6285
|
+
const storedRouteManifestV2Schema = object({
|
|
6286
|
+
version: literal(2),
|
|
6287
|
+
entries: array(storedRouteManifestEntryV2Schema),
|
|
6288
|
+
skills: array(StoredRouteManifestSkillSchema).default([]),
|
|
6289
|
+
integrations: array(string()).optional()
|
|
6121
6290
|
});
|
|
6291
|
+
/**
|
|
6292
|
+
* Parse a stored route manifest. Only the strict v2 schema is supported: the
|
|
6293
|
+
* builder always emits v2 and every deploy regenerates the manifest, so there is
|
|
6294
|
+
* no legacy upcasting. (The pre-v2 `normalizeEntryToV2` path was removed once the
|
|
6295
|
+
* data tables were truncated and all artifacts redeployed.)
|
|
6296
|
+
*/
|
|
6297
|
+
function parseStoredRouteManifest(value) {
|
|
6298
|
+
return storedRouteManifestV2Schema.parse(value);
|
|
6299
|
+
}
|
|
6122
6300
|
/** Messaging platforms that support agent gateway bindings. */
|
|
6123
6301
|
const ChannelPlatformKeySchema = _enum(["slack"]);
|
|
6124
6302
|
const ChannelReactionSupportSchema = _enum([
|
|
@@ -6845,95 +7023,6 @@ const ListCredentialsPageResponseSchema = object({
|
|
|
6845
7023
|
const GetCredentialResponseSchema = AppCredentialSummarySchema;
|
|
6846
7024
|
const CreateCredentialsResponseSchema = array(AppCredentialSummarySchema);
|
|
6847
7025
|
const DuplicateCredentialsResponseSchema = CreateCredentialsResponseSchema;
|
|
6848
|
-
const CredentialAssignmentTargetTypeSchema = _enum([
|
|
6849
|
-
"workflow",
|
|
6850
|
-
"agent",
|
|
6851
|
-
"poll"
|
|
6852
|
-
]);
|
|
6853
|
-
const CredentialAssignmentRecordSchema = object({
|
|
6854
|
-
id: string(),
|
|
6855
|
-
targetType: CredentialAssignmentTargetTypeSchema,
|
|
6856
|
-
targetKey: string(),
|
|
6857
|
-
consumerId: string(),
|
|
6858
|
-
credentialSlug: string(),
|
|
6859
|
-
instanceId: string(),
|
|
6860
|
-
credential: string().optional(),
|
|
6861
|
-
scopeType: _enum([
|
|
6862
|
-
"organization",
|
|
6863
|
-
"project",
|
|
6864
|
-
"user"
|
|
6865
|
-
]).optional(),
|
|
6866
|
-
createdAt: string(),
|
|
6867
|
-
updatedAt: string()
|
|
6868
|
-
});
|
|
6869
|
-
const CredentialAssignmentListResponseSchema = object({ assignments: array(CredentialAssignmentRecordSchema) });
|
|
6870
|
-
const AssignCredentialBodySchema = object({
|
|
6871
|
-
targetType: CredentialAssignmentTargetTypeSchema,
|
|
6872
|
-
targetKey: string().min(1),
|
|
6873
|
-
/** Omit or '*' for wildcard assignment. */
|
|
6874
|
-
consumerId: string().optional(),
|
|
6875
|
-
credential: string().min(1)
|
|
6876
|
-
});
|
|
6877
|
-
const CredentialAssignmentListQuerySchema = object({
|
|
6878
|
-
targetType: CredentialAssignmentTargetTypeSchema,
|
|
6879
|
-
targetKey: string().min(1)
|
|
6880
|
-
});
|
|
6881
|
-
const CredentialConsumerListQuerySchema = object({
|
|
6882
|
-
targetType: CredentialAssignmentTargetTypeSchema,
|
|
6883
|
-
targetKey: string().min(1)
|
|
6884
|
-
});
|
|
6885
|
-
const CredentialConsumerListResponseSchema = object({ consumers: array(object({
|
|
6886
|
-
consumerId: string(),
|
|
6887
|
-
label: string(),
|
|
6888
|
-
appSlugs: array(string())
|
|
6889
|
-
})) });
|
|
6890
|
-
const McpConnectionStatusSchema = _enum([
|
|
6891
|
-
"INITIATED",
|
|
6892
|
-
"ACTIVE",
|
|
6893
|
-
"EXPIRED",
|
|
6894
|
-
"FAILED",
|
|
6895
|
-
"INACTIVE",
|
|
6896
|
-
"REVOKED"
|
|
6897
|
-
]);
|
|
6898
|
-
object({
|
|
6899
|
-
slug: string(),
|
|
6900
|
-
name: string(),
|
|
6901
|
-
connected: boolean(),
|
|
6902
|
-
connectionId: string().optional(),
|
|
6903
|
-
status: McpConnectionStatusSchema.optional()
|
|
6904
|
-
});
|
|
6905
|
-
object({
|
|
6906
|
-
connectionId: string(),
|
|
6907
|
-
entityId: string(),
|
|
6908
|
-
instanceId: string()
|
|
6909
|
-
});
|
|
6910
|
-
const McpCredentialAssignmentTargetSchema = object({
|
|
6911
|
-
type: CredentialAssignmentTargetTypeSchema,
|
|
6912
|
-
key: string().trim().min(1)
|
|
6913
|
-
});
|
|
6914
|
-
const ExecuteKeystrokeToolRequestSchema = object({
|
|
6915
|
-
app: string().trim().min(1),
|
|
6916
|
-
tool: string().trim().min(1),
|
|
6917
|
-
arguments: record(string(), unknown()).default({}),
|
|
6918
|
-
/** Pinned provider toolkit version, sourced from the app definition; forwarded to the provider. */
|
|
6919
|
-
version: string().trim().min(1),
|
|
6920
|
-
/** When set, platform MCP resolve checks credential assignments before scope defaults. */
|
|
6921
|
-
assignmentTarget: McpCredentialAssignmentTargetSchema.optional(),
|
|
6922
|
-
/** Tool/step consumer id for assignment lookup (action slug or workflow step correlation id). */
|
|
6923
|
-
consumerId: string().trim().min(1).optional(),
|
|
6924
|
-
/** Explicit credential instance slug; overrides default resolution to pick that instance. */
|
|
6925
|
-
credentialSlug: string().trim().min(1).optional(),
|
|
6926
|
-
/** Project slug (CLI --project); the platform resolves it to a project and binds that scope. */
|
|
6927
|
-
projectSlug: string().trim().min(1).optional()
|
|
6928
|
-
});
|
|
6929
|
-
object({
|
|
6930
|
-
error: _enum([
|
|
6931
|
-
"not_found",
|
|
6932
|
-
"forbidden",
|
|
6933
|
-
"mcp_execute_failed"
|
|
6934
|
-
]),
|
|
6935
|
-
message: string()
|
|
6936
|
-
});
|
|
6937
7026
|
const SubmitTeamRequestRequestSchema = object({
|
|
6938
7027
|
type: _enum([
|
|
6939
7028
|
"org-deletion",
|
|
@@ -7014,37 +7103,6 @@ const SubmitMarketingContactRequestSchema = object({
|
|
|
7014
7103
|
/** Honeypot — must stay empty; bots that fill it are ignored silently. */
|
|
7015
7104
|
companyWebsite: string().optional()
|
|
7016
7105
|
});
|
|
7017
|
-
const PublicModelsResponseSchema = object({ models: array(string()) });
|
|
7018
|
-
object({ accessToken: string() });
|
|
7019
|
-
function isCredentialInput(value) {
|
|
7020
|
-
if (typeof value !== "object" || value === null) return false;
|
|
7021
|
-
const candidate = value;
|
|
7022
|
-
return typeof candidate.key === "string" && CredentialAuthKindSchema.safeParse(candidate.kind).success && candidate.schema instanceof ZodType && (candidate.materializedSchema === void 0 || candidate.materializedSchema instanceof ZodType);
|
|
7023
|
-
}
|
|
7024
|
-
const credentialInputSchema = custom((value) => isCredentialInput(value), "must be a credential requirement");
|
|
7025
|
-
function normalizeCredentialList(list) {
|
|
7026
|
-
return list.map((item) => toCredentialRequirement(item));
|
|
7027
|
-
}
|
|
7028
|
-
function isCredentialRequirement(item) {
|
|
7029
|
-
return typeof item.scope !== "function";
|
|
7030
|
-
}
|
|
7031
|
-
function toCredentialRequirement(item) {
|
|
7032
|
-
if (isCredentialRequirement(item)) return {
|
|
7033
|
-
key: item.key,
|
|
7034
|
-
kind: item.kind,
|
|
7035
|
-
schema: item.schema,
|
|
7036
|
-
materializedSchema: item.materializedSchema ?? item.schema,
|
|
7037
|
-
...item.scope !== void 0 ? { scope: item.scope } : {},
|
|
7038
|
-
...item.tokenField !== void 0 ? { tokenField: item.tokenField } : {}
|
|
7039
|
-
};
|
|
7040
|
-
return {
|
|
7041
|
-
key: item.key,
|
|
7042
|
-
kind: item.kind,
|
|
7043
|
-
schema: item.schema,
|
|
7044
|
-
materializedSchema: item.materializedSchema,
|
|
7045
|
-
...item.tokenField !== void 0 ? { tokenField: item.tokenField } : {}
|
|
7046
|
-
};
|
|
7047
|
-
}
|
|
7048
7106
|
const CredentialAccessUnavailableReasonSchema = _enum(["request_access", "reconnect_required"]);
|
|
7049
7107
|
object({
|
|
7050
7108
|
error: literal("credential_access_unavailable"),
|
|
@@ -7119,50 +7177,6 @@ function parseErrorResponse(body) {
|
|
|
7119
7177
|
message: messageOnly.data.message
|
|
7120
7178
|
};
|
|
7121
7179
|
}
|
|
7122
|
-
const CHAT_ATTACHMENT_MAX_BYTES = 10 * 1024 * 1024;
|
|
7123
|
-
[
|
|
7124
|
-
{
|
|
7125
|
-
mediaType: "image/png",
|
|
7126
|
-
ext: "png"
|
|
7127
|
-
},
|
|
7128
|
-
{
|
|
7129
|
-
mediaType: "image/jpeg",
|
|
7130
|
-
ext: "jpg"
|
|
7131
|
-
},
|
|
7132
|
-
{
|
|
7133
|
-
mediaType: "image/webp",
|
|
7134
|
-
ext: "webp"
|
|
7135
|
-
},
|
|
7136
|
-
{
|
|
7137
|
-
mediaType: "image/gif",
|
|
7138
|
-
ext: "gif"
|
|
7139
|
-
},
|
|
7140
|
-
{
|
|
7141
|
-
mediaType: "application/pdf",
|
|
7142
|
-
ext: "pdf"
|
|
7143
|
-
}
|
|
7144
|
-
].map((type) => type.mediaType);
|
|
7145
|
-
const ChatAttachmentInputSchema = object({
|
|
7146
|
-
storageKey: string().min(1),
|
|
7147
|
-
mediaType: string().min(1),
|
|
7148
|
-
filename: string().optional()
|
|
7149
|
-
});
|
|
7150
|
-
/** JSON-safe file ref for workflow inputs, step outputs, and `agent.prompt({ files })`. */
|
|
7151
|
-
const FilePartSchema = object({
|
|
7152
|
-
type: literal("file"),
|
|
7153
|
-
mediaType: string().min(1),
|
|
7154
|
-
url: string().min(1),
|
|
7155
|
-
filename: string().optional()
|
|
7156
|
-
});
|
|
7157
|
-
const PresignChatAttachmentRequestSchema = object({
|
|
7158
|
-
contentType: string().min(1),
|
|
7159
|
-
filename: string().min(1),
|
|
7160
|
-
size: number$1().int().positive().max(CHAT_ATTACHMENT_MAX_BYTES)
|
|
7161
|
-
});
|
|
7162
|
-
const PresignChatAttachmentResponseSchema = object({
|
|
7163
|
-
uploadUrl: string().url(),
|
|
7164
|
-
storageKey: string().min(1)
|
|
7165
|
-
});
|
|
7166
7180
|
const CredentialRunContextSchema = object({
|
|
7167
7181
|
orgId: string().min(1).optional(),
|
|
7168
7182
|
projectId: string().min(1).optional(),
|
|
@@ -8824,6 +8838,6 @@ const ListAgentWorkspaceFilesResponseSchema = object({ files: array(object({
|
|
|
8824
8838
|
})) });
|
|
8825
8839
|
const WorkflowRunInputsPutBodySchema = record(string(), unknown());
|
|
8826
8840
|
//#endregion
|
|
8827
|
-
export {
|
|
8841
|
+
export { HistoryRunCancelResponseSchema as $, WorkflowSummaryListResponseSchema as $n, ZodIssueCode as $r, QueuedAgentPromptResponseSchema as $t, CreateOrganizationResponseSchema as A, UpdateProjectMemberRequestSchema as An, requiredDisplayTextSchema as Ar, OrganizationSidebarBrandingSchema as At, DownloadActiveProjectSourceResponseSchema as B, UserPreferencesSchema as Bn, AutoTopupSummarySchema as Br, PresignUserAvatarResponseSchema as Bt, CreateApiKeyResponseSchema as C, safeParse$1 as Ci, UpdateChannelBindingBodySchema as Cn, CredentialAssignmentRecordSchema as Cr, ListProjectsResponseSchema as Ct, CreateCustomAppRequestSchema as D, UpdateOrganizationMemberRequestSchema as Dn, credentialInputSchema as Dr, McpDiscoverResponseSchema as Dt, CreateCredentialsResponseSchema as E, UpdateManagedServiceCredentialRequestSchema as En, ExecuteKeystrokeToolRequestSchema as Er, ManagedServiceKindSchema as Et, CredentialInstanceRecordSchema as F, UploadProjectSourceResponseSchema as Fn, CLIENT_CHANNEL_HEADER as Fr, PresignOrgLogoRequestSchema as Ft, FormFieldConfigSchema as G, WorkflowFormUpsertBodySchema as Gn, BillingUsageResponseSchema as Gr, ProjectSlugAvailabilityResponseSchema as Gt, DuplicateCredentialsResponseSchema as H, WorkflowCanvasRunSchema as Hn, BillingInvoiceUrlResponseSchema as Hr, ProjectReachabilityResponseSchema as Ht, DOCS_QUERY_TOOL as I, UpsertGatewayAttachmentBodySchema as In, FilePartSchema as Ir, PresignOrgLogoResponseSchema as It, GetCredentialResponseSchema as J, WorkflowRunInputsPutBodySchema as Jn, CreateBillingPortalRequestSchema as Jr, PublicFormMetadataSchema as Jt, GatewayAttachmentRecordSchema as K, WorkflowRunDetailResponseSchema as Kn, ConfirmCheckoutRequestSchema as Kr, PromptInputSchema as Kt, DOCS_SEARCH_TOOL as L, UserAvatarPatchSchema as Ln, PresignChatAttachmentRequestSchema as Lr, PresignProjectSourceRequestSchema as Lt, CreateProjectRequestSchema as M, UpdateProjectRequestSchema as Mn, LOCAL_PLATFORM_ORIGIN as Mr, PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS as Mt, CreateProjectResponseSchema as N, UpdateProjectSettingsRequestSchema as Nn, resolvePublicPlatformOrigin as Nr, PresignCustomAppLogoRequestSchema as Nt, CreateCustomAppResponseSchema as O, UpdateOrganizationMemberResponseSchema as On, getOpenApiJsonSchema as Or, OpenApiDiscoverResponseSchema as Ot, CredentialInstanceListResponseSchema as P, UploadProjectSourceManifestRequestSchema as Pn, ACTIVE_ORG_HEADER as Pr, PresignCustomAppLogoResponseSchema as Pt, HealthResponseSchema as Q, WorkflowSummaryDetailResponseSchema as Qn, number as Qr, PublishedFormSchema as Qt, DeclineOrganizationInvitationResponseSchema as R, UserAvatarSchema as Rn, PresignChatAttachmentResponseSchema as Rr, PresignProjectSourceResponseSchema as Rt, CreateApiKeyRequestSchema as S, datetime as Si, TriggerRunListResponseSchema as Sn, CredentialAssignmentListResponseSchema as Sr, ListProjectMetricsResponseSchema as St, CreateCredentialsRequestSchema as T, UpdateCredentialRequestSchema as Tn, CredentialConsumerListResponseSchema as Tr, ManagedServiceCredentialSchema as Tt, FinalizeCustomAppLogoRequestSchema as U, WorkflowCanvasSchema as Un, BillingRedirectResponseSchema as Ur, ProjectResponseSchema as Ut, DuplicateCredentialRequestSchema as V, WorkflowCanvasCredentialBindingsSchema as Vn, BillingActivityResponseSchema as Vr, ProjectPullStateSchema as Vt, FinalizeCustomAppLogoResponseSchema as W, WorkflowFormResponseSchema as Wn, BillingSummaryResponseSchema as Wr, ProjectSettingsResponseSchema as Wt, GetTemplateResponseSchema as X, WorkflowRunListResponseSchema as Xn, CreateSubscriptionCheckoutRequestSchema as Xr, PublicFormSubmitResponseSchema as Xt, GetCustomAppResponseSchema as Y, WorkflowRunInputsSchema as Yn, CreateCreditsCheckoutRequestSchema as Yr, PublicFormSubmitBodySchema as Yt, GraphqlDiscoverResponseSchema as Z, WorkflowRunResponseSchema as Zn, UpdateAutoTopupRequestSchema as Zr, PublishedFormListResponseSchema as Zt, ChannelDirectoryListResponseSchema as _, record as _i, TriggerDetailResponseSchema as _n, resolveDocsMcpUrl as _r, ListOrganizationMembersPageResponseSchema as _t, AgentSummaryDetailResponseSchema as a, array as ai, SkillSummaryListResponseSchema as an, WorkspaceWorkflowOverviewSchema as ar, InviteProjectMembersRequestSchema as at, ConnectManagedServiceCredentialRequestSchema as b, unknown as bi, TriggerListResponseSchema as bn, AssignCredentialBodySchema as br, ListProjectFilesResponseSchema as bt, AppSlugAvailabilityResponseSchema as c, discriminatedUnion as ci, StartKeystrokeConnectionResultSchema as cn, detectProjectPackageManagerFromSnapshot as cr, ListAgentWorkspaceFilesResponseSchema as ct, CatalogActionsPageResponseSchema as d, literal as di, StartOAuthConnectionInputSchema as dn, normalizeDocsSearchPaths as dr, ListChannelPlatformsResponseSchema as dt, ZodType as ei, QueuedRunResponseSchema as en, WorkspaceTriggerDetailSchema as er, HistoryRunDetailResponseSchema as et, CatalogAppDetailResponseSchema as f, looseObject as fi, StartOAuthConnectionResultSchema as fn, originFromPublicUrl as fr, ListCredentialsPageQuerySchema as ft, ChannelConnectionSchema as g, preprocess as gi, TemplateFilesResponseSchema as gn, resolveConnectAppSlug as gr, ListOrganizationMembersPageQuerySchema as gt, ChannelConnectionListResponseSchema as h, optional as hi, SubmitTeamRequestRequestSchema as hn, parseStoredRouteManifest as hr, ListOrganizationInvitationsResponseSchema as ht, AgentSessionListResponseSchema as i, any as ii, SkillSummaryDetailResponseSchema as in, WorkspaceTriggerRunListResponseSchema as ir, InviteOrganizationMembersResponseSchema as it, CreateProjectArtifactResponseSchema as j, UpdateProjectMemberResponseSchema as jn, DEFAULT_CLOUD_PLATFORM_ORIGIN as jr, PROJECT_PULL_STATE_RELATIVE_PATH as jt, CreateOrganizationRequestSchema as k, UpdateOrganizationRequestSchema as kn, normalizeCredentialList as kr, OrganizationSidebarBrandingPatchSchema as kt, BindChannelBodySchema as l, intersection as li, StartMcpOAuthConnectionInputSchema as ln, isAcceptableInstallExit as lr, ListApiKeysResponseSchema as lt, ChannelAccountListResponseSchema as m, object as mi, SubmitMarketingContactRequestSchema as mn, parseErrorResponse as mr, ListManagedServiceCredentialsResponseSchema as mt, ActiveOrganizationResponseSchema as n, _function as ni, RecentResourceListResponseSchema as nn, WorkspaceTriggerListResponseSchema as nr, HistoryRunListResponseSchema as nt, AgentSummaryListResponseSchema as o, boolean as oi, SlugAvailabilityResponseSchema as on, buildConnectDeeplink as or, InviteProjectMembersResponseSchema as ot, CatalogAppsPageResponseSchema as p, number$1 as pi, SubmitAgentFeedbackRequestSchema as pn, parseAppSlug as pr, ListCredentialsPageResponseSchema as pt, GetAppCatalogEntryResponseSchema as q, WorkflowRunHooksResponseSchema as qn, ConfirmCheckoutResponseSchema as qr, PromptResponseSchema as qt, AgentSessionDetailResponseSchema as r, _null as ri, STORED_JSON_SCHEMA_TARGET as rn, WorkspaceTriggerOverviewSchema as rr, InviteOrganizationMembersRequestSchema as rt, AgentTriggerSummaryListResponseSchema as s, custom as si, StartKeystrokeConnectionInputSchema as sn, deriveCustomAppDisplay as sr, ListAgentMemoryFilesResponseSchema as st, AcceptOrganizationInvitationResponseSchema as t, _enum as ti, ROUTE_MANIFEST_REL_PATH as tn, WorkspaceTriggerFileSchema as tr, HistoryRunListQuerySchema as tt, CatalogActionDetailResponseSchema as u, lazy as ui, StartMcpOAuthConnectionResultSchema as un, listenPortFromPublicUrl as ur, ListAppsResponseSchema as ut, CompleteProjectArtifactResponseSchema as v, string as vi, TriggerInvokeInputsSchema as vn, slugifyAppName as vr, ListOrganizationsResponseSchema as vt, CreateCredentialInstanceBodySchema as w, NEVER as wi, UpdateCredentialInstanceBodySchema as wn, CredentialConsumerListQuerySchema as wr, ListTemplatesResponseSchema as wt, ConnectProvidersResponseSchema as x, url as xi, TriggerRunDetailResponseSchema as xn, CredentialAssignmentListQuerySchema as xr, ListProjectMembersResponseSchema as xt, ConnectAuthorizeUrlResponseSchema as y, union as yi, TriggerInvokeResponseSchema as yn, zodToStoredJsonSchema as yr, ListProjectDeploymentsResponseSchema as yt, DownloadActiveProjectArtifactResponseSchema as z, UserPreferencesPatchSchema as zn, PublicModelsResponseSchema as zr, PresignUserAvatarRequestSchema as zt };
|
|
8828
8842
|
|
|
8829
|
-
//# sourceMappingURL=dist-
|
|
8843
|
+
//# sourceMappingURL=dist-E6dh6qXe.mjs.map
|