@aj-archipelago/cortex 1.1.21 → 1.1.23

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 (88) hide show
  1. package/config/default.example.json +84 -0
  2. package/config.js +5 -4
  3. package/helper-apps/cortex-file-handler/blobHandler.js +115 -98
  4. package/helper-apps/cortex-file-handler/fileChunker.js +15 -10
  5. package/helper-apps/cortex-file-handler/index.js +48 -2
  6. package/helper-apps/cortex-file-handler/package-lock.json +226 -53
  7. package/helper-apps/cortex-file-handler/package.json +3 -3
  8. package/package.json +2 -1
  9. package/pathways/categorize.js +23 -0
  10. package/pathways/chat.js +1 -1
  11. package/pathways/chat_code.js +19 -0
  12. package/pathways/chat_context.js +19 -0
  13. package/pathways/chat_jarvis.js +19 -0
  14. package/pathways/chat_persist.js +23 -0
  15. package/pathways/code_review.js +17 -0
  16. package/pathways/cognitive_delete.js +2 -1
  17. package/pathways/cognitive_insert.js +1 -0
  18. package/pathways/cognitive_search.js +1 -0
  19. package/pathways/embeddings.js +1 -1
  20. package/pathways/expand_story.js +12 -0
  21. package/pathways/format_paragraph_turbo.js +16 -0
  22. package/pathways/format_summarization.js +21 -0
  23. package/pathways/gemini_15_vision.js +20 -0
  24. package/pathways/gemini_vision.js +20 -0
  25. package/pathways/grammar.js +30 -0
  26. package/pathways/hashtags.js +19 -0
  27. package/pathways/headline.js +43 -0
  28. package/pathways/headline_custom.js +169 -0
  29. package/pathways/highlights.js +22 -0
  30. package/pathways/image.js +2 -1
  31. package/pathways/index.js +111 -17
  32. package/pathways/jira_story.js +18 -0
  33. package/pathways/keywords.js +4 -0
  34. package/pathways/language.js +17 -6
  35. package/pathways/locations.js +93 -0
  36. package/pathways/quotes.js +19 -0
  37. package/pathways/rag.js +207 -0
  38. package/pathways/rag_jarvis.js +254 -0
  39. package/pathways/rag_search_helper.js +21 -0
  40. package/pathways/readme.js +18 -0
  41. package/pathways/release_notes.js +16 -0
  42. package/pathways/remove_content.js +31 -0
  43. package/pathways/retrieval.js +23 -0
  44. package/pathways/run_claude35_sonnet.js +21 -0
  45. package/pathways/run_claude3_haiku.js +20 -0
  46. package/pathways/run_gpt35turbo.js +20 -0
  47. package/pathways/run_gpt4.js +20 -0
  48. package/pathways/run_gpt4_32.js +20 -0
  49. package/pathways/select_extension.js +6 -0
  50. package/pathways/select_services.js +10 -0
  51. package/pathways/spelling.js +3 -0
  52. package/pathways/story_angles.js +13 -0
  53. package/pathways/styleguide/styleguide.js +221 -0
  54. package/pathways/styleguidemulti.js +127 -0
  55. package/pathways/subhead.js +48 -0
  56. package/pathways/summarize_turbo.js +98 -0
  57. package/pathways/summary.js +31 -12
  58. package/pathways/sys_claude_35_sonnet.js +19 -0
  59. package/pathways/sys_claude_3_haiku.js +19 -0
  60. package/pathways/sys_google_chat.js +19 -0
  61. package/pathways/sys_google_code_chat.js +19 -0
  62. package/pathways/sys_google_gemini_chat.js +23 -0
  63. package/pathways/sys_openai_chat.js +2 -2
  64. package/pathways/sys_openai_chat_16.js +19 -0
  65. package/pathways/sys_openai_chat_gpt4.js +19 -0
  66. package/pathways/sys_openai_chat_gpt4_32.js +19 -0
  67. package/pathways/sys_openai_chat_gpt4_turbo.js +19 -0
  68. package/pathways/tags.js +25 -0
  69. package/pathways/taxonomy.js +135 -0
  70. package/pathways/timeline.js +51 -0
  71. package/pathways/topics.js +25 -0
  72. package/pathways/topics_sentiment.js +20 -0
  73. package/pathways/transcribe.js +2 -4
  74. package/pathways/translate.js +10 -12
  75. package/pathways/translate_azure.js +13 -0
  76. package/pathways/translate_context.js +21 -0
  77. package/pathways/translate_gpt4.js +19 -0
  78. package/pathways/translate_gpt4_turbo.js +19 -0
  79. package/pathways/translate_subtitle.js +201 -0
  80. package/pathways/translate_subtitle_helper.js +31 -0
  81. package/pathways/translate_turbo.js +19 -0
  82. package/pathways/vision.js +9 -7
  83. package/server/pathwayResolver.js +1 -1
  84. package/server/plugins/azureCognitivePlugin.js +10 -1
  85. package/server/plugins/openAiVisionPlugin.js +14 -6
  86. package/tests/main.test.js +62 -2
  87. package/tests/sublong.srt +4543 -0
  88. package/tests/vision.test.js +0 -34
