@futdevpro/fsm-dynamo
Advanced tools
| { | ||
| "name": "Dynamo-FSM CI/CD Pipeline", | ||
| "outputDir": "./logs/cicd-pipeline", | ||
| "timing": { | ||
| "stepTimeout": "10m", | ||
| "teeMaxRuntime": "10m", | ||
| "stepCooldown": "1s" | ||
| }, | ||
| "log": { | ||
| "runtimeMaxBytes": 5242880, | ||
| "trimCheckEveryN": 1000 | ||
| }, | ||
| "versionBump": { | ||
| "enabled": false | ||
| }, | ||
| "report": { | ||
| "fileName": "cicd-report.json", | ||
| "includeLogTail": true, | ||
| "logTailLines": 10000, | ||
| "includeStepLogs": false | ||
| }, | ||
| "steps": [ | ||
| { | ||
| "label": "discord-start", | ||
| "command": "dc ci-dn-s '{\"appName\":\"Dynamo-FSM\",\"appEmoji\":\"🧱\",\"commitMessage\":\"$COMMIT_MESSAGE\",\"branchName\":\"$GITHUB_REF_NAME\",\"author\":\"$GITHUB_ACTOR\",\"runNumber\":\"$GITHUB_RUN_NUMBER\",\"runId\":\"$GITHUB_RUN_ID\",\"repository\":\"$GITHUB_REPOSITORY\",\"eventName\":\"$GITHUB_EVENT_NAME\",\"eventDateTime\":\"$EVENT_DATETIME\"}'", | ||
| "fatal": false, | ||
| "discord": { | ||
| "hide": true | ||
| }, | ||
| "condition": { | ||
| "envSet": [ | ||
| "DISCORD_WEBHOOK_ID" | ||
| ] | ||
| } | ||
| }, | ||
| { | ||
| "label": "pre-flight", | ||
| "type": "pre-flight-check", | ||
| "fatal": true, | ||
| "discord": { | ||
| "emoji": "🔐", | ||
| "name": "Pre-flight Check" | ||
| }, | ||
| "settings": { | ||
| "requiredEnvVars": [ | ||
| "NPM_TOKEN" | ||
| ] | ||
| } | ||
| }, | ||
| { | ||
| "label": "install", | ||
| "command": "pnpm i", | ||
| "fatal": true, | ||
| "discord": { | ||
| "hide": true | ||
| } | ||
| }, | ||
| { | ||
| "label": "build", | ||
| "command": "npx tsc", | ||
| "fatal": true, | ||
| "discord": { | ||
| "emoji": "🏗️", | ||
| "name": "Build" | ||
| } | ||
| }, | ||
| { | ||
| "label": "test", | ||
| "command": "npx jasmine", | ||
| "fatal": true, | ||
| "discord": { | ||
| "emoji": "🧪", | ||
| "name": "Tests" | ||
| } | ||
| }, | ||
| { | ||
| "label": "npm-publish", | ||
| "type": "npm-publish", | ||
| "fatal": false, | ||
| "discord": { | ||
| "emoji": "📦", | ||
| "name": "NPM Publish" | ||
| }, | ||
| "condition": { | ||
| "branchMatch": [ | ||
| "master" | ||
| ] | ||
| }, | ||
| "settings": { | ||
| "directory": ".", | ||
| "skipIfPublished": true, | ||
| "retryAttempts": 3, | ||
| "retryDelaySeconds": 30 | ||
| } | ||
| }, | ||
| { | ||
| "label": "pipeline-report", | ||
| "command": "fdp pipeline-report --report ./logs/cicd-pipeline/cicd-report.json --overseer-url $OVERSEER_URL --overseer-secret $OVERSEER_SECRET_KEY --branch $GITHUB_REF_NAME", | ||
| "fatal": false, | ||
| "always": true, | ||
| "discord": { | ||
| "emoji": "📊", | ||
| "name": "Build Report" | ||
| }, | ||
| "condition": { | ||
| "envSet": [ | ||
| "OVERSEER_URL" | ||
| ] | ||
| } | ||
| }, | ||
| { | ||
| "label": "discord-result", | ||
| "command": "fdp pipeline-notify --report ./logs/cicd-pipeline/cicd-report.json --config ./pipeline.cicd.config.json --app-name Dynamo-FSM --app-emoji 🧱 --webhook-id $DISCORD_WEBHOOK_ID --webhook-token $DISCORD_WEBHOOK_TOKEN --overseer-url $OVERSEER_DASHBOARD_URL", | ||
| "fatal": false, | ||
| "retryOnFail": 2, | ||
| "retryDelaySec": 5, | ||
| "always": true, | ||
| "discord": { | ||
| "hide": true | ||
| }, | ||
| "condition": { | ||
| "envSet": [ | ||
| "DISCORD_WEBHOOK_ID" | ||
| ] | ||
| } | ||
| } | ||
| ] | ||
| } |
| import { DyFM_AI_ModelInfo } from '../_models/ai-model-info.interface'; | ||
| /** | ||
| * Lookups over a per-provider model registry (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …). | ||
| * | ||
| * The registry array is passed IN — this keeps the agnostic `./ai` core free of | ||
| * any provider-submodule dependency (the execution-layer service supplies its own | ||
| * provider's registry). The lookup is by exact API model `id`. | ||
| */ | ||
| export declare class DyFM_AI_ModelRegistry_Util { | ||
| /** | ||
| * A modell-descriptor megkeresese id alapjan a megadott registry-ben. | ||
| * @param models - a provider registry tomb (pl. DyFM_OAI_Models) | ||
| * @param id - pontos API modell-azonosito (pl. 'gpt-5.5') | ||
| */ | ||
| static findModelInfo(models: DyFM_AI_ModelInfo[], id: string): DyFM_AI_ModelInfo | undefined; | ||
| /** | ||
| * Tamogatja-e a modell a function calling-ot (tool use)? | ||
| * Ismeretlen id eseten `false` (honesty — soha ne feltetelezzunk tool-kepesseget). | ||
| * @param models - a provider registry tomb | ||
| * @param id - pontos API modell-azonosito | ||
| */ | ||
| static modelSupportsTools(models: DyFM_AI_ModelInfo[], id: string): boolean; | ||
| } | ||
| //# sourceMappingURL=ai-model-registry.util.d.ts.map |
| {"version":3,"file":"ai-model-registry.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_collections/ai-model-registry.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,0BAA0B;IAErC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI5F;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;CAG5E"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_AI_ModelRegistry_Util = void 0; | ||
| /** | ||
| * Lookups over a per-provider model registry (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …). | ||
| * | ||
| * The registry array is passed IN — this keeps the agnostic `./ai` core free of | ||
| * any provider-submodule dependency (the execution-layer service supplies its own | ||
| * provider's registry). The lookup is by exact API model `id`. | ||
| */ | ||
| class DyFM_AI_ModelRegistry_Util { | ||
| /** | ||
| * A modell-descriptor megkeresese id alapjan a megadott registry-ben. | ||
| * @param models - a provider registry tomb (pl. DyFM_OAI_Models) | ||
| * @param id - pontos API modell-azonosito (pl. 'gpt-5.5') | ||
| */ | ||
| static findModelInfo(models, id) { | ||
| return models.find((model) => model.id === id); | ||
| } | ||
| /** | ||
| * Tamogatja-e a modell a function calling-ot (tool use)? | ||
| * Ismeretlen id eseten `false` (honesty — soha ne feltetelezzunk tool-kepesseget). | ||
| * @param models - a provider registry tomb | ||
| * @param id - pontos API modell-azonosito | ||
| */ | ||
| static modelSupportsTools(models, id) { | ||
| return DyFM_AI_ModelRegistry_Util.findModelInfo(models, id)?.capabilities?.functionCalling ?? false; | ||
| } | ||
| } | ||
| exports.DyFM_AI_ModelRegistry_Util = DyFM_AI_ModelRegistry_Util; | ||
| //# sourceMappingURL=ai-model-registry.util.js.map |
| {"version":3,"file":"ai-model-registry.util.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_collections/ai-model-registry.util.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,0BAA0B;IAErC;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAA2B,EAAE,EAAU;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAA2B,EAAE,EAAU;QAC/D,OAAO,0BAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,eAAe,IAAI,KAAK,CAAC;IACtG,CAAC;CACF;AApBD,gEAoBC"} |
| /** | ||
| * Per-model capability flags. | ||
| * | ||
| * Where {@link DyFM_AI_ProviderCapabilities} describes what a PROVIDER can do | ||
| * in aggregate, this describes what a single concrete MODEL supports. This is | ||
| * the honest source of truth for feature-gating: e.g. an embedding model has | ||
| * functionCalling=false, a reasoning chat model has functionCalling=true, a | ||
| * local generic model may have functionCalling decided at runtime. | ||
| */ | ||
| export interface DyFM_AI_ModelCapabilities { | ||
| /** Native function calling / tool use. The driver for the tool-calling feature. */ | ||
| functionCalling: boolean; | ||
| /** Image input (vision). */ | ||
| vision: boolean; | ||
| /** Streaming responses. */ | ||
| streaming: boolean; | ||
| /** Structured output / JSON mode (OpenAI structured outputs, Gemini responseSchema, etc.). */ | ||
| jsonMode: boolean; | ||
| /** Audio input (speech-to-text / audio understanding). */ | ||
| audioInput: boolean; | ||
| /** Audio output (text-to-speech / speech generation). */ | ||
| audioOutput: boolean; | ||
| /** Image generation (the model produces images). */ | ||
| imageGeneration: boolean; | ||
| /** Embedding generation (vector output). */ | ||
| embeddings: boolean; | ||
| } | ||
| //# sourceMappingURL=ai-model-capabilities.interface.d.ts.map |
| {"version":3,"file":"ai-model-capabilities.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-capabilities.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,mFAAmF;IACnF,eAAe,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,QAAQ,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,yDAAyD;IACzD,WAAW,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,eAAe,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,UAAU,EAAE,OAAO,CAAC;CACrB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=ai-model-capabilities.interface.js.map |
| {"version":3,"file":"ai-model-capabilities.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-capabilities.interface.ts"],"names":[],"mappings":""} |
| import { DyFM_AI_Provider } from '../_enums/ai-provider.enum'; | ||
| import { DyFM_AI_ModelType } from '../_enums/ai-model-type.enum'; | ||
| import { DyFM_AI_ModelCapabilities } from './ai-model-capabilities.interface'; | ||
| import { DyFM_AI_ModelSettingsSchema } from './ai-model-settings-schema.interface'; | ||
| /** | ||
| * Lifecycle status of a model in the provider's catalogue. | ||
| * | ||
| * `ga` — generally available, recommended for new work. | ||
| * `preview` — available but pre-GA (API/behaviour may change). | ||
| * `deprecated` — still callable but on a sunset path; prefer {@link DyFM_AI_ModelInfo.successorId}. | ||
| */ | ||
| export type DyFM_AI_ModelStatus = 'ga' | 'preview' | 'deprecated'; | ||
| /** | ||
| * Single-model descriptor for the provider model registry. | ||
| * | ||
| * The provider registries (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …) are arrays | ||
| * of these — an SDK-free, data-only source of truth for which models exist and | ||
| * what each can do. The bare model enums (`DyFM_OAI_Model`, …) remain the typed | ||
| * id keys; a registry entry's `id` references one of those values. | ||
| * | ||
| * Note: model line-ups churn fast (see the 2026-06 research) — keep the registry | ||
| * current and rely on `status`/`successorId` rather than silently breaking on a | ||
| * retired id. | ||
| */ | ||
| export interface DyFM_AI_ModelInfo { | ||
| /** Exact API model string (e.g. 'gpt-5.5', 'claude-opus-4-8', 'gemini-3.5-flash'). */ | ||
| id: string; | ||
| /** The provider that serves this model. */ | ||
| provider: DyFM_AI_Provider; | ||
| /** The kind of model (chat / embedding / image / audio). */ | ||
| modelType: DyFM_AI_ModelType; | ||
| /** What this specific model can DO (feature gates). */ | ||
| capabilities: DyFM_AI_ModelCapabilities; | ||
| /** | ||
| * RESERVED (FR-048) — which tuning PARAMETERS this model accepts/rejects. | ||
| * | ||
| * Sibling of {@link capabilities}. NOT populated by FR-047 and NOT yet | ||
| * consumed by any reconciler — reserved space for the future per-model | ||
| * agnostic settings system. Each model accepts a different settings surface | ||
| * (e.g. Opus 4.7+ rejects temperature/topP/topK; reasoning models add | ||
| * reasoningEffort), and that knowledge must be curated continuously like the | ||
| * model registry itself. | ||
| * | ||
| * See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md` | ||
| */ | ||
| settingsSchema?: DyFM_AI_ModelSettingsSchema; | ||
| /** Input context window in tokens, if applicable. */ | ||
| contextWindow?: number; | ||
| /** Maximum output tokens, if applicable. */ | ||
| maxOutputTokens?: number; | ||
| /** Lifecycle status; defaults to `ga` when omitted. */ | ||
| status?: DyFM_AI_ModelStatus; | ||
| /** When `deprecated`/sunsetting, the recommended replacement model id. */ | ||
| successorId?: string; | ||
| /** When `deprecated`, the earliest known shutdown date (ISO yyyy-mm-dd). */ | ||
| sunsetDate?: string; | ||
| /** Human-readable name for UI (e.g. 'GPT-5.5', 'Claude Opus 4.8'). */ | ||
| displayName?: string; | ||
| /** Provider-specific tier label (e.g. 'flagship', 'mini', 'Opus', 'Sonnet', 'Haiku'). */ | ||
| tier?: string; | ||
| } | ||
| //# sourceMappingURL=ai-model-info.interface.d.ts.map |
| {"version":3,"file":"ai-model-info.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-info.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4DAA4D;IAC5D,SAAS,EAAE,iBAAiB,CAAC;IAC7B,uDAAuD;IACvD,YAAY,EAAE,yBAAyB,CAAC;IACxC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=ai-model-info.interface.js.map |
| {"version":3,"file":"ai-model-info.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-info.interface.ts"],"names":[],"mappings":""} |
| /** | ||
| * RESERVED — per-model settings schema (FR-048; NOT implemented by FR-047). | ||
| * | ||
| * Sibling of {@link DyFM_AI_ModelCapabilities}: capabilities describe what a | ||
| * model can DO; this describes which tuning PARAMETERS it accepts, their | ||
| * bounds, and which it REJECTS. A flat {@link DyFM_AI_CallSettings} bag cannot | ||
| * express this, yet sending an unsupported param can hard-fail a call (e.g. | ||
| * Anthropic Opus 4.7+ rejects `temperature`/`top_p`/`top_k` with HTTP 400). | ||
| * | ||
| * This type reserves the architectural space and documents intent. The | ||
| * registry consts do NOT populate `settingsSchema` yet, and no reconciler | ||
| * consumes it yet — both are FR-048 work. The exact shape may evolve when | ||
| * FR-048 is built; treat this as a forward placeholder, not a frozen contract. | ||
| * | ||
| * See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md` | ||
| * `documentations/guidelines/development/ai-per-model-settings.md` | ||
| */ | ||
| export interface DyFM_AI_ModelSettingsSchema { | ||
| /** Agnostic setting keys this model ACCEPTS (e.g. 'temperature','topP','maxTokens','reasoningEffort'). */ | ||
| supported?: string[]; | ||
| /** | ||
| * Agnostic setting keys this model REJECTS — sending them errors. | ||
| * Example: Opus 4.7+ → ['temperature','topP','topK'] (HTTP 400 on non-default). | ||
| * The future reconciler drops these (debug-log, never silently). | ||
| */ | ||
| unsupported?: string[]; | ||
| /** Per-key value constraints (range / enum / default). */ | ||
| constraints?: Record<string, DyFM_AI_SettingConstraint>; | ||
| /** | ||
| * Provider/model-specific knobs NOT present on the agnostic CallSettings | ||
| * (e.g. OpenAI 'reasoningEffort', Gemini 'thinkingConfig'). The provider | ||
| * translator maps these to the native param. | ||
| */ | ||
| extraParams?: string[]; | ||
| } | ||
| /** | ||
| * RESERVED (FR-048) — value constraint for a single tuning parameter. | ||
| * Forward placeholder; shape may evolve when FR-048 is built. | ||
| */ | ||
| export interface DyFM_AI_SettingConstraint { | ||
| /** Minimum numeric value (inclusive), if applicable. */ | ||
| min?: number; | ||
| /** Maximum numeric value (inclusive), if applicable. */ | ||
| max?: number; | ||
| /** Default value the provider applies when omitted. */ | ||
| default?: unknown; | ||
| /** Allowed discrete values (enum-like params, e.g. reasoningEffort). */ | ||
| allowed?: unknown[]; | ||
| /** Free-text note (Hunglish ok) — e.g. provider quirk, version gate. */ | ||
| note?: string; | ||
| } | ||
| //# sourceMappingURL=ai-model-settings-schema.interface.d.ts.map |
| {"version":3,"file":"ai-model-settings-schema.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-settings-schema.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,2BAA2B;IAC1C,0GAA0G;IAC1G,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACxD;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=ai-model-settings-schema.interface.js.map |
| {"version":3,"file":"ai-model-settings-schema.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-model-settings-schema.interface.ts"],"names":[],"mappings":""} |
| /** | ||
| * A normalized tool invocation requested by the model. | ||
| * | ||
| * Each provider's native shape is normalized into this at the translator boundary: | ||
| * - OpenAI: message.tool_calls[] → { id, name, arguments: JSON.parse(function.arguments) } | ||
| * - Anthropic: content[] { type:'tool_use', id, name, input } → { id, name, arguments: input } | ||
| * - Gemini: parts[].functionCall { id, name, args } → { id, name, arguments: args } | ||
| * | ||
| * `arguments` is ALWAYS a parsed object (OpenAI's JSON string is parsed at the boundary). | ||
| */ | ||
| export interface DyFM_AI_ToolCall { | ||
| /** Provider call id — echoed back when returning the result. */ | ||
| id: string; | ||
| /** The invoked tool's name. */ | ||
| name: string; | ||
| /** Parsed arguments object. */ | ||
| arguments: Record<string, unknown>; | ||
| } | ||
| //# sourceMappingURL=ai-tool-call.interface.d.ts.map |
| {"version":3,"file":"ai-tool-call.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-call.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=ai-tool-call.interface.js.map |
| {"version":3,"file":"ai-tool-call.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-call.interface.ts"],"names":[],"mappings":""} |
| /** | ||
| * Handler for a single function-calling tool — receives the parsed arguments | ||
| * (JSON already parsed) and returns the tool result as a string (which is fed | ||
| * back to the model). Generalized from the proven legacy `FDPNTS_GPT_ToolHandler`. | ||
| */ | ||
| export type DyFM_AI_ToolHandler = (args: Record<string, unknown>) => Promise<string> | string; | ||
| /** | ||
| * Tool-name → handler registration for the `requestWithTools` agent-loop. | ||
| */ | ||
| export type DyFM_AI_ToolHandlers = Record<string, DyFM_AI_ToolHandler>; | ||
| //# sourceMappingURL=ai-tool-handler.type.d.ts.map |
| {"version":3,"file":"ai-tool-handler.type.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-handler.type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=ai-tool-handler.type.js.map |
| {"version":3,"file":"ai-tool-handler.type.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-handler.type.ts"],"names":[],"mappings":""} |
| /** | ||
| * The result of executing a tool, fed back to the model. | ||
| * | ||
| * Translated per provider: | ||
| * - OpenAI: { role:'tool', tool_call_id: toolCallId, content } | ||
| * - Anthropic: content block { type:'tool_result', tool_use_id: toolCallId, content, is_error: isError } | ||
| * - Gemini: part { functionResponse: { id: toolCallId, name, response: { result: content } } } | ||
| */ | ||
| export interface DyFM_AI_ToolResult { | ||
| /** Must echo the originating {@link DyFM_AI_ToolCall.id}. */ | ||
| toolCallId: string; | ||
| /** The tool's output (or an error message — see {@link isError}). */ | ||
| content: string; | ||
| /** True when the tool failed; the model is told so it can correct. */ | ||
| isError?: boolean; | ||
| } | ||
| //# sourceMappingURL=ai-tool-result.interface.d.ts.map |
| {"version":3,"file":"ai-tool-result.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-result.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=ai-tool-result.interface.js.map |
| {"version":3,"file":"ai-tool-result.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool-result.interface.ts"],"names":[],"mappings":""} |
| /** | ||
| * Provider-neutral tool (function) definition for native function calling. | ||
| * | ||
| * One agnostic shape, translated per provider by the execution layer: | ||
| * - OpenAI-wire: → { type:'function', function:{ name, description, parameters } } | ||
| * - Anthropic: → { name, description, input_schema: parameters } | ||
| * - Gemini: → tools:[{ functionDeclarations:[{ name, description, parameters }] }] | ||
| */ | ||
| export interface DyFM_AI_Tool { | ||
| /** Function name. No spaces / special chars (Gemini constraint). */ | ||
| name: string; | ||
| /** What the tool does — the model uses this to decide when to call it. */ | ||
| description: string; | ||
| /** JSON Schema (object schema) describing the arguments. Translated to each provider's param shape. */ | ||
| parameters: object; | ||
| } | ||
| //# sourceMappingURL=ai-tool.interface.d.ts.map |
| {"version":3,"file":"ai-tool.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,UAAU,EAAE,MAAM,CAAC;CACpB"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=ai-tool.interface.js.map |
| {"version":3,"file":"ai-tool.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-tool.interface.ts"],"names":[],"mappings":""} |
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| /** | ||
| * Anthropic Claude model registry — verified 2026-06-01 against platform.claude.com docs. | ||
| * | ||
| * All Claude models are chat (Messages API) models — Anthropic has NO embeddings API. | ||
| * Tool use is universal (content-block `tool_use` / `tool_result` wire format). | ||
| * Anthropic has no dedicated JSON-mode flag (structured output is done via tools), | ||
| * so `jsonMode` is false across the board. | ||
| * | ||
| * Param note (translator): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400 — | ||
| * not modelled here, handled in the Anthropic call translator. | ||
| */ | ||
| export declare const DyFM_AAI_Models: DyFM_AI_ModelInfo[]; | ||
| //# sourceMappingURL=aai-models.const.d.ts.map |
| {"version":3,"file":"aai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EA6D9C,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_AAI_Models = void 0; | ||
| const ai_provider_enum_1 = require("../../../_enums/ai-provider.enum"); | ||
| const ai_model_type_enum_1 = require("../../../_enums/ai-model-type.enum"); | ||
| const aai_model_enum_1 = require("../_enums/aai-model.enum"); | ||
| /** | ||
| * Anthropic Claude model registry — verified 2026-06-01 against platform.claude.com docs. | ||
| * | ||
| * All Claude models are chat (Messages API) models — Anthropic has NO embeddings API. | ||
| * Tool use is universal (content-block `tool_use` / `tool_result` wire format). | ||
| * Anthropic has no dedicated JSON-mode flag (structured output is done via tools), | ||
| * so `jsonMode` is false across the board. | ||
| * | ||
| * Param note (translator): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400 — | ||
| * not modelled here, handled in the Anthropic call translator. | ||
| */ | ||
| exports.DyFM_AAI_Models = [ | ||
| { | ||
| id: aai_model_enum_1.DyFM_AAI_Model.claude_opus_4_8, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.Anthropic, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'Claude Opus 4.8', | ||
| tier: 'Opus', | ||
| status: 'ga', | ||
| contextWindow: 1_000_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: aai_model_enum_1.DyFM_AAI_Model.claude_sonnet_4_6, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.Anthropic, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'Claude Sonnet 4.6', | ||
| tier: 'Sonnet', | ||
| status: 'ga', | ||
| contextWindow: 1_000_000, | ||
| maxOutputTokens: 64_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: aai_model_enum_1.DyFM_AAI_Model.claude_haiku_4_5, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.Anthropic, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'Claude Haiku 4.5', | ||
| tier: 'Haiku', | ||
| status: 'ga', | ||
| contextWindow: 200_000, | ||
| maxOutputTokens: 64_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| ]; | ||
| //# sourceMappingURL=aai-models.const.js.map |
| {"version":3,"file":"aai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,6DAA0D;AAE1D;;;;;;;;;;GAUG;AACU,QAAA,eAAe,GAAwB;IAClD;QACE,EAAE,EAAE,+BAAc,CAAC,eAAe;QAClC,QAAQ,EAAE,mCAAgB,CAAC,SAAS;QACpC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,iBAAiB;QACpC,QAAQ,EAAE,mCAAgB,CAAC,SAAS;QACpC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,gBAAgB;QACnC,QAAQ,EAAE,mCAAgB,CAAC,SAAS;QACpC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;CACF,CAAC"} |
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| /** | ||
| * FDP-AI model registry. | ||
| * | ||
| * FDP-AI is an internal, OpenAI-wire-compatible HTTP gateway (`/chat/completions`), | ||
| * so tool calling follows the OpenAI format. Capabilities ultimately depend on the | ||
| * backing gateway/model — `functionCalling` is declared true on the assumption the | ||
| * gateway forwards OpenAI-style tools; confirm against the live FDP-AI deployment. | ||
| * Context window is gateway-defined and therefore left unset. | ||
| */ | ||
| export declare const DyFM_FdpAI_Models: DyFM_AI_ModelInfo[]; | ||
| //# sourceMappingURL=fdpai-models.const.d.ts.map |
| {"version":3,"file":"fdpai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAkBhD,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_FdpAI_Models = void 0; | ||
| const ai_provider_enum_1 = require("../../../_enums/ai-provider.enum"); | ||
| const ai_model_type_enum_1 = require("../../../_enums/ai-model-type.enum"); | ||
| const fdpai_model_enum_1 = require("../_enums/fdpai-model.enum"); | ||
| /** | ||
| * FDP-AI model registry. | ||
| * | ||
| * FDP-AI is an internal, OpenAI-wire-compatible HTTP gateway (`/chat/completions`), | ||
| * so tool calling follows the OpenAI format. Capabilities ultimately depend on the | ||
| * backing gateway/model — `functionCalling` is declared true on the assumption the | ||
| * gateway forwards OpenAI-style tools; confirm against the live FDP-AI deployment. | ||
| * Context window is gateway-defined and therefore left unset. | ||
| */ | ||
| exports.DyFM_FdpAI_Models = [ | ||
| { | ||
| id: fdpai_model_enum_1.DyFM_FdpAI_Model.fdpBase1, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.FdpAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'FDP Base 1', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: true, // OpenAI-wire compatible — verify against the live gateway | ||
| vision: false, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| ]; | ||
| //# sourceMappingURL=fdpai-models.const.js.map |
| {"version":3,"file":"fdpai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,iEAA8D;AAE9D;;;;;;;;GAQG;AACU,QAAA,iBAAiB,GAAwB;IACpD;QACE,EAAE,EAAE,mCAAgB,CAAC,QAAQ;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,KAAK;QAChC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI,EAAE,2DAA2D;YAClF,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;CACF,CAAC"} |
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| /** | ||
| * Google Gemini model registry — verified 2026-06-01 against ai.google.dev docs. | ||
| * | ||
| * SDK note: depend on `@google/genai` (the old `@google/generative-ai` was sunset | ||
| * 2025-11-30). Tool use via `functionDeclarations`; tool results are returned under | ||
| * a `user`-role `functionResponse` part (no dedicated tool role). | ||
| * | ||
| * Video input is a real Gemini capability but is not yet modelled in | ||
| * {@link DyFM_AI_ModelCapabilities} — `vision` covers image input only. | ||
| */ | ||
| export declare const DyFM_GAI_Models: DyFM_AI_ModelInfo[]; | ||
| //# sourceMappingURL=gai-models.const.d.ts.map |
| {"version":3,"file":"gai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EA+E9C,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_GAI_Models = void 0; | ||
| const ai_provider_enum_1 = require("../../../_enums/ai-provider.enum"); | ||
| const ai_model_type_enum_1 = require("../../../_enums/ai-model-type.enum"); | ||
| const gai_model_enum_1 = require("../_enums/gai-model.enum"); | ||
| /** | ||
| * Google Gemini model registry — verified 2026-06-01 against ai.google.dev docs. | ||
| * | ||
| * SDK note: depend on `@google/genai` (the old `@google/generative-ai` was sunset | ||
| * 2025-11-30). Tool use via `functionDeclarations`; tool results are returned under | ||
| * a `user`-role `functionResponse` part (no dedicated tool role). | ||
| * | ||
| * Video input is a real Gemini capability but is not yet modelled in | ||
| * {@link DyFM_AI_ModelCapabilities} — `vision` covers image input only. | ||
| */ | ||
| exports.DyFM_GAI_Models = [ | ||
| { | ||
| id: gai_model_enum_1.DyFM_GAI_Model.gemini_3_5_flash, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.Google, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'Gemini 3.5 Flash', | ||
| tier: 'flash', | ||
| status: 'ga', | ||
| contextWindow: 1_048_576, | ||
| maxOutputTokens: 65_536, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: gai_model_enum_1.DyFM_GAI_Model.gemini_3_1_pro_preview, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.Google, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'Gemini 3.1 Pro (preview)', | ||
| tier: 'pro', | ||
| status: 'preview', | ||
| contextWindow: 1_048_576, | ||
| maxOutputTokens: 65_536, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: gai_model_enum_1.DyFM_GAI_Model.gemini_3_1_flash_lite, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.Google, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'Gemini 3.1 Flash-Lite', | ||
| tier: 'flash-lite', | ||
| status: 'ga', | ||
| contextWindow: 1_048_576, | ||
| maxOutputTokens: 65_536, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: gai_model_enum_1.DyFM_GAI_Model.gemini_embedding_2, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.Google, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding, | ||
| displayName: 'Gemini Embedding 2', | ||
| status: 'ga', | ||
| contextWindow: 8_192, | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: true, // multimodal embedding (text / image / audio) | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| ]; | ||
| //# sourceMappingURL=gai-models.const.js.map |
| {"version":3,"file":"gai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,6DAA0D;AAE1D;;;;;;;;;GASG;AACU,QAAA,eAAe,GAAwB;IAClD;QACE,EAAE,EAAE,+BAAc,CAAC,gBAAgB;QACnC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,sBAAsB;QACzC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,qBAAqB;QACxC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,kBAAkB;QACrC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,IAAI,EAAE,8CAA8C;YAC5D,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;SACjB;KACF;CACF,CAAC"} |
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| /** | ||
| * Local-AI model registry. | ||
| * | ||
| * Local models are served by a self-hosted, OpenAI-wire-compatible server | ||
| * (lm-studio / ollama / vllm). These are GENERIC descriptors — the real | ||
| * capabilities depend entirely on the model the user has loaded at runtime. | ||
| * In particular `functionCalling` is left FALSE here because many local models | ||
| * do not support tool calling; it must be confirmed per loaded model rather than | ||
| * assumed. Context window is model-defined and therefore left unset. | ||
| */ | ||
| export declare const DyFM_LAI_Models: DyFM_AI_ModelInfo[]; | ||
| //# sourceMappingURL=lai-models.const.d.ts.map |
| {"version":3,"file":"lai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAmC9C,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_LAI_Models = void 0; | ||
| const ai_provider_enum_1 = require("../../../_enums/ai-provider.enum"); | ||
| const ai_model_type_enum_1 = require("../../../_enums/ai-model-type.enum"); | ||
| const lai_model_enum_1 = require("../_enums/lai-model.enum"); | ||
| /** | ||
| * Local-AI model registry. | ||
| * | ||
| * Local models are served by a self-hosted, OpenAI-wire-compatible server | ||
| * (lm-studio / ollama / vllm). These are GENERIC descriptors — the real | ||
| * capabilities depend entirely on the model the user has loaded at runtime. | ||
| * In particular `functionCalling` is left FALSE here because many local models | ||
| * do not support tool calling; it must be confirmed per loaded model rather than | ||
| * assumed. Context window is model-defined and therefore left unset. | ||
| */ | ||
| exports.DyFM_LAI_Models = [ | ||
| { | ||
| id: lai_model_enum_1.DyFM_LAI_Model.generic_llm, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.LocalAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'Local generic LLM', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: false, // runtime/model-dependent — confirm per loaded model | ||
| vision: false, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: lai_model_enum_1.DyFM_LAI_Model.text_embedding, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.LocalAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding, | ||
| displayName: 'Local text embedding', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: false, | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| ]; | ||
| //# sourceMappingURL=lai-models.const.js.map |
| {"version":3,"file":"lai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,6DAA0D;AAE1D;;;;;;;;;GASG;AACU,QAAA,eAAe,GAAwB;IAClD;QACE,EAAE,EAAE,+BAAc,CAAC,WAAW;QAC9B,QAAQ,EAAE,mCAAgB,CAAC,OAAO;QAClC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK,EAAE,qDAAqD;YAC7E,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,cAAc;QACjC,QAAQ,EAAE,mCAAgB,CAAC,OAAO;QAClC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;SACjB;KACF;CACF,CAAC"} |
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| /** | ||
| * OpenAI model registry — verified 2026-06-01 against developers.openai.com docs. | ||
| * | ||
| * Contains current GA + still-callable legacy models. Retired models are omitted; | ||
| * sunsetting ones carry `status: 'deprecated'` + `successorId` + `sunsetDate`. | ||
| * | ||
| * Tool-calling note: native function calling is universal across current OpenAI | ||
| * chat models. The `-pro` reasoning models support tools but NOT streaming and | ||
| * are Responses-API-only — reflected in `capabilities.streaming`. | ||
| */ | ||
| export declare const DyFM_OAI_Models: DyFM_AI_ModelInfo[]; | ||
| //# sourceMappingURL=oai-models.const.d.ts.map |
| {"version":3,"file":"oai-models.const.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAiO9C,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_OAI_Models = void 0; | ||
| const ai_provider_enum_1 = require("../../../_enums/ai-provider.enum"); | ||
| const ai_model_type_enum_1 = require("../../../_enums/ai-model-type.enum"); | ||
| const oai_model_enum_1 = require("../_enums/oai-model.enum"); | ||
| /** | ||
| * OpenAI model registry — verified 2026-06-01 against developers.openai.com docs. | ||
| * | ||
| * Contains current GA + still-callable legacy models. Retired models are omitted; | ||
| * sunsetting ones carry `status: 'deprecated'` + `successorId` + `sunsetDate`. | ||
| * | ||
| * Tool-calling note: native function calling is universal across current OpenAI | ||
| * chat models. The `-pro` reasoning models support tools but NOT streaming and | ||
| * are Responses-API-only — reflected in `capabilities.streaming`. | ||
| */ | ||
| exports.DyFM_OAI_Models = [ | ||
| // ── Chat / reasoning (current GA) ── | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gpt55, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.5', | ||
| tier: 'flagship', | ||
| status: 'ga', | ||
| contextWindow: 1_050_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gpt55_pro, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.5 Pro', | ||
| tier: 'pro', | ||
| status: 'ga', | ||
| contextWindow: 1_050_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: false, // Responses-API-only, no streaming | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gpt54, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.4', | ||
| tier: 'flagship', | ||
| status: 'ga', | ||
| contextWindow: 1_000_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gpt54_mini, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.4 mini', | ||
| tier: 'mini', | ||
| status: 'ga', | ||
| contextWindow: 400_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gpt54_nano, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.4 nano', | ||
| tier: 'nano', | ||
| status: 'ga', | ||
| contextWindow: 400_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.o3_pro, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'o3-pro', | ||
| tier: 'pro', | ||
| status: 'ga', | ||
| contextWindow: 200_000, | ||
| maxOutputTokens: 100_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: false, // Responses-API-only, no streaming | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| // ── Chat (legacy-active, sunsetting) ── | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gpt4o, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-4o', | ||
| tier: 'legacy', | ||
| status: 'deprecated', | ||
| successorId: oai_model_enum_1.DyFM_OAI_Model.gpt54_mini, | ||
| sunsetDate: '2026-10-23', | ||
| contextWindow: 128_000, | ||
| maxOutputTokens: 16_384, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gpt4o_mini, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-4o mini', | ||
| tier: 'legacy', | ||
| status: 'deprecated', | ||
| successorId: oai_model_enum_1.DyFM_OAI_Model.gpt54_mini, | ||
| sunsetDate: '2026-10-23', | ||
| contextWindow: 128_000, | ||
| maxOutputTokens: 16_384, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| // ── Embeddings (current GA) ── | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.textEmbedding_3Small, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding, | ||
| displayName: 'text-embedding-3-small', | ||
| status: 'ga', | ||
| contextWindow: 8_191, | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: false, | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.textEmbedding_3Large, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Embedding, | ||
| displayName: 'text-embedding-3-large', | ||
| status: 'ga', | ||
| contextWindow: 8_191, | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: false, | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| // ── Image generation (current GA) ── | ||
| { | ||
| id: oai_model_enum_1.DyFM_OAI_Model.gptImage_2, | ||
| provider: ai_provider_enum_1.DyFM_AI_Provider.OpenAI, | ||
| modelType: ai_model_type_enum_1.DyFM_AI_ModelType.Image, | ||
| displayName: 'GPT Image 2', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: true, // accepts image input for editing | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: true, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| ]; | ||
| //# sourceMappingURL=oai-models.const.js.map |
| {"version":3,"file":"oai-models.const.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2EAAuE;AAEvE,6DAA0D;AAE1D;;;;;;;;;GASG;AACU,QAAA,eAAe,GAAwB;IAClD,sCAAsC;IACtC;QACE,EAAE,EAAE,+BAAc,CAAC,KAAK;QACxB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,SAAS;QAC5B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK,EAAE,mCAAmC;YACrD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,KAAK;QACxB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,SAAS;QACxB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,MAAM;QACzB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK,EAAE,mCAAmC;YACrD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IAED,yCAAyC;IACzC;QACE,EAAE,EAAE,+BAAc,CAAC,KAAK;QACxB,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,+BAAc,CAAC,UAAU;QACtC,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,IAAI;QACjC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,+BAAc,CAAC,UAAU;QACtC,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,KAAK;SAClB;KACF;IAED,gCAAgC;IAChC;QACE,EAAE,EAAE,+BAAc,CAAC,oBAAoB;QACvC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;SACjB;KACF;IACD;QACE,EAAE,EAAE,+BAAc,CAAC,oBAAoB;QACvC,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,SAAS;QACtC,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;SACjB;KACF;IAED,sCAAsC;IACtC;QACE,EAAE,EAAE,+BAAc,CAAC,UAAU;QAC7B,QAAQ,EAAE,mCAAgB,CAAC,MAAM;QACjC,SAAS,EAAE,sCAAiB,CAAC,KAAK;QAClC,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE;YACZ,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,IAAI,EAAE,kCAAkC;YAChD,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,KAAK;SAClB;KACF;CACF,CAAC"} |
| import { DyFM_AI_ModelRegistry_Util } from './ai-model-registry.util'; | ||
| import { DyFM_OAI_Models } from '../_modules/open-ai/_collections/oai-models.const'; | ||
| import { DyFM_OAI_Model } from '../_modules/open-ai/_enums/oai-model.enum'; | ||
| describe('| DyFM_AI_ModelRegistry_Util', (): void => { | ||
| describe('| findModelInfo', (): void => { | ||
| it('| should find a known model by id', (): void => { | ||
| const info = DyFM_AI_ModelRegistry_Util.findModelInfo(DyFM_OAI_Models, DyFM_OAI_Model.gpt55); | ||
| expect(info).toBeTruthy(); | ||
| expect(info?.id).toBe(DyFM_OAI_Model.gpt55); | ||
| }); | ||
| it('| should return undefined for an unknown id', (): void => { | ||
| const info = DyFM_AI_ModelRegistry_Util.findModelInfo(DyFM_OAI_Models, 'no-such-model'); | ||
| expect(info).toBeUndefined(); | ||
| }); | ||
| }); | ||
| describe('| modelSupportsTools', (): void => { | ||
| it('| should return true for a tool-capable chat model', (): void => { | ||
| expect(DyFM_AI_ModelRegistry_Util.modelSupportsTools(DyFM_OAI_Models, DyFM_OAI_Model.gpt55)).toBe(true); | ||
| }); | ||
| it('| should return false for an embedding model', (): void => { | ||
| expect( | ||
| DyFM_AI_ModelRegistry_Util.modelSupportsTools(DyFM_OAI_Models, DyFM_OAI_Model.textEmbedding_3Small) | ||
| ).toBe(false); | ||
| }); | ||
| it('| should return false for an unknown id (no assumption of tool support)', (): void => { | ||
| expect(DyFM_AI_ModelRegistry_Util.modelSupportsTools(DyFM_OAI_Models, 'no-such-model')).toBe(false); | ||
| }); | ||
| }); | ||
| }); |
| import { DyFM_AI_ModelInfo } from '../_models/ai-model-info.interface'; | ||
| /** | ||
| * Lookups over a per-provider model registry (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …). | ||
| * | ||
| * The registry array is passed IN — this keeps the agnostic `./ai` core free of | ||
| * any provider-submodule dependency (the execution-layer service supplies its own | ||
| * provider's registry). The lookup is by exact API model `id`. | ||
| */ | ||
| export class DyFM_AI_ModelRegistry_Util { | ||
| /** | ||
| * A modell-descriptor megkeresese id alapjan a megadott registry-ben. | ||
| * @param models - a provider registry tomb (pl. DyFM_OAI_Models) | ||
| * @param id - pontos API modell-azonosito (pl. 'gpt-5.5') | ||
| */ | ||
| static findModelInfo(models: DyFM_AI_ModelInfo[], id: string): DyFM_AI_ModelInfo | undefined { | ||
| return models.find((model: DyFM_AI_ModelInfo) => model.id === id); | ||
| } | ||
| /** | ||
| * Tamogatja-e a modell a function calling-ot (tool use)? | ||
| * Ismeretlen id eseten `false` (honesty — soha ne feltetelezzunk tool-kepesseget). | ||
| * @param models - a provider registry tomb | ||
| * @param id - pontos API modell-azonosito | ||
| */ | ||
| static modelSupportsTools(models: DyFM_AI_ModelInfo[], id: string): boolean { | ||
| return DyFM_AI_ModelRegistry_Util.findModelInfo(models, id)?.capabilities?.functionCalling ?? false; | ||
| } | ||
| } |
| /** | ||
| * Per-model capability flags. | ||
| * | ||
| * Where {@link DyFM_AI_ProviderCapabilities} describes what a PROVIDER can do | ||
| * in aggregate, this describes what a single concrete MODEL supports. This is | ||
| * the honest source of truth for feature-gating: e.g. an embedding model has | ||
| * functionCalling=false, a reasoning chat model has functionCalling=true, a | ||
| * local generic model may have functionCalling decided at runtime. | ||
| */ | ||
| export interface DyFM_AI_ModelCapabilities { | ||
| /** Native function calling / tool use. The driver for the tool-calling feature. */ | ||
| functionCalling: boolean; | ||
| /** Image input (vision). */ | ||
| vision: boolean; | ||
| /** Streaming responses. */ | ||
| streaming: boolean; | ||
| /** Structured output / JSON mode (OpenAI structured outputs, Gemini responseSchema, etc.). */ | ||
| jsonMode: boolean; | ||
| /** Audio input (speech-to-text / audio understanding). */ | ||
| audioInput: boolean; | ||
| /** Audio output (text-to-speech / speech generation). */ | ||
| audioOutput: boolean; | ||
| /** Image generation (the model produces images). */ | ||
| imageGeneration: boolean; | ||
| /** Embedding generation (vector output). */ | ||
| embeddings: boolean; | ||
| } |
| import { DyFM_AI_Provider } from '../_enums/ai-provider.enum'; | ||
| import { DyFM_AI_ModelType } from '../_enums/ai-model-type.enum'; | ||
| import { DyFM_AI_ModelCapabilities } from './ai-model-capabilities.interface'; | ||
| import { DyFM_AI_ModelSettingsSchema } from './ai-model-settings-schema.interface'; | ||
| /** | ||
| * Lifecycle status of a model in the provider's catalogue. | ||
| * | ||
| * `ga` — generally available, recommended for new work. | ||
| * `preview` — available but pre-GA (API/behaviour may change). | ||
| * `deprecated` — still callable but on a sunset path; prefer {@link DyFM_AI_ModelInfo.successorId}. | ||
| */ | ||
| export type DyFM_AI_ModelStatus = 'ga' | 'preview' | 'deprecated'; | ||
| /** | ||
| * Single-model descriptor for the provider model registry. | ||
| * | ||
| * The provider registries (`DyFM_OAI_Models`, `DyFM_AAI_Models`, …) are arrays | ||
| * of these — an SDK-free, data-only source of truth for which models exist and | ||
| * what each can do. The bare model enums (`DyFM_OAI_Model`, …) remain the typed | ||
| * id keys; a registry entry's `id` references one of those values. | ||
| * | ||
| * Note: model line-ups churn fast (see the 2026-06 research) — keep the registry | ||
| * current and rely on `status`/`successorId` rather than silently breaking on a | ||
| * retired id. | ||
| */ | ||
| export interface DyFM_AI_ModelInfo { | ||
| /** Exact API model string (e.g. 'gpt-5.5', 'claude-opus-4-8', 'gemini-3.5-flash'). */ | ||
| id: string; | ||
| /** The provider that serves this model. */ | ||
| provider: DyFM_AI_Provider; | ||
| /** The kind of model (chat / embedding / image / audio). */ | ||
| modelType: DyFM_AI_ModelType; | ||
| /** What this specific model can DO (feature gates). */ | ||
| capabilities: DyFM_AI_ModelCapabilities; | ||
| /** | ||
| * RESERVED (FR-048) — which tuning PARAMETERS this model accepts/rejects. | ||
| * | ||
| * Sibling of {@link capabilities}. NOT populated by FR-047 and NOT yet | ||
| * consumed by any reconciler — reserved space for the future per-model | ||
| * agnostic settings system. Each model accepts a different settings surface | ||
| * (e.g. Opus 4.7+ rejects temperature/topP/topK; reasoning models add | ||
| * reasoningEffort), and that knowledge must be curated continuously like the | ||
| * model registry itself. | ||
| * | ||
| * See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md` | ||
| */ | ||
| settingsSchema?: DyFM_AI_ModelSettingsSchema; | ||
| /** Input context window in tokens, if applicable. */ | ||
| contextWindow?: number; | ||
| /** Maximum output tokens, if applicable. */ | ||
| maxOutputTokens?: number; | ||
| /** Lifecycle status; defaults to `ga` when omitted. */ | ||
| status?: DyFM_AI_ModelStatus; | ||
| /** When `deprecated`/sunsetting, the recommended replacement model id. */ | ||
| successorId?: string; | ||
| /** When `deprecated`, the earliest known shutdown date (ISO yyyy-mm-dd). */ | ||
| sunsetDate?: string; | ||
| /** Human-readable name for UI (e.g. 'GPT-5.5', 'Claude Opus 4.8'). */ | ||
| displayName?: string; | ||
| /** Provider-specific tier label (e.g. 'flagship', 'mini', 'Opus', 'Sonnet', 'Haiku'). */ | ||
| tier?: string; | ||
| } |
| /** | ||
| * RESERVED — per-model settings schema (FR-048; NOT implemented by FR-047). | ||
| * | ||
| * Sibling of {@link DyFM_AI_ModelCapabilities}: capabilities describe what a | ||
| * model can DO; this describes which tuning PARAMETERS it accepts, their | ||
| * bounds, and which it REJECTS. A flat {@link DyFM_AI_CallSettings} bag cannot | ||
| * express this, yet sending an unsupported param can hard-fail a call (e.g. | ||
| * Anthropic Opus 4.7+ rejects `temperature`/`top_p`/`top_k` with HTTP 400). | ||
| * | ||
| * This type reserves the architectural space and documents intent. The | ||
| * registry consts do NOT populate `settingsSchema` yet, and no reconciler | ||
| * consumes it yet — both are FR-048 work. The exact shape may evolve when | ||
| * FR-048 is built; treat this as a forward placeholder, not a frozen contract. | ||
| * | ||
| * See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md` | ||
| * `documentations/guidelines/development/ai-per-model-settings.md` | ||
| */ | ||
| export interface DyFM_AI_ModelSettingsSchema { | ||
| /** Agnostic setting keys this model ACCEPTS (e.g. 'temperature','topP','maxTokens','reasoningEffort'). */ | ||
| supported?: string[]; | ||
| /** | ||
| * Agnostic setting keys this model REJECTS — sending them errors. | ||
| * Example: Opus 4.7+ → ['temperature','topP','topK'] (HTTP 400 on non-default). | ||
| * The future reconciler drops these (debug-log, never silently). | ||
| */ | ||
| unsupported?: string[]; | ||
| /** Per-key value constraints (range / enum / default). */ | ||
| constraints?: Record<string, DyFM_AI_SettingConstraint>; | ||
| /** | ||
| * Provider/model-specific knobs NOT present on the agnostic CallSettings | ||
| * (e.g. OpenAI 'reasoningEffort', Gemini 'thinkingConfig'). The provider | ||
| * translator maps these to the native param. | ||
| */ | ||
| extraParams?: string[]; | ||
| } | ||
| /** | ||
| * RESERVED (FR-048) — value constraint for a single tuning parameter. | ||
| * Forward placeholder; shape may evolve when FR-048 is built. | ||
| */ | ||
| export interface DyFM_AI_SettingConstraint { | ||
| /** Minimum numeric value (inclusive), if applicable. */ | ||
| min?: number; | ||
| /** Maximum numeric value (inclusive), if applicable. */ | ||
| max?: number; | ||
| /** Default value the provider applies when omitted. */ | ||
| default?: unknown; | ||
| /** Allowed discrete values (enum-like params, e.g. reasoningEffort). */ | ||
| allowed?: unknown[]; | ||
| /** Free-text note (Hunglish ok) — e.g. provider quirk, version gate. */ | ||
| note?: string; | ||
| } |
| /** | ||
| * A normalized tool invocation requested by the model. | ||
| * | ||
| * Each provider's native shape is normalized into this at the translator boundary: | ||
| * - OpenAI: message.tool_calls[] → { id, name, arguments: JSON.parse(function.arguments) } | ||
| * - Anthropic: content[] { type:'tool_use', id, name, input } → { id, name, arguments: input } | ||
| * - Gemini: parts[].functionCall { id, name, args } → { id, name, arguments: args } | ||
| * | ||
| * `arguments` is ALWAYS a parsed object (OpenAI's JSON string is parsed at the boundary). | ||
| */ | ||
| export interface DyFM_AI_ToolCall { | ||
| /** Provider call id — echoed back when returning the result. */ | ||
| id: string; | ||
| /** The invoked tool's name. */ | ||
| name: string; | ||
| /** Parsed arguments object. */ | ||
| arguments: Record<string, unknown>; | ||
| } |
| /** | ||
| * Handler for a single function-calling tool — receives the parsed arguments | ||
| * (JSON already parsed) and returns the tool result as a string (which is fed | ||
| * back to the model). Generalized from the proven legacy `FDPNTS_GPT_ToolHandler`. | ||
| */ | ||
| export type DyFM_AI_ToolHandler = (args: Record<string, unknown>) => Promise<string> | string; | ||
| /** | ||
| * Tool-name → handler registration for the `requestWithTools` agent-loop. | ||
| */ | ||
| export type DyFM_AI_ToolHandlers = Record<string, DyFM_AI_ToolHandler>; |
| /** | ||
| * The result of executing a tool, fed back to the model. | ||
| * | ||
| * Translated per provider: | ||
| * - OpenAI: { role:'tool', tool_call_id: toolCallId, content } | ||
| * - Anthropic: content block { type:'tool_result', tool_use_id: toolCallId, content, is_error: isError } | ||
| * - Gemini: part { functionResponse: { id: toolCallId, name, response: { result: content } } } | ||
| */ | ||
| export interface DyFM_AI_ToolResult { | ||
| /** Must echo the originating {@link DyFM_AI_ToolCall.id}. */ | ||
| toolCallId: string; | ||
| /** The tool's output (or an error message — see {@link isError}). */ | ||
| content: string; | ||
| /** True when the tool failed; the model is told so it can correct. */ | ||
| isError?: boolean; | ||
| } |
| /** | ||
| * Provider-neutral tool (function) definition for native function calling. | ||
| * | ||
| * One agnostic shape, translated per provider by the execution layer: | ||
| * - OpenAI-wire: → { type:'function', function:{ name, description, parameters } } | ||
| * - Anthropic: → { name, description, input_schema: parameters } | ||
| * - Gemini: → tools:[{ functionDeclarations:[{ name, description, parameters }] }] | ||
| */ | ||
| export interface DyFM_AI_Tool { | ||
| /** Function name. No spaces / special chars (Gemini constraint). */ | ||
| name: string; | ||
| /** What the tool does — the model uses this to decide when to call it. */ | ||
| description: string; | ||
| /** JSON Schema (object schema) describing the arguments. Translated to each provider's param shape. */ | ||
| parameters: object; | ||
| } |
| import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum'; | ||
| import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum'; | ||
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| import { DyFM_AAI_Model } from '../_enums/aai-model.enum'; | ||
| /** | ||
| * Anthropic Claude model registry — verified 2026-06-01 against platform.claude.com docs. | ||
| * | ||
| * All Claude models are chat (Messages API) models — Anthropic has NO embeddings API. | ||
| * Tool use is universal (content-block `tool_use` / `tool_result` wire format). | ||
| * Anthropic has no dedicated JSON-mode flag (structured output is done via tools), | ||
| * so `jsonMode` is false across the board. | ||
| * | ||
| * Param note (translator): Opus 4.7+ reject `temperature`/`top_p`/`top_k` with 400 — | ||
| * not modelled here, handled in the Anthropic call translator. | ||
| */ | ||
| export const DyFM_AAI_Models: DyFM_AI_ModelInfo[] = [ | ||
| { | ||
| id: DyFM_AAI_Model.claude_opus_4_8, | ||
| provider: DyFM_AI_Provider.Anthropic, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'Claude Opus 4.8', | ||
| tier: 'Opus', | ||
| status: 'ga', | ||
| contextWindow: 1_000_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_AAI_Model.claude_sonnet_4_6, | ||
| provider: DyFM_AI_Provider.Anthropic, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'Claude Sonnet 4.6', | ||
| tier: 'Sonnet', | ||
| status: 'ga', | ||
| contextWindow: 1_000_000, | ||
| maxOutputTokens: 64_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_AAI_Model.claude_haiku_4_5, | ||
| provider: DyFM_AI_Provider.Anthropic, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'Claude Haiku 4.5', | ||
| tier: 'Haiku', | ||
| status: 'ga', | ||
| contextWindow: 200_000, | ||
| maxOutputTokens: 64_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| ]; |
| import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum'; | ||
| import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum'; | ||
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| import { DyFM_FdpAI_Model } from '../_enums/fdpai-model.enum'; | ||
| /** | ||
| * FDP-AI model registry. | ||
| * | ||
| * FDP-AI is an internal, OpenAI-wire-compatible HTTP gateway (`/chat/completions`), | ||
| * so tool calling follows the OpenAI format. Capabilities ultimately depend on the | ||
| * backing gateway/model — `functionCalling` is declared true on the assumption the | ||
| * gateway forwards OpenAI-style tools; confirm against the live FDP-AI deployment. | ||
| * Context window is gateway-defined and therefore left unset. | ||
| */ | ||
| export const DyFM_FdpAI_Models: DyFM_AI_ModelInfo[] = [ | ||
| { | ||
| id: DyFM_FdpAI_Model.fdpBase1, | ||
| provider: DyFM_AI_Provider.FdpAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'FDP Base 1', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: true, // OpenAI-wire compatible — verify against the live gateway | ||
| vision: false, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| ]; |
| import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum'; | ||
| import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum'; | ||
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| import { DyFM_GAI_Model } from '../_enums/gai-model.enum'; | ||
| /** | ||
| * Google Gemini model registry — verified 2026-06-01 against ai.google.dev docs. | ||
| * | ||
| * SDK note: depend on `@google/genai` (the old `@google/generative-ai` was sunset | ||
| * 2025-11-30). Tool use via `functionDeclarations`; tool results are returned under | ||
| * a `user`-role `functionResponse` part (no dedicated tool role). | ||
| * | ||
| * Video input is a real Gemini capability but is not yet modelled in | ||
| * {@link DyFM_AI_ModelCapabilities} — `vision` covers image input only. | ||
| */ | ||
| export const DyFM_GAI_Models: DyFM_AI_ModelInfo[] = [ | ||
| { | ||
| id: DyFM_GAI_Model.gemini_3_5_flash, | ||
| provider: DyFM_AI_Provider.Google, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'Gemini 3.5 Flash', | ||
| tier: 'flash', | ||
| status: 'ga', | ||
| contextWindow: 1_048_576, | ||
| maxOutputTokens: 65_536, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_GAI_Model.gemini_3_1_pro_preview, | ||
| provider: DyFM_AI_Provider.Google, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'Gemini 3.1 Pro (preview)', | ||
| tier: 'pro', | ||
| status: 'preview', | ||
| contextWindow: 1_048_576, | ||
| maxOutputTokens: 65_536, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_GAI_Model.gemini_3_1_flash_lite, | ||
| provider: DyFM_AI_Provider.Google, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'Gemini 3.1 Flash-Lite', | ||
| tier: 'flash-lite', | ||
| status: 'ga', | ||
| contextWindow: 1_048_576, | ||
| maxOutputTokens: 65_536, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_GAI_Model.gemini_embedding_2, | ||
| provider: DyFM_AI_Provider.Google, | ||
| modelType: DyFM_AI_ModelType.Embedding, | ||
| displayName: 'Gemini Embedding 2', | ||
| status: 'ga', | ||
| contextWindow: 8_192, | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: true, // multimodal embedding (text / image / audio) | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: true, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| ]; |
| import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum'; | ||
| import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum'; | ||
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| import { DyFM_LAI_Model } from '../_enums/lai-model.enum'; | ||
| /** | ||
| * Local-AI model registry. | ||
| * | ||
| * Local models are served by a self-hosted, OpenAI-wire-compatible server | ||
| * (lm-studio / ollama / vllm). These are GENERIC descriptors — the real | ||
| * capabilities depend entirely on the model the user has loaded at runtime. | ||
| * In particular `functionCalling` is left FALSE here because many local models | ||
| * do not support tool calling; it must be confirmed per loaded model rather than | ||
| * assumed. Context window is model-defined and therefore left unset. | ||
| */ | ||
| export const DyFM_LAI_Models: DyFM_AI_ModelInfo[] = [ | ||
| { | ||
| id: DyFM_LAI_Model.generic_llm, | ||
| provider: DyFM_AI_Provider.LocalAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'Local generic LLM', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: false, // runtime/model-dependent — confirm per loaded model | ||
| vision: false, | ||
| streaming: true, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_LAI_Model.text_embedding, | ||
| provider: DyFM_AI_Provider.LocalAI, | ||
| modelType: DyFM_AI_ModelType.Embedding, | ||
| displayName: 'Local text embedding', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: false, | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| ]; |
| import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum'; | ||
| import { DyFM_AI_ModelType } from '../../../_enums/ai-model-type.enum'; | ||
| import { DyFM_AI_ModelInfo } from '../../../_models/ai-model-info.interface'; | ||
| import { DyFM_OAI_Model } from '../_enums/oai-model.enum'; | ||
| /** | ||
| * OpenAI model registry — verified 2026-06-01 against developers.openai.com docs. | ||
| * | ||
| * Contains current GA + still-callable legacy models. Retired models are omitted; | ||
| * sunsetting ones carry `status: 'deprecated'` + `successorId` + `sunsetDate`. | ||
| * | ||
| * Tool-calling note: native function calling is universal across current OpenAI | ||
| * chat models. The `-pro` reasoning models support tools but NOT streaming and | ||
| * are Responses-API-only — reflected in `capabilities.streaming`. | ||
| */ | ||
| export const DyFM_OAI_Models: DyFM_AI_ModelInfo[] = [ | ||
| // ── Chat / reasoning (current GA) ── | ||
| { | ||
| id: DyFM_OAI_Model.gpt55, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.5', | ||
| tier: 'flagship', | ||
| status: 'ga', | ||
| contextWindow: 1_050_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_OAI_Model.gpt55_pro, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.5 Pro', | ||
| tier: 'pro', | ||
| status: 'ga', | ||
| contextWindow: 1_050_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: false, // Responses-API-only, no streaming | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_OAI_Model.gpt54, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.4', | ||
| tier: 'flagship', | ||
| status: 'ga', | ||
| contextWindow: 1_000_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_OAI_Model.gpt54_mini, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.4 mini', | ||
| tier: 'mini', | ||
| status: 'ga', | ||
| contextWindow: 400_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_OAI_Model.gpt54_nano, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-5.4 nano', | ||
| tier: 'nano', | ||
| status: 'ga', | ||
| contextWindow: 400_000, | ||
| maxOutputTokens: 128_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_OAI_Model.o3_pro, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'o3-pro', | ||
| tier: 'pro', | ||
| status: 'ga', | ||
| contextWindow: 200_000, | ||
| maxOutputTokens: 100_000, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: false, // Responses-API-only, no streaming | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| // ── Chat (legacy-active, sunsetting) ── | ||
| { | ||
| id: DyFM_OAI_Model.gpt4o, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-4o', | ||
| tier: 'legacy', | ||
| status: 'deprecated', | ||
| successorId: DyFM_OAI_Model.gpt54_mini, | ||
| sunsetDate: '2026-10-23', | ||
| contextWindow: 128_000, | ||
| maxOutputTokens: 16_384, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_OAI_Model.gpt4o_mini, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Chat, | ||
| displayName: 'GPT-4o mini', | ||
| tier: 'legacy', | ||
| status: 'deprecated', | ||
| successorId: DyFM_OAI_Model.gpt54_mini, | ||
| sunsetDate: '2026-10-23', | ||
| contextWindow: 128_000, | ||
| maxOutputTokens: 16_384, | ||
| capabilities: { | ||
| functionCalling: true, | ||
| vision: true, | ||
| streaming: true, | ||
| jsonMode: true, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| // ── Embeddings (current GA) ── | ||
| { | ||
| id: DyFM_OAI_Model.textEmbedding_3Small, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Embedding, | ||
| displayName: 'text-embedding-3-small', | ||
| status: 'ga', | ||
| contextWindow: 8_191, | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: false, | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| { | ||
| id: DyFM_OAI_Model.textEmbedding_3Large, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Embedding, | ||
| displayName: 'text-embedding-3-large', | ||
| status: 'ga', | ||
| contextWindow: 8_191, | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: false, | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: false, | ||
| embeddings: true, | ||
| }, | ||
| }, | ||
| // ── Image generation (current GA) ── | ||
| { | ||
| id: DyFM_OAI_Model.gptImage_2, | ||
| provider: DyFM_AI_Provider.OpenAI, | ||
| modelType: DyFM_AI_ModelType.Image, | ||
| displayName: 'GPT Image 2', | ||
| status: 'ga', | ||
| capabilities: { | ||
| functionCalling: false, | ||
| vision: true, // accepts image input for editing | ||
| streaming: false, | ||
| jsonMode: false, | ||
| audioInput: false, | ||
| audioOutput: false, | ||
| imageGeneration: true, | ||
| embeddings: false, | ||
| }, | ||
| }, | ||
| ]; |
| export declare enum DyFM_AI_MessageRole { | ||
| system = "system", | ||
| user = "user", | ||
| assistant = "assistant" | ||
| assistant = "assistant", | ||
| /** Tool-result message (function calling). Provider translators map this to their native shape. */ | ||
| tool = "tool" | ||
| } | ||
| //# sourceMappingURL=ai-message-role.enum.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-message-role.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB"} | ||
| {"version":3,"file":"ai-message-role.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,mGAAmG;IACnG,IAAI,SAAS;CACd"} |
@@ -9,3 +9,5 @@ "use strict"; | ||
| DyFM_AI_MessageRole["assistant"] = "assistant"; | ||
| /** Tool-result message (function calling). Provider translators map this to their native shape. */ | ||
| DyFM_AI_MessageRole["tool"] = "tool"; | ||
| })(DyFM_AI_MessageRole || (exports.DyFM_AI_MessageRole = DyFM_AI_MessageRole = {})); | ||
| //# sourceMappingURL=ai-message-role.enum.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-message-role.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,oCAAa,CAAA;IACb,8CAAuB,CAAA;AACzB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"} | ||
| {"version":3,"file":"ai-message-role.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-message-role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,oCAAa,CAAA;IACb,8CAAuB,CAAA;IACvB,mGAAmG;IACnG,oCAAa,CAAA;AACf,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B"} |
| export declare enum DyFM_AI_ModelType { | ||
| LLM = "llm", | ||
| Embedding = "embedding", | ||
| Chat = "chat" | ||
| Chat = "chat", | ||
| Image = "image", | ||
| Audio = "audio" | ||
| } | ||
| //# sourceMappingURL=ai-model-type.enum.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-model-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,IAAI,SAAS;CACd"} | ||
| {"version":3,"file":"ai-model-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB"} |
@@ -9,3 +9,5 @@ "use strict"; | ||
| DyFM_AI_ModelType["Chat"] = "chat"; | ||
| DyFM_AI_ModelType["Image"] = "image"; | ||
| DyFM_AI_ModelType["Audio"] = "audio"; | ||
| })(DyFM_AI_ModelType || (exports.DyFM_AI_ModelType = DyFM_AI_ModelType = {})); | ||
| //# sourceMappingURL=ai-model-type.enum.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-model-type.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,4CAAuB,CAAA;IACvB,kCAAa,CAAA;AACf,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"} | ||
| {"version":3,"file":"ai-model-type.enum.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_enums/ai-model-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,4CAAuB,CAAA;IACvB,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,oCAAe,CAAA;AACjB,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"} |
@@ -0,1 +1,22 @@ | ||
| /** | ||
| * Agnostic LLM call settings — the provider-neutral tuning bag. | ||
| * | ||
| * The typed fields below are the common, broadly-supported knobs. The | ||
| * `[key: string]: any` escape hatch carries provider/model-specific params | ||
| * until they are first-classed. | ||
| * | ||
| * IMPORTANT — per-model variance (FR-048, reserved): NOT every model accepts | ||
| * every field here, and sending an unsupported param can hard-fail the call | ||
| * (e.g. Anthropic Opus 4.7+ rejects `temperature`/`topP`/`topK` with HTTP 400; | ||
| * reasoning models take an extra `reasoningEffort`; pro models drop streaming). | ||
| * This flat bag intentionally does NOT encode those constraints — the future | ||
| * per-model settings system ({@link DyFM_AI_ModelSettingsSchema} on the model | ||
| * registry + a reconciler in `DyNTS_AI_LLM_ServiceBase`) will validate, clamp, | ||
| * and drop params against what each model actually accepts. Until then, | ||
| * provider translators drop model-rejected params locally (see FR-047 Phase 4 | ||
| * Anthropic). Do not assume a field here is universally accepted. | ||
| * | ||
| * See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md` | ||
| * `documentations/guidelines/development/ai-per-model-settings.md` | ||
| */ | ||
| export declare class DyFM_AI_CallSettings { | ||
@@ -2,0 +23,0 @@ systemPrompt?: string; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-call-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAK;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAQ;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAQ;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAK;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAK;IAG7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;gBAGjB,GAAG,CAAC,EAAE,oBAAoB;CAM7B"} | ||
| {"version":3,"file":"ai-call-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAoB;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAM;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAK;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAQ;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAQ;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAK;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAK;IAG7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;gBAGjB,GAAG,CAAC,EAAE,oBAAoB;CAM7B"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_AI_CallSettings = void 0; | ||
| /** | ||
| * Agnostic LLM call settings — the provider-neutral tuning bag. | ||
| * | ||
| * The typed fields below are the common, broadly-supported knobs. The | ||
| * `[key: string]: any` escape hatch carries provider/model-specific params | ||
| * until they are first-classed. | ||
| * | ||
| * IMPORTANT — per-model variance (FR-048, reserved): NOT every model accepts | ||
| * every field here, and sending an unsupported param can hard-fail the call | ||
| * (e.g. Anthropic Opus 4.7+ rejects `temperature`/`topP`/`topK` with HTTP 400; | ||
| * reasoning models take an extra `reasoningEffort`; pro models drop streaming). | ||
| * This flat bag intentionally does NOT encode those constraints — the future | ||
| * per-model settings system ({@link DyFM_AI_ModelSettingsSchema} on the model | ||
| * registry + a reconciler in `DyNTS_AI_LLM_ServiceBase`) will validate, clamp, | ||
| * and drop params against what each model actually accepts. Until then, | ||
| * provider translators drop model-rejected params locally (see FR-047 Phase 4 | ||
| * Anthropic). Do not assume a field here is universally accepted. | ||
| * | ||
| * See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md` | ||
| * `documentations/guidelines/development/ai-per-model-settings.md` | ||
| */ | ||
| class DyFM_AI_CallSettings { | ||
@@ -5,0 +26,0 @@ systemPrompt = ''; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-call-settings.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;IAC/B,YAAY,GAAY,EAAE,CAAC;IAC3B,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,QAAQ,CAAW;IAEnB;;;;;;;;OAQG;IACH,WAAW,GAAY,CAAC,CAAC;IACzB;;;;;;;;OAQG;IACH,SAAS,GAAY,IAAI,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,GAAY,IAAI,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,GAAY,CAAC,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,GAAY,CAAC,CAAC;IAK7B,YACE,GAA0B;QAE1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA9DD,oDA8DC"} | ||
| {"version":3,"file":"ai-call-settings.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-call-settings.interface.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,oBAAoB;IAC/B,YAAY,GAAY,EAAE,CAAC;IAC3B,QAAQ,CAAU;IAClB,OAAO,CAAU;IACjB,QAAQ,CAAW;IAEnB;;;;;;;;OAQG;IACH,WAAW,GAAY,CAAC,CAAC;IACzB;;;;;;;;OAQG;IACH,SAAS,GAAY,IAAI,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,GAAY,IAAI,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,GAAY,CAAC,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,GAAY,CAAC,CAAC;IAK7B,YACE,GAA0B;QAE1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA9DD,oDA8DC"} |
| import { DyFM_AI_Message } from './ai-message.interface'; | ||
| import { DyFM_AI_ToolCall } from './ai-tool-call.interface'; | ||
| /** | ||
@@ -15,2 +16,6 @@ * Generic LLM response structure | ||
| finishReason?: string; | ||
| /** Present when the model requested tool calls (function calling); normalized across providers. */ | ||
| toolCalls?: DyFM_AI_ToolCall[]; | ||
| /** Normalized stop reason (e.g. 'tool_use', 'stop', 'length'). */ | ||
| stopReason?: string; | ||
| rawResponse?: any; | ||
@@ -17,0 +22,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-llm-response.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-llm-response.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC;CAClB"} | ||
| {"version":3,"file":"ai-llm-response.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-llm-response.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC;CAClB"} |
| import { DyFM_AI_MessageRole } from '../_enums/ai-message-role.enum'; | ||
| import { DyFM_AI_ToolCall } from './ai-tool-call.interface'; | ||
| export interface DyFM_AI_Message { | ||
| role: DyFM_AI_MessageRole; | ||
| content: string; | ||
| /** Present on an assistant turn that requested tool calls (function calling). */ | ||
| toolCalls?: DyFM_AI_ToolCall[]; | ||
| /** Present on a `tool`-role message — which {@link DyFM_AI_ToolCall.id} this result answers. */ | ||
| toolCallId?: string; | ||
| } | ||
| //# sourceMappingURL=ai-message.interface.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ai-message.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-message.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB"} | ||
| {"version":3,"file":"ai-message.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ai/_models/ai-message.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"} |
| export declare enum DyFM_AAI_Model { | ||
| claude_opus_4_8 = "claude-opus-4-8", | ||
| claude_sonnet_4_6 = "claude-sonnet-4-6", | ||
| claude_haiku_4_5 = "claude-haiku-4-5", | ||
| claude_haiku_4_5_20251001 = "claude-haiku-4-5-20251001", | ||
| claude_3_5_sonnet_latest = "claude-3-5-sonnet-latest", | ||
@@ -3,0 +7,0 @@ claude_3_5_sonnet_20241022 = "claude-3-5-sonnet-20241022", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"aai-model.enum.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts"],"names":[],"mappings":"AACA,oBAAY,cAAc;IACxB,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;CAChD"} | ||
| {"version":3,"file":"aai-model.enum.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts"],"names":[],"mappings":"AACA,oBAAY,cAAc;IAGxB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IAGvD,wBAAwB,6BAA6B;IACrD,0BAA0B,+BAA+B;IACzD,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;CAChD"} |
@@ -7,2 +7,9 @@ "use strict"; | ||
| (function (DyFM_AAI_Model) { | ||
| // Current GA (verified 2026-06). From the 4.6 generation the ids are | ||
| // dateless-but-pinned snapshots — there is NO `-latest` alias for these. | ||
| DyFM_AAI_Model["claude_opus_4_8"] = "claude-opus-4-8"; | ||
| DyFM_AAI_Model["claude_sonnet_4_6"] = "claude-sonnet-4-6"; | ||
| DyFM_AAI_Model["claude_haiku_4_5"] = "claude-haiku-4-5"; | ||
| DyFM_AAI_Model["claude_haiku_4_5_20251001"] = "claude-haiku-4-5-20251001"; | ||
| // Legacy / retired (kept for back-compat; NOT in the active registry) | ||
| DyFM_AAI_Model["claude_3_5_sonnet_latest"] = "claude-3-5-sonnet-latest"; | ||
@@ -9,0 +16,0 @@ DyFM_AAI_Model["claude_3_5_sonnet_20241022"] = "claude-3-5-sonnet-20241022"; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"aai-model.enum.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,uEAAqD,CAAA;IACrD,2EAAyD,CAAA;IACzD,qEAAmD,CAAA;IACnD,+DAA6C,CAAA;IAC7C,mEAAiD,CAAA;IACjD,iEAA+C,CAAA;AACjD,CAAC,EAPW,cAAc,8BAAd,cAAc,QAOzB"} | ||
| {"version":3,"file":"aai-model.enum.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,IAAY,cAeX;AAfD,WAAY,cAAc;IACxB,qEAAqE;IACrE,yEAAyE;IACzE,qDAAmC,CAAA;IACnC,yDAAuC,CAAA;IACvC,uDAAqC,CAAA;IACrC,yEAAuD,CAAA;IAEvD,sEAAsE;IACtE,uEAAqD,CAAA;IACrD,2EAAyD,CAAA;IACzD,qEAAmD,CAAA;IACnD,+DAA6C,CAAA;IAC7C,mEAAiD,CAAA;IACjD,iEAA+C,CAAA;AACjD,CAAC,EAfW,cAAc,8BAAd,cAAc,QAezB"} |
@@ -0,1 +1,2 @@ | ||
| export * from './_collections/aai-models.const'; | ||
| export * from './_enums/aai-model.enum'; | ||
@@ -2,0 +3,0 @@ export * from './_models/aai-client-options.interface'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/anthropic/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/anthropic/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAGhD,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| // COLLECTIONS | ||
| tslib_1.__exportStar(require("./_collections/aai-models.const"), exports); | ||
| // ENUMS | ||
@@ -5,0 +7,0 @@ tslib_1.__exportStar(require("./_enums/aai-model.enum"), exports); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/anthropic/index.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,iFAAuD;AACvD,oFAA0D;AAC1D,+EAAqD;AACrD,2FAAiE"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/anthropic/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,0EAAgD;AAEhD,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,iFAAuD;AACvD,oFAA0D;AAC1D,+EAAqD;AACrD,2FAAiE"} |
@@ -0,1 +1,2 @@ | ||
| export * from './_collections/fdpai-models.const'; | ||
| export * from './_enums/fdpai-model.enum'; | ||
@@ -2,0 +3,0 @@ export * from './_models/fdpai-client-options.interface'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/fdp-ai/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAG1C,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oDAAoD,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/fdp-ai/index.ts"],"names":[],"mappings":"AACA,cAAc,mCAAmC,CAAC;AAGlD,cAAc,2BAA2B,CAAC;AAG1C,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oDAAoD,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| // COLLECTIONS | ||
| tslib_1.__exportStar(require("./_collections/fdpai-models.const"), exports); | ||
| // ENUMS | ||
@@ -5,0 +7,0 @@ tslib_1.__exportStar(require("./_enums/fdpai-model.enum"), exports); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/fdp-ai/index.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,oEAA0C;AAE1C,SAAS;AACT,mFAAyD;AACzD,sFAA4D;AAC5D,iFAAuD;AACvD,6FAAmE"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/fdp-ai/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,4EAAkD;AAElD,QAAQ;AACR,oEAA0C;AAE1C,SAAS;AACT,mFAAyD;AACzD,sFAA4D;AAC5D,iFAAuD;AACvD,6FAAmE"} |
| export declare enum DyFM_GAI_Model { | ||
| gemini_3_5_flash = "gemini-3.5-flash", | ||
| gemini_3_1_pro_preview = "gemini-3.1-pro-preview", | ||
| gemini_3_1_flash_lite = "gemini-3.1-flash-lite", | ||
| gemini_embedding_2 = "gemini-embedding-2", | ||
| gemini_1_5_pro_latest = "gemini-1.5-pro-latest", | ||
@@ -3,0 +7,0 @@ gemini_1_5_flash_latest = "gemini-1.5-flash-latest", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"gai-model.enum.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts"],"names":[],"mappings":"AACA,oBAAY,cAAc;IACxB,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;CAC1C"} | ||
| {"version":3,"file":"gai-model.enum.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts"],"names":[],"mappings":"AAEA,oBAAY,cAAc;IAExB,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;IAGzC,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;CAC1C"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DyFM_GAI_Model = void 0; | ||
| // Based on @google/generative-ai model identifiers | ||
| // Based on the @google/genai SDK model identifiers | ||
| // (the older @google/generative-ai SDK was sunset 2025-11-30). | ||
| var DyFM_GAI_Model; | ||
| (function (DyFM_GAI_Model) { | ||
| // Current (verified 2026-06) | ||
| DyFM_GAI_Model["gemini_3_5_flash"] = "gemini-3.5-flash"; | ||
| DyFM_GAI_Model["gemini_3_1_pro_preview"] = "gemini-3.1-pro-preview"; | ||
| DyFM_GAI_Model["gemini_3_1_flash_lite"] = "gemini-3.1-flash-lite"; | ||
| DyFM_GAI_Model["gemini_embedding_2"] = "gemini-embedding-2"; | ||
| // Legacy (deprecated / removed from the active line-up) | ||
| DyFM_GAI_Model["gemini_1_5_pro_latest"] = "gemini-1.5-pro-latest"; | ||
@@ -8,0 +15,0 @@ DyFM_GAI_Model["gemini_1_5_flash_latest"] = "gemini-1.5-flash-latest"; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"gai-model.enum.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AACnD,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iEAA+C,CAAA;IAC/C,qEAAmD,CAAA;IACnD,2DAAyC,CAAA;AAC3C,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"} | ||
| {"version":3,"file":"gai-model.enum.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AACnD,+DAA+D;AAC/D,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,6BAA6B;IAC7B,uDAAqC,CAAA;IACrC,mEAAiD,CAAA;IACjD,iEAA+C,CAAA;IAC/C,2DAAyC,CAAA;IAEzC,wDAAwD;IACxD,iEAA+C,CAAA;IAC/C,qEAAmD,CAAA;IACnD,2DAAyC,CAAA;AAC3C,CAAC,EAXW,cAAc,8BAAd,cAAc,QAWzB"} |
@@ -0,1 +1,2 @@ | ||
| export * from './_collections/gai-models.const'; | ||
| export * from './_enums/gai-model.enum'; | ||
@@ -2,0 +3,0 @@ export * from './_models/gai-client-options.interface'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/google-ai/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/google-ai/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAGhD,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| // COLLECTIONS | ||
| tslib_1.__exportStar(require("./_collections/gai-models.const"), exports); | ||
| // ENUMS | ||
@@ -5,0 +7,0 @@ tslib_1.__exportStar(require("./_enums/gai-model.enum"), exports); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/google-ai/index.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,iFAAuD;AACvD,oFAA0D;AAC1D,+EAAqD;AACrD,2FAAiE"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/google-ai/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,0EAAgD;AAEhD,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,iFAAuD;AACvD,oFAA0D;AAC1D,+EAAqD;AACrD,2FAAiE"} |
@@ -0,1 +1,2 @@ | ||
| export * from './_collections/lai-models.const'; | ||
| export * from './_enums/lai-model.enum'; | ||
@@ -2,0 +3,0 @@ export * from './_models/lai-client-options.interface'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/local-ai/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/local-ai/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAGhD,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC"} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const tslib_1 = require("tslib"); | ||
| // COLLECTIONS | ||
| tslib_1.__exportStar(require("./_collections/lai-models.const"), exports); | ||
| // ENUMS | ||
@@ -5,0 +7,0 @@ tslib_1.__exportStar(require("./_enums/lai-model.enum"), exports); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/local-ai/index.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,iFAAuD;AACvD,oFAA0D;AAC1D,+EAAqD"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/local-ai/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,0EAAgD;AAEhD,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,iFAAuD;AACvD,oFAA0D;AAC1D,+EAAqD"} |
@@ -5,2 +5,10 @@ /** | ||
| export declare enum DyFM_OAI_Model { | ||
| gpt55 = "gpt-5.5", | ||
| gpt55_pro = "gpt-5.5-pro", | ||
| gpt54 = "gpt-5.4", | ||
| gpt54_mini = "gpt-5.4-mini", | ||
| gpt54_nano = "gpt-5.4-nano", | ||
| o3_pro = "o3-pro", | ||
| gptImage_2 = "gpt-image-2", | ||
| gptImage_1 = "gpt-image-1", | ||
| gpt5 = "gpt-5", | ||
@@ -7,0 +15,0 @@ gpt51 = "gpt-5.1", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"oai-model.enum.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,cAAc;IAExB,IAAI,UAAU;IACd,KAAK,YAAY;IACjB,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,eAAe,sBAAsB;IACrC,gBAAgB,wBAAwB;IACxC,UAAU,gBAAgB;IAC1B,WAAW,kBAAkB;IAa7B,KAAK,WAAW,CAAE,0BAA0B;IAE5C,cAAc,sBAAsB,CAAE,6BAA6B;IAEnE,cAAc,sBAAsB,CAAE,0BAA0B;IAYhE,UAAU,gBAAgB,CAAE,6BAA6B;IAEzD,kBAAkB,2BAA2B,CAAE,gCAAgC;IAuB/E;;;OAGG;IACH,oBAAoB,2BAA2B,CAAE,wBAAwB;IACzE;;;OAGG;IACH,oBAAoB,2BAA2B,CAAE,wBAAwB;IACzE;;;OAGG;IACH,oBAAoB,2BAA2B;CAsEhD;AAED,MAAM,MAAM,uBAAuB,GACjC,cAAc,CAAC,oBAAoB,GACnC,cAAc,CAAC,oBAAoB,GACnC,cAAc,CAAC,oBAAoB,CAAC;AAEtC,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,EAIhE,CAAC"} | ||
| {"version":3,"file":"oai-model.enum.d.ts","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,cAAc;IAExB,KAAK,YAAY;IACjB,SAAS,gBAAgB;IACzB,KAAK,YAAY;IACjB,UAAU,iBAAiB;IAC3B,UAAU,iBAAiB;IAC3B,MAAM,WAAW;IAEjB,UAAU,gBAAgB;IAC1B,UAAU,gBAAgB;IAG1B,IAAI,UAAU;IACd,KAAK,YAAY;IACjB,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,eAAe,sBAAsB;IACrC,gBAAgB,wBAAwB;IACxC,UAAU,gBAAgB;IAC1B,WAAW,kBAAkB;IAa7B,KAAK,WAAW,CAAE,0BAA0B;IAE5C,cAAc,sBAAsB,CAAE,6BAA6B;IAEnE,cAAc,sBAAsB,CAAE,0BAA0B;IAYhE,UAAU,gBAAgB,CAAE,6BAA6B;IAEzD,kBAAkB,2BAA2B,CAAE,gCAAgC;IAuB/E;;;OAGG;IACH,oBAAoB,2BAA2B,CAAE,wBAAwB;IACzE;;;OAGG;IACH,oBAAoB,2BAA2B,CAAE,wBAAwB;IACzE;;;OAGG;IACH,oBAAoB,2BAA2B;CAsEhD;AAED,MAAM,MAAM,uBAAuB,GACjC,cAAc,CAAC,oBAAoB,GACnC,cAAc,CAAC,oBAAoB,GACnC,cAAc,CAAC,oBAAoB,CAAC;AAEtC,eAAO,MAAM,2BAA2B,EAAE,uBAAuB,EAIhE,CAAC"} |
@@ -9,2 +9,12 @@ "use strict"; | ||
| (function (DyFM_OAI_Model) { | ||
| // GPT-5.5 / 5.4 (current flagships — verified 2026-06) | ||
| DyFM_OAI_Model["gpt55"] = "gpt-5.5"; | ||
| DyFM_OAI_Model["gpt55_pro"] = "gpt-5.5-pro"; | ||
| DyFM_OAI_Model["gpt54"] = "gpt-5.4"; | ||
| DyFM_OAI_Model["gpt54_mini"] = "gpt-5.4-mini"; | ||
| DyFM_OAI_Model["gpt54_nano"] = "gpt-5.4-nano"; | ||
| DyFM_OAI_Model["o3_pro"] = "o3-pro"; | ||
| // Image generation (current) | ||
| DyFM_OAI_Model["gptImage_2"] = "gpt-image-2"; | ||
| DyFM_OAI_Model["gptImage_1"] = "gpt-image-1"; | ||
| // GPT-5 | ||
@@ -11,0 +21,0 @@ DyFM_OAI_Model["gpt5"] = "gpt-5"; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"oai-model.enum.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH,IAAY,cAmJX;AAnJD,WAAY,cAAc;IACxB,QAAQ;IACR,gCAAc,CAAA;IACd,mCAAiB,CAAA;IACjB,0CAAwB,CAAA;IACxB,0CAAwB,CAAA;IACxB,uDAAqC,CAAA;IACrC,0DAAwC,CAAA;IACxC,4CAA0B,CAAA;IAC1B,+CAA6B,CAAA;IAC7B,6BAA6B,CAAC,iBAAiB;IAE/C,UAAU;IACV;;;;;+DAK2D;IAE3D,QAAQ;IACR,QAAQ;IACR,kCAAgB,CAAA;IAChB,oBAAoB;IACpB,sDAAoC,CAAA;IACpC,oBAAoB;IACpB,sDAAoC,CAAA;IAEpC;;;;;;iDAM6C;IAE7C,WAAW;IACX,cAAc;IACd,4CAA0B,CAAA;IAC1B,yBAAyB;IACzB,+DAA6C,CAAA;IAG7C,SAAS;IACT;;;qDAGiD;IAEjD,SAAS;IACT;;;+BAG2B;IAE3B,uBAAuB;IACvB;;;;+BAI2B;IAE3B,kBAAkB;IAClB;;;OAGG;IACH,iEAA+C,CAAA;IAC/C;;;OAGG;IACH,iEAA+C,CAAA;IAC/C;;;OAGG;IACH,iEAA+C,CAAA;IAE/C;;uDAEmD;IAEnD,sBAAsB;IACtB;;wDAEoD;IAGpD,iCAAiC;IAYjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA6C8B;AAChC,CAAC,EAnJW,cAAc,8BAAd,cAAc,QAmJzB;AAOY,QAAA,2BAA2B,GAA8B;IACpE,cAAc,CAAC,oBAAoB;IACnC,cAAc,CAAC,oBAAoB;IACnC,cAAc,CAAC,oBAAoB;CACpC,CAAC"} | ||
| {"version":3,"file":"oai-model.enum.js","sourceRoot":"","sources":["../../../../../../src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH,IAAY,cA8JX;AA9JD,WAAY,cAAc;IACxB,uDAAuD;IACvD,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,mCAAiB,CAAA;IACjB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,6BAA6B;IAC7B,4CAA0B,CAAA;IAC1B,4CAA0B,CAAA;IAE1B,QAAQ;IACR,gCAAc,CAAA;IACd,mCAAiB,CAAA;IACjB,0CAAwB,CAAA;IACxB,0CAAwB,CAAA;IACxB,uDAAqC,CAAA;IACrC,0DAAwC,CAAA;IACxC,4CAA0B,CAAA;IAC1B,+CAA6B,CAAA;IAC7B,6BAA6B,CAAC,iBAAiB;IAE/C,UAAU;IACV;;;;;+DAK2D;IAE3D,QAAQ;IACR,QAAQ;IACR,kCAAgB,CAAA;IAChB,oBAAoB;IACpB,sDAAoC,CAAA;IACpC,oBAAoB;IACpB,sDAAoC,CAAA;IAEpC;;;;;;iDAM6C;IAE7C,WAAW;IACX,cAAc;IACd,4CAA0B,CAAA;IAC1B,yBAAyB;IACzB,+DAA6C,CAAA;IAG7C,SAAS;IACT;;;qDAGiD;IAEjD,SAAS;IACT;;;+BAG2B;IAE3B,uBAAuB;IACvB;;;;+BAI2B;IAE3B,kBAAkB;IAClB;;;OAGG;IACH,iEAA+C,CAAA;IAC/C;;;OAGG;IACH,iEAA+C,CAAA;IAC/C;;;OAGG;IACH,iEAA+C,CAAA;IAE/C;;uDAEmD;IAEnD,sBAAsB;IACtB;;wDAEoD;IAGpD,iCAAiC;IAYjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA6C8B;AAChC,CAAC,EA9JW,cAAc,8BAAd,cAAc,QA8JzB;AAOY,QAAA,2BAA2B,GAA8B;IACpE,cAAc,CAAC,oBAAoB;IACnC,cAAc,CAAC,oBAAoB;IACnC,cAAc,CAAC,oBAAoB;CACpC,CAAC"} |
| export * from './_collections/oai-embedding-model-dimensions.const'; | ||
| export * from './_collections/oai-models.const'; | ||
| export * from './_enums/oai-model.enum'; | ||
@@ -3,0 +4,0 @@ export * from './_models/oai-call-settings.control-model'; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/open-ai/index.ts"],"names":[],"mappings":"AAaA,cAAc,qDAAqD,CAAC;AAGpE,cAAc,yBAAyB,CAAC;AAGxC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/open-ai/index.ts"],"names":[],"mappings":"AAaA,cAAc,qDAAqD,CAAC;AACpE,cAAc,iCAAiC,CAAC;AAGhD,cAAc,yBAAyB,CAAC;AAGxC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC"} |
@@ -14,2 +14,3 @@ "use strict"; | ||
| tslib_1.__exportStar(require("./_collections/oai-embedding-model-dimensions.const"), exports); | ||
| tslib_1.__exportStar(require("./_collections/oai-models.const"), exports); | ||
| // ENUMS | ||
@@ -16,0 +17,0 @@ tslib_1.__exportStar(require("./_enums/oai-model.enum"), exports); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/open-ai/index.ts"],"names":[],"mappings":";AAGA;;;;;;;IAOI;;;AAEJ,cAAc;AACd,8FAAoE;AAEpE,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,oFAA0D;AAC1D,iFAAuD;AACvD,iFAAuD;AACvD,+EAAqD;AACrD,2FAAiE"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/ai/_modules/open-ai/index.ts"],"names":[],"mappings":";AAGA;;;;;;;IAOI;;;AAEJ,cAAc;AACd,8FAAoE;AACpE,0EAAgD;AAEhD,QAAQ;AACR,kEAAwC;AAExC,SAAS;AACT,oFAA0D;AAC1D,iFAAuD;AACvD,iFAAuD;AACvD,+EAAqD;AACrD,2FAAiE"} |
| export * from './_collections/ai-model-ref.util'; | ||
| export * from './_collections/ai-model-registry.util'; | ||
| export * from './_enums/ai-provider.enum'; | ||
@@ -12,5 +13,12 @@ export * from './_enums/ai-model-type.enum'; | ||
| export * from './_models/ai-message.interface'; | ||
| export * from './_models/ai-model-capabilities.interface'; | ||
| export * from './_models/ai-model-info.interface'; | ||
| export * from './_models/ai-model-settings-schema.interface'; | ||
| export * from './_models/ai-provider-capabilities.interface'; | ||
| export * from './_models/ai-settings.interface'; | ||
| export * from './_models/ai-tool.interface'; | ||
| export * from './_models/ai-tool-call.interface'; | ||
| export * from './_models/ai-tool-result.interface'; | ||
| export * from './_models/ai-tool-handler.type'; | ||
| export * from './_models/ai-user-provider-config.control-model'; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AAGjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AAGtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iDAAiD,CAAC"} |
@@ -6,2 +6,3 @@ "use strict"; | ||
| tslib_1.__exportStar(require("./_collections/ai-model-ref.util"), exports); | ||
| tslib_1.__exportStar(require("./_collections/ai-model-registry.util"), exports); | ||
| // ENUMS | ||
@@ -19,5 +20,12 @@ tslib_1.__exportStar(require("./_enums/ai-provider.enum"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-message.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-model-capabilities.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-model-info.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-model-settings-schema.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-provider-capabilities.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-settings.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-tool.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-tool-call.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-tool-result.interface"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-tool-handler.type"), exports); | ||
| tslib_1.__exportStar(require("./_models/ai-user-provider-config.control-model"), exports); | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,2EAAiD;AAEjD,QAAQ;AACR,oEAA0C;AAC1C,sEAA4C;AAC5C,wEAA8C;AAE9C,SAAS;AACT,+EAAqD;AACrD,wEAA8C;AAC9C,mFAAyD;AACzD,oFAA0D;AAC1D,6EAAmD;AACnD,8EAAoD;AACpD,yEAA+C;AAC/C,uFAA6D;AAC7D,0EAAgD;AAChD,0FAAgE"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,2EAAiD;AACjD,gFAAsD;AAEtD,QAAQ;AACR,oEAA0C;AAC1C,sEAA4C;AAC5C,wEAA8C;AAE9C,SAAS;AACT,+EAAqD;AACrD,wEAA8C;AAC9C,mFAAyD;AACzD,oFAA0D;AAC1D,6EAAmD;AACnD,8EAAoD;AACpD,yEAA+C;AAC/C,oFAA0D;AAC1D,4EAAkD;AAClD,uFAA6D;AAC7D,uFAA6D;AAC7D,0EAAgD;AAChD,sEAA4C;AAC5C,2EAAiD;AACjD,6EAAmD;AACnD,yEAA+C;AAC/C,0FAAgE"} |
+1
-1
| { | ||
| "name": "@futdevpro/fsm-dynamo", | ||
| "version": "01.15.16", | ||
| "version": "01.15.17", | ||
| "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.", | ||
@@ -5,0 +5,0 @@ "DyBu_settings": { |
@@ -5,2 +5,4 @@ export enum DyFM_AI_MessageRole { | ||
| assistant = 'assistant', | ||
| /** Tool-result message (function calling). Provider translators map this to their native shape. */ | ||
| tool = 'tool', | ||
| } |
@@ -5,2 +5,4 @@ export enum DyFM_AI_ModelType { | ||
| Chat = 'chat', | ||
| Image = 'image', | ||
| Audio = 'audio', | ||
| } |
@@ -0,1 +1,22 @@ | ||
| /** | ||
| * Agnostic LLM call settings — the provider-neutral tuning bag. | ||
| * | ||
| * The typed fields below are the common, broadly-supported knobs. The | ||
| * `[key: string]: any` escape hatch carries provider/model-specific params | ||
| * until they are first-classed. | ||
| * | ||
| * IMPORTANT — per-model variance (FR-048, reserved): NOT every model accepts | ||
| * every field here, and sending an unsupported param can hard-fail the call | ||
| * (e.g. Anthropic Opus 4.7+ rejects `temperature`/`topP`/`topK` with HTTP 400; | ||
| * reasoning models take an extra `reasoningEffort`; pro models drop streaming). | ||
| * This flat bag intentionally does NOT encode those constraints — the future | ||
| * per-model settings system ({@link DyFM_AI_ModelSettingsSchema} on the model | ||
| * registry + a reconciler in `DyNTS_AI_LLM_ServiceBase`) will validate, clamp, | ||
| * and drop params against what each model actually accepts. Until then, | ||
| * provider translators drop model-rejected params locally (see FR-047 Phase 4 | ||
| * Anthropic). Do not assume a field here is universally accepted. | ||
| * | ||
| * See: `__agent/feature-requests/FR-048-per-model-agnostic-settings.md` | ||
| * `documentations/guidelines/development/ai-per-model-settings.md` | ||
| */ | ||
| export class DyFM_AI_CallSettings { | ||
@@ -2,0 +23,0 @@ systemPrompt?: string = ''; |
| import { DyFM_AI_Message } from './ai-message.interface'; | ||
| import { DyFM_AI_ToolCall } from './ai-tool-call.interface'; | ||
@@ -16,2 +17,6 @@ /** | ||
| finishReason?: string; | ||
| /** Present when the model requested tool calls (function calling); normalized across providers. */ | ||
| toolCalls?: DyFM_AI_ToolCall[]; | ||
| /** Normalized stop reason (e.g. 'tool_use', 'stop', 'length'). */ | ||
| stopReason?: string; | ||
| rawResponse?: any; // Provider-specific raw response | ||
@@ -18,0 +23,0 @@ } |
| import { DyFM_AI_MessageRole } from '../_enums/ai-message-role.enum'; | ||
| import { DyFM_AI_ToolCall } from './ai-tool-call.interface'; | ||
@@ -6,3 +7,7 @@ export interface DyFM_AI_Message { | ||
| content: string; | ||
| /** Present on an assistant turn that requested tool calls (function calling). */ | ||
| toolCalls?: DyFM_AI_ToolCall[]; | ||
| /** Present on a `tool`-role message — which {@link DyFM_AI_ToolCall.id} this result answers. */ | ||
| toolCallId?: string; | ||
| } | ||
| // Based on @anthropic-ai/sdk model identifiers | ||
| export enum DyFM_AAI_Model { | ||
| // Current GA (verified 2026-06). From the 4.6 generation the ids are | ||
| // dateless-but-pinned snapshots — there is NO `-latest` alias for these. | ||
| claude_opus_4_8 = 'claude-opus-4-8', | ||
| claude_sonnet_4_6 = 'claude-sonnet-4-6', | ||
| claude_haiku_4_5 = 'claude-haiku-4-5', | ||
| claude_haiku_4_5_20251001 = 'claude-haiku-4-5-20251001', | ||
| // Legacy / retired (kept for back-compat; NOT in the active registry) | ||
| claude_3_5_sonnet_latest = 'claude-3-5-sonnet-latest', | ||
@@ -4,0 +12,0 @@ claude_3_5_sonnet_20241022 = 'claude-3-5-sonnet-20241022', |
@@ -0,1 +1,4 @@ | ||
| // COLLECTIONS | ||
| export * from './_collections/aai-models.const'; | ||
| // ENUMS | ||
@@ -2,0 +5,0 @@ export * from './_enums/aai-model.enum'; |
@@ -0,1 +1,4 @@ | ||
| // COLLECTIONS | ||
| export * from './_collections/fdpai-models.const'; | ||
| // ENUMS | ||
@@ -2,0 +5,0 @@ export * from './_enums/fdpai-model.enum'; |
@@ -1,3 +0,11 @@ | ||
| // Based on @google/generative-ai model identifiers | ||
| // Based on the @google/genai SDK model identifiers | ||
| // (the older @google/generative-ai SDK was sunset 2025-11-30). | ||
| export enum DyFM_GAI_Model { | ||
| // Current (verified 2026-06) | ||
| gemini_3_5_flash = 'gemini-3.5-flash', | ||
| gemini_3_1_pro_preview = 'gemini-3.1-pro-preview', | ||
| gemini_3_1_flash_lite = 'gemini-3.1-flash-lite', | ||
| gemini_embedding_2 = 'gemini-embedding-2', | ||
| // Legacy (deprecated / removed from the active line-up) | ||
| gemini_1_5_pro_latest = 'gemini-1.5-pro-latest', | ||
@@ -4,0 +12,0 @@ gemini_1_5_flash_latest = 'gemini-1.5-flash-latest', |
@@ -0,1 +1,4 @@ | ||
| // COLLECTIONS | ||
| export * from './_collections/gai-models.const'; | ||
| // ENUMS | ||
@@ -2,0 +5,0 @@ export * from './_enums/gai-model.enum'; |
@@ -0,1 +1,4 @@ | ||
| // COLLECTIONS | ||
| export * from './_collections/lai-models.const'; | ||
| // ENUMS | ||
@@ -2,0 +5,0 @@ export * from './_enums/lai-model.enum'; |
@@ -10,2 +10,13 @@ | ||
| export enum DyFM_OAI_Model { | ||
| // GPT-5.5 / 5.4 (current flagships — verified 2026-06) | ||
| gpt55 = 'gpt-5.5', | ||
| gpt55_pro = 'gpt-5.5-pro', | ||
| gpt54 = 'gpt-5.4', | ||
| gpt54_mini = 'gpt-5.4-mini', | ||
| gpt54_nano = 'gpt-5.4-nano', | ||
| o3_pro = 'o3-pro', | ||
| // Image generation (current) | ||
| gptImage_2 = 'gpt-image-2', | ||
| gptImage_1 = 'gpt-image-1', | ||
| // GPT-5 | ||
@@ -12,0 +23,0 @@ gpt5 = 'gpt-5', |
@@ -15,2 +15,3 @@ | ||
| export * from './_collections/oai-embedding-model-dimensions.const'; | ||
| export * from './_collections/oai-models.const'; | ||
@@ -17,0 +18,0 @@ // ENUMS |
| // COLLECTIONS | ||
| export * from './_collections/ai-model-ref.util'; | ||
| export * from './_collections/ai-model-registry.util'; | ||
@@ -17,4 +18,11 @@ // ENUMS | ||
| export * from './_models/ai-message.interface'; | ||
| export * from './_models/ai-model-capabilities.interface'; | ||
| export * from './_models/ai-model-info.interface'; | ||
| export * from './_models/ai-model-settings-schema.interface'; | ||
| export * from './_models/ai-provider-capabilities.interface'; | ||
| export * from './_models/ai-settings.interface'; | ||
| export * from './_models/ai-tool.interface'; | ||
| export * from './_models/ai-tool-call.interface'; | ||
| export * from './_models/ai-tool-result.interface'; | ||
| export * from './_models/ai-tool-handler.type'; | ||
| export * from './_models/ai-user-provider-config.control-model'; |
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
3805603
2.52%1459
4.81%120817
1.6%17
6.25%