@contractspec/bundle.library 2.0.0 → 2.1.1

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 (108) hide show
  1. package/.turbo/turbo-build.log +47 -47
  2. package/CHANGELOG.md +43 -0
  3. package/dist/components/docs/DocsIndexPage.js +3 -3
  4. package/dist/components/docs/ecosystem/TemplatesPage.js +6 -6
  5. package/dist/components/docs/ecosystem/index.js +6 -6
  6. package/dist/components/docs/generated/docs-index.generated.d.ts +6 -6
  7. package/dist/components/docs/getting-started/DeveloperToolsPage.js +6 -6
  8. package/dist/components/docs/getting-started/index.js +6 -6
  9. package/dist/components/docs/guides/GuideCIDiffGatingPage.js +6 -6
  10. package/dist/components/docs/guides/GuideContractTypesPage.js +6 -6
  11. package/dist/components/docs/guides/GuideDocsPipelinePage.js +6 -6
  12. package/dist/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +6 -6
  13. package/dist/components/docs/guides/GuideImportExistingCodebasesPage.js +6 -6
  14. package/dist/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  15. package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +6 -6
  16. package/dist/components/docs/guides/index.js +18 -18
  17. package/dist/components/docs/index.js +162 -470
  18. package/dist/components/docs/manifesto/ManifestoPage.js +2 -2
  19. package/dist/components/docs/shared/StudioPrompt.js +4 -4
  20. package/dist/components/docs/studio/StudioBYOKPage.js +14 -68
  21. package/dist/components/docs/studio/StudioDeploymentsPage.js +14 -89
  22. package/dist/components/docs/studio/StudioGettingStartedPage.js +14 -82
  23. package/dist/components/docs/studio/StudioIntegrationsPage.js +14 -60
  24. package/dist/components/docs/studio/StudioOverviewPage.js +62 -32
  25. package/dist/components/docs/studio/StudioVisualBuilderPage.js +14 -109
  26. package/dist/components/docs/studio/index.js +131 -439
  27. package/dist/index.js +162 -470
  28. package/dist/node/components/docs/DocsIndexPage.js +3 -3
  29. package/dist/node/components/docs/ecosystem/TemplatesPage.js +6 -6
  30. package/dist/node/components/docs/ecosystem/index.js +6 -6
  31. package/dist/node/components/docs/getting-started/DeveloperToolsPage.js +6 -6
  32. package/dist/node/components/docs/getting-started/index.js +6 -6
  33. package/dist/node/components/docs/guides/GuideCIDiffGatingPage.js +6 -6
  34. package/dist/node/components/docs/guides/GuideContractTypesPage.js +6 -6
  35. package/dist/node/components/docs/guides/GuideDocsPipelinePage.js +6 -6
  36. package/dist/node/components/docs/guides/GuideGenerateDocsClientsSchemasPage.js +6 -6
  37. package/dist/node/components/docs/guides/GuideImportExistingCodebasesPage.js +6 -6
  38. package/dist/node/components/docs/guides/GuideNextjsOneEndpointPage.js +6 -6
  39. package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +6 -6
  40. package/dist/node/components/docs/guides/index.js +18 -18
  41. package/dist/node/components/docs/index.js +162 -470
  42. package/dist/node/components/docs/manifesto/ManifestoPage.js +2 -2
  43. package/dist/node/components/docs/shared/StudioPrompt.js +4 -4
  44. package/dist/node/components/docs/studio/StudioBYOKPage.js +14 -68
  45. package/dist/node/components/docs/studio/StudioDeploymentsPage.js +14 -89
  46. package/dist/node/components/docs/studio/StudioGettingStartedPage.js +14 -82
  47. package/dist/node/components/docs/studio/StudioIntegrationsPage.js +14 -60
  48. package/dist/node/components/docs/studio/StudioOverviewPage.js +62 -32
  49. package/dist/node/components/docs/studio/StudioVisualBuilderPage.js +14 -109
  50. package/dist/node/components/docs/studio/index.js +131 -439
  51. package/dist/node/index.js +162 -470
  52. package/package.json +18 -18
  53. package/src/components/docs/DocsIndexPage.tsx +3 -3
  54. package/src/components/docs/ecosystem/TemplatesPage.tsx +2 -2
  55. package/src/components/docs/generated/docs-index._common.json +40 -211
  56. package/src/components/docs/generated/docs-index.agent-console.json +1 -1
  57. package/src/components/docs/generated/docs-index.ai-chat.json +1 -1
  58. package/src/components/docs/generated/docs-index.analytics-dashboard.json +1 -1
  59. package/src/components/docs/generated/docs-index.app-config.json +1 -1
  60. package/src/components/docs/generated/docs-index.audit-trail.json +1 -1
  61. package/src/components/docs/generated/docs-index.crm-pipeline.json +1 -1
  62. package/src/components/docs/generated/docs-index.feature-flags.json +1 -1
  63. package/src/components/docs/generated/docs-index.files.json +1 -1
  64. package/src/components/docs/generated/docs-index.generated.ts +7 -7
  65. package/src/components/docs/generated/docs-index.identity-rbac.json +1 -1
  66. package/src/components/docs/generated/docs-index.integration-hub.json +1 -1
  67. package/src/components/docs/generated/docs-index.jobs.json +1 -1
  68. package/src/components/docs/generated/docs-index.kb-update-pipeline.json +1 -1
  69. package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +1 -1
  70. package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +1 -1
  71. package/src/components/docs/generated/docs-index.learning-journey-registry.json +1 -1
  72. package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +1 -1
  73. package/src/components/docs/generated/docs-index.learning-journey.json +1 -1
  74. package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +1 -1
  75. package/src/components/docs/generated/docs-index.manifest.json +1 -1
  76. package/src/components/docs/generated/docs-index.marketplace.json +1 -1
  77. package/src/components/docs/generated/docs-index.meeting-recorder.json +1 -1
  78. package/src/components/docs/generated/docs-index.metrics.json +1 -1
  79. package/src/components/docs/generated/docs-index.notifications.json +1 -1
  80. package/src/components/docs/generated/docs-index.openbanking.json +1 -1
  81. package/src/components/docs/generated/docs-index.platform-integrations.json +1 -1
  82. package/src/components/docs/generated/docs-index.platform-knowledge.json +1 -1
  83. package/src/components/docs/generated/docs-index.pocket-family-office.json +1 -1
  84. package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +1 -1
  85. package/src/components/docs/generated/docs-index.saas-boilerplate.json +1 -1
  86. package/src/components/docs/generated/docs-index.service-business-os.json +1 -1
  87. package/src/components/docs/generated/docs-index.team-hub.json +1 -1
  88. package/src/components/docs/generated/docs-index.unknown.json +1 -1
  89. package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +1 -1
  90. package/src/components/docs/generated/docs-index.wealth-snapshot.json +1 -1
  91. package/src/components/docs/generated/docs-index.workflow-system.json +1 -1
  92. package/src/components/docs/generated/docs-index.workspace-cli.json +1 -1
  93. package/src/components/docs/getting-started/DeveloperToolsPage.tsx +6 -6
  94. package/src/components/docs/guides/GuideCIDiffGatingPage.tsx +2 -2
  95. package/src/components/docs/guides/GuideContractTypesPage.tsx +2 -2
  96. package/src/components/docs/guides/GuideDocsPipelinePage.tsx +2 -2
  97. package/src/components/docs/guides/GuideGenerateDocsClientsSchemasPage.tsx +2 -2
  98. package/src/components/docs/guides/GuideImportExistingCodebasesPage.tsx +2 -2
  99. package/src/components/docs/guides/GuideNextjsOneEndpointPage.tsx +2 -2
  100. package/src/components/docs/guides/GuideSpecValidationTypingPage.tsx +2 -2
  101. package/src/components/docs/manifesto/ManifestoPage.tsx +2 -2
  102. package/src/components/docs/shared/StudioPrompt.tsx +4 -4
  103. package/src/components/docs/studio/StudioBYOKPage.tsx +9 -54
  104. package/src/components/docs/studio/StudioDeploymentsPage.tsx +9 -70
  105. package/src/components/docs/studio/StudioGettingStartedPage.tsx +9 -66
  106. package/src/components/docs/studio/StudioIntegrationsPage.tsx +9 -47
  107. package/src/components/docs/studio/StudioOverviewPage.tsx +53 -41
  108. package/src/components/docs/studio/StudioVisualBuilderPage.tsx +9 -72