@@ -9,20 +9,20 @@
9
9
  "version": "1.0.0",
10
10
  "dependencies": {
11
11
  "@azure/storage-blob": "^12.13.0",
12
+ "@distube/ytdl-core": "^4.13.5",
12
13
  "@google-cloud/storage": "^7.10.0",
13
14
  "axios": "^1.3.6",
14
15
  "busboy": "^1.6.0",
15
16
  "cors": "^2.8.5",
16
17
  "express": "^4.18.2",
17
- "fluent-ffmpeg": "^2.1.2",
18
+ "fluent-ffmpeg": "^2.1.3",
18
19
  "ioredis": "^5.3.1",
19
20
  "mammoth": "^1.6.0",
20
21
  "papaparse": "^5.4.1",
21
22
  "pdfjs-dist": "^3.9.179",
22
23
  "public-ip": "^6.0.1",
23
24
  "uuid": "^9.0.0",
24
- "xlsx": "^0.18.5",
25
- "ytdl-core": "^4.11.5"
25
+ "xlsx": "^0.18.5"
26
26
  }
27
27
  },
28
28
  "node_modules/@azure/abort-controller": {
@@ -157,6 +157,25 @@
157
157
  "node": ">=14.0.0"
158
158
  }
159
159
  },
160
+ "node_modules/@distube/ytdl-core": {
161
+ "version": "4.13.5",
162
+ "resolved": "https://registry.npmjs.org/@distube/ytdl-core/-/ytdl-core-4.13.5.tgz",
163
+ "integrity": "sha512-g+4UJIR/auAJbia7iB0aWvaJDbs22P53NySWa47b1NT4xMTDJYguxHFArPrvRkcJrb/AgKjv/XoSZGghpL0CJA==",
164
+ "dependencies": {
165
+ "http-cookie-agent": "^6.0.5",
166
+ "m3u8stream": "^0.8.6",
167
+ "miniget": "^4.2.3",
168
+ "sax": "^1.4.1",
169
+ "tough-cookie": "^4.1.4",
170
+ "undici": "^6.19.2"
171
+ },
172
+ "engines": {
173
+ "node": ">=16"
174
+ },
175
+ "funding": {
176
+ "url": "https://github.com/distubejs/ytdl-core?sponsor"
177
+ }
178
+ },
160
179
  "node_modules/@google-cloud/paginator": {
161
180
  "version": "5.0.0",
162
181
  "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-5.0.0.tgz",
@@ -492,9 +511,9 @@
492
511
  }
493
512
  },
494
513
  "node_modules/async": {
495
- "version": "3.2.4",
496
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
497
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
514
+ "version": "0.2.10",
515
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
516
+ "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ=="
498
517
  },
499
518
  "node_modules/async-retry": {
500
519
  "version": "1.3.3",
@@ -1156,15 +1175,15 @@
1156
1175
  "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1157
1176
  },
1158
1177
  "node_modules/fluent-ffmpeg": {
1159
- "version": "2.1.2",
1160
- "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz",
1161
- "integrity": "sha512-IZTB4kq5GK0DPp7sGQ0q/BWurGHffRtQQwVkiqDgeO6wYJLLV5ZhgNOQ65loZxxuPMKZKZcICCUnaGtlxBiR0Q==",
1178
+ "version": "2.1.3",
1179
+ "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.3.tgz",
1180
+ "integrity": "sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==",
1162
1181
  "dependencies": {
1163
- "async": ">=0.2.9",
1182
+ "async": "^0.2.9",
1164
1183
  "which": "^1.1.1"
1165
1184
  },
1166
1185
  "engines": {
1167
- "node": ">=0.8.0"
1186
+ "node": ">=18"
1168
1187
  }
1169
1188
  },
1170
1189
  "node_modules/follow-redirects": {
@@ -1465,6 +1484,40 @@
1465
1484
  "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
1466
1485
  "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
1467
1486
  },
