@keystrokehq/cli 0.1.10 → 0.1.12

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.
@@ -6160,6 +6160,69 @@ function buildConnectDeeplink(options) {
6160
6160
  const params = new URLSearchParams({ connect: options.appSlug });
6161
6161
  return `${base}/${options.orgSlug}/apps?${params.toString()}`;
6162
6162
  }
6163
+ function resolveConnectAppSlug(slug, apps) {
6164
+ const trimmed = slug.trim();
6165
+ if (!trimmed) throw new Error("App slug is required");
6166
+ try {
6167
+ parseAppSlug(trimmed);
6168
+ } catch {
6169
+ throw new Error(`Invalid app slug: ${slug}`);
6170
+ }
6171
+ const match = apps.find((app) => app.id === trimmed);
6172
+ if (!match) {
6173
+ const available = apps.map((app) => app.id).join(", ") || "(none)";
6174
+ throw new Error(`Unknown app "${trimmed}". Available: ${available}`);
6175
+ }
6176
+ return match;
6177
+ }
6178
+ const LOCKFILE_MANAGERS = [
6179
+ ["pnpm-lock.yaml", "pnpm"],
6180
+ ["yarn.lock", "yarn"],
6181
+ ["bun.lockb", "bun"],
6182
+ ["package-lock.json", "npm"]
6183
+ ];
6184
+ function parsePackageManagerField(raw) {
6185
+ const manager = raw.split("@")[0]?.trim().toLowerCase();
6186
+ if (manager === "npm" || manager === "pnpm" || manager === "yarn" || manager === "bun") return manager;
6187
+ }
6188
+ function detectFromPackageJsonContents(packageJson) {
6189
+ if (!packageJson) return;
6190
+ try {
6191
+ const parsed = JSON.parse(packageJson);
6192
+ if (typeof parsed.packageManager === "string") return parsePackageManagerField(parsed.packageManager);
6193
+ } catch {
6194
+ return;
6195
+ }
6196
+ }
6197
+ function detectFromLockfileNames(paths) {
6198
+ for (const [lockfile, manager] of LOCKFILE_MANAGERS) if (paths.has(lockfile)) return manager;
6199
+ }
6200
+ /**
6201
+ * Infer the package manager from an in-memory set of project files (e.g. a
6202
+ * deploy source snapshot). Pure and browser-safe — no filesystem access, so it
6203
+ * is safe to expose from `@keystrokehq/shared` (bundled by the web app).
6204
+ * Prefers `package.json`'s `packageManager`, then a lockfile; defaults to npm.
6205
+ */
6206
+ function detectProjectPackageManagerFromSnapshot(files) {
6207
+ const paths = new Set(files.map((file) => file.path));
6208
+ const packageJson = files.find((file) => file.path === "package.json")?.contents;
6209
+ const fromField = detectFromPackageJsonContents(packageJson);
6210
+ if (fromField) return fromField;
6211
+ return detectFromLockfileNames(paths) ?? "npm";
6212
+ }
6213
+ /**
6214
+ * Whether a package-manager install exit should be treated as success.
6215
+ *
6216
+ * pnpm 10+ exits non-zero with `ERR_PNPM_IGNORED_BUILDS` when a dependency's
6217
+ * build script is not approved (e.g. native modules like better-sqlite3). The
6218
+ * dependencies are still fully installed — only the optional build script was
6219
+ * skipped — so this is not a real install failure for our purposes.
6220
+ */
6221
+ function isAcceptableInstallExit(manager, exitCode, output) {
6222
+ if (exitCode === 0) return true;
6223
+ if (manager === "pnpm" && output.includes("ERR_PNPM_IGNORED_BUILDS")) return true;
6224
+ return false;
6225
+ }
6163
6226
  /** How a credential instance is stored (`credential_instances.auth_kind`). */
6164
6227
  const CredentialAuthKindSchema = _enum([
6165
6228
  "api_key",
@@ -7604,6 +7667,23 @@ object({
7604
7667
  })),
7605
7668
  generatedAt: isoDateTime
7606
7669
  });
