@happyvertical/smrt-core 0.40.49 → 0.40.50

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 (80) hide show
  1. package/agents/generators.md +32 -0
  2. package/dist/generators/cli.d.ts +11 -3
  3. package/dist/generators/cli.d.ts.map +1 -1
  4. package/dist/generators/cli.js +54 -11
  5. package/dist/generators/cli.js.map +1 -1
  6. package/dist/generators/custom-action.d.ts +68 -0
  7. package/dist/generators/custom-action.d.ts.map +1 -0
  8. package/dist/generators/custom-action.js +128 -0
  9. package/dist/generators/custom-action.js.map +1 -0
  10. package/dist/generators/index.d.ts +1 -0
  11. package/dist/generators/index.d.ts.map +1 -1
  12. package/dist/generators/index.js +2 -1
  13. package/dist/generators/mcp-runtime-template.d.ts +11 -0
  14. package/dist/generators/mcp-runtime-template.d.ts.map +1 -1
  15. package/dist/generators/mcp-runtime-template.js +40 -12
  16. package/dist/generators/mcp-runtime-template.js.map +1 -1
  17. package/dist/generators/mcp.d.ts +6 -0
  18. package/dist/generators/mcp.d.ts.map +1 -1
  19. package/dist/generators/mcp.js +157 -67
  20. package/dist/generators/mcp.js.map +1 -1
  21. package/dist/generators/tool-schema.d.ts +3 -1
  22. package/dist/generators/tool-schema.d.ts.map +1 -1
  23. package/dist/generators/tool-schema.js +8 -17
  24. package/dist/generators/tool-schema.js.map +1 -1
  25. package/dist/generators.js +2 -1
  26. package/dist/index.js +2 -1
  27. package/dist/manifest/static-manifest.js +2 -2
  28. package/dist/manifest/static-manifest.js.map +1 -1
  29. package/dist/manifest/store.js +1 -1
  30. package/dist/manifest/test-manifest-stub.d.ts.map +1 -1
  31. package/dist/manifest/test-manifest-stub.js +405 -581
  32. package/dist/manifest/test-manifest-stub.js.map +1 -1
  33. package/dist/manifest.json +2 -2
  34. package/dist/scanner/manifest-generator.d.ts.map +1 -1
  35. package/dist/scanner/manifest-generator.js +10 -4
  36. package/dist/scanner/manifest-generator.js.map +1 -1
  37. package/dist/smrt-knowledge.json +6 -7
  38. package/dist/vite-plugin/api-client-entries.d.ts.map +1 -1
  39. package/dist/vite-plugin/api-client-entries.js +6 -7
  40. package/dist/vite-plugin/api-client-entries.js.map +1 -1
  41. package/dist/vite-plugin/index.d.ts +1 -1
  42. package/dist/vite-plugin/index.d.ts.map +1 -1
  43. package/dist/vite-plugin/index.js +2 -2
  44. package/dist/vite-plugin/index.js.map +1 -1
  45. package/dist/vite-plugin/sveltekit-generator.d.ts.map +1 -1
  46. package/dist/vite-plugin/sveltekit-generator.js +29 -5
  47. package/dist/vite-plugin/sveltekit-generator.js.map +1 -1
  48. package/dist/vite-plugin/web-collections.d.ts.map +1 -1
  49. package/dist/vite-plugin/web-collections.js +7 -1
  50. package/dist/vite-plugin/web-collections.js.map +1 -1
  51. package/dist/vite-plugin.js +2 -2
  52. package/package.json +4 -5
  53. package/dist/__tests__/fixtures/advisor-test-classes.d.ts +0 -37
  54. package/dist/__tests__/fixtures/advisor-test-classes.d.ts.map +0 -1
  55. package/dist/mcp-advisor/index.d.ts +0 -499
  56. package/dist/mcp-advisor/index.d.ts.map +0 -1
  57. package/dist/mcp-advisor/tools/add-ai-methods.d.ts +0 -6
  58. package/dist/mcp-advisor/tools/add-ai-methods.d.ts.map +0 -1
  59. package/dist/mcp-advisor/tools/configure-decorators.d.ts +0 -6
  60. package/dist/mcp-advisor/tools/configure-decorators.d.ts.map +0 -1
  61. package/dist/mcp-advisor/tools/generate-collection.d.ts +0 -6
  62. package/dist/mcp-advisor/tools/generate-collection.d.ts.map +0 -1
  63. package/dist/mcp-advisor/tools/generate-field-definitions.d.ts +0 -6
  64. package/dist/mcp-advisor/tools/generate-field-definitions.d.ts.map +0 -1
  65. package/dist/mcp-advisor/tools/generate-smrt-class.d.ts +0 -6
  66. package/dist/mcp-advisor/tools/generate-smrt-class.d.ts.map +0 -1
  67. package/dist/mcp-advisor/tools/get-object-config.d.ts +0 -6
  68. package/dist/mcp-advisor/tools/get-object-config.d.ts.map +0 -1
  69. package/dist/mcp-advisor/tools/get-object-schema.d.ts +0 -10
  70. package/dist/mcp-advisor/tools/get-object-schema.d.ts.map +0 -1
  71. package/dist/mcp-advisor/tools/list-registered-objects.d.ts +0 -9
  72. package/dist/mcp-advisor/tools/list-registered-objects.d.ts.map +0 -1
  73. package/dist/mcp-advisor/tools/preview-api-endpoints.d.ts +0 -10
  74. package/dist/mcp-advisor/tools/preview-api-endpoints.d.ts.map +0 -1
  75. package/dist/mcp-advisor/tools/preview-mcp-tools.d.ts +0 -9
  76. package/dist/mcp-advisor/tools/preview-mcp-tools.d.ts.map +0 -1
  77. package/dist/mcp-advisor/tools/validate-smrt-object.d.ts +0 -6
  78. package/dist/mcp-advisor/tools/validate-smrt-object.d.ts.map +0 -1
  79. package/dist/mcp-advisor/types.d.ts +0 -213
  80. package/dist/mcp-advisor/types.d.ts.map +0 -1