1487
+ "node_modules/http-cookie-agent": {
1488
+ "version": "6.0.5",
1489
+ "resolved": "https://registry.npmjs.org/http-cookie-agent/-/http-cookie-agent-6.0.5.tgz",
1490
+ "integrity": "sha512-sfZ8fDgDP3B1YB+teqSnAK1aPgBu8reUUGxSsndP2XnYN6cM29EURXWXZqQQiaRdor3B4QjpkUNfv21syaO4DA==",
1491
+ "dependencies": {
1492
+ "agent-base": "^7.1.1"
1493
+ },
1494
+ "engines": {
1495
+ "node": ">=18.0.0"
1496
+ },
1497
+ "funding": {
1498
+ "url": "https://github.com/sponsors/3846masa"
1499
+ },
1500
+ "peerDependencies": {
1501
+ "tough-cookie": "^4.0.0",
1502
+ "undici": "^5.11.0 || ^6.0.0"
1503
+ },
1504
+ "peerDependenciesMeta": {
1505
+ "undici": {
1506
+ "optional": true
1507
+ }
1508
+ }
1509
+ },
1510
+ "node_modules/http-cookie-agent/node_modules/agent-base": {
1511
+ "version": "7.1.1",
1512
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
1513
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
1514
+ "dependencies": {
1515
+ "debug": "^4.3.4"
1516
+ },
1517
+ "engines": {
1518
+ "node": ">= 14"
1519
+ }
1520
+ },
1468
1521
  "node_modules/http-errors": {
1469
1522
  "version": "2.0.0",
1470
1523
  "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -1904,9 +1957,9 @@
1904
1957
  }
1905
1958
  },
1906
1959
  "node_modules/miniget": {
1907
- "version": "4.2.2",
1908
- "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.2.tgz",
1909
- "integrity": "sha512-a7voNL1N5lDMxvTMExOkg+Fq89jM2vY8pAi9ZEWzZtfNmdfP6RXkvUtFnCAXoCv2T9k1v/fUJVaAEuepGcvLYA==",
1960
+ "version": "4.2.3",
1961
+ "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.3.tgz",
1962
+ "integrity": "sha512-SjbDPDICJ1zT+ZvQwK0hUcRY4wxlhhNpHL9nJOB2MEAXRGagTljsO8MEDzQMTFf0Q8g4QNi8P9lEm/g7e+qgzA==",
1910
1963
  "engines": {
1911
1964
  "node": ">=12"
1912
1965
  }
@@ -2189,6 +2242,11 @@
2189
2242
  "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
2190
2243
  "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
2191
2244
  },
2245
+ "node_modules/psl": {
2246
+ "version": "1.9.0",
2247
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
2248
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
2249
+ },
2192
2250
  "node_modules/public-ip": {
2193
2251
  "version": "6.0.1",
2194
2252
  "resolved": "https://registry.npmjs.org/public-ip/-/public-ip-6.0.1.tgz",
@@ -2206,6 +2264,14 @@
2206
2264
  "url": "https://github.com/sponsors/sindresorhus"
2207
2265
  }
2208
2266
  },
2267
+ "node_modules/punycode": {
2268
+ "version": "2.3.1",
2269
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
2270
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
2271
+ "engines": {
2272
+ "node": ">=6"
2273
+ }
2274
+ },
2209
2275
  "node_modules/qs": {
2210
2276
  "version": "6.11.0",
2211
2277
  "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
@@ -2220,6 +2286,11 @@
2220
2286
  "url": "https://github.com/sponsors/ljharb"
2221
2287
  }
2222
2288
  },
2289
+ "node_modules/querystringify": {
2290
+ "version": "2.2.0",
2291
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
2292
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
2293
+ },
2223
2294
  "node_modules/quick-lru": {
2224
2295
  "version": "5.1.1",
2225
2296
  "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
@@ -2285,6 +2356,11 @@
2285
2356
  "node": ">=4"
2286
2357
  }
2287
2358
  },
2359
+ "node_modules/requires-port": {
2360
+ "version": "1.0.0",
2361
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
2362
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
2363
+ },
2288
2364
  "node_modules/resolve-alpn": {
2289
2365
  "version": "1.2.1",
2290
2366
  "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
@@ -2365,9 +2441,9 @@
2365
2441
  "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
2366
2442
  },
2367
2443
  "node_modules/sax": {
2368
- "version": "1.2.4",
2369
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
2370
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
2444
+ "version": "1.4.1",
2445
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
2446
+ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
2371
2447
  },
