@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.
Files changed (81) hide show
  1. package/.turbo/turbo-build.log +90 -84
  2. package/AGENTS.md +43 -25
  3. package/README.md +63 -35
  4. package/dist/EvolutionDashboard.js +9 -9
  5. package/dist/EvolutionSidebar.js +15 -15
  6. package/dist/LocalDataIndicator.js +3 -3
  7. package/dist/MarkdownView.d.ts +0 -7
  8. package/dist/MarkdownView.js +76 -172
  9. package/dist/PersonalizationInsights.js +12 -12
  10. package/dist/SaveToStudioButton.js +2 -2
  11. package/dist/SpecDrivenTemplateShell.d.ts +1 -1
  12. package/dist/SpecDrivenTemplateShell.js +10 -10
  13. package/dist/SpecEditorPanel.js +3 -3
  14. package/dist/TemplateShell.js +10 -10
  15. package/dist/browser/EvolutionDashboard.js +9 -9
  16. package/dist/browser/EvolutionSidebar.js +15 -15
  17. package/dist/browser/LocalDataIndicator.js +3 -3
  18. package/dist/browser/MarkdownView.js +76 -172
  19. package/dist/browser/PersonalizationInsights.js +12 -12
  20. package/dist/browser/SaveToStudioButton.js +2 -2
  21. package/dist/browser/SpecDrivenTemplateShell.js +10 -10
  22. package/dist/browser/SpecEditorPanel.js +3 -3
  23. package/dist/browser/TemplateShell.js +10 -10
  24. package/dist/browser/hooks/index.js +29 -29
  25. package/dist/browser/index.js +193 -286
  26. package/dist/browser/lib/component-registry.js +1 -1
  27. package/dist/browser/markdown/formatPresentationName.js +9 -0
  28. package/dist/browser/markdown/useMarkdownPresentation.js +65 -0
  29. package/dist/hooks/index.d.ts +3 -3
  30. package/dist/hooks/index.js +29 -29
  31. package/dist/index.d.ts +12 -11
  32. package/dist/index.js +193 -286
  33. package/dist/lib/component-registry.js +1 -1
  34. package/dist/markdown/formatPresentationName.d.ts +1 -0
  35. package/dist/markdown/formatPresentationName.js +10 -0
  36. package/dist/markdown/useMarkdownPresentation.d.ts +21 -0
  37. package/dist/markdown/useMarkdownPresentation.js +66 -0
  38. package/dist/node/EvolutionDashboard.js +9 -9
  39. package/dist/node/EvolutionSidebar.js +15 -15
  40. package/dist/node/LocalDataIndicator.js +3 -3
  41. package/dist/node/MarkdownView.js +76 -172
  42. package/dist/node/PersonalizationInsights.js +12 -12
  43. package/dist/node/SaveToStudioButton.js +2 -2
  44. package/dist/node/SpecDrivenTemplateShell.js +10 -10
  45. package/dist/node/SpecEditorPanel.js +3 -3
  46. package/dist/node/TemplateShell.js +10 -10
  47. package/dist/node/hooks/index.js +29 -29
  48. package/dist/node/index.js +193 -286
  49. package/dist/node/lib/component-registry.js +1 -1
  50. package/dist/node/markdown/formatPresentationName.js +9 -0
  51. package/dist/node/markdown/useMarkdownPresentation.js +65 -0
  52. package/dist/utils/index.d.ts +1 -1
  53. package/package.json +38 -11
  54. package/src/EvolutionDashboard.tsx +415 -415
  55. package/src/EvolutionSidebar.tsx +245 -245
  56. package/src/LocalDataIndicator.tsx +28 -28
  57. package/src/MarkdownView.tsx +119 -372
  58. package/src/OverlayContextProvider.tsx +272 -272
  59. package/src/PersonalizationInsights.tsx +232 -232
  60. package/src/SaveToStudioButton.tsx +51 -51
  61. package/src/SpecDrivenTemplateShell.tsx +59 -59
  62. package/src/SpecEditorPanel.tsx +138 -138
  63. package/src/TemplateShell.tsx +50 -50
  64. package/src/bundles/ExampleTemplateBundle.ts +78 -78
  65. package/src/hooks/index.ts +3 -3
  66. package/src/hooks/useBehaviorTracking.ts +252 -252
  67. package/src/hooks/useEvolution.ts +437 -437
  68. package/src/hooks/useRegistryTemplates.ts +42 -42
  69. package/src/hooks/useSpecContent.ts +214 -214
  70. package/src/hooks/useWorkflowComposer.ts +567 -567
  71. package/src/index.ts +12 -11
  72. package/src/lib/component-registry.tsx +40 -40
  73. package/src/lib/runtime-context.tsx +31 -31
  74. package/src/lib/types.ts +57 -57
  75. package/src/markdown/formatPresentationName.ts +9 -0
  76. package/src/markdown/useMarkdownPresentation.ts +107 -0
  77. package/src/overlay-types.ts +15 -15
  78. package/src/utils/fetchPresentationData.ts +13 -13
  79. package/src/utils/generateSpecFromTemplate.ts +29 -29
  80. package/src/utils/index.ts +1 -1
  81. 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
- template: TemplateDefinition | null
8
+ template: TemplateDefinition | null
9
9
  ): string {
10
- const templateId = template?.id ?? 'unknown';
10
+ const templateId = template?.id ?? 'unknown';
11
11
 
12
- if (!template) {
13
- return generateDefaultSpec(templateId);
14
- }
12
+ if (!template) {
13
+ return generateDefaultSpec(templateId);
14
+ }
15
15
 
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
- }
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
- return `// CRM Pipeline Specs
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
- return `// SaaS Boilerplate Specs
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
- return `// Agent Console Specs
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
- return `// To-dos App Specs
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
- return `// Messaging App Specs
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
- return `// Recipe App (i18n) Specs
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
- return `// ${templateId} Specs
444
+ return `// ${templateId} Specs
445
445
 
446
446
  contractSpec("${templateId}.main.v1", {
447
447
  goal: "Main operation for ${templateId}",
@@ -1,2 +1,2 @@
1
- export * from './generateSpecFromTemplate';
2
1
  export * from './fetchPresentationData';
2
+ export * from './generateSpecFromTemplate';
package/tsconfig.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
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/**/*"]
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
  }