@memberjunction/server 2.6.1 → 2.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"userViewEntity.server.d.ts","sourceRoot":"","sources":["../../src/entitySubclasses/userViewEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAiB,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAM5G,qBACa,qBAAsB,SAAQ,sBAAsB;IAI7D,cAAuB,sBAAsB,IAAI,OAAO,CAEvD;IAMD,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;cAMe,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAc/C,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAC,CAAC;IAuErI,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;CAwE3D"}
1
+ {"version":3,"file":"userViewEntity.server.d.ts","sourceRoot":"","sources":["../../src/entitySubclasses/userViewEntity.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAiB,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAM5G,qBACa,qBAAsB,SAAQ,sBAAsB;IAI7D,cAAuB,sBAAsB,IAAI,OAAO,CAEvD;IAMD,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;cAMe,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAc/C,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAC,CAAC;IAuErI,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;CAqG3D"}
@@ -92,6 +92,8 @@ let UserViewEntity_Server = class UserViewEntity_Server extends UserViewEntityEx
92
92
  GenerateSysPrompt(entityInfo) {
93
93
  const processedViews = [entityInfo.BaseView];
94
94
  const md = new Metadata();
95
+ const listsEntity = md.EntityByName("Lists");
96
+ const listDetailsEntity = md.EntityByName("List Details");
95
97
  const gptSysPrompt = `You are an expert in SQL and Microsoft SQL Server.
96
98
  You will be provided a user prompt representing how they want to filter the data.
97
99
  You may *NOT* use JOINS, only sub-queries for related tables.
@@ -103,6 +105,11 @@ const returnType = {
103
105
  userExplanationMessage: string
104
106
  };
105
107
 
108
+ In MemberJunction, we have a concept called "Entities" and these are metadata constructs that wrap SQL tables and views. The entity that we are currently
109
+ building a filter for is called "${entityInfo.Name}" and has an ID of "${entityInfo.ID}"
110
+
111
+ You won't be using this Entity name or ID in your SQL, unless you need to use it for List filtering (more on that below).
112
+
106
113
  The view that the user is querying is called ${entityInfo.BaseView} and has these fields:
107
114
  ${entityInfo.Fields.map(f => {
108
115
  let ret = `${f.Name} (${f.Type})`;
@@ -149,7 +156,29 @@ ${entityInfo.RelatedEntities.map(r => {
149
156
  }
150
157
  else
151
158
  return '';
152
- }).join('\n')}`;
159
+ }).join('\n')}
160
+
161
+ <IMPORTANT - LISTS FEATURE>
162
+ Finally, in addition to the above related views, a user may talk about "Lists" in their request. A List is a static set of records modeled in our database with the ${listsEntity.SchemaName}.vwLists view and
163
+ the ${listsEntity.SchemaName}.vwListDetails view. ${listsEntity.SchemaName}.vwLists contains the list "header" information with these columns:
164
+ ${listsEntity.Fields.map(f => {
165
+ return f.Name + ' (' + f.SQLFullType + ')';
166
+ }).join(', ')}
167
+ The vwListDetails view contains the list "detail" information with these columns which is basically the records that are part of the list. ${listsEntity.SchemaName}.vwListDetails contains these columns:
168
+ ${listDetailsEntity.Fields.map(f => {
169
+ return f.Name + ' (' + f.SQLFullType + ')';
170
+ }).join(', ')}.
171
+
172
+ If a user is asking to use a list in creating a view, you need to use a sub-query along these lines:
173
+
174
+ ID IN (SELECT ID FROM ${listsEntity.SchemaName}.vwListDetails INNER JOIN ${listsEntity.SchemaName}.vwLists ON vwListDetails.ListID = vwLists.ID WHERE vwLists.Name = 'My List Name')
175
+
176
+ In this example we're assuming the user has asked us to filter to include only records that are part of the list named 'My List Name'. You can use any fields at the detail level or header level to filter the records and of course
177
+ combine this type of list-oriented sub-query with other filters as appropriate to satisfy the user's request.
178
+
179
+ Remember to use the Entity ID in filtering the ${listsEntity}.vwListDetails view as it is a unique identifier that will properly filter the records in the list to only the entity that the user is querying.
180
+ </IMPORTANT - LISTS FEATURE>
181
+ `;
153
182
  return gptSysPrompt + (processedViews.length > 1 ? relationships : '') + `