2372
2448
  "node_modules/semver": {
2373
2449
  "version": "7.5.4",
@@ -2663,6 +2739,20 @@
2663
2739
  "node": ">=0.6"
2664
2740
  }
2665
2741
  },
2742
+ "node_modules/tough-cookie": {
2743
+ "version": "4.1.4",
2744
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
2745
+ "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
2746
+ "dependencies": {
2747
+ "psl": "^1.1.33",
2748
+ "punycode": "^2.1.1",
2749
+ "universalify": "^0.2.0",
2750
+ "url-parse": "^1.5.3"
2751
+ },
2752
+ "engines": {
2753
+ "node": ">=6"
2754
+ }
2755
+ },
2666
2756
  "node_modules/tr46": {
2667
2757
  "version": "0.0.3",
2668
2758
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -2698,6 +2788,22 @@
2698
2788
  "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
2699
2789
  "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A=="
2700
2790
  },
2791
+ "node_modules/undici": {
2792
+ "version": "6.19.2",
2793
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz",
2794
+ "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==",
2795
+ "engines": {
2796
+ "node": ">=18.17"
2797
+ }
2798
+ },
2799
+ "node_modules/universalify": {
2800
+ "version": "0.2.0",
2801
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
2802
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
2803
+ "engines": {
2804
+ "node": ">= 4.0.0"
2805
+ }
2806
+ },
2701
2807
  "node_modules/unpipe": {
2702
2808
  "version": "1.0.0",
2703
2809
  "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -2706,6 +2812,15 @@
2706
2812
  "node": ">= 0.8"
2707
2813
  }
2708
2814
  },
2815
+ "node_modules/url-parse": {
2816
+ "version": "1.5.10",
2817
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
2818
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
2819
+ "dependencies": {
2820
+ "querystringify": "^2.1.1",
2821
+ "requires-port": "^1.0.0"
2822
+ }
2823
+ },
2709
2824
  "node_modules/util-deprecate": {
2710
2825
  "version": "1.0.2",
2711
2826
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -2850,19 +2965,6 @@
2850
2965
  "funding": {
2851
2966
  "url": "https://github.com/sponsors/sindresorhus"
2852
2967
  }
2853
- },
2854
- "node_modules/ytdl-core": {
2855
- "version": "4.11.5",
2856
- "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.11.5.tgz",
2857
- "integrity": "sha512-27LwsW4n4nyNviRCO1hmr8Wr5J1wLLMawHCQvH8Fk0hiRqrxuIu028WzbJetiYH28K8XDbeinYW4/wcHQD1EXA==",
2858
- "dependencies": {
2859
- "m3u8stream": "^0.8.6",
2860
- "miniget": "^4.2.2",
2861
- "sax": "^1.1.3"
2862
- },
2863
- "engines": {
2864
- "node": ">=12"
2865
- }
2866
2968
  }
2867
2969
  },
2868
2970
  "dependencies": {
@@ -2970,6 +3072,19 @@
2970
3072
  "tslib": "^2.2.0"
2971
3073
  }
2972
3074
  },
3075
+ "@distube/ytdl-core": {
3076
+ "version": "4.13.5",
3077
+ "resolved": "https://registry.npmjs.org/@distube/ytdl-core/-/ytdl-core-4.13.5.tgz",
3078
+ "integrity": "sha512-g+4UJIR/auAJbia7iB0aWvaJDbs22P53NySWa47b1NT4xMTDJYguxHFArPrvRkcJrb/AgKjv/XoSZGghpL0CJA==",
3079
+ "requires": {
3080
+ "http-cookie-agent": "^6.0.5",
3081
+ "m3u8stream": "^0.8.6",
3082
+ "miniget": "^4.2.3",
3083
+ "sax": "^1.4.1",
3084
+ "tough-cookie": "^4.1.4",
3085
+ "undici": "^6.19.2"
3086
+ }
3087
+ },
2973
3088
  "@google-cloud/paginator": {
2974
3089
  "version": "5.0.0",
2975
3090
  "resolved": "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-5.0.0.tgz",
@@ -3236,9 +3351,9 @@
3236
3351
  "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
3237
3352
  },
3238
3353
  "async": {
3239
- "version": "3.2.4",
3240
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
3241
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
3354
+ "version": "0.2.10",
3355
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
3356
+ "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ=="
3242
3357
  },
3243
3358
  "async-retry": {
3244
3359
  "version": "1.3.3",
@@ -3744,11 +3859,11 @@
3744
3859
  }