@@ -2,529 +2,221 @@
2
2
  // src/components/docs/studio/StudioOverviewPage.tsx
3
3
  import Link from "@contractspec/lib.ui-link";
4
4
  import { jsxDEV } from "react/jsx-dev-runtime";
5
- var sections = [
5
+ var coreLoop = [
6
6
  {
7
- title: "1. Getting started",
8
- body: "Provision your Studio workspace, create a project, and run the first deployment.",
9
- href: "/docs/studio/getting-started"
7
+ title: "Evidence",
8
+ body: "Ingest product signals from meetings, support, analytics, code reviews, docs, and Slack."
10
9
  },
11
10
  {
12
- title: "2. Visual builder",
13
- body: "Learn the canvas controls, component palette, and spec validation workflow.",
14
- href: "/docs/studio/visual-builder"
11
+ title: "Correlation",
12
+ body: "Cluster signals into scored patterns with hybrid heuristics plus AI signature extraction."
15
13
  },
16
14
  {
17
- title: "3. Deployments",
18
- body: "Switch between shared and dedicated environments, monitor health, and roll back safely.",
19
- href: "/docs/studio/deployments"
15
+ title: "Decision",
16
+ body: "Create timeboxed focus zones and evidence-backed briefs with citation chains."
20
17
  },
21
18
  {
22
- title: "4. BYOK security",
23
- body: "Configure your vault, rotate keys, and audit credential access.",
24
- href: "/docs/studio/byok"
19
+ title: "Change",
20
+ body: "Compile patch intents into spec diffs, deterministic impact reports, and task packs."
25
21
  },
26
22
  {
27
- title: "5. Integration hub",
28
- body: "Connect third-party providers, sync data, and index knowledge sources.",
29
- href: "/docs/studio/integrations"
23
+ title: "Export",
24
+ body: "Push deliverables to Linear, Jira, Notion, and GitHub with full decision context."
25
+ },
26
+ {
27
+ title: "Check + Autopilot",
28
+ body: "Verify outcomes, capture learning dividends, and automate safely with policy gates."
30
29
  }
31
30
  ];
32
31
  function StudioOverviewPage() {
33
32
  return /* @__PURE__ */ jsxDEV("main", {
34
- className: "space-y-16 py-16",
33
+ className: "space-y-12 py-16",
35
34
  children: [
36
35
  /* @__PURE__ */ jsxDEV("section", {
37
- className: "section-padding",
36
+ className: "section-padding space-y-4",
38
37
  children: [
39
38
  /* @__PURE__ */ jsxDEV("p", {
40
39
  className: "text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase",
41
- children: "Studio docs"
40
+ children: "ContractSpec Studio"
42
41
  }, undefined, false, undefined, this),
43
42
  /* @__PURE__ */ jsxDEV("h1", {
44
- className: "mt-4 text-4xl font-bold",
45
- children: "Everything you need to run Studio."
43
+ className: "text-4xl font-bold md:text-5xl",
44
+ children: "Compiler for product truth"
46
45
  }, undefined, false, undefined, this),
47
46
  /* @__PURE__ */ jsxDEV("p", {
48
- className: "text-muted-foreground mt-4 max-w-3xl text-lg",
49
- children: "ContractSpec Studio pairs a visual builder with managed infrastructure. These guides keep teams aligned\u2014especially when engineers and operators share the same console."
50
- }, undefined, false, undefined, this)
51
- ]
52
- }, undefined, true, undefined, this),
53
- /* @__PURE__ */ jsxDEV("section", {
54
- className: "section-padding grid gap-4",
55
- children: sections.map((section) => /* @__PURE__ */ jsxDEV(Link, {
56
- href: section.href,
57
- className: "card-subtle group space-y-2 p-6 transition hover:border-violet-500/40",
58
- children: [
59
- /* @__PURE__ */ jsxDEV("h2", {
60
- className: "text-xl font-semibold group-hover:text-violet-400",
61
- children: section.title
62
- }, undefined, false, undefined, this),
63
- /* @__PURE__ */ jsxDEV("p", {
64
- className: "text-muted-foreground text-sm",
65
- children: section.body
66
- }, undefined, false, undefined, this)
67
- ]
68
- }, section.href, true, undefined, this))
69
- }, undefined, false, undefined, this)
70
- ]
71
- }, undefined, true, undefined, this);
72
- }
73
-
74
- // src/components/docs/studio/StudioGettingStartedPage.tsx
75
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
76
- var steps = [
77
- {
78
- title: "1. Create a Studio workspace",
79
- body: "Sign in, pick \u201CStudio managed\u201D as product, and invite teammates. We provision the workspace plus default shared environments."
80
- },
81
- {
82
- title: "2. Add your first project",
83
- body: "Click \u201CNew project\u201D, choose Starter tier, and keep BYOK disabled for the trial. You can upgrade later."
84
- },
85
- {
86
- title: "3. Author a spec",
87
- body: "Use the Visual Builder or Spec Editor. Pick \u201CCapability\u201D as type and describe the operation (e.g., capture donation)."
88
- },
89
- {
90
- title: "4. Deploy to shared infra",
91
- body: "Open the deployment panel, select Development, and hit Deploy. Studio provisions the runtime slice automatically."
92
- },
93
- {
94
- title: "5. Wire integrations",
95
- body: "From Integration Hub, connect one provider (e.g., PostHog). Starter plan supports two providers."
96
- }
97
- ];
98
- function StudioGettingStartedPage() {
99
- return /* @__PURE__ */ jsxDEV2("main", {
100
- className: "space-y-12 py-12",
101
- children: [
102
- /* @__PURE__ */ jsxDEV2("header", {
103
- className: "space-y-3",
104
- children: [
105
- /* @__PURE__ */ jsxDEV2("p", {
106
- className: "text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase",
107
- children: "Getting started"
108
- }, undefined, false, undefined, this),
109
- /* @__PURE__ */ jsxDEV2("h1", {
110
- className: "text-4xl font-bold",
111
- children: "Launch your first Studio project"
112
- }, undefined, false, undefined, this),
113
- /* @__PURE__ */ jsxDEV2("p", {
114
47
  className: "text-muted-foreground max-w-3xl text-lg",
115
- children: "This short guide takes you from workspace creation to the first deployment. Every step is mobile-friendly and safe to undo."
48
+ children: "ContractSpec Studio is the AI-powered product decision engine built on top of ContractSpec. It turns product signals into spec-first deliverables through a deterministic loop:"
49
+ }, undefined, false, undefined, this),
50
+ /* @__PURE__ */ jsxDEV("p", {
51
+ className: "text-muted-foreground font-mono text-sm",
52
+ children: "Evidence -> Correlation -> Decision -> Change -> Export -> Check -> Notify -> Autopilot"
116
53
  }, undefined, false, undefined, this)
117
54
  ]
118
55
  }, undefined, true, undefined, this),
119
- /* @__PURE__ */ jsxDEV2("section", {
120
- className: "grid gap-4",
121
- children: steps.map((step) => /* @__PURE__ */ jsxDEV2("article", {
56
+ /* @__PURE__ */ jsxDEV("section", {
57
+ className: "section-padding grid gap-4 md:grid-cols-2",
58
+ children: coreLoop.map((step) => /* @__PURE__ */ jsxDEV("article", {
122
59
  className: "card-subtle space-y-2 p-6",
123
60
  children: [
124
- /* @__PURE__ */ jsxDEV2("h2", {
61
+ /* @__PURE__ */ jsxDEV("h2", {
125
62
  className: "text-xl font-semibold",
126
63
  children: step.title
127
64
  }, undefined, false, undefined, this),
128
- /* @__PURE__ */ jsxDEV2("p", {
65
+ /* @__PURE__ */ jsxDEV("p", {
129
66
  className: "text-muted-foreground text-sm",
130
67
  children: step.body
131
68
  }, undefined, false, undefined, this)
132
69
  ]
133
70
  }, step.title, true, undefined, this))
134
71
  }, undefined, false, undefined, this),
135
- /* @__PURE__ */ jsxDEV2("section", {
136
- className: "space-y-4",
72
+ /* @__PURE__ */ jsxDEV("section", {
73
+ className: "section-padding card-subtle space-y-4 p-6",
137
74
  children: [
138
- /* @__PURE__ */ jsxDEV2("h2", {
75
+ /* @__PURE__ */ jsxDEV("h2", {
139
76
  className: "text-2xl font-semibold",
140
- children: "CLI helper (optional)"
77
+ children: "Use Studio now"
141
78
  }, undefined, false, undefined, this),
142
- /* @__PURE__ */ jsxDEV2("p", {
79
+ /* @__PURE__ */ jsxDEV("p", {
143
80
  className: "text-muted-foreground text-sm",
144
- children: "Prefer automation? Use the CLI to pull specs and push overlays."
81
+ children: "Studio is live and runs the same spec-first grammar as the OSS compiler. Keep your contracts, keep your code, and add a full decision-to-change workflow on top."
145
82
  }, undefined, false, undefined, this),
146
- /* @__PURE__ */ jsxDEV2("pre", {
147
- className: "bg-muted/40 border-border overflow-auto rounded-xl border p-4 text-left font-mono text-sm",
148
- children: `# Authenticate
149
- cs login
150
-
151
- # List projects
152
- cs studio projects list
153
-
154
- # Pull specs locally
155
- cs studio specs pull <project-id>
156
-
157
- # Push after editing
158
- cs studio specs push <project-id>`
159
- }, undefined, false, undefined, this)
83
+ /* @__PURE__ */ jsxDEV("div", {
84
+ className: "flex flex-wrap gap-3",
85
+ children: [
86
+ /* @__PURE__ */ jsxDEV(Link, {
87
+ href: "https://app.contractspec.studio",
88
+ className: "btn-primary",
89
+ children: "Try Studio"
90
+ }, undefined, false, undefined, this),
91
+ /* @__PURE__ */ jsxDEV(Link, {
92
+ href: "https://app.contractspec.studio/docs",
93
+ className: "btn-ghost",
94
+ children: "Read Studio docs"
95
+ }, undefined, false, undefined, this)
96
+ ]
97
+ }, undefined, true, undefined, this)
160
98
  ]
161
99
  }, undefined, true, undefined, this)
162
100
  ]
163
101
  }, undefined, true, undefined, this);
164
102
  }
165
103
 
104
+ // src/components/docs/studio/StudioGettingStartedPage.tsx
105
+ import Link2 from "@contractspec/lib.ui-link";
106
+ import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
107
+ function StudioGettingStartedPage() {
108
+ return /* @__PURE__ */ jsxDEV2("main", {
109
+ className: "space-y-6 py-12",
110
+ children: [
111
+ /* @__PURE__ */ jsxDEV2("h1", {
112
+ className: "text-3xl font-bold",
113
+ children: "Studio docs moved"
114
+ }, undefined, false, undefined, this),
115
+ /* @__PURE__ */ jsxDEV2("p", {
116
+ className: "text-muted-foreground text-sm",
117
+ children: "The latest getting-started guide now lives in the Studio app docs."
118
+ }, undefined, false, undefined, this),
119
+ /* @__PURE__ */ jsxDEV2(Link2, {
120
+ href: "https://app.contractspec.studio/docs",
121
+ className: "btn-primary",
122
+ children: "Open Studio docs"
123
+ }, undefined, false, undefined, this)
124
+ ]
125
+ }, undefined, true, undefined, this);
126
+ }
127
+
166
128
  // src/components/docs/studio/StudioVisualBuilderPage.tsx
167
- import Image from "next/image";
129
+ import Link3 from "@contractspec/lib.ui-link";
168
130
  import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
169
- var tips = [
170
- "Use two-finger drag on touch devices to pan the canvas.",
171
- "Tap a component to open the spec sidebar and edit props.",
172
- "The timeline records every change; tap a dot to roll back.",
173
- "Validation runs automatically before deploy. Errors show inline."
174
- ];
175
131
  function StudioVisualBuilderPage() {
176
132
  return /* @__PURE__ */ jsxDEV3("main", {
177
- className: "space-y-12 py-12",
133
+ className: "space-y-6 py-12",
178
134
  children: [
179
- /* @__PURE__ */ jsxDEV3("header", {
180
- className: "space-y-3",
181
- children: [
182
- /* @__PURE__ */ jsxDEV3("p", {
183
- className: "text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase",
184
- children: "Visual builder"
185
- }, undefined, false, undefined, this),
186
- /* @__PURE__ */ jsxDEV3("h1", {
187
- className: "text-4xl font-bold",
188
- children: "Canvas, palette, and spec editor"
189
- }, undefined, false, undefined, this),
190
- /* @__PURE__ */ jsxDEV3("p", {
191
- className: "text-muted-foreground max-w-3xl text-lg",
192
- children: "Studio\u2019s builder keeps designers, operators, and engineers in sync. Every action updates the underlying spec and can be undone."
193
- }, undefined, false, undefined, this)
194
- ]
195
- }, undefined, true, undefined, this),
196
- /* @__PURE__ */ jsxDEV3("section", {
197
- className: "border-border bg-card rounded-2xl border p-6",
198
- children: /* @__PURE__ */ jsxDEV3(Image, {
199
- src: "/assets/images/studio/visual-builder.png",
200
- alt: "Studio visual builder overview",
201
- width: 1024,
202
- height: 576,
203
- className: "border-border rounded-xl border"
204
- }, undefined, false, undefined, this)
135
+ /* @__PURE__ */ jsxDEV3("h1", {
136
+ className: "text-3xl font-bold",
137
+ children: "Studio docs moved"
205
138
  }, undefined, false, undefined, this),
206
- /* @__PURE__ */ jsxDEV3("section", {
207
- className: "grid gap-4 md:grid-cols-2",
208
- children: [
209
- /* @__PURE__ */ jsxDEV3("article", {
210
- className: "card-subtle space-y-2 p-6",
211
- children: [
212
- /* @__PURE__ */ jsxDEV3("h2", {
213
- className: "text-2xl font-semibold",
214
- children: "Canvas controls"
215
- }, undefined, false, undefined, this),
216
- /* @__PURE__ */ jsxDEV3("p", {
217
- className: "text-muted-foreground text-sm",
218
- children: "Drag to pan, scroll/ pinch to zoom. The right panel shows a tree view."
219
- }, undefined, false, undefined, this)
220
- ]
221
- }, undefined, true, undefined, this),
222
- /* @__PURE__ */ jsxDEV3("article", {
223
- className: "card-subtle space-y-2 p-6",
224
- children: [
225
- /* @__PURE__ */ jsxDEV3("h2", {
226
- className: "text-2xl font-semibold",
227
- children: "Component palette"
228
- }, undefined, false, undefined, this),
229
- /* @__PURE__ */ jsxDEV3("p", {
230
- className: "text-muted-foreground text-sm",
231
- children: "Search by intent (\u201Ccapture payment\u201D) or category. Drag components or tap to add."
232
- }, undefined, false, undefined, this)
233
- ]
234
- }, undefined, true, undefined, this),
235
- /* @__PURE__ */ jsxDEV3("article", {
236
- className: "card-subtle space-y-2 p-6",
237
- children: [
238
- /* @__PURE__ */ jsxDEV3("h2", {
239
- className: "text-2xl font-semibold",
240
- children: "Spec editor"
241
- }, undefined, false, undefined, this),
242
- /* @__PURE__ */ jsxDEV3("p", {
243
- className: "text-muted-foreground text-sm",
244
- children: "Toggle between visual and code views. Changes stay in sync and include diff previews."
245
- }, undefined, false, undefined, this)
246
- ]
247
- }, undefined, true, undefined, this),
248
- /* @__PURE__ */ jsxDEV3("article", {
249
- className: "card-subtle space-y-2 p-6",
250
- children: [
251
- /* @__PURE__ */ jsxDEV3("h2", {
252
- className: "text-2xl font-semibold",
253
- children: "Deploy panel"
254
- }, undefined, false, undefined, this),
255
- /* @__PURE__ */ jsxDEV3("p", {
256
- className: "text-muted-foreground text-sm",
257
- children: "Choose environment, review validations, and deploy with one button. Rollback is one tap away."
258
- }, undefined, false, undefined, this)
259
- ]
260
- }, undefined, true, undefined, this)
261
- ]
262
- }, undefined, true, undefined, this),
263
- /* @__PURE__ */ jsxDEV3("section", {
264
- className: "space-y-3",
265
- children: [
266
- /* @__PURE__ */ jsxDEV3("h2", {
267
- className: "text-2xl font-semibold",
268
- children: "Tips"
269
- }, undefined, false, undefined, this),
270
- /* @__PURE__ */ jsxDEV3("ul", {
271
- className: "space-y-2 text-sm",
272
- children: tips.map((tip) => /* @__PURE__ */ jsxDEV3("li", {
273
- children: [
274
- "\u2022 ",
275
- tip
276
- ]
277
- }, tip, true, undefined, this))
278
- }, undefined, false, undefined, this)
279
- ]
280
- }, undefined, true, undefined, this)
139
+ /* @__PURE__ */ jsxDEV3("p", {
140
+ className: "text-muted-foreground text-sm",
141
+ children: "Visual builder documentation now lives in the Studio app docs."
142
+ }, undefined, false, undefined, this),
143
+ /* @__PURE__ */ jsxDEV3(Link3, {
144
+ href: "https://app.contractspec.studio/docs",
145
+ className: "btn-primary",
146
+ children: "Open Studio docs"
147
+ }, undefined, false, undefined, this)
281
148
  ]
282
149
  }, undefined, true, undefined, this);
283
150
  }
284
151
 
285
152
  // src/components/docs/studio/StudioIntegrationsPage.tsx
153
+ import Link4 from "@contractspec/lib.ui-link";
286
154
  import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
287
- var flow = [
288
- {
289
- title: "Connect a provider",
290
- body: "Choose a provider from the marketplace, enter credentials, and run the test connection. Studio encrypts secrets immediately."
291
- },
292
- {
293
- title: "Schedule syncs",
294
- body: "Define sync cadence (manual, hourly, daily). Studio tracks usage count and last sync timestamp."
295
- },
296
- {
297
- title: "Index knowledge",
298
- body: "Add documentation or API specs as knowledge sources. Reindex whenever files change."
299
- }
300
- ];
301
155
  function StudioIntegrationsPage() {
302
156
  return /* @__PURE__ */ jsxDEV4("main", {
303
- className: "space-y-12 py-12",
157
+ className: "space-y-6 py-12",
304
158
  children: [
305
- /* @__PURE__ */ jsxDEV4("header", {
306
- className: "space-y-3",
307
- children: [
308
- /* @__PURE__ */ jsxDEV4("p", {
309
- className: "text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase",
310
- children: "Integration hub"
311
- }, undefined, false, undefined, this),
312
- /* @__PURE__ */ jsxDEV4("h1", {
313
- className: "text-4xl font-bold",
314
- children: "Unified connections with BYOK"
315
- }, undefined, false, undefined, this),
316
- /* @__PURE__ */ jsxDEV4("p", {
317
- className: "text-muted-foreground max-w-3xl text-lg",
318
- children: "Manage SaaS providers and knowledge sources without scattering secrets across tools. Studio gives you a simple card layout plus CLI automation."
319
- }, undefined, false, undefined, this)
320
- ]
321
- }, undefined, true, undefined, this),
322
- /* @__PURE__ */ jsxDEV4("section", {
323
- className: "grid gap-4 md:grid-cols-3",
324
- children: flow.map((step) => /* @__PURE__ */ jsxDEV4("article", {
325
- className: "card-subtle space-y-2 p-6",
326
- children: [
327
- /* @__PURE__ */ jsxDEV4("h2", {
328
- className: "text-xl font-semibold",
329
- children: step.title
330
- }, undefined, false, undefined, this),
331
- /* @__PURE__ */ jsxDEV4("p", {
332
- className: "text-muted-foreground text-sm",
333
- children: step.body
334
- }, undefined, false, undefined, this)
335
- ]
336
- }, step.title, true, undefined, this))
159
+ /* @__PURE__ */ jsxDEV4("h1", {
160
+ className: "text-3xl font-bold",
161
+ children: "Studio docs moved"
337
162
  }, undefined, false, undefined, this),
338
- /* @__PURE__ */ jsxDEV4("section", {
339
- className: "space-y-2",
340
- children: [
341
- /* @__PURE__ */ jsxDEV4("h2", {
342
- className: "text-2xl font-semibold",
343
- children: "Monitoring"
344
- }, undefined, false, undefined, this),
345
- /* @__PURE__ */ jsxDEV4("p", {
346
- className: "text-muted-foreground text-sm",
347
- children: "Every integration exposes sync logs and failure alerts. Use the webhook to forward sync events to Slack or PagerDuty."
348
- }, undefined, false, undefined, this)
349
- ]
350
- }, undefined, true, undefined, this)
163
+ /* @__PURE__ */ jsxDEV4("p", {
164
+ className: "text-muted-foreground text-sm",
165
+ children: "Integration guides now live in the Studio app docs."
166
+ }, undefined, false, undefined, this),
167
+ /* @__PURE__ */ jsxDEV4(Link4, {
168
+ href: "https://app.contractspec.studio/docs",
169
+ className: "btn-primary",
170
+ children: "Open Studio docs"
171
+ }, undefined, false, undefined, this)
351
172
  ]
352
173
  }, undefined, true, undefined, this);
353
174
  }
354
175
 
355
176
  // src/components/docs/studio/StudioDeploymentsPage.tsx
177
+ import Link5 from "@contractspec/lib.ui-link";
356
178
  import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
357
- var comparisons = [
358
- {
359
- label: "Shared",
360
- points: [
361
- "Ready in seconds",
362
- "DEV + STAGE by default",
363
- "Best for prototypes",
364
- "Managed SSL"
365
- ]
366
- },
367
- {
368
- label: "Dedicated",
369
- points: [
370
- "Isolated clusters",
371
- "Choose region + VPC",
372
- "Rolling deploys",
373
- "Custom observability sinks"
374
- ]
375
- }
376
- ];
377
- var checklist = [
378
- "Validate specs before deploying (Studio does this automatically).",
379
- "Tag deployments with a description so rituals have context.",
380
- "Monitor status cards\u2014failed deploys trigger alerts and auto rollback.",
381
- "Use the CLI to export deployment manifests if you want infra-as-code."
382
- ];
383
179
  function StudioDeploymentsPage() {
384
180
  return /* @__PURE__ */ jsxDEV5("main", {
385
- className: "space-y-12 py-12",
181
+ className: "space-y-6 py-12",
386
182
  children: [
387
- /* @__PURE__ */ jsxDEV5("header", {
388
- className: "space-y-3",
389
- children: [
390
- /* @__PURE__ */ jsxDEV5("p", {
391
- className: "text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase",
392
- children: "Deployments"
393
- }, undefined, false, undefined, this),
394
- /* @__PURE__ */ jsxDEV5("h1", {
395
- className: "text-4xl font-bold",
396
- children: "Shared vs dedicated workflows"
397
- }, undefined, false, undefined, this),
398
- /* @__PURE__ */ jsxDEV5("p", {
399
- className: "text-muted-foreground max-w-3xl text-lg",
400
- children: "Studio abstracts infra, but you still stay in control. This guide explains how environments are provisioned, monitored, and rolled back."
401
- }, undefined, false, undefined, this)
402
- ]
403
- }, undefined, true, undefined, this),
404
- /* @__PURE__ */ jsxDEV5("section", {
405
- className: "grid gap-4 md:grid-cols-2",
406
- children: comparisons.map((option) => /* @__PURE__ */ jsxDEV5("article", {
407
- className: "card-subtle space-y-2 p-6",
408
- children: [
409
- /* @__PURE__ */ jsxDEV5("h2", {
410
- className: "text-2xl font-semibold",
411
- children: [
412
- option.label,
413
- " deployments"
414
- ]
415
- }, undefined, true, undefined, this),
416
- /* @__PURE__ */ jsxDEV5("ul", {
417
- className: "space-y-1 text-sm",
418
- children: option.points.map((point) => /* @__PURE__ */ jsxDEV5("li", {
419
- children: [
420
- "\u2022 ",
421
- point
422
- ]
423
- }, point, true, undefined, this))
424
- }, undefined, false, undefined, this)
425
- ]
426
- }, option.label, true, undefined, this))
183
+ /* @__PURE__ */ jsxDEV5("h1", {
184
+ className: "text-3xl font-bold",
185
+ children: "Studio docs moved"
427
186
  }, undefined, false, undefined, this),
428
- /* @__PURE__ */ jsxDEV5("section", {
429
- className: "space-y-3",
430
- children: [
431
- /* @__PURE__ */ jsxDEV5("h2", {
432
- className: "text-2xl font-semibold",
433
- children: "Health & rollback"
434
- }, undefined, false, undefined, this),
435
- /* @__PURE__ */ jsxDEV5("p", {
436
- className: "text-muted-foreground text-sm",
437
- children: "Every deployment emits health events. If a check fails, Studio pauses traffic and offers rollback controls with diff context."
438
- }, undefined, false, undefined, this),
439
- /* @__PURE__ */ jsxDEV5("ul", {
440
- className: "space-y-2 text-sm",
441
- children: checklist.map((item) => /* @__PURE__ */ jsxDEV5("li", {
442
- children: [
443
- "\u2022 ",
444
- item
445
- ]
446
- }, item, true, undefined, this))
447
- }, undefined, false, undefined, this)
448
- ]
449
- }, undefined, true, undefined, this)
187
+ /* @__PURE__ */ jsxDEV5("p", {
188
+ className: "text-muted-foreground text-sm",
189
+ children: "Deployment guidance now lives in the Studio app docs."
190
+ }, undefined, false, undefined, this),
191
+ /* @__PURE__ */ jsxDEV5(Link5, {
192
+ href: "https://app.contractspec.studio/docs",
193
+ className: "btn-primary",
194
+ children: "Open Studio docs"
195
+ }, undefined, false, undefined, this)
450
196
  ]
451
197
  }, undefined, true, undefined, this);
452
198
  }
453
199
 
454
200
  // src/components/docs/studio/StudioBYOKPage.tsx
201
+ import Link6 from "@contractspec/lib.ui-link";
455
202
  import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
456
- var steps2 = [
457
- {
458
- title: "1. Provide vault endpoint",
459
- body: "Enter your Vault/HSM URL and the key identifier. Studio only stores the reference."
460
- },
461
- {
462
- title: "2. Verify encryption",
463
- body: "Studio runs a test by encrypting a dummy payload and asking you to decrypt it."
464
- },
465
- {
466
- title: "3. Store credentials",
467
- body: "When integrations are connected, secrets get encrypted client side before landing in the database."
468
- },
469
- {
470
- title: "4. Rotate keys",
471
- body: "Trigger rotation from the BYOK manager. Studio fetches existing secrets, decrypts with the old key, and re-encrypts with the new one."
472
- }
473
- ];
474
203
  function StudioBYOKPage() {
475
204
  return /* @__PURE__ */ jsxDEV6("main", {
476
- className: "space-y-12 py-12",
205
+ className: "space-y-6 py-12",
477
206
  children: [
478
- /* @__PURE__ */ jsxDEV6("header", {
479
- className: "space-y-3",
480
- children: [
481
- /* @__PURE__ */ jsxDEV6("p", {
482
- className: "text-xs font-semibold tracking-[0.3em] text-violet-400 uppercase",
483
- children: "BYOK"
484
- }, undefined, false, undefined, this),
485
- /* @__PURE__ */ jsxDEV6("h1", {
486
- className: "text-4xl font-bold",
487
- children: "Bring your own key to Studio"
488
- }, undefined, false, undefined, this),
489
- /* @__PURE__ */ jsxDEV6("p", {
490
- className: "text-muted-foreground max-w-3xl text-lg",
491
- children: "Keep secrets under your control. Studio never touches plaintext credentials; everything is encrypted with tenant-specific material."
492
- }, undefined, false, undefined, this)
493
- ]
494
- }, undefined, true, undefined, this),
495
- /* @__PURE__ */ jsxDEV6("section", {
496
- className: "grid gap-4 md:grid-cols-2",
497
- children: steps2.map((step) => /* @__PURE__ */ jsxDEV6("article", {
498
- className: "card-subtle space-y-2 p-6",
499
- children: [
500
- /* @__PURE__ */ jsxDEV6("h2", {
501
- className: "text-xl font-semibold",
502
- children: step.title
503
- }, undefined, false, undefined, this),
504
- /* @__PURE__ */ jsxDEV6("p", {
505
- className: "text-muted-foreground text-sm",
506
- children: step.body
507
- }, undefined, false, undefined, this)
508
- ]
509
- }, step.title, true, undefined, this))
207
+ /* @__PURE__ */ jsxDEV6("h1", {
208
+ className: "text-3xl font-bold",
209
+ children: "Studio docs moved"
510
210
  }, undefined, false, undefined, this),
511
- /* @__PURE__ */ jsxDEV6("section", {
512
- className: "space-y-2",
513
- children: [
514
- /* @__PURE__ */ jsxDEV6("h2", {
515
- className: "text-2xl font-semibold",
516
- children: "Audit trail"
517
- }, undefined, false, undefined, this),
518
- /* @__PURE__ */ jsxDEV6("p", {
519
- className: "text-muted-foreground text-sm",
520
- children: "Every decrypt operation logs who requested it, what integration was involved, and the purpose (sync, deploy, manual action)."
521
- }, undefined, false, undefined, this),
522
- /* @__PURE__ */ jsxDEV6("p", {
523
- className: "text-muted-foreground text-sm",
524
- children: "You can stream audit logs to your SIEM via webhooks or export CSVs for compliance reviews."
525
- }, undefined, false, undefined, this)
526
- ]
527
- }, undefined, true, undefined, this)
211
+ /* @__PURE__ */ jsxDEV6("p", {
212
+ className: "text-muted-foreground text-sm",
213
+ children: "Security and BYOK guidance now lives in the Studio app docs."
214
+ }, undefined, false, undefined, this),
215
+ /* @__PURE__ */ jsxDEV6(Link6, {
216
+ href: "https://app.contractspec.studio/docs",
217
+ className: "btn-primary",
218
+ children: "Open Studio docs"
219
+ }, undefined, false, undefined, this)
528
220
  ]
529
221
  }, undefined, true, undefined, this);
530
222
  }