@keystrokehq/cli 0.0.50 → 0.0.53

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.
Files changed (42) hide show
  1. package/dist/{cat-TSFMZVYS-COyQw_zT.mjs → cat-TSFMZVYS-BfwZOafs.mjs} +2 -2
  2. package/dist/{cat-TSFMZVYS-COyQw_zT.mjs.map → cat-TSFMZVYS-BfwZOafs.mjs.map} +1 -1
  3. package/dist/{cut-OKARJCCV-DAC5beNE.mjs → cut-OKARJCCV-Cm3OStWG.mjs} +2 -2
  4. package/dist/{cut-OKARJCCV-DAC5beNE.mjs.map → cut-OKARJCCV-Cm3OStWG.mjs.map} +1 -1
  5. package/dist/{dist-CnoekdhF-nc3ePIKw.mjs → dist-CXHSlVhd-CTQzOALD.mjs} +620 -52
  6. package/dist/dist-CXHSlVhd-CTQzOALD.mjs.map +1 -0
  7. package/dist/{du-572XNP42-ClFDz1ub.mjs → du-572XNP42-DeJ11TW7.mjs} +2 -2
  8. package/dist/{du-572XNP42-ClFDz1ub.mjs.map → du-572XNP42-DeJ11TW7.mjs.map} +1 -1
  9. package/dist/{emit-route-manifest-DRcNXHCP-CqaK0qtn.mjs → emit-route-manifest-DRcNXHCP-CSOVo0UZ.mjs} +194 -16
  10. package/dist/{emit-route-manifest-DRcNXHCP-CqaK0qtn.mjs.map → emit-route-manifest-DRcNXHCP-CSOVo0UZ.mjs.map} +1 -1
  11. package/dist/index.mjs +2152 -60
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/{jq-4XLYLOS5-BWKcXbpD.mjs → jq-4XLYLOS5-DrYXLsYH.mjs} +2 -2
  14. package/dist/{jq-4XLYLOS5-BWKcXbpD.mjs.map → jq-4XLYLOS5-DrYXLsYH.mjs.map} +1 -1
  15. package/dist/{ls-ZJGQER7M-DjEDom2D.mjs → ls-ZJGQER7M-C_1bAeGq.mjs} +2 -2
  16. package/dist/{ls-ZJGQER7M-DjEDom2D.mjs.map → ls-ZJGQER7M-C_1bAeGq.mjs.map} +1 -1
  17. package/dist/{mistral-nX_EdAQA-BcnqjD2e.mjs → mistral-B75PpahY-Bd3ZQ07v.mjs} +3 -3
  18. package/dist/{mistral-nX_EdAQA-BcnqjD2e.mjs.map → mistral-B75PpahY-Bd3ZQ07v.mjs.map} +1 -1
  19. package/dist/skills-bundle/_AGENTS.md +2 -0
  20. package/dist/skills-bundle/skills/cli/SKILL.md +1 -1
  21. package/dist/skills-bundle/skills/cli/references/api-targets.md +4 -4
  22. package/dist/{sort-SW2YEO5B-BGiKfkqv.mjs → sort-SW2YEO5B-D08jaQ5v.mjs} +2 -2
  23. package/dist/{sort-SW2YEO5B-BGiKfkqv.mjs.map → sort-SW2YEO5B-D08jaQ5v.mjs.map} +1 -1
  24. package/dist/templates/hello-world/package.json +1 -1
  25. package/dist/{tree-YLD52CNT-B616RO-w.mjs → tree-YLD52CNT-DiHyiFBi.mjs} +2 -2
  26. package/dist/{tree-YLD52CNT-B616RO-w.mjs.map → tree-YLD52CNT-DiHyiFBi.mjs.map} +1 -1
  27. package/dist/{uniq-XSIZR6PB-ByjUQvSp.mjs → uniq-XSIZR6PB-BA-vRB1O.mjs} +2 -2
  28. package/dist/{uniq-XSIZR6PB-ByjUQvSp.mjs.map → uniq-XSIZR6PB-BA-vRB1O.mjs.map} +1 -1
  29. package/dist/{wc-LF7NU4LA-C9tSAYz9.mjs → wc-LF7NU4LA-BWoItyXd.mjs} +2 -2
  30. package/dist/{wc-LF7NU4LA-C9tSAYz9.mjs.map → wc-LF7NU4LA-BWoItyXd.mjs.map} +1 -1
  31. package/dist/{xan-Y6WF3IRG-FxihFV4-.mjs → xan-Y6WF3IRG-BilR2MsH.mjs} +2 -2
  32. package/dist/{xan-Y6WF3IRG-FxihFV4-.mjs.map → xan-Y6WF3IRG-BilR2MsH.mjs.map} +1 -1
  33. package/package.json +18 -18
  34. package/dist/dist-CnoekdhF-nc3ePIKw.mjs.map +0 -1
  35. package/dist/skills-bundle/index.cjs +0 -46
  36. package/dist/skills-bundle/index.cjs.map +0 -1
  37. package/dist/skills-bundle/index.d.cts +0 -12
  38. package/dist/skills-bundle/index.d.cts.map +0 -1
  39. package/dist/skills-bundle/index.d.mts +0 -12
  40. package/dist/skills-bundle/index.d.mts.map +0 -1
  41. package/dist/skills-bundle/index.mjs +0 -40
  42. package/dist/skills-bundle/index.mjs.map +0 -1
