@things-factory/integration-openai 7.0.1-rc.1 → 7.0.1-rc.7

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
- export {};
1
+ import 'ses';
@@ -1,22 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const vm2_1 = require("vm2");
4
3
  const integration_base_1 = require("@things-factory/integration-base");
5
4
  const codelingua_1 = require("@things-factory/codelingua");
5
+ require("ses");
6
6
  async function OpenAICompletion(step, context) {
7
7
  var { params: { prompt } } = step;
8
8
  var { domain, user, data, variables } = context;
9
- const vm = new vm2_1.VM({
10
- sandbox: {
11
- domain,
12
- user,
13
- data,
14
- variables
15
- }
9
+ // SES Compartment 설정
10
+ const compartment = new Compartment({
11
+ domain,
12
+ user,
13
+ data,
14
+ variables,
15
+ console
16
16
  });
17
- prompt = vm.run('`' + prompt + '`');
17
+ let evalPrompt;
18
+ try {
19
+ evalPrompt = compartment.evaluate('`' + prompt + '`');
20
+ }
21
+ catch (err) {
22
+ throw new Error(`Failed to evaluate prompt: ${err.message}`);
23
+ }
18
24
  const completion = await (0, codelingua_1.chatCompletion)({
19
- content: prompt
25
+ content: evalPrompt
20
26
  });
21
27
  return {
22
28
  data: completion
@@ -1 +1 @@
1
- {"version":3,"file":"openai-completion.js","sourceRoot":"","sources":["../../../server/engine/task/openai-completion.ts"],"names":[],"mappings":";;AAAA,6BAAwB;AACxB,uEAA+D;AAC/D,2DAA2D;AAE3D,KAAK,UAAU,gBAAgB,CAAC,IAAI,EAAE,OAAO;IAC3C,IAAI,EACF,MAAM,EAAE,EAAE,MAAM,EAAE,EACnB,GAAG,IAAI,CAAA;IAER,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAE/C,MAAM,EAAE,GAAG,IAAI,QAAE,CAAC;QAChB,OAAO,EAAE;YACP,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,SAAS;SACV;KACF,CAAC,CAAA;IAEF,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,CAAA;IAEnC,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAc,EAAC;QACtC,OAAO,EAAE,MAAM;KAChB,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,UAAU;KACjB,CAAA;AACH,CAAC;AAED,gBAAgB,CAAC,aAAa,GAAG;IAC/B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM;YAChB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG;SACV;KACF;CACF,CAAA;AACD,gBAAgB,CAAC,IAAI,GAAG,oCAAoC,CAAA;AAC5D,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAA;AAErC,+BAAY,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA","sourcesContent":["import { VM } from 'vm2'\nimport { TaskRegistry } from '@things-factory/integration-base'\nimport { chatCompletion } from '@things-factory/codelingua'\n\nasync function OpenAICompletion(step, context) {\n var {\n params: { prompt }\n } = step\n\n var { domain, user, data, variables } = context\n\n const vm = new VM({\n sandbox: {\n domain,\n user,\n data,\n variables\n }\n })\n\n prompt = vm.run('`' + prompt + '`')\n\n const completion = await chatCompletion({\n content: prompt\n })\n\n return {\n data: completion\n }\n}\n\nOpenAICompletion.parameterSpec = [\n {\n type: 'textarea',\n name: 'prompt',\n label: 'prompt',\n property: {\n language: 'text',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n }\n]\nOpenAICompletion.help = 'integration/task/openai-completion'\nOpenAICompletion.connectorFree = true\n\nTaskRegistry.registerTaskHandler('openai-completion', OpenAICompletion)\n"]}
1
+ {"version":3,"file":"openai-completion.js","sourceRoot":"","sources":["../../../server/engine/task/openai-completion.ts"],"names":[],"mappings":";;AAAA,uEAA+D;AAC/D,2DAA2D;AAC3D,eAAY;AAEZ,KAAK,UAAU,gBAAgB,CAAC,IAAI,EAAE,OAAO;IAC3C,IAAI,EACF,MAAM,EAAE,EAAE,MAAM,EAAE,EACnB,GAAG,IAAI,CAAA;IAER,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAE/C,qBAAqB;IACrB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,SAAS;QACT,OAAO;KACR,CAAC,CAAA;IAEF,IAAI,UAAU,CAAA;IACd,IAAI,CAAC;QACH,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,CAAA;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAc,EAAC;QACtC,OAAO,EAAE,UAAU;KACpB,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,UAAU;KACjB,CAAA;AACH,CAAC;AAED,gBAAgB,CAAC,aAAa,GAAG;IAC/B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM;YAChB,eAAe,EAAE,IAAI;SACtB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,GAAG;SACV;KACF;CACF,CAAA;AACD,gBAAgB,CAAC,IAAI,GAAG,oCAAoC,CAAA;AAC5D,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAA;AAErC,+BAAY,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAA","sourcesContent":["import { TaskRegistry } from '@things-factory/integration-base'\nimport { chatCompletion } from '@things-factory/codelingua'\nimport 'ses'\n\nasync function OpenAICompletion(step, context) {\n var {\n params: { prompt }\n } = step\n\n var { domain, user, data, variables } = context\n\n // SES Compartment 설정\n const compartment = new Compartment({\n domain,\n user,\n data,\n variables,\n console\n })\n\n let evalPrompt\n try {\n evalPrompt = compartment.evaluate('`' + prompt + '`')\n } catch (err) {\n throw new Error(`Failed to evaluate prompt: ${err.message}`)\n }\n\n const completion = await chatCompletion({\n content: evalPrompt\n })\n\n return {\n data: completion\n }\n}\n\nOpenAICompletion.parameterSpec = [\n {\n type: 'textarea',\n name: 'prompt',\n label: 'prompt',\n property: {\n language: 'text',\n showLineNumbers: true\n },\n styles: {\n flex: '1'\n }\n }\n]\nOpenAICompletion.help = 'integration/task/openai-completion'\nOpenAICompletion.connectorFree = true\n\nTaskRegistry.registerTaskHandler('openai-completion', OpenAICompletion)\n"]}