154
183
  **** REMEMBER **** I am a BOT, do not return anything other than JSON to me or I will choke on your response!`;
155
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"userViewEntity.server.js","sourceRoot":"","sources":["../../src/entitySubclasses/userViewEntity.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userViewEntity.server.js","sourceRoot":"","sources":["../../src/entitySubclasses/userViewEntity.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAc,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAwC,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAC5G,OAAO,EAAE,OAAO,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,aAAa,EAAE,CAAC;AAGT,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,sBAAsB;IAI7D,IAAuB,sBAAsB;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IAMD,IAAc,YAAY;QACtB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAMS,KAAK,CAAC,UAAU;QACtB,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK;YACrD,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAEpH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAOM,KAAK,CAAC,8BAA8B,CAAC,MAAc,EAAE,UAAsB;QAC9E,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAU,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAE/H,MAAM,UAAU,GAAe;gBAC3B,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;qBAC9C;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG,MAAM,EAAE;qBACvB;iBACJ;aACJ,CAAA;YACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC3D,IAAI,WAAW,EAAE,CAAC;oBAEd,IAAI,CAAC;wBACD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;wBACxC,IAAI,CAAC,QAAQ;4BACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,WAAW,CAAC,CAAC;wBAErE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACpC,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAEtD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BAC1C,IAAI,GAAG,GAAW,EAAE,CAAC;4BACrB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gCAC1C,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;gCAE3B,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC;4BAE7B,OAAQ;gCACI,WAAW,EAAE,GAAG;gCAChB,eAAe,EAAE,MAAM,CAAC,sBAAsB;6BACjD,CAAC;wBACd,CAAC;6BACI,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;4BACvE,OAAQ;gCACJ,WAAW,EAAE,EAAE;gCACf,eAAe,EAAE,MAAM,CAAC,sBAAsB;6BACjD,CAAC;wBACN,CAAC;6BACI,CAAC;4BAEF,MAAM,IAAI,KAAK,CAAC,uEAAuE,GAAG,WAAW,CAAC,CAAC;wBAC3G,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,EAAE,CAAC;wBACP,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,WAAW,CAAC,CAAC;oBAC3E,CAAC;gBACL,CAAC;;oBAEG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACjD,CAAC;;gBAEG,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,UAAsB;QAC3C,MAAM,cAAc,GAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAW;;;;;;;;;;;;mCAYF,UAAU,CAAC,IAAI,uBAAuB,UAAU,CAAC,EAAE;;;;+CAIvC,UAAU,CAAC,QAAQ;EAChE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,IAAI,GAAG,GAAW,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;YAC1C,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAClB,GAAG,IAAI,aAAa,CAAC,CAAC,qBAAqB,GAAG,CAAC;YACnD,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QAEN,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChG,MAAM,qBAAqB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACnH,MAAM,aAAa,GAAW;eACvB,UAAU,CAAC,QAAQ;;EAI9B,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1B,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,EAAE,CAAC;oBACJ,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,OAAO,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBACzD,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC;oBAC1C,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,EAAE,CAAA;gBACnB,CAAC;;oBAEG,OAAO,EAAE,CAAC;YAClB,CAAC;;gBAEG,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAChB;EAGI,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,CAAC,EAAE,CAAC;gBACJ,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC5C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAChC,OAAO,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBACzD,IAAI,GAAG,GAAW,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC;wBAC5C,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;4BACnB,GAAG,IAAI,aAAa,EAAE,CAAC,qBAAqB,GAAG,CAAC;wBACpD,CAAC;wBACD,OAAO,GAAG,CAAC;oBACf,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAE,EAAE,CAAA;gBACnB,CAAC;;oBAEG,OAAO,EAAE,CAAC;YAClB,CAAC;;gBAEG,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAChB;;;sKAGsK,WAAW,CAAC,UAAU;MACtL,WAAW,CAAC,UAAU,wBAAwB,WAAW,CAAC,UAAU;EACxE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzB,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;QAC/C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;6IACgI,WAAW,CAAC,UAAU;EACjK,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC/B,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;QAC/C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;wBAIW,WAAW,CAAC,UAAU,6BAA6B,WAAW,CAAC,UAAU;;;;;iDAKhD,WAAW;;CAE3D,CAAA;QAEO,OAAO,YAAY,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAgD,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;sHACV,CAAC;IACnH,CAAC;CACJ,CAAA;AA9MY,qBAAqB;IADjC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;GAC3B,qBAAqB,CA8MjC"}
@@ -111,7 +111,7 @@ let ReportResolverExtended = class ReportResolverExtended {
111
111
  ON
112
112
  cd.ConversationID = c.ID
113
113
  WHERE
114
- cd.ID=${ConversationDetailID}`;
114
+ cd.ID='${ConversationDetailID}'`;
115
115
  const result = await dataSource.query(sql);
116
116
  if (!result || result.length === 0)
117
117
  throw new Error('Unable to retrieve converation details');
@@ -1 +1 @@
1
- {"version":3,"file":"ReportResolver.js","sourceRoot":"","sources":["../../src/resolvers/ReportResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReportResolver.js","sourceRoot":"","sources":["../../src/resolvers/ReportResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "2.6.1",
3
+ "version": "2.7.0",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./src/index.ts",
@@ -22,27 +22,27 @@
22
22
  "dependencies": {
23
23
  "@apollo/server": "^4.9.1",
24
24
  "@graphql-tools/utils": "^10.0.1",
25
- "@memberjunction/actions": "2.6.1",
26
- "@memberjunction/ai": "2.6.1",
27
- "@memberjunction/ai-mistral": "2.6.1",
28
- "@memberjunction/ai-openai": "2.6.1",
29
- "@memberjunction/ai-vectors-pinecone": "2.6.1",
30
- "@memberjunction/aiengine": "2.6.1",
31
- "@memberjunction/core": "2.6.1",
32
- "@memberjunction/core-actions": "2.6.1",
33
- "@memberjunction/core-entities": "2.6.1",
34
- "@memberjunction/data-context": "2.6.1",
35
- "@memberjunction/data-context-server": "2.6.1",
36
- "@memberjunction/doc-utils": "2.6.1",
37
- "@memberjunction/entity-communications-server": "2.6.1",
38
- "@memberjunction/external-change-detection": "2.6.1",
39
- "@memberjunction/global": "2.6.1",
40
- "@memberjunction/queue": "2.6.1",
41
- "@memberjunction/skip-types": "2.6.1",
42
- "@memberjunction/sqlserver-dataprovider": "2.6.1",
43
- "@memberjunction/graphql-dataprovider": "2.6.1",
44
- "@memberjunction/storage": "2.6.1",
45
- "@memberjunction/templates": "2.6.1",
25
+ "@memberjunction/actions": "2.7.0",
26
+ "@memberjunction/ai": "2.7.0",
27
+ "@memberjunction/ai-mistral": "2.7.0",
28
+ "@memberjunction/ai-openai": "2.7.0",
29
+ "@memberjunction/ai-vectors-pinecone": "2.7.0",
30
+ "@memberjunction/aiengine": "2.7.0",
31
+ "@memberjunction/core": "2.7.0",
32
+ "@memberjunction/core-actions": "2.7.0",
33
+ "@memberjunction/core-entities": "2.7.0",
34
+ "@memberjunction/data-context": "2.7.0",
35
+ "@memberjunction/data-context-server": "2.7.0",
36
+ "@memberjunction/doc-utils": "2.7.0",
37
+ "@memberjunction/entity-communications-server": "2.7.0",
38
+ "@memberjunction/external-change-detection": "2.7.0",
39
+ "@memberjunction/global": "2.7.0",
40
+ "@memberjunction/queue": "2.7.0",
41
+ "@memberjunction/skip-types": "2.7.0",
42
+ "@memberjunction/sqlserver-dataprovider": "2.7.0",
43
+ "@memberjunction/graphql-dataprovider": "2.7.0",
44
+ "@memberjunction/storage": "2.7.0",
45
+ "@memberjunction/templates": "2.7.0",
46
46
  "@types/cors": "^2.8.13",
47
47
  "@types/jsonwebtoken": "9.0.6",
48
48
  "@types/node": "20.14.2",
@@ -115,6 +115,8 @@ export class UserViewEntity_Server extends UserViewEntityExtended {
115
115
  public GenerateSysPrompt(entityInfo: EntityInfo): string {
116
116
  const processedViews: string[] = [entityInfo.BaseView];
117
117
  const md = new Metadata();
118
+ const listsEntity = md.EntityByName("Lists");
119
+ const listDetailsEntity = md.EntityByName("List Details");
118
120
  const gptSysPrompt: string = `You are an expert in SQL and Microsoft SQL Server.
