@mozaik-ai/core 2.4.1 → 2.4.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.
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +29 -27
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +29 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -125,7 +125,7 @@ declare abstract class Capability {
|
|
|
125
125
|
|
|
126
126
|
interface GenerativeModel<Id extends string> {
|
|
127
127
|
readonly id: Id;
|
|
128
|
-
capabilities: Capability[];
|
|
128
|
+
readonly capabilities: Capability[];
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
declare class FunctionCallOutput extends ContextItem {
|
|
@@ -150,6 +150,7 @@ interface ContextRepository {
|
|
|
150
150
|
declare class InferenceRequest {
|
|
151
151
|
readonly model: GenerativeModel<string>;
|
|
152
152
|
readonly context: Context;
|
|
153
|
+
providerRequest: Record<string, unknown>;
|
|
153
154
|
constructor(model: GenerativeModel<string>, context: Context);
|
|
154
155
|
}
|
|
155
156
|
|
package/dist/index.d.ts
CHANGED
|
@@ -125,7 +125,7 @@ declare abstract class Capability {
|
|
|
125
125
|
|
|
126
126
|
interface GenerativeModel<Id extends string> {
|
|
127
127
|
readonly id: Id;
|
|
128
|
-
capabilities: Capability[];
|
|
128
|
+
readonly capabilities: Capability[];
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
declare class FunctionCallOutput extends ContextItem {
|
|
@@ -150,6 +150,7 @@ interface ContextRepository {
|
|
|
150
150
|
declare class InferenceRequest {
|
|
151
151
|
readonly model: GenerativeModel<string>;
|
|
152
152
|
readonly context: Context;
|
|
153
|
+
providerRequest: Record<string, unknown>;
|
|
153
154
|
constructor(model: GenerativeModel<string>, context: Context);
|
|
154
155
|
}
|
|
155
156
|
|
package/dist/index.js
CHANGED
|
@@ -273,7 +273,18 @@ var FunctionCallOutput = class _FunctionCallOutput extends ContextItem {
|
|
|
273
273
|
}
|
|
274
274
|
};
|
|
275
275
|
|
|
276
|
-
// src/core/context-engine/condition/
|
|
276
|
+
// src/core/context-engine/condition/condition.ts
|
|
277
|
+
var BaseCondition = class {
|
|
278
|
+
and(other) {
|
|
279
|
+
return new AndCondition(this, other);
|
|
280
|
+
}
|
|
281
|
+
or(other) {
|
|
282
|
+
return new OrCondition(this, other);
|
|
283
|
+
}
|
|
284
|
+
not() {
|
|
285
|
+
return new NotCondition(this);
|
|
286
|
+
}
|
|
287
|
+
};
|
|
277
288
|
var AndCondition = class extends BaseCondition {
|
|
278
289
|
constructor(left, right) {
|
|
279
290
|
super();
|
|
@@ -284,8 +295,6 @@ var AndCondition = class extends BaseCondition {
|
|
|
284
295
|
return this.left.isSatisfiedBy(candidate) && this.right.isSatisfiedBy(candidate);
|
|
285
296
|
}
|
|
286
297
|
};
|
|
287
|
-
|
|
288
|
-
// src/core/context-engine/condition/not-condition.ts
|
|
289
298
|
var NotCondition = class extends BaseCondition {
|
|
290
299
|
constructor(condition) {
|
|
291
300
|
super();
|
|
@@ -295,8 +304,6 @@ var NotCondition = class extends BaseCondition {
|
|
|
295
304
|
return !this.condition.isSatisfiedBy(candidate);
|
|
296
305
|
}
|
|
297
306
|
};
|
|
298
|
-
|
|
299
|
-
// src/core/context-engine/condition/or-condition.ts
|
|
300
307
|
var OrCondition = class extends BaseCondition {
|
|
301
308
|
constructor(left, right) {
|
|
302
309
|
super();
|
|
@@ -308,19 +315,6 @@ var OrCondition = class extends BaseCondition {
|
|
|
308
315
|
}
|
|
309
316
|
};
|
|
310
317
|
|
|
311
|
-
// src/core/context-engine/condition/base-condition.ts
|
|
312
|
-
var BaseCondition = class {
|
|
313
|
-
and(other) {
|
|
314
|
-
return new AndCondition(this, other);
|
|
315
|
-
}
|
|
316
|
-
or(other) {
|
|
317
|
-
return new OrCondition(this, other);
|
|
318
|
-
}
|
|
319
|
-
not() {
|
|
320
|
-
return new NotCondition(this);
|
|
321
|
-
}
|
|
322
|
-
};
|
|
323
|
-
|
|
324
318
|
// src/core/context-engine/rule/rule.ts
|
|
325
319
|
var Rule = class {
|
|
326
320
|
constructor({ when, then }) {
|
|
@@ -331,7 +325,7 @@ var Rule = class {
|
|
|
331
325
|
if (this.condition.isSatisfiedBy(candidate)) {
|
|
332
326
|
return this.action.apply(candidate);
|
|
333
327
|
}
|
|
334
|
-
|
|
328
|
+
return candidate;
|
|
335
329
|
}
|
|
336
330
|
};
|
|
337
331
|
|
|
@@ -364,18 +358,26 @@ var ReasoningEffortSupported = class extends BaseCondition {
|
|
|
364
358
|
return candidate.model.capabilities.some((capability) => capability instanceof ReasoningEffort);
|
|
365
359
|
}
|
|
366
360
|
};
|
|
367
|
-
var
|
|
361
|
+
var SetReasoningEffort = class {
|
|
368
362
|
apply(candidate) {
|
|
369
|
-
const reasoningCapability = candidate.model.capabilities.find(
|
|
363
|
+
const reasoningCapability = candidate.model.capabilities.find(
|
|
364
|
+
(capability) => capability instanceof ReasoningEffort
|
|
365
|
+
);
|
|
370
366
|
if (reasoningCapability) {
|
|
371
|
-
|
|
367
|
+
const providerRequest = candidate.providerRequest;
|
|
368
|
+
candidate.providerRequest = {
|
|
369
|
+
...providerRequest,
|
|
370
|
+
reasoning: {
|
|
371
|
+
effort: reasoningCapability.getReasoningEffort()
|
|
372
|
+
}
|
|
373
|
+
};
|
|
372
374
|
}
|
|
373
|
-
|
|
375
|
+
return candidate;
|
|
374
376
|
}
|
|
375
377
|
};
|
|
376
378
|
var reasoningEffortRule = new Rule({
|
|
377
379
|
when: new ReasoningEffortSupported(),
|
|
378
|
-
then: new
|
|
380
|
+
then: new SetReasoningEffort()
|
|
379
381
|
});
|
|
380
382
|
|
|
381
383
|
// src/providers/openai/runtime/openai-responses.ts
|
|
@@ -386,12 +388,11 @@ var OpenAIResponses = class {
|
|
|
386
388
|
}
|
|
387
389
|
async infer(inferenceRequest) {
|
|
388
390
|
const input = this.mapContextToRequest(inferenceRequest.context);
|
|
391
|
+
reasoningEffortRule.apply(inferenceRequest);
|
|
389
392
|
const response = await this.client.responses.create({
|
|
390
393
|
model: inferenceRequest.model.id,
|
|
391
394
|
input,
|
|
392
|
-
|
|
393
|
-
effort: reasoningEffortRule.apply(inferenceRequest)
|
|
394
|
-
}
|
|
395
|
+
...inferenceRequest.providerRequest
|
|
395
396
|
});
|
|
396
397
|
return this.extractContextItems(response);
|
|
397
398
|
}
|
|
@@ -428,6 +429,7 @@ var InferenceRequest = class {
|
|
|
428
429
|
constructor(model, context) {
|
|
429
430
|
this.model = model;
|
|
430
431
|
this.context = context;
|
|
432
|
+
this.providerRequest = {};
|
|
431
433
|
}
|
|
432
434
|
};
|
|
433
435
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/core/context-runtime/context.ts","../src/core/context-runtime/context-item.ts","../src/core/context-runtime/content.ts","../src/core/context-runtime/content/input-text.ts","../src/core/context-runtime/input/user-message.ts","../src/core/context-runtime/input/developer-message.ts","../src/core/context-runtime/content/output-text.ts","../src/core/context-runtime/output/model-message.ts","../src/core/context-runtime/output/function-call.ts","../src/core/context-runtime/output/reasoning.ts","../src/core/context-runtime/input/function-call-output.ts","../src/core/context-engine/condition/and-condition.ts","../src/core/context-engine/condition/not-condition.ts","../src/core/context-engine/condition/or-condition.ts","../src/core/context-engine/condition/base-condition.ts","../src/core/context-engine/rule/rule.ts","../src/core/generative-model/capabilities/capability.ts","../src/core/generative-model/capabilities/reasoning-effort.ts","../src/providers/openai/rules/reasoning-effort.ts","../src/providers/openai/runtime/openai-responses.ts","../src/providers/openai/models/gpt-5-4.ts","../src/core/generative-model/inference-request.ts"],"sourcesContent":["import { Context } from \"@core/context-runtime/context\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\nimport { UserMessage } from \"@core/context-runtime/input/user-message\"\nimport { DeveloperMessage } from \"@core/context-runtime/input/developer-message\"\nimport { ModelMessage } from \"@core/context-runtime/output/model-message\"\nimport { FunctionCall } from \"@core/context-runtime/output/function-call\"\nimport { Reasoning } from \"@core/context-runtime/output/reasoning\"\nimport { GenerativeModel } from \"@core/generative-model/generative-model\"\nimport { FunctionCallOutput } from \"@core/context-runtime/input/function-call-output\"\nimport { ContextRepository } from \"@core/context-runtime/context-repository\"\nimport { OpenAIResponses } from \"@openai/runtime/openai-responses\"\nimport { gpt54 } from \"@openai/models/gpt-5-4\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\n\nexport {\n\tContext,\n\tContextItem,\n\tUserMessage,\n\tDeveloperMessage,\n\tModelMessage,\n\tFunctionCall,\n\tFunctionCallOutput,\n\tReasoning,\n\tGenerativeModel,\n\tContextRepository,\n\tOpenAIResponses,\n\tgpt54,\n\tInferenceRequest,\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Context {\n\treadonly id: string\n\treadonly projectId: string\n\treadonly items: ContextItem[]\n\n\tconstructor(id: string, projectId: string, items: ContextItem[]) {\n\t\tthis.projectId = projectId\n\t\tthis.id = id\n\t\tthis.items = items\n\t}\n\n\taddItem(item: ContextItem): Context {\n\t\tthis.items.push(item)\n\t\treturn this\n\t}\n\n\tapplyModelOutput(items: ContextItem[]): Context {\n\t\tfor (const item of items) {\n\t\t\tconst itemType = item.getType()\n\t\t\tif (itemType !== \"function_call\" && itemType !== \"message\" && itemType !== \"reasoning\") {\n\t\t\t\tthrow new Error(`Invalid item type: ${itemType}`)\n\t\t\t}\n\t\t}\n\t\tthis.items.push(...items)\n\t\treturn this\n\t}\n\n\tgetItems(): ContextItem[] {\n\t\treturn this.items\n\t}\n\n\tstatic create(projectId: string): Context {\n\t\tconst id = crypto.randomUUID()\n\t\treturn new Context(id, projectId, [])\n\t}\n\n\tstatic rehydrate(data: { id: string; projectId: string; items: ContextItem[] }): Context {\n\t\treturn new Context(data.id, data.projectId, data.items)\n\t}\n\n\ttoJSON(): any {\n\t\treturn this.items.map((item) => item.toJSON())\n\t}\n}\n","export abstract class ContextItem {\n\tabstract readonly type: string\n\n\tgetType(): string {\n\t\treturn this.type\n\t}\n\n\tabstract toJSON(): any\n}\n","export abstract class Content {\n\tabstract readonly type: string\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class InputText extends Content {\n\treadonly type = \"input_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic create(text: string): InputText {\n\t\treturn new InputText(text)\n\t}\n\n\tstatic rehydrate(data: { text: string }): InputText {\n\t\treturn new InputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class UserMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"user\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic create(text: string): UserMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new UserMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): UserMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new UserMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class DeveloperMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"developer\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n\n\tstatic create(text: string): DeveloperMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new DeveloperMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): DeveloperMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new DeveloperMessage(content)\n\t}\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class OutputText extends Content {\n\treadonly type = \"output_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic rehydrate(data: { text: string }): OutputText {\n\t\treturn new OutputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { OutputText } from \"@core/context-runtime/content/output-text\"\n\nexport class ModelMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"assistant\"\n\treadonly content: OutputText\n\n\tprivate constructor(content: OutputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic rehydrate(data: { text: string }): ModelMessage {\n\t\tconst content = OutputText.rehydrate(data)\n\t\treturn new ModelMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class FunctionCall extends ContextItem {\n\treadonly type = \"function_call\"\n\treadonly callId: string\n\treadonly name: string\n\treadonly args: string\n\n\tprivate constructor(callId: string, name: string, args: string) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.name = name\n\t\tthis.args = args\n\t}\n\n\tstatic rehydrate(data: { callId: string; name: string; args: string }): FunctionCall {\n\t\treturn new FunctionCall(data.callId, data.name, data.args)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\tname: this.name,\n\t\t\targuments: this.args,\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { SummaryText } from \"@core/context-runtime/content/summary-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Reasoning extends ContextItem {\n\treadonly type = \"reasoning\"\n\treadonly content: InputText | undefined\n\treadonly encryptedContent: string | undefined\n\treadonly summary: SummaryText[]\n\n\tprivate constructor(\n\t\tcontent: InputText | undefined,\n\t\tencryptedContent?: string | undefined,\n\t\tsummary: SummaryText[] = [],\n\t) {\n\t\tsuper()\n\t\tthis.content = content\n\t\tthis.encryptedContent = encryptedContent\n\t\tthis.summary = summary\n\t}\n\n\tstatic rehydrate(data: {\n\t\tcontent: InputText | undefined\n\t\tencryptedContent: string | undefined\n\t\tsummary: SummaryText[]\n\t}): Reasoning {\n\t\treturn new Reasoning(data.content, data.encryptedContent, data.summary)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcontent: this.content?.toJSON(),\n\t\t\tencryptedContent: this.encryptedContent,\n\t\t\tsummary: this.summary.map((s) => s.toJSON()),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class FunctionCallOutput extends ContextItem {\n\treadonly type = \"function_call_output\"\n\treadonly callId: string\n\treadonly output: InputText[]\n\n\tprivate constructor(callId: string, output: InputText[]) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.output = output\n\t}\n\n\tstatic create(callId: string, output: InputText[]): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(callId, output)\n\t}\n\n\tstatic rehydrate(data: { callId: string; output: InputText[] }): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(data.callId, data.output)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\toutput: this.output.map((o) => o.toJSON()),\n\t\t}\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\n\nexport class AndCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) && this.right.isSatisfiedBy(candidate)\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\n\nexport class NotCondition<T> extends BaseCondition<T> {\n\tconstructor(private readonly condition: Condition<T>) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn !this.condition.isSatisfiedBy(candidate)\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\n\nexport class OrCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) || this.right.isSatisfiedBy(candidate)\n\t}\n}\n","import { AndCondition } from \"@core/context-engine/condition/and-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\nimport { NotCondition } from \"@core/context-engine/condition/not-condition\"\nimport { OrCondition } from \"@core/context-engine/condition/or-condition\"\n\nexport abstract class BaseCondition<T> implements Condition<T> {\n\tabstract isSatisfiedBy(candidate: T): boolean\n\n\tand(other: Condition<T>): Condition<T> {\n\t\treturn new AndCondition(this, other)\n\t}\n\n\tor(other: Condition<T>): Condition<T> {\n\t\treturn new OrCondition(this, other)\n\t}\n\n\tnot(): Condition<T> {\n\t\treturn new NotCondition(this)\n\t}\n}\n","import { Condition } from \"@core/context-engine/condition/condition\"\n\nexport interface Action<T, R> {\n\tapply(candidate: T): R\n}\n\nexport class Rule<T, R> {\n\tprivate condition: Condition<T>\n\tprivate action: Action<T, R>\n\n\tconstructor({ when, then }: { when: Condition<T>; then: Action<T, R> }) {\n\t\tthis.condition = when\t\n\t\tthis.action = then\n\t}\n\n\tapply(candidate: T): R {\n\t\tif (this.condition.isSatisfiedBy(candidate)) {\n\t\t\treturn this.action.apply(candidate)\n\t\t}\n\t\tthrow new Error(\"Condition not satisfied\")\n\t}\n}\n","export abstract class Capability {\n abstract readonly capability: string\n}","import { Capability } from \"./capability\"\n\nexport class ReasoningEffort<Effort extends string> extends Capability {\n\treadonly capability = \"reasoning-effort\"\n\treadonly supportedEfforts: readonly Effort[]\n\treasoningEffort: Effort\n\n\tconstructor(supportedEfforts: readonly Effort[], defaultEffort: Effort) {\n\t\tsuper()\n\t\tthis.supportedEfforts = supportedEfforts\n\t\tthis.reasoningEffort = defaultEffort\n\t}\n\n\tsetReasoningEffort(effort: Effort): void {\n\t\tif (!this.supportedEfforts.includes(effort)) {\n\t\t\tthrow new Error(`Invalid reasoning effort: ${effort}`)\n\t\t}\n\t\tthis.reasoningEffort = effort;\n\t}\n\n\tgetReasoningEffort(): Effort {\n\t\treturn this.reasoningEffort\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Action, Rule } from \"@core/context-engine/rule/rule\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\n\nexport class ReasoningEffortSupported extends BaseCondition<InferenceRequest> {\n\tisSatisfiedBy(candidate: InferenceRequest): boolean {\n\t\treturn candidate.model.capabilities.some((capability) => capability instanceof ReasoningEffort)\n\t}\n}\n\nexport class GetReasoningEffort implements Action<InferenceRequest, \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"none\"> {\n\tapply(candidate: InferenceRequest): \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"none\" {\n\t\tconst reasoningCapability = candidate.model.capabilities.find((capability) => capability instanceof ReasoningEffort)\n\t\tif (reasoningCapability) {\n\t\t\treturn reasoningCapability.getReasoningEffort()\n\t\t}\n\t\tthrow new Error(\"Reasoning capability not supported\")\n\t}\n}\nexport const reasoningEffortRule = new Rule({\n\twhen: new ReasoningEffortSupported(),\n\tthen: new GetReasoningEffort(),\n})","import { Context } from \"@core/context-runtime/context\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\nimport { FunctionCall } from \"@core/context-runtime/output/function-call\"\nimport { ModelMessage } from \"@core/context-runtime/output/model-message\"\nimport { Reasoning } from \"@core/context-runtime/output/reasoning\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\nimport { ModelRuntime } from \"@core/generative-model/runtime/model-runtime\"\nimport { reasoningEffortRule } from \"@openai/rules/reasoning-effort\"\nimport OpenAI from \"openai\"\n\nexport class OpenAIResponses implements ModelRuntime {\n\tprivate readonly client: OpenAI\n\n\tconstructor() {\n\t\tthis.client = new OpenAI()\n\t}\n\n\tasync infer(inferenceRequest: InferenceRequest): Promise<ContextItem[]> {\n\t\tconst input = this.mapContextToRequest(inferenceRequest.context)\n\t\tconst response = await this.client.responses.create({\n\t\t\tmodel: inferenceRequest.model.id,\n\t\t\tinput: input,\n\t\t\treasoning: {\n\t\t\t\teffort: reasoningEffortRule.apply(inferenceRequest)\n\t\t\t}\n\t\t})\n\t\treturn this.extractContextItems(response)\n\t}\n\n\tmapContextToRequest(context: Context): any[] {\n\t\treturn context.getItems().map((item) => item.toJSON())\n\t}\n\n\textractContextItems(response: any): ContextItem[] {\n\t\treturn response.output.map((item: any) => {\n\t\t\tif (item.type === \"message\" && item.status === \"completed\") {\n\t\t\t\treturn ModelMessage.rehydrate(item.content[0] as { text: string })\n\t\t\t}\n\t\t\tif (item.type === \"function_call\" && item.status === \"completed\") {\n\t\t\t\treturn FunctionCall.rehydrate(item)\n\t\t\t}\n\t\t\tif (item.type === \"reasoning\" && item.status === \"completed\") {\n\t\t\t\treturn Reasoning.rehydrate(item)\n\t\t\t}\n\t\t})\n\t}\n}\n","import { Capability } from \"@core/generative-model/capabilities/capability\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { GenerativeModel } from \"@core/generative-model/generative-model\"\n\nexport const openaiReasoningEffort = new ReasoningEffort<\"xhigh\" | \"high\" | \"medium\" | \"low\" | \"none\">([\"xhigh\", \"high\", \"medium\", \"low\", \"none\"], \"medium\")\n\nexport class GPT54 implements GenerativeModel<\"gpt-5.4\"> {\n\treadonly id = \"gpt-5.4\"\n\treadonly capabilities: Capability[] = [openaiReasoningEffort]\n}\n\nexport const gpt54 = new GPT54()","import { Context } from \"@core/context-runtime/context\"\nimport { GenerativeModel } from \"./generative-model\"\n\nexport class InferenceRequest {\n\treadonly model: GenerativeModel<string>\n\treadonly context: Context\n\n\tconstructor(model: GenerativeModel<string>, context: Context) {\n\t\tthis.model = model\n\t\tthis.context = context\n\t}\n}"],"mappings":"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","names":["OpenAI"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/core/context-runtime/context.ts","../src/core/context-runtime/context-item.ts","../src/core/context-runtime/content.ts","../src/core/context-runtime/content/input-text.ts","../src/core/context-runtime/input/user-message.ts","../src/core/context-runtime/input/developer-message.ts","../src/core/context-runtime/content/output-text.ts","../src/core/context-runtime/output/model-message.ts","../src/core/context-runtime/output/function-call.ts","../src/core/context-runtime/output/reasoning.ts","../src/core/context-runtime/input/function-call-output.ts","../src/core/context-engine/condition/condition.ts","../src/core/context-engine/rule/rule.ts","../src/core/generative-model/capabilities/capability.ts","../src/core/generative-model/capabilities/reasoning-effort.ts","../src/providers/openai/rules/reasoning-effort.ts","../src/providers/openai/runtime/openai-responses.ts","../src/providers/openai/models/gpt-5-4.ts","../src/core/generative-model/inference-request.ts"],"sourcesContent":["import { Context } from \"@core/context-runtime/context\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\nimport { UserMessage } from \"@core/context-runtime/input/user-message\"\nimport { DeveloperMessage } from \"@core/context-runtime/input/developer-message\"\nimport { ModelMessage } from \"@core/context-runtime/output/model-message\"\nimport { FunctionCall } from \"@core/context-runtime/output/function-call\"\nimport { Reasoning } from \"@core/context-runtime/output/reasoning\"\nimport { GenerativeModel } from \"@core/generative-model/generative-model\"\nimport { FunctionCallOutput } from \"@core/context-runtime/input/function-call-output\"\nimport { ContextRepository } from \"@core/context-runtime/context-repository\"\nimport { OpenAIResponses } from \"@openai/runtime/openai-responses\"\nimport { gpt54 } from \"@openai/models/gpt-5-4\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\n\nexport {\n\tContext,\n\tContextItem,\n\tUserMessage,\n\tDeveloperMessage,\n\tModelMessage,\n\tFunctionCall,\n\tFunctionCallOutput,\n\tReasoning,\n\tGenerativeModel,\n\tContextRepository,\n\tOpenAIResponses,\n\tgpt54,\n\tInferenceRequest,\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Context {\n\treadonly id: string\n\treadonly projectId: string\n\treadonly items: ContextItem[]\n\n\tconstructor(id: string, projectId: string, items: ContextItem[]) {\n\t\tthis.projectId = projectId\n\t\tthis.id = id\n\t\tthis.items = items\n\t}\n\n\taddItem(item: ContextItem): Context {\n\t\tthis.items.push(item)\n\t\treturn this\n\t}\n\n\tapplyModelOutput(items: ContextItem[]): Context {\n\t\tfor (const item of items) {\n\t\t\tconst itemType = item.getType()\n\t\t\tif (itemType !== \"function_call\" && itemType !== \"message\" && itemType !== \"reasoning\") {\n\t\t\t\tthrow new Error(`Invalid item type: ${itemType}`)\n\t\t\t}\n\t\t}\n\t\tthis.items.push(...items)\n\t\treturn this\n\t}\n\n\tgetItems(): ContextItem[] {\n\t\treturn this.items\n\t}\n\n\tstatic create(projectId: string): Context {\n\t\tconst id = crypto.randomUUID()\n\t\treturn new Context(id, projectId, [])\n\t}\n\n\tstatic rehydrate(data: { id: string; projectId: string; items: ContextItem[] }): Context {\n\t\treturn new Context(data.id, data.projectId, data.items)\n\t}\n\n\ttoJSON(): any {\n\t\treturn this.items.map((item) => item.toJSON())\n\t}\n}\n","export abstract class ContextItem {\n\tabstract readonly type: string\n\n\tgetType(): string {\n\t\treturn this.type\n\t}\n\n\tabstract toJSON(): any\n}\n","export abstract class Content {\n\tabstract readonly type: string\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class InputText extends Content {\n\treadonly type = \"input_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic create(text: string): InputText {\n\t\treturn new InputText(text)\n\t}\n\n\tstatic rehydrate(data: { text: string }): InputText {\n\t\treturn new InputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class UserMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"user\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic create(text: string): UserMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new UserMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): UserMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new UserMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class DeveloperMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"developer\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n\n\tstatic create(text: string): DeveloperMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new DeveloperMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): DeveloperMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new DeveloperMessage(content)\n\t}\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class OutputText extends Content {\n\treadonly type = \"output_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic rehydrate(data: { text: string }): OutputText {\n\t\treturn new OutputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { OutputText } from \"@core/context-runtime/content/output-text\"\n\nexport class ModelMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"assistant\"\n\treadonly content: OutputText\n\n\tprivate constructor(content: OutputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic rehydrate(data: { text: string }): ModelMessage {\n\t\tconst content = OutputText.rehydrate(data)\n\t\treturn new ModelMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class FunctionCall extends ContextItem {\n\treadonly type = \"function_call\"\n\treadonly callId: string\n\treadonly name: string\n\treadonly args: string\n\n\tprivate constructor(callId: string, name: string, args: string) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.name = name\n\t\tthis.args = args\n\t}\n\n\tstatic rehydrate(data: { callId: string; name: string; args: string }): FunctionCall {\n\t\treturn new FunctionCall(data.callId, data.name, data.args)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\tname: this.name,\n\t\t\targuments: this.args,\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { SummaryText } from \"@core/context-runtime/content/summary-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Reasoning extends ContextItem {\n\treadonly type = \"reasoning\"\n\treadonly content: InputText | undefined\n\treadonly encryptedContent: string | undefined\n\treadonly summary: SummaryText[]\n\n\tprivate constructor(\n\t\tcontent: InputText | undefined,\n\t\tencryptedContent?: string | undefined,\n\t\tsummary: SummaryText[] = [],\n\t) {\n\t\tsuper()\n\t\tthis.content = content\n\t\tthis.encryptedContent = encryptedContent\n\t\tthis.summary = summary\n\t}\n\n\tstatic rehydrate(data: {\n\t\tcontent: InputText | undefined\n\t\tencryptedContent: string | undefined\n\t\tsummary: SummaryText[]\n\t}): Reasoning {\n\t\treturn new Reasoning(data.content, data.encryptedContent, data.summary)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcontent: this.content?.toJSON(),\n\t\t\tencryptedContent: this.encryptedContent,\n\t\t\tsummary: this.summary.map((s) => s.toJSON()),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class FunctionCallOutput extends ContextItem {\n\treadonly type = \"function_call_output\"\n\treadonly callId: string\n\treadonly output: InputText[]\n\n\tprivate constructor(callId: string, output: InputText[]) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.output = output\n\t}\n\n\tstatic create(callId: string, output: InputText[]): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(callId, output)\n\t}\n\n\tstatic rehydrate(data: { callId: string; output: InputText[] }): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(data.callId, data.output)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\toutput: this.output.map((o) => o.toJSON()),\n\t\t}\n\t}\n}\n","export interface Condition<T> {\n\tisSatisfiedBy(candidate: T): boolean\n\tand(other: Condition<T>): Condition<T>\n\tor(other: Condition<T>): Condition<T>\n\tnot(): Condition<T>\n}\n\nexport abstract class BaseCondition<T> implements Condition<T> {\n\tabstract isSatisfiedBy(candidate: T): boolean\n\n\tand(other: Condition<T>): Condition<T> {\n\t\treturn new AndCondition(this, other)\n\t}\n\n\tor(other: Condition<T>): Condition<T> {\n\t\treturn new OrCondition(this, other)\n\t}\n\n\tnot(): Condition<T> {\n\t\treturn new NotCondition(this)\n\t}\n}\n\nexport class AndCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) && this.right.isSatisfiedBy(candidate)\n\t}\n}\n\nexport class NotCondition<T> extends BaseCondition<T> {\n\tconstructor(private readonly condition: Condition<T>) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn !this.condition.isSatisfiedBy(candidate)\n\t}\n}\n\nexport class OrCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) || this.right.isSatisfiedBy(candidate)\n\t}\n}\n","import { Condition } from \"@core/context-engine/condition/condition\"\n\nexport interface Action<T> {\n\tapply(candidate: T): T\n}\n\nexport class Rule<T> {\n\tprivate condition: Condition<T>\n\tprivate action: Action<T>\n\n\tconstructor({ when, then }: { when: Condition<T>; then: Action<T> }) {\n\t\tthis.condition = when\t\n\t\tthis.action = then\n\t}\n\n\tapply(candidate: T): T {\n\t\tif (this.condition.isSatisfiedBy(candidate)) {\n\t\t\treturn this.action.apply(candidate)\n\t\t}\n\t\treturn candidate\n\t}\n}\n","export abstract class Capability {\n abstract readonly capability: string\n}","import { Capability } from \"./capability\"\n\nexport class ReasoningEffort<Effort extends string> extends Capability {\n\treadonly capability = \"reasoning-effort\"\n\treadonly supportedEfforts: readonly Effort[]\n\treasoningEffort: Effort\n\n\tconstructor(supportedEfforts: readonly Effort[], defaultEffort: Effort) {\n\t\tsuper()\n\t\tthis.supportedEfforts = supportedEfforts\n\t\tthis.reasoningEffort = defaultEffort\n\t}\n\n\tsetReasoningEffort(effort: Effort): void {\n\t\tif (!this.supportedEfforts.includes(effort)) {\n\t\t\tthrow new Error(`Invalid reasoning effort: ${effort}`)\n\t\t}\n\t\tthis.reasoningEffort = effort;\n\t}\n\n\tgetReasoningEffort(): Effort {\n\t\treturn this.reasoningEffort\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/condition\"\nimport { Action, Rule } from \"@core/context-engine/rule/rule\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\n\nexport class ReasoningEffortSupported extends BaseCondition<InferenceRequest> {\n\tisSatisfiedBy(candidate: InferenceRequest): boolean {\n\t\treturn candidate.model.capabilities.some((capability) => capability instanceof ReasoningEffort)\n\t}\n}\n\nexport class SetReasoningEffort implements Action<InferenceRequest> {\n\tapply(candidate: InferenceRequest): InferenceRequest {\n\t\tconst reasoningCapability = candidate.model.capabilities.find(\n\t\t\t(capability) => capability instanceof ReasoningEffort,\n\t\t)\n\t\tif (reasoningCapability) {\n\t\t\tconst providerRequest = candidate.providerRequest\n\t\t\tcandidate.providerRequest = {\n\t\t\t\t...providerRequest,\n\t\t\t\treasoning: {\n\t\t\t\t\teffort: reasoningCapability.getReasoningEffort(),\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t\treturn candidate\n\t}\n}\nexport const reasoningEffortRule = new Rule({\n\twhen: new ReasoningEffortSupported(),\n\tthen: new SetReasoningEffort(),\n})\n","import { Context } from \"@core/context-runtime/context\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\nimport { FunctionCall } from \"@core/context-runtime/output/function-call\"\nimport { ModelMessage } from \"@core/context-runtime/output/model-message\"\nimport { Reasoning } from \"@core/context-runtime/output/reasoning\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\nimport { ModelRuntime } from \"@core/generative-model/runtime/model-runtime\"\nimport { reasoningEffortRule } from \"@openai/rules/reasoning-effort\"\nimport OpenAI from \"openai\"\n\nexport class OpenAIResponses implements ModelRuntime {\n\tprivate readonly client: OpenAI\n\n\tconstructor() {\n\t\tthis.client = new OpenAI()\n\t}\n\n\tasync infer(inferenceRequest: InferenceRequest): Promise<ContextItem[]> {\n\t\tconst input = this.mapContextToRequest(inferenceRequest.context)\n\n\t\treasoningEffortRule.apply(inferenceRequest)\n\t\tconst response = await this.client.responses.create({\n\t\t\tmodel: inferenceRequest.model.id,\n\t\t\tinput: input,\n\t\t\t...inferenceRequest.providerRequest\n\t\t})\n\t\treturn this.extractContextItems(response)\n\t}\n\n\tmapContextToRequest(context: Context): any[] {\n\t\treturn context.getItems().map((item) => item.toJSON())\n\t}\n\n\textractContextItems(response: any): ContextItem[] {\n\t\treturn response.output.map((item: any) => {\n\t\t\tif (item.type === \"message\" && item.status === \"completed\") {\n\t\t\t\treturn ModelMessage.rehydrate(item.content[0] as { text: string })\n\t\t\t}\n\t\t\tif (item.type === \"function_call\" && item.status === \"completed\") {\n\t\t\t\treturn FunctionCall.rehydrate(item)\n\t\t\t}\n\t\t\tif (item.type === \"reasoning\" && item.status === \"completed\") {\n\t\t\t\treturn Reasoning.rehydrate(item)\n\t\t\t}\n\t\t})\n\t}\n}\n","import { Capability } from \"@core/generative-model/capabilities/capability\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { GenerativeModel } from \"@core/generative-model/generative-model\"\n\nexport const openaiReasoningEffort = new ReasoningEffort<\"xhigh\" | \"high\" | \"medium\" | \"low\" | \"none\">([\"xhigh\", \"high\", \"medium\", \"low\", \"none\"], \"medium\")\n\nexport class GPT54 implements GenerativeModel<\"gpt-5.4\"> {\n\treadonly id = \"gpt-5.4\"\n\treadonly capabilities: Capability[] = [openaiReasoningEffort]\n}\n\nexport const gpt54 = new GPT54()","import { Context } from \"@core/context-runtime/context\"\nimport { GenerativeModel } from \"./generative-model\"\n\nexport class InferenceRequest {\n\treadonly model: GenerativeModel<string>\n\treadonly context: Context\n providerRequest: Record<string, unknown>\n\n\tconstructor(model: GenerativeModel<string>, context: Context) {\n\t\tthis.model = model\n\t\tthis.context = context\n\t\tthis.providerRequest = {}\n\t}\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,UAAN,MAAM,SAAQ;AAAA,EAKpB,YAAY,IAAY,WAAmB,OAAsB;AAChE,SAAK,YAAY;AACjB,SAAK,KAAK;AACV,SAAK,QAAQ;AAAA,EACd;AAAA,EAEA,QAAQ,MAA4B;AACnC,SAAK,MAAM,KAAK,IAAI;AACpB,WAAO;AAAA,EACR;AAAA,EAEA,iBAAiB,OAA+B;AAC/C,eAAW,QAAQ,OAAO;AACzB,YAAM,WAAW,KAAK,QAAQ;AAC9B,UAAI,aAAa,mBAAmB,aAAa,aAAa,aAAa,aAAa;AACvF,cAAM,IAAI,MAAM,sBAAsB,QAAQ,EAAE;AAAA,MACjD;AAAA,IACD;AACA,SAAK,MAAM,KAAK,GAAG,KAAK;AACxB,WAAO;AAAA,EACR;AAAA,EAEA,WAA0B;AACzB,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,OAAO,OAAO,WAA4B;AACzC,UAAM,KAAK,OAAO,WAAW;AAC7B,WAAO,IAAI,SAAQ,IAAI,WAAW,CAAC,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,UAAU,MAAwE;AACxF,WAAO,IAAI,SAAQ,KAAK,IAAI,KAAK,WAAW,KAAK,KAAK;AAAA,EACvD;AAAA,EAEA,SAAc;AACb,WAAO,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;AAAA,EAC9C;AACD;;;AC7CO,IAAe,cAAf,MAA2B;AAAA,EAGjC,UAAkB;AACjB,WAAO,KAAK;AAAA,EACb;AAGD;;;ACRO,IAAe,UAAf,MAAuB;AAE9B;;;ACAO,IAAM,YAAN,MAAM,mBAAkB,QAAQ;AAAA,EAG9B,YAA4B,MAAc;AACjD,UAAM;AAD6B;AAFpC,SAAS,OAAO;AAAA,EAIhB;AAAA,EAEA,OAAO,OAAO,MAAyB;AACtC,WAAO,IAAI,WAAU,IAAI;AAAA,EAC1B;AAAA,EAEA,OAAO,UAAU,MAAmC;AACnD,WAAO,IAAI,WAAU,KAAK,IAAI;AAAA,EAC/B;AAAA,EAEA,SAAgB;AACf,WAAO;AAAA,MACN;AAAA,QACC,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACD;;;ACtBO,IAAM,cAAN,MAAM,qBAAoB,YAAY;AAAA,EAKpC,YAAY,SAAoB;AACvC,UAAM;AALP,SAAS,OAAO;AAChB,SAAS,OAAO;AAKf,SAAK,UAAU;AAAA,EAChB;AAAA,EAEA,OAAO,OAAO,MAA2B;AACxC,UAAM,UAAU,UAAU,OAAO,IAAI;AACrC,WAAO,IAAI,aAAY,OAAO;AAAA,EAC/B;AAAA,EAEA,OAAO,UAAU,MAAqC;AACrD,UAAM,UAAU,UAAU,UAAU,IAAI;AACxC,WAAO,IAAI,aAAY,OAAO;AAAA,EAC/B;AAAA,EAEA,SAAc;AACb,WAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK,QAAQ,OAAO;AAAA,IAC9B;AAAA,EACD;AACD;;;AC3BO,IAAM,mBAAN,MAAM,0BAAyB,YAAY;AAAA,EAKzC,YAAY,SAAoB;AACvC,UAAM;AALP,SAAS,OAAO;AAChB,SAAS,OAAO;AAKf,SAAK,UAAU;AAAA,EAChB;AAAA,EAEA,SAAc;AACb,WAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK,QAAQ,OAAO;AAAA,IAC9B;AAAA,EACD;AAAA,EAEA,OAAO,OAAO,MAAgC;AAC7C,UAAM,UAAU,UAAU,OAAO,IAAI;AACrC,WAAO,IAAI,kBAAiB,OAAO;AAAA,EACpC;AAAA,EAEA,OAAO,UAAU,MAA0C;AAC1D,UAAM,UAAU,UAAU,UAAU,IAAI;AACxC,WAAO,IAAI,kBAAiB,OAAO;AAAA,EACpC;AACD;;;AC5BO,IAAM,aAAN,MAAM,oBAAmB,QAAQ;AAAA,EAG/B,YAA4B,MAAc;AACjD,UAAM;AAD6B;AAFpC,SAAS,OAAO;AAAA,EAIhB;AAAA,EAEA,OAAO,UAAU,MAAoC;AACpD,WAAO,IAAI,YAAW,KAAK,IAAI;AAAA,EAChC;AAAA,EAEA,SAAgB;AACf,WAAO;AAAA,MACN;AAAA,QACC,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACD;;;AClBO,IAAM,eAAN,MAAM,sBAAqB,YAAY;AAAA,EAKrC,YAAY,SAAqB;AACxC,UAAM;AALP,SAAS,OAAO;AAChB,SAAS,OAAO;AAKf,SAAK,UAAU;AAAA,EAChB;AAAA,EAEA,OAAO,UAAU,MAAsC;AACtD,UAAM,UAAU,WAAW,UAAU,IAAI;AACzC,WAAO,IAAI,cAAa,OAAO;AAAA,EAChC;AAAA,EAEA,SAAc;AACb,WAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK,QAAQ,OAAO;AAAA,IAC9B;AAAA,EACD;AACD;;;ACvBO,IAAM,eAAN,MAAM,sBAAqB,YAAY;AAAA,EAMrC,YAAY,QAAgB,MAAc,MAAc;AAC/D,UAAM;AANP,SAAS,OAAO;AAOf,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,OAAO;AAAA,EACb;AAAA,EAEA,OAAO,UAAU,MAAoE;AACpF,WAAO,IAAI,cAAa,KAAK,QAAQ,KAAK,MAAM,KAAK,IAAI;AAAA,EAC1D;AAAA,EAEA,SAAc;AACb,WAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX,WAAW,KAAK;AAAA,IACjB;AAAA,EACD;AACD;;;ACvBO,IAAM,YAAN,MAAM,mBAAkB,YAAY;AAAA,EAMlC,YACP,SACA,kBACA,UAAyB,CAAC,GACzB;AACD,UAAM;AAVP,SAAS,OAAO;AAWf,SAAK,UAAU;AACf,SAAK,mBAAmB;AACxB,SAAK,UAAU;AAAA,EAChB;AAAA,EAEA,OAAO,UAAU,MAIH;AACb,WAAO,IAAI,WAAU,KAAK,SAAS,KAAK,kBAAkB,KAAK,OAAO;AAAA,EACvE;AAAA,EAEA,SAAc;AA7Bf;AA8BE,WAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,UAAS,UAAK,YAAL,mBAAc;AAAA,MACvB,kBAAkB,KAAK;AAAA,MACvB,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,IAC5C;AAAA,EACD;AACD;;;AClCO,IAAM,qBAAN,MAAM,4BAA2B,YAAY;AAAA,EAK3C,YAAY,QAAgB,QAAqB;AACxD,UAAM;AALP,SAAS,OAAO;AAMf,SAAK,SAAS;AACd,SAAK,SAAS;AAAA,EACf;AAAA,EAEA,OAAO,OAAO,QAAgB,QAAyC;AACtE,WAAO,IAAI,oBAAmB,QAAQ,MAAM;AAAA,EAC7C;AAAA,EAEA,OAAO,UAAU,MAAmE;AACnF,WAAO,IAAI,oBAAmB,KAAK,QAAQ,KAAK,MAAM;AAAA,EACvD;AAAA,EAEA,SAAc;AACb,WAAO;AAAA,MACN,MAAM,KAAK;AAAA,MACX,QAAQ,KAAK;AAAA,MACb,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,IAC1C;AAAA,EACD;AACD;;;ACtBO,IAAe,gBAAf,MAAwD;AAAA,EAG9D,IAAI,OAAmC;AACtC,WAAO,IAAI,aAAa,MAAM,KAAK;AAAA,EACpC;AAAA,EAEA,GAAG,OAAmC;AACrC,WAAO,IAAI,YAAY,MAAM,KAAK;AAAA,EACnC;AAAA,EAEA,MAAoB;AACnB,WAAO,IAAI,aAAa,IAAI;AAAA,EAC7B;AACD;AAEO,IAAM,eAAN,cAA8B,cAAiB;AAAA,EACrD,YACkB,MACA,OAChB;AACD,UAAM;AAHW;AACA;AAAA,EAGlB;AAAA,EAEA,cAAc,WAAuB;AACpC,WAAO,KAAK,KAAK,cAAc,SAAS,KAAK,KAAK,MAAM,cAAc,SAAS;AAAA,EAChF;AACD;AAEO,IAAM,eAAN,cAA8B,cAAiB;AAAA,EACrD,YAA6B,WAAyB;AACrD,UAAM;AADsB;AAAA,EAE7B;AAAA,EAEA,cAAc,WAAuB;AACpC,WAAO,CAAC,KAAK,UAAU,cAAc,SAAS;AAAA,EAC/C;AACD;AAEO,IAAM,cAAN,cAA6B,cAAiB;AAAA,EACpD,YACkB,MACA,OAChB;AACD,UAAM;AAHW;AACA;AAAA,EAGlB;AAAA,EAEA,cAAc,WAAuB;AACpC,WAAO,KAAK,KAAK,cAAc,SAAS,KAAK,KAAK,MAAM,cAAc,SAAS;AAAA,EAChF;AACD;;;ACnDO,IAAM,OAAN,MAAc;AAAA,EAIpB,YAAY,EAAE,MAAM,KAAK,GAA4C;AACpE,SAAK,YAAY;AACjB,SAAK,SAAS;AAAA,EACf;AAAA,EAEA,MAAM,WAAiB;AACtB,QAAI,KAAK,UAAU,cAAc,SAAS,GAAG;AAC5C,aAAO,KAAK,OAAO,MAAM,SAAS;AAAA,IACnC;AACA,WAAO;AAAA,EACR;AACD;;;ACrBO,IAAe,aAAf,MAA0B;AAEjC;;;ACAO,IAAM,kBAAN,cAAqD,WAAW;AAAA,EAKtE,YAAY,kBAAqC,eAAuB;AACvE,UAAM;AALP,SAAS,aAAa;AAMrB,SAAK,mBAAmB;AACxB,SAAK,kBAAkB;AAAA,EACxB;AAAA,EAEA,mBAAmB,QAAsB;AACxC,QAAI,CAAC,KAAK,iBAAiB,SAAS,MAAM,GAAG;AAC5C,YAAM,IAAI,MAAM,6BAA6B,MAAM,EAAE;AAAA,IACtD;AACA,SAAK,kBAAkB;AAAA,EACxB;AAAA,EAEA,qBAA6B;AAC5B,WAAO,KAAK;AAAA,EACb;AACD;;;AClBO,IAAM,2BAAN,cAAuC,cAAgC;AAAA,EAC7E,cAAc,WAAsC;AACnD,WAAO,UAAU,MAAM,aAAa,KAAK,CAAC,eAAe,sBAAsB,eAAe;AAAA,EAC/F;AACD;AAEO,IAAM,qBAAN,MAA6D;AAAA,EACnE,MAAM,WAA+C;AACpD,UAAM,sBAAsB,UAAU,MAAM,aAAa;AAAA,MACxD,CAAC,eAAe,sBAAsB;AAAA,IACvC;AACA,QAAI,qBAAqB;AACxB,YAAM,kBAAkB,UAAU;AAClC,gBAAU,kBAAkB;AAAA,QAC3B,GAAG;AAAA,QACH,WAAW;AAAA,UACV,QAAQ,oBAAoB,mBAAmB;AAAA,QAChD;AAAA,MACD;AAAA,IACD;AACA,WAAO;AAAA,EACR;AACD;AACO,IAAM,sBAAsB,IAAI,KAAK;AAAA,EAC3C,MAAM,IAAI,yBAAyB;AAAA,EACnC,MAAM,IAAI,mBAAmB;AAC9B,CAAC;;;ACvBD,oBAAmB;AAEZ,IAAM,kBAAN,MAA8C;AAAA,EAGpD,cAAc;AACb,SAAK,SAAS,IAAI,cAAAA,QAAO;AAAA,EAC1B;AAAA,EAEA,MAAM,MAAM,kBAA4D;AACvE,UAAM,QAAQ,KAAK,oBAAoB,iBAAiB,OAAO;AAE/D,wBAAoB,MAAM,gBAAgB;AAC1C,UAAM,WAAW,MAAM,KAAK,OAAO,UAAU,OAAO;AAAA,MACnD,OAAO,iBAAiB,MAAM;AAAA,MAC9B;AAAA,MACA,GAAG,iBAAiB;AAAA,IACrB,CAAC;AACD,WAAO,KAAK,oBAAoB,QAAQ;AAAA,EACzC;AAAA,EAEA,oBAAoB,SAAyB;AAC5C,WAAO,QAAQ,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;AAAA,EACtD;AAAA,EAEA,oBAAoB,UAA8B;AACjD,WAAO,SAAS,OAAO,IAAI,CAAC,SAAc;AACzC,UAAI,KAAK,SAAS,aAAa,KAAK,WAAW,aAAa;AAC3D,eAAO,aAAa,UAAU,KAAK,QAAQ,CAAC,CAAqB;AAAA,MAClE;AACA,UAAI,KAAK,SAAS,mBAAmB,KAAK,WAAW,aAAa;AACjE,eAAO,aAAa,UAAU,IAAI;AAAA,MACnC;AACA,UAAI,KAAK,SAAS,eAAe,KAAK,WAAW,aAAa;AAC7D,eAAO,UAAU,UAAU,IAAI;AAAA,MAChC;AAAA,IACD,CAAC;AAAA,EACF;AACD;;;AC1CO,IAAM,wBAAwB,IAAI,gBAA8D,CAAC,SAAS,QAAQ,UAAU,OAAO,MAAM,GAAG,QAAQ;AAEpJ,IAAM,QAAN,MAAkD;AAAA,EAAlD;AACN,SAAS,KAAK;AACd,SAAS,eAA6B,CAAC,qBAAqB;AAAA;AAC7D;AAEO,IAAM,QAAQ,IAAI,MAAM;;;ACRxB,IAAM,mBAAN,MAAuB;AAAA,EAK7B,YAAY,OAAgC,SAAkB;AAC7D,SAAK,QAAQ;AACb,SAAK,UAAU;AACf,SAAK,kBAAkB,CAAC;AAAA,EACzB;AACD;","names":["OpenAI"]}
|
package/dist/index.mjs
CHANGED
|
@@ -227,7 +227,18 @@ var FunctionCallOutput = class _FunctionCallOutput extends ContextItem {
|
|
|
227
227
|
}
|
|
228
228
|
};
|
|
229
229
|
|
|
230
|
-
// src/core/context-engine/condition/
|
|
230
|
+
// src/core/context-engine/condition/condition.ts
|
|
231
|
+
var BaseCondition = class {
|
|
232
|
+
and(other) {
|
|
233
|
+
return new AndCondition(this, other);
|
|
234
|
+
}
|
|
235
|
+
or(other) {
|
|
236
|
+
return new OrCondition(this, other);
|
|
237
|
+
}
|
|
238
|
+
not() {
|
|
239
|
+
return new NotCondition(this);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
231
242
|
var AndCondition = class extends BaseCondition {
|
|
232
243
|
constructor(left, right) {
|
|
233
244
|
super();
|
|
@@ -238,8 +249,6 @@ var AndCondition = class extends BaseCondition {
|
|
|
238
249
|
return this.left.isSatisfiedBy(candidate) && this.right.isSatisfiedBy(candidate);
|
|
239
250
|
}
|
|
240
251
|
};
|
|
241
|
-
|
|
242
|
-
// src/core/context-engine/condition/not-condition.ts
|
|
243
252
|
var NotCondition = class extends BaseCondition {
|
|
244
253
|
constructor(condition) {
|
|
245
254
|
super();
|
|
@@ -249,8 +258,6 @@ var NotCondition = class extends BaseCondition {
|
|
|
249
258
|
return !this.condition.isSatisfiedBy(candidate);
|
|
250
259
|
}
|
|
251
260
|
};
|
|
252
|
-
|
|
253
|
-
// src/core/context-engine/condition/or-condition.ts
|
|
254
261
|
var OrCondition = class extends BaseCondition {
|
|
255
262
|
constructor(left, right) {
|
|
256
263
|
super();
|
|
@@ -262,19 +269,6 @@ var OrCondition = class extends BaseCondition {
|
|
|
262
269
|
}
|
|
263
270
|
};
|
|
264
271
|
|
|
265
|
-
// src/core/context-engine/condition/base-condition.ts
|
|
266
|
-
var BaseCondition = class {
|
|
267
|
-
and(other) {
|
|
268
|
-
return new AndCondition(this, other);
|
|
269
|
-
}
|
|
270
|
-
or(other) {
|
|
271
|
-
return new OrCondition(this, other);
|
|
272
|
-
}
|
|
273
|
-
not() {
|
|
274
|
-
return new NotCondition(this);
|
|
275
|
-
}
|
|
276
|
-
};
|
|
277
|
-
|
|
278
272
|
// src/core/context-engine/rule/rule.ts
|
|
279
273
|
var Rule = class {
|
|
280
274
|
constructor({ when, then }) {
|
|
@@ -285,7 +279,7 @@ var Rule = class {
|
|
|
285
279
|
if (this.condition.isSatisfiedBy(candidate)) {
|
|
286
280
|
return this.action.apply(candidate);
|
|
287
281
|
}
|
|
288
|
-
|
|
282
|
+
return candidate;
|
|
289
283
|
}
|
|
290
284
|
};
|
|
291
285
|
|
|
@@ -318,18 +312,26 @@ var ReasoningEffortSupported = class extends BaseCondition {
|
|
|
318
312
|
return candidate.model.capabilities.some((capability) => capability instanceof ReasoningEffort);
|
|
319
313
|
}
|
|
320
314
|
};
|
|
321
|
-
var
|
|
315
|
+
var SetReasoningEffort = class {
|
|
322
316
|
apply(candidate) {
|
|
323
|
-
const reasoningCapability = candidate.model.capabilities.find(
|
|
317
|
+
const reasoningCapability = candidate.model.capabilities.find(
|
|
318
|
+
(capability) => capability instanceof ReasoningEffort
|
|
319
|
+
);
|
|
324
320
|
if (reasoningCapability) {
|
|
325
|
-
|
|
321
|
+
const providerRequest = candidate.providerRequest;
|
|
322
|
+
candidate.providerRequest = {
|
|
323
|
+
...providerRequest,
|
|
324
|
+
reasoning: {
|
|
325
|
+
effort: reasoningCapability.getReasoningEffort()
|
|
326
|
+
}
|
|
327
|
+
};
|
|
326
328
|
}
|
|
327
|
-
|
|
329
|
+
return candidate;
|
|
328
330
|
}
|
|
329
331
|
};
|
|
330
332
|
var reasoningEffortRule = new Rule({
|
|
331
333
|
when: new ReasoningEffortSupported(),
|
|
332
|
-
then: new
|
|
334
|
+
then: new SetReasoningEffort()
|
|
333
335
|
});
|
|
334
336
|
|
|
335
337
|
// src/providers/openai/runtime/openai-responses.ts
|
|
@@ -340,12 +342,11 @@ var OpenAIResponses = class {
|
|
|
340
342
|
}
|
|
341
343
|
async infer(inferenceRequest) {
|
|
342
344
|
const input = this.mapContextToRequest(inferenceRequest.context);
|
|
345
|
+
reasoningEffortRule.apply(inferenceRequest);
|
|
343
346
|
const response = await this.client.responses.create({
|
|
344
347
|
model: inferenceRequest.model.id,
|
|
345
348
|
input,
|
|
346
|
-
|
|
347
|
-
effort: reasoningEffortRule.apply(inferenceRequest)
|
|
348
|
-
}
|
|
349
|
+
...inferenceRequest.providerRequest
|
|
349
350
|
});
|
|
350
351
|
return this.extractContextItems(response);
|
|
351
352
|
}
|
|
@@ -382,6 +383,7 @@ var InferenceRequest = class {
|
|
|
382
383
|
constructor(model, context) {
|
|
383
384
|
this.model = model;
|
|
384
385
|
this.context = context;
|
|
386
|
+
this.providerRequest = {};
|
|
385
387
|
}
|
|
386
388
|
};
|
|
387
389
|
export {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/context-runtime/context.ts","../src/core/context-runtime/context-item.ts","../src/core/context-runtime/content.ts","../src/core/context-runtime/content/input-text.ts","../src/core/context-runtime/input/user-message.ts","../src/core/context-runtime/input/developer-message.ts","../src/core/context-runtime/content/output-text.ts","../src/core/context-runtime/output/model-message.ts","../src/core/context-runtime/output/function-call.ts","../src/core/context-runtime/output/reasoning.ts","../src/core/context-runtime/input/function-call-output.ts","../src/core/context-engine/condition/and-condition.ts","../src/core/context-engine/condition/not-condition.ts","../src/core/context-engine/condition/or-condition.ts","../src/core/context-engine/condition/base-condition.ts","../src/core/context-engine/rule/rule.ts","../src/core/generative-model/capabilities/capability.ts","../src/core/generative-model/capabilities/reasoning-effort.ts","../src/providers/openai/rules/reasoning-effort.ts","../src/providers/openai/runtime/openai-responses.ts","../src/providers/openai/models/gpt-5-4.ts","../src/core/generative-model/inference-request.ts"],"sourcesContent":["import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Context {\n\treadonly id: string\n\treadonly projectId: string\n\treadonly items: ContextItem[]\n\n\tconstructor(id: string, projectId: string, items: ContextItem[]) {\n\t\tthis.projectId = projectId\n\t\tthis.id = id\n\t\tthis.items = items\n\t}\n\n\taddItem(item: ContextItem): Context {\n\t\tthis.items.push(item)\n\t\treturn this\n\t}\n\n\tapplyModelOutput(items: ContextItem[]): Context {\n\t\tfor (const item of items) {\n\t\t\tconst itemType = item.getType()\n\t\t\tif (itemType !== \"function_call\" && itemType !== \"message\" && itemType !== \"reasoning\") {\n\t\t\t\tthrow new Error(`Invalid item type: ${itemType}`)\n\t\t\t}\n\t\t}\n\t\tthis.items.push(...items)\n\t\treturn this\n\t}\n\n\tgetItems(): ContextItem[] {\n\t\treturn this.items\n\t}\n\n\tstatic create(projectId: string): Context {\n\t\tconst id = crypto.randomUUID()\n\t\treturn new Context(id, projectId, [])\n\t}\n\n\tstatic rehydrate(data: { id: string; projectId: string; items: ContextItem[] }): Context {\n\t\treturn new Context(data.id, data.projectId, data.items)\n\t}\n\n\ttoJSON(): any {\n\t\treturn this.items.map((item) => item.toJSON())\n\t}\n}\n","export abstract class ContextItem {\n\tabstract readonly type: string\n\n\tgetType(): string {\n\t\treturn this.type\n\t}\n\n\tabstract toJSON(): any\n}\n","export abstract class Content {\n\tabstract readonly type: string\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class InputText extends Content {\n\treadonly type = \"input_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic create(text: string): InputText {\n\t\treturn new InputText(text)\n\t}\n\n\tstatic rehydrate(data: { text: string }): InputText {\n\t\treturn new InputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class UserMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"user\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic create(text: string): UserMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new UserMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): UserMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new UserMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class DeveloperMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"developer\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n\n\tstatic create(text: string): DeveloperMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new DeveloperMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): DeveloperMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new DeveloperMessage(content)\n\t}\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class OutputText extends Content {\n\treadonly type = \"output_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic rehydrate(data: { text: string }): OutputText {\n\t\treturn new OutputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { OutputText } from \"@core/context-runtime/content/output-text\"\n\nexport class ModelMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"assistant\"\n\treadonly content: OutputText\n\n\tprivate constructor(content: OutputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic rehydrate(data: { text: string }): ModelMessage {\n\t\tconst content = OutputText.rehydrate(data)\n\t\treturn new ModelMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class FunctionCall extends ContextItem {\n\treadonly type = \"function_call\"\n\treadonly callId: string\n\treadonly name: string\n\treadonly args: string\n\n\tprivate constructor(callId: string, name: string, args: string) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.name = name\n\t\tthis.args = args\n\t}\n\n\tstatic rehydrate(data: { callId: string; name: string; args: string }): FunctionCall {\n\t\treturn new FunctionCall(data.callId, data.name, data.args)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\tname: this.name,\n\t\t\targuments: this.args,\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { SummaryText } from \"@core/context-runtime/content/summary-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Reasoning extends ContextItem {\n\treadonly type = \"reasoning\"\n\treadonly content: InputText | undefined\n\treadonly encryptedContent: string | undefined\n\treadonly summary: SummaryText[]\n\n\tprivate constructor(\n\t\tcontent: InputText | undefined,\n\t\tencryptedContent?: string | undefined,\n\t\tsummary: SummaryText[] = [],\n\t) {\n\t\tsuper()\n\t\tthis.content = content\n\t\tthis.encryptedContent = encryptedContent\n\t\tthis.summary = summary\n\t}\n\n\tstatic rehydrate(data: {\n\t\tcontent: InputText | undefined\n\t\tencryptedContent: string | undefined\n\t\tsummary: SummaryText[]\n\t}): Reasoning {\n\t\treturn new Reasoning(data.content, data.encryptedContent, data.summary)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcontent: this.content?.toJSON(),\n\t\t\tencryptedContent: this.encryptedContent,\n\t\t\tsummary: this.summary.map((s) => s.toJSON()),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class FunctionCallOutput extends ContextItem {\n\treadonly type = \"function_call_output\"\n\treadonly callId: string\n\treadonly output: InputText[]\n\n\tprivate constructor(callId: string, output: InputText[]) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.output = output\n\t}\n\n\tstatic create(callId: string, output: InputText[]): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(callId, output)\n\t}\n\n\tstatic rehydrate(data: { callId: string; output: InputText[] }): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(data.callId, data.output)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\toutput: this.output.map((o) => o.toJSON()),\n\t\t}\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\n\nexport class AndCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) && this.right.isSatisfiedBy(candidate)\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\n\nexport class NotCondition<T> extends BaseCondition<T> {\n\tconstructor(private readonly condition: Condition<T>) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn !this.condition.isSatisfiedBy(candidate)\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\n\nexport class OrCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) || this.right.isSatisfiedBy(candidate)\n\t}\n}\n","import { AndCondition } from \"@core/context-engine/condition/and-condition\"\nimport { Condition } from \"@core/context-engine/condition/condition\"\nimport { NotCondition } from \"@core/context-engine/condition/not-condition\"\nimport { OrCondition } from \"@core/context-engine/condition/or-condition\"\n\nexport abstract class BaseCondition<T> implements Condition<T> {\n\tabstract isSatisfiedBy(candidate: T): boolean\n\n\tand(other: Condition<T>): Condition<T> {\n\t\treturn new AndCondition(this, other)\n\t}\n\n\tor(other: Condition<T>): Condition<T> {\n\t\treturn new OrCondition(this, other)\n\t}\n\n\tnot(): Condition<T> {\n\t\treturn new NotCondition(this)\n\t}\n}\n","import { Condition } from \"@core/context-engine/condition/condition\"\n\nexport interface Action<T, R> {\n\tapply(candidate: T): R\n}\n\nexport class Rule<T, R> {\n\tprivate condition: Condition<T>\n\tprivate action: Action<T, R>\n\n\tconstructor({ when, then }: { when: Condition<T>; then: Action<T, R> }) {\n\t\tthis.condition = when\t\n\t\tthis.action = then\n\t}\n\n\tapply(candidate: T): R {\n\t\tif (this.condition.isSatisfiedBy(candidate)) {\n\t\t\treturn this.action.apply(candidate)\n\t\t}\n\t\tthrow new Error(\"Condition not satisfied\")\n\t}\n}\n","export abstract class Capability {\n abstract readonly capability: string\n}","import { Capability } from \"./capability\"\n\nexport class ReasoningEffort<Effort extends string> extends Capability {\n\treadonly capability = \"reasoning-effort\"\n\treadonly supportedEfforts: readonly Effort[]\n\treasoningEffort: Effort\n\n\tconstructor(supportedEfforts: readonly Effort[], defaultEffort: Effort) {\n\t\tsuper()\n\t\tthis.supportedEfforts = supportedEfforts\n\t\tthis.reasoningEffort = defaultEffort\n\t}\n\n\tsetReasoningEffort(effort: Effort): void {\n\t\tif (!this.supportedEfforts.includes(effort)) {\n\t\t\tthrow new Error(`Invalid reasoning effort: ${effort}`)\n\t\t}\n\t\tthis.reasoningEffort = effort;\n\t}\n\n\tgetReasoningEffort(): Effort {\n\t\treturn this.reasoningEffort\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/base-condition\"\nimport { Action, Rule } from \"@core/context-engine/rule/rule\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\n\nexport class ReasoningEffortSupported extends BaseCondition<InferenceRequest> {\n\tisSatisfiedBy(candidate: InferenceRequest): boolean {\n\t\treturn candidate.model.capabilities.some((capability) => capability instanceof ReasoningEffort)\n\t}\n}\n\nexport class GetReasoningEffort implements Action<InferenceRequest, \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"none\"> {\n\tapply(candidate: InferenceRequest): \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"none\" {\n\t\tconst reasoningCapability = candidate.model.capabilities.find((capability) => capability instanceof ReasoningEffort)\n\t\tif (reasoningCapability) {\n\t\t\treturn reasoningCapability.getReasoningEffort()\n\t\t}\n\t\tthrow new Error(\"Reasoning capability not supported\")\n\t}\n}\nexport const reasoningEffortRule = new Rule({\n\twhen: new ReasoningEffortSupported(),\n\tthen: new GetReasoningEffort(),\n})","import { Context } from \"@core/context-runtime/context\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\nimport { FunctionCall } from \"@core/context-runtime/output/function-call\"\nimport { ModelMessage } from \"@core/context-runtime/output/model-message\"\nimport { Reasoning } from \"@core/context-runtime/output/reasoning\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\nimport { ModelRuntime } from \"@core/generative-model/runtime/model-runtime\"\nimport { reasoningEffortRule } from \"@openai/rules/reasoning-effort\"\nimport OpenAI from \"openai\"\n\nexport class OpenAIResponses implements ModelRuntime {\n\tprivate readonly client: OpenAI\n\n\tconstructor() {\n\t\tthis.client = new OpenAI()\n\t}\n\n\tasync infer(inferenceRequest: InferenceRequest): Promise<ContextItem[]> {\n\t\tconst input = this.mapContextToRequest(inferenceRequest.context)\n\t\tconst response = await this.client.responses.create({\n\t\t\tmodel: inferenceRequest.model.id,\n\t\t\tinput: input,\n\t\t\treasoning: {\n\t\t\t\teffort: reasoningEffortRule.apply(inferenceRequest)\n\t\t\t}\n\t\t})\n\t\treturn this.extractContextItems(response)\n\t}\n\n\tmapContextToRequest(context: Context): any[] {\n\t\treturn context.getItems().map((item) => item.toJSON())\n\t}\n\n\textractContextItems(response: any): ContextItem[] {\n\t\treturn response.output.map((item: any) => {\n\t\t\tif (item.type === \"message\" && item.status === \"completed\") {\n\t\t\t\treturn ModelMessage.rehydrate(item.content[0] as { text: string })\n\t\t\t}\n\t\t\tif (item.type === \"function_call\" && item.status === \"completed\") {\n\t\t\t\treturn FunctionCall.rehydrate(item)\n\t\t\t}\n\t\t\tif (item.type === \"reasoning\" && item.status === \"completed\") {\n\t\t\t\treturn Reasoning.rehydrate(item)\n\t\t\t}\n\t\t})\n\t}\n}\n","import { Capability } from \"@core/generative-model/capabilities/capability\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { GenerativeModel } from \"@core/generative-model/generative-model\"\n\nexport const openaiReasoningEffort = new ReasoningEffort<\"xhigh\" | \"high\" | \"medium\" | \"low\" | \"none\">([\"xhigh\", \"high\", \"medium\", \"low\", \"none\"], \"medium\")\n\nexport class GPT54 implements GenerativeModel<\"gpt-5.4\"> {\n\treadonly id = \"gpt-5.4\"\n\treadonly capabilities: Capability[] = [openaiReasoningEffort]\n}\n\nexport const gpt54 = new GPT54()","import { Context } from \"@core/context-runtime/context\"\nimport { GenerativeModel } from \"./generative-model\"\n\nexport class InferenceRequest {\n\treadonly model: GenerativeModel<string>\n\treadonly context: Context\n\n\tconstructor(model: GenerativeModel<string>, context: Context) {\n\t\tthis.model = model\n\t\tthis.context = context\n\t}\n}"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/core/context-runtime/context.ts","../src/core/context-runtime/context-item.ts","../src/core/context-runtime/content.ts","../src/core/context-runtime/content/input-text.ts","../src/core/context-runtime/input/user-message.ts","../src/core/context-runtime/input/developer-message.ts","../src/core/context-runtime/content/output-text.ts","../src/core/context-runtime/output/model-message.ts","../src/core/context-runtime/output/function-call.ts","../src/core/context-runtime/output/reasoning.ts","../src/core/context-runtime/input/function-call-output.ts","../src/core/context-engine/condition/condition.ts","../src/core/context-engine/rule/rule.ts","../src/core/generative-model/capabilities/capability.ts","../src/core/generative-model/capabilities/reasoning-effort.ts","../src/providers/openai/rules/reasoning-effort.ts","../src/providers/openai/runtime/openai-responses.ts","../src/providers/openai/models/gpt-5-4.ts","../src/core/generative-model/inference-request.ts"],"sourcesContent":["import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Context {\n\treadonly id: string\n\treadonly projectId: string\n\treadonly items: ContextItem[]\n\n\tconstructor(id: string, projectId: string, items: ContextItem[]) {\n\t\tthis.projectId = projectId\n\t\tthis.id = id\n\t\tthis.items = items\n\t}\n\n\taddItem(item: ContextItem): Context {\n\t\tthis.items.push(item)\n\t\treturn this\n\t}\n\n\tapplyModelOutput(items: ContextItem[]): Context {\n\t\tfor (const item of items) {\n\t\t\tconst itemType = item.getType()\n\t\t\tif (itemType !== \"function_call\" && itemType !== \"message\" && itemType !== \"reasoning\") {\n\t\t\t\tthrow new Error(`Invalid item type: ${itemType}`)\n\t\t\t}\n\t\t}\n\t\tthis.items.push(...items)\n\t\treturn this\n\t}\n\n\tgetItems(): ContextItem[] {\n\t\treturn this.items\n\t}\n\n\tstatic create(projectId: string): Context {\n\t\tconst id = crypto.randomUUID()\n\t\treturn new Context(id, projectId, [])\n\t}\n\n\tstatic rehydrate(data: { id: string; projectId: string; items: ContextItem[] }): Context {\n\t\treturn new Context(data.id, data.projectId, data.items)\n\t}\n\n\ttoJSON(): any {\n\t\treturn this.items.map((item) => item.toJSON())\n\t}\n}\n","export abstract class ContextItem {\n\tabstract readonly type: string\n\n\tgetType(): string {\n\t\treturn this.type\n\t}\n\n\tabstract toJSON(): any\n}\n","export abstract class Content {\n\tabstract readonly type: string\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class InputText extends Content {\n\treadonly type = \"input_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic create(text: string): InputText {\n\t\treturn new InputText(text)\n\t}\n\n\tstatic rehydrate(data: { text: string }): InputText {\n\t\treturn new InputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class UserMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"user\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic create(text: string): UserMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new UserMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): UserMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new UserMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class DeveloperMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"developer\"\n\treadonly content: InputText\n\n\tprivate constructor(content: InputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n\n\tstatic create(text: string): DeveloperMessage {\n\t\tconst content = InputText.create(text)\n\t\treturn new DeveloperMessage(content)\n\t}\n\n\tstatic rehydrate(data: { text: string }): DeveloperMessage {\n\t\tconst content = InputText.rehydrate(data)\n\t\treturn new DeveloperMessage(content)\n\t}\n}\n","import { Content } from \"@core/context-runtime/content\"\n\nexport class OutputText extends Content {\n\treadonly type = \"output_text\"\n\n\tprivate constructor(public readonly text: string) {\n\t\tsuper()\n\t}\n\n\tstatic rehydrate(data: { text: string }): OutputText {\n\t\treturn new OutputText(data.text)\n\t}\n\n\ttoJSON(): any[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: this.type,\n\t\t\t\ttext: this.text,\n\t\t\t},\n\t\t]\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { OutputText } from \"@core/context-runtime/content/output-text\"\n\nexport class ModelMessage extends ContextItem {\n\treadonly type = \"message\"\n\treadonly role = \"assistant\"\n\treadonly content: OutputText\n\n\tprivate constructor(content: OutputText) {\n\t\tsuper()\n\t\tthis.content = content\n\t}\n\n\tstatic rehydrate(data: { text: string }): ModelMessage {\n\t\tconst content = OutputText.rehydrate(data)\n\t\treturn new ModelMessage(content)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\trole: this.role,\n\t\t\tcontent: this.content.toJSON(),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class FunctionCall extends ContextItem {\n\treadonly type = \"function_call\"\n\treadonly callId: string\n\treadonly name: string\n\treadonly args: string\n\n\tprivate constructor(callId: string, name: string, args: string) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.name = name\n\t\tthis.args = args\n\t}\n\n\tstatic rehydrate(data: { callId: string; name: string; args: string }): FunctionCall {\n\t\treturn new FunctionCall(data.callId, data.name, data.args)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\tname: this.name,\n\t\t\targuments: this.args,\n\t\t}\n\t}\n}\n","import { InputText } from \"@core/context-runtime/content/input-text\"\nimport { SummaryText } from \"@core/context-runtime/content/summary-text\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\n\nexport class Reasoning extends ContextItem {\n\treadonly type = \"reasoning\"\n\treadonly content: InputText | undefined\n\treadonly encryptedContent: string | undefined\n\treadonly summary: SummaryText[]\n\n\tprivate constructor(\n\t\tcontent: InputText | undefined,\n\t\tencryptedContent?: string | undefined,\n\t\tsummary: SummaryText[] = [],\n\t) {\n\t\tsuper()\n\t\tthis.content = content\n\t\tthis.encryptedContent = encryptedContent\n\t\tthis.summary = summary\n\t}\n\n\tstatic rehydrate(data: {\n\t\tcontent: InputText | undefined\n\t\tencryptedContent: string | undefined\n\t\tsummary: SummaryText[]\n\t}): Reasoning {\n\t\treturn new Reasoning(data.content, data.encryptedContent, data.summary)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcontent: this.content?.toJSON(),\n\t\t\tencryptedContent: this.encryptedContent,\n\t\t\tsummary: this.summary.map((s) => s.toJSON()),\n\t\t}\n\t}\n}\n","import { ContextItem } from \"@core/context-runtime/context-item\"\nimport { InputText } from \"@core/context-runtime/content/input-text\"\n\nexport class FunctionCallOutput extends ContextItem {\n\treadonly type = \"function_call_output\"\n\treadonly callId: string\n\treadonly output: InputText[]\n\n\tprivate constructor(callId: string, output: InputText[]) {\n\t\tsuper()\n\t\tthis.callId = callId\n\t\tthis.output = output\n\t}\n\n\tstatic create(callId: string, output: InputText[]): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(callId, output)\n\t}\n\n\tstatic rehydrate(data: { callId: string; output: InputText[] }): FunctionCallOutput {\n\t\treturn new FunctionCallOutput(data.callId, data.output)\n\t}\n\n\ttoJSON(): any {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tcallId: this.callId,\n\t\t\toutput: this.output.map((o) => o.toJSON()),\n\t\t}\n\t}\n}\n","export interface Condition<T> {\n\tisSatisfiedBy(candidate: T): boolean\n\tand(other: Condition<T>): Condition<T>\n\tor(other: Condition<T>): Condition<T>\n\tnot(): Condition<T>\n}\n\nexport abstract class BaseCondition<T> implements Condition<T> {\n\tabstract isSatisfiedBy(candidate: T): boolean\n\n\tand(other: Condition<T>): Condition<T> {\n\t\treturn new AndCondition(this, other)\n\t}\n\n\tor(other: Condition<T>): Condition<T> {\n\t\treturn new OrCondition(this, other)\n\t}\n\n\tnot(): Condition<T> {\n\t\treturn new NotCondition(this)\n\t}\n}\n\nexport class AndCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) && this.right.isSatisfiedBy(candidate)\n\t}\n}\n\nexport class NotCondition<T> extends BaseCondition<T> {\n\tconstructor(private readonly condition: Condition<T>) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn !this.condition.isSatisfiedBy(candidate)\n\t}\n}\n\nexport class OrCondition<T> extends BaseCondition<T> {\n\tconstructor(\n\t\tprivate readonly left: Condition<T>,\n\t\tprivate readonly right: Condition<T>,\n\t) {\n\t\tsuper()\n\t}\n\n\tisSatisfiedBy(candidate: T): boolean {\n\t\treturn this.left.isSatisfiedBy(candidate) || this.right.isSatisfiedBy(candidate)\n\t}\n}\n","import { Condition } from \"@core/context-engine/condition/condition\"\n\nexport interface Action<T> {\n\tapply(candidate: T): T\n}\n\nexport class Rule<T> {\n\tprivate condition: Condition<T>\n\tprivate action: Action<T>\n\n\tconstructor({ when, then }: { when: Condition<T>; then: Action<T> }) {\n\t\tthis.condition = when\t\n\t\tthis.action = then\n\t}\n\n\tapply(candidate: T): T {\n\t\tif (this.condition.isSatisfiedBy(candidate)) {\n\t\t\treturn this.action.apply(candidate)\n\t\t}\n\t\treturn candidate\n\t}\n}\n","export abstract class Capability {\n abstract readonly capability: string\n}","import { Capability } from \"./capability\"\n\nexport class ReasoningEffort<Effort extends string> extends Capability {\n\treadonly capability = \"reasoning-effort\"\n\treadonly supportedEfforts: readonly Effort[]\n\treasoningEffort: Effort\n\n\tconstructor(supportedEfforts: readonly Effort[], defaultEffort: Effort) {\n\t\tsuper()\n\t\tthis.supportedEfforts = supportedEfforts\n\t\tthis.reasoningEffort = defaultEffort\n\t}\n\n\tsetReasoningEffort(effort: Effort): void {\n\t\tif (!this.supportedEfforts.includes(effort)) {\n\t\t\tthrow new Error(`Invalid reasoning effort: ${effort}`)\n\t\t}\n\t\tthis.reasoningEffort = effort;\n\t}\n\n\tgetReasoningEffort(): Effort {\n\t\treturn this.reasoningEffort\n\t}\n}\n","import { BaseCondition } from \"@core/context-engine/condition/condition\"\nimport { Action, Rule } from \"@core/context-engine/rule/rule\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\n\nexport class ReasoningEffortSupported extends BaseCondition<InferenceRequest> {\n\tisSatisfiedBy(candidate: InferenceRequest): boolean {\n\t\treturn candidate.model.capabilities.some((capability) => capability instanceof ReasoningEffort)\n\t}\n}\n\nexport class SetReasoningEffort implements Action<InferenceRequest> {\n\tapply(candidate: InferenceRequest): InferenceRequest {\n\t\tconst reasoningCapability = candidate.model.capabilities.find(\n\t\t\t(capability) => capability instanceof ReasoningEffort,\n\t\t)\n\t\tif (reasoningCapability) {\n\t\t\tconst providerRequest = candidate.providerRequest\n\t\t\tcandidate.providerRequest = {\n\t\t\t\t...providerRequest,\n\t\t\t\treasoning: {\n\t\t\t\t\teffort: reasoningCapability.getReasoningEffort(),\n\t\t\t\t},\n\t\t\t}\n\t\t}\n\t\treturn candidate\n\t}\n}\nexport const reasoningEffortRule = new Rule({\n\twhen: new ReasoningEffortSupported(),\n\tthen: new SetReasoningEffort(),\n})\n","import { Context } from \"@core/context-runtime/context\"\nimport { ContextItem } from \"@core/context-runtime/context-item\"\nimport { FunctionCall } from \"@core/context-runtime/output/function-call\"\nimport { ModelMessage } from \"@core/context-runtime/output/model-message\"\nimport { Reasoning } from \"@core/context-runtime/output/reasoning\"\nimport { InferenceRequest } from \"@core/generative-model/inference-request\"\nimport { ModelRuntime } from \"@core/generative-model/runtime/model-runtime\"\nimport { reasoningEffortRule } from \"@openai/rules/reasoning-effort\"\nimport OpenAI from \"openai\"\n\nexport class OpenAIResponses implements ModelRuntime {\n\tprivate readonly client: OpenAI\n\n\tconstructor() {\n\t\tthis.client = new OpenAI()\n\t}\n\n\tasync infer(inferenceRequest: InferenceRequest): Promise<ContextItem[]> {\n\t\tconst input = this.mapContextToRequest(inferenceRequest.context)\n\n\t\treasoningEffortRule.apply(inferenceRequest)\n\t\tconst response = await this.client.responses.create({\n\t\t\tmodel: inferenceRequest.model.id,\n\t\t\tinput: input,\n\t\t\t...inferenceRequest.providerRequest\n\t\t})\n\t\treturn this.extractContextItems(response)\n\t}\n\n\tmapContextToRequest(context: Context): any[] {\n\t\treturn context.getItems().map((item) => item.toJSON())\n\t}\n\n\textractContextItems(response: any): ContextItem[] {\n\t\treturn response.output.map((item: any) => {\n\t\t\tif (item.type === \"message\" && item.status === \"completed\") {\n\t\t\t\treturn ModelMessage.rehydrate(item.content[0] as { text: string })\n\t\t\t}\n\t\t\tif (item.type === \"function_call\" && item.status === \"completed\") {\n\t\t\t\treturn FunctionCall.rehydrate(item)\n\t\t\t}\n\t\t\tif (item.type === \"reasoning\" && item.status === \"completed\") {\n\t\t\t\treturn Reasoning.rehydrate(item)\n\t\t\t}\n\t\t})\n\t}\n}\n","import { Capability } from \"@core/generative-model/capabilities/capability\"\nimport { ReasoningEffort } from \"@core/generative-model/capabilities/reasoning-effort\"\nimport { GenerativeModel } from \"@core/generative-model/generative-model\"\n\nexport const openaiReasoningEffort = new ReasoningEffort<\"xhigh\" | \"high\" | \"medium\" | \"low\" | \"none\">([\"xhigh\", \"high\", \"medium\", \"low\", \"none\"], \"medium\")\n\nexport class GPT54 implements GenerativeModel<\"gpt-5.4\"> {\n\treadonly id = \"gpt-5.4\"\n\treadonly capabilities: Capability[] = [openaiReasoningEffort]\n}\n\nexport const gpt54 = new GPT54()","import { Context } from \"@core/context-runtime/context\"\nimport { GenerativeModel } from \"./generative-model\"\n\nexport class InferenceRequest {\n\treadonly model: GenerativeModel<string>\n\treadonly context: Context\n providerRequest: Record<string, unknown>\n\n\tconstructor(model: GenerativeModel<string>, context: Context) {\n\t\tthis.model = model\n\t\tthis.context = context\n\t\tthis.providerRequest = {}\n\t}\n}"],"mappings":"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","names":[]}
|