@contractspec/lib.example-shared-ui 6.0.6 → 6.0.7
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/.turbo/turbo-build.log +90 -84
- package/AGENTS.md +43 -25
- package/README.md +63 -35
- package/dist/EvolutionDashboard.js +9 -9
- package/dist/EvolutionSidebar.js +15 -15
- package/dist/LocalDataIndicator.js +3 -3
- package/dist/MarkdownView.d.ts +0 -7
- package/dist/MarkdownView.js +76 -172
- package/dist/PersonalizationInsights.js +12 -12
- package/dist/SaveToStudioButton.js +2 -2
- package/dist/SpecDrivenTemplateShell.d.ts +1 -1
- package/dist/SpecDrivenTemplateShell.js +10 -10
- package/dist/SpecEditorPanel.js +3 -3
- package/dist/TemplateShell.js +10 -10
- package/dist/browser/EvolutionDashboard.js +9 -9
- package/dist/browser/EvolutionSidebar.js +15 -15
- package/dist/browser/LocalDataIndicator.js +3 -3
- package/dist/browser/MarkdownView.js +76 -172
- package/dist/browser/PersonalizationInsights.js +12 -12
- package/dist/browser/SaveToStudioButton.js +2 -2
- package/dist/browser/SpecDrivenTemplateShell.js +10 -10
- package/dist/browser/SpecEditorPanel.js +3 -3
- package/dist/browser/TemplateShell.js +10 -10
- package/dist/browser/hooks/index.js +29 -29
- package/dist/browser/index.js +193 -286
- package/dist/browser/lib/component-registry.js +1 -1
- package/dist/browser/markdown/formatPresentationName.js +9 -0
- package/dist/browser/markdown/useMarkdownPresentation.js +65 -0
- package/dist/hooks/index.d.ts +3 -3
- package/dist/hooks/index.js +29 -29
- package/dist/index.d.ts +12 -11
- package/dist/index.js +193 -286
- package/dist/lib/component-registry.js +1 -1
- package/dist/markdown/formatPresentationName.d.ts +1 -0
- package/dist/markdown/formatPresentationName.js +10 -0
- package/dist/markdown/useMarkdownPresentation.d.ts +21 -0
- package/dist/markdown/useMarkdownPresentation.js +66 -0
- package/dist/node/EvolutionDashboard.js +9 -9
- package/dist/node/EvolutionSidebar.js +15 -15
- package/dist/node/LocalDataIndicator.js +3 -3
- package/dist/node/MarkdownView.js +76 -172
- package/dist/node/PersonalizationInsights.js +12 -12
- package/dist/node/SaveToStudioButton.js +2 -2
- package/dist/node/SpecDrivenTemplateShell.js +10 -10
- package/dist/node/SpecEditorPanel.js +3 -3
- package/dist/node/TemplateShell.js +10 -10
- package/dist/node/hooks/index.js +29 -29
- package/dist/node/index.js +193 -286
- package/dist/node/lib/component-registry.js +1 -1
- package/dist/node/markdown/formatPresentationName.js +9 -0
- package/dist/node/markdown/useMarkdownPresentation.js +65 -0
- package/dist/utils/index.d.ts +1 -1
- package/package.json +38 -11
- package/src/EvolutionDashboard.tsx +415 -415
- package/src/EvolutionSidebar.tsx +245 -245
- package/src/LocalDataIndicator.tsx +28 -28
- package/src/MarkdownView.tsx +119 -372
- package/src/OverlayContextProvider.tsx +272 -272
- package/src/PersonalizationInsights.tsx +232 -232
- package/src/SaveToStudioButton.tsx +51 -51
- package/src/SpecDrivenTemplateShell.tsx +59 -59
- package/src/SpecEditorPanel.tsx +138 -138
- package/src/TemplateShell.tsx +50 -50
- package/src/bundles/ExampleTemplateBundle.ts +78 -78
- package/src/hooks/index.ts +3 -3
- package/src/hooks/useBehaviorTracking.ts +252 -252
- package/src/hooks/useEvolution.ts +437 -437
- package/src/hooks/useRegistryTemplates.ts +42 -42
- package/src/hooks/useSpecContent.ts +214 -214
- package/src/hooks/useWorkflowComposer.ts +567 -567
- package/src/index.ts +12 -11
- package/src/lib/component-registry.tsx +40 -40
- package/src/lib/runtime-context.tsx +31 -31
- package/src/lib/types.ts +57 -57
- package/src/markdown/formatPresentationName.ts +9 -0
- package/src/markdown/useMarkdownPresentation.ts +107 -0
- package/src/overlay-types.ts +15 -15
- package/src/utils/fetchPresentationData.ts +13 -13
- package/src/utils/generateSpecFromTemplate.ts +29 -29
- package/src/utils/index.ts +1 -1
- package/tsconfig.json +8 -8
|
@@ -5,38 +5,38 @@ import type { TemplateDefinition, TemplateId } from '../lib/types';
|
|
|
5
5
|
* Converts FeatureModuleSpec contracts to TypeScript spec code.
|
|
6
6
|
*/
|
|
7
7
|
export function generateSpecFromTemplate(
|
|
8
|
-
|
|
8
|
+
template: TemplateDefinition | null
|
|
9
9
|
): string {
|
|
10
|
-
|
|
10
|
+
const templateId = template?.id ?? 'unknown';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
if (!template) {
|
|
13
|
+
return generateDefaultSpec(templateId);
|
|
14
|
+
}
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
16
|
+
// Generate spec based on template type
|
|
17
|
+
switch (templateId) {
|
|
18
|
+
case 'crm-pipeline':
|
|
19
|
+
return generateCrmPipelineSpec(template.schema.contracts);
|
|
20
|
+
case 'saas-boilerplate':
|
|
21
|
+
return generateSaasBoilerplateSpec(template.schema.contracts);
|
|
22
|
+
case 'agent-console':
|
|
23
|
+
return generateAgentConsoleSpec(template.schema.contracts);
|
|
24
|
+
case 'todos-app':
|
|
25
|
+
return generateTodosSpec(template.schema.contracts);
|
|
26
|
+
case 'messaging-app':
|
|
27
|
+
return generateMessagingSpec(template.schema.contracts);
|
|
28
|
+
case 'recipe-app-i18n':
|
|
29
|
+
return generateRecipeSpec(template.schema.contracts);
|
|
30
|
+
default:
|
|
31
|
+
return generateDefaultSpec(templateId);
|
|
32
|
+
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* CRM Pipeline spec
|
|
37
37
|
*/
|
|
38
38
|
function generateCrmPipelineSpec(contracts: string[]): string {
|
|
39
|
-
|
|
39
|
+
return `// CRM Pipeline Specs
|
|
40
40
|
// Contracts: ${contracts.join(', ')}
|
|
41
41
|
|
|
42
42
|
contractSpec("crm.deal.updateStage.v1", {
|
|
@@ -113,7 +113,7 @@ contractSpec("crm.contact.list.v1", {
|
|
|
113
113
|
* SaaS Boilerplate spec
|
|
114
114
|
*/
|
|
115
115
|
function generateSaasBoilerplateSpec(contracts: string[]): string {
|
|
116
|
-
|
|
116
|
+
return `// SaaS Boilerplate Specs
|
|
117
117
|
// Contracts: ${contracts.join(', ')}
|
|
118
118
|
|
|
119
119
|
contractSpec("saas.project.create.v1", {
|
|
@@ -184,7 +184,7 @@ contractSpec("saas.settings.update.v1", {
|
|
|
184
184
|
* Agent Console spec
|
|
185
185
|
*/
|
|
186
186
|
function generateAgentConsoleSpec(contracts: string[]): string {
|
|
187
|
-
|
|
187
|
+
return `// Agent Console Specs
|
|
188
188
|
// Contracts: ${contracts.join(', ')}
|
|
189
189
|
|
|
190
190
|
contractSpec("agent.run.execute.v1", {
|
|
@@ -258,7 +258,7 @@ contractSpec("agent.agent.create.v1", {
|
|
|
258
258
|
* Todos App spec
|
|
259
259
|
*/
|
|
260
260
|
function generateTodosSpec(contracts: string[]): string {
|
|
261
|
-
|
|
261
|
+
return `// To-dos App Specs
|
|
262
262
|
// Contracts: ${contracts.join(', ')}
|
|
263
263
|
|
|
264
264
|
contractSpec("tasks.board.v1", {
|
|
@@ -325,7 +325,7 @@ contractSpec("tasks.complete.v1", {
|
|
|
325
325
|
* Messaging App spec
|
|
326
326
|
*/
|
|
327
327
|
function generateMessagingSpec(contracts: string[]): string {
|
|
328
|
-
|
|
328
|
+
return `// Messaging App Specs
|
|
329
329
|
// Contracts: ${contracts.join(', ')}
|
|
330
330
|
|
|
331
331
|
contractSpec("messaging.send.v1", {
|
|
@@ -386,7 +386,7 @@ contractSpec("messaging.read.v1", {
|
|
|
386
386
|
* Recipe App spec
|
|
387
387
|
*/
|
|
388
388
|
function generateRecipeSpec(contracts: string[]): string {
|
|
389
|
-
|
|
389
|
+
return `// Recipe App (i18n) Specs
|
|
390
390
|
// Contracts: ${contracts.join(', ')}
|
|
391
391
|
|
|
392
392
|
contractSpec("recipes.lookup.v1", {
|
|
@@ -441,7 +441,7 @@ contractSpec("recipes.favorite.toggle.v1", {
|
|
|
441
441
|
* Default spec for unknown templates
|
|
442
442
|
*/
|
|
443
443
|
function generateDefaultSpec(templateId: TemplateId): string {
|
|
444
|
-
|
|
444
|
+
return `// ${templateId} Specs
|
|
445
445
|
|
|
446
446
|
contractSpec("${templateId}.main.v1", {
|
|
447
447
|
goal: "Main operation for ${templateId}",
|
package/src/utils/index.ts
CHANGED
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
"extends": "@contractspec/tool.typescript/react-library.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"jsx": "react-jsx",
|
|
7
|
+
"outDir": "dist"
|
|
8
|
+
},
|
|
9
|
+
"include": ["src/**/*"]
|
|
10
10
|
}
|