@oneuptime/common 11.3.25 → 11.3.26

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 (189) hide show
  1. package/Models/DatabaseModels/AIConversation.ts +322 -0
  2. package/Models/DatabaseModels/AIConversationMessage.ts +495 -0
  3. package/Models/DatabaseModels/AIRun.ts +584 -0
  4. package/Models/DatabaseModels/AIRunEvent.ts +443 -0
  5. package/Models/DatabaseModels/Index.ts +8 -0
  6. package/Models/DatabaseModels/LlmLog.ts +26 -0
  7. package/Models/DatabaseModels/LlmProvider.ts +2 -2
  8. package/Server/API/AIChatAPI.ts +693 -0
  9. package/Server/API/LlmProviderAPI.ts +169 -0
  10. package/Server/API/MicrosoftTeamsAPI.ts +5 -0
  11. package/Server/API/SlackAPI.ts +663 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1783363279075-AddAIChatModels.ts +245 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1783443471795-AddLlmProviderToAIConversation.ts +36 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1783453297388-AddAIChatWriteActionsAndWidgets.ts +46 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1783461767405-MigrationName.ts +119 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  17. package/Server/Services/AIConversationMessageService.ts +39 -0
  18. package/Server/Services/AIConversationService.ts +63 -0
  19. package/Server/Services/AIRunEventService.ts +39 -0
  20. package/Server/Services/AIRunService.ts +39 -0
  21. package/Server/Services/AIService.ts +53 -31
  22. package/Server/Services/DatabaseService.ts +19 -0
  23. package/Server/Services/LlmProviderService.ts +110 -0
  24. package/Server/Services/ProjectService.ts +24 -0
  25. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +74 -9
  26. package/Server/Utils/AI/AIChatPrivacyFilter.ts +28 -0
  27. package/Server/Utils/AI/Chat/ChatAgentRunner.ts +1054 -0
  28. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +239 -0
  29. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +51 -0
  30. package/Server/Utils/AI/Toolbox/AlertTools.ts +201 -0
  31. package/Server/Utils/AI/Toolbox/AlertWriteTools.ts +174 -0
  32. package/Server/Utils/AI/Toolbox/ContextTools.ts +189 -0
  33. package/Server/Utils/AI/Toolbox/ExceptionTools.ts +149 -0
  34. package/Server/Utils/AI/Toolbox/IncidentTools.ts +204 -0
  35. package/Server/Utils/AI/Toolbox/IncidentWriteTools.ts +350 -0
  36. package/Server/Utils/AI/Toolbox/Index.ts +228 -0
  37. package/Server/Utils/AI/Toolbox/LogTools.ts +339 -0
  38. package/Server/Utils/AI/Toolbox/MetricTools.ts +179 -0
  39. package/Server/Utils/AI/Toolbox/MonitorTools.ts +193 -0
  40. package/Server/Utils/AI/Toolbox/Serializer.ts +257 -0
  41. package/Server/Utils/AI/Toolbox/ToolTypes.ts +249 -0
  42. package/Server/Utils/AI/Toolbox/TraceTools.ts +402 -0
  43. package/Server/Utils/AI/Toolbox/WidgetBuilder.ts +189 -0
  44. package/Server/Utils/LLM/LLMService.ts +502 -92
  45. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +512 -19
  46. package/Server/Utils/Workspace/Slack/Slack.ts +80 -0
  47. package/Server/Utils/Workspace/Slack/app-manifest.json +16 -1
  48. package/Tests/Server/Utils/AI/AIChatModelACL.test.ts +42 -0
  49. package/Tests/Server/Utils/AI/ChatAgentHelpers.test.ts +89 -0
  50. package/Tests/Server/Utils/AI/LLMServiceBaseUrl.test.ts +139 -0
  51. package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +308 -0
  52. package/Tests/Server/Utils/AI/ToolArgsGetTimeRange.test.ts +62 -0
  53. package/Tests/Server/Utils/AI/ToolArgsScopeServiceIds.test.ts +79 -0
  54. package/Tests/Server/Utils/AI/ToolResultSerializer.test.ts +155 -0
  55. package/Tests/Types/Billing/SubscriptionStatus.test.ts +127 -0
  56. package/Tests/Types/Metrics/RecordingRuleDefinition.test.ts +213 -0
  57. package/Types/AI/AIChatMessageRole.ts +6 -0
  58. package/Types/AI/AIChatMessageStatus.ts +32 -0
  59. package/Types/AI/AIChatPermissionMode.ts +69 -0
  60. package/Types/AI/AIChatTypes.ts +231 -0
  61. package/Types/AI/AIRunEventType.ts +17 -0
  62. package/Types/AI/AIRunStatus.ts +28 -0
  63. package/Types/AI/AIRunType.ts +6 -0
  64. package/Types/LLM/LlmType.ts +6 -0
  65. package/UI/Components/Header/HeaderIconDropdownButton.tsx +22 -12
  66. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +35 -3
  67. package/UI/Components/Page/Page.tsx +14 -0
  68. package/UI/Utils/LlmTypeDropdownOptions.ts +40 -0
  69. package/UI/Utils/TestLLMProvider.ts +59 -0
  70. package/build/dist/Models/DatabaseModels/AIConversation.js +345 -0
  71. package/build/dist/Models/DatabaseModels/AIConversation.js.map +1 -0
  72. package/build/dist/Models/DatabaseModels/AIConversationMessage.js +521 -0
  73. package/build/dist/Models/DatabaseModels/AIConversationMessage.js.map +1 -0
  74. package/build/dist/Models/DatabaseModels/AIRun.js +619 -0
  75. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -0
  76. package/build/dist/Models/DatabaseModels/AIRunEvent.js +469 -0
  77. package/build/dist/Models/DatabaseModels/AIRunEvent.js.map +1 -0
  78. package/build/dist/Models/DatabaseModels/Index.js +8 -0
  79. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  80. package/build/dist/Models/DatabaseModels/LlmLog.js +28 -0
  81. package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -1
  82. package/build/dist/Models/DatabaseModels/LlmProvider.js +2 -2
  83. package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
  84. package/build/dist/Server/API/AIChatAPI.js +498 -0
  85. package/build/dist/Server/API/AIChatAPI.js.map +1 -0
  86. package/build/dist/Server/API/LlmProviderAPI.js +107 -1
  87. package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
  88. package/build/dist/Server/API/MicrosoftTeamsAPI.js +4 -0
  89. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  90. package/build/dist/Server/API/SlackAPI.js +442 -0
  91. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  92. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783363279075-AddAIChatModels.js +96 -0
  93. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783363279075-AddAIChatModels.js.map +1 -0
  94. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783443471795-AddLlmProviderToAIConversation.js +25 -0
  95. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783443471795-AddLlmProviderToAIConversation.js.map +1 -0
  96. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783453297388-AddAIChatWriteActionsAndWidgets.js +31 -0
  97. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783453297388-AddAIChatWriteActionsAndWidgets.js.map +1 -0
  98. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783461767405-MigrationName.js +46 -0
  99. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783461767405-MigrationName.js.map +1 -0
  100. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  101. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  102. package/build/dist/Server/Services/AIConversationMessageService.js +34 -0
  103. package/build/dist/Server/Services/AIConversationMessageService.js.map +1 -0
  104. package/build/dist/Server/Services/AIConversationService.js +42 -0
  105. package/build/dist/Server/Services/AIConversationService.js.map +1 -0
  106. package/build/dist/Server/Services/AIRunEventService.js +34 -0
  107. package/build/dist/Server/Services/AIRunEventService.js.map +1 -0
  108. package/build/dist/Server/Services/AIRunService.js +34 -0
  109. package/build/dist/Server/Services/AIRunService.js.map +1 -0
  110. package/build/dist/Server/Services/AIService.js +31 -23
  111. package/build/dist/Server/Services/AIService.js.map +1 -1
  112. package/build/dist/Server/Services/DatabaseService.js +10 -0
  113. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  114. package/build/dist/Server/Services/LlmProviderService.js +108 -0
  115. package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
  116. package/build/dist/Server/Services/ProjectService.js +25 -0
  117. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  118. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +50 -7
  119. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  120. package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js +18 -0
  121. package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js.map +1 -0
  122. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +745 -0
  123. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -0
  124. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +165 -0
  125. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -0
  126. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +44 -0
  127. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -0
  128. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +167 -0
  129. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -0
  130. package/build/dist/Server/Utils/AI/Toolbox/AlertWriteTools.js +136 -0
  131. package/build/dist/Server/Utils/AI/Toolbox/AlertWriteTools.js.map +1 -0
  132. package/build/dist/Server/Utils/AI/Toolbox/ContextTools.js +141 -0
  133. package/build/dist/Server/Utils/AI/Toolbox/ContextTools.js.map +1 -0
  134. package/build/dist/Server/Utils/AI/Toolbox/ExceptionTools.js +117 -0
  135. package/build/dist/Server/Utils/AI/Toolbox/ExceptionTools.js.map +1 -0
  136. package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js +167 -0
  137. package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js.map +1 -0
  138. package/build/dist/Server/Utils/AI/Toolbox/IncidentWriteTools.js +280 -0
  139. package/build/dist/Server/Utils/AI/Toolbox/IncidentWriteTools.js.map +1 -0
  140. package/build/dist/Server/Utils/AI/Toolbox/Index.js +150 -0
  141. package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -0
  142. package/build/dist/Server/Utils/AI/Toolbox/LogTools.js +246 -0
  143. package/build/dist/Server/Utils/AI/Toolbox/LogTools.js.map +1 -0
  144. package/build/dist/Server/Utils/AI/Toolbox/MetricTools.js +120 -0
  145. package/build/dist/Server/Utils/AI/Toolbox/MetricTools.js.map +1 -0
  146. package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js +158 -0
  147. package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js.map +1 -0
  148. package/build/dist/Server/Utils/AI/Toolbox/Serializer.js +188 -0
  149. package/build/dist/Server/Utils/AI/Toolbox/Serializer.js.map +1 -0
  150. package/build/dist/Server/Utils/AI/Toolbox/ToolTypes.js +142 -0
  151. package/build/dist/Server/Utils/AI/Toolbox/ToolTypes.js.map +1 -0
  152. package/build/dist/Server/Utils/AI/Toolbox/TraceTools.js +309 -0
  153. package/build/dist/Server/Utils/AI/Toolbox/TraceTools.js.map +1 -0
  154. package/build/dist/Server/Utils/AI/Toolbox/WidgetBuilder.js +120 -0
  155. package/build/dist/Server/Utils/AI/Toolbox/WidgetBuilder.js.map +1 -0
  156. package/build/dist/Server/Utils/LLM/LLMService.js +372 -88
  157. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  158. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +378 -15
  159. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  160. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +59 -0
  161. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  162. package/build/dist/Server/Utils/Workspace/Slack/app-manifest.json +16 -1
  163. package/build/dist/Types/AI/AIChatMessageRole.js +7 -0
  164. package/build/dist/Types/AI/AIChatMessageRole.js.map +1 -0
  165. package/build/dist/Types/AI/AIChatMessageStatus.js +27 -0
  166. package/build/dist/Types/AI/AIChatMessageStatus.js.map +1 -0
  167. package/build/dist/Types/AI/AIChatPermissionMode.js +53 -0
  168. package/build/dist/Types/AI/AIChatPermissionMode.js.map +1 -0
  169. package/build/dist/Types/AI/AIChatTypes.js +74 -0
  170. package/build/dist/Types/AI/AIChatTypes.js.map +1 -0
  171. package/build/dist/Types/AI/AIRunEventType.js +18 -0
  172. package/build/dist/Types/AI/AIRunEventType.js.map +1 -0
  173. package/build/dist/Types/AI/AIRunStatus.js +26 -0
  174. package/build/dist/Types/AI/AIRunStatus.js.map +1 -0
  175. package/build/dist/Types/AI/AIRunType.js +7 -0
  176. package/build/dist/Types/AI/AIRunType.js.map +1 -0
  177. package/build/dist/Types/LLM/LlmType.js +6 -0
  178. package/build/dist/Types/LLM/LlmType.js.map +1 -1
  179. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +10 -5
  180. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
  181. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +18 -4
  182. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  183. package/build/dist/UI/Components/Page/Page.js +3 -1
  184. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  185. package/build/dist/UI/Utils/LlmTypeDropdownOptions.js +38 -0
  186. package/build/dist/UI/Utils/LlmTypeDropdownOptions.js.map +1 -0
  187. package/build/dist/UI/Utils/TestLLMProvider.js +37 -0
  188. package/build/dist/UI/Utils/TestLLMProvider.js.map +1 -0
  189. package/package.json +1 -1