7670
+ /** A single source file returned by the bulk active-source download endpoint. */
7671
+ const DownloadActiveProjectSourceFileSchema = object({
7672
+ path: string().min(1),
7673
+ contents: string()
7674
+ });
7675
+ /** Response for downloading all source files from a project's active deploy. */
7676
+ const DownloadActiveProjectSourceResponseSchema = object({
7677
+ artifactId: string(),
7678
+ files: array(DownloadActiveProjectSourceFileSchema)
7679
+ });
7680
+ /** Relative path written after a local pull or MCP workspace hydration. */
7681
+ const PROJECT_PULL_STATE_RELATIVE_PATH = ".keystroke/pull-state.json";
7682
+ const ProjectPullStateSchema = object({
7683
+ projectId: string(),
7684
+ artifactId: string(),
7685
+ pulledAt: string().datetime()
7686
+ });
7607
7687
  const ListAgentMemoryFilesResponseSchema = object({ files: array(object({
7608
7688
  id: string(),
7609
7689
  path: string().min(1)
@@ -7613,6 +7693,6 @@ const ListAgentWorkspaceFilesResponseSchema = object({ files: array(object({
7613
7693
  path: string().min(1)
7614
7694
  })) });
7615
7695
  //#endregion
7616
- export { HistoryRunDetailResponseSchema as $, object as $n, TriggerDetailResponseSchema as $t, CreateCustomAppRequestSchema as A, credentialInputSchema as An, PresignUserAvatarRequestSchema as At, CredentialConsumerListQuerySchema as B, ZodType as Bn, ROUTE_MANIFEST_REL_PATH as Bt, ConnectAuthorizeUrlResponseSchema as C, WorkflowSummaryListResponseSchema as Cn, OrganizationSidebarBrandingSchema as Ct, CreateCredentialInstanceBodySchema as D, WorkspaceTriggerOverviewSchema as Dn, PresignOrgLogoResponseSchema as Dt, CreateApiKeyResponseSchema as E, WorkspaceTriggerListResponseSchema as En, PresignOrgLogoRequestSchema as Et, CreateProjectRequestSchema as F, parseErrorResponse as Fn, ProjectSlugAvailabilityResponseSchema as Ft, DownloadActiveProjectArtifactResponseSchema as G, array as Gn, StartKeystrokeConnectionInputSchema as Gt, CredentialInstanceListResponseSchema as H, _function as Hn, SkillSummaryDetailResponseSchema as Ht, CreateProjectResponseSchema as I, parseStoredRouteManifest as In, PromptInputSchema as It, GetCredentialResponseSchema as J, discriminatedUnion as Jn, StartMcpOAuthConnectionResultSchema as Jt, ErrorResponseSchema as K, boolean as Kn, StartKeystrokeConnectionResultSchema as Kt, CredentialAssignmentListQuerySchema as L, resolvePublicPlatformOrigin as Ln, PromptResponseSchema as Lt, CreateOrganizationRequestSchema as M, normalizeCredentialList as Mn, ProjectReachabilityResponseSchema as Mt, CreateOrganizationResponseSchema as N, originFromPublicUrl as Nn, ProjectResponseSchema as Nt, CreateCredentialsRequestSchema as O, WorkspaceTriggerRunListResponseSchema as On, PresignProjectSourceRequestSchema as Ot, CreateProjectArtifactResponseSchema as P, parseAppSlug as Pn, ProjectSettingsResponseSchema as Pt, HistoryRunCancelResponseSchema as Q, number$1 as Qn, SubmitTeamRequestRequestSchema as Qt, CredentialAssignmentListResponseSchema as R, slugifyAppName as Rn, QueuedAgentPromptResponseSchema as Rt, CompleteProjectArtifactResponseSchema as S, WorkflowSummaryDetailResponseSchema as Sn, OrganizationSidebarBrandingPatchSchema as St, CreateApiKeyRequestSchema as T, WorkspaceTriggerFileSchema as Tn, PollRunResponseSchema as Tt, CredentialInstanceRecordSchema as U, _null as Un, SkillSummaryListResponseSchema as Ut, CredentialConsumerListResponseSchema as V, _enum as Vn, RecentResourceListResponseSchema as Vt, DeclineOrganizationInvitationResponseSchema as W, any as Wn, SlugAvailabilityResponseSchema as Wt, GraphqlDiscoverResponseSchema as X, literal as Xn, StartOAuthConnectionResultSchema as Xt, GetCustomAppResponseSchema as Y, intersection as Yn, StartOAuthConnectionInputSchema as Yt, HealthResponseSchema as Z, looseObject as Zn, SubmitMarketingContactRequestSchema as Zt, ChannelAccountListResponseSchema as _, UserAvatarSchema as _n, ListProjectMembersResponseSchema as _t, AgentSessionDetailResponseSchema as a, UpdateCredentialRequestSchema as an, unknown as ar, InviteProjectMembersResponseSchema as at, ChannelDirectoryListResponseSchema as b, WorkflowRunDetailResponseSchema as bn, McpDiscoverResponseSchema as bt, AgentSummaryListResponseSchema as c, UpdateOrganizationRequestSchema as cn, toJSONSchema as cr, ListAgentWorkspaceFilesResponseSchema as ct, AssignCredentialBodySchema as d, UpdateProjectRequestSchema as dn, ListCredentialsResponseSchema as dt, TriggerListResponseSchema as en, optional as er, HistoryRunListQuerySchema as et, BindChannelBodySchema as f, UpdateProjectSettingsRequestSchema as fn, ListOrganizationInvitationsResponseSchema as ft, CatalogAppsPageResponseSchema as g, UserAvatarPatchSchema as gn, ListProjectFilesResponseSchema as gt, CatalogAppDetailResponseSchema as h, UpsertGatewayAttachmentBodySchema as hn, ListProjectDeploymentsResponseSchema as ht, AgentSessionChatStateResponseSchema as i, UpdateCredentialInstanceBodySchema as in, union as ir, InviteProjectMembersRequestSchema as it, CreateCustomAppResponseSchema as j, listenPortFromPublicUrl as jn, PresignUserAvatarResponseSchema as jt, CreateCredentialsResponseSchema as k, buildConnectDeeplink as kn, PresignProjectSourceResponseSchema as kt, AgentTriggerSummaryListResponseSchema as l, UpdateProjectMemberRequestSchema as ln, NEVER as lr, ListApiKeysResponseSchema as lt, CatalogActionsPageResponseSchema as m, UploadProjectSourceResponseSchema as mn, ListOrganizationsResponseSchema as mt, AcceptOrganizationInvitationResponseSchema as n, TriggerRunListResponseSchema as nn, record as nr, InviteOrganizationMembersRequestSchema as nt, AgentSessionListResponseSchema as o, UpdateOrganizationMemberRequestSchema as on, url as or, LOCAL_PLATFORM_ORIGIN as ot, CatalogActionDetailResponseSchema as p, UploadProjectSourceManifestRequestSchema as pn, ListOrganizationMembersResponseSchema as pt, GatewayAttachmentRecordSchema as q, custom as qn, StartMcpOAuthConnectionInputSchema as qt, ActiveOrganizationResponseSchema as r, UpdateChannelBindingBodySchema as rn, string as rr, InviteOrganizationMembersResponseSchema as rt, AgentSummaryDetailResponseSchema as s, UpdateOrganizationMemberResponseSchema as sn, datetime as sr, ListAgentMemoryFilesResponseSchema as st, ACTIVE_ORG_HEADER as t, TriggerRunDetailResponseSchema as tn, preprocess as tr, HistoryRunListResponseSchema as tt, AppSlugAvailabilityResponseSchema as u, UpdateProjectMemberResponseSchema as un, ListAppsResponseSchema as ut, ChannelConnectionListResponseSchema as v, UserPreferencesPatchSchema as vn, ListProjectMetricsResponseSchema as vt, ConnectProvidersResponseSchema as w, WorkspaceTriggerDetailSchema as wn, PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS as wt, ChannelPlatformSchema as x, WorkflowRunListResponseSchema as xn, OpenApiDiscoverResponseSchema as xt, ChannelConnectionSchema as y, UserPreferencesSchema as yn, ListProjectsResponseSchema as yt, CredentialAssignmentRecordSchema as z, number as zn, QueuedRunResponseSchema as zt };
7696
+ export { HistoryRunCancelResponseSchema as $, custom as $n, StartOAuthConnectionResultSchema as $t, CreateCustomAppRequestSchema as A, WorkspaceTriggerOverviewSchema as An, PresignProjectSourceRequestSchema as At, CredentialConsumerListQuerySchema as B, parseErrorResponse as Bn, PromptResponseSchema as Bt, ConnectAuthorizeUrlResponseSchema as C, WorkflowRunDetailResponseSchema as Cn, OrganizationSidebarBrandingPatchSchema as Ct, CreateCredentialInstanceBodySchema as D, WorkspaceTriggerDetailSchema as Dn, PollRunResponseSchema as Dt, CreateApiKeyResponseSchema as E, WorkflowSummaryListResponseSchema as En, PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS as Et, CreateProjectRequestSchema as F, isAcceptableInstallExit as Fn, ProjectReachabilityResponseSchema as Ft, DownloadActiveProjectArtifactResponseSchema as G, number as Gn, SkillSummaryDetailResponseSchema as Gt, CredentialInstanceListResponseSchema as H, resolveConnectAppSlug as Hn, QueuedRunResponseSchema as Ht, CreateProjectResponseSchema as I, listenPortFromPublicUrl as In, ProjectResponseSchema as It, GatewayAttachmentRecordSchema as J, _function as Jn, StartKeystrokeConnectionInputSchema as Jt, DownloadActiveProjectSourceResponseSchema as K, ZodType as Kn, SkillSummaryListResponseSchema as Kt, CredentialAssignmentListQuerySchema as L, normalizeCredentialList as Ln, ProjectSettingsResponseSchema as Lt, CreateOrganizationRequestSchema as M, buildConnectDeeplink as Mn, PresignUserAvatarRequestSchema as Mt, CreateOrganizationResponseSchema as N, credentialInputSchema as Nn, PresignUserAvatarResponseSchema as Nt, CreateCredentialsRequestSchema as O, WorkspaceTriggerFileSchema as On, PresignOrgLogoRequestSchema as Ot, CreateProjectArtifactResponseSchema as P, detectProjectPackageManagerFromSnapshot as Pn, ProjectPullStateSchema as Pt, HealthResponseSchema as Q, boolean as Qn, StartOAuthConnectionInputSchema as Qt, CredentialAssignmentListResponseSchema as R, originFromPublicUrl as Rn, ProjectSlugAvailabilityResponseSchema as Rt, CompleteProjectArtifactResponseSchema as S, UserPreferencesSchema as Sn, OpenApiDiscoverResponseSchema as St, CreateApiKeyRequestSchema as T, WorkflowSummaryDetailResponseSchema as Tn, PROJECT_PULL_STATE_RELATIVE_PATH as Tt, CredentialInstanceRecordSchema as U, resolvePublicPlatformOrigin as Un, ROUTE_MANIFEST_REL_PATH as Ut, CredentialConsumerListResponseSchema as V, parseStoredRouteManifest as Vn, QueuedAgentPromptResponseSchema as Vt, DeclineOrganizationInvitationResponseSchema as W, slugifyAppName as Wn, RecentResourceListResponseSchema as Wt, GetCustomAppResponseSchema as X, any as Xn, StartMcpOAuthConnectionInputSchema as Xt, GetCredentialResponseSchema as Y, _null as Yn, StartKeystrokeConnectionResultSchema as Yt, GraphqlDiscoverResponseSchema as Z, array as Zn, StartMcpOAuthConnectionResultSchema as Zt, ChannelAccountListResponseSchema as _, UploadProjectSourceResponseSchema as _n, ListProjectFilesResponseSchema as _t, AgentSessionDetailResponseSchema as a, TriggerRunListResponseSchema as an, object as ar, InviteProjectMembersRequestSchema as at, ChannelDirectoryListResponseSchema as b, UserAvatarSchema as bn, ListProjectsResponseSchema as bt, AgentSummaryListResponseSchema as c, UpdateCredentialRequestSchema as cn, record as cr, ListAgentMemoryFilesResponseSchema as ct, AssignCredentialBodySchema as d, UpdateOrganizationRequestSchema as dn, unknown as dr, ListAppsResponseSchema as dt, SubmitMarketingContactRequestSchema as en, discriminatedUnion as er, HistoryRunDetailResponseSchema as et, BindChannelBodySchema as f, UpdateProjectMemberRequestSchema as fn, url as fr, ListCredentialsResponseSchema as ft, CatalogAppsPageResponseSchema as g, UploadProjectSourceManifestRequestSchema as gn, ListProjectDeploymentsResponseSchema as gt, CatalogAppDetailResponseSchema as h, UpdateProjectSettingsRequestSchema as hn, NEVER as hr, ListOrganizationsResponseSchema as ht, AgentSessionChatStateResponseSchema as i, TriggerRunDetailResponseSchema as in, number$1 as ir, InviteOrganizationMembersResponseSchema as it, CreateCustomAppResponseSchema as j, WorkspaceTriggerRunListResponseSchema as jn, PresignProjectSourceResponseSchema as jt, CreateCredentialsResponseSchema as k, WorkspaceTriggerListResponseSchema as kn, PresignOrgLogoResponseSchema as kt, AgentTriggerSummaryListResponseSchema as l, UpdateOrganizationMemberRequestSchema as ln, string as lr, ListAgentWorkspaceFilesResponseSchema as lt, CatalogActionsPageResponseSchema as m, UpdateProjectRequestSchema as mn, toJSONSchema as mr, ListOrganizationMembersResponseSchema as mt, AcceptOrganizationInvitationResponseSchema as n, TriggerDetailResponseSchema as nn, literal as nr, HistoryRunListResponseSchema as nt, AgentSessionListResponseSchema as o, UpdateChannelBindingBodySchema as on, optional as or, InviteProjectMembersResponseSchema as ot, CatalogActionDetailResponseSchema as p, UpdateProjectMemberResponseSchema as pn, datetime as pr, ListOrganizationInvitationsResponseSchema as pt, ErrorResponseSchema as q, _enum as qn, SlugAvailabilityResponseSchema as qt, ActiveOrganizationResponseSchema as r, TriggerListResponseSchema as rn, looseObject as rr, InviteOrganizationMembersRequestSchema as rt, AgentSummaryDetailResponseSchema as s, UpdateCredentialInstanceBodySchema as sn, preprocess as sr, LOCAL_PLATFORM_ORIGIN as st, ACTIVE_ORG_HEADER as t, SubmitTeamRequestRequestSchema as tn, intersection as tr, HistoryRunListQuerySchema as tt, AppSlugAvailabilityResponseSchema as u, UpdateOrganizationMemberResponseSchema as un, union as ur, ListApiKeysResponseSchema as ut, ChannelConnectionListResponseSchema as v, UpsertGatewayAttachmentBodySchema as vn, ListProjectMembersResponseSchema as vt, ConnectProvidersResponseSchema as w, WorkflowRunListResponseSchema as wn, OrganizationSidebarBrandingSchema as wt, ChannelPlatformSchema as x, UserPreferencesPatchSchema as xn, McpDiscoverResponseSchema as xt, ChannelConnectionSchema as y, UserAvatarPatchSchema as yn, ListProjectMetricsResponseSchema as yt, CredentialAssignmentRecordSchema as z, parseAppSlug as zn, PromptInputSchema as zt };
7617
7697
 
7618
- //# sourceMappingURL=dist-YV-kApfg.mjs.map
7698
+ //# sourceMappingURL=dist-_Yd8KWRF.mjs.map