119
121
  You will be provided a user prompt representing how they want to filter the data.
120
122
  You may *NOT* use JOINS, only sub-queries for related tables.
@@ -126,6 +128,11 @@ const returnType = {
126
128
  userExplanationMessage: string
127
129
  };
128
130
 
131
+ In MemberJunction, we have a concept called "Entities" and these are metadata constructs that wrap SQL tables and views. The entity that we are currently
132
+ building a filter for is called "${entityInfo.Name}" and has an ID of "${entityInfo.ID}"
133
+
134
+ You won't be using this Entity name or ID in your SQL, unless you need to use it for List filtering (more on that below).
135
+
129
136
  The view that the user is querying is called ${entityInfo.BaseView} and has these fields:
130
137
  ${entityInfo.Fields.map(f => {
131
138
  let ret: string = `${f.Name} (${f.Type})`;
@@ -179,7 +186,29 @@ ${
179
186
  else
180
187
  return '';
181
188
  }).join('\n')
182
- }`
189
+ }
190
+
191
+ <IMPORTANT - LISTS FEATURE>
192
+ Finally, in addition to the above related views, a user may talk about "Lists" in their request. A List is a static set of records modeled in our database with the ${listsEntity.SchemaName}.vwLists view and
193
+ the ${listsEntity.SchemaName}.vwListDetails view. ${listsEntity.SchemaName}.vwLists contains the list "header" information with these columns:
194
+ ${listsEntity.Fields.map(f => {
195
+ return f.Name + ' (' + f.SQLFullType + ')';
196
+ }).join(', ')}
197
+ The vwListDetails view contains the list "detail" information with these columns which is basically the records that are part of the list. ${listsEntity.SchemaName}.vwListDetails contains these columns:
198
+ ${listDetailsEntity.Fields.map(f => {
199
+ return f.Name + ' (' + f.SQLFullType + ')';
200
+ }).join(', ')}.
201
+
202
+ If a user is asking to use a list in creating a view, you need to use a sub-query along these lines:
203
+
204
+ ID IN (SELECT ID FROM ${listsEntity.SchemaName}.vwListDetails INNER JOIN ${listsEntity.SchemaName}.vwLists ON vwListDetails.ListID = vwLists.ID WHERE vwLists.Name = 'My List Name')
205
+
206
+ In this example we're assuming the user has asked us to filter to include only records that are part of the list named 'My List Name'. You can use any fields at the detail level or header level to filter the records and of course
207
+ combine this type of list-oriented sub-query with other filters as appropriate to satisfy the user's request.
208
+
209
+ Remember to use the Entity ID in filtering the ${listsEntity}.vwListDetails view as it is a unique identifier that will properly filter the records in the list to only the entity that the user is querying.
210
+ </IMPORTANT - LISTS FEATURE>
211
+ `
183
212
 
184
213
  return gptSysPrompt + (processedViews.length > 1 /*we always have 1 from the entity base view*/ ? relationships : '') + `
185
214
  **** REMEMBER **** I am a BOT, do not return anything other than JSON to me or I will choke on your response!`;
@@ -88,7 +88,7 @@ export class ReportResolverExtended {
88
88
  ON
89
89
  cd.ConversationID = c.ID
90
90
  WHERE
91
- cd.ID=${ConversationDetailID}`;
91
+ cd.ID='${ConversationDetailID}'`;
92
92
 
93
93
  const result = await dataSource.query(sql);
94
94
  if (!result || result.length === 0) throw new Error('Unable to retrieve converation details');