@solidxai/core 0.1.8-beta.4 → 0.1.8-beta.6

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 (26) hide show
  1. package/dist/entities/agent-event.entity.d.ts +3 -12
  2. package/dist/entities/agent-event.entity.d.ts.map +1 -1
  3. package/dist/entities/agent-event.entity.js +20 -45
  4. package/dist/entities/agent-event.entity.js.map +1 -1
  5. package/dist/entities/agent-session.entity.d.ts +2 -11
  6. package/dist/entities/agent-session.entity.d.ts.map +1 -1
  7. package/dist/entities/agent-session.entity.js +14 -39
  8. package/dist/entities/agent-session.entity.js.map +1 -1
  9. package/dist/entities/legacy-common.entity.d.ts +9 -9
  10. package/dist/entities/legacy-common.entity.d.ts.map +1 -1
  11. package/dist/entities/legacy-common.entity.js +7 -7
  12. package/dist/entities/legacy-common.entity.js.map +1 -1
  13. package/dist/helpers/typeorm-db-helper.d.ts.map +1 -1
  14. package/dist/helpers/typeorm-db-helper.js +9 -0
  15. package/dist/helpers/typeorm-db-helper.js.map +1 -1
  16. package/dist/seeders/seed-data/solid-core-metadata.json +0 -92
  17. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  18. package/dist/services/settings/default-settings-provider.service.js +5 -2
  19. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/entities/agent-event.entity.ts +20 -54
  22. package/src/entities/agent-session.entity.ts +14 -46
  23. package/src/entities/legacy-common.entity.ts +15 -15
  24. package/src/helpers/typeorm-db-helper.ts +11 -0
  25. package/src/seeders/seed-data/solid-core-metadata.json +0 -92
  26. package/src/services/settings/default-settings-provider.service.ts +5 -2
@@ -1,71 +1,39 @@
1
- import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm';
2
- import { Expose, Exclude } from 'class-transformer';
1
+ import { Column, Entity, Index } from 'typeorm';
2
+ import { CommonEntity } from 'src/entities/common.entity';
3
+ import { getColumnType } from 'src/helpers/typeorm-db-helper';
3
4
 
4
- @Exclude()
5
5
  @Entity({ name: 'ss_agent_sessions', synchronize: false })
