@jeliq/app-sdk-llm 1.2.2 → 1.2.3

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.
@@ -5,8 +5,65 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = genStructuredOutputs;
7
7
  var _ai = require("ai");
8
+ var _zodToJsonSchema = require("zod-to-json-schema");
8
9
  var _ShouldMustTemplate = _interopRequireDefault(require("../templates/ShouldMustTemplate"));
9
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const zodToJsonSchema = schema => (0, _zodToJsonSchema.zodToJsonSchema)(schema);
12
+ const tryParseJson = text => {
13
+ try {
14
+ return {
15
+ value: JSON.parse(text),
16
+ raw: text
17
+ };
18
+ } catch {
19
+ return null;
20
+ }
21
+ };
22
+ const extractJsonCandidate = text => {
23
+ const objectStart = text.indexOf("{");
24
+ const objectEnd = text.lastIndexOf("}");
25
+ if (objectStart !== -1 && objectEnd !== -1 && objectEnd > objectStart) {
26
+ return text.slice(objectStart, objectEnd + 1);
27
+ }
28
+ const arrayStart = text.indexOf("[");
29
+ const arrayEnd = text.lastIndexOf("]");
30
+ if (arrayStart !== -1 && arrayEnd !== -1 && arrayEnd > arrayStart) {
31
+ return text.slice(arrayStart, arrayEnd + 1);
32
+ }
33
+ return null;
34
+ };
35
+ const parseJsonFromText = text => {
36
+ var _tryParseJson;
37
+ const lines = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n").split("\n");
38
+
39
+ // 1) 最初の ```json 行を探す(行頭にあることを要求)
40
+ let startLine = -1;
41
+ for (let i = 0; i < lines.length; i++) {
42
+ const line = lines[i];
43
+ // 例: ```json, ```JSON, ```json , ```json something
44
+ if (/^\s*```json\b/i.test(line)) {
45
+ startLine = i;
46
+ break;
47
+ }
48
+ }
49
+ if (startLine === -1) throw new Error("Failed to parse JSON from model output.");
50
+
51
+ // 2) 最後の 行頭 ``` 行を探す(最後に出てくるやつ)
52
+ let endLine = -1;
53
+ for (let i = lines.length - 1; i > startLine; i--) {
54
+ if (/^\s*```/.test(lines[i])) {
55
+ endLine = i;
56
+ break;
57
+ }
58
+ }
59
+ if (endLine === -1) throw new Error("Failed to parse JSON from model output.");
60
+ const blockLines = lines.slice(startLine, endLine + 1);
61
+ const innerLines = lines.slice(startLine + 1, endLine);
62
+ return {
63
+ value: ((_tryParseJson = tryParseJson(innerLines.join("\n"))) === null || _tryParseJson === void 0 ? void 0 : _tryParseJson.value) ?? null,
64
+ raw: blockLines.join("\n")
65
+ };
66
+ };
10
67
  async function genStructuredOutputs(context, taskName, template, args, options) {
11
68
  if (!context) {
12
69
  throw new Error("context is not set");
@@ -14,33 +71,99 @@ async function genStructuredOutputs(context, taskName, template, args, options)
14
71
  if (!(context !== null && context !== void 0 && context.getLLM)) {
15
72
  throw new Error("getLLM is not set");
16
73
  }
17
- const promptTemplate = await (0, _ShouldMustTemplate.default)(Object.keys(template.inputDef).map(key => ({
74
+ const inputDefs = Object.keys(template.inputDef).map(key => ({
18
75
  name: key,
19
76
  type: template.inputDef[key].type,
20
77
  description: template.inputDef[key].description
21
- })), template.summary, template.shouldSection, template.mustSection, template.example, template.partialVars);
78
+ }));
22
79
  const promptArgs = Object.entries(args).reduce((acc, [key, value]) => {
23
80
  acc[key] = value ?? "";
24
81
  return acc;
25
82
  }, {});
26
- const messages = await promptTemplate.formatMessages(promptArgs);
27
- const model = context.getLLM(taskName, undefined, {
83
+ let outputSchemaJson = "";
84
+ try {
85
+ outputSchemaJson = JSON.stringify(zodToJsonSchema(template.outputSchema));
86
+ } catch (e) {
87
+ throw new Error(`Failed to convert output schema to JSON Schema: ${e instanceof Error ? e.message : String(e)}`);
88
+ }
89
+
90
+ // Add outputFormat input definition
91
+ template.mustSection = template.mustSection || [];
92
+ template.mustSection.push({
93
+ no: template.mustSection.length + 1,
94
+ title: "outputFormat",
95
+ content: `You must format your output as a JSON value that adheres to a given "JSON Schema" instance with a markdown code block.
96
+
97
+ For example, the output format is:
98
+ \`\`\`json
99
+ {"properties": {"foo": {"description": "a list of test words", "type": "array", "items": {"type": "string"}}}, "required": ["foo"]}
100
+ \`\`\`
101
+
102
+ Then, you must return the following:
103
+ ----- Begin of Output Example -----
104
+ \`\`\`json
105
+ {
106
+ "foo": ["bar", "baz"]
107
+ }
108
+ \`\`\`
109
+ ----- End of Output Example -----
110
+
111
+ Do NOT ouput anything other than the JSON value with markdown code block.
112
+ Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
113
+
114
+
115
+ Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
116
+
117
+ \`\`\`json
118
+ ${outputSchemaJson}
119
+ \`\`\``
120
+ });
121
+ const promptTemplate = await (0, _ShouldMustTemplate.default)(inputDefs, template.summary, template.shouldSection, template.mustSection, template.example, template.partialVars);
122
+ const model = context.getLLM(taskName, {
28
123
  model: options === null || options === void 0 ? void 0 : options.model,
29
124
  temperature: options === null || options === void 0 ? void 0 : options.temperature,
30
125
  reasoningEffort: options === null || options === void 0 ? void 0 : options.reasoningEffort,
126
+ verbosityLevel: options === null || options === void 0 ? void 0 : options.verbosityLevel,
31
127
  timeout: options === null || options === void 0 ? void 0 : options.timeout
32
128
  });
33
- const {
34
- output
35
- } = await (0, _ai.generateText)({
36
- model,
37
- messages,
38
- temperature: options === null || options === void 0 ? void 0 : options.temperature,
39
- maxRetries: options === null || options === void 0 ? void 0 : options.maxRetries,
40
- output: _ai.Output.object({
41
- schema: template.outputSchema
42
- })
43
- });
44
- return output;
129
+ const maxParseRetries = (options === null || options === void 0 ? void 0 : options.maxRetries) ?? 3;
130
+ const buildCorrectionPrompt = errorMessage => ["The previous output could not be parsed or validated.", `Error: ${errorMessage}`, "Please return only a JSON value wrapped in a markdown ```json code block that matches the schema.", "Do not include any other text."].join("\n");
131
+ let lastErrorMessage = null;
132
+ for (let attempt = 0; attempt <= maxParseRetries; attempt++) {
133
+ const messages = await promptTemplate.formatMessages(promptArgs);
134
+ const {
135
+ text
136
+ } = await (0, _ai.generateText)({
137
+ model,
138
+ messages,
139
+ maxRetries: options !== null && options !== void 0 && options.maxRetries ? Math.max(0, options.maxRetries - attempt) : undefined
140
+ });
141
+ let parsed = null;
142
+ try {
143
+ parsed = parseJsonFromText(text);
144
+ } catch (error) {
145
+ lastErrorMessage = error instanceof Error ? error.message : String(error);
146
+ }
147
+ if (!lastErrorMessage && parsed) {
148
+ const parsedResult = template.outputSchema.safeParse(parsed.value);
149
+ if (parsedResult.success) {
150
+ return parsedResult.data;
151
+ }
152
+ lastErrorMessage = parsedResult.error.message;
153
+ }
154
+ if (attempt >= maxParseRetries) {
155
+ break;
156
+ }
157
+ messages.push({
158
+ role: "assistant",
159
+ content: text
160
+ });
161
+ messages.push({
162
+ role: "user",
163
+ content: buildCorrectionPrompt(lastErrorMessage ?? "Unknown error")
164
+ });
165
+ lastErrorMessage = null;
166
+ }
167
+ throw new Error(`Structured output validation failed after ${maxParseRetries + 1} attempts: ${lastErrorMessage ?? "Unknown error"}`);
45
168
  }
46
169
  //# sourceMappingURL=genStructuredOutputs.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_ai","require","_ShouldMustTemplate","_interopRequireDefault","e","__esModule","default","genStructuredOutputs","context","taskName","template","args","options","Error","getLLM","promptTemplate","createShouldMustTemplateAI","Object","keys","inputDef","map","key","name","type","description","summary","shouldSection","mustSection","example","partialVars","promptArgs","entries","reduce","acc","value","messages","formatMessages","model","undefined","temperature","reasoningEffort","timeout","output","generateText","maxRetries","AIOutput","object","schema","outputSchema"],"sourceRoot":"../../../src","sources":["controllers/genStructuredOutputs.ts"],"mappings":";;;;;;AACA,IAAAA,GAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAyE,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAsB1D,eAAeG,oBAAoBA,CAI9CC,OAA4B,EAC5BC,QAAgB,EAChBC,QAA+C,EAC/CC,IAAkD,EAClDC,OAAqC,EACtB;EACf,IAAI,CAACJ,OAAO,EAAE;IACV,MAAM,IAAIK,KAAK,CAAC,oBAAoB,CAAC;EACzC;EAEA,IAAI,EAACL,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEM,MAAM,GAAE;IAClB,MAAM,IAAID,KAAK,CAAC,mBAAmB,CAAC;EACxC;EAEA,MAAME,cAAc,GAAG,MAAM,IAAAC,2BAA0B,EACnDC,MAAM,CAACC,IAAI,CAACR,QAAQ,CAACS,QAAQ,CAAC,CAACC,GAAG,CAAEC,GAAG,KAAM;IACzCC,IAAI,EAAED,GAAG;IACTE,IAAI,EAAEb,QAAQ,CAACS,QAAQ,CAACE,GAAG,CAAc,CAACE,IAAI;IAC9CC,WAAW,EAAEd,QAAQ,CAACS,QAAQ,CAACE,GAAG,CAAc,CAACG;EACrD,CAAC,CAAC,CAAC,EACHd,QAAQ,CAACe,OAAO,EAChBf,QAAQ,CAACgB,aAAa,EACtBhB,QAAQ,CAACiB,WAAW,EACpBjB,QAAQ,CAACkB,OAAO,EAChBlB,QAAQ,CAACmB,WACb,CAAC;EAED,MAAMC,UAAU,GAAGb,MAAM,CAACc,OAAO,CAACpB,IAAiD,CAAC,CAACqB,MAAM,CACvF,CAACC,GAAG,EAAE,CAACZ,GAAG,EAAEa,KAAK,CAAC,KAAK;IACnBD,GAAG,CAACZ,GAAG,CAAC,GAAGa,KAAK,IAAI,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EACD,CAAC,CACL,CAAC;EAED,MAAME,QAAQ,GAAG,MAAMpB,cAAc,CAACqB,cAAc,CAACN,UAAU,CAAC;EAEhE,MAAMO,KAAK,GAAG7B,OAAO,CAACM,MAAM,CACxBL,QAAQ,EACR6B,SAAS,EACT;IACID,KAAK,EAAEzB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEyB,KAAK;IACrBE,WAAW,EAAE3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B,WAAW;IACjCC,eAAe,EAAE5B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE4B,eAAe;IACzCC,OAAO,EAAE7B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6B;EACtB,CACJ,CAAC;EAED,MAAM;IAAEC;EAAO,CAAC,GAAG,MAAM,IAAAC,gBAAY,EAAC;IAClCN,KAAK;IACLF,QAAQ;IACRI,WAAW,EAAE3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B,WAAW;IACjCK,UAAU,EAAEhC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEgC,UAAU;IAC/BF,MAAM,EAAEG,UAAQ,CAACC,MAAM,CAAC;MACpBC,MAAM,EAAErC,QAAQ,CAACsC;IACrB,CAAC;EACL,CAAC,CAAC;EAEF,OAAON,MAAM;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["_ai","require","_zodToJsonSchema","_ShouldMustTemplate","_interopRequireDefault","e","__esModule","default","zodToJsonSchema","schema","zodToJsonSchemaRaw","tryParseJson","text","value","JSON","parse","raw","extractJsonCandidate","objectStart","indexOf","objectEnd","lastIndexOf","slice","arrayStart","arrayEnd","parseJsonFromText","_tryParseJson","lines","replace","split","startLine","i","length","line","test","Error","endLine","blockLines","innerLines","join","genStructuredOutputs","context","taskName","template","args","options","getLLM","inputDefs","Object","keys","inputDef","map","key","name","type","description","promptArgs","entries","reduce","acc","outputSchemaJson","stringify","outputSchema","message","String","mustSection","push","no","title","content","promptTemplate","createShouldMustTemplate","summary","shouldSection","example","partialVars","model","temperature","reasoningEffort","verbosityLevel","timeout","maxParseRetries","maxRetries","buildCorrectionPrompt","errorMessage","lastErrorMessage","attempt","messages","formatMessages","generateText","Math","max","undefined","parsed","error","parsedResult","safeParse","success","data","role"],"sourceRoot":"../../../src","sources":["controllers/genStructuredOutputs.ts"],"mappings":"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","ignoreList":[]}
@@ -34,7 +34,12 @@ async function resolvePartialVars(partialVars) {
34
34
  return Object.fromEntries(entries);
35
35
  }
36
36
  function replaceTemplateVariables(template, values) {
37
- return template.replace(getVariableRegex(), (_, variable) => values[variable] ?? "");
37
+ return template.replace(getVariableRegex(), (_, variable) => {
38
+ if (Object.prototype.hasOwnProperty.call(values, variable)) {
39
+ return values[variable] ?? "";
40
+ }
41
+ return `[${variable}](#${variable})`;
42
+ });
38
43
  }
39
44
  async function createShouldMustTemplate(inputDef, summary, shouldSection, mustSection, example, partialVars) {
40
45
  const shouldSectionPrompt = (() => {
@@ -62,49 +67,41 @@ async function createShouldMustTemplate(inputDef, summary, shouldSection, mustSe
62
67
  const exampleSectionBody = example.map(elem => `## (c${elem.no}) ${elem.title}\n${elem.content}`).join("\n\n");
63
68
  return `# Example\n\n${exampleSectionBody}`;
64
69
  })();
65
- const allSectionContent = [(shouldSection === null || shouldSection === void 0 ? void 0 : shouldSection.map(s => s.content || "").join(" ")) || "", (mustSection === null || mustSection === void 0 ? void 0 : mustSection.map(s => s.content || "").join(" ")) || "", (example === null || example === void 0 ? void 0 : example.map(s => s.content || "").join(" ")) || "", summary].join(" ");
66
- const usedVariables = extractVariables(allSectionContent);
67
- const definedInputVariables = inputDef.map(elem => elem.name);
68
- const definedPartialVariables = Object.keys(partialVars || {});
69
- const definedVariables = [...definedInputVariables, ...definedPartialVariables, "outputFormat"];
70
- const undefinedVariables = usedVariables.filter(variable => !definedVariables.includes(variable));
71
- if (undefinedVariables.length > 0) {
72
- console.warn(`[ShouldMustTemplate] Warning: Found ${undefinedVariables.length} undefined variable(s) in template sections: [${undefinedVariables.join(", ")}]. These variables have been automatically added to the template.`);
73
- }
74
- const autoGeneratedVariablesSection = undefinedVariables.length > 0 ? `\n\n# Auto-Generated Variables\n\n${undefinedVariables.map(variable => `## ${variable}\n{${variable}}`).join("\n\n")}` : "";
75
70
  const systemPrompt = [summary, shouldSectionPrompt, mustSectionPrompt, exampleSectionPrompt].filter(Boolean).join("\n\n");
76
- const stringInputPromptTemplate = inputDef.filter(elem => elem.type === "string").map(elem => `# ${elem.name}${elem.description ? `\n${elem.description}` : ""}\n{${elem.name}}`).join("\n\n");
77
- const imageInputDefs = inputDef.filter(elem => elem.type === "imageDataURL");
78
- const systemTemplate = [systemPrompt, "{outputFormat}"].filter(Boolean).join("\n\n").trim();
79
- const userTextTemplate = [stringInputPromptTemplate, autoGeneratedVariablesSection].filter(Boolean).join("\n\n").trim();
71
+ const systemTemplate = [systemPrompt].filter(Boolean).join("\n\n").trim();
80
72
  return {
81
73
  async formatMessages(args) {
82
- const resolvedPartialVars = await resolvePartialVars(partialVars || {});
83
74
  const mergedArgs = Object.entries(args || {}).reduce((acc, [key, value]) => {
84
75
  acc[key] = value ?? "";
85
76
  return acc;
86
77
  }, {});
78
+ const resolvedPartialVars = await resolvePartialVars(partialVars || {});
87
79
  const templateValues = {
88
80
  ...mergedArgs,
89
81
  ...resolvedPartialVars
90
82
  };
91
- undefinedVariables.forEach(variable => {
92
- if (!(variable in templateValues)) {
93
- templateValues[variable] = "";
94
- }
95
- });
83
+
84
+ // Create system message content
96
85
  const systemMessage = {
97
86
  role: "system",
98
87
  content: replaceTemplateVariables(systemTemplate, templateValues)
99
88
  };
100
- const userText = replaceTemplateVariables(userTextTemplate, templateValues);
89
+
90
+ // Create user message content
101
91
  const userContentParts = [];
102
- if (userText.trim().length > 0) {
92
+ const argsText = inputDef.filter(elem => elem.type === "string").map(elem => `# ${elem.name}${elem.description ? `\n${elem.description}` : ""}
93
+ ${templateValues === null || templateValues === void 0 ? void 0 : templateValues[elem.name]}
94
+ `).join("\n\n");
95
+ const partialVarsText = Object.entries(resolvedPartialVars).map(([key, value]) => `# ${key}
96
+ ${value}
97
+ `).join("\n\n");
98
+ if (argsText.trim().length > 0 || partialVarsText.trim().length > 0) {
103
99
  userContentParts.push({
104
100
  type: "text",
105
- text: userText
101
+ text: argsText + "\n\n" + partialVarsText
106
102
  });
107
103
  }
104
+ const imageInputDefs = inputDef.filter(elem => elem.type === "imageDataURL");
108
105
  imageInputDefs.forEach(elem => {
109
106
  const imageValue = templateValues[elem.name];
110
107
  if (imageValue && imageValue.trim().length > 0) {
@@ -1 +1 @@
1
- {"version":3,"names":["getVariableRegex","RegExp","extractVariables","content","variableRegex","variables","match","exec","includes","push","resolvePartialVars","partialVars","entries","Promise","all","Object","map","key","value","result","fromEntries","replaceTemplateVariables","template","values","replace","_","variable","createShouldMustTemplate","inputDef","summary","shouldSection","mustSection","example","shouldSectionPrompt","length","shouldSectionCount","shouldSectionHeader","shouldSectionBody","elem","baseBody","no","title","join","mustSectionPrompt","mustSectionCount","mustSectionHeader","mustSectionBody","exampleSectionPrompt","exampleSectionBody","allSectionContent","s","usedVariables","definedInputVariables","name","definedPartialVariables","keys","definedVariables","undefinedVariables","filter","console","warn","autoGeneratedVariablesSection","systemPrompt","Boolean","stringInputPromptTemplate","type","description","imageInputDefs","systemTemplate","trim","userTextTemplate","formatMessages","args","resolvedPartialVars","mergedArgs","reduce","acc","templateValues","forEach","systemMessage","role","userText","userContentParts","text","imageValue","image","userMessage"],"sourceRoot":"../../../src","sources":["templates/ShouldMustTemplate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getVariableRegex","RegExp","extractVariables","content","variableRegex","variables","match","exec","includes","push","resolvePartialVars","partialVars","entries","Promise","all","Object","map","key","value","result","fromEntries","replaceTemplateVariables","template","values","replace","_","variable","prototype","hasOwnProperty","call","createShouldMustTemplate","inputDef","summary","shouldSection","mustSection","example","shouldSectionPrompt","length","shouldSectionCount","shouldSectionHeader","shouldSectionBody","elem","baseBody","no","title","join","mustSectionPrompt","mustSectionCount","mustSectionHeader","mustSectionBody","exampleSectionPrompt","exampleSectionBody","systemPrompt","filter","Boolean","systemTemplate","trim","formatMessages","args","mergedArgs","reduce","acc","resolvedPartialVars","templateValues","systemMessage","role","userContentParts","argsText","type","name","description","partialVarsText","text","imageInputDefs","forEach","imageValue","image","userMessage"],"sourceRoot":"../../../src","sources":["templates/ShouldMustTemplate.ts"],"mappings":"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","ignoreList":[]}
@@ -75,7 +75,7 @@ const ModelNameAlias = exports.ModelNameAlias = {
75
75
  },
76
76
  // gpt-5.1
77
77
  "gpt-5.1-chat": {
78
- model: "gpt-5.1-chat-latest",
78
+ model: "gpt-5.1-chat",
79
79
  vendor: {
80
80
  type: "openai"
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ModelNameAlias","exports","model","vendor","type"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;AA4DO,MAAMA,cAA0D,GAAAC,OAAA,CAAAD,cAAA,GAAG;EACtE;EACA,gBAAgB,EAAE;IACd,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,eAAe,EAAE;IACb,OAAO,EAAE,wBAAwB;IACjC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EAED;EACA,QAAQ,EAAE;IACNE,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,aAAa,EAAE;IACXF,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,qBAAqB;IAC5BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,cAAc,EAAE;IACZF,KAAK,EAAE,qBAAqB;IAC5BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,sBAAsB;IAC7BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,wBAAwB;IAC/BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,kBAAkB,EAAE;IAChBF,KAAK,EAAE,kBAAkB;IACzBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,uBAAuB,EAAE;IACrBF,KAAK,EAAE,uBAAuB;IAC9BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,gBAAgB;IACvBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B;AACJ,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["ModelNameAlias","exports","model","vendor","type"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;AA4DO,MAAMA,cAA0D,GAAAC,OAAA,CAAAD,cAAA,GAAG;EACtE;EACA,gBAAgB,EAAE;IACd,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,eAAe,EAAE;IACb,OAAO,EAAE,wBAAwB;IACjC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EAED;EACA,QAAQ,EAAE;IACNE,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,aAAa,EAAE;IACXF,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,cAAc;IACrBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,cAAc,EAAE;IACZF,KAAK,EAAE,qBAAqB;IAC5BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,sBAAsB;IAC7BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,wBAAwB;IAC/BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,kBAAkB,EAAE;IAChBF,KAAK,EAAE,kBAAkB;IACzBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,uBAAuB,EAAE;IACrBF,KAAK,EAAE,uBAAuB;IAC9BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,gBAAgB;IACvBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B;AACJ,CAAU","ignoreList":[]}
@@ -5,19 +5,89 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = createGetLLM;
7
7
  var _ai = require("ai");
8
+ var _types = require("../types");
8
9
  var _openai = require("@ai-sdk/openai");
9
10
  var _openaiCompatible = require("@ai-sdk/openai-compatible");
10
11
  var _anthropic = require("@ai-sdk/anthropic");
11
12
  var _google = require("@ai-sdk/google");
12
13
  var _azure = require("@ai-sdk/azure");
14
+ const REVPROXY_JSON_INSTRUCTION = "Return a valid JSON object only. Do not include any extra text.";
15
+ const isRevproxyEnabled = () => Boolean(process.env.JELIQ_LLM_REVPROXY_KEY && process.env.JELIQ_LLM_REVPROXY_CONTAINER_ID && process.env.JELIQ_LLM_REVPROXY_ENDPOINT);
16
+ const addJsonInstructionToPrompt = prompt => {
17
+ if (!Array.isArray(prompt) || prompt.length === 0) {
18
+ return prompt;
19
+ }
20
+ const hasInstruction = prompt.some(message => (message === null || message === void 0 ? void 0 : message.role) === "system" && typeof message.content === "string" && message.content.includes(REVPROXY_JSON_INSTRUCTION));
21
+ if (hasInstruction) {
22
+ return prompt;
23
+ }
24
+ const instructionMessage = {
25
+ role: "system",
26
+ content: REVPROXY_JSON_INSTRUCTION
27
+ };
28
+ const insertIndex = prompt.findIndex(message => (message === null || message === void 0 ? void 0 : message.role) !== "system");
29
+ if (insertIndex === -1) {
30
+ return [...prompt, instructionMessage];
31
+ }
32
+ return [...prompt.slice(0, insertIndex), instructionMessage, ...prompt.slice(insertIndex)];
33
+ };
34
+ const normalizeJsonContent = content => {
35
+ if (!Array.isArray(content)) {
36
+ return content;
37
+ }
38
+ let text = "";
39
+ for (const part of content) {
40
+ if ((part === null || part === void 0 ? void 0 : part.type) === "text" && typeof part.text === "string") {
41
+ text += part.text;
42
+ }
43
+ }
44
+ if (!text) {
45
+ return content;
46
+ }
47
+ let parsed;
48
+ try {
49
+ parsed = JSON.parse(text);
50
+ } catch {
51
+ return content;
52
+ }
53
+ const normalizedText = JSON.stringify(parsed);
54
+ let inserted = false;
55
+ return content.flatMap(part => {
56
+ if ((part === null || part === void 0 ? void 0 : part.type) !== "text" || typeof part.text !== "string") {
57
+ return [part];
58
+ }
59
+ if (inserted) {
60
+ return [];
61
+ }
62
+ inserted = true;
63
+ return [{
64
+ ...part,
65
+ text: normalizedText
66
+ }];
67
+ });
68
+ };
13
69
  function createProviderModel(vendor, modelName) {
14
- if (process.env.JELIQ_LLM_REVPROXY_KEY && process.env.JELIQ_LLM_REVPROXY_ENDPOINT) {
70
+ var _ModelNameAlias;
71
+ const actualModelName = (_types.ModelNameAlias === null || _types.ModelNameAlias === void 0 || (_ModelNameAlias = _types.ModelNameAlias[modelName]) === null || _ModelNameAlias === void 0 ? void 0 : _ModelNameAlias.model) || modelName;
72
+ if (isRevproxyEnabled()) {
15
73
  const provider = (0, _openaiCompatible.createOpenAICompatible)({
16
74
  name: "jeliq-llm-revproxy",
17
- apiKey: process.env.JELIQ_LLM_REVPROXY_KEY,
18
- baseURL: process.env.JELIQ_LLM_REVPROXY_ENDPOINT
75
+ apiKey: process.env.JELIQ_LLM_REVPROXY_KEY || "",
76
+ baseURL: process.env.JELIQ_LLM_REVPROXY_ENDPOINT || "",
77
+ headers: {
78
+ 'X-Container-ID': process.env.JELIQ_LLM_REVPROXY_CONTAINER_ID || ""
79
+ }
80
+ // supportsStructuredOutputs: true,
81
+ /*
82
+ fetch: async (input, init) => {
83
+ if (init?.body) {
84
+ console.log("REQUEST BODY:", init.body.toString());
85
+ }
86
+ return fetch(input, init);
87
+ },
88
+ */
19
89
  });
20
- return provider(modelName);
90
+ return provider(actualModelName);
21
91
  }
22
92
  if (vendor.type === "anthropic") {
23
93
  const provider = vendor.apiKey || vendor.endpoint ? (0, _anthropic.createAnthropic)({
@@ -26,7 +96,7 @@ function createProviderModel(vendor, modelName) {
26
96
  baseURL: vendor.endpoint
27
97
  } : {})
28
98
  }) : _anthropic.anthropic;
29
- return provider(modelName);
99
+ return provider(actualModelName);
30
100
  }
31
101
  if (vendor.type === "google") {
32
102
  const provider = vendor.apiKey || vendor.endpoint ? (0, _google.createGoogleGenerativeAI)({
@@ -35,7 +105,7 @@ function createProviderModel(vendor, modelName) {
35
105
  baseURL: vendor.endpoint
36
106
  } : {})
37
107
  }) : _google.google;
38
- return provider(modelName);
108
+ return provider(actualModelName);
39
109
  }
40
110
  if (vendor.type === "azure") {
41
111
  const provider = vendor.apiKey || vendor.instanceName ? (0, _azure.createAzure)({
@@ -46,9 +116,9 @@ function createProviderModel(vendor, modelName) {
46
116
  apiVersion: vendor.apiVersion,
47
117
  useDeploymentBasedUrls: true
48
118
  }) : _azure.azure;
49
- return provider(vendor.deploymentName || modelName);
119
+ return provider(vendor.deploymentName || actualModelName);
50
120
  }
51
- return (0, _openai.openai)(modelName);
121
+ return (0, _openai.openai)(actualModelName);
52
122
  }
53
123
  function createGetLLM(tasksModelsMap, defaultModel) {
54
124
  function getModelAndTemperature(taskName) {
@@ -74,6 +144,7 @@ function createGetLLM(tasksModelsMap, defaultModel) {
74
144
  const actualReasoningEffort = (options === null || options === void 0 ? void 0 : options.reasoningEffort) !== undefined ? options.reasoningEffort : reasoningEffort;
75
145
  const actualVerbosityLevel = (options === null || options === void 0 ? void 0 : options.verbosityLevel) !== undefined ? options.verbosityLevel : verbosityLevel;
76
146
  const actualTimeout = (options === null || options === void 0 ? void 0 : options.timeout) !== undefined ? options.timeout : timeout !== undefined ? timeout : undefined;
147
+ const usesRevproxy = isRevproxyEnabled();
77
148
  const model = createProviderModel(resolvedVendor, actualModelName);
78
149
 
79
150
  // 直前に CallOptions を変形するミドルウェア
@@ -1 +1 @@
1
- {"version":3,"names":["_ai","require","_openai","_openaiCompatible","_anthropic","_google","_azure","createProviderModel","vendor","modelName","process","env","JELIQ_LLM_REVPROXY_KEY","JELIQ_LLM_REVPROXY_ENDPOINT","provider","createOpenAICompatible","name","apiKey","baseURL","type","endpoint","createAnthropic","anthropic","createGoogleGenerativeAI","google","instanceName","createAzure","resourceName","apiVersion","useDeploymentBasedUrls","azure","deploymentName","openai","createGetLLM","tasksModelsMap","defaultModel","getModelAndTemperature","taskName","model","Error","reasoningEffort","undefined","verbosityLevel","temperature","timeout","getLLM","options","_loggingInfo","resolvedVendor","actualModelName","actualTemperature","actualReasoningEffort","actualVerbosityLevel","actualTimeout","mutateCallOptionsMiddleware","specificationVersion","transformParams","params","_next$providerOptions","next","Math","min","max","providerOptions","textVerbosity","wrapLanguageModel","middleware"],"sourceRoot":"../../../src","sources":["utils/createGetLLM.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_ai","require","_types","_openai","_openaiCompatible","_anthropic","_google","_azure","REVPROXY_JSON_INSTRUCTION","isRevproxyEnabled","Boolean","process","env","JELIQ_LLM_REVPROXY_KEY","JELIQ_LLM_REVPROXY_CONTAINER_ID","JELIQ_LLM_REVPROXY_ENDPOINT","addJsonInstructionToPrompt","prompt","Array","isArray","length","hasInstruction","some","message","role","content","includes","instructionMessage","insertIndex","findIndex","slice","normalizeJsonContent","text","part","type","parsed","JSON","parse","normalizedText","stringify","inserted","flatMap","createProviderModel","vendor","modelName","_ModelNameAlias","actualModelName","ModelNameAlias","model","provider","createOpenAICompatible","name","apiKey","baseURL","headers","endpoint","createAnthropic","anthropic","createGoogleGenerativeAI","google","instanceName","createAzure","resourceName","apiVersion","useDeploymentBasedUrls","azure","deploymentName","openai","createGetLLM","tasksModelsMap","defaultModel","getModelAndTemperature","taskName","Error","reasoningEffort","undefined","verbosityLevel","temperature","timeout","getLLM","options","_loggingInfo","resolvedVendor","actualTemperature","actualReasoningEffort","actualVerbosityLevel","actualTimeout","usesRevproxy","mutateCallOptionsMiddleware","specificationVersion","transformParams","params","_next$providerOptions","next","Math","min","max","providerOptions","textVerbosity","wrapLanguageModel","middleware"],"sourceRoot":"../../../src","sources":["utils/createGetLLM.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,62 @@
1
- import { generateText, Output as AIOutput } from "ai";
2
- import createShouldMustTemplateAI from "../templates/ShouldMustTemplate";
1
+ import { generateText } from "ai";
2
+ import { zodToJsonSchema as zodToJsonSchemaRaw } from "zod-to-json-schema";
3
+ import createShouldMustTemplate from "../templates/ShouldMustTemplate";
4
+ const zodToJsonSchema = schema => zodToJsonSchemaRaw(schema);
5
+ const tryParseJson = text => {
6
+ try {
7
+ return {
8
+ value: JSON.parse(text),
9
+ raw: text
10
+ };
11
+ } catch {
12
+ return null;
13
+ }
14
+ };
15
+ const extractJsonCandidate = text => {
16
+ const objectStart = text.indexOf("{");
17
+ const objectEnd = text.lastIndexOf("}");
18
+ if (objectStart !== -1 && objectEnd !== -1 && objectEnd > objectStart) {
19
+ return text.slice(objectStart, objectEnd + 1);
20
+ }
21
+ const arrayStart = text.indexOf("[");
22
+ const arrayEnd = text.lastIndexOf("]");
23
+ if (arrayStart !== -1 && arrayEnd !== -1 && arrayEnd > arrayStart) {
24
+ return text.slice(arrayStart, arrayEnd + 1);
25
+ }
26
+ return null;
27
+ };
28
+ const parseJsonFromText = text => {
29
+ var _tryParseJson;
30
+ const lines = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n").split("\n");
31
+
32
+ // 1) 最初の ```json 行を探す(行頭にあることを要求)
33
+ let startLine = -1;
34
+ for (let i = 0; i < lines.length; i++) {
35
+ const line = lines[i];
36
+ // 例: ```json, ```JSON, ```json , ```json something
37
+ if (/^\s*```json\b/i.test(line)) {
38
+ startLine = i;
39
+ break;
40
+ }
41
+ }
42
+ if (startLine === -1) throw new Error("Failed to parse JSON from model output.");
43
+
44
+ // 2) 最後の 行頭 ``` 行を探す(最後に出てくるやつ)
45
+ let endLine = -1;
46
+ for (let i = lines.length - 1; i > startLine; i--) {
47
+ if (/^\s*```/.test(lines[i])) {
48
+ endLine = i;
49
+ break;
50
+ }
51
+ }
52
+ if (endLine === -1) throw new Error("Failed to parse JSON from model output.");
53
+ const blockLines = lines.slice(startLine, endLine + 1);
54
+ const innerLines = lines.slice(startLine + 1, endLine);
55
+ return {
56
+ value: ((_tryParseJson = tryParseJson(innerLines.join("\n"))) === null || _tryParseJson === void 0 ? void 0 : _tryParseJson.value) ?? null,
57
+ raw: blockLines.join("\n")
58
+ };
59
+ };
3
60
  export default async function genStructuredOutputs(context, taskName, template, args, options) {
4
61
  if (!context) {
5
62
  throw new Error("context is not set");
@@ -7,33 +64,99 @@ export default async function genStructuredOutputs(context, taskName, template,
7
64
  if (!(context !== null && context !== void 0 && context.getLLM)) {
8
65
  throw new Error("getLLM is not set");
9
66
  }
10
- const promptTemplate = await createShouldMustTemplateAI(Object.keys(template.inputDef).map(key => ({
67
+ const inputDefs = Object.keys(template.inputDef).map(key => ({
11
68
  name: key,
12
69
  type: template.inputDef[key].type,
13
70
  description: template.inputDef[key].description
14
- })), template.summary, template.shouldSection, template.mustSection, template.example, template.partialVars);
71
+ }));
15
72
  const promptArgs = Object.entries(args).reduce((acc, [key, value]) => {
16
73
  acc[key] = value ?? "";
17
74
  return acc;
18
75
  }, {});
19
- const messages = await promptTemplate.formatMessages(promptArgs);
20
- const model = context.getLLM(taskName, undefined, {
76
+ let outputSchemaJson = "";
77
+ try {
78
+ outputSchemaJson = JSON.stringify(zodToJsonSchema(template.outputSchema));
79
+ } catch (e) {
80
+ throw new Error(`Failed to convert output schema to JSON Schema: ${e instanceof Error ? e.message : String(e)}`);
81
+ }
82
+
83
+ // Add outputFormat input definition
84
+ template.mustSection = template.mustSection || [];
85
+ template.mustSection.push({
86
+ no: template.mustSection.length + 1,
87
+ title: "outputFormat",
88
+ content: `You must format your output as a JSON value that adheres to a given "JSON Schema" instance with a markdown code block.
89
+
90
+ For example, the output format is:
91
+ \`\`\`json
92
+ {"properties": {"foo": {"description": "a list of test words", "type": "array", "items": {"type": "string"}}}, "required": ["foo"]}
93
+ \`\`\`
94
+
95
+ Then, you must return the following:
96
+ ----- Begin of Output Example -----
97
+ \`\`\`json
98
+ {
99
+ "foo": ["bar", "baz"]
100
+ }
101
+ \`\`\`
102
+ ----- End of Output Example -----
103
+
104
+ Do NOT ouput anything other than the JSON value with markdown code block.
105
+ Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
106
+
107
+
108
+ Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
109
+
110
+ \`\`\`json
111
+ ${outputSchemaJson}
112
+ \`\`\``
113
+ });
114
+ const promptTemplate = await createShouldMustTemplate(inputDefs, template.summary, template.shouldSection, template.mustSection, template.example, template.partialVars);
115
+ const model = context.getLLM(taskName, {
21
116
  model: options === null || options === void 0 ? void 0 : options.model,
22
117
  temperature: options === null || options === void 0 ? void 0 : options.temperature,
23
118
  reasoningEffort: options === null || options === void 0 ? void 0 : options.reasoningEffort,
119
+ verbosityLevel: options === null || options === void 0 ? void 0 : options.verbosityLevel,
24
120
  timeout: options === null || options === void 0 ? void 0 : options.timeout
25
121
  });
26
- const {
27
- output
28
- } = await generateText({
29
- model,
30
- messages,
31
- temperature: options === null || options === void 0 ? void 0 : options.temperature,
32
- maxRetries: options === null || options === void 0 ? void 0 : options.maxRetries,
33
- output: AIOutput.object({
34
- schema: template.outputSchema
35
- })
36
- });
37
- return output;
122
+ const maxParseRetries = (options === null || options === void 0 ? void 0 : options.maxRetries) ?? 3;
123
+ const buildCorrectionPrompt = errorMessage => ["The previous output could not be parsed or validated.", `Error: ${errorMessage}`, "Please return only a JSON value wrapped in a markdown ```json code block that matches the schema.", "Do not include any other text."].join("\n");
124
+ let lastErrorMessage = null;
125
+ for (let attempt = 0; attempt <= maxParseRetries; attempt++) {
126
+ const messages = await promptTemplate.formatMessages(promptArgs);
127
+ const {
128
+ text
129
+ } = await generateText({
130
+ model,
131
+ messages,
132
+ maxRetries: options !== null && options !== void 0 && options.maxRetries ? Math.max(0, options.maxRetries - attempt) : undefined
133
+ });
134
+ let parsed = null;
135
+ try {
136
+ parsed = parseJsonFromText(text);
137
+ } catch (error) {
138
+ lastErrorMessage = error instanceof Error ? error.message : String(error);
139
+ }
140
+ if (!lastErrorMessage && parsed) {
141
+ const parsedResult = template.outputSchema.safeParse(parsed.value);
142
+ if (parsedResult.success) {
143
+ return parsedResult.data;
144
+ }
145
+ lastErrorMessage = parsedResult.error.message;
146
+ }
147
+ if (attempt >= maxParseRetries) {
148
+ break;
149
+ }
150
+ messages.push({
151
+ role: "assistant",
152
+ content: text
153
+ });
154
+ messages.push({
155
+ role: "user",
156
+ content: buildCorrectionPrompt(lastErrorMessage ?? "Unknown error")
157
+ });
158
+ lastErrorMessage = null;
159
+ }
160
+ throw new Error(`Structured output validation failed after ${maxParseRetries + 1} attempts: ${lastErrorMessage ?? "Unknown error"}`);
38
161
  }
39
162
  //# sourceMappingURL=genStructuredOutputs.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["generateText","Output","AIOutput","createShouldMustTemplateAI","genStructuredOutputs","context","taskName","template","args","options","Error","getLLM","promptTemplate","Object","keys","inputDef","map","key","name","type","description","summary","shouldSection","mustSection","example","partialVars","promptArgs","entries","reduce","acc","value","messages","formatMessages","model","undefined","temperature","reasoningEffort","timeout","output","maxRetries","object","schema","outputSchema"],"sourceRoot":"../../../src","sources":["controllers/genStructuredOutputs.ts"],"mappings":"AACA,SAASA,YAAY,EAAEC,MAAM,IAAIC,QAAQ,QAAQ,IAAI;AAErD,OAAOC,0BAA0B,MAAM,iCAAiC;AAsBxE,eAAe,eAAeC,oBAAoBA,CAI9CC,OAA4B,EAC5BC,QAAgB,EAChBC,QAA+C,EAC/CC,IAAkD,EAClDC,OAAqC,EACtB;EACf,IAAI,CAACJ,OAAO,EAAE;IACV,MAAM,IAAIK,KAAK,CAAC,oBAAoB,CAAC;EACzC;EAEA,IAAI,EAACL,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEM,MAAM,GAAE;IAClB,MAAM,IAAID,KAAK,CAAC,mBAAmB,CAAC;EACxC;EAEA,MAAME,cAAc,GAAG,MAAMT,0BAA0B,CACnDU,MAAM,CAACC,IAAI,CAACP,QAAQ,CAACQ,QAAQ,CAAC,CAACC,GAAG,CAAEC,GAAG,KAAM;IACzCC,IAAI,EAAED,GAAG;IACTE,IAAI,EAAEZ,QAAQ,CAACQ,QAAQ,CAACE,GAAG,CAAc,CAACE,IAAI;IAC9CC,WAAW,EAAEb,QAAQ,CAACQ,QAAQ,CAACE,GAAG,CAAc,CAACG;EACrD,CAAC,CAAC,CAAC,EACHb,QAAQ,CAACc,OAAO,EAChBd,QAAQ,CAACe,aAAa,EACtBf,QAAQ,CAACgB,WAAW,EACpBhB,QAAQ,CAACiB,OAAO,EAChBjB,QAAQ,CAACkB,WACb,CAAC;EAED,MAAMC,UAAU,GAAGb,MAAM,CAACc,OAAO,CAACnB,IAAiD,CAAC,CAACoB,MAAM,CACvF,CAACC,GAAG,EAAE,CAACZ,GAAG,EAAEa,KAAK,CAAC,KAAK;IACnBD,GAAG,CAACZ,GAAG,CAAC,GAAGa,KAAK,IAAI,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EACD,CAAC,CACL,CAAC;EAED,MAAME,QAAQ,GAAG,MAAMnB,cAAc,CAACoB,cAAc,CAACN,UAAU,CAAC;EAEhE,MAAMO,KAAK,GAAG5B,OAAO,CAACM,MAAM,CACxBL,QAAQ,EACR4B,SAAS,EACT;IACID,KAAK,EAAExB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEwB,KAAK;IACrBE,WAAW,EAAE1B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE0B,WAAW;IACjCC,eAAe,EAAE3B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE2B,eAAe;IACzCC,OAAO,EAAE5B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE4B;EACtB,CACJ,CAAC;EAED,MAAM;IAAEC;EAAO,CAAC,GAAG,MAAMtC,YAAY,CAAC;IAClCiC,KAAK;IACLF,QAAQ;IACRI,WAAW,EAAE1B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE0B,WAAW;IACjCI,UAAU,EAAE9B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8B,UAAU;IAC/BD,MAAM,EAAEpC,QAAQ,CAACsC,MAAM,CAAC;MACpBC,MAAM,EAAElC,QAAQ,CAACmC;IACrB,CAAC;EACL,CAAC,CAAC;EAEF,OAAOJ,MAAM;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["generateText","zodToJsonSchema","zodToJsonSchemaRaw","createShouldMustTemplate","schema","tryParseJson","text","value","JSON","parse","raw","extractJsonCandidate","objectStart","indexOf","objectEnd","lastIndexOf","slice","arrayStart","arrayEnd","parseJsonFromText","_tryParseJson","lines","replace","split","startLine","i","length","line","test","Error","endLine","blockLines","innerLines","join","genStructuredOutputs","context","taskName","template","args","options","getLLM","inputDefs","Object","keys","inputDef","map","key","name","type","description","promptArgs","entries","reduce","acc","outputSchemaJson","stringify","outputSchema","e","message","String","mustSection","push","no","title","content","promptTemplate","summary","shouldSection","example","partialVars","model","temperature","reasoningEffort","verbosityLevel","timeout","maxParseRetries","maxRetries","buildCorrectionPrompt","errorMessage","lastErrorMessage","attempt","messages","formatMessages","Math","max","undefined","parsed","error","parsedResult","safeParse","success","data","role"],"sourceRoot":"../../../src","sources":["controllers/genStructuredOutputs.ts"],"mappings":"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","ignoreList":[]}
@@ -28,7 +28,12 @@ async function resolvePartialVars(partialVars) {
28
28
  return Object.fromEntries(entries);
29
29
  }
30
30
  function replaceTemplateVariables(template, values) {
31
- return template.replace(getVariableRegex(), (_, variable) => values[variable] ?? "");
31
+ return template.replace(getVariableRegex(), (_, variable) => {
32
+ if (Object.prototype.hasOwnProperty.call(values, variable)) {
33
+ return values[variable] ?? "";
34
+ }
35
+ return `[${variable}](#${variable})`;
36
+ });
32
37
  }
33
38
  export default async function createShouldMustTemplate(inputDef, summary, shouldSection, mustSection, example, partialVars) {
34
39
  const shouldSectionPrompt = (() => {
@@ -56,49 +61,41 @@ export default async function createShouldMustTemplate(inputDef, summary, should
56
61
  const exampleSectionBody = example.map(elem => `## (c${elem.no}) ${elem.title}\n${elem.content}`).join("\n\n");
57
62
  return `# Example\n\n${exampleSectionBody}`;
58
63
  })();
59
- const allSectionContent = [(shouldSection === null || shouldSection === void 0 ? void 0 : shouldSection.map(s => s.content || "").join(" ")) || "", (mustSection === null || mustSection === void 0 ? void 0 : mustSection.map(s => s.content || "").join(" ")) || "", (example === null || example === void 0 ? void 0 : example.map(s => s.content || "").join(" ")) || "", summary].join(" ");
60
- const usedVariables = extractVariables(allSectionContent);
61
- const definedInputVariables = inputDef.map(elem => elem.name);
62
- const definedPartialVariables = Object.keys(partialVars || {});
63
- const definedVariables = [...definedInputVariables, ...definedPartialVariables, "outputFormat"];
64
- const undefinedVariables = usedVariables.filter(variable => !definedVariables.includes(variable));
65
- if (undefinedVariables.length > 0) {
66
- console.warn(`[ShouldMustTemplate] Warning: Found ${undefinedVariables.length} undefined variable(s) in template sections: [${undefinedVariables.join(", ")}]. These variables have been automatically added to the template.`);
67
- }
68
- const autoGeneratedVariablesSection = undefinedVariables.length > 0 ? `\n\n# Auto-Generated Variables\n\n${undefinedVariables.map(variable => `## ${variable}\n{${variable}}`).join("\n\n")}` : "";
69
64
  const systemPrompt = [summary, shouldSectionPrompt, mustSectionPrompt, exampleSectionPrompt].filter(Boolean).join("\n\n");
70
- const stringInputPromptTemplate = inputDef.filter(elem => elem.type === "string").map(elem => `# ${elem.name}${elem.description ? `\n${elem.description}` : ""}\n{${elem.name}}`).join("\n\n");
71
- const imageInputDefs = inputDef.filter(elem => elem.type === "imageDataURL");
72
- const systemTemplate = [systemPrompt, "{outputFormat}"].filter(Boolean).join("\n\n").trim();
73
- const userTextTemplate = [stringInputPromptTemplate, autoGeneratedVariablesSection].filter(Boolean).join("\n\n").trim();
65
+ const systemTemplate = [systemPrompt].filter(Boolean).join("\n\n").trim();
74
66
  return {
75
67
  async formatMessages(args) {
76
- const resolvedPartialVars = await resolvePartialVars(partialVars || {});
77
68
  const mergedArgs = Object.entries(args || {}).reduce((acc, [key, value]) => {
78
69
  acc[key] = value ?? "";
79
70
  return acc;
80
71
  }, {});
72
+ const resolvedPartialVars = await resolvePartialVars(partialVars || {});
81
73
  const templateValues = {
82
74
  ...mergedArgs,
83
75
  ...resolvedPartialVars
84
76
  };
85
- undefinedVariables.forEach(variable => {
86
- if (!(variable in templateValues)) {
87
- templateValues[variable] = "";
88
- }
89
- });
77
+
78
+ // Create system message content
90
79
  const systemMessage = {
91
80
  role: "system",
92
81
  content: replaceTemplateVariables(systemTemplate, templateValues)
93
82
  };
94
- const userText = replaceTemplateVariables(userTextTemplate, templateValues);
83
+
84
+ // Create user message content
95
85
  const userContentParts = [];
96
- if (userText.trim().length > 0) {
86
+ const argsText = inputDef.filter(elem => elem.type === "string").map(elem => `# ${elem.name}${elem.description ? `\n${elem.description}` : ""}
87
+ ${templateValues === null || templateValues === void 0 ? void 0 : templateValues[elem.name]}
88
+ `).join("\n\n");
89
+ const partialVarsText = Object.entries(resolvedPartialVars).map(([key, value]) => `# ${key}
90
+ ${value}
91
+ `).join("\n\n");
92
+ if (argsText.trim().length > 0 || partialVarsText.trim().length > 0) {
97
93
  userContentParts.push({
98
94
  type: "text",
99
- text: userText
95
+ text: argsText + "\n\n" + partialVarsText
100
96
  });
101
97
  }
98
+ const imageInputDefs = inputDef.filter(elem => elem.type === "imageDataURL");
102
99
  imageInputDefs.forEach(elem => {
103
100
  const imageValue = templateValues[elem.name];
104
101
  if (imageValue && imageValue.trim().length > 0) {
@@ -1 +1 @@
1
- {"version":3,"names":["getVariableRegex","RegExp","extractVariables","content","variableRegex","variables","match","exec","includes","push","resolvePartialVars","partialVars","entries","Promise","all","Object","map","key","value","result","fromEntries","replaceTemplateVariables","template","values","replace","_","variable","createShouldMustTemplate","inputDef","summary","shouldSection","mustSection","example","shouldSectionPrompt","length","shouldSectionCount","shouldSectionHeader","shouldSectionBody","elem","baseBody","no","title","join","mustSectionPrompt","mustSectionCount","mustSectionHeader","mustSectionBody","exampleSectionPrompt","exampleSectionBody","allSectionContent","s","usedVariables","definedInputVariables","name","definedPartialVariables","keys","definedVariables","undefinedVariables","filter","console","warn","autoGeneratedVariablesSection","systemPrompt","Boolean","stringInputPromptTemplate","type","description","imageInputDefs","systemTemplate","trim","userTextTemplate","formatMessages","args","resolvedPartialVars","mergedArgs","reduce","acc","templateValues","forEach","systemMessage","role","userText","userContentParts","text","imageValue","image","userMessage"],"sourceRoot":"../../../src","sources":["templates/ShouldMustTemplate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getVariableRegex","RegExp","extractVariables","content","variableRegex","variables","match","exec","includes","push","resolvePartialVars","partialVars","entries","Promise","all","Object","map","key","value","result","fromEntries","replaceTemplateVariables","template","values","replace","_","variable","prototype","hasOwnProperty","call","createShouldMustTemplate","inputDef","summary","shouldSection","mustSection","example","shouldSectionPrompt","length","shouldSectionCount","shouldSectionHeader","shouldSectionBody","elem","baseBody","no","title","join","mustSectionPrompt","mustSectionCount","mustSectionHeader","mustSectionBody","exampleSectionPrompt","exampleSectionBody","systemPrompt","filter","Boolean","systemTemplate","trim","formatMessages","args","mergedArgs","reduce","acc","resolvedPartialVars","templateValues","systemMessage","role","userContentParts","argsText","type","name","description","partialVarsText","text","imageInputDefs","forEach","imageValue","image","userMessage"],"sourceRoot":"../../../src","sources":["templates/ShouldMustTemplate.ts"],"mappings":"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","ignoreList":[]}
@@ -69,7 +69,7 @@ export const ModelNameAlias = {
69
69
  },
70
70
  // gpt-5.1
71
71
  "gpt-5.1-chat": {
72
- model: "gpt-5.1-chat-latest",
72
+ model: "gpt-5.1-chat",
73
73
  vendor: {
74
74
  type: "openai"
75
75
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ModelNameAlias","model","vendor","type"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"AA4DA,OAAO,MAAMA,cAA0D,GAAG;EACtE;EACA,gBAAgB,EAAE;IACd,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,eAAe,EAAE;IACb,OAAO,EAAE,wBAAwB;IACjC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EAED;EACA,QAAQ,EAAE;IACNC,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,aAAa,EAAE;IACXF,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,qBAAqB;IAC5BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,cAAc,EAAE;IACZF,KAAK,EAAE,qBAAqB;IAC5BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,sBAAsB;IAC7BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,wBAAwB;IAC/BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,kBAAkB,EAAE;IAChBF,KAAK,EAAE,kBAAkB;IACzBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,uBAAuB,EAAE;IACrBF,KAAK,EAAE,uBAAuB;IAC9BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,gBAAgB;IACvBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B;AACJ,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["ModelNameAlias","model","vendor","type"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"AA4DA,OAAO,MAAMA,cAA0D,GAAG;EACtE;EACA,gBAAgB,EAAE;IACd,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,eAAe,EAAE;IACb,OAAO,EAAE,wBAAwB;IACjC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,mBAAmB,EAAE;IACjB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,kBAAkB,EAAE;IAChB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EACD,iBAAiB,EAAE;IACf,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;MAAE,MAAM,EAAE;IAAY;EACpC,CAAC;EAED;EACA,QAAQ,EAAE;IACNC,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,aAAa,EAAE;IACXF,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,cAAc;IACrBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,SAAS,EAAE;IACPF,KAAK,EAAE,SAAS;IAChBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,cAAc,EAAE;IACZF,KAAK,EAAE,qBAAqB;IAC5BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EAED;EACA,cAAc,EAAE;IACZF,KAAK,EAAE,sBAAsB;IAC7BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,wBAAwB;IAC/BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,kBAAkB,EAAE;IAChBF,KAAK,EAAE,kBAAkB;IACzBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,uBAAuB,EAAE;IACrBF,KAAK,EAAE,uBAAuB;IAC9BC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B,CAAC;EACD,gBAAgB,EAAE;IACdF,KAAK,EAAE,gBAAgB;IACvBC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAS;EAC7B;AACJ,CAAU","ignoreList":[]}
@@ -1,17 +1,87 @@
1
1
  import { wrapLanguageModel } from "ai";
2
+ import { ModelNameAlias } from "../types";
2
3
  import { openai } from "@ai-sdk/openai";
3
4
  import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
4
5
  import { anthropic, createAnthropic } from "@ai-sdk/anthropic";
5
6
  import { google, createGoogleGenerativeAI } from "@ai-sdk/google";
6
7
  import { azure, createAzure } from "@ai-sdk/azure";
8
+ const REVPROXY_JSON_INSTRUCTION = "Return a valid JSON object only. Do not include any extra text.";
9
+ const isRevproxyEnabled = () => Boolean(process.env.JELIQ_LLM_REVPROXY_KEY && process.env.JELIQ_LLM_REVPROXY_CONTAINER_ID && process.env.JELIQ_LLM_REVPROXY_ENDPOINT);
10
+ const addJsonInstructionToPrompt = prompt => {
11
+ if (!Array.isArray(prompt) || prompt.length === 0) {
12
+ return prompt;
13
+ }
14
+ const hasInstruction = prompt.some(message => (message === null || message === void 0 ? void 0 : message.role) === "system" && typeof message.content === "string" && message.content.includes(REVPROXY_JSON_INSTRUCTION));
15
+ if (hasInstruction) {
16
+ return prompt;
17
+ }
18
+ const instructionMessage = {
19
+ role: "system",
20
+ content: REVPROXY_JSON_INSTRUCTION
21
+ };
22
+ const insertIndex = prompt.findIndex(message => (message === null || message === void 0 ? void 0 : message.role) !== "system");
23
+ if (insertIndex === -1) {
24
+ return [...prompt, instructionMessage];
25
+ }
26
+ return [...prompt.slice(0, insertIndex), instructionMessage, ...prompt.slice(insertIndex)];
27
+ };
28
+ const normalizeJsonContent = content => {
29
+ if (!Array.isArray(content)) {
30
+ return content;
31
+ }
32
+ let text = "";
33
+ for (const part of content) {
34
+ if ((part === null || part === void 0 ? void 0 : part.type) === "text" && typeof part.text === "string") {
35
+ text += part.text;
36
+ }
37
+ }
38
+ if (!text) {
39
+ return content;
40
+ }
41
+ let parsed;
42
+ try {
43
+ parsed = JSON.parse(text);
44
+ } catch {
45
+ return content;
46
+ }
47
+ const normalizedText = JSON.stringify(parsed);
48
+ let inserted = false;
49
+ return content.flatMap(part => {
50
+ if ((part === null || part === void 0 ? void 0 : part.type) !== "text" || typeof part.text !== "string") {
51
+ return [part];
52
+ }
53
+ if (inserted) {
54
+ return [];
55
+ }
56
+ inserted = true;
57
+ return [{
58
+ ...part,
59
+ text: normalizedText
60
+ }];
61
+ });
62
+ };
7
63
  function createProviderModel(vendor, modelName) {
8
- if (process.env.JELIQ_LLM_REVPROXY_KEY && process.env.JELIQ_LLM_REVPROXY_ENDPOINT) {
64
+ var _ModelNameAlias;
65
+ const actualModelName = (ModelNameAlias === null || ModelNameAlias === void 0 || (_ModelNameAlias = ModelNameAlias[modelName]) === null || _ModelNameAlias === void 0 ? void 0 : _ModelNameAlias.model) || modelName;
66
+ if (isRevproxyEnabled()) {
9
67
  const provider = createOpenAICompatible({
10
68
  name: "jeliq-llm-revproxy",
11
- apiKey: process.env.JELIQ_LLM_REVPROXY_KEY,
12
- baseURL: process.env.JELIQ_LLM_REVPROXY_ENDPOINT
69
+ apiKey: process.env.JELIQ_LLM_REVPROXY_KEY || "",
70
+ baseURL: process.env.JELIQ_LLM_REVPROXY_ENDPOINT || "",
71
+ headers: {
72
+ 'X-Container-ID': process.env.JELIQ_LLM_REVPROXY_CONTAINER_ID || ""
73
+ }
74
+ // supportsStructuredOutputs: true,
75
+ /*
76
+ fetch: async (input, init) => {
77
+ if (init?.body) {
78
+ console.log("REQUEST BODY:", init.body.toString());
79
+ }
80
+ return fetch(input, init);
81
+ },
82
+ */
13
83
  });
14
- return provider(modelName);
84
+ return provider(actualModelName);
15
85
  }
16
86
  if (vendor.type === "anthropic") {
17
87
  const provider = vendor.apiKey || vendor.endpoint ? createAnthropic({
@@ -20,7 +90,7 @@ function createProviderModel(vendor, modelName) {
20
90
  baseURL: vendor.endpoint
21
91
  } : {})
22
92
  }) : anthropic;
23
- return provider(modelName);
93
+ return provider(actualModelName);
24
94
  }
25
95
  if (vendor.type === "google") {
26
96
  const provider = vendor.apiKey || vendor.endpoint ? createGoogleGenerativeAI({
@@ -29,7 +99,7 @@ function createProviderModel(vendor, modelName) {
29
99
  baseURL: vendor.endpoint
30
100
  } : {})
31
101
  }) : google;
32
- return provider(modelName);
102
+ return provider(actualModelName);
33
103
  }
34
104
  if (vendor.type === "azure") {
35
105
  const provider = vendor.apiKey || vendor.instanceName ? createAzure({
@@ -40,9 +110,9 @@ function createProviderModel(vendor, modelName) {
40
110
  apiVersion: vendor.apiVersion,
41
111
  useDeploymentBasedUrls: true
42
112
  }) : azure;
43
- return provider(vendor.deploymentName || modelName);
113
+ return provider(vendor.deploymentName || actualModelName);
44
114
  }
45
- return openai(modelName);
115
+ return openai(actualModelName);
46
116
  }
47
117
  export default function createGetLLM(tasksModelsMap, defaultModel) {
48
118
  function getModelAndTemperature(taskName) {
@@ -68,6 +138,7 @@ export default function createGetLLM(tasksModelsMap, defaultModel) {
68
138
  const actualReasoningEffort = (options === null || options === void 0 ? void 0 : options.reasoningEffort) !== undefined ? options.reasoningEffort : reasoningEffort;
69
139
  const actualVerbosityLevel = (options === null || options === void 0 ? void 0 : options.verbosityLevel) !== undefined ? options.verbosityLevel : verbosityLevel;
70
140
  const actualTimeout = (options === null || options === void 0 ? void 0 : options.timeout) !== undefined ? options.timeout : timeout !== undefined ? timeout : undefined;
141
+ const usesRevproxy = isRevproxyEnabled();
71
142
  const model = createProviderModel(resolvedVendor, actualModelName);
72
143
 
73
144
  // 直前に CallOptions を変形するミドルウェア
@@ -1 +1 @@
1
- {"version":3,"names":["wrapLanguageModel","openai","createOpenAICompatible","anthropic","createAnthropic","google","createGoogleGenerativeAI","azure","createAzure","createProviderModel","vendor","modelName","process","env","JELIQ_LLM_REVPROXY_KEY","JELIQ_LLM_REVPROXY_ENDPOINT","provider","name","apiKey","baseURL","type","endpoint","instanceName","resourceName","apiVersion","useDeploymentBasedUrls","deploymentName","createGetLLM","tasksModelsMap","defaultModel","getModelAndTemperature","taskName","model","Error","reasoningEffort","undefined","verbosityLevel","temperature","timeout","getLLM","options","_loggingInfo","resolvedVendor","actualModelName","actualTemperature","actualReasoningEffort","actualVerbosityLevel","actualTimeout","mutateCallOptionsMiddleware","specificationVersion","transformParams","params","_next$providerOptions","next","Math","min","max","providerOptions","textVerbosity","middleware"],"sourceRoot":"../../../src","sources":["utils/createGetLLM.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["wrapLanguageModel","ModelNameAlias","openai","createOpenAICompatible","anthropic","createAnthropic","google","createGoogleGenerativeAI","azure","createAzure","REVPROXY_JSON_INSTRUCTION","isRevproxyEnabled","Boolean","process","env","JELIQ_LLM_REVPROXY_KEY","JELIQ_LLM_REVPROXY_CONTAINER_ID","JELIQ_LLM_REVPROXY_ENDPOINT","addJsonInstructionToPrompt","prompt","Array","isArray","length","hasInstruction","some","message","role","content","includes","instructionMessage","insertIndex","findIndex","slice","normalizeJsonContent","text","part","type","parsed","JSON","parse","normalizedText","stringify","inserted","flatMap","createProviderModel","vendor","modelName","_ModelNameAlias","actualModelName","model","provider","name","apiKey","baseURL","headers","endpoint","instanceName","resourceName","apiVersion","useDeploymentBasedUrls","deploymentName","createGetLLM","tasksModelsMap","defaultModel","getModelAndTemperature","taskName","Error","reasoningEffort","undefined","verbosityLevel","temperature","timeout","getLLM","options","_loggingInfo","resolvedVendor","actualTemperature","actualReasoningEffort","actualVerbosityLevel","actualTimeout","usesRevproxy","mutateCallOptionsMiddleware","specificationVersion","transformParams","params","_next$providerOptions","next","Math","min","max","providerOptions","textVerbosity","middleware"],"sourceRoot":"../../../src","sources":["utils/createGetLLM.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { BackendContext } from "@jeliq/app-sdk-core";
2
2
  import { ZodSchema } from "zod";
3
- import { InputDefObj, PromptElement } from "../types";
3
+ import { InputDefObj, PromptElement, REASONING_EFFORT, VERBOSITY_LEVEL } from "../types";
4
4
  type StructuredTemplate<InputKeys extends string | number | symbol, Output> = {
5
5
  type: "ShouldMust";
6
6
  inputDef: InputDefObj<InputKeys>;
@@ -14,7 +14,8 @@ type StructuredTemplate<InputKeys extends string | number | symbol, Output> = {
14
14
  export type GenStructuredOutputsOptions = {
15
15
  model?: string;
16
16
  temperature?: number;
17
- reasoningEffort?: "low" | "medium" | "high";
17
+ reasoningEffort?: REASONING_EFFORT;
18
+ verbosityLevel?: VERBOSITY_LEVEL;
18
19
  timeout?: number;
19
20
  maxRetries?: number;
20
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"genStructuredOutputs.d.ts","sourceRoot":"","sources":["../../../../src/controllers/genStructuredOutputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,KAAK,kBAAkB,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI;IAC1E,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;CACnF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAA8B,oBAAoB,CAC9C,SAAS,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC1C,MAAM,EAEN,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,EAC/C,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAClD,OAAO,CAAC,EAAE,2BAA2B,GACtC,OAAO,CAAC,MAAM,CAAC,CAsDjB"}
1
+ {"version":3,"file":"genStructuredOutputs.d.ts","sourceRoot":"","sources":["../../../../src/controllers/genStructuredOutputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEzF,KAAK,kBAAkB,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI;IAC1E,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;CACnF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAoEF,wBAA8B,oBAAoB,CAC9C,SAAS,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC1C,MAAM,EAEN,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,EAC/C,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAClD,OAAO,CAAC,EAAE,2BAA2B,GACtC,OAAO,CAAC,MAAM,CAAC,CAkIjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ShouldMustTemplate.d.ts","sourceRoot":"","sources":["../../../../src/templates/ShouldMustTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,kBAAkB,EAAY,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnD,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAE9D,KAAK,aAAa,GAAG,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC;AAElE,KAAK,wBAAwB,GAAG;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAClE,CAAC;AA0CF,wBAA8B,wBAAwB,CAClD,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,EAAE,EAC/B,WAAW,CAAC,EAAE,aAAa,EAAE,EAC7B,OAAO,CAAC,EAAE,aAAa,EAAE,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,GAChF,OAAO,CAAC,wBAAwB,CAAC,CAiJnC"}
1
+ {"version":3,"file":"ShouldMustTemplate.d.ts","sourceRoot":"","sources":["../../../../src/templates/ShouldMustTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,kBAAkB,EAAY,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnD,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAE9D,KAAK,aAAa,GAAG,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC;AAElE,KAAK,wBAAwB,GAAG;IAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAClE,CAAC;AA+CF,wBAA8B,wBAAwB,CAClD,QAAQ,EAAE,QAAQ,EAAE,EACpB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,EAAE,EAC/B,WAAW,CAAC,EAAE,aAAa,EAAE,EAC7B,OAAO,CAAC,EAAE,aAAa,EAAE,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,GAChF,OAAO,CAAC,wBAAwB,CAAC,CAmHnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createGetLLM.d.ts","sourceRoot":"","sources":["../../../../src/utils/createGetLLM.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,MAAM,EAAE,UAAU,EAAqC,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAqD/G,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,SAAS,SAAS,MAAM,EAAE,SAAS,SAAS,gBAAgB,EAC7F,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EACxD,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,GACpC,MAAM,CAAC,SAAS,CAAC,CAmGnB"}
1
+ {"version":3,"file":"createGetLLM.d.ts","sourceRoot":"","sources":["../../../../src/utils/createGetLLM.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,MAAM,EAAE,UAAU,EAAqC,gBAAgB,EAA6B,MAAM,UAAU,CAAC;AAqJ1I,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,SAAS,SAAS,MAAM,EAAE,SAAS,SAAS,gBAAgB,EAC7F,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EACxD,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,GACpC,MAAM,CAAC,SAAS,CAAC,CAqGnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jeliq/app-sdk-llm",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "homepage": "https://jeliq.ai/",
5
5
  "author": "Jeliq.ai",
6
6
  "license": "MIT",
@@ -24,7 +24,8 @@
24
24
  "@ai-sdk/openai-compatible": "^2.0.4",
25
25
  "ai": "^6.0.11",
26
26
  "lodash": "^4.17.21",
27
- "ts-node": "^10.9.2"
27
+ "ts-node": "^10.9.2",
28
+ "zod-to-json-schema": "^3.25.0"
28
29
  },
29
30
  "devDependencies": {
30
31
  "@types/jest": "^30.0.0",