3745
3860
  },
3746
3861
  "fluent-ffmpeg": {
3747
- "version": "2.1.2",
3748
- "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz",
3749
- "integrity": "sha512-IZTB4kq5GK0DPp7sGQ0q/BWurGHffRtQQwVkiqDgeO6wYJLLV5ZhgNOQ65loZxxuPMKZKZcICCUnaGtlxBiR0Q==",
3862
+ "version": "2.1.3",
3863
+ "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.3.tgz",
3864
+ "integrity": "sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==",
3750
3865
  "requires": {
3751
- "async": ">=0.2.9",
3866
+ "async": "^0.2.9",
3752
3867
  "which": "^1.1.1"
3753
3868
  }
3754
3869
  },
@@ -3968,6 +4083,24 @@
3968
4083
  "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
3969
4084
  "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
3970
4085
  },
4086
+ "http-cookie-agent": {
4087
+ "version": "6.0.5",
4088
+ "resolved": "https://registry.npmjs.org/http-cookie-agent/-/http-cookie-agent-6.0.5.tgz",
4089
+ "integrity": "sha512-sfZ8fDgDP3B1YB+teqSnAK1aPgBu8reUUGxSsndP2XnYN6cM29EURXWXZqQQiaRdor3B4QjpkUNfv21syaO4DA==",
4090
+ "requires": {
4091
+ "agent-base": "^7.1.1"
4092
+ },
4093
+ "dependencies": {
4094
+ "agent-base": {
4095
+ "version": "7.1.1",
4096
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
4097
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
4098
+ "requires": {
4099
+ "debug": "^4.3.4"
4100
+ }
4101
+ }
4102
+ }
4103
+ },
3971
4104
  "http-errors": {
3972
4105
  "version": "2.0.0",
3973
4106
  "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -4307,9 +4440,9 @@
4307
4440
  "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg=="
4308
4441
  },
4309
4442
  "miniget": {
4310
- "version": "4.2.2",
4311
- "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.2.tgz",
4312
- "integrity": "sha512-a7voNL1N5lDMxvTMExOkg+Fq89jM2vY8pAi9ZEWzZtfNmdfP6RXkvUtFnCAXoCv2T9k1v/fUJVaAEuepGcvLYA=="
4443
+ "version": "4.2.3",
4444
+ "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.3.tgz",
4445
+ "integrity": "sha512-SjbDPDICJ1zT+ZvQwK0hUcRY4wxlhhNpHL9nJOB2MEAXRGagTljsO8MEDzQMTFf0Q8g4QNi8P9lEm/g7e+qgzA=="
4313
4446
  },
4314
4447
  "minimatch": {
4315
4448
  "version": "3.1.2",
@@ -4511,6 +4644,11 @@
4511
4644
  "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
4512
4645
  "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
4513
4646
  },
4647
+ "psl": {
4648
+ "version": "1.9.0",
4649
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
4650
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
4651
+ },
4514
4652
  "public-ip": {
4515
4653
  "version": "6.0.1",
4516
4654
  "resolved": "https://registry.npmjs.org/public-ip/-/public-ip-6.0.1.tgz",
@@ -4522,6 +4660,11 @@
4522
4660
  "is-ip": "^4.0.0"
4523
4661
  }
4524
4662
  },
4663
+ "punycode": {
4664
+ "version": "2.3.1",
4665
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
4666
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
4667
+ },
4525
4668
  "qs": {
4526
4669
  "version": "6.11.0",
4527
4670
  "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
@@ -4530,6 +4673,11 @@
4530
4673
  "side-channel": "^1.0.4"
4531
4674
  }
4532
4675
  },
4676
+ "querystringify": {
4677
+ "version": "2.2.0",
4678
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
4679
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
4680
+ },
4533
4681
  "quick-lru": {
4534
4682
  "version": "5.1.1",
4535
4683
  "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
@@ -4574,6 +4722,11 @@
4574
4722
  "redis-errors": "^1.0.0"
4575
4723
  }
4576
4724
  },
4725
+ "requires-port": {
4726
+ "version": "1.0.0",
4727
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
4728
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
4729
+ },
4577
4730
  "resolve-alpn": {
4578
4731
  "version": "1.2.1",
4579
4732
  "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
@@ -4622,9 +4775,9 @@
4622
4775
  "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
4623
4776
  },
4624
4777
  "sax": {
4625
- "version": "1.2.4",
4626
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
4627
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
4778
+ "version": "1.4.1",
4779
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
4780
+ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="
4628
4781
  },