@@ -0,0 +1,521 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import AIConversation from "./AIConversation";
11
+ import Project from "./Project";
12
+ import User from "./User";
13
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
14
+ import Route from "../../Types/API/Route";
15
+ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
16
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
17
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
18
+ import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
19
+ import ColumnLength from "../../Types/Database/ColumnLength";
20
+ import ColumnType from "../../Types/Database/ColumnType";
21
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
22
+ import TableColumn from "../../Types/Database/TableColumn";
23
+ import TableColumnType from "../../Types/Database/TableColumnType";
24
+ import TableMetadata from "../../Types/Database/TableMetadata";
25
+ import TenantColumn from "../../Types/Database/TenantColumn";
26
+ import IconProp from "../../Types/Icon/IconProp";
27
+ import ObjectID from "../../Types/ObjectID";
28
+ import Permission from "../../Types/Permission";
29
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
30
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
31
+ import AIChatMessageRole from "../../Types/AI/AIChatMessageRole";
32
+ import AIChatMessageStatus from "../../Types/AI/AIChatMessageStatus";
33
+ /*
34
+ * A single message in an AI conversation. Create/update table permissions are
35
+ * deliberately EMPTY: only the server (isRoot) writes message rows. This
36
+ * prevents project members from forging assistant messages with fabricated
37
+ * citations through the auto-generated CRUD API.
38
+ */
39
+ let AIConversationMessage = class AIConversationMessage extends BaseModel {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.project = undefined;
43
+ this.projectId = undefined;
44
+ this.conversation = undefined;
45
+ this.conversationId = undefined;
46
+ this.user = undefined;
47
+ this.userId = undefined;
48
+ this.role = undefined;
49
+ this.contentInMarkdown = undefined;
50
+ this.status = undefined;
51
+ this.aiRunId = undefined;
52
+ this.citations = undefined;
53
+ this.widgets = undefined;
54
+ this.toolActions = undefined;
55
+ this.errorMessage = undefined;
56
+ this.deletedByUser = undefined;
57
+ this.deletedByUserId = undefined;
58
+ this.createdByUser = undefined;
59
+ this.createdByUserId = undefined;
60
+ }
61
+ };
62
+ __decorate([
63
+ ColumnAccessControl({
64
+ create: [],
65
+ read: [
66
+ Permission.ProjectOwner,
67
+ Permission.ProjectAdmin,
68
+ Permission.ProjectMember,
69
+ ],
70
+ update: [],
71
+ }),
72
+ TableColumn({
73
+ type: TableColumnType.Entity,
74
+ required: true,
75
+ modelType: Project,
76
+ manyToOneRelationColumn: "projectId",
77
+ title: "Project",
78
+ description: "Project this message belongs to.",
79
+ }),
80
+ ManyToOne(() => {
81
+ return Project;
82
+ }, {
83
+ cascade: false,
84
+ eager: false,
85
+ nullable: false,
86
+ onDelete: "CASCADE",
87
+ orphanedRowAction: "nullify",
88
+ }),
89
+ JoinColumn({ name: "projectId" }),
90
+ __metadata("design:type", Project)
91
+ ], AIConversationMessage.prototype, "project", void 0);
92
+ __decorate([
93
+ ColumnAccessControl({
94
+ create: [],
95
+ read: [
96
+ Permission.ProjectOwner,
97
+ Permission.ProjectAdmin,
98
+ Permission.ProjectMember,
99
+ ],
100
+ update: [],
101
+ }),
102
+ Index(),
103
+ TableColumn({
104
+ type: TableColumnType.ObjectID,
105
+ required: true,
106
+ canReadOnRelationQuery: true,
107
+ title: "Project ID",
108
+ description: "ID of the project this message belongs to.",
109
+ }),
110
+ Column({
111
+ type: ColumnType.ObjectID,
112
+ nullable: false,
113
+ transformer: ObjectID.getDatabaseTransformer(),
114
+ }),
115
+ __metadata("design:type", ObjectID)
116
+ ], AIConversationMessage.prototype, "projectId", void 0);
117
+ __decorate([
118
+ ColumnAccessControl({
119
+ create: [],
120
+ read: [
121
+ Permission.ProjectOwner,
122
+ Permission.ProjectAdmin,
123
+ Permission.ProjectMember,
124
+ ],
125
+ update: [],
126
+ }),
127
+ TableColumn({
128
+ type: TableColumnType.Entity,
129
+ required: true,
130
+ modelType: AIConversation,
131
+ manyToOneRelationColumn: "conversationId",
132
+ title: "Conversation",
133
+ description: "Conversation this message belongs to.",
134
+ }),
135
+ ManyToOne(() => {
136
+ return AIConversation;
137
+ }, {
138
+ cascade: false,
139
+ eager: false,
140
+ nullable: false,
141
+ onDelete: "CASCADE",
142
+ orphanedRowAction: "nullify",
143
+ }),
144
+ JoinColumn({ name: "conversationId" }),
145
+ __metadata("design:type", AIConversation)
146
+ ], AIConversationMessage.prototype, "conversation", void 0);
147
+ __decorate([
148
+ ColumnAccessControl({
149
+ create: [],
150
+ read: [
151
+ Permission.ProjectOwner,
152
+ Permission.ProjectAdmin,
153
+ Permission.ProjectMember,
154
+ ],
155
+ update: [],
156
+ }),
157
+ Index(),
158
+ TableColumn({
159
+ type: TableColumnType.ObjectID,
160
+ required: true,
161
+ canReadOnRelationQuery: true,
162
+ title: "Conversation ID",
163
+ description: "ID of the conversation this message belongs to.",
164
+ }),
165
+ Column({
166
+ type: ColumnType.ObjectID,
167
+ nullable: false,
168
+ transformer: ObjectID.getDatabaseTransformer(),
169
+ }),
170
+ __metadata("design:type", ObjectID)
171
+ ], AIConversationMessage.prototype, "conversationId", void 0);
172
+ __decorate([
173
+ ColumnAccessControl({
174
+ create: [],
175
+ read: [
176
+ Permission.ProjectOwner,
177
+ Permission.ProjectAdmin,
178
+ Permission.ProjectMember,
179
+ ],
180
+ update: [],
181
+ }),
182
+ TableColumn({
183
+ type: TableColumnType.Entity,
184
+ required: false,
185
+ modelType: User,
186
+ manyToOneRelationColumn: "userId",
187
+ title: "User",
188
+ description: "User who owns the conversation this message belongs to.",
189
+ }),
190
+ ManyToOne(() => {
191
+ return User;
192
+ }, {
193
+ cascade: false,
194
+ eager: false,
195
+ nullable: true,
196
+ onDelete: "SET NULL",
197
+ orphanedRowAction: "nullify",
198
+ }),
199
+ JoinColumn({ name: "userId" }),
200
+ __metadata("design:type", User)
201
+ ], AIConversationMessage.prototype, "user", void 0);
202
+ __decorate([
203
+ ColumnAccessControl({
204
+ create: [],
205
+ read: [
206
+ Permission.ProjectOwner,
207
+ Permission.ProjectAdmin,
208
+ Permission.ProjectMember,
209
+ ],
210
+ update: [],
211
+ }),
212
+ Index(),
213
+ TableColumn({
214
+ type: TableColumnType.ObjectID,
215
+ required: false,
216
+ canReadOnRelationQuery: true,
217
+ title: "User ID",
218
+ description: "ID of the user who owns the conversation.",
219
+ }),
220
+ Column({
221
+ type: ColumnType.ObjectID,
222
+ nullable: true,
223
+ transformer: ObjectID.getDatabaseTransformer(),
224
+ }),
225
+ __metadata("design:type", ObjectID)
226
+ ], AIConversationMessage.prototype, "userId", void 0);
227
+ __decorate([
228
+ ColumnAccessControl({
229
+ create: [],
230
+ read: [
231
+ Permission.ProjectOwner,
232
+ Permission.ProjectAdmin,
233
+ Permission.ProjectMember,
234
+ ],
235
+ update: [],
236
+ }),
237
+ TableColumn({
238
+ required: true,
239
+ type: TableColumnType.ShortText,
240
+ title: "Role",
241
+ description: "Who authored this message: User or Assistant.",
242
+ canReadOnRelationQuery: true,
243
+ }),
244
+ Column({
245
+ nullable: false,
246
+ type: ColumnType.ShortText,
247
+ length: ColumnLength.ShortText,
248
+ }),
249
+ __metadata("design:type", String)
250
+ ], AIConversationMessage.prototype, "role", void 0);
251
+ __decorate([
252
+ ColumnAccessControl({
253
+ create: [],
254
+ read: [
255
+ Permission.ProjectOwner,
256
+ Permission.ProjectAdmin,
257
+ Permission.ProjectMember,
258
+ ],
259
+ update: [],
260
+ }),
261
+ TableColumn({
262
+ required: false,
263
+ type: TableColumnType.VeryLongText,
264
+ title: "Content",
265
+ description: "Message content in markdown.",
266
+ }),
267
+ Column({
268
+ nullable: true,
269
+ type: ColumnType.VeryLongText,
270
+ }),
271
+ __metadata("design:type", String)
272
+ ], AIConversationMessage.prototype, "contentInMarkdown", void 0);
273
+ __decorate([
274
+ ColumnAccessControl({
275
+ create: [],
276
+ read: [
277
+ Permission.ProjectOwner,
278
+ Permission.ProjectAdmin,
279
+ Permission.ProjectMember,
280
+ ],
281
+ update: [],
282
+ }),
283
+ Index(),
284
+ TableColumn({
285
+ required: true,
286
+ type: TableColumnType.ShortText,
287
+ title: "Status",
288
+ description: "Current status of this message.",
289
+ canReadOnRelationQuery: true,
290
+ }),
291
+ Column({
292
+ nullable: false,
293
+ type: ColumnType.ShortText,
294
+ length: ColumnLength.ShortText,
295
+ default: AIChatMessageStatus.Pending,
296
+ }),
297
+ __metadata("design:type", String)
298
+ ], AIConversationMessage.prototype, "status", void 0);
299
+ __decorate([
300
+ ColumnAccessControl({
301
+ create: [],
302
+ read: [
303
+ Permission.ProjectOwner,
304
+ Permission.ProjectAdmin,
305
+ Permission.ProjectMember,
306
+ ],
307
+ update: [],
308
+ }),
309
+ Index(),
310
+ TableColumn({
311
+ type: TableColumnType.ObjectID,
312
+ required: false,
313
+ title: "AI Run ID",
314
+ description: "ID of the AI run that produced this assistant message.",
315
+ }),
316
+ Column({
317
+ type: ColumnType.ObjectID,
318
+ nullable: true,
319
+ transformer: ObjectID.getDatabaseTransformer(),
320
+ }),
321
+ __metadata("design:type", ObjectID)
322
+ ], AIConversationMessage.prototype, "aiRunId", void 0);
323
+ __decorate([
324
+ ColumnAccessControl({
325
+ create: [],
326
+ read: [
327
+ Permission.ProjectOwner,
328
+ Permission.ProjectAdmin,
329
+ Permission.ProjectMember,
330
+ ],
331
+ update: [],
332
+ }),
333
+ TableColumn({
334
+ required: false,
335
+ type: TableColumnType.JSON,
336
+ title: "Citations",
337
+ description: "Server-minted citations for this assistant message. Each citation records the tool, the exact validated query arguments and the row count.",
338
+ }),
339
+ Column({
340
+ nullable: true,
341
+ type: ColumnType.JSON,
342
+ }),
343
+ __metadata("design:type", Array)
344
+ ], AIConversationMessage.prototype, "citations", void 0);
345
+ __decorate([
346
+ ColumnAccessControl({
347
+ create: [],
348
+ read: [
349
+ Permission.ProjectOwner,
350
+ Permission.ProjectAdmin,
351
+ Permission.ProjectMember,
352
+ ],
353
+ update: [],
354
+ }),
355
+ TableColumn({
356
+ required: false,
357
+ type: TableColumnType.JSON,
358
+ title: "Widgets",
359
+ description: "Inline widgets (charts, tables, trace waterfalls, resource cards) built from this assistant message's tool results and rendered inline in the chat.",
360
+ }),
361
+ Column({
362
+ nullable: true,
363
+ type: ColumnType.JSON,
364
+ }),
365
+ __metadata("design:type", Array)
366
+ ], AIConversationMessage.prototype, "widgets", void 0);
367
+ __decorate([
368
+ ColumnAccessControl({
369
+ create: [],
370
+ read: [
371
+ Permission.ProjectOwner,
372
+ Permission.ProjectAdmin,
373
+ Permission.ProjectMember,
374
+ ],
375
+ update: [],
376
+ }),
377
+ TableColumn({
378
+ required: false,
379
+ type: TableColumnType.JSON,
380
+ title: "Tool Actions",
381
+ description: "Mutating actions the agent proposed or performed in this turn, with their approval status (pending, approved, denied, executed).",
382
+ }),
383
+ Column({
384
+ nullable: true,
385
+ type: ColumnType.JSON,
386
+ }),
387
+ __metadata("design:type", Array)
388
+ ], AIConversationMessage.prototype, "toolActions", void 0);
389
+ __decorate([
390
+ ColumnAccessControl({
391
+ create: [],
392
+ read: [
393
+ Permission.ProjectOwner,
394
+ Permission.ProjectAdmin,
395
+ Permission.ProjectMember,
396
+ ],
397
+ update: [],
398
+ }),
399
+ TableColumn({
400
+ required: false,
401
+ type: TableColumnType.LongText,
402
+ title: "Error Message",
403
+ description: "Error message if this message failed to generate.",
404
+ }),
405
+ Column({
406
+ nullable: true,
407
+ type: ColumnType.LongText,
408
+ length: ColumnLength.LongText,
409
+ }),
410
+ __metadata("design:type", String)
411
+ ], AIConversationMessage.prototype, "errorMessage", void 0);
412
+ __decorate([
413
+ ColumnAccessControl({
414
+ create: [],
415
+ read: [],
416
+ update: [],
417
+ }),
418
+ TableColumn({ type: TableColumnType.Entity, modelType: User }),
419
+ ManyToOne(() => {
420
+ return User;
421
+ }, {
422
+ cascade: false,
423
+ eager: false,
424
+ nullable: true,
425
+ onDelete: "SET NULL",
426
+ orphanedRowAction: "nullify",
427
+ }),
428
+ JoinColumn({ name: "deletedByUserId" }),
429
+ __metadata("design:type", User)
430
+ ], AIConversationMessage.prototype, "deletedByUser", void 0);
431
+ __decorate([
432
+ ColumnAccessControl({
433
+ create: [],
434
+ read: [],
435
+ update: [],
436
+ }),
437
+ TableColumn({
438
+ type: TableColumnType.ObjectID,
439
+ title: "Deleted by User ID",
440
+ description: "User ID who deleted this object (if this object was deleted by a User)",
441
+ }),
442
+ Column({
443
+ type: ColumnType.ObjectID,
444
+ nullable: true,
445
+ transformer: ObjectID.getDatabaseTransformer(),
446
+ }),
447
+ __metadata("design:type", ObjectID)
448
+ ], AIConversationMessage.prototype, "deletedByUserId", void 0);
449
+ __decorate([
450
+ ColumnAccessControl({
451
+ create: [],
452
+ read: [],
453
+ update: [],
454
+ }),
455
+ TableColumn({ type: TableColumnType.Entity, modelType: User }),
456
+ ManyToOne(() => {
457
+ return User;
458
+ }, {
459
+ eager: false,
460
+ nullable: true,
461
+ onDelete: "SET NULL",
462
+ orphanedRowAction: "nullify",
463
+ }),
464
+ JoinColumn({ name: "createdByUserId" }),
465
+ __metadata("design:type", User)
466
+ ], AIConversationMessage.prototype, "createdByUser", void 0);
467
+ __decorate([
468
+ ColumnAccessControl({
469
+ create: [],
470
+ read: [],
471
+ update: [],
472
+ }),
473
+ TableColumn({
474
+ type: TableColumnType.ObjectID,
475
+ title: "Created by User ID",
476
+ description: "User ID who created this object (if this object was created by a User)",
477
+ }),
478
+ Column({
479
+ type: ColumnType.ObjectID,
480
+ nullable: true,
481
+ transformer: ObjectID.getDatabaseTransformer(),
482
+ }),
483
+ __metadata("design:type", ObjectID)
484
+ ], AIConversationMessage.prototype, "createdByUserId", void 0);
485
+ AIConversationMessage = __decorate([
486
+ EnableDocumentation(),
487
+ TableBillingAccessControl({
488
+ create: PlanType.Growth,
489
+ read: PlanType.Free,
490
+ update: PlanType.Growth,
491
+ delete: PlanType.Free,
492
+ }),
493
+ TenantColumn("projectId"),
494
+ CrudApiEndpoint(new Route("/ai-conversation-message")),
495
+ Entity({
496
+ name: "AIConversationMessage",
497
+ }),
498
+ TableMetadata({
499
+ tableName: "AIConversationMessage",
500
+ singularName: "AI Conversation Message",
501
+ pluralName: "AI Conversation Messages",
502
+ icon: IconProp.ChatBubbleLeft,
503
+ tableDescription: "A message in an AI conversation. Assistant messages carry citations, tool events and cost.",
504
+ enableRealtimeEventsOn: {
505
+ create: true,
506
+ update: true,
507
+ },
508
+ }),
509
+ TableAccessControl({
510
+ create: [],
511
+ read: [
512
+ Permission.ProjectOwner,
513
+ Permission.ProjectAdmin,
514
+ Permission.ProjectMember,
515
+ ],
516
+ delete: [],
517
+ update: [],
518
+ })
519
+ ], AIConversationMessage);
520
+ export default AIConversationMessage;
521
+ //# sourceMappingURL=AIConversationMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIConversationMessage.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/AIConversationMessage.ts"],"names":[],"mappings":"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"}