@@ -27,17 +27,561 @@ const ZodIssueCode = {
27
27
  var ZodFirstPartyTypeKind;
28
28
  (function(ZodFirstPartyTypeKind) {})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
29
29
  //#endregion
30
- //#region ../../packages/keystroke/dist/dist-D3ZYp8vx.mjs
31
- /** URL segment reserved for global (non-org) routes — cannot be used as an org slug. */
32
- const RESERVED_ORGANIZATION_SLUGS = new Set([
33
- "api",
30
+ //#region ../../packages/keystroke/dist/dist-CSBkgefj.mjs
31
+ /** Auth, session, and account-entry URL segments. */
32
+ const AUTH_ACCOUNT_SLUGS = [
33
+ "2fa",
34
+ "accept-invite",
35
+ "auth",
36
+ "authorize",
37
+ "callback",
38
+ "callbacks",
39
+ "confirm-email",
40
+ "confirmation",
41
+ "connect",
34
42
  "device",
43
+ "email-verification",
44
+ "forgot-password",
45
+ "invite",
46
+ "invites",
35
47
  "login",
48
+ "logout",
49
+ "magic-link",
50
+ "mfa",
51
+ "oauth",
36
52
  "onboarding",
53
+ "password",
54
+ "recovery",
55
+ "register",
56
+ "reset-password",
57
+ "saml",
58
+ "session",
59
+ "sessions",
60
+ "sign-in",
61
+ "sign-up",
62
+ "signin",
63
+ "signout",
64
+ "signup",
65
+ "sso",
66
+ "token",
67
+ "tokens",
68
+ "unlink",
69
+ "verify",
70
+ "verify-email"
71
+ ];
72
+ /** Org, workspace, billing, and account-management URL segments. */
73
+ const ORG_ACCOUNT_SLUGS = [
74
+ "account",
75
+ "accounts",
76
+ "billing",
77
+ "console",
78
+ "invoice",
79
+ "invoices",
80
+ "member",
81
+ "members",
82
+ "me",
83
+ "org",
37
84
  "organization",
38
- "signup"
85
+ "organizations",
86
+ "orgs",
87
+ "payment",
88
+ "payments",
89
+ "plan",
90
+ "plans",
91
+ "portal",
92
+ "preferences",
93
+ "profile",
94
+ "settings",
95
+ "subscription",
96
+ "subscriptions",
97
+ "team",
98
+ "teams",
99
+ "upgrade",
100
+ "usage",
101
+ "user",
102
+ "users",
103
+ "workspace",
104
+ "workspaces"
105
+ ];
106
+ /** Product surfaces, resource types, and in-app navigation segments. */
107
+ const PRODUCT_SLUGS = [
108
+ "action",
109
+ "actions",
110
+ "activity",
111
+ "agent",
112
+ "agents",
113
+ "analytics",
114
+ "app",
115
+ "apps",
116
+ "artifact",
117
+ "artifacts",
118
+ "assistant",
119
+ "assistants",
120
+ "audit",
121
+ "audit-log",
122
+ "automation",
123
+ "automations",
124
+ "branch",
125
+ "branches",
126
+ "canvas",
127
+ "chat",
128
+ "chats",
129
+ "connection",
130
+ "connections",
131
+ "create",
132
+ "credential",
133
+ "credentials",
134
+ "dashboard",
135
+ "deployment",
136
+ "deployments",
137
+ "examples",
138
+ "execute",
139
+ "execution",
140
+ "executions",
141
+ "explore",
142
+ "get-started",
143
+ "history",
144
+ "inbox",
145
+ "inspector",
146
+ "integration",
147
+ "integrations",
148
+ "library",
149
+ "logs",
150
+ "marketplace",
151
+ "mcp",
152
+ "mcps",
153
+ "new",
154
+ "notifications",
155
+ "observe",
156
+ "plugin",
157
+ "plugins",
158
+ "primitive",
159
+ "primitives",
160
+ "project",
161
+ "projects",
162
+ "recents",
163
+ "registry",
164
+ "reports",
165
+ "run",
166
+ "runs",
167
+ "runtime",
168
+ "runtimes",
169
+ "sandbox",
170
+ "sandboxes",
171
+ "search",
172
+ "skill",
173
+ "skills",
174
+ "templates",
175
+ "thread",
176
+ "threads",
177
+ "trigger",
178
+ "triggers",
179
+ "version",
180
+ "versions",
181
+ "workflow",
182
+ "workflows"
183
+ ];
184
+ /** Marketing, docs, company, and go-to-market URL segments. */
185
+ const MARKETING_SITE_SLUGS = [
186
+ "about",
187
+ "affiliates",
188
+ "ai",
189
+ "announcements",
190
+ "anthropic",
191
+ "blog",
192
+ "book-demo",
193
+ "brand",
194
+ "campaigns",
195
+ "career",
196
+ "careers",
197
+ "case-studies",
198
+ "casestudies",
199
+ "changelog",
200
+ "chatgpt",
201
+ "chrome-extension",
202
+ "claude",
203
+ "codex",
204
+ "community",
205
+ "company",
206
+ "compare",
207
+ "contact",
208
+ "contribute",
209
+ "creators",
210
+ "customers",
211
+ "demo",
212
+ "demos",
213
+ "discord",
214
+ "docs",
215
+ "documentation",
216
+ "download",
217
+ "downloads",
218
+ "dust",
219
+ "emerging-talent",
220
+ "engineering-blog",
221
+ "enterprise",
222
+ "events",
223
+ "experts",
224
+ "extension",
225
+ "faq",
226
+ "faqs",
227
+ "features",
228
+ "forum",
229
+ "glean",
230
+ "grok",
231
+ "guide",
232
+ "guides",
233
+ "gumloop",
234
+ "handbook",
235
+ "help",
236
+ "help-center",
237
+ "home",
238
+ "how-it-works",
239
+ "howitworks",
240
+ "inspo",
241
+ "intern",
242
+ "investors",
243
+ "jobs",
244
+ "keystroke",
245
+ "legal",
246
+ "lindy",
247
+ "llm",
248
+ "llms",
249
+ "love",
250
+ "make",
251
+ "manifesto",
252
+ "media",
253
+ "merch",
254
+ "mission",
255
+ "mobile",
256
+ "models",
257
+ "n8n",
258
+ "news",
259
+ "newsroom",
260
+ "open",
261
+ "open-claw",
262
+ "open-source",
263
+ "openai",
264
+ "our-story",
265
+ "overview",
266
+ "partners",
267
+ "pi",
268
+ "pipedream",
269
+ "platform",
270
+ "press",
271
+ "press-kit",
272
+ "pricing",
273
+ "privacy",
274
+ "product",
275
+ "products",
276
+ "provider",
277
+ "providers",
278
+ "quick-start",
279
+ "quickstart",
280
+ "refer",
281
+ "relay",
282
+ "relay-app",
283
+ "reporting",
284
+ "request-demo",
285
+ "resources",
286
+ "roadmap",
287
+ "schedule-demo",
288
+ "security",
289
+ "solutions",
290
+ "stack-ai",
291
+ "stackai",
292
+ "startup",
293
+ "startups",
294
+ "status",
295
+ "stories",
296
+ "story",
297
+ "students",
298
+ "support",
299
+ "swag",
300
+ "switch",
301
+ "talent",
302
+ "terms",
303
+ "testimonials",
304
+ "thesis",
305
+ "tines",
306
+ "trust",
307
+ "tutorials",
308
+ "university",
309
+ "use-case",
310
+ "use-cases",
311
+ "usecases",
312
+ "versus",
313
+ "vellum",
314
+ "vs",
315
+ "webinars",
316
+ "workato",
317
+ "xai",
318
+ "yc",
319
+ "zapier"
320
+ ];
321
+ /** Integrations, competitors, and partner brand slugs (marketing / integration pages). */
322
+ const INTEGRATION_BRAND_SLUGS = [
323
+ "airtable",
324
+ "asana",
325
+ "aws",
326
+ "azure",
327
+ "bun",
328
+ "confluence",
329
+ "copilot",
330
+ "cursor",
331
+ "databricks",
332
+ "figma",
333
+ "firebase",
334
+ "fly",
335
+ "gcp",
336
+ "gemini",
337
+ "github",
338
+ "gitlab",
339
+ "gmail",
340
+ "heroku",
341
+ "hubspot",
342
+ "huggingface",
343
+ "jira",
344
+ "linear",
345
+ "mailchimp",
346
+ "meta",
347
+ "mistral",
348
+ "mixmax",
349
+ "monday",
350
+ "netlify",
351
+ "neon",
352
+ "notion",
353
+ "npm",
354
+ "outlook",
355
+ "outreach",
356
+ "perplexity",
357
+ "planetscale",
358
+ "pnpm",
359
+ "postmark",
360
+ "ramp",
361
+ "railway",
362
+ "render",
363
+ "resend",
364
+ "salesforce",
365
+ "segment",
366
+ "sendgrid",
367
+ "shopify",
368
+ "slack",
369
+ "snowflake",
370
+ "stripe",
371
+ "supabase",
372
+ "terraform",
373
+ "trello",
374
+ "turso",
375
+ "twilio",
376
+ "typeform",
377
+ "vercel",
378
+ "vscode",
379
+ "windsurf",
380
+ "yarn"
381
+ ];
382
+ /** Company, team, and department landing-page segments. */
383
+ const COMPANY_TEAM_SLUGS = [
384
+ "engineers",
385
+ "engineering",
386
+ "executives",
387
+ "hc",
388
+ "intern",
389
+ "it",
390
+ "leadership",
391
+ "marketing",
392
+ "ops",
393
+ "revops",
394
+ "sales",
395
+ "services",
396
+ "tech"
397
+ ];
398
+ /** Legal, trust, compliance, and policy URL segments. */
399
+ const LEGAL_TRUST_SLUGS = [
400
+ "accessibility",
401
+ "agreement",
402
+ "a11y",
403
+ "bug-bounty",
404
+ "compliance",
405
+ "cookie-policy",
406
+ "cookies",
407
+ "disclose",
408
+ "dpa",
409
+ "eula",
410
+ "gdpr",
411
+ "hipaa",
412
+ "iso",
413
+ "msa",
414
+ "pci",
415
+ "responsible-disclosure",
416
+ "sla",
417
+ "soc2",
418
+ "tos",
419
+ "trust-center",
420
+ "trustcenter",
421
+ "vulnerability"
422
+ ];
423
+ /** Developer, API, CLI, and technical URL segments. */
424
+ const DEVELOPER_TECH_SLUGS = [
425
+ "api",
426
+ "api-docs",
427
+ "cli",
428
+ "code",
429
+ "config",
430
+ "developer",
431
+ "developer-tools",
432
+ "developers",
433
+ "dev-tools",
434
+ "devtools",
435
+ "dev",
436
+ "dev-states",
437
+ "graphql",
438
+ "graphql-playground",
439
+ "mcp-server",
440
+ "mcp-servers",
441
+ "openapi",
442
+ "sdk",
443
+ "swagger"
444
+ ];
445
+ /** Infra, ops, static assets, and system URL segments. */
446
+ const INFRA_SYSTEM_SLUGS = [
447
+ "acme-challenge",
448
+ "admin",
449
+ "apple-app-site-association",
450
+ "assets",
451
+ "batch",
452
+ "cache",
453
+ "cdn",
454
+ "cron",
455
+ "debug",
456
+ "error",
457
+ "errors",
458
+ "favicon",
459
+ "feed",
460
+ "files",
461
+ "health",
462
+ "healthcheck",
463
+ "healthz",
464
+ "hooks",
465
+ "internal",
466
+ "item",
467
+ "manifest",
468
+ "metrics",
469
+ "null",
470
+ "ping",
471
+ "prod",
472
+ "public",
473
+ "redirect",
474
+ "robots",
475
+ "rpc",
476
+ "rss",
477
+ "sharer",
478
+ "sitemap",
479
+ "staging",
480
+ "static",
481
+ "storage",
482
+ "test",
483
+ "undefined",
484
+ "universal",
485
+ "webhooks",
486
+ "well-known",
487
+ "www"
488
+ ];
489
+ /** Reserved slugs that are valid org names in theory but blocked for routing safety. */
490
+ const ROUTING_SAFETY_SLUGS = [
491
+ "alpha",
492
+ "anonymous",
493
+ "archive",
494
+ "archived",
495
+ "beta",
496
+ "clone",
497
+ "copy",
498
+ "default",
499
+ "deleted",
500
+ "demo-org",
501
+ "draft",
502
+ "drafts",
503
+ "duplicate",
504
+ "early-access",
505
+ "embed",
506
+ "embedded",
507
+ "export",
508
+ "fork",
509
+ "free",
510
+ "guest",
511
+ "import",
512
+ "index",
513
+ "list",
514
+ "manage",
515
+ "moderator",
516
+ "newsletter",
517
+ "owner",
518
+ "preview",
519
+ "previews",
520
+ "private",
521
+ "pro",
522
+ "public-api",
523
+ "publish",
524
+ "published",
525
+ "queue",
526
+ "remove",
527
+ "root",
528
+ "sample",
529
+ "samples",
530
+ "selection",
531
+ "share",
532
+ "shared",
533
+ "sponsor",
534
+ "sponsors",
535
+ "sponsorship",
536
+ "subscribe",
537
+ "super",
538
+ "superuser",
539
+ "system",
540
+ "sys",
541
+ "test-org",
542
+ "trash",
543
+ "unpublish",
544
+ "unsubscribe",
545
+ "upload",
546
+ "uploads",
547
+ "waitlist",
548
+ "widget",
549
+ "widgets",
550
+ "worker",
551
+ "workers"
552
+ ];
553
+ /**
554
+ * URL segments reserved for global (non-org) routes — cannot be used as an org slug.
555
+ * Prefer adding new entries to the category arrays above; the Set is the enforcement surface.
556
+ */
557
+ const RESERVED_ORGANIZATION_SLUGS = new Set([
558
+ ...AUTH_ACCOUNT_SLUGS,
559
+ ...ORG_ACCOUNT_SLUGS,
560
+ ...PRODUCT_SLUGS,
561
+ ...MARKETING_SITE_SLUGS,
562
+ ...INTEGRATION_BRAND_SLUGS,
563
+ ...COMPANY_TEAM_SLUGS,
564
+ ...LEGAL_TRUST_SLUGS,
565
+ ...DEVELOPER_TECH_SLUGS,
566
+ ...INFRA_SYSTEM_SLUGS,
567
+ ...ROUTING_SAFETY_SLUGS
39
568
  ]);
40
- const OrganizationSlugSchema = string().trim().toLowerCase().min(2, "Slug must be at least 2 characters").max(64, "Slug must be at most 64 characters").regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "Use lowercase letters, numbers, and dashes only").refine((slug) => !RESERVED_ORGANIZATION_SLUGS.has(slug), "This slug is reserved");
569
+ /**
570
+ * Base slug format: lowercase, 2-64 chars, alphanumeric + dashes.
571
+ *
572
+ * IMPORTANT: this is the schema for *reading* slugs (persisted rows, API
573
+ * responses). It intentionally does NOT enforce the reserved-name list — an org
574
+ * created before a name became reserved must still parse on read. Use
575
+ * `ClaimableOrganizationSlugSchema` to validate slugs a user is trying to claim.
576
+ */
577
+ const OrganizationSlugSchema = string().trim().toLowerCase().min(2, "Slug must be at least 2 characters").max(64, "Slug must be at most 64 characters").regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "Use lowercase letters, numbers, and dashes only");
578
+ /**
579
+ * Slug validation for *claiming* a slug (organization create/rename). Adds the
580
+ * reserved-name check on top of the base format. Never use this to parse
581
+ * existing org data, or pre-existing orgs whose slug later became reserved would
582
+ * fail to load.
583
+ */
584
+ const ClaimableOrganizationSlugSchema = OrganizationSlugSchema.refine((slug) => !RESERVED_ORGANIZATION_SLUGS.has(slug), "This slug is reserved");
41
585
  /** How a credential instance is stored (`credential_instances.auth_kind`). */
42
586
  const CredentialAuthKindSchema = _enum(["api_key", "oauth_managed"]);
43
587
  /** Where a credential instance is stored (`credential_instances.scope_type`). */
@@ -107,12 +651,80 @@ function defineCredential(input) {
107
651
  if ("schema" in input) return credential.static(input.key, input.schema);
108
652
  return credential.static(input.key, input.fields);
109
653
  }
654
+ const OrganizationSlugErrorCodeSchema = _enum([
655
+ "slug_taken",
656
+ "slug_reserved",
657
+ "slug_invalid"
658
+ ]);
659
+ const SlugAvailabilityReasonSchema = _enum([
660
+ "taken",
661
+ "reserved",
662
+ "invalid"
663
+ ]);
664
+ object({
665
+ slug: string(),
666
+ available: boolean$1(),
667
+ reason: SlugAvailabilityReasonSchema.optional(),
668
+ suggestion: OrganizationSlugSchema.optional()
669
+ });
670
+ object({
671
+ slug: string().trim().min(1),
672
+ excludeOrganizationId: string().min(1).optional()
673
+ });
674
+ const ProjectStatusSchema = _enum([
675
+ "inactive",
676
+ "starting",
677
+ "active",
678
+ "failed"
679
+ ]);
680
+ const OrganizationUserRoleSchema = _enum(["admin"]);
681
+ const isoDateTime$1 = string().datetime();
682
+ const OrganizationSchema = object({
683
+ id: string(),
684
+ name: string(),
685
+ slug: OrganizationSlugSchema,
686
+ createdAt: isoDateTime$1,
687
+ updatedAt: isoDateTime$1
688
+ });
689
+ const ProjectSchema = object({
690
+ id: string(),
691
+ organizationId: string(),
692
+ name: string(),
693
+ status: ProjectStatusSchema,
694
+ baseUrl: string().nullable(),
695
+ runtimeId: string().nullable(),
696
+ lastError: string().nullable(),
697
+ createdAt: isoDateTime$1,
698
+ updatedAt: isoDateTime$1
699
+ });
700
+ const UserOrganizationSchema = object({
701
+ organization: OrganizationSchema,
702
+ role: OrganizationUserRoleSchema
703
+ });
704
+ object({ organization: UserOrganizationSchema.nullable() });
705
+ object({ organizations: array(UserOrganizationSchema) });
706
+ object({ organizationId: string().min(1) });
707
+ object({
708
+ name: string().trim().min(1),
709
+ /** Format-only at the wire boundary; reserved-name checks run in platform-database. */
710
+ slug: OrganizationSlugSchema.optional()
711
+ });
712
+ object({ slug: ClaimableOrganizationSlugSchema });
713
+ object({ organization: UserOrganizationSchema });
714
+ object({ projects: array(ProjectSchema) });
715
+ object({ name: string().trim().min(1) });
716
+ object({ project: ProjectSchema });
717
+ object({ project: ProjectSchema });
718
+ object({ reachable: boolean$1() });
110
719
  const ValidationErrorDetailSchema = object({
111
720
  path: string(),
112
721
  message: string()
113
722
  });
723
+ /** Machine-readable codes returned in standard API error bodies. */
724
+ const ErrorResponseCodeSchema = OrganizationSlugErrorCodeSchema.or(_enum(["needs_org_selection"]));
114
725
  object({
115
726
  error: string(),
727
+ code: ErrorResponseCodeSchema.optional(),
116
728
  message: string().optional(),
117
729
  details: array(ValidationErrorDetailSchema).optional()
118
730
  });
@@ -487,50 +1099,6 @@ object({ triggers: array(object({
487
1099
  webhookUrl: string().url().optional(),
488
1100
  workflowKey: string()
489
1101
  })) });
490
- const ProjectStatusSchema = _enum([
491
- "inactive",
492
- "starting",
493
- "active",
494
- "failed"
495
- ]);
496
- const OrganizationUserRoleSchema = _enum(["admin"]);
497
- const isoDateTime$1 = string().datetime();
498
- const OrganizationSchema = object({
499
- id: string(),
500
- name: string(),
501
- slug: OrganizationSlugSchema,
502
- createdAt: isoDateTime$1,
503
- updatedAt: isoDateTime$1
504
- });
505
- const ProjectSchema = object({
506
- id: string(),
507
- organizationId: string(),
508
- name: string(),
509
- status: ProjectStatusSchema,
510
- baseUrl: string().nullable(),
511
- runtimeId: string().nullable(),
512
- lastError: string().nullable(),
513
- createdAt: isoDateTime$1,
514
- updatedAt: isoDateTime$1
515
- });
516
- const UserOrganizationSchema = object({
517
- organization: OrganizationSchema,
518
- role: OrganizationUserRoleSchema
519
- });
520
- object({ organization: UserOrganizationSchema.nullable() });
521
- object({ organizations: array(UserOrganizationSchema) });
522
- object({ organizationId: string().min(1) });
523
- object({
524
- name: string().trim().min(1),
525
- slug: OrganizationSlugSchema.optional()
526
- });
527
- object({ slug: OrganizationSlugSchema });
528
- object({ organization: UserOrganizationSchema });
529
- object({ projects: array(ProjectSchema) });
530
- object({ name: string().trim().min(1) });
531
- object({ project: ProjectSchema });
532
- object({ project: ProjectSchema });
533
- object({ reachable: boolean$1() });
534
1102
  const ProjectArtifactStatusSchema = _enum(["pending", "ready"]);
535
1103
  const isoDateTime = string().datetime();
536
1104
  const ProjectArtifactSchema = object({
@@ -562,7 +1130,7 @@ object({
562
1130
  });
563
1131
  new AsyncLocalStorage();
564
1132
  //#endregion
565
- //#region ../../packages/keystroke/dist/dist-CnoekdhF.mjs
1133
+ //#region ../../packages/keystroke/dist/dist-CXHSlVhd.mjs
566
1134
  const RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task";
567
1135
  /**
568
1136
  * Assert 'object' type schema.
@@ -13941,4 +14509,4 @@ async function withSpan(input, fn) {
13941
14509
  //#endregion
13942
14510
  export { createSession as a, isCredentialError as c, withSpan as d, zodToJsonSchema as f, captureConsole as i, listMessageEvents as l, ZodIssueCode as m, appendEvent as n, getSession as o, defineCredential as p, buildCredentialRunContext as r, getTraceContext as s, MESSAGE_EVENT_TYPE as t, touchSession as u };
13943
14511
 
13944
- //# sourceMappingURL=dist-CnoekdhF-nc3ePIKw.mjs.map
14512
+ //# sourceMappingURL=dist-CXHSlVhd-CTQzOALD.mjs.map