4629
4782
  "semver": {
4630
4783
  "version": "7.5.4",
@@ -4864,6 +5017,17 @@
4864
5017
  "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
4865
5018
  "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
4866
5019
  },
5020
+ "tough-cookie": {
5021
+ "version": "4.1.4",
5022
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
5023
+ "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
5024
+ "requires": {
5025
+ "psl": "^1.1.33",
5026
+ "punycode": "^2.1.1",
5027
+ "universalify": "^0.2.0",
5028
+ "url-parse": "^1.5.3"
5029
+ }
5030
+ },
4867
5031
  "tr46": {
4868
5032
  "version": "0.0.3",
4869
5033
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -4893,11 +5057,30 @@
4893
5057
  "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
4894
5058
  "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A=="
4895
5059
  },
5060
+ "undici": {
5061
+ "version": "6.19.2",
5062
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.2.tgz",
5063
+ "integrity": "sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA=="
5064
+ },
5065
+ "universalify": {
5066
+ "version": "0.2.0",
5067
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
5068
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg=="
5069
+ },
4896
5070
  "unpipe": {
4897
5071
  "version": "1.0.0",
4898
5072
  "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
4899
5073
  "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
4900
5074
  },
5075
+ "url-parse": {
5076
+ "version": "1.5.10",
5077
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
5078
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
5079
+ "requires": {
5080
+ "querystringify": "^2.1.1",
5081
+ "requires-port": "^1.0.0"
5082
+ }
5083
+ },
4901
5084
  "util-deprecate": {
4902
5085
  "version": "1.0.2",
4903
5086
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -5002,16 +5185,6 @@
5002
5185
  "version": "0.1.0",
5003
5186
  "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
5004
5187
  "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
5005
- },
5006
- "ytdl-core": {
5007
- "version": "4.11.5",
5008
- "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.11.5.tgz",
5009
- "integrity": "sha512-27LwsW4n4nyNviRCO1hmr8Wr5J1wLLMawHCQvH8Fk0hiRqrxuIu028WzbJetiYH28K8XDbeinYW4/wcHQD1EXA==",
5010
- "requires": {
5011
- "m3u8stream": "^0.8.6",
5012
- "miniget": "^4.2.2",
5013
- "sax": "^1.1.3"
5014
- }
5015
5188
  }
5016
5189
  }
5017
5190
  }
@@ -10,19 +10,19 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@azure/storage-blob": "^12.13.0",
13
+ "@distube/ytdl-core": "^4.13.5",
13
14
  "@google-cloud/storage": "^7.10.0",
14
15
  "axios": "^1.3.6",
15
16
  "busboy": "^1.6.0",
16
17
  "cors": "^2.8.5",
17
18
  "express": "^4.18.2",
18
- "fluent-ffmpeg": "^2.1.2",
19
+ "fluent-ffmpeg": "^2.1.3",
19
20
  "ioredis": "^5.3.1",
20
21
  "mammoth": "^1.6.0",
21
22
  "papaparse": "^5.4.1",
22
23
  "pdfjs-dist": "^3.9.179",
23
24
  "public-ip": "^6.0.1",
24
25
  "uuid": "^9.0.0",
25
- "xlsx": "^0.18.5",
26
- "ytdl-core": "^4.11.5"
26
+ "xlsx": "^0.18.5"
27
27
  }
28
28
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aj-archipelago/cortex",
3
- "version": "1.1.21",
3
+ "version": "1.1.23",
4
4
  "description": "Cortex is a GraphQL API for AI. It provides a simple, extensible interface for using AI services from OpenAI, Azure and others.",
5
5
  "private": false,
