@keystrokehq/cli 0.1.185 → 0.1.187
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/README.md +5 -0
- package/dist/{dist-BHaxjUlc.mjs → dist-CyMQwFFx.mjs} +46 -8
- package/dist/{dist-BHaxjUlc.mjs.map → dist-CyMQwFFx.mjs.map} +1 -1
- package/dist/dist-DEw9vdeV.mjs +3 -0
- package/dist/dist-DZFPwSgI.mjs +4 -0
- package/dist/{dist-YUSum_U6.mjs → dist-PQok0SUy.mjs} +4 -4
- package/dist/{dist-YUSum_U6.mjs.map → dist-PQok0SUy.mjs.map} +1 -1
- package/dist/{dist-aGL2P8SI.mjs → dist-vV8clzp6.mjs} +390 -21
- package/dist/{dist-aGL2P8SI.mjs.map → dist-vV8clzp6.mjs.map} +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{maybe-auto-update-BWS4e3Fw.mjs → maybe-auto-update-BgKZIuYh.mjs} +2 -2
- package/dist/{maybe-auto-update-BWS4e3Fw.mjs.map → maybe-auto-update-BgKZIuYh.mjs.map} +1 -1
- package/dist/{program-DJPdWAMn.mjs → program-Ds22KMCR.mjs} +126 -27
- package/dist/program-Ds22KMCR.mjs.map +1 -0
- package/dist/{run-package-manager-update-u6qgm6mh.mjs → run-package-manager-update-1K9vGyE2.mjs} +2 -2
- package/dist/{run-package-manager-update-u6qgm6mh.mjs.map → run-package-manager-update-1K9vGyE2.mjs.map} +1 -1
- package/dist/skills-bundle/_AGENTS.md +2 -0
- package/package.json +2 -2
- package/dist/dist-CHjhMHpI.mjs +0 -3
- package/dist/dist-Cj1_yP5d.mjs +0 -4
- package/dist/program-DJPdWAMn.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -40,7 +40,7 @@ process.emitWarning = ((warning, ...args) => {
|
|
|
40
40
|
if ((type === "ExperimentalWarning" || /ExperimentalWarning/i.test(type)) && /SQLite/i.test(message)) return;
|
|
41
41
|
return Reflect.apply(originalEmitWarning, process, [warning, ...args]);
|
|
42
42
|
});
|
|
43
|
-
const { runCli } = await import("./program-
|
|
43
|
+
const { runCli } = await import("./program-Ds22KMCR.mjs");
|
|
44
44
|
await runCli(process.argv);
|
|
45
45
|
//#endregion
|
|
46
46
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { S as resolveCliRoot, a as formatReleaseAgeBlockMessage, b as shouldUpdateCliVersion, i as readPnpmMinimumReleaseAgeMinutes, o as isReleaseAgeBlock, r as computeReleaseAgeRetryAfter, s as detectCliInstall, t as runPackageManagerUpdate, v as fetchLatestCliRelease, w as getCliConfigDir, x as readCliVersion, y as resolveCliDistTag } from "./run-package-manager-update-
|
|
2
|
+
import { S as resolveCliRoot, a as formatReleaseAgeBlockMessage, b as shouldUpdateCliVersion, i as readPnpmMinimumReleaseAgeMinutes, o as isReleaseAgeBlock, r as computeReleaseAgeRetryAfter, s as detectCliInstall, t as runPackageManagerUpdate, v as fetchLatestCliRelease, w as getCliConfigDir, x as readCliVersion, y as resolveCliDistTag } from "./run-package-manager-update-1K9vGyE2.mjs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
@@ -141,4 +141,4 @@ async function maybeAutoUpdate(argv) {
|
|
|
141
141
|
//#endregion
|
|
142
142
|
export { maybeAutoUpdate };
|
|
143
143
|
|
|
144
|
-
//# sourceMappingURL=maybe-auto-update-
|
|
144
|
+
//# sourceMappingURL=maybe-auto-update-BgKZIuYh.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybe-auto-update-BWS4e3Fw.mjs","names":[],"sources":["../src/update/update-block-cache.ts","../src/update/maybe-auto-update.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nimport { getCliConfigDir } from \"../config\";\n\nexport type UpdateBlockCache = {\n registryLatest?: string;\n blockedUntil?: string;\n lastFailedAt?: string;\n};\n\nconst CACHE_FILE = \"update-check.json\";\nconst GENERIC_RETRY_MS = 24 * 60 * 60 * 1000;\n\nfunction cachePath(configDir = getCliConfigDir()): string {\n return join(configDir, CACHE_FILE);\n}\n\nexport function readUpdateBlockCache(configDir?: string): UpdateBlockCache {\n const path = cachePath(configDir);\n if (!existsSync(path)) {\n return {};\n }\n\n try {\n return JSON.parse(readFileSync(path, \"utf8\")) as UpdateBlockCache;\n } catch {\n return {};\n }\n}\n\nexport function writeUpdateBlockCache(cache: UpdateBlockCache, configDir?: string): void {\n const dir = configDir ?? getCliConfigDir();\n mkdirSync(dir, { recursive: true });\n writeFileSync(cachePath(dir), `${JSON.stringify(cache, null, 2)}\\n`, \"utf8\");\n}\n\nexport function shouldSkipCachedUpdate(\n cache: UpdateBlockCache,\n registryLatest: string,\n now = Date.now(),\n): boolean {\n if (cache.registryLatest !== registryLatest) {\n return false;\n }\n\n if (cache.blockedUntil) {\n const blockedUntilMs = Date.parse(cache.blockedUntil);\n if (Number.isFinite(blockedUntilMs) && blockedUntilMs > now) {\n return true;\n }\n }\n\n if (cache.lastFailedAt) {\n const lastFailedMs = Date.parse(cache.lastFailedAt);\n if (Number.isFinite(lastFailedMs) && now - lastFailedMs < GENERIC_RETRY_MS) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function clearUpdateBlockCache(configDir?: string): void {\n writeUpdateBlockCache({}, configDir);\n}\n\nexport function recordReleaseAgeBlock(options: {\n registryLatest: string;\n retryAfter?: Date;\n configDir?: string;\n}): void {\n writeUpdateBlockCache(\n {\n registryLatest: options.registryLatest,\n blockedUntil: options.retryAfter?.toISOString(),\n },\n options.configDir,\n );\n}\n\nexport function recordGenericUpdateFailure(registryLatest: string, configDir?: string): void {\n writeUpdateBlockCache(\n {\n registryLatest,\n lastFailedAt: new Date().toISOString(),\n },\n configDir,\n );\n}\n","import { spawnSync } from \"node:child_process\";\n\nimport { resolveCliRoot } from \"../project/resolve-cli-root\";\nimport { readCliVersion } from \"../version\";\nimport { shouldUpdateCliVersion } from \"./compare-version\";\nimport { detectCliInstall } from \"./detect-cli-install\";\nimport { formatReleaseAgeBlockMessage, isReleaseAgeBlock } from \"./detect-release-age-block\";\nimport { fetchLatestCliRelease } from \"./fetch-latest-version\";\nimport {\n computeReleaseAgeRetryAfter,\n readPnpmMinimumReleaseAgeMinutes,\n} from \"./read-pnpm-release-age-minutes\";\nimport { resolveCliDistTag } from \"./resolve-cli-dist-tag\";\nimport { runPackageManagerUpdate } from \"./run-package-manager-update\";\nimport {\n clearUpdateBlockCache,\n readUpdateBlockCache,\n recordGenericUpdateFailure,\n recordReleaseAgeBlock,\n shouldSkipCachedUpdate,\n} from \"./update-block-cache\";\n\nfunction isTopLevelUpdateCommand(args: string[]): boolean {\n const valueFlags = new Set([\"--project\", \"--organization\", \"--dir\"]);\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === undefined) {\n return false;\n }\n\n if (arg === \"--\") {\n return args[i + 1] === \"update\";\n }\n\n if (arg.startsWith(\"-\")) {\n if (\n arg === \"-h\" ||\n arg === \"--help\" ||\n arg === \"-V\" ||\n arg === \"--version\" ||\n arg.startsWith(\"-V\")\n ) {\n continue;\n }\n\n if (arg.includes(\"=\")) {\n continue;\n }\n\n if (valueFlags.has(arg) || arg.startsWith(\"--\")) {\n i++;\n }\n continue;\n }\n\n return arg === \"update\";\n }\n\n return false;\n}\n\nfunction shouldSkipAutoUpdate(argv: string[]): boolean {\n if (\n process.env.KEYSTROKE_DEV ||\n process.env.KEYSTROKE_SKIP_UPDATE ||\n process.env.KEYSTROKE_UPDATING\n ) {\n return true;\n }\n\n if (process.env.CI === \"true\" || process.env.CI === \"1\") {\n return true;\n }\n\n const args = argv.slice(2);\n if (args.length === 0) {\n return false;\n }\n\n // Explicit `keystroke update` owns CLI + project package updates.\n if (isTopLevelUpdateCommand(args)) {\n return true;\n }\n\n return args.every(\n (arg) =>\n arg === \"-V\" ||\n arg === \"--version\" ||\n arg === \"-h\" ||\n arg === \"--help\" ||\n arg.startsWith(\"-V\"),\n );\n}\n\nfunction reexecCli(argv: string[]): never {\n const result = spawnSync(process.execPath, argv.slice(1), {\n stdio: \"inherit\",\n env: {\n ...process.env,\n KEYSTROKE_UPDATING: \"1\",\n },\n });\n\n process.exit(result.status ?? 1);\n}\n\nfunction releaseAgeRetryAfter(\n install: NonNullable<ReturnType<typeof detectCliInstall>>,\n publishedAt: string | undefined,\n): Date | undefined {\n if (install.packageManager !== \"pnpm\") {\n return undefined;\n }\n\n return computeReleaseAgeRetryAfter(publishedAt, readPnpmMinimumReleaseAgeMinutes());\n}\n\nexport async function maybeAutoUpdate(argv: string[]): Promise<void> {\n if (shouldSkipAutoUpdate(argv)) {\n return;\n }\n\n const install = detectCliInstall(resolveCliRoot(import.meta.url));\n if (!install || (install.kind === \"local\" && !install.projectRoot)) {\n return;\n }\n\n const currentVersion = readCliVersion();\n const distTag = resolveCliDistTag();\n const release = await fetchLatestCliRelease(distTag);\n\n if (\n !release ||\n !shouldUpdateCliVersion({\n registryVersion: release.version,\n currentVersion,\n distTag,\n })\n ) {\n clearUpdateBlockCache();\n return;\n }\n\n const cache = readUpdateBlockCache();\n if (shouldSkipCachedUpdate(cache, release.version)) {\n return;\n }\n\n process.stderr.write(\n `Updating @keystrokehq/cli ${currentVersion} -> ${release.version} (@${distTag}) via ${install.packageManager}...\\n`,\n );\n\n const result = runPackageManagerUpdate(install, distTag);\n const installedVersion = readCliVersion();\n\n if (installedVersion.trim() !== currentVersion.trim()) {\n clearUpdateBlockCache();\n process.stderr.write(`Updated @keystrokehq/cli ${currentVersion} -> ${installedVersion}.\\n`);\n reexecCli(argv);\n }\n\n if (result.ok) {\n clearUpdateBlockCache();\n return;\n }\n\n if (isReleaseAgeBlock(result.output)) {\n const retryAfter = releaseAgeRetryAfter(install, release.publishedAt);\n recordReleaseAgeBlock({\n registryLatest: release.version,\n retryAfter,\n });\n process.stderr.write(\n `${formatReleaseAgeBlockMessage({\n currentVersion,\n availableVersion: release.version,\n retryAfter,\n })}\\n`,\n );\n return;\n }\n\n recordGenericUpdateFailure(release.version);\n process.stderr.write(\"Auto-update failed; continuing with the current version.\\n\");\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maybe-auto-update-BgKZIuYh.mjs","names":[],"sources":["../src/update/update-block-cache.ts","../src/update/maybe-auto-update.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nimport { getCliConfigDir } from \"../config\";\n\nexport type UpdateBlockCache = {\n registryLatest?: string;\n blockedUntil?: string;\n lastFailedAt?: string;\n};\n\nconst CACHE_FILE = \"update-check.json\";\nconst GENERIC_RETRY_MS = 24 * 60 * 60 * 1000;\n\nfunction cachePath(configDir = getCliConfigDir()): string {\n return join(configDir, CACHE_FILE);\n}\n\nexport function readUpdateBlockCache(configDir?: string): UpdateBlockCache {\n const path = cachePath(configDir);\n if (!existsSync(path)) {\n return {};\n }\n\n try {\n return JSON.parse(readFileSync(path, \"utf8\")) as UpdateBlockCache;\n } catch {\n return {};\n }\n}\n\nexport function writeUpdateBlockCache(cache: UpdateBlockCache, configDir?: string): void {\n const dir = configDir ?? getCliConfigDir();\n mkdirSync(dir, { recursive: true });\n writeFileSync(cachePath(dir), `${JSON.stringify(cache, null, 2)}\\n`, \"utf8\");\n}\n\nexport function shouldSkipCachedUpdate(\n cache: UpdateBlockCache,\n registryLatest: string,\n now = Date.now(),\n): boolean {\n if (cache.registryLatest !== registryLatest) {\n return false;\n }\n\n if (cache.blockedUntil) {\n const blockedUntilMs = Date.parse(cache.blockedUntil);\n if (Number.isFinite(blockedUntilMs) && blockedUntilMs > now) {\n return true;\n }\n }\n\n if (cache.lastFailedAt) {\n const lastFailedMs = Date.parse(cache.lastFailedAt);\n if (Number.isFinite(lastFailedMs) && now - lastFailedMs < GENERIC_RETRY_MS) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function clearUpdateBlockCache(configDir?: string): void {\n writeUpdateBlockCache({}, configDir);\n}\n\nexport function recordReleaseAgeBlock(options: {\n registryLatest: string;\n retryAfter?: Date;\n configDir?: string;\n}): void {\n writeUpdateBlockCache(\n {\n registryLatest: options.registryLatest,\n blockedUntil: options.retryAfter?.toISOString(),\n },\n options.configDir,\n );\n}\n\nexport function recordGenericUpdateFailure(registryLatest: string, configDir?: string): void {\n writeUpdateBlockCache(\n {\n registryLatest,\n lastFailedAt: new Date().toISOString(),\n },\n configDir,\n );\n}\n","import { spawnSync } from \"node:child_process\";\n\nimport { resolveCliRoot } from \"../project/resolve-cli-root\";\nimport { readCliVersion } from \"../version\";\nimport { shouldUpdateCliVersion } from \"./compare-version\";\nimport { detectCliInstall } from \"./detect-cli-install\";\nimport { formatReleaseAgeBlockMessage, isReleaseAgeBlock } from \"./detect-release-age-block\";\nimport { fetchLatestCliRelease } from \"./fetch-latest-version\";\nimport {\n computeReleaseAgeRetryAfter,\n readPnpmMinimumReleaseAgeMinutes,\n} from \"./read-pnpm-release-age-minutes\";\nimport { resolveCliDistTag } from \"./resolve-cli-dist-tag\";\nimport { runPackageManagerUpdate } from \"./run-package-manager-update\";\nimport {\n clearUpdateBlockCache,\n readUpdateBlockCache,\n recordGenericUpdateFailure,\n recordReleaseAgeBlock,\n shouldSkipCachedUpdate,\n} from \"./update-block-cache\";\n\nfunction isTopLevelUpdateCommand(args: string[]): boolean {\n const valueFlags = new Set([\"--project\", \"--organization\", \"--dir\"]);\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === undefined) {\n return false;\n }\n\n if (arg === \"--\") {\n return args[i + 1] === \"update\";\n }\n\n if (arg.startsWith(\"-\")) {\n if (\n arg === \"-h\" ||\n arg === \"--help\" ||\n arg === \"-V\" ||\n arg === \"--version\" ||\n arg.startsWith(\"-V\")\n ) {\n continue;\n }\n\n if (arg.includes(\"=\")) {\n continue;\n }\n\n if (valueFlags.has(arg) || arg.startsWith(\"--\")) {\n i++;\n }\n continue;\n }\n\n return arg === \"update\";\n }\n\n return false;\n}\n\nfunction shouldSkipAutoUpdate(argv: string[]): boolean {\n if (\n process.env.KEYSTROKE_DEV ||\n process.env.KEYSTROKE_SKIP_UPDATE ||\n process.env.KEYSTROKE_UPDATING\n ) {\n return true;\n }\n\n if (process.env.CI === \"true\" || process.env.CI === \"1\") {\n return true;\n }\n\n const args = argv.slice(2);\n if (args.length === 0) {\n return false;\n }\n\n // Explicit `keystroke update` owns CLI + project package updates.\n if (isTopLevelUpdateCommand(args)) {\n return true;\n }\n\n return args.every(\n (arg) =>\n arg === \"-V\" ||\n arg === \"--version\" ||\n arg === \"-h\" ||\n arg === \"--help\" ||\n arg.startsWith(\"-V\"),\n );\n}\n\nfunction reexecCli(argv: string[]): never {\n const result = spawnSync(process.execPath, argv.slice(1), {\n stdio: \"inherit\",\n env: {\n ...process.env,\n KEYSTROKE_UPDATING: \"1\",\n },\n });\n\n process.exit(result.status ?? 1);\n}\n\nfunction releaseAgeRetryAfter(\n install: NonNullable<ReturnType<typeof detectCliInstall>>,\n publishedAt: string | undefined,\n): Date | undefined {\n if (install.packageManager !== \"pnpm\") {\n return undefined;\n }\n\n return computeReleaseAgeRetryAfter(publishedAt, readPnpmMinimumReleaseAgeMinutes());\n}\n\nexport async function maybeAutoUpdate(argv: string[]): Promise<void> {\n if (shouldSkipAutoUpdate(argv)) {\n return;\n }\n\n const install = detectCliInstall(resolveCliRoot(import.meta.url));\n if (!install || (install.kind === \"local\" && !install.projectRoot)) {\n return;\n }\n\n const currentVersion = readCliVersion();\n const distTag = resolveCliDistTag();\n const release = await fetchLatestCliRelease(distTag);\n\n if (\n !release ||\n !shouldUpdateCliVersion({\n registryVersion: release.version,\n currentVersion,\n distTag,\n })\n ) {\n clearUpdateBlockCache();\n return;\n }\n\n const cache = readUpdateBlockCache();\n if (shouldSkipCachedUpdate(cache, release.version)) {\n return;\n }\n\n process.stderr.write(\n `Updating @keystrokehq/cli ${currentVersion} -> ${release.version} (@${distTag}) via ${install.packageManager}...\\n`,\n );\n\n const result = runPackageManagerUpdate(install, distTag);\n const installedVersion = readCliVersion();\n\n if (installedVersion.trim() !== currentVersion.trim()) {\n clearUpdateBlockCache();\n process.stderr.write(`Updated @keystrokehq/cli ${currentVersion} -> ${installedVersion}.\\n`);\n reexecCli(argv);\n }\n\n if (result.ok) {\n clearUpdateBlockCache();\n return;\n }\n\n if (isReleaseAgeBlock(result.output)) {\n const retryAfter = releaseAgeRetryAfter(install, release.publishedAt);\n recordReleaseAgeBlock({\n registryLatest: release.version,\n retryAfter,\n });\n process.stderr.write(\n `${formatReleaseAgeBlockMessage({\n currentVersion,\n availableVersion: release.version,\n retryAfter,\n })}\\n`,\n );\n return;\n }\n\n recordGenericUpdateFailure(release.version);\n process.stderr.write(\"Auto-update failed; continuing with the current version.\\n\");\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { A as resolvePlatformUrlForWebUrl, C as createCliConfig, D as getWebUrl, E as getPlatformUrl, M as ExpectedCliError, N as isExpectedCliError, O as DEFAULT_PLATFORM_URL, S as resolveCliRoot, T as getCredentialStorage, _ as isLocalSdkSpec, a as formatReleaseAgeBlockMessage, b as shouldUpdateCliVersion, c as detectManagerFromLockfile, d as installDependencies$1, f as installPlaygroundDependencies, g as ensureSdkCurrent, i as readPnpmMinimumReleaseAgeMinutes, j as parseCredentialStorage, l as buildPlaygroundWorkspace, m as resolvePackageManager, n as ensureMinimumReleaseAgeExclude, o as isReleaseAgeBlock, p as resolveGithubPackagesToken, r as computeReleaseAgeRetryAfter, s as detectCliInstall, t as runPackageManagerUpdate, u as detectPackageManager$2, v as fetchLatestCliRelease, w as getCliConfigDir, x as readCliVersion, y as resolveCliDistTag } from "./run-package-manager-update-
|
|
3
|
-
import { $ as CreateOrganizationResponseSchema, $i as parseAppSlug, $n as PresignProjectSourceResponseSchema, $r as TriggerRunListResponseSchema, $t as ListBrainDocumentsResponseSchema, A as ChannelConnectionListResponseSchema, Aa as BillingSummaryResponseSchema, Ai as WorkflowRunInputsPutBodySchema, An as PROJECT_DRAFT_COMMIT_REQUEST_TIMEOUT_MS, Ar as SkillSummaryListResponseSchema, At as GetAppCatalogEntryResponseSchema, B as CreateApiKeyRequestSchema, Bi as WorkspaceTriggerRunListResponseSchema, Bn as PlatformAgentPromptInputSchema, Br as StartMcpOAuthConnectionInputSchema, Bt as HistoryRunListQuerySchema, C as CancelManagedDeployRequestSchema, Ca as PresignChatAttachmentRequestSchema, Ci as WorkflowCanvasCredentialBindingsSchema, Cn as ManagedServiceCredentialSchema, Cr as RecentResourceListResponseSchema, Ct as DuplicateCredentialsResponseSchema, D as CatalogAppDetailResponseSchema, Da as BillingActivityResponseSchema, Di as WorkflowFormUpsertBodySchema, Dn as OrganizationSidebarBrandingPatchSchema, Dr as SLACK_PERSONAL_APP_SLUG, Dt as FinalizeCustomAppLogoResponseSchema, E as CatalogActionsPageResponseSchema, Ea as AutoTopupSummarySchema, Ei as WorkflowFormResponseSchema, En as OpenApiDiscoverResponseSchema, Et as FinalizeCustomAppLogoRequestSchema, F as CompleteProjectArtifactRequestSchema, Fa as CreateCreditsCheckoutRequestSchema, Fi as WorkflowSummaryListResponseSchema, Fr as SlackAppManifestResponseSchema, Ft as HealthResponseSchema, G as CreateCredentialInstanceBodySchema, Gi as detectProjectPackageManagerFromSnapshot, Gn as PrepareBrainUploadsResponseSchema, Gr as SubmitMarketingContactRequestSchema, Gt as InviteProjectMembersResponseSchema, H as CreateBrainFilterRequestSchema, Hi as buildAgentSlackDeeplink, Hn as PlatformAgentSessionDetailResponseSchema, Hr as StartOAuthConnectionInputSchema, Ht as InviteOrganizationMembersRequestSchema, I as CompleteProjectArtifactResponseSchema, Ia as CreateSubscriptionCheckoutRequestSchema, Ii as WorkspaceTriggerDetailSchema, Ir as SlackMembershipChannelBodySchema, It as HeartbeatManagedDeployRequestSchema, J as CreateCustomAppRequestSchema, Jn as PresignCustomAppLogoRequestSchema, Jr as TriggerDetailResponseSchema, Jt as ListApiKeysResponseSchema, K as CreateCredentialsRequestSchema, Ki as gitPorcelainLineTouchesManagedDraftPublishPath, Kn as PrepareManagedDeployRequestSchema, Kr as SubmitTeamRequestRequestSchema, Kt as ListAgentMemoryFilesResponseSchema, L as ConnectAuthorizeUrlResponseSchema, La as UpdateAutoTopupRequestSchema, Li as WorkspaceTriggerFileSchema, Lr as SlugAvailabilityResponseSchema, Lt as HeartbeatManagedDeployResponseSchema, M as ChannelDirectoryListResponseSchema, Ma as ConfirmCheckoutRequestSchema, Mi as WorkflowRunListResponseSchema, Mr as SlackAppInstallStartResponseSchema, Mt as GetCustomAppResponseSchema, N as CompleteManagedDeployArtifactRequestSchema, Na as ConfirmCheckoutResponseSchema, Ni as WorkflowRunResponseSchema, Nn as PROJECT_PULL_STATE_RELATIVE_PATH, Nr as SlackAppListResponseSchema, Nt as GetTemplateResponseSchema, O as CatalogAppsPageResponseSchema, Oa as BillingInvoiceUrlResponseSchema, Oi as WorkflowRunDetailResponseSchema, On as OrganizationSidebarBrandingSchema, Ot as FormFieldConfigSchema, P as CompleteManagedDeployArtifactResponseSchema, Pa as CreateBillingPortalRequestSchema, Pi as WorkflowSummaryDetailResponseSchema, Pn as PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS, Pr as SlackAppManifestRequestSchema, Pt as GraphqlDiscoverResponseSchema, Q as CreateOrganizationRequestSchema, Qn as PresignProjectSourceRequestSchema, Qr as TriggerRunDetailResponseSchema, Qt as ListBrainDocumentsQuerySchema, R as ConnectManagedServiceCredentialRequestSchema, Ri as WorkspaceTriggerListResponseSchema, Rr as StartKeystrokeConnectionInputSchema, Rt as HistoryRunCancelResponseSchema, S as BrainSlugAvailabilityResponseSchema, Sa as CLIENT_CHANNEL_HEADER, Si as UserPreferencesSchema, Sn as ManagedDeployResourceKeySchema, Sr as RebuildBrainResponseSchema, St as DuplicateCredentialRequestSchema, T as CatalogActionDetailResponseSchema, Ti as WorkflowCanvasSchema, Tn as McpDiscoverResponseSchema, Tr as RenewManagedDeployUploadResponseSchema, Tt as FinalizeBrainUploadsResponseSchema, U as CreateBrainGrantRequestSchema, Ui as buildConnectDeeplink, Un as PlatformAgentSessionListResponseSchema, Ur as StartOAuthConnectionResultSchema, Ut as InviteOrganizationMembersResponseSchema, V as CreateApiKeyResponseSchema, Vi as WorkspaceWorkflowOverviewSchema, Vn as PlatformAgentPromptResponseSchema, Vr as StartMcpOAuthConnectionResultSchema, Vt as HistoryRunListResponseSchema, W as CreateBrainRequestSchema, Wi as deriveCustomAppDisplay, Wn as PrepareBrainUploadsRequestSchema, Wr as SubmitAgentFeedbackRequestSchema, Wt as InviteProjectMembersRequestSchema, X as CreateDraftCommitRequestSchema, Xn as PresignOrgLogoRequestSchema, Xr as TriggerInvokeResponseSchema, Xt as ListBrainDocumentWritesQuerySchema, Y as CreateCustomAppResponseSchema, Yi as isIgnoredProjectSourcePath, Yn as PresignCustomAppLogoResponseSchema, Yr as TriggerInvokeInputsSchema, Yt as ListAppsResponseSchema, Z as CreateDraftDiffCommitRequestSchema, Zi as normalizeDocsSearchPaths, Zn as PresignOrgLogoResponseSchema, Zr as TriggerListResponseSchema, Zt as ListBrainDocumentWritesResponseSchema, _ as BrainFilterExpressionSchema, _i as UploadProjectSourceResponseSchema, _n as ListProjectMembersResponseSchema, _r as PublishManagedDeployCandidateResponseSchema, _t as DraftCommitResponseSchema, a as AgentEnvImageSnapshotResponseSchema, aa as resolveDocsMcpUrl, ai as UpdateChannelBindingBodySchema, an as ListCredentialsPageQuerySchema, ar as ProjectGitStatusResponseSchema, at as CreateSlackAppResponseSchema, b as BrainIndexConfigSchema, bi as UserAvatarSchema, bn as ListTemplatesResponseSchema, br as QueuedAgentPromptResponseSchema, bt as DraftRevisionResponseSchema, c as AgentSummaryDetailResponseSchema, ca as AssignCredentialBodySchema, ci as UpdateManagedServiceCredentialRequestSchema, cn as ListEmbeddingModelsResponseSchema, cr as ProjectResponseSchema, ct as CredentialInstanceListResponseSchema, d as AppSlugAvailabilityResponseSchema, da as CredentialAssignmentRecordSchema, di as UpdateOrganizationRequestSchema, dn as ListOrganizationInvitationsResponseSchema, dr as PromptInputSchema, dt as DOCS_SEARCH_TOOL, ea as parseErrorResponse, ei as UpdateBrainDocumentMetadataRequestSchema, en as ListBrainFiltersResponseSchema, er as PresignUserAvatarRequestSchema, et as CreateProjectArtifactRequestSchema, f as BindAgentSlackAppBodySchema, fa as CredentialConsumerListQuerySchema, fi as UpdateProjectMemberRequestSchema, fn as ListOrganizationMembersPageQuerySchema, fr as PromptResponseSchema, ft as DeclineOrganizationInvitationResponseSchema, gi as UploadProjectSourceManifestRequestSchema, gn as ListProjectFilesResponseSchema, gr as PublishManagedDeployCandidateRequestSchema, gt as DownloadActiveProjectSourceResponseSchema, h as BrainDocumentDetailSchema, hi as UpdateProjectSettingsRequestSchema, hn as ListProjectDeploymentsResponseSchema, hr as PublicFormSubmitResponseSchema, ht as DownloadActiveProjectArtifactResponseSchema, i as AddBrainMemberRequestSchema, ia as resolveConnectAppSlug, ii as UpdateBrainResponseSchema, in as ListChannelPlatformsResponseSchema, ir as ProjectGitRemoteResponseSchema, it as CreateSlackAppRequestSchema, j as ChannelConnectionSchema, ja as BillingUsageResponseSchema, ji as WorkflowRunInputsSchema, jn as PROJECT_DRAFT_DIFF_MAX_BYTES, jr as SlackAgentMembershipsResponseSchema, jt as GetCredentialResponseSchema, k as ChannelAccountListResponseSchema, ka as BillingRedirectResponseSchema, ki as WorkflowRunHooksResponseSchema, kn as PNPM_FROZEN_INSTALL_ARGS, kr as SkillSummaryDetailResponseSchema, kt as GatewayAttachmentRecordSchema, l as AgentSummaryListResponseSchema, la as CredentialAssignmentListQuerySchema, li as UpdateOrganizationMemberRequestSchema, ln as ListManagedServiceCredentialsResponseSchema, lr as ProjectSettingsResponseSchema, lt as CredentialInstanceRecordSchema, m as BrainDetailSchema, ma as ExecuteKeystrokeToolRequestSchema, mi as UpdateProjectRequestSchema, mn as ListOrganizationsResponseSchema, mr as PublicFormSubmitBodySchema, mt as DeleteBrainDocumentsResponseSchema, n as ActiveOrganizationResponseSchema, na as parseSlackConnectFlow, ni as UpdateBrainMemberRequestSchema, nn as ListBrainMembersResponseSchema, nt as CreateProjectRequestSchema, o as AgentSessionDetailResponseSchema, oa as slugifyAppName, oi as UpdateCredentialInstanceBodySchema, on as ListCredentialsPageResponseSchema, or as ProjectPullStateSchema, ot as CreateSlackChannelBodySchema, p as BindChannelBodySchema, pa as CredentialConsumerListResponseSchema, pi as UpdateProjectMemberResponseSchema, pn as ListOrganizationMembersPageResponseSchema, pr as PublicFormMetadataSchema, pt as DeleteBrainDocumentsRequestSchema, q as CreateCredentialsResponseSchema, qi as isAcceptableInstallExit, qn as PrepareManagedDeployResponseSchema, qr as TemplateFilesResponseSchema, qt as ListAgentWorkspaceFilesResponseSchema, r as ActiveProjectSourceRevisionSchema, ri as UpdateBrainRequestSchema, rn as ListBrainsResponseSchema, rr as ProjectGitRemoteRequestSchema, rt as CreateProjectResponseSchema, s as AgentSessionListResponseSchema, si as UpdateCredentialRequestSchema, sn as ListDraftFilesResponseSchema, sr as ProjectReachabilityResponseSchema, st as CreateSlackChannelResponseSchema, t as AcceptOrganizationInvitationResponseSchema, ti as UpdateBrainFilterRequestSchema, tn as ListBrainGrantsResponseSchema, tr as PresignUserAvatarResponseSchema, tt as CreateProjectArtifactResponseSchema, u as AgentTriggerSummaryListResponseSchema, ua as CredentialAssignmentListResponseSchema, ui as UpdateOrganizationMemberResponseSchema, un as ListMcpAppToolsResponseSchema, ur as ProjectSlugAvailabilityResponseSchema, ut as DOCS_QUERY_TOOL, v as BrainFilterSummarySchema, vi as UpsertGatewayAttachmentBodySchema, vn as ListProjectMetricsResponseSchema, vr as PublishedFormListResponseSchema, vt as DraftConflictResponseSchema, w as CancelManagedDeployResponseSchema, wa as PresignChatAttachmentResponseSchema, wi as WorkflowCanvasRunSchema, wn as ManagedServiceKindSchema, wr as RenewManagedDeployUploadRequestSchema, wt as FinalizeBrainUploadsRequestSchema, x as BrainMemberSchema, xa as ACTIVE_ORG_HEADER, xi as UserPreferencesPatchSchema, xn as MANAGED_DEPLOY_REQUEST_TIMEOUT_MS, xr as QueuedRunResponseSchema, xt as DraftUpdateEventSchema, y as BrainGrantSchema, yi as UserAvatarPatchSchema, yn as ListProjectsResponseSchema, yr as PublishedFormSchema, yt as DraftFileContentResponseSchema, z as ConnectProvidersResponseSchema, zi as WorkspaceTriggerOverviewSchema, zn as PlatformAgentCancelResponseSchema, zr as StartKeystrokeConnectionResultSchema, zt as HistoryRunDetailResponseSchema } from "./dist-BHaxjUlc.mjs";
|
|
4
|
-
import { $ as withMcpReadClient, Ct as stopBrowserUseSession, Dt as event, Et as configureTelemetry, Ot as flushTelemetry, Q as assertPublicHttpUrl, St as runAgentBrowser, Tt as captureException, Z as PublicHttpUrlError, _t as defaultBrowserProfilesRoot, bt as resolveBrowserContext, et as artifactIndexFromModules, gt as agentBrowserProfilePath, kt as shutdownTelemetry, nt as moduleBlobRefsFromModules, rt as mapInParallelBatches, tt as collectArtifactModules, vt as deleteBrowserUseProfile, wt as alias, xt as resolveBrowserProvider, yt as openCloudBrowserLogin } from "./dist-
|
|
5
|
-
import { a as buildApp, c as computeSafeFilteredDeploy, r as analyzeDeployableClosures, t as ANALYZER_CONTRACT_VERSION } from "./dist-
|
|
2
|
+
import { A as resolvePlatformUrlForWebUrl, C as createCliConfig, D as getWebUrl, E as getPlatformUrl, M as ExpectedCliError, N as isExpectedCliError, O as DEFAULT_PLATFORM_URL, S as resolveCliRoot, T as getCredentialStorage, _ as isLocalSdkSpec, a as formatReleaseAgeBlockMessage, b as shouldUpdateCliVersion, c as detectManagerFromLockfile, d as installDependencies$1, f as installPlaygroundDependencies, g as ensureSdkCurrent, i as readPnpmMinimumReleaseAgeMinutes, j as parseCredentialStorage, l as buildPlaygroundWorkspace, m as resolvePackageManager, n as ensureMinimumReleaseAgeExclude, o as isReleaseAgeBlock, p as resolveGithubPackagesToken, r as computeReleaseAgeRetryAfter, s as detectCliInstall, t as runPackageManagerUpdate, u as detectPackageManager$2, v as fetchLatestCliRelease, w as getCliConfigDir, x as readCliVersion, y as resolveCliDistTag } from "./run-package-manager-update-1K9vGyE2.mjs";
|
|
3
|
+
import { $ as CreateDraftCommitRequestSchema, $n as PresignOrgLogoRequestSchema, $r as TriggerInvokeResponseSchema, $t as ListBrainDocumentWritesQuerySchema, A as CatalogAppDetailResponseSchema, Aa as BillingActivityResponseSchema, Ai as WorkflowFormUpsertBodySchema, An as OrganizationSidebarBrandingPatchSchema, Ar as SLACK_PERSONAL_APP_SLUG, At as FinalizeCustomAppLogoResponseSchema, B as ConnectAuthorizeUrlResponseSchema, Ba as UpdateAutoTopupRequestSchema, Bi as WorkspaceTriggerFileSchema, Br as SlugAvailabilityResponseSchema, Bt as HeartbeatManagedDeployResponseSchema, C as BrainIndexConfigSchema, Ci as UserAvatarSchema, Cn as ListTemplatesResponseSchema, Cr as QueuedAgentPromptResponseSchema, Ct as DraftRevisionResponseSchema, D as CancelManagedDeployResponseSchema, Da as PresignChatAttachmentResponseSchema, Di as WorkflowCanvasRunSchema, Dn as ManagedServiceKindSchema, Dr as RenewManagedDeployUploadRequestSchema, Dt as FinalizeBrainUploadsRequestSchema, E as CancelManagedDeployRequestSchema, Ea as PresignChatAttachmentRequestSchema, Ei as WorkflowCanvasCredentialBindingsSchema, En as ManagedServiceCredentialSchema, Er as RecentResourceListResponseSchema, Et as DuplicateCredentialsResponseSchema, F as ChannelDirectoryListResponseSchema, Fa as ConfirmCheckoutRequestSchema, Fi as WorkflowRunListResponseSchema, Fr as SlackAppInstallStartResponseSchema, Ft as GetCustomAppResponseSchema, G as CreateBrainFilterRequestSchema, Gi as buildAgentSlackDeeplink, Gn as PlatformAgentSessionDetailResponseSchema, Gr as StartOAuthConnectionInputSchema, Gt as InviteOrganizationMembersRequestSchema, H as ConnectProvidersResponseSchema, Hi as WorkspaceTriggerOverviewSchema, Hn as PlatformAgentCancelResponseSchema, Hr as StartKeystrokeConnectionResultSchema, Ht as HistoryRunDetailResponseSchema, I as CompleteManagedDeployArtifactRequestSchema, Ia as ConfirmCheckoutResponseSchema, Ii as WorkflowRunResponseSchema, In as PROJECT_PULL_STATE_RELATIVE_PATH, Ir as SlackAppListResponseSchema, It as GetTemplateResponseSchema, J as CreateCredentialInstanceBodySchema, Ji as detectProjectPackageManagerFromSnapshot, Jn as PrepareBrainUploadsResponseSchema, Jr as SubmitMarketingContactRequestSchema, Jt as InviteProjectMembersResponseSchema, K as CreateBrainGrantRequestSchema, Ki as buildConnectDeeplink, Kn as PlatformAgentSessionListResponseSchema, Kr as StartOAuthConnectionResultSchema, Kt as InviteOrganizationMembersResponseSchema, L as CompleteManagedDeployArtifactResponseSchema, La as CreateBillingPortalRequestSchema, Li as WorkflowSummaryDetailResponseSchema, Ln as PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS, Lr as SlackAppManifestRequestSchema, Lt as GraphqlDiscoverResponseSchema, M as ChannelAccountListResponseSchema, Ma as BillingRedirectResponseSchema, Mi as WorkflowRunHooksResponseSchema, Mn as PNPM_FROZEN_INSTALL_ARGS, Mr as SkillSummaryDetailResponseSchema, Mt as GatewayAttachmentRecordSchema, N as ChannelConnectionListResponseSchema, Na as BillingSummaryResponseSchema, Ni as WorkflowRunInputsPutBodySchema, Nn as PROJECT_DRAFT_COMMIT_REQUEST_TIMEOUT_MS, Nr as SkillSummaryListResponseSchema, Nt as GetAppCatalogEntryResponseSchema, O as CatalogActionDetailResponseSchema, Oi as WorkflowCanvasSchema, On as McpDiscoverResponseSchema, Or as RenewManagedDeployUploadResponseSchema, Ot as FinalizeBrainUploadsResponseSchema, P as ChannelConnectionSchema, Pa as BillingUsageResponseSchema, Pi as WorkflowRunInputsSchema, Pn as PROJECT_DRAFT_DIFF_MAX_BYTES, Pr as SlackAgentMembershipsResponseSchema, Pt as GetCredentialResponseSchema, Q as CreateCustomAppResponseSchema, Qi as isIgnoredProjectSourcePath, Qn as PresignCustomAppLogoResponseSchema, Qr as TriggerInvokeInputsSchema, Qt as ListAppsResponseSchema, R as CompleteProjectArtifactRequestSchema, Ra as CreateCreditsCheckoutRequestSchema, Ri as WorkflowSummaryListResponseSchema, Rr as SlackAppManifestResponseSchema, Rt as HealthResponseSchema, S as BrainGrantSchema, Si as UserAvatarPatchSchema, Sn as ListProjectsResponseSchema, Sr as PublishedFormSchema, St as DraftFileContentResponseSchema, T as BrainSlugAvailabilityResponseSchema, Ta as CLIENT_CHANNEL_HEADER, Ti as UserPreferencesSchema, Tn as ManagedDeployResourceKeySchema, Tr as RebuildBrainResponseSchema, Tt as DuplicateCredentialRequestSchema, U as CreateApiKeyRequestSchema, Ui as WorkspaceTriggerRunListResponseSchema, Un as PlatformAgentPromptInputSchema, Ur as StartMcpOAuthConnectionInputSchema, Ut as HistoryRunListQuerySchema, V as ConnectManagedServiceCredentialRequestSchema, Vi as WorkspaceTriggerListResponseSchema, Vr as StartKeystrokeConnectionInputSchema, Vt as HistoryRunCancelResponseSchema, W as CreateApiKeyResponseSchema, Wi as WorkspaceWorkflowOverviewSchema, Wn as PlatformAgentPromptResponseSchema, Wr as StartMcpOAuthConnectionResultSchema, Wt as HistoryRunListResponseSchema, X as CreateCredentialsResponseSchema, Xi as isAcceptableInstallExit, Xn as PrepareManagedDeployResponseSchema, Xr as TemplateFilesResponseSchema, Xt as ListAgentWorkspaceFilesResponseSchema, Y as CreateCredentialsRequestSchema, Yi as gitPorcelainLineTouchesManagedDraftPublishPath, Yn as PrepareManagedDeployRequestSchema, Yr as SubmitTeamRequestRequestSchema, Yt as ListAgentMemoryFilesResponseSchema, Z as CreateCustomAppRequestSchema, Zn as PresignCustomAppLogoRequestSchema, Zr as TriggerDetailResponseSchema, Zt as ListApiKeysResponseSchema, _ as BrainDetailSchema, _a as ExecuteKeystrokeToolRequestSchema, _i as UpdateProjectRequestSchema, _n as ListOrganizationsResponseSchema, _r as PublicFormSubmitBodySchema, _t as DeleteBrainDocumentsResponseSchema, a as AgentEnvImageSnapshotResponseSchema, aa as parseSlackConnectFlow, ai as UpdateBrainMemberRequestSchema, an as ListBrainMembersResponseSchema, at as CreateProjectRequestSchema, b as BrainFilterExpressionSchema, bi as UploadProjectSourceResponseSchema, bn as ListProjectMembersResponseSchema, br as PublishManagedDeployCandidateResponseSchema, bt as DraftCommitResponseSchema, c as AgentSummaryDetailResponseSchema, ca as resolveDocsMcpUrl, ci as UpdateChannelBindingBodySchema, cn as ListCredentialsPageQuerySchema, cr as ProjectGitStatusResponseSchema, ct as CreateSlackAppResponseSchema, d as AgentTriggerSummarySchema, da as AssignCredentialBodySchema, di as UpdateManagedServiceCredentialRequestSchema, dn as ListEmbeddingModelsResponseSchema, dr as ProjectResponseSchema, dt as CredentialInstanceListResponseSchema, ea as normalizeDocsSearchPaths, ei as TriggerListResponseSchema, en as ListBrainDocumentWritesResponseSchema, er as PresignOrgLogoResponseSchema, et as CreateDraftDiffCommitRequestSchema, f as AgentTriggerUpdateRequestSchema, fa as CredentialAssignmentListQuerySchema, fi as UpdateOrganizationMemberRequestSchema, fn as ListManagedServiceCredentialsResponseSchema, fr as ProjectSettingsResponseSchema, ft as CredentialInstanceRecordSchema, g as BindChannelBodySchema, ga as CredentialConsumerListResponseSchema, gi as UpdateProjectMemberResponseSchema, gn as ListOrganizationMembersPageResponseSchema, gr as PublicFormMetadataSchema, gt as DeleteBrainDocumentsRequestSchema, h as BindAgentSlackAppBodySchema, ha as CredentialConsumerListQuerySchema, hi as UpdateProjectMemberRequestSchema, hn as ListOrganizationMembersPageQuerySchema, hr as PromptResponseSchema, ht as DeclineOrganizationInvitationResponseSchema, i as AddBrainMemberRequestSchema, ii as UpdateBrainFilterRequestSchema, in as ListBrainGrantsResponseSchema, ir as PresignUserAvatarResponseSchema, it as CreateProjectArtifactResponseSchema, j as CatalogAppsPageResponseSchema, ja as BillingInvoiceUrlResponseSchema, ji as WorkflowRunDetailResponseSchema, jn as OrganizationSidebarBrandingSchema, jt as FormFieldConfigSchema, k as CatalogActionsPageResponseSchema, ka as AutoTopupSummarySchema, ki as WorkflowFormResponseSchema, kn as OpenApiDiscoverResponseSchema, kt as FinalizeCustomAppLogoRequestSchema, l as AgentSummaryListResponseSchema, la as slugifyAppName, li as UpdateCredentialInstanceBodySchema, ln as ListCredentialsPageResponseSchema, lr as ProjectPullStateSchema, lt as CreateSlackChannelBodySchema, m as AppSlugAvailabilityResponseSchema, ma as CredentialAssignmentRecordSchema, mi as UpdateOrganizationRequestSchema, mn as ListOrganizationInvitationsResponseSchema, mr as PromptInputSchema, mt as DOCS_SEARCH_TOOL, n as ActiveOrganizationResponseSchema, na as parseAppSlug, ni as TriggerRunListResponseSchema, nn as ListBrainDocumentsResponseSchema, nr as PresignProjectSourceResponseSchema, nt as CreateOrganizationResponseSchema, o as AgentSessionDetailResponseSchema, oi as UpdateBrainRequestSchema, on as ListBrainsResponseSchema, or as ProjectGitRemoteRequestSchema, ot as CreateProjectResponseSchema, p as AgentWorkflowSummaryListResponseSchema, pa as CredentialAssignmentListResponseSchema, pi as UpdateOrganizationMemberResponseSchema, pn as ListMcpAppToolsResponseSchema, pr as ProjectSlugAvailabilityResponseSchema, pt as DOCS_QUERY_TOOL, q as CreateBrainRequestSchema, qi as deriveCustomAppDisplay, qn as PrepareBrainUploadsRequestSchema, qr as SubmitAgentFeedbackRequestSchema, qt as InviteProjectMembersRequestSchema, r as ActiveProjectSourceRevisionSchema, ra as parseErrorResponse, ri as UpdateBrainDocumentMetadataRequestSchema, rn as ListBrainFiltersResponseSchema, rr as PresignUserAvatarRequestSchema, rt as CreateProjectArtifactRequestSchema, s as AgentSessionListResponseSchema, sa as resolveConnectAppSlug, si as UpdateBrainResponseSchema, sn as ListChannelPlatformsResponseSchema, sr as ProjectGitRemoteResponseSchema, st as CreateSlackAppRequestSchema, t as AcceptOrganizationInvitationResponseSchema, ti as TriggerRunDetailResponseSchema, tn as ListBrainDocumentsQuerySchema, tr as PresignProjectSourceRequestSchema, tt as CreateOrganizationRequestSchema, u as AgentTriggerSummaryListResponseSchema, ui as UpdateCredentialRequestSchema, un as ListDraftFilesResponseSchema, ur as ProjectReachabilityResponseSchema, ut as CreateSlackChannelResponseSchema, v as BrainDocumentDetailSchema, vi as UpdateProjectSettingsRequestSchema, vn as ListProjectDeploymentsResponseSchema, vr as PublicFormSubmitResponseSchema, vt as DownloadActiveProjectArtifactResponseSchema, w as BrainMemberSchema, wa as ACTIVE_ORG_HEADER, wi as UserPreferencesPatchSchema, wn as MANAGED_DEPLOY_REQUEST_TIMEOUT_MS, wr as QueuedRunResponseSchema, wt as DraftUpdateEventSchema, x as BrainFilterSummarySchema, xi as UpsertGatewayAttachmentBodySchema, xn as ListProjectMetricsResponseSchema, xr as PublishedFormListResponseSchema, xt as DraftConflictResponseSchema, yi as UploadProjectSourceManifestRequestSchema, yn as ListProjectFilesResponseSchema, yr as PublishManagedDeployCandidateRequestSchema, yt as DownloadActiveProjectSourceResponseSchema, z as CompleteProjectArtifactResponseSchema, za as CreateSubscriptionCheckoutRequestSchema, zi as WorkspaceTriggerDetailSchema, zr as SlackMembershipChannelBodySchema, zt as HeartbeatManagedDeployRequestSchema } from "./dist-CyMQwFFx.mjs";
|
|
4
|
+
import { $ as withMcpReadClient, Ct as stopBrowserUseSession, Dt as event, Et as configureTelemetry, Ot as flushTelemetry, Q as assertPublicHttpUrl, St as runAgentBrowser, Tt as captureException, Z as PublicHttpUrlError, _t as defaultBrowserProfilesRoot, bt as resolveBrowserContext, et as artifactIndexFromModules, gt as agentBrowserProfilePath, kt as shutdownTelemetry, nt as moduleBlobRefsFromModules, rt as mapInParallelBatches, tt as collectArtifactModules, vt as deleteBrowserUseProfile, wt as alias, xt as resolveBrowserProvider, yt as openCloudBrowserLogin } from "./dist-vV8clzp6.mjs";
|
|
5
|
+
import { a as buildApp, c as computeSafeFilteredDeploy, r as analyzeDeployableClosures, t as ANALYZER_CONTRACT_VERSION } from "./dist-PQok0SUy.mjs";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
7
7
|
import { Command } from "commander";
|
|
8
8
|
import { homedir, platform, release, tmpdir } from "node:os";
|
|
@@ -4291,15 +4291,22 @@ function createProjectDraftResource(http, streamAuth) {
|
|
|
4291
4291
|
}
|
|
4292
4292
|
};
|
|
4293
4293
|
}
|
|
4294
|
-
/** Terminal auth failure —
|
|
4295
|
-
var
|
|
4294
|
+
/** Terminal auth failure — resumable streams must not reconnect. */
|
|
4295
|
+
var ResumableUiMessageStreamAuthError = class extends Error {
|
|
4296
4296
|
status;
|
|
4297
4297
|
constructor(status, message) {
|
|
4298
4298
|
super(message);
|
|
4299
|
-
this.name = "
|
|
4299
|
+
this.name = "ResumableUiMessageStreamAuthError";
|
|
4300
4300
|
this.status = status;
|
|
4301
4301
|
}
|
|
4302
4302
|
};
|
|
4303
|
+
/** Backward-compatible platform-specific error name for public SDK consumers. */
|
|
4304
|
+
var PlatformAgentStreamAuthError = class extends ResumableUiMessageStreamAuthError {
|
|
4305
|
+
constructor(status, message) {
|
|
4306
|
+
super(status, message);
|
|
4307
|
+
this.name = "PlatformAgentStreamAuthError";
|
|
4308
|
+
}
|
|
4309
|
+
};
|
|
4303
4310
|
function normalizeBase(baseUrl) {
|
|
4304
4311
|
if (!baseUrl) return "";
|
|
4305
4312
|
return baseUrl.replace(/\/+$/, "");
|
|
@@ -4346,10 +4353,6 @@ async function authHeaders(accept, options) {
|
|
|
4346
4353
|
if (orgId) headers[ACTIVE_ORG_HEADER] = orgId;
|
|
4347
4354
|
return headers;
|
|
4348
4355
|
}
|
|
4349
|
-
function resolveStreamUrl(options, startIndex) {
|
|
4350
|
-
if (options.runId) return platformAgentRunStreamUrl(options.baseUrl, options.runId, options.sessionId, startIndex);
|
|
4351
|
-
return platformAgentSessionStreamUrl(options.baseUrl, options.sessionId, startIndex);
|
|
4352
|
-
}
|
|
4353
4356
|
/**
|
|
4354
4357
|
* Read one SSE response body, enqueue UIMessage chunks, and advance `nextIndex`
|
|
4355
4358
|
* for each delivered data event (so reconnects resume without duplicates).
|
|
@@ -4410,13 +4413,9 @@ async function readSseBody(options) {
|
|
|
4410
4413
|
};
|
|
4411
4414
|
}
|
|
4412
4415
|
/**
|
|
4413
|
-
* Open
|
|
4414
|
-
*
|
|
4415
|
-
* Reconnects after clean EOF and transient failures with bounded exponential
|
|
4416
|
-
* backoff, resuming from the last delivered event index. Stops on `[DONE]`,
|
|
4417
|
-
* idle `204`, abort, or terminal auth errors.
|
|
4416
|
+
* Open an indexed UIMessage SSE stream with transient reconnect and backpressure.
|
|
4418
4417
|
*/
|
|
4419
|
-
function
|
|
4418
|
+
function openResumableUiMessageStream(options) {
|
|
4420
4419
|
const fetchImpl = options.fetch ?? globalThis.fetch;
|
|
4421
4420
|
const delay = options.delay ?? defaultDelay;
|
|
4422
4421
|
const initialBackoffMs = options.initialBackoffMs ?? 500;
|
|
@@ -4462,7 +4461,7 @@ function openPlatformAgentUiMessageStream(options) {
|
|
|
4462
4461
|
(async () => {
|
|
4463
4462
|
try {
|
|
4464
4463
|
while (!stopped && !streamAbort.signal.aborted) {
|
|
4465
|
-
const url =
|
|
4464
|
+
const url = options.resolveUrl(nextIndex);
|
|
4466
4465
|
try {
|
|
4467
4466
|
const response = await fetchImpl(url, {
|
|
4468
4467
|
method: "GET",
|
|
@@ -4475,11 +4474,13 @@ function openPlatformAgentUiMessageStream(options) {
|
|
|
4475
4474
|
controller.close();
|
|
4476
4475
|
return;
|
|
4477
4476
|
}
|
|
4478
|
-
if (response.status === 401 || response.status === 403)
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
if (
|
|
4477
|
+
if (response.status === 401 || response.status === 403) {
|
|
4478
|
+
const message = await response.text() || `UI message stream unauthorized (${response.status})`;
|
|
4479
|
+
throw options.createAuthError?.(response.status, message) ?? new ResumableUiMessageStreamAuthError(response.status, message);
|
|
4480
|
+
}
|
|
4481
|
+
if (!response.ok) throw new Error(await response.text() || `UI message stream failed (${response.status})`);
|
|
4482
|
+
if (!response.body) throw new Error("UI message stream response body is empty");
|
|
4483
|
+
options.onResponse?.(response);
|
|
4483
4484
|
attempt = 0;
|
|
4484
4485
|
const result = await readSseBody({
|
|
4485
4486
|
body: response.body,
|
|
@@ -4498,7 +4499,7 @@ function openPlatformAgentUiMessageStream(options) {
|
|
|
4498
4499
|
if (result.kind === "error") {}
|
|
4499
4500
|
} catch (error) {
|
|
4500
4501
|
if (stopped || streamAbort.signal.aborted || isAbortError(error)) return;
|
|
4501
|
-
if (error instanceof
|
|
4502
|
+
if (error instanceof ResumableUiMessageStreamAuthError) {
|
|
4502
4503
|
controller.error(error);
|
|
4503
4504
|
return;
|
|
4504
4505
|
}
|
|
@@ -4531,6 +4532,24 @@ function openPlatformAgentUiMessageStream(options) {
|
|
|
4531
4532
|
});
|
|
4532
4533
|
}
|
|
4533
4534
|
/**
|
|
4535
|
+
* Open a resumable platform-agent UIMessage SSE stream.
|
|
4536
|
+
*
|
|
4537
|
+
* Reconnects after clean EOF and transient failures with bounded exponential
|
|
4538
|
+
* backoff, resuming from the last delivered event index. Stops on `[DONE]`,
|
|
4539
|
+
* idle `204`, abort, or terminal auth errors.
|
|
4540
|
+
*/
|
|
4541
|
+
function openPlatformAgentUiMessageStream(options) {
|
|
4542
|
+
return openResumableUiMessageStream({
|
|
4543
|
+
...options,
|
|
4544
|
+
resolveUrl: (startIndex) => options.runId ? platformAgentRunStreamUrl(options.baseUrl, options.runId, options.sessionId, startIndex) : platformAgentSessionStreamUrl(options.baseUrl, options.sessionId, startIndex),
|
|
4545
|
+
onResponse: (response) => {
|
|
4546
|
+
const runId = response.headers.get("x-workflow-run-id");
|
|
4547
|
+
if (runId) options.onRunId?.(runId);
|
|
4548
|
+
},
|
|
4549
|
+
createAuthError: (status, message) => new PlatformAgentStreamAuthError(status, message)
|
|
4550
|
+
});
|
|
4551
|
+
}
|
|
4552
|
+
/**
|
|
4534
4553
|
* Callback-style subscribe over {@link openPlatformAgentUiMessageStream}.
|
|
4535
4554
|
* Returns an unsubscribe / abort function.
|
|
4536
4555
|
*/
|
|
@@ -4818,6 +4837,31 @@ function createAgentsResource(http) {
|
|
|
4818
4837
|
throw await toPlatformError(error);
|
|
4819
4838
|
}
|
|
4820
4839
|
},
|
|
4840
|
+
async listWorkflows(projectId, agentSlug) {
|
|
4841
|
+
try {
|
|
4842
|
+
const data = await http.get(`/api/projects/${encodeURIComponent(projectId)}/agents/${encodeURIComponent(agentSlug)}/workflows`).json();
|
|
4843
|
+
return AgentWorkflowSummaryListResponseSchema.parse(data);
|
|
4844
|
+
} catch (error) {
|
|
4845
|
+
throw await toPlatformError(error);
|
|
4846
|
+
}
|
|
4847
|
+
},
|
|
4848
|
+
async getTrigger(projectId, agentSlug, triggerId) {
|
|
4849
|
+
try {
|
|
4850
|
+
const data = await http.get(`api/projects/${encodeURIComponent(projectId)}/agents/${encodeURIComponent(agentSlug)}/triggers/${encodeURIComponent(triggerId)}`).json();
|
|
4851
|
+
return AgentTriggerSummarySchema.parse(data);
|
|
4852
|
+
} catch (error) {
|
|
4853
|
+
throw await toPlatformError(error);
|
|
4854
|
+
}
|
|
4855
|
+
},
|
|
4856
|
+
async updateTrigger(projectId, agentSlug, triggerId, input) {
|
|
4857
|
+
try {
|
|
4858
|
+
const payload = AgentTriggerUpdateRequestSchema.parse(input);
|
|
4859
|
+
const data = await http.patch(`api/projects/${encodeURIComponent(projectId)}/agents/${encodeURIComponent(agentSlug)}/triggers/${encodeURIComponent(triggerId)}`, { json: payload }).json();
|
|
4860
|
+
return AgentTriggerSummarySchema.parse(data);
|
|
4861
|
+
} catch (error) {
|
|
4862
|
+
throw await toPlatformError(error);
|
|
4863
|
+
}
|
|
4864
|
+
},
|
|
4821
4865
|
async snapshotEnvImage(projectId, agentSlug) {
|
|
4822
4866
|
try {
|
|
4823
4867
|
const data = await (await http.post(`api/projects/${encodeURIComponent(projectId)}/agents/${encodeURIComponent(agentSlug)}/env-image`)).json();
|
|
@@ -7999,6 +8043,59 @@ Examples:
|
|
|
7999
8043
|
}));
|
|
8000
8044
|
}
|
|
8001
8045
|
//#endregion
|
|
8046
|
+
//#region src/commands/agents/triggers.ts
|
|
8047
|
+
async function withAgentTriggers(errorTitle, operation) {
|
|
8048
|
+
await runCliCommand(errorTitle, async () => {
|
|
8049
|
+
const config = createCliConfig();
|
|
8050
|
+
await resolveActiveOrganization(config);
|
|
8051
|
+
const result = await operation({
|
|
8052
|
+
projectId: await resolveChannelProjectId(config),
|
|
8053
|
+
client: createCliPlatformClient(config)
|
|
8054
|
+
});
|
|
8055
|
+
if (result !== void 0) process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
8056
|
+
}, void 0, { orgScoped: true });
|
|
8057
|
+
}
|
|
8058
|
+
function registerToggle$1(triggers, command) {
|
|
8059
|
+
triggers.command(command).description(`${command === "enable" ? "Resume" : "Pause"} an agent-owned trigger`).argument("<agent>", "Agent slug").argument("<trigger>", "Trigger id returned by agents triggers list").action((agentSlug, triggerId) => withAgentTriggers(`${command} agent trigger failed`, ({ projectId, client }) => client.agents.updateTrigger(projectId, agentSlug, triggerId, { enabled: command === "enable" })));
|
|
8060
|
+
}
|
|
8061
|
+
function registerAgentTriggersCommand(agent) {
|
|
8062
|
+
const triggers = agent.command("triggers").description("List and manage triggers attached to an agent");
|
|
8063
|
+
triggers.command("list").description("List agent-created ephemeral triggers").argument("<agent>", "Agent slug").option("--all", "Include project-defined triggers").action((agentSlug, options) => withAgentTriggers("List agent triggers failed", async ({ projectId, client }) => {
|
|
8064
|
+
const items = await client.agents.listTriggers(projectId, agentSlug);
|
|
8065
|
+
return options.all ? items : items.filter((item) => item.origin === "ephemeral");
|
|
8066
|
+
}));
|
|
8067
|
+
triggers.command("get").description("Get an agent trigger").argument("<agent>", "Agent slug").argument("<trigger>", "Trigger id returned by agents triggers list").action((agentSlug, triggerId) => withAgentTriggers("Get agent trigger failed", ({ projectId, client }) => client.agents.getTrigger(projectId, agentSlug, triggerId)));
|
|
8068
|
+
triggers.command("update").description("Update an agent-created trigger").argument("<agent>", "Agent slug").argument("<trigger>", "Trigger id returned by agents triggers list").option("--name <name>", "Set the display name").option("--description <description>", "Set the description").option("--prompt <prompt>", "Set the prompt run when the trigger fires").option("--schedule <schedule>", "Set the cron or poll schedule").option("--timezone <timezone>", "Set the schedule IANA timezone").option("--utc", "Clear the timezone and evaluate the schedule in UTC").action((agentSlug, triggerId, options) => withAgentTriggers("Update agent trigger failed", ({ projectId, client }) => {
|
|
8069
|
+
if (options.timezone && options.utc) throw new Error("Pass only one of --timezone or --utc");
|
|
8070
|
+
const input = {
|
|
8071
|
+
...options.name !== void 0 ? { name: options.name } : {},
|
|
8072
|
+
...options.description !== void 0 ? { description: options.description } : {},
|
|
8073
|
+
...options.prompt !== void 0 ? { prompt: options.prompt } : {},
|
|
8074
|
+
...options.schedule !== void 0 ? { schedule: options.schedule } : {},
|
|
8075
|
+
...options.timezone !== void 0 ? { timezone: options.timezone } : options.utc ? { timezone: null } : {}
|
|
8076
|
+
};
|
|
8077
|
+
return client.agents.updateTrigger(projectId, agentSlug, triggerId, input);
|
|
8078
|
+
}));
|
|
8079
|
+
registerToggle$1(triggers, "disable");
|
|
8080
|
+
registerToggle$1(triggers, "enable");
|
|
8081
|
+
triggers.command("delete").description("Delete an agent-created trigger").argument("<agent>", "Agent slug").argument("<trigger>", "Trigger id returned by agents triggers list").option("-y, --yes", "Confirm deletion").action((agentSlug, triggerId, options) => withAgentTriggers("Delete agent trigger failed", async ({ projectId, client }) => {
|
|
8082
|
+
if (!options.yes) throw new Error("Pass --yes to confirm trigger deletion");
|
|
8083
|
+
await client.agents.deleteTrigger(projectId, agentSlug, triggerId);
|
|
8084
|
+
return { deleted: triggerId };
|
|
8085
|
+
}));
|
|
8086
|
+
}
|
|
8087
|
+
//#endregion
|
|
8088
|
+
//#region src/commands/agents/workflows.ts
|
|
8089
|
+
function registerAgentWorkflowsCommand(agent) {
|
|
8090
|
+
agent.command("workflows").description("Inspect project workflows that invoke an agent").command("list").description("List project-defined workflows that invoke an agent").argument("<agent>", "Agent slug").action((agentSlug) => runCliCommand("List agent workflows failed", async () => {
|
|
8091
|
+
const config = createCliConfig();
|
|
8092
|
+
await resolveActiveOrganization(config);
|
|
8093
|
+
const projectId = await resolveChannelProjectId(config);
|
|
8094
|
+
const result = await createCliPlatformClient(config).agents.listWorkflows(projectId, agentSlug);
|
|
8095
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
8096
|
+
}, void 0, { orgScoped: true }));
|
|
8097
|
+
}
|
|
8098
|
+
//#endregion
|
|
8002
8099
|
//#region src/commands/agents/index.ts
|
|
8003
8100
|
function registerAgentsCommand(program) {
|
|
8004
8101
|
const agents = program.command("agents").description("Invoke and inspect agents");
|
|
@@ -8007,6 +8104,8 @@ function registerAgentsCommand(program) {
|
|
|
8007
8104
|
registerAgentSessionsCommand(agents);
|
|
8008
8105
|
registerAgentSnapshotCommand(agents);
|
|
8009
8106
|
registerAgentBrowserCommand(agents);
|
|
8107
|
+
registerAgentTriggersCommand(agents);
|
|
8108
|
+
registerAgentWorkflowsCommand(agents);
|
|
8010
8109
|
}
|
|
8011
8110
|
//#endregion
|
|
8012
8111
|
//#region src/commands/api-key/run-api-key.ts
|
|
@@ -9465,7 +9564,7 @@ function registerBuildCommand(program) {
|
|
|
9465
9564
|
try {
|
|
9466
9565
|
const root = resolveProjectRoot(options.dir);
|
|
9467
9566
|
await ensureSdkCurrent(root);
|
|
9468
|
-
const { buildApp } = await import("./dist-
|
|
9567
|
+
const { buildApp } = await import("./dist-DEw9vdeV.mjs");
|
|
9469
9568
|
await buildApp({ root });
|
|
9470
9569
|
process.stdout.write(`Built ${root}\n`);
|
|
9471
9570
|
} catch (error) {
|
|
@@ -14976,7 +15075,7 @@ function createProgram() {
|
|
|
14976
15075
|
async function runCli(argv) {
|
|
14977
15076
|
initCliTelemetry();
|
|
14978
15077
|
try {
|
|
14979
|
-
const { maybeAutoUpdate } = await import("./maybe-auto-update-
|
|
15078
|
+
const { maybeAutoUpdate } = await import("./maybe-auto-update-BgKZIuYh.mjs");
|
|
14980
15079
|
await maybeAutoUpdate(argv);
|
|
14981
15080
|
await createProgram().parseAsync(argv);
|
|
14982
15081
|
} finally {
|
|
@@ -14986,4 +15085,4 @@ async function runCli(argv) {
|
|
|
14986
15085
|
//#endregion
|
|
14987
15086
|
export { runCli };
|
|
14988
15087
|
|
|
14989
|
-
//# sourceMappingURL=program-
|
|
15088
|
+
//# sourceMappingURL=program-Ds22KMCR.mjs.map
|