@memberjunction/core-entities-server 3.4.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +147 -11
- package/dist/custom/AIAgentExampleEntity.server.d.ts +0 -4
- package/dist/custom/AIAgentExampleEntity.server.d.ts.map +1 -1
- package/dist/custom/AIAgentExampleEntity.server.js +13 -20
- package/dist/custom/AIAgentExampleEntity.server.js.map +1 -1
- package/dist/custom/AIAgentNoteEntity.server.d.ts +0 -4
- package/dist/custom/AIAgentNoteEntity.server.d.ts.map +1 -1
- package/dist/custom/AIAgentNoteEntity.server.js +13 -20
- package/dist/custom/AIAgentNoteEntity.server.js.map +1 -1
- package/dist/custom/AIPromptEntityExtended.server.d.ts +0 -1
- package/dist/custom/AIPromptEntityExtended.server.d.ts.map +1 -1
- package/dist/custom/AIPromptEntityExtended.server.js +16 -20
- package/dist/custom/AIPromptEntityExtended.server.js.map +1 -1
- package/dist/custom/AIPromptRunEntity.server.d.ts +0 -4
- package/dist/custom/AIPromptRunEntity.server.d.ts.map +1 -1
- package/dist/custom/AIPromptRunEntity.server.js +19 -27
- package/dist/custom/AIPromptRunEntity.server.js.map +1 -1
- package/dist/custom/ActionEntity.server.d.ts +0 -1
- package/dist/custom/ActionEntity.server.d.ts.map +1 -1
- package/dist/custom/ActionEntity.server.js +26 -35
- package/dist/custom/ActionEntity.server.js.map +1 -1
- package/dist/custom/ApplicationEntity.server.d.ts +9 -1
- package/dist/custom/ApplicationEntity.server.d.ts.map +1 -1
- package/dist/custom/ApplicationEntity.server.js +41 -31
- package/dist/custom/ApplicationEntity.server.js.map +1 -1
- package/dist/custom/ArtifactVersionExtended.server.d.ts +0 -4
- package/dist/custom/ArtifactVersionExtended.server.d.ts.map +1 -1
- package/dist/custom/ArtifactVersionExtended.server.js +19 -29
- package/dist/custom/ArtifactVersionExtended.server.js.map +1 -1
- package/dist/custom/ComponentEntity.server.d.ts +0 -1
- package/dist/custom/ComponentEntity.server.d.ts.map +1 -1
- package/dist/custom/ComponentEntity.server.js +9 -14
- package/dist/custom/ComponentEntity.server.js.map +1 -1
- package/dist/custom/ConversationDetailEntity.server.d.ts +0 -1
- package/dist/custom/ConversationDetailEntity.server.d.ts.map +1 -1
- package/dist/custom/ConversationDetailEntity.server.js +7 -12
- package/dist/custom/ConversationDetailEntity.server.js.map +1 -1
- package/dist/custom/DuplicateRunEntity.server.d.ts +0 -1
- package/dist/custom/DuplicateRunEntity.server.d.ts.map +1 -1
- package/dist/custom/DuplicateRunEntity.server.js +10 -15
- package/dist/custom/DuplicateRunEntity.server.js.map +1 -1
- package/dist/custom/QueryEntity.server.d.ts +0 -23
- package/dist/custom/QueryEntity.server.d.ts.map +1 -1
- package/dist/custom/QueryEntity.server.js +53 -326
- package/dist/custom/QueryEntity.server.js.map +1 -1
- package/dist/custom/TemplateContentEntity.server.d.ts +0 -1
- package/dist/custom/TemplateContentEntity.server.d.ts.map +1 -1
- package/dist/custom/TemplateContentEntity.server.js +19 -24
- package/dist/custom/TemplateContentEntity.server.js.map +1 -1
- package/dist/custom/reportEntity.server.d.ts +0 -1
- package/dist/custom/reportEntity.server.d.ts.map +1 -1
- package/dist/custom/reportEntity.server.js +9 -14
- package/dist/custom/reportEntity.server.js.map +1 -1
- package/dist/custom/sql-parser.d.ts +95 -0
- package/dist/custom/sql-parser.d.ts.map +1 -0
- package/dist/custom/sql-parser.js +313 -0
- package/dist/custom/sql-parser.js.map +1 -0
- package/dist/custom/userViewEntity.server.d.ts +0 -1
- package/dist/custom/userViewEntity.server.d.ts.map +1 -1
- package/dist/custom/userViewEntity.server.js +20 -23
- package/dist/custom/userViewEntity.server.js.map +1 -1
- package/dist/custom/util.js +4 -8
- package/dist/custom/util.js.map +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -65
- package/dist/index.js.map +1 -1
- package/package.json +20 -19
package/README.md
CHANGED
|
@@ -1,19 +1,38 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @memberjunction/core-entities-server
|
|
2
2
|
|
|
3
3
|
Server-side entity subclasses for MemberJunction that provide extended functionality and business logic for core entities when running in a Node.js environment.
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
This package contains server-side implementations of MemberJunction entity subclasses that require server-specific functionality such as
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
This package contains server-side implementations of MemberJunction entity subclasses that require server-specific functionality such as direct database access, file system operations, server-side API integrations, complex business logic, and automatic creation/management of related entities.
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
graph TD
|
|
11
|
+
A["Core Entities Server"] --> B["AIPromptEntityExtended"]
|
|
12
|
+
A --> C["QueryEntityExtended"]
|
|
13
|
+
A --> D["ComponentEntityExtended"]
|
|
14
|
+
A --> E["ActionEntityExtended"]
|
|
15
|
+
A --> F["ApplicationEntityExtended"]
|
|
16
|
+
A --> G["Other Server Entities"]
|
|
17
|
+
|
|
18
|
+
B -->|manages| H["Templates<br/>Template Contents"]
|
|
19
|
+
C -->|manages| H
|
|
20
|
+
D -->|generates| I["Vector Embeddings"]
|
|
21
|
+
|
|
22
|
+
J["MJ Class Factory"] -->|returns server subclass| A
|
|
23
|
+
K["Core Entities<br/>(base classes)"] -->|extended by| A
|
|
24
|
+
|
|
25
|
+
style A fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
26
|
+
style B fill:#7c5295,stroke:#563a6b,color:#fff
|
|
27
|
+
style C fill:#7c5295,stroke:#563a6b,color:#fff
|
|
28
|
+
style D fill:#7c5295,stroke:#563a6b,color:#fff
|
|
29
|
+
style E fill:#7c5295,stroke:#563a6b,color:#fff
|
|
30
|
+
style F fill:#7c5295,stroke:#563a6b,color:#fff
|
|
31
|
+
style H fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
32
|
+
style I fill:#b8762f,stroke:#8a5722,color:#fff
|
|
33
|
+
style J fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
34
|
+
style K fill:#b8762f,stroke:#8a5722,color:#fff
|
|
35
|
+
```
|
|
17
36
|
|
|
18
37
|
### Key Differences from Core Entities
|
|
19
38
|
|
|
@@ -264,6 +283,123 @@ export class OrderEntityServer extends OrderEntity {
|
|
|
264
283
|
}
|
|
265
284
|
```
|
|
266
285
|
|
|
286
|
+
## SQL Parser
|
|
287
|
+
|
|
288
|
+
The `SQLParser` utility class extracts table/view references and column references from SQL statements. It uses `node-sql-parser` for AST-based parsing with automatic regex fallback when the AST parser fails. This class has **no dependency on MJ Metadata** — it returns raw parse results that callers cross-reference against entities themselves.
|
|
289
|
+
|
|
290
|
+
### When to Use
|
|
291
|
+
|
|
292
|
+
- **Virtual entity decoration**: Parse a view's SQL to identify which source entities it pulls from
|
|
293
|
+
- **Query entity metadata**: Parse SQL queries to find referenced tables and columns
|
|
294
|
+
- **Any server-side SQL analysis**: Extract structural information from SQL without executing it
|
|
295
|
+
|
|
296
|
+
### Basic Usage — Plain SQL
|
|
297
|
+
|
|
298
|
+
```typescript
|
|
299
|
+
import { SQLParser } from '@memberjunction/core-entities-server';
|
|
300
|
+
|
|
301
|
+
const sql = `
|
|
302
|
+
SELECT c.Name, c.Email, o.OrderDate, o.Total
|
|
303
|
+
FROM [dbo].[Customer] c
|
|
304
|
+
INNER JOIN [dbo].[Order] o ON o.CustomerID = c.ID
|
|
305
|
+
WHERE o.Status = 'Active'
|
|
306
|
+
`;
|
|
307
|
+
|
|
308
|
+
const result = SQLParser.Parse(sql);
|
|
309
|
+
|
|
310
|
+
// Tables found in the query
|
|
311
|
+
for (const table of result.Tables) {
|
|
312
|
+
console.log(`${table.SchemaName}.${table.TableName} (alias: ${table.Alias})`);
|
|
313
|
+
}
|
|
314
|
+
// Output:
|
|
315
|
+
// dbo.Customer (alias: c)
|
|
316
|
+
// dbo.Order (alias: o)
|
|
317
|
+
|
|
318
|
+
// Columns referenced in the query
|
|
319
|
+
for (const col of result.Columns) {
|
|
320
|
+
console.log(`${col.TableQualifier ? col.TableQualifier + '.' : ''}${col.ColumnName}`);
|
|
321
|
+
}
|
|
322
|
+
// Output:
|
|
323
|
+
// c.Name, c.Email, o.OrderDate, o.Total, o.CustomerID, c.ID, o.Status
|
|
324
|
+
|
|
325
|
+
// Whether AST parsing succeeded (true) or regex fallback was used (false)
|
|
326
|
+
console.log(`Used AST: ${result.UsedASTParsing}`);
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Nunjucks Template SQL
|
|
330
|
+
|
|
331
|
+
For SQL that contains Nunjucks template syntax (e.g., MemberJunction query templates), use `ParseWithTemplatePreprocessing`. This replaces template expressions with safe placeholder values before parsing:
|
|
332
|
+
|
|
333
|
+
```typescript
|
|
334
|
+
import { SQLParser } from '@memberjunction/core-entities-server';
|
|
335
|
+
|
|
336
|
+
const templateSQL = `
|
|
337
|
+
SELECT * FROM [dbo].[Customer]
|
|
338
|
+
WHERE Status = {{ status | sqlString }}
|
|
339
|
+
{% if regionId %}
|
|
340
|
+
AND RegionID = {{ regionId | sqlNumber }}
|
|
341
|
+
{% endif %}
|
|
342
|
+
`;
|
|
343
|
+
|
|
344
|
+
// Nunjucks syntax is replaced with placeholders, then parsed normally
|
|
345
|
+
const result = SQLParser.ParseWithTemplatePreprocessing(templateSQL);
|
|
346
|
+
console.log(result.Tables); // [{ TableName: 'Customer', SchemaName: 'dbo', Alias: 'Customer' }]
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
### Cross-Referencing with Entity Metadata
|
|
350
|
+
|
|
351
|
+
The parser returns raw table/column references. To resolve them to MemberJunction entities:
|
|
352
|
+
|
|
353
|
+
```typescript
|
|
354
|
+
import { Metadata } from '@memberjunction/core';
|
|
355
|
+
import { SQLParser } from '@memberjunction/core-entities-server';
|
|
356
|
+
|
|
357
|
+
const parseResult = SQLParser.Parse(viewDefinitionSQL);
|
|
358
|
+
const md = new Metadata();
|
|
359
|
+
|
|
360
|
+
for (const tableRef of parseResult.Tables) {
|
|
361
|
+
const entity = md.Entities.find(e =>
|
|
362
|
+
(e.BaseTable.toLowerCase() === tableRef.TableName.toLowerCase() ||
|
|
363
|
+
e.BaseView.toLowerCase() === tableRef.TableName.toLowerCase()) &&
|
|
364
|
+
e.SchemaName.toLowerCase() === tableRef.SchemaName.toLowerCase()
|
|
365
|
+
);
|
|
366
|
+
|
|
367
|
+
if (entity) {
|
|
368
|
+
console.log(`Table ${tableRef.TableName} → Entity "${entity.Name}"`);
|
|
369
|
+
// Access entity.Fields for full field metadata
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Return Types
|
|
375
|
+
|
|
376
|
+
```typescript
|
|
377
|
+
interface SQLParseResult {
|
|
378
|
+
Tables: SQLTableReference[]; // All table/view references (FROM, JOIN, subqueries, CTEs)
|
|
379
|
+
Columns: SQLColumnReference[]; // All column references (SELECT, WHERE, JOIN ON, etc.)
|
|
380
|
+
UsedASTParsing: boolean; // true = AST parsed, false = regex fallback
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
interface SQLTableReference {
|
|
384
|
+
TableName: string; // Table or view name
|
|
385
|
+
SchemaName: string; // Schema name (defaults to 'dbo')
|
|
386
|
+
Alias: string; // Query alias, or table name if no alias
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
interface SQLColumnReference {
|
|
390
|
+
ColumnName: string; // Column name
|
|
391
|
+
TableQualifier: string | null; // Table alias prefix (e.g., "c" in "c.Name")
|
|
392
|
+
}
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
### How It Works
|
|
396
|
+
|
|
397
|
+
1. **AST Parsing** (preferred): Uses `node-sql-parser` with `TransactSQL` dialect to build an AST, then recursively walks it to extract table references from `FROM`/`JOIN` clauses, subqueries, and CTEs, plus column references from `SELECT`, `WHERE`, `GROUP BY`, `ORDER BY`, and `ON` conditions.
|
|
398
|
+
|
|
399
|
+
2. **Regex Fallback**: If AST parsing fails (complex SQL, dialect edge cases), a regex-based extractor finds `FROM`/`JOIN` table references. Column references are not extracted in regex mode (the `Columns` array will be empty).
|
|
400
|
+
|
|
401
|
+
3. **Nunjucks Preprocessing**: `ParseWithTemplatePreprocessing` first renders the SQL through a Nunjucks environment with placeholder filters (`sqlString` → `'placeholder'`, `sqlNumber` → `0`, etc.), stripping template blocks while preserving the SQL structure. If Nunjucks rendering fails, it falls back to regex-based template removal.
|
|
402
|
+
|
|
267
403
|
## Troubleshooting
|
|
268
404
|
|
|
269
405
|
### Entity subclass not being used
|
|
@@ -11,8 +11,4 @@ export declare class AIAgentExampleEntityExtended extends AIAgentExampleEntity {
|
|
|
11
11
|
protected EmbedTextLocal(textToEmbed: string): Promise<SimpleEmbeddingResult>;
|
|
12
12
|
Save(options?: EntitySaveOptions): Promise<boolean>;
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Required export for MJ class factory registration
|
|
16
|
-
*/
|
|
17
|
-
export declare function LoadAIAgentExampleEntityServerSubClass(): void;
|
|
18
14
|
//# sourceMappingURL=AIAgentExampleEntity.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAgentExampleEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIAgentExampleEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,iBAAiB,EAAY,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"AIAgentExampleEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIAgentExampleEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,iBAAiB,EAAY,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAIrE;;;GAGG;AACH,qBACa,4BAA6B,SAAQ,oBAAoB;IAClE;;OAEG;cACsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI7E,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAyBrE"}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
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;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const util_1 = require("./util");
|
|
7
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
8
|
+
import { BaseEntity, LogError } from "@memberjunction/core";
|
|
9
|
+
import { AIAgentExampleEntity } from "@memberjunction/core-entities";
|
|
10
|
+
import { EmbedTextLocalHelper } from "./util.js";
|
|
11
|
+
import { AIEngine } from "@memberjunction/aiengine";
|
|
14
12
|
/**
|
|
15
13
|
* Server-side extension of AIAgentExampleEntity that auto-generates embeddings
|
|
16
14
|
* when the ExampleInput field changes, following the QueryEntity pattern.
|
|
17
15
|
*/
|
|
18
|
-
let AIAgentExampleEntityExtended = class AIAgentExampleEntityExtended extends
|
|
16
|
+
let AIAgentExampleEntityExtended = class AIAgentExampleEntityExtended extends AIAgentExampleEntity {
|
|
19
17
|
/**
|
|
20
18
|
* Override EmbedTextLocal to use helper
|
|
21
19
|
*/
|
|
22
20
|
async EmbedTextLocal(textToEmbed) {
|
|
23
|
-
return
|
|
21
|
+
return EmbedTextLocalHelper(this, textToEmbed);
|
|
24
22
|
}
|
|
25
23
|
async Save(options) {
|
|
26
24
|
try {
|
|
@@ -30,6 +28,8 @@ let AIAgentExampleEntityExtended = class AIAgentExampleEntityExtended extends co
|
|
|
30
28
|
// Generate embedding for ExampleInput field if needed
|
|
31
29
|
if (shouldGenerateEmbedding && this.ExampleInput && this.ExampleInput.trim().length > 0) {
|
|
32
30
|
await this.GenerateEmbeddingByFieldName("ExampleInput", "EmbeddingVector", "EmbeddingModelID");
|
|
31
|
+
// update AI Engine to know about this updated embedding for the example
|
|
32
|
+
AIEngine.Instance.AddOrUpdateSingleExampleEmbedding(this);
|
|
33
33
|
}
|
|
34
34
|
else if (!this.ExampleInput || this.ExampleInput.trim().length === 0) {
|
|
35
35
|
// Clear embedding if input is empty
|
|
@@ -39,21 +39,14 @@ let AIAgentExampleEntityExtended = class AIAgentExampleEntityExtended extends co
|
|
|
39
39
|
return await super.Save(options);
|
|
40
40
|
}
|
|
41
41
|
catch (e) {
|
|
42
|
-
|
|
42
|
+
LogError('Failed to save AI Agent Example:', e);
|
|
43
43
|
// Let the parent class handle LatestResult error propagation
|
|
44
44
|
return false;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
(0, global_1.RegisterClass)(core_1.BaseEntity, 'AI Agent Examples')
|
|
48
|
+
AIAgentExampleEntityExtended = __decorate([
|
|
49
|
+
RegisterClass(BaseEntity, 'AI Agent Examples')
|
|
51
50
|
], AIAgentExampleEntityExtended);
|
|
52
|
-
|
|
53
|
-
* Required export for MJ class factory registration
|
|
54
|
-
*/
|
|
55
|
-
function LoadAIAgentExampleEntityServerSubClass() {
|
|
56
|
-
// Registration happens via @RegisterClass decorator
|
|
57
|
-
}
|
|
58
|
-
exports.LoadAIAgentExampleEntityServerSubClass = LoadAIAgentExampleEntityServerSubClass;
|
|
51
|
+
export { AIAgentExampleEntityExtended };
|
|
59
52
|
//# sourceMappingURL=AIAgentExampleEntity.server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAgentExampleEntity.server.js","sourceRoot":"","sources":["../../src/custom/AIAgentExampleEntity.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AIAgentExampleEntity.server.js","sourceRoot":"","sources":["../../src/custom/AIAgentExampleEntity.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAqB,QAAQ,EAAyB,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;;GAGG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,oBAAoB;IAClE;;OAEG;IACgB,KAAK,CAAC,cAAc,CAAC,WAAmB;QACvD,OAAO,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,OAA2B;QAC3C,IAAI,CAAC;YACD,0CAA0C;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,uBAAuB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC;YAElE,sDAAsD;YACtD,IAAI,uBAAuB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,CAAC,4BAA4B,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;gBAE/F,wEAAwE;gBACxE,QAAQ,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrE,oCAAoC;gBACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACjC,CAAC;YAED,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;YAChD,6DAA6D;YAC7D,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ,CAAA;AAjCY,4BAA4B;IADxC,aAAa,CAAC,UAAU,EAAE,mBAAmB,CAAC;GAClC,4BAA4B,CAiCxC"}
|
|
@@ -11,8 +11,4 @@ export declare class AIAgentNoteEntityExtended extends AIAgentNoteEntity {
|
|
|
11
11
|
protected EmbedTextLocal(textToEmbed: string): Promise<SimpleEmbeddingResult>;
|
|
12
12
|
Save(options?: EntitySaveOptions): Promise<boolean>;
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Required export for MJ class factory registration
|
|
16
|
-
*/
|
|
17
|
-
export declare function LoadAIAgentNoteEntityServerSubClass(): void;
|
|
18
14
|
//# sourceMappingURL=AIAgentNoteEntity.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAgentNoteEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIAgentNoteEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,iBAAiB,EAAY,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"AIAgentNoteEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIAgentNoteEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,iBAAiB,EAAY,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE;;;GAGG;AACH,qBACa,yBAA0B,SAAQ,iBAAiB;IAC5D;;OAEG;cACsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI7E,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CA0BrE"}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
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;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const util_1 = require("./util");
|
|
7
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
8
|
+
import { BaseEntity, LogError } from "@memberjunction/core";
|
|
9
|
+
import { AIAgentNoteEntity } from "@memberjunction/core-entities";
|
|
10
|
+
import { EmbedTextLocalHelper } from "./util.js";
|
|
11
|
+
import { AIEngine } from "@memberjunction/aiengine";
|
|
14
12
|
/**
|
|
15
13
|
* Server-side extension of AIAgentNoteEntity that auto-generates embeddings
|
|
16
14
|
* when the Note field changes, following the QueryEntity pattern.
|
|
17
15
|
*/
|
|
18
|
-
let AIAgentNoteEntityExtended = class AIAgentNoteEntityExtended extends
|
|
16
|
+
let AIAgentNoteEntityExtended = class AIAgentNoteEntityExtended extends AIAgentNoteEntity {
|
|
19
17
|
/**
|
|
20
18
|
* Override EmbedTextLocal to use helper
|
|
21
19
|
*/
|
|
22
20
|
async EmbedTextLocal(textToEmbed) {
|
|
23
|
-
return
|
|
21
|
+
return EmbedTextLocalHelper(this, textToEmbed);
|
|
24
22
|
}
|
|
25
23
|
async Save(options) {
|
|
26
24
|
try {
|
|
@@ -30,6 +28,8 @@ let AIAgentNoteEntityExtended = class AIAgentNoteEntityExtended extends core_ent
|
|
|
30
28
|
// Generate embedding for Note field if needed
|
|
31
29
|
if (shouldGenerateEmbedding && this.Note && this.Note.trim().length > 0) {
|
|
32
30
|
await this.GenerateEmbeddingByFieldName("Note", "EmbeddingVector", "EmbeddingModelID");
|
|
31
|
+
// now let the AIEngine know that the note has been updated so it can have the latest vector in memory
|
|
32
|
+
AIEngine.Instance.AddOrUpdateSingleNoteEmbedding(this);
|
|
33
33
|
}
|
|
34
34
|
else if (!this.Note || this.Note.trim().length === 0) {
|
|
35
35
|
// Clear embedding if note is empty
|
|
@@ -40,21 +40,14 @@ let AIAgentNoteEntityExtended = class AIAgentNoteEntityExtended extends core_ent
|
|
|
40
40
|
return await super.Save(options);
|
|
41
41
|
}
|
|
42
42
|
catch (e) {
|
|
43
|
-
|
|
43
|
+
LogError('Failed to save AI Agent Note:', e);
|
|
44
44
|
// Let the parent class handle LatestResult error propagation
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
(0, global_1.RegisterClass)(core_1.BaseEntity, 'AI Agent Notes')
|
|
49
|
+
AIAgentNoteEntityExtended = __decorate([
|
|
50
|
+
RegisterClass(BaseEntity, 'AI Agent Notes')
|
|
52
51
|
], AIAgentNoteEntityExtended);
|
|
53
|
-
|
|
54
|
-
* Required export for MJ class factory registration
|
|
55
|
-
*/
|
|
56
|
-
function LoadAIAgentNoteEntityServerSubClass() {
|
|
57
|
-
// Registration happens via @RegisterClass decorator
|
|
58
|
-
}
|
|
59
|
-
exports.LoadAIAgentNoteEntityServerSubClass = LoadAIAgentNoteEntityServerSubClass;
|
|
52
|
+
export { AIAgentNoteEntityExtended };
|
|
60
53
|
//# sourceMappingURL=AIAgentNoteEntity.server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAgentNoteEntity.server.js","sourceRoot":"","sources":["../../src/custom/AIAgentNoteEntity.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AIAgentNoteEntity.server.js","sourceRoot":"","sources":["../../src/custom/AIAgentNoteEntity.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAqB,QAAQ,EAAyB,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;;GAGG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,iBAAiB;IAC5D;;OAEG;IACgB,KAAK,CAAC,cAAc,CAAC,WAAmB;QACvD,OAAO,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,IAAI,CAAC,OAA2B;QAC3C,IAAI,CAAC;YACD,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,uBAAuB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC;YAEjE,8CAA8C;YAC9C,IAAI,uBAAuB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;gBAEvF,sGAAsG;gBACtG,QAAQ,CAAC,QAAQ,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,mCAAmC;gBACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACjC,CAAC;YAED,oBAAoB;YACpB,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YAC7C,6DAA6D;YAC7D,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ,CAAA;AAlCY,yBAAyB;IADrC,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC;GAC/B,yBAAyB,CAkCrC"}
|
|
@@ -79,5 +79,4 @@ export declare class AIPromptEntityExtendedServer extends AIPromptEntityExtended
|
|
|
79
79
|
*/
|
|
80
80
|
protected getTemplateContentTypeID(): Promise<string>;
|
|
81
81
|
}
|
|
82
|
-
export declare function LoadAIPromptEntityExtendedServerSubClass(): void;
|
|
83
82
|
//# sourceMappingURL=AIPromptEntityExtended.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIPromptEntityExtended.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIPromptEntityExtended.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,iBAAiB,EAAE,iBAAiB,EAAgC,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE9J,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAA4E,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEzI;;;;;;GAMG;AACH,qBACa,4BAA6B,SAAQ,sBAAsB;IACpE,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAuB;IAC5D;;;;OAIG;IACH,WAAkB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAEvD;IACD,WAAkB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE3D;IAED,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAuB;IAC7D;;;;;;;;;;OAUG;IACH,WAAkB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAExD;IACD,WAAkB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE5D;IAED;;;;;;;;;OASG;cACa,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC;IA0BpE;;;;;;OAMG;cACa,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzE;;;;;;OAMG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8ClE;;;;;;OAMG;cACa,4BAA4B,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDhH;;;;;OAKG;cACa,uCAAuC,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA2C9G;;;OAGG;cACa,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;CAoB9D
|
|
1
|
+
{"version":3,"file":"AIPromptEntityExtended.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIPromptEntityExtended.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,iBAAiB,EAAE,iBAAiB,EAAgC,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE9J,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAA4E,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEzI;;;;;;GAMG;AACH,qBACa,4BAA6B,SAAQ,sBAAsB;IACpE,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAuB;IAC5D;;;;OAIG;IACH,WAAkB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAEvD;IACD,WAAkB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE3D;IAED,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAuB;IAC7D;;;;;;;;;;OAUG;IACH,WAAkB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAExD;IACD,WAAkB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE5D;IAED;;;;;;;;;OASG;cACa,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC;IA0BpE;;;;;;OAMG;cACa,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzE;;;;;;OAMG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8ClE;;;;;;OAMG;cACa,4BAA4B,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDhH;;;;;OAKG;cACa,uCAAuC,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA2C9G;;;OAGG;cACa,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;CAoB9D"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -6,11 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
7
|
var AIPromptEntityExtendedServer_1;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const global_1 = require("@memberjunction/global");
|
|
13
|
-
const ai_core_plus_1 = require("@memberjunction/ai-core-plus");
|
|
8
|
+
import { BaseEntity, BaseEntityResult, LogErrorEx } from "@memberjunction/core";
|
|
9
|
+
import { RegisterClass, uuidv4 } from "@memberjunction/global";
|
|
10
|
+
import { AIPromptEntityExtended } from "@memberjunction/ai-core-plus";
|
|
14
11
|
/**
|
|
15
12
|
* Server specific sub-class that handles the automatic creation and updating of
|
|
16
13
|
* Templates and Template Contents entity records linked to the AI Prompt.
|
|
@@ -18,7 +15,9 @@ const ai_core_plus_1 = require("@memberjunction/ai-core-plus");
|
|
|
18
15
|
* also provides additional utility functionality that is used within Save() and can be overridden
|
|
19
16
|
* by subclasses to provide custom logic for creating or updating the linked Template and Template Contents, etc.
|
|
20
17
|
*/
|
|
21
|
-
let AIPromptEntityExtendedServer =
|
|
18
|
+
let AIPromptEntityExtendedServer = class AIPromptEntityExtendedServer extends AIPromptEntityExtended {
|
|
19
|
+
static { AIPromptEntityExtendedServer_1 = this; }
|
|
20
|
+
static { this._templateContentTypeID = null; }
|
|
22
21
|
/**
|
|
23
22
|
* The Template Content Type ID that will be used for creating new Template Contents
|
|
24
23
|
* linked to this AI Prompt. This is automatically set the first time the AI Prompt is saved
|
|
@@ -30,6 +29,7 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
30
29
|
static set TemplateContentTypeID(value) {
|
|
31
30
|
this._templateContentTypeID = value;
|
|
32
31
|
}
|
|
32
|
+
static { this._rootTemplateCategoryID = null; }
|
|
33
33
|
/**
|
|
34
34
|
* The root category ID in the Template Categories entity that will be used for creating new
|
|
35
35
|
* templates linked to this AI Prompt. The way it works is we automatically create new sub-categories
|
|
@@ -124,7 +124,7 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
124
124
|
else {
|
|
125
125
|
success = false; // if we failed to create the linked Template, we should not save the AI Prompt
|
|
126
126
|
// we need to push an error to the Results of the BaseEntity
|
|
127
|
-
const result = new
|
|
127
|
+
const result = new BaseEntityResult();
|
|
128
128
|
result.Success = false;
|
|
129
129
|
result.Message = "Failed to create linked Template for the AI Prompt. Please check the logs for more details.";
|
|
130
130
|
this.ResultHistory.push(result);
|
|
@@ -135,7 +135,7 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
135
135
|
if (!await this.UpdateLinkedTemplateContents(md)) {
|
|
136
136
|
success = false; // if we failed to update the linked Template Contents, we should not save the AI Prompt
|
|
137
137
|
// we need to push an error to the Results of the BaseEntity
|
|
138
|
-
const result = new
|
|
138
|
+
const result = new BaseEntityResult();
|
|
139
139
|
result.Success = false;
|
|
140
140
|
result.Message = "Failed to update linked Template Contents for the AI Prompt. Please check the logs for more details.";
|
|
141
141
|
this.ResultHistory.push(result);
|
|
@@ -206,7 +206,7 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
catch (e) {
|
|
209
|
-
|
|
209
|
+
LogErrorEx({
|
|
210
210
|
message: e.message,
|
|
211
211
|
includeStack: true,
|
|
212
212
|
additionalArgs: e,
|
|
@@ -225,7 +225,7 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
225
225
|
// we have no linked template, but we have template text, so create a new template and template contents
|
|
226
226
|
const t = await md.GetEntityObject("Templates", this.ContextCurrentUser);
|
|
227
227
|
t.NewRecord();
|
|
228
|
-
t.ID =
|
|
228
|
+
t.ID = uuidv4(); // generate a new ID - we want to do this explicitly so that we can control the ID that goes into the SQL script so this can be part of a migration file
|
|
229
229
|
t.Name = this.Name; // propagate the name
|
|
230
230
|
t.Description = "Template for AI Prompt: " + this.Name;
|
|
231
231
|
t.UserID = this.ContextCurrentUser.ID;
|
|
@@ -235,7 +235,7 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
235
235
|
// now create the template contents
|
|
236
236
|
const tc = await md.GetEntityObject("Template Contents", this.ContextCurrentUser);
|
|
237
237
|
tc.NewRecord();
|
|
238
|
-
tc.ID =
|
|
238
|
+
tc.ID = uuidv4(); // generate a new ID for the Template Content - do here as well for same reason as above with Template.ID
|
|
239
239
|
tc.TemplateID = t.ID;
|
|
240
240
|
tc.TypeID = await this.getTemplateContentTypeID();
|
|
241
241
|
tc.TemplateText = this.TemplateText;
|
|
@@ -254,7 +254,7 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
254
254
|
}
|
|
255
255
|
catch (e) {
|
|
256
256
|
// log the error and return null
|
|
257
|
-
|
|
257
|
+
LogErrorEx({
|
|
258
258
|
message: e.message,
|
|
259
259
|
includeStack: true,
|
|
260
260
|
additionalArgs: e,
|
|
@@ -287,12 +287,8 @@ let AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = class AIProm
|
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
289
|
};
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
AIPromptEntityExtendedServer._rootTemplateCategoryID = null;
|
|
293
|
-
exports.AIPromptEntityExtendedServer = AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = __decorate([
|
|
294
|
-
(0, global_1.RegisterClass)(core_1.BaseEntity, "AI Prompts")
|
|
290
|
+
AIPromptEntityExtendedServer = AIPromptEntityExtendedServer_1 = __decorate([
|
|
291
|
+
RegisterClass(BaseEntity, "AI Prompts")
|
|
295
292
|
], AIPromptEntityExtendedServer);
|
|
296
|
-
|
|
297
|
-
exports.LoadAIPromptEntityExtendedServerSubClass = LoadAIPromptEntityExtendedServerSubClass;
|
|
293
|
+
export { AIPromptEntityExtendedServer };
|
|
298
294
|
//# sourceMappingURL=AIPromptEntityExtended.server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIPromptEntityExtended.server.js","sourceRoot":"","sources":["../../src/custom/AIPromptEntityExtended.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AIPromptEntityExtended.server.js","sourceRoot":"","sources":["../../src/custom/AIPromptEntityExtended.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,4 @@ export declare class AIPromptRunEntityServer extends AIPromptRunEntityExtended {
|
|
|
53
53
|
*/
|
|
54
54
|
protected UpdateTotalCost(): void;
|
|
55
55
|
}
|
|
56
|
-
/**
|
|
57
|
-
* This function is used to ensure the class is loaded and registered
|
|
58
|
-
*/
|
|
59
|
-
export declare function LoadAIPromptRunEntityServerSubClass(): void;
|
|
60
56
|
//# sourceMappingURL=AIPromptRunEntity.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIPromptRunEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIPromptRunEntity.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAkD,MAAM,sBAAsB,CAAC;AAErH,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGzE;;;;;;GAMG;AACH,qBACa,uBAAwB,SAAQ,yBAAyB;IAElE;;OAEG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BlE;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,OAAO;IAkCxC;;OAEG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DpD;;OAEG;cACa,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBxD;;;;OAIG;IACU,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BlD;;;;OAIG;IACH,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAGtC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAG5B;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAKpC
|
|
1
|
+
{"version":3,"file":"AIPromptRunEntity.server.d.ts","sourceRoot":"","sources":["../../src/custom/AIPromptRunEntity.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAkD,MAAM,sBAAsB,CAAC;AAErH,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGzE;;;;;;GAMG;AACH,qBACa,uBAAwB,SAAQ,yBAAyB;IAElE;;OAEG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BlE;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,OAAO;IAkCxC;;OAEG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DpD;;OAEG;cACa,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBxD;;;;OAIG;IACU,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BlD;;;;OAIG;IACH,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAGtC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAG5B;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAKpC"}
|