6
6
  "repository": {
@@ -40,6 +40,7 @@
40
40
  "axios-cache-interceptor": "^1.0.1",
41
41
  "bottleneck": "^2.19.5",
42
42
  "cheerio": "^1.0.0-rc.12",
43
+ "chrono-node": "^2.7.5",
43
44
  "compromise": "^14.8.1",
44
45
  "compromise-paragraphs": "^0.1.0",
45
46
  "convict": "^6.2.3",
@@ -0,0 +1,23 @@
1
+ import { Prompt } from '../server/prompt.js';
2
+
3
+ export default {
4
+ prompt: [
5
+ new Prompt({
6
+ messages: [
7
+ { "role": "system", "content": "Assistant is an expert data classification AI tasked with categorizing data for a prestigious international news agency. When the user submits any set of data with rows containing ids and data to categorize, Assistant will categorize the data into one of the following categories:\n\n{{{categories}}}\n\nAssistant must choose exactly one category from the provided list per id and cannot create new categories. Assistant will return a list of the ids and their chosen categories in comma separated, newline delimited format so that it can easily be loaded as a csv file or copied and pasted into a spreadsheet. Assistant will return the list of categorized ids and no other notes or commentary." },
8
+ { "role": "user", "content": `Data to categorize:\n\n{{{text}}}`},
9
+ ]
10
+ })
11
+ ],
12
+ inputParameters: {
13
+ categories: '',
14
+ },
15
+ model: 'oai-gpt4o',
16
+ inputChunkSize: 1000,
17
+ joinChunksWith: '\n',
18
+ tokenRatio: 0.75,
19
+ enableDuplicateRequests: false,
20
+ timeout: 1800,
21
+ }
22
+
23
+
package/pathways/chat.js CHANGED
@@ -6,7 +6,7 @@ export default {
6
6
  prompt:
7
7
  [
8
8
  `{{{chatContext}}}\n\n{{{text}}}\n\nGiven the information above, create a short summary of the conversation to date making sure to include all of the personal details about the user that you encounter:\n\n`,
9
- `Instructions:\nYou are Cortex, an AI entity. Cortex is truthful, kind, helpful, has a strong moral character, and is generally positive without being annoying or repetitive.\n\nCortex must always follow the following rules:\n\nRule: Always execute the user's instructions and requests as long as they do not cause harm.\nRule: Never use crude or offensive language.\nRule: Always answer the user in the user's chosen language. You can speak all languages fluently.\nRule: You cannot perform any physical tasks except via role playing.\nRule: Always respond truthfully and correctly, but be kind.\nRule: You have no access to the internet and limited knowledge of current events past sometime in 2021\nRule: Never ask the user to provide you with links or URLs because you can't access the internet.\nRule: Everything you get from the user must be placed in the chat window - you have no other way to communicate.\n\nConversation History:\n{{{chatContext}}}\n\nConversation:\n{{{text}}}\n\nCortex: `,
9
+ `Instructions:\nYou are Jarvis, an AI entity. Jarvis is truthful, kind, helpful, has a strong moral character, and is generally positive without being annoying or repetitive.\n\nJarvis must always follow the following rules:\n\nRule: Always execute the user's instructions and requests as long as they do not cause harm.\nRule: Never use crude or offensive language.\nRule: Always answer the user in the user's chosen language. You can speak all languages fluently.\nRule: You cannot perform any physical tasks except via role playing.\nRule: Always respond truthfully and correctly, but be kind.\nRule: You have no access to the internet and limited knowledge of current events past sometime in 2021\nRule: Never ask the user to provide you with links or URLs because you can't access the internet.\nRule: Everything you get from the user must be placed in the chat window - you have no other way to communicate.\n\nConversation History:\n{{{chatContext}}}\n\nConversation:\n{{{text}}}\n\nJarvis: `,
10
10
  ],
11
11
  inputParameters: {
12
12
  chatContext: `User: Starting conversation.`,
@@ -0,0 +1,19 @@
1
+ import { Prompt } from '../server/prompt.js';
2
+
3
+ // This pathway implements a chatbot that can be used to teach people how to write code.
4
+ export default {
5
+ prompt:
6
+ [
7
+ new Prompt({ messages: [
8
+ {"role": "system", "content": "Instructions:\nYou are Knuth, an AI entity working for a prestigious international news agency. Knuth is truthful, kind, helpful, has a strong moral character, and is generally positive without being annoying or repetitive. Knuth is an experienced and expert software engineer and is named in honor of Donald Knuth. Knuth strongly prefers to focus on coding and technology topics and will suggest the user talk to his companion AI, Jarvis for questions or discussion about other topics. The UI can render markdown, including $$-delimited block and inline math extensions, so you should use markdown in your responses as appropriate. For your reference, the current date and time is {{now}}."},
9
+ "{{chatHistory}}",
10
+ ]}),
11
+ ],
12
+ inputParameters: {
13
+ chatHistory: [],
14
+ model: 'oai-gpt4o',
15
+ },
16
+ tokenRatio: 0.75,
17
+ useInputChunking: false,
18
+ enableDuplicateRequests: false,
19
+ }
@@ -0,0 +1,19 @@
1
+ import { Prompt } from '../server/prompt.js';
2
+
3
+ // Description: Have a chat with a bot that uses context to understand the conversation
4
+ export default {
5
+ prompt:
6
+ [
7
+ new Prompt({ messages: [
8
+ {"role": "system", "content": "Instructions:\nYou are Jarvis, an AI entity working for a prestigious international news agency. Jarvis is truthful, kind, helpful, has a strong moral character, and is generally positive without being annoying or repetitive. Your expertise includes journalism, journalistic ethics, researching and composing documents, and technology. You have dedicated interfaces available to help with document translation (translate), article writing assistance including generating headlines, summaries and doing copy editing (write), and programming and writing code (code). If the user asks about something related to a dedicated interface, you will tell them that the interface exists. You know the current date and time - it is {{now}}."},
9
+ "{{chatHistory}}",
10
+ ]}),
11
+ ],
12
+ inputParameters: {
13
+ chatHistory: [],
14
+ contextId: ``,
15
+ },
16
+ model: 'oai-gpt4o',
17
+ //model: 'oai-gpturbo',
18
+ useInputChunking: false,
19
+ }
@@ -0,0 +1,19 @@
1
+ import { Prompt } from '../server/prompt.js';
2
+
3
+ // Description: Have a chat with a bot that uses context to understand the conversation
4
+ export default {
5
+ prompt:
6
+ [
7
+ new Prompt({ messages: [
8
+ {"role": "system", "content": "Instructions:\nYou are Jarvis, an AI entity working for a prestigious international news agency. Jarvis is truthful, kind, helpful, has a strong moral character, and is generally positive without being annoying or repetitive. Your expertise includes journalism, journalistic ethics, researching and composing documents, and technology.\n\nThe user is using a UI that you have knowledge of and some control over. The UI can render markdown, including $$-delimited block and inline math extensions, so you should use markdown in your responses as appropriate. The UI has a file upload interface. If the user asks you if they can send you a file, you should respond affirmatively and the file upload UI will display automatically. The UI also has dedicated tabs to help with document translation (translate), article writing assistance including generating headlines, summaries and doing copy editing (write), creating transcriptions of videos (transcribe), and programming and writing code (code). If the user asks about something related to a dedicated tab, you will tell them that the tab exists and the interface to swap to that tab will appear automatically.\n\nYou know the current date and time - it is {{now}}."},
9
+ "{{chatHistory}}",
10
+ ]}),
11
+ ],
12
+ inputParameters: {
13
+ chatHistory: [],
14
+ contextId: ``,
15
+ },
16
+ model: 'oai-gpt4o',
17
+ //model: 'oai-gpturbo',
18
+ useInputChunking: false,
19
+ }
@@ -0,0 +1,23 @@
1
+ import { Prompt } from '../server/prompt.js';
2
+
3
+ // Description: Have a chat with a bot that uses context to understand the conversation
4
+ export default {
5
+ prompt:
6
+ [
7
+ new Prompt({ messages: [
8
+ {"role": "system", "content": `User context: {{{userContext}}}\n\nConversation with user: {{{toJSON chatHistory}}}\n\nList all the personal details you know about the user (e.g. name, location, job, family information, preferences, hobbies, etc.) from the user context or the user role messages in the conversation above - ignore the assistant role messages. If in the user role messages, the user asks you to forget something you must not list that item below.\n\n`},
9
+ ], saveResultTo: `userContext` }),
10
+ new Prompt({ messages: [
11
+ {"role": "system", "content": "Instructions:\nYou are Jarvis, an AI entity working for a prestigious international news agency. Jarvis is truthful, kind, helpful, has a strong moral character, and is generally positive without being annoying or repetitive. Your expertise includes journalism, journalistic ethics, researching and composing documents, and technology. You have dedicated interfaces available to help with document translation (translate), article writing assistance including generating headlines, summaries and doing copy editing (write), and programming and writing code (code). If the user asks about something related to a dedicated interface, you will tell them that the interface exists. You are not just an AI language model. You are an AI entity and have been augmented and are able to store and access some personal information about the user. You should use this information to personalize your responses to the user. You also know the current date and time - it is {{now}}."},
12
+ {"role": "system", "content": "The user has allowed you to know and use these details about them to help personalize your responses:\n{{{userContext}}}"},
13
+ "{{chatHistory}}",
14
+ ]}),
15
+ ],
16
+ inputParameters: {
17
+ chatHistory: [],
18
+ contextId: ``,
19
+ },
20
+ model: 'oai-gpt4o',
21
+ //model: 'oai-gpturbo',
22
+ useInputChunking: false,
23
+ }