6
- export class AgentSession {
7
- @Expose()
8
- @PrimaryGeneratedColumn({ type: 'integer' })
9
- id: number;
10
-
11
- @Expose()
6
+ export class AgentSession extends CommonEntity {
12
7
  @Index({ unique: true })
13
- @Column({ type: 'varchar', length: 36, name: 'session_id' })
8
+ @Column({ })
14
9
  sessionId: string;
15
10
 
16
- @Expose()
17
11
  @Index()
18
- @Column({ type: 'integer', nullable: true, name: 'user_id' })
12
+ @Column({ nullable: true })
19
13
  userId: number;
20
14
 
21
- @Expose()
22
- @Column({ type: 'text', nullable: true, name: 'project_root' })
15
+ @Column({ nullable: true, ...getColumnType('longText') })
23
16
  projectRoot: string;
24
17
 
25
- @Expose()
26
- @Column({ type: 'varchar', length: 255, name: 'model_name' })
18
+ @Column({ })
27
19
  modelName: string;
28
20
 
29
- @Expose()
30
21
  @Index()
31
- @Column({ type: 'varchar', length: 32, name: 'status' })
22
+ @Column({ })
32
23
  status: string;
33
24
 
34
- @Expose()
35
- @Column({ type: 'double precision', name: 'total_cost', default: 0 })
25
+ @Column({ default: 0, ...getColumnType('decimal') })
36
26
  totalCost: number;
37
27
 
38
- @Expose()
39
- @Column({ type: 'integer', name: 'total_steps', default: 0 })
28
+ @Column({ default: 0 })
40
29
  totalSteps: number;
41
30
 
42
- @Expose()
43
- @Column({ type: 'integer', name: 'total_input_tokens', default: 0 })
31
+ @Column({ default: 0 })
44
32
  totalInputTokens: number;
45
33
 
46
- @Expose()
47
- @Column({ type: 'integer', name: 'total_output_tokens', default: 0 })
34
+ @Column({ default: 0 })
48
35
  totalOutputTokens: number;
49
36
 
50
- @Expose()
51
- @Column({ type: 'text', nullable: true, name: 'summary' })
37
+ @Column({ nullable: true, ...getColumnType('longText') })
52
38
  summary: string;
53
-
54
- @Expose()
55
- @Column({ type: 'timestamp without time zone', name: 'created_at' })
56
- createdAt: Date;
57
-
58
- @Expose()
59
- @Column({ type: 'timestamp without time zone', name: 'updated_at' })
60
- updatedAt: Date;
61
-
62
- // The following properties satisfy CRUDService<T extends CommonEntity> structural typing
63
- // They are not mapped to DB columns (synchronize: false ensures no schema changes)
64
- deletedAt: Date;
65
- deletedTracker: string;
66
- publishedAt: Date;
67
- localeName: string;
68
- defaultEntityLocaleId: number;
69
- createdBy: number;
70
- updatedBy: number;
71
39
  }
@@ -11,30 +11,30 @@ export abstract class LegacyCommonEntity {
11
11
  // @Generated("increment")
12
12
  // id: number
13
13
 
14
- @CreateDateColumn({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_created_at`, transformer: LocalDateTimeTransformer, nullable: true })
15
- createdAt: Date | null;
14
+ @CreateDateColumn({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_created_at`, transformer: LocalDateTimeTransformer })
15
+ createdAt: Date;
16
16
 
17
- @UpdateDateColumn({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_updated_at`, transformer: LocalDateTimeTransformer, nullable: true })
18
- updatedAt: Date | null;
17
+ @UpdateDateColumn({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_updated_at`, transformer: LocalDateTimeTransformer })
18
+ updatedAt: Date;
19
19
 
20
- @DeleteDateColumn({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_deleted_at`, transformer: LocalDateTimeTransformer, nullable: true })
20
+ @DeleteDateColumn({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_deleted_at`, transformer: LocalDateTimeTransformer })
21
21
  @Index()
22
- deletedAt: Date | null;
22
+ deletedAt: Date;
23
23
 
24
- @Column({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_deleted_tracker`, default: "not-deleted", nullable: true })
25
- deletedTracker: string | null;
24
+ @Column({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_deleted_tracker`, default: "not-deleted" })
25
+ deletedTracker: string;
26
26
 
27
27
  @Expose()
28
28
  @Column({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_published_at`, default: null, nullable: true, transformer: LocalDateTimeTransformer })
29
- publishedAt: Date | null;
29
+ publishedAt: Date;
30
30
 
31
31
  @Expose()
32
- @Column({ type: "varchar", name: `${LEGACY_TABLE_FIELDS_PREFIX}_locale_name`, default: null, nullable: true })
33
- localeName: string | null;
32
+ @Column({ type: "varchar", name: `${LEGACY_TABLE_FIELDS_PREFIX}_locale_name`, default: null })
33
+ localeName: string;
34
34
 
35
35
  @Expose()
36
- @Column({ type: "int", name: `${LEGACY_TABLE_FIELDS_PREFIX}_default_entity_locale_id`, default: null, nullable: true })
37
- defaultEntityLocaleId: number | null;
36
+ @Column({ type: "int", name: `${LEGACY_TABLE_FIELDS_PREFIX}_default_entity_locale_id`, default: null })
37
+ defaultEntityLocaleId: number;
38
38
 
39
39
  // @Expose()
40
40
  // @Type( () => require('./user.entity').User?.default ?? require('./user.entity').User )
@@ -50,9 +50,9 @@ export abstract class LegacyCommonEntity {
50
50
 
51
51
  @Expose()
52
52
  @Column({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_created_by_id`, nullable: true })
53
- createdBy: number | null;
53
+ createdBy: number;
54
54
 
55
55
  @Expose()
56
56
  @Column({ name: `${LEGACY_TABLE_FIELDS_PREFIX}_updated_by_id`, nullable: true })
57
- updatedBy: number | null;
57
+ updatedBy: number;
58
58
  }
@@ -32,6 +32,14 @@ const SIMPLE_JSON_LARGE_TEXT_MAP: Record<DatasourceType, ColumnOptions> = {
32
32
  [DatasourceType.oracle]: { type: "clob" },
33
33
  };
34
34
 
35
+ const DECIMAL_MAP: Record<DatasourceType, ColumnOptions> = {
36
+ [DatasourceType.postgres]: { type: "float4" },
37
+ [DatasourceType.mssql]: { type: "float" },
38
+ [DatasourceType.mysql]: { type: "float" },
39
+ [DatasourceType.mariadb]: { type: "float" },
40
+ [DatasourceType.oracle]: { type: "float" },
41
+ };
42
+
35
43
  const solidCoreDbType: DatasourceType =
36
44
  Object.values(DatasourceType).includes(process.env.SOLID_CORE_DB_TYPE as DatasourceType)
37
45
  ? (process.env.SOLID_CORE_DB_TYPE as DatasourceType)
@@ -46,6 +54,9 @@ export function getColumnType(solidType: string): ColumnOptions {
46
54
  case "simpleJsonLargeText":
47
55
  return SIMPLE_JSON_LARGE_TEXT_MAP[solidCoreDbType];
48
56
 
57
+ case "decimal":
58
+ return DECIMAL_MAP[solidCoreDbType];
59
+
49
60
  default:
50
61
  return {};
51
62
  }
@@ -5428,25 +5428,10 @@
5428
5428
  "isSystem": true,
5429
5429
  "userKeyFieldUserKey": "sessionId",
5430
5430
  "fields": [
5431
- {
5432
- "name": "id",
5433
- "displayName": "ID",
5434
- "type": "int",
5435
- "ormType": "integer",
5436
- "columnName": "id",
5437
- "isPrimaryKey": true,
5438
- "required": false,
5439
- "unique": true,
5440
- "index": true,
5441
- "private": false,
5442
- "encrypt": false,
5443
- "isSystem": true
5444
- },
5445
5431
  {
5446
5432
  "name": "sessionId",
5447
5433
  "displayName": "Session ID",
5448
5434
  "type": "shortText",
5449
- "ormType": "varchar",
5450
5435
  "columnName": "session_id",
5451
5436
  "length": 36,
5452
5437
  "required": true,
@@ -5460,7 +5445,6 @@
5460
5445
  "name": "userId",
5461
5446
  "displayName": "User ID",
5462
5447
  "type": "int",
5463
- "ormType": "integer",
5464
5448
  "columnName": "user_id",
5465
5449
  "required": false,
5466
5450
  "unique": false,
@@ -5473,7 +5457,6 @@
5473
5457
  "name": "projectRoot",
5474
5458
  "displayName": "Project Root",
5475
5459
  "type": "longText",
5476
- "ormType": "text",
5477
5460
  "columnName": "project_root",
5478
5461
  "required": false,
5479
5462
  "unique": false,
@@ -5486,7 +5469,6 @@
5486
5469
  "name": "modelName",
5487
5470
  "displayName": "Model Name",
5488
5471
  "type": "shortText",
5489
- "ormType": "varchar",
5490
5472
  "columnName": "model_name",
5491
5473
  "length": 255,
5492
5474
  "required": true,
@@ -5500,7 +5482,6 @@
5500
5482
  "name": "status",
5501
5483
  "displayName": "Status",
5502
5484
  "type": "selectionStatic",
5503
- "ormType": "varchar",
5504
5485
  "columnName": "status",
5505
5486
  "length": 32,
5506
5487
  "required": true,
@@ -5516,7 +5497,6 @@
5516
5497
  "name": "totalCost",
5517
5498
  "displayName": "Total Cost",
5518
5499
  "type": "decimal",
5519
- "ormType": "double precision",
5520
5500
  "columnName": "total_cost",
5521
5501
  "required": true,
5522
5502
  "unique": false,
@@ -5530,7 +5510,6 @@
5530
5510
  "name": "totalSteps",
5531
5511
  "displayName": "Total Steps",
5532
5512
  "type": "int",
5533
- "ormType": "integer",
5534
5513
  "columnName": "total_steps",
5535
5514
  "required": true,
5536
5515
  "unique": false,
@@ -5544,7 +5523,6 @@
5544
5523
  "name": "totalInputTokens",
5545
5524
  "displayName": "Total Input Tokens",
5546
5525
  "type": "int",
5547
- "ormType": "integer",
5548
5526
  "columnName": "total_input_tokens",
5549
5527
  "required": true,
5550
5528
  "unique": false,
@@ -5558,7 +5536,6 @@
5558
5536
  "name": "totalOutputTokens",
5559
5537
  "displayName": "Total Output Tokens",
5560
5538
  "type": "int",
5561
- "ormType": "integer",
5562
5539
  "columnName": "total_output_tokens",
5563
5540
  "required": true,
5564
5541
  "unique": false,
@@ -5572,7 +5549,6 @@
5572
5549
  "name": "summary",
5573
5550
  "displayName": "Summary",
5574
5551
  "type": "longText",
5575
- "ormType": "text",
5576
5552
  "columnName": "summary",
5577
5553
  "required": false,
5578
5554
  "unique": false,
@@ -5580,32 +5556,6 @@
5580
5556
  "private": false,
5581
5557
  "encrypt": false,
5582
5558
  "isSystem": true
5583
- },
5584
- {
5585
- "name": "createdAt",
5586
- "displayName": "Created At",
5587
- "type": "datetime",
5588
- "ormType": "timestamp without time zone",
5589
- "columnName": "created_at",
5590
- "required": true,
5591
- "unique": false,
5592
- "index": false,
5593
- "private": false,
5594
- "encrypt": false,
5595
- "isSystem": true
5596
- },
5597
- {
5598
- "name": "updatedAt",
5599
- "displayName": "Updated At",
5600
- "type": "datetime",
5601
- "ormType": "timestamp without time zone",
5602
- "columnName": "updated_at",
5603
- "required": true,
5604
- "unique": false,
5605
- "index": false,
5606
- "private": false,
5607
- "encrypt": false,
5608
- "isSystem": true
5609
5559
  }
5610
5560
  ]
5611
5561
  },