@@ -1,9 +1,9 @@
1
1
  //#region src/manifest/test-manifest-stub.ts
2
2
  var testManifest = {
3
3
  "version": "1.0.0",
4
- "timestamp": 1785796603201,
4
+ "timestamp": 1785810039808,
5
5
  "packageName": "@happyvertical/smrt-core",
6
- "packageVersion": "0.40.49",
6
+ "packageVersion": "0.40.50",
7
7
  "objects": {
8
8
  "@happyvertical/smrt-core:SmrtClass": {
9
9
  "name": "smrtclass",
@@ -67199,6 +67199,59 @@ var testManifest = {
67199
67199
  "isStatic": false,
67200
67200
  "isPublic": true
67201
67201
  },
67202
+ "window": {
67203
+ "name": "window",
67204
+ "async": true,
67205
+ "parameters": [
67206
+ {
67207
+ "name": "limit",
67208
+ "type": "number",
67209
+ "optional": false
67210
+ },
67211
+ {
67212
+ "name": "offset",
67213
+ "type": "number",
67214
+ "optional": false
67215
+ },
67216
+ {
67217
+ "name": "where",
67218
+ "type": "string",
67219
+ "optional": false
67220
+ },
67221
+ {
67222
+ "name": "format",
67223
+ "type": "string",
67224
+ "optional": false
67225
+ }
67226
+ ],
67227
+ "returnType": "Promise<any>",
67228
+ "isStatic": false,
67229
+ "isPublic": true
67230
+ },
67231
+ "move": {
67232
+ "name": "move",
67233
+ "async": true,
67234
+ "parameters": [{
67235
+ "name": "id",
67236
+ "type": "string",
67237
+ "optional": false
67238
+ }],
67239
+ "returnType": "Promise<any>",
67240
+ "isStatic": false,
67241
+ "isPublic": true
67242
+ },
67243
+ "withDefaults": {
67244
+ "name": "withDefaults",
67245
+ "async": true,
67246
+ "parameters": [{
67247
+ "name": "options",
67248
+ "type": "any",
67249
+ "optional": true
67250
+ }],
67251
+ "returnType": "Promise<any>",
67252
+ "isStatic": false,
67253
+ "isPublic": true
67254
+ },
67202
67255
  "tally": {
67203
67256
  "name": "tally",
67204
67257
  "async": true,
@@ -67208,7 +67261,19 @@ var testManifest = {
67208
67261
  "optional": true
67209
67262
  }],
67210
67263
  "returnType": "Promise<any>",
67211
- "isStatic": false,
67264
+ "isStatic": true,
67265
+ "isPublic": true
67266
+ },
67267
+ "archive": {
67268
+ "name": "archive",
67269
+ "async": true,
67270
+ "parameters": [{
67271
+ "name": "id",
67272
+ "type": "string",
67273
+ "optional": false
67274
+ }],
67275
+ "returnType": "Promise<any>",
67276
+ "isStatic": true,
67212
67277
  "isPublic": true
67213
67278
  }
67214
67279
  },
@@ -67275,18 +67340,7 @@ var testManifest = {
67275
67340
  "filePath": "packages/core/src/generators/cli-commands.spec.ts",
67276
67341
  "packageName": "@happyvertical/smrt-core",
67277
67342
  "fields": {},
67278
- "methods": { "tally": {
67279
- "name": "tally",
67280
- "async": true,
67281
- "parameters": [{
67282
- "name": "options",
67283
- "type": "any",
67284
- "optional": true
67285
- }],
67286
- "returnType": "Promise<any>",
67287
- "isStatic": false,
67288
- "isPublic": true
67289
- } },
67343
+ "methods": {},
67290
67344
  "decoratorConfig": {},
67291
67345
  "extends": "SmrtCollection",
67292
67346
  "extendsTypeArg": "CliCmdWidget",
@@ -70501,39 +70555,118 @@ var testManifest = {
70501
70555
  "version": "2c776e2b"
70502
70556
  }
70503
70557
  },
70504
- "@happyvertical/smrt-core:RestRouteWidget": {
70505
- "name": "restroutewidget",
70506
- "className": "RestRouteWidget",
70507
- "qualifiedName": "@happyvertical/smrt-core:RestRouteWidget",
70508
- "collection": "restroutewidgets",
70509
- "filePath": "packages/core/src/generators/rest-routes.spec.ts",
70558
+ "@happyvertical/smrt-core:MCPConformanceAgent": {
70559
+ "name": "mcpconformanceagent",
70560
+ "className": "MCPConformanceAgent",
70561
+ "qualifiedName": "@happyvertical/smrt-core:MCPConformanceAgent",
70562
+ "collection": "mcpconformanceagents",
70563
+ "filePath": "packages/core/src/generators/mcp.test.ts",
70510
70564
  "packageName": "@happyvertical/smrt-core",
70511
- "fields": {
70512
- "name": {
70513
- "type": "text",
70514
- "required": false,
70515
- "_meta": {}
70565
+ "fields": {},
70566
+ "methods": {
70567
+ "apply": {
70568
+ "name": "apply",
70569
+ "async": true,
70570
+ "parameters": [{
70571
+ "name": "idempotencyKey",
70572
+ "type": "string",
70573
+ "optional": false
70574
+ }, {
70575
+ "name": "expectedVersion",
70576
+ "type": "number",
70577
+ "optional": true
70578
+ }],
70579
+ "returnType": "Promise<any>",
70580
+ "isStatic": false,
70581
+ "isPublic": true
70516
70582
  },
70517
- "price": {
70518
- "type": "integer",
70519
- "required": false,
70520
- "_meta": {}
70583
+ "rebalance": {
70584
+ "name": "rebalance",
70585
+ "async": true,
70586
+ "parameters": [{
70587
+ "name": "idempotencyKey",
70588
+ "type": "string",
70589
+ "optional": false
70590
+ }, {
70591
+ "name": "expectedVersion",
70592
+ "type": "number",
70593
+ "optional": true
70594
+ }],
70595
+ "returnType": "Promise<any>",
70596
+ "isStatic": true,
70597
+ "isPublic": true
70521
70598
  },
70522
- "internalCode": {
70523
- "type": "text",
70524
- "required": false,
70525
- "_meta": { "readonly": true },
70526
- "readonly": true
70599
+ "archive": {
70600
+ "name": "archive",
70601
+ "async": true,
70602
+ "parameters": [{
70603
+ "name": "id",
70604
+ "type": "string",
70605
+ "optional": false
70606
+ }],
70607
+ "returnType": "Promise<any>",
70608
+ "isStatic": true,
70609
+ "isPublic": true
70610
+ },
70611
+ "restoreIntoContent": {
70612
+ "name": "restoreIntoContent",
70613
+ "async": true,
70614
+ "parameters": [{
70615
+ "name": "idempotencyKey",
70616
+ "type": "string",
70617
+ "optional": false
70618
+ }],
70619
+ "returnType": "Promise<any>",
70620
+ "isStatic": false,
70621
+ "isPublic": true
70622
+ },
70623
+ "move": {
70624
+ "name": "move",
70625
+ "async": true,
70626
+ "parameters": [{
70627
+ "name": "id",
70628
+ "type": "string",
70629
+ "optional": false
70630
+ }],
70631
+ "returnType": "Promise<any>",
70632
+ "isStatic": false,
70633
+ "isPublic": true
70634
+ },
70635
+ "fail": {
70636
+ "name": "fail",
70637
+ "async": true,
70638
+ "parameters": [],
70639
+ "returnType": "Promise<any>",
70640
+ "isStatic": false,
70641
+ "isPublic": true
70642
+ },
70643
+ "opaque": {
70644
+ "name": "opaque",
70645
+ "async": true,
70646
+ "parameters": [],
70647
+ "returnType": "Promise<any>",
70648
+ "isStatic": false,
70649
+ "isPublic": true
70527
70650
  }
70528
70651
  },
70529
- "methods": {},
70530
- "decoratorConfig": { "api": { "public": true } },
70652
+ "decoratorConfig": {
70653
+ "mcp": { "include": [
70654
+ "apply",
70655
+ "rebalance",
70656
+ "archive",
70657
+ "restoreIntoContent",
70658
+ "move",
70659
+ "fail",
70660
+ "opaque"
70661
+ ] },
70662
+ "api": { "routes": { "apply": { "scope": "collection" } } }
70663
+ },
70531
70664
  "extends": "SmrtObject",
70532
- "exportName": "RestRouteWidget",
70533
- "collectionExportName": "RestRouteWidgetCollection",
70665
+ "exportName": "MCPConformanceAgent",
70666
+ "collectionExportName": "MCPConformanceAgentCollection",
70534
70667
  "schema": {
70535
- "tableName": "rest_route_widgets",
70536
- "ddl": "CREATE TABLE IF NOT EXISTS \"rest_route_widgets\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"name\" TEXT,\n \"price\" INTEGER,\n \"internal_code\" TEXT\n);",
70668
+ "tableName": "mcpconformance_agents",
70669
+ "ddl": "CREATE TABLE IF NOT EXISTS \"mcpconformance_agents\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
70537
70670
  "columns": {
70538
70671
  "id": {
70539
70672
  "type": "UUID",
@@ -70559,112 +70692,253 @@ var testManifest = {
70559
70692
  "type": "TIMESTAMP",
70560
70693
  "notNull": true,
70561
70694
  "default": "current_timestamp"
70562
- },
70563
- "name": {
70564
- "type": "TEXT",
70565
- "notNull": false,
70566
- "unique": false
70567
- },
70568
- "price": {
70569
- "type": "INTEGER",
70570
- "notNull": false,
70571
- "unique": false
70572
- },
70573
- "internal_code": {
70574
- "type": "TEXT",
70575
- "notNull": false,
70576
- "unique": false
70577
70695
  }
70578
70696
  },
70579
70697
  "indexes": [{
70580
- "name": "rest_route_widgets_id_idx",
70698
+ "name": "mcpconformance_agents_id_idx",
70581
70699
  "columns": ["id"]
70582
70700
  }, {
70583
- "name": "rest_route_widgets_slug_context_idx",
70701
+ "name": "mcpconformance_agents_slug_context_idx",
70584
70702
  "columns": ["slug", "context"],
70585
70703
  "unique": true
70586
70704
  }],
70587
- "version": "e55b9ab5"
70705
+ "version": "e92a5e91"
70588
70706
  }
70589
70707
  },
70590
- "@happyvertical/smrt-core:RestRouteWidgetCollection": {
70591
- "name": "restroutewidgetcollection",
70592
- "className": "RestRouteWidgetCollection",
70593
- "qualifiedName": "@happyvertical/smrt-core:RestRouteWidgetCollection",
70594
- "collection": "restroutewidgets",
70595
- "filePath": "packages/core/src/generators/rest-routes.spec.ts",
70708
+ "@happyvertical/smrt-core:MCPConformanceCollection": {
70709
+ "name": "mcpconformancecollection",
70710
+ "className": "MCPConformanceCollection",
70711
+ "qualifiedName": "@happyvertical/smrt-core:MCPConformanceCollection",
70712
+ "collection": "mcpconformanceagents",
70713
+ "filePath": "packages/core/src/generators/mcp.test.ts",
70596
70714
  "packageName": "@happyvertical/smrt-core",
70597
70715
  "fields": {},
70598
- "methods": {},
70599
- "decoratorConfig": {},
70600
- "extends": "SmrtCollection",
70601
- "extendsTypeArg": "RestRouteWidget",
70602
- "exportName": "RestRouteWidgetCollection",
70603
- "collectionExportName": "RestRouteWidgetCollectionCollection",
70604
- "schema": {
70605
- "tableName": "rest_route_widget_collections",
70606
- "ddl": "CREATE TABLE IF NOT EXISTS \"rest_route_widget_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
70607
- "columns": {
70608
- "id": {
70609
- "type": "UUID",
70610
- "primaryKey": true,
70611
- "referenceKind": "id",
70612
- "notNull": true
70613
- },
70614
- "slug": {
70615
- "type": "TEXT",
70616
- "notNull": true
70617
- },
70618
- "context": {
70619
- "type": "TEXT",
70620
- "notNull": true,
70621
- "default": ""
70622
- },
70623
- "created_at": {
70624
- "type": "TIMESTAMP",
70625
- "notNull": true,
70626
- "default": "current_timestamp"
70627
- },
70628
- "updated_at": {
70629
- "type": "TIMESTAMP",
70630
- "notNull": true,
70631
- "default": "current_timestamp"
70632
- }
70633
- },
70634
- "indexes": [{
70635
- "name": "rest_route_widget_collections_id_idx",
70636
- "columns": ["id"]
70716
+ "methods": { "fanout": {
70717
+ "name": "fanout",
70718
+ "async": true,
70719
+ "parameters": [{
70720
+ "name": "idempotencyKey",
70721
+ "type": "string",
70722
+ "optional": false
70637
70723
  }, {
70638
- "name": "rest_route_widget_collections_slug_context_idx",
70639
- "columns": ["slug", "context"],
70640
- "unique": true
70724
+ "name": "expectedVersion",
70725
+ "type": "number",
70726
+ "optional": true
70641
70727
  }],
70642
- "version": "1e7a2ffa"
70643
- }
70644
- },
70645
- "@happyvertical/smrt-core:RestReadOnlyWidget": {
70646
- "name": "restreadonlywidget",
70647
- "className": "RestReadOnlyWidget",
70648
- "qualifiedName": "@happyvertical/smrt-core:RestReadOnlyWidget",
70649
- "collection": "restreadonlywidgets",
70650
- "filePath": "packages/core/src/generators/rest-routes.spec.ts",
70651
- "packageName": "@happyvertical/smrt-core",
70652
- "fields": { "name": {
70653
- "type": "text",
70654
- "required": false,
70655
- "_meta": {}
70656
- } },
70657
- "methods": {},
70658
- "decoratorConfig": { "api": {
70659
- "include": ["list", "get"],
70660
- "public": true
70728
+ "returnType": "Promise<any>",
70729
+ "isStatic": false,
70730
+ "isPublic": true
70661
70731
  } },
70662
- "extends": "SmrtObject",
70663
- "exportName": "RestReadOnlyWidget",
70664
- "collectionExportName": "RestReadOnlyWidgetCollection",
70732
+ "decoratorConfig": { "mcp": { "include": ["fanout"] } },
70733
+ "extends": "SmrtCollection",
70734
+ "extendsTypeArg": "MCPConformanceAgent",
70735
+ "exportName": "MCPConformanceCollection",
70736
+ "collectionExportName": "MCPConformanceCollectionCollection",
70665
70737
  "schema": {
70666
- "tableName": "rest_read_only_widgets",
70667
- "ddl": "CREATE TABLE IF NOT EXISTS \"rest_read_only_widgets\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"name\" TEXT\n);",
70738
+ "tableName": "mcpconformance_collections",
70739
+ "ddl": "CREATE TABLE IF NOT EXISTS \"mcpconformance_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
70740
+ "columns": {
70741
+ "id": {
70742
+ "type": "UUID",
70743
+ "primaryKey": true,
70744
+ "referenceKind": "id",
70745
+ "notNull": true
70746
+ },
70747
+ "slug": {
70748
+ "type": "TEXT",
70749
+ "notNull": true
70750
+ },
70751
+ "context": {
70752
+ "type": "TEXT",
70753
+ "notNull": true,
70754
+ "default": ""
70755
+ },
70756
+ "created_at": {
70757
+ "type": "TIMESTAMP",
70758
+ "notNull": true,
70759
+ "default": "current_timestamp"
70760
+ },
70761
+ "updated_at": {
70762
+ "type": "TIMESTAMP",
70763
+ "notNull": true,
70764
+ "default": "current_timestamp"
70765
+ }
70766
+ },
70767
+ "indexes": [{
70768
+ "name": "mcpconformance_collections_id_idx",
70769
+ "columns": ["id"]
70770
+ }, {
70771
+ "name": "mcpconformance_collections_slug_context_idx",
70772
+ "columns": ["slug", "context"],
70773
+ "unique": true
70774
+ }],
70775
+ "version": "3bd336dc"
70776
+ }
70777
+ },
70778
+ "@happyvertical/smrt-core:RestRouteWidget": {
70779
+ "name": "restroutewidget",
70780
+ "className": "RestRouteWidget",
70781
+ "qualifiedName": "@happyvertical/smrt-core:RestRouteWidget",
70782
+ "collection": "restroutewidgets",
70783
+ "filePath": "packages/core/src/generators/rest-routes.spec.ts",
70784
+ "packageName": "@happyvertical/smrt-core",
70785
+ "fields": {
70786
+ "name": {
70787
+ "type": "text",
70788
+ "required": false,
70789
+ "_meta": {}
70790
+ },
70791
+ "price": {
70792
+ "type": "integer",
70793
+ "required": false,
70794
+ "_meta": {}
70795
+ },
70796
+ "internalCode": {
70797
+ "type": "text",
70798
+ "required": false,
70799
+ "_meta": { "readonly": true },
70800
+ "readonly": true
70801
+ }
70802
+ },
70803
+ "methods": {},
70804
+ "decoratorConfig": { "api": { "public": true } },
70805
+ "extends": "SmrtObject",
70806
+ "exportName": "RestRouteWidget",
70807
+ "collectionExportName": "RestRouteWidgetCollection",
70808
+ "schema": {
70809
+ "tableName": "rest_route_widgets",
70810
+ "ddl": "CREATE TABLE IF NOT EXISTS \"rest_route_widgets\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"name\" TEXT,\n \"price\" INTEGER,\n \"internal_code\" TEXT\n);",
70811
+ "columns": {
70812
+ "id": {
70813
+ "type": "UUID",
70814
+ "primaryKey": true,
70815
+ "referenceKind": "id",
70816
+ "notNull": true
70817
+ },
70818
+ "slug": {
70819
+ "type": "TEXT",
70820
+ "notNull": true
70821
+ },
70822
+ "context": {
70823
+ "type": "TEXT",
70824
+ "notNull": true,
70825
+ "default": ""
70826
+ },
70827
+ "created_at": {
70828
+ "type": "TIMESTAMP",
70829
+ "notNull": true,
70830
+ "default": "current_timestamp"
70831
+ },
70832
+ "updated_at": {
70833
+ "type": "TIMESTAMP",
70834
+ "notNull": true,
70835
+ "default": "current_timestamp"
70836
+ },
70837
+ "name": {
70838
+ "type": "TEXT",
70839
+ "notNull": false,
70840
+ "unique": false
70841
+ },
70842
+ "price": {
70843
+ "type": "INTEGER",
70844
+ "notNull": false,
70845
+ "unique": false
70846
+ },
70847
+ "internal_code": {
70848
+ "type": "TEXT",
70849
+ "notNull": false,
70850
+ "unique": false
70851
+ }
70852
+ },
70853
+ "indexes": [{
70854
+ "name": "rest_route_widgets_id_idx",
70855
+ "columns": ["id"]
70856
+ }, {
70857
+ "name": "rest_route_widgets_slug_context_idx",
70858
+ "columns": ["slug", "context"],
70859
+ "unique": true
70860
+ }],
70861
+ "version": "e55b9ab5"
70862
+ }
70863
+ },
70864
+ "@happyvertical/smrt-core:RestRouteWidgetCollection": {
70865
+ "name": "restroutewidgetcollection",
70866
+ "className": "RestRouteWidgetCollection",
70867
+ "qualifiedName": "@happyvertical/smrt-core:RestRouteWidgetCollection",
70868
+ "collection": "restroutewidgets",
70869
+ "filePath": "packages/core/src/generators/rest-routes.spec.ts",
70870
+ "packageName": "@happyvertical/smrt-core",
70871
+ "fields": {},
70872
+ "methods": {},
70873
+ "decoratorConfig": {},
70874
+ "extends": "SmrtCollection",
70875
+ "extendsTypeArg": "RestRouteWidget",
70876
+ "exportName": "RestRouteWidgetCollection",
70877
+ "collectionExportName": "RestRouteWidgetCollectionCollection",
70878
+ "schema": {
70879
+ "tableName": "rest_route_widget_collections",
70880
+ "ddl": "CREATE TABLE IF NOT EXISTS \"rest_route_widget_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
70881
+ "columns": {
70882
+ "id": {
70883
+ "type": "UUID",
70884
+ "primaryKey": true,
70885
+ "referenceKind": "id",
70886
+ "notNull": true
70887
+ },
70888
+ "slug": {
70889
+ "type": "TEXT",
70890
+ "notNull": true
70891
+ },
70892
+ "context": {
70893
+ "type": "TEXT",
70894
+ "notNull": true,
70895
+ "default": ""
70896
+ },
70897
+ "created_at": {
70898
+ "type": "TIMESTAMP",
70899
+ "notNull": true,
70900
+ "default": "current_timestamp"
70901
+ },
70902
+ "updated_at": {
70903
+ "type": "TIMESTAMP",
70904
+ "notNull": true,
70905
+ "default": "current_timestamp"
70906
+ }
70907
+ },
70908
+ "indexes": [{
70909
+ "name": "rest_route_widget_collections_id_idx",
70910
+ "columns": ["id"]
70911
+ }, {
70912
+ "name": "rest_route_widget_collections_slug_context_idx",
70913
+ "columns": ["slug", "context"],
70914
+ "unique": true
70915
+ }],
70916
+ "version": "1e7a2ffa"
70917
+ }
70918
+ },
70919
+ "@happyvertical/smrt-core:RestReadOnlyWidget": {
70920
+ "name": "restreadonlywidget",
70921
+ "className": "RestReadOnlyWidget",
70922
+ "qualifiedName": "@happyvertical/smrt-core:RestReadOnlyWidget",
70923
+ "collection": "restreadonlywidgets",
70924
+ "filePath": "packages/core/src/generators/rest-routes.spec.ts",
70925
+ "packageName": "@happyvertical/smrt-core",
70926
+ "fields": { "name": {
70927
+ "type": "text",
70928
+ "required": false,
70929
+ "_meta": {}
70930
+ } },
70931
+ "methods": {},
70932
+ "decoratorConfig": { "api": {
70933
+ "include": ["list", "get"],
70934
+ "public": true
70935
+ } },
70936
+ "extends": "SmrtObject",
70937
+ "exportName": "RestReadOnlyWidget",
70938
+ "collectionExportName": "RestReadOnlyWidgetCollection",
70939
+ "schema": {
70940
+ "tableName": "rest_read_only_widgets",
70941
+ "ddl": "CREATE TABLE IF NOT EXISTS \"rest_read_only_widgets\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"name\" TEXT\n);",
70668
70942
  "columns": {
70669
70943
  "id": {
70670
70944
  "type": "UUID",
@@ -72943,456 +73217,6 @@ var testManifest = {
72943
73217
  "version": "6a3185e6"
72944
73218
  }
72945
73219
  },
72946
- "@happyvertical/smrt-core:AdvisorRichProduct": {
72947
- "name": "advisorrichproduct",
72948
- "className": "AdvisorRichProduct",
72949
- "qualifiedName": "@happyvertical/smrt-core:AdvisorRichProduct",
72950
- "collection": "advisorrichproducts",
72951
- "filePath": "packages/core/src/__tests__/fixtures/advisor-test-classes.ts",
72952
- "packageName": "@happyvertical/smrt-core",
72953
- "fields": {
72954
- "title": {
72955
- "type": "text",
72956
- "required": true,
72957
- "default": "",
72958
- "description": "Product display name",
72959
- "maxLength": 120,
72960
- "_meta": {
72961
- "required": true,
72962
- "maxLength": 120,
72963
- "description": "Product display name"
72964
- }
72965
- },
72966
- "quantity": {
72967
- "type": "integer",
72968
- "required": false,
72969
- "default": 0,
72970
- "min": 0,
72971
- "max": 1e3,
72972
- "_meta": {
72973
- "min": 0,
72974
- "max": 1e3
72975
- }
72976
- },
72977
- "rate": {
72978
- "type": "decimal",
72979
- "required": false,
72980
- "default": 0,
72981
- "_meta": { "default": 0 }
72982
- }
72983
- },
72984
- "methods": { "recalculate": {
72985
- "name": "recalculate",
72986
- "async": true,
72987
- "parameters": [],
72988
- "returnType": "Promise<number>",
72989
- "isStatic": false,
72990
- "isPublic": true
72991
- } },
72992
- "decoratorConfig": {
72993
- "api": { "include": [
72994
- "list",
72995
- "get",
72996
- "create",
72997
- "update",
72998
- "archive"
72999
- ] },
73000
- "mcp": { "include": ["list", "get"] },
73001
- "cli": true,
73002
- "hooks": {
73003
- "beforeSave": "validateAdvisor",
73004
- "afterSave": "indexAdvisor"
73005
- }
73006
- },
73007
- "extends": "SmrtObject",
73008
- "exportName": "AdvisorRichProduct",
73009
- "collectionExportName": "AdvisorRichProductCollection",
73010
- "validationRules": [
73011
- {
73012
- "field": "title",
73013
- "rule": "required",
73014
- "fieldType": "text"
73015
- },
73016
- {
73017
- "field": "title",
73018
- "rule": "maxLength",
73019
- "value": 120,
73020
- "fieldType": "text"
73021
- },
73022
- {
73023
- "field": "quantity",
73024
- "rule": "min",
73025
- "value": 0,
73026
- "fieldType": "integer"
73027
- },
73028
- {
73029
- "field": "quantity",
73030
- "rule": "max",
73031
- "value": 1e3,
73032
- "fieldType": "integer"
73033
- }
73034
- ],
73035
- "schema": {
73036
- "tableName": "advisor_rich_products",
73037
- "ddl": "CREATE TABLE IF NOT EXISTS \"advisor_rich_products\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"title\" TEXT NOT NULL DEFAULT '',\n \"quantity\" INTEGER DEFAULT 0,\n \"rate\" REAL DEFAULT 0\n);",
73038
- "columns": {
73039
- "id": {
73040
- "type": "UUID",
73041
- "primaryKey": true,
73042
- "referenceKind": "id",
73043
- "notNull": true
73044
- },
73045
- "slug": {
73046
- "type": "TEXT",
73047
- "notNull": true
73048
- },
73049
- "context": {
73050
- "type": "TEXT",
73051
- "notNull": true,
73052
- "default": ""
73053
- },
73054
- "created_at": {
73055
- "type": "TIMESTAMP",
73056
- "notNull": true,
73057
- "default": "current_timestamp"
73058
- },
73059
- "updated_at": {
73060
- "type": "TIMESTAMP",
73061
- "notNull": true,
73062
- "default": "current_timestamp"
73063
- },
73064
- "title": {
73065
- "type": "TEXT",
73066
- "notNull": true,
73067
- "unique": false,
73068
- "default": ""
73069
- },
73070
- "quantity": {
73071
- "type": "INTEGER",
73072
- "notNull": false,
73073
- "unique": false,
73074
- "default": 0
73075
- },
73076
- "rate": {
73077
- "type": "REAL",
73078
- "notNull": false,
73079
- "unique": false,
73080
- "default": 0
73081
- }
73082
- },
73083
- "indexes": [{
73084
- "name": "advisor_rich_products_id_idx",
73085
- "columns": ["id"]
73086
- }, {
73087
- "name": "advisor_rich_products_slug_context_idx",
73088
- "columns": ["slug", "context"],
73089
- "unique": true
73090
- }],
73091
- "version": "4c1a00ff"
73092
- }
73093
- },
73094
- "@happyvertical/smrt-core:AdvisorPolicyRecord": {
73095
- "name": "advisorpolicyrecord",
73096
- "className": "AdvisorPolicyRecord",
73097
- "qualifiedName": "@happyvertical/smrt-core:AdvisorPolicyRecord",
73098
- "collection": "advisorpolicyrecords",
73099
- "filePath": "packages/core/src/__tests__/fixtures/advisor-test-classes.ts",
73100
- "packageName": "@happyvertical/smrt-core",
73101
- "fields": {
73102
- "displayName": {
73103
- "type": "text",
73104
- "required": true,
73105
- "default": "",
73106
- "_meta": { "required": true }
73107
- },
73108
- "customerId": {
73109
- "type": "foreignKey",
73110
- "required": false,
73111
- "_meta": {}
73112
- },
73113
- "externalId": {
73114
- "type": "integer",
73115
- "required": false,
73116
- "_meta": {}
73117
- },
73118
- "secretToken": {
73119
- "type": "text",
73120
- "required": false,
73121
- "default": "",
73122
- "_meta": { "sensitive": true },
73123
- "sensitive": true
73124
- },
73125
- "internalCode": {
73126
- "type": "text",
73127
- "required": false,
73128
- "default": "",
73129
- "_meta": { "readonly": true },
73130
- "readonly": true
73131
- },
73132
- "tenantId": {
73133
- "type": "text",
73134
- "required": false,
73135
- "default": ""
73136
- },
73137
- "ignoredValue": {
73138
- "type": "text",
73139
- "required": false,
73140
- "default": ""
73141
- }
73142
- },
73143
- "methods": {},
73144
- "decoratorConfig": { "api": {
73145
- "include": [
73146
- "list",
73147
- "create",
73148
- "update"
73149
- ],
73150
- "writable": [
73151
- "displayName",
73152
- "customerId",
73153
- "externalId",
73154
- "secretToken",
73155
- "internalCode",
73156
- "tenantId"
73157
- ]
73158
- } },
73159
- "extends": "SmrtObject",
73160
- "exportName": "AdvisorPolicyRecord",
73161
- "collectionExportName": "AdvisorPolicyRecordCollection",
73162
- "validationRules": [{
73163
- "field": "displayName",
73164
- "rule": "required",
73165
- "fieldType": "text"
73166
- }],
73167
- "schema": {
73168
- "tableName": "advisor_policy_records",
73169
- "ddl": "CREATE TABLE IF NOT EXISTS \"advisor_policy_records\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"display_name\" TEXT NOT NULL DEFAULT '',\n \"customer_id\" UUID,\n \"external_id\" INTEGER,\n \"secret_token\" TEXT DEFAULT '',\n \"internal_code\" TEXT DEFAULT '',\n \"tenant_id\" TEXT DEFAULT '',\n \"ignored_value\" TEXT DEFAULT ''\n);",
73170
- "columns": {
73171
- "id": {
73172
- "type": "UUID",
73173
- "primaryKey": true,
73174
- "referenceKind": "id",
73175
- "notNull": true
73176
- },
73177
- "slug": {
73178
- "type": "TEXT",
73179
- "notNull": true
73180
- },
73181
- "context": {
73182
- "type": "TEXT",
73183
- "notNull": true,
73184
- "default": ""
73185
- },
73186
- "created_at": {
73187
- "type": "TIMESTAMP",
73188
- "notNull": true,
73189
- "default": "current_timestamp"
73190
- },
73191
- "updated_at": {
73192
- "type": "TIMESTAMP",
73193
- "notNull": true,
73194
- "default": "current_timestamp"
73195
- },
73196
- "display_name": {
73197
- "type": "TEXT",
73198
- "notNull": true,
73199
- "unique": false,
73200
- "default": ""
73201
- },
73202
- "customer_id": {
73203
- "type": "UUID",
73204
- "referenceKind": "foreignKey",
73205
- "notNull": false,
73206
- "unique": false
73207
- },
73208
- "external_id": {
73209
- "type": "INTEGER",
73210
- "notNull": false,
73211
- "unique": false
73212
- },
73213
- "secret_token": {
73214
- "type": "TEXT",
73215
- "notNull": false,
73216
- "unique": false,
73217
- "default": ""
73218
- },
73219
- "internal_code": {
73220
- "type": "TEXT",
73221
- "notNull": false,
73222
- "unique": false,
73223
- "default": ""
73224
- },
73225
- "tenant_id": {
73226
- "type": "TEXT",
73227
- "notNull": false,
73228
- "unique": false,
73229
- "default": ""
73230
- },
73231
- "ignored_value": {
73232
- "type": "TEXT",
73233
- "notNull": false,
73234
- "unique": false,
73235
- "default": ""
73236
- }
73237
- },
73238
- "indexes": [{
73239
- "name": "advisor_policy_records_id_idx",
73240
- "columns": ["id"]
73241
- }, {
73242
- "name": "advisor_policy_records_slug_context_idx",
73243
- "columns": ["slug", "context"],
73244
- "unique": true
73245
- }],
73246
- "version": "ee2f5eda"
73247
- }
73248
- },
73249
- "@happyvertical/smrt-core:AdvisorBooleanWidget": {
73250
- "name": "advisorbooleanwidget",
73251
- "className": "AdvisorBooleanWidget",
73252
- "qualifiedName": "@happyvertical/smrt-core:AdvisorBooleanWidget",
73253
- "collection": "advisorbooleanwidgets",
73254
- "filePath": "packages/core/src/__tests__/fixtures/advisor-test-classes.ts",
73255
- "packageName": "@happyvertical/smrt-core",
73256
- "fields": { "label": {
73257
- "type": "text",
73258
- "required": true,
73259
- "default": "",
73260
- "_meta": { "required": true }
73261
- } },
73262
- "methods": {},
73263
- "decoratorConfig": {
73264
- "api": true,
73265
- "mcp": true,
73266
- "cli": false
73267
- },
73268
- "extends": "SmrtObject",
73269
- "exportName": "AdvisorBooleanWidget",
73270
- "collectionExportName": "AdvisorBooleanWidgetCollection",
73271
- "validationRules": [{
73272
- "field": "label",
73273
- "rule": "required",
73274
- "fieldType": "text"
73275
- }],
73276
- "schema": {
73277
- "tableName": "advisor_boolean_widgets",
73278
- "ddl": "CREATE TABLE IF NOT EXISTS \"advisor_boolean_widgets\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"label\" TEXT NOT NULL DEFAULT ''\n);",
73279
- "columns": {
73280
- "id": {
73281
- "type": "UUID",
73282
- "primaryKey": true,
73283
- "referenceKind": "id",
73284
- "notNull": true
73285
- },
73286
- "slug": {
73287
- "type": "TEXT",
73288
- "notNull": true
73289
- },
73290
- "context": {
73291
- "type": "TEXT",
73292
- "notNull": true,
73293
- "default": ""
73294
- },
73295
- "created_at": {
73296
- "type": "TIMESTAMP",
73297
- "notNull": true,
73298
- "default": "current_timestamp"
73299
- },
73300
- "updated_at": {
73301
- "type": "TIMESTAMP",
73302
- "notNull": true,
73303
- "default": "current_timestamp"
73304
- },
73305
- "label": {
73306
- "type": "TEXT",
73307
- "notNull": true,
73308
- "unique": false,
73309
- "default": ""
73310
- }
73311
- },
73312
- "indexes": [{
73313
- "name": "advisor_boolean_widgets_id_idx",
73314
- "columns": ["id"]
73315
- }, {
73316
- "name": "advisor_boolean_widgets_slug_context_idx",
73317
- "columns": ["slug", "context"],
73318
- "unique": true
73319
- }],
73320
- "version": "d2ef20b1"
73321
- }
73322
- },
73323
- "@happyvertical/smrt-core:AdvisorExcludeNote": {
73324
- "name": "advisorexcludenote",
73325
- "className": "AdvisorExcludeNote",
73326
- "qualifiedName": "@happyvertical/smrt-core:AdvisorExcludeNote",
73327
- "collection": "advisorexcludenotes",
73328
- "filePath": "packages/core/src/__tests__/fixtures/advisor-test-classes.ts",
73329
- "packageName": "@happyvertical/smrt-core",
73330
- "fields": { "body": {
73331
- "type": "text",
73332
- "required": true,
73333
- "default": "",
73334
- "_meta": { "required": true }
73335
- } },
73336
- "methods": {},
73337
- "decoratorConfig": {
73338
- "api": { "exclude": ["delete"] },
73339
- "mcp": { "exclude": ["delete"] }
73340
- },
73341
- "extends": "SmrtObject",
73342
- "exportName": "AdvisorExcludeNote",
73343
- "collectionExportName": "AdvisorExcludeNoteCollection",
73344
- "validationRules": [{
73345
- "field": "body",
73346
- "rule": "required",
73347
- "fieldType": "text"
73348
- }],
73349
- "schema": {
73350
- "tableName": "advisor_exclude_notes",
73351
- "ddl": "CREATE TABLE IF NOT EXISTS \"advisor_exclude_notes\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"body\" TEXT NOT NULL DEFAULT ''\n);",
73352
- "columns": {
73353
- "id": {
73354
- "type": "UUID",
73355
- "primaryKey": true,
73356
- "referenceKind": "id",
73357
- "notNull": true
73358
- },
73359
- "slug": {
73360
- "type": "TEXT",
73361
- "notNull": true
73362
- },
73363
- "context": {
73364
- "type": "TEXT",
73365
- "notNull": true,
73366
- "default": ""
73367
- },
73368
- "created_at": {
73369
- "type": "TIMESTAMP",
73370
- "notNull": true,
73371
- "default": "current_timestamp"
73372
- },
73373
- "updated_at": {
73374
- "type": "TIMESTAMP",
73375
- "notNull": true,
73376
- "default": "current_timestamp"
73377
- },
73378
- "body": {
73379
- "type": "TEXT",
73380
- "notNull": true,
73381
- "unique": false,
73382
- "default": ""
73383
- }
73384
- },
73385
- "indexes": [{
73386
- "name": "advisor_exclude_notes_id_idx",
73387
- "columns": ["id"]
73388
- }, {
73389
- "name": "advisor_exclude_notes_slug_context_idx",
73390
- "columns": ["slug", "context"],
73391
- "unique": true
73392
- }],
73393
- "version": "7e37a2a1"
73394
- }
73395
- },
73396
73220
  "@happyvertical/smrt-core:CovWidget": {
73397
73221
  "name": "covwidget",
73398
73222
  "className": "CovWidget",