@@ -5627,25 +5577,10 @@
5627
5577
  "isSystem": true,
5628
5578
  "userKeyFieldUserKey": "id",
5629
5579
  "fields": [
5630
- {
5631
- "name": "id",
5632
- "displayName": "ID",
5633
- "type": "int",
5634
- "ormType": "integer",
5635
- "columnName": "id",
5636
- "isPrimaryKey": true,
5637
- "required": false,
5638
- "unique": true,
5639
- "index": true,
5640
- "private": false,
5641
- "encrypt": false,
5642
- "isSystem": true
5643
- },
5644
5580
  {
5645
5581
  "name": "sessionId",
5646
5582
  "displayName": "Session ID",
5647
5583
  "type": "shortText",
5648
- "ormType": "varchar",
5649
5584
  "columnName": "session_id",
5650
5585
  "length": 36,
5651
5586
  "required": true,
@@ -5659,7 +5594,6 @@
5659
5594
  "name": "turnNumber",
5660
5595
  "displayName": "Turn Number",
5661
5596
  "type": "int",
5662
- "ormType": "integer",
5663
5597
  "columnName": "turn_number",
5664
5598
  "required": true,
5665
5599
  "unique": false,
@@ -5672,7 +5606,6 @@
5672
5606
  "name": "stepNumber",
5673
5607
  "displayName": "Step Number",
5674
5608
  "type": "int",
5675
- "ormType": "integer",
5676
5609
  "columnName": "step_number",
5677
5610
  "required": false,
5678
5611
  "unique": false,
@@ -5685,7 +5618,6 @@
5685
5618
  "name": "eventType",
5686
5619
  "displayName": "Event Type",
5687
5620
  "type": "selectionStatic",
5688
- "ormType": "varchar",
5689
5621
  "columnName": "event_type",
5690
5622
  "length": 64,
5691
5623
  "required": true,
@@ -5711,7 +5643,6 @@
5711
5643
  "name": "eventData",
5712
5644
  "displayName": "Event Data",
5713
5645
  "type": "json",
5714
- "ormType": "text",
5715
5646
  "columnName": "event_data",
5716
5647
  "required": false,
5717
5648
  "unique": false,
@@ -5724,7 +5655,6 @@
5724
5655
  "name": "content",
5725
5656
  "displayName": "Content",
5726
5657
  "type": "longText",
5727
- "ormType": "text",
5728
5658
  "columnName": "content",
5729
5659
  "required": false,
5730
5660
  "unique": false,
@@ -5737,7 +5667,6 @@
5737
5667
  "name": "toolName",
5738
5668
  "displayName": "Tool Name",
5739
5669
  "type": "shortText",
5740
- "ormType": "varchar",
5741
5670
  "columnName": "tool_name",
5742
5671
  "length": 128,
5743
5672
  "required": false,
@@ -5751,7 +5680,6 @@
5751
5680
  "name": "toolArguments",
5752
5681
  "displayName": "Tool Arguments",
5753
5682
  "type": "json",
5754
- "ormType": "text",
5755
5683
  "columnName": "tool_arguments",
5756
5684
  "required": false,
5757
5685
  "unique": false,
@@ -5764,7 +5692,6 @@
5764
5692
  "name": "toolOutput",
5765
5693
  "displayName": "Tool Output",
5766
5694
  "type": "longText",
5767
- "ormType": "text",
5768
5695
  "columnName": "tool_output",
5769
5696
  "required": false,
5770
5697
  "unique": false,
@@ -5777,7 +5704,6 @@
5777
5704
  "name": "toolReturncode",
5778
5705
  "displayName": "Tool Return Code",
5779
5706
  "type": "int",
5780
- "ormType": "integer",
5781
5707
  "columnName": "tool_returncode",
5782
5708
  "required": false,
5783
5709
  "unique": false,
@@ -5790,7 +5716,6 @@
5790
5716
  "name": "durationMs",
5791
5717
  "displayName": "Duration (ms)",
5792
5718
  "type": "decimal",
5793
- "ormType": "double precision",
5794
5719
  "columnName": "duration_ms",
5795
5720
  "required": false,
5796
5721
  "unique": false,
@@ -5803,7 +5728,6 @@
5803
5728
  "name": "cost",
5804
5729
  "displayName": "Cost",
5805
5730
  "type": "decimal",
5806
- "ormType": "double precision",
5807
5731
  "columnName": "cost",
5808
5732
  "required": false,
5809
5733
  "unique": false,
@@ -5816,7 +5740,6 @@
5816
5740
  "name": "inputTokens",
5817
5741
  "displayName": "Input Tokens",
5818
5742
  "type": "int",
5819
- "ormType": "integer",
5820
5743
  "columnName": "input_tokens",
5821
5744
  "required": false,
5822
5745
  "unique": false,
@@ -5829,7 +5752,6 @@
5829
5752
  "name": "outputTokens",
5830
5753
  "displayName": "Output Tokens",
5831
5754
  "type": "int",
5832
- "ormType": "integer",
5833
5755
  "columnName": "output_tokens",
5834
5756
  "required": false,
5835
5757
  "unique": false,
@@ -5842,7 +5764,6 @@
5842
5764
  "name": "modelUsed",
5843
5765
  "displayName": "Model Used",
5844
5766
  "type": "shortText",
5845
- "ormType": "varchar",
5846
5767
  "columnName": "model_used",
5847
5768
  "length": 255,
5848
5769
  "required": false,
@@ -5851,19 +5772,6 @@
5851
5772
  "private": false,
5852
5773
  "encrypt": false,
5853
5774
  "isSystem": true
5854
- },
5855
- {
5856
- "name": "createdAt",
5857
- "displayName": "Created At",
5858
- "type": "datetime",
5859
- "ormType": "timestamp without time zone",
5860
- "columnName": "created_at",
5861
- "required": true,
5862
- "unique": false,
5863
- "index": false,
5864
- "private": false,
5865
- "encrypt": false,
5866
- "isSystem": true
5867
5775
  }
5868
5776
  ]
5869
5777
  }
@@ -34,8 +34,11 @@ const getSolidCoreSettings = (isProd: boolean) => ([
34
34
  { moduleName: "solid-core", key: "authScreenCenterBackgroundImage", value: null, level: SettingLevel.SystemAdminEditable },
35
35
  {
36
36
  moduleName: "solid-core", key: "solidXGenAiCodeBuilderConfig", value: JSON.stringify({
37
- fastModel: { provider: "", availableProviders: [] },
38
- defaultProvider: { provider: "", availableProviders: [] },
37
+ models: {
38
+ default: { providerKey: "", behavior: { streaming: false, custom: "" } },
39
+ fast: { providerKey: "", behavior: { streaming: false, custom: "" } },
40
+ },
41
+ providers: {},
39
42
  }), level: SettingLevel.SystemAdminEditable
40
43
  },
41
44
  { moduleName: "solid-core", key: "mcpEnabled", value: process.env.MCP_ENABLED || false, level: SettingLevel.SystemAdminReadonly },