@123toto/ai-app-assistant-server 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AiAppAssistant, a as AiAppAssistantStreamEvent, b as AiAppAssistantConfiguration, B as BuiltInProvider } from './managed-server-CQb-RK-i.cjs';
2
- export { c as AiAppAssistantAccessRule, d as AiAppAssistantConfigurationActor, e as AiAppAssistantConfigurationAdministration, f as AiAppAssistantConfigurationAuditChange, g as AiAppAssistantConfigurationAuditEntry, h as AiAppAssistantConfigurationAuditField, i as AiAppAssistantConfigurationChangeEvent, j as AiAppAssistantConfigurationConflictError, k as AiAppAssistantConfigurationManager, l as AiAppAssistantConfigurationManagerOptions, m as AiAppAssistantConfigurationRepository, n as AiAppAssistantConfigurationSaveResult, o as AiAppAssistantConfigurationSynchronizer, p as AiAppAssistantConfigurationView, q as AiAppAssistantGenerationEvent, r as AiAppAssistantGenerationOperation, s as AiAppAssistantKeyValueStore, t as AiAppAssistantManagedConfigurationSetup, u as AiAppAssistantManagedStorage, v as AiAppAssistantManagementError, w as AiAppAssistantManagementErrorCode, x as AiAppAssistantQuotaPolicy, y as AiAppAssistantQuotaResult, z as AiAppAssistantQuotaStore, C as AiAppAssistantRecentFailure, D as AiAppAssistantRedisClient, E as AiAppAssistantRedisQuotaClient, F as AiAppAssistantRedisTelemetryClient, G as AiAppAssistantRuntimeIdentity, H as AiAppAssistantSecretProtector, I as AiAppAssistantTelemetryStore, J as AiAppAssistantTelemetrySummary, K as AiModelDiscoveryError, L as AiModelInfo, N as AiProviderInfo, O as CreateAiAppAssistantConfigurationRepositoryOptions, P as CreateManagedAiAppAssistantRuntimeOptions, Q as CreateManagedAiAppAssistantServerOptions, R as ListAiModelsOptions, S as ManagedAiAppAssistantFetchHandlerOptions, T as ManagedAiAppAssistantFetchHandlers, U as ManagedAiAppAssistantRuntime, M as ManagedAiAppAssistantServer, V as createAes256GcmSecretProtector, W as createAiAppAssistant, X as createAiAppAssistantConfigurationRepository, Y as createAiAppAssistantFailureEvent, Z as createDisabledSecretProtector, _ as createManagedAiAppAssistantFetchHandlers, $ as createManagedAiAppAssistantRuntime, a0 as createManagedAiAppAssistantServer, a1 as createMemoryAiAppAssistantQuotaStore, a2 as createMemoryAiAppAssistantStore, a3 as createMemoryAiAppAssistantTelemetryStore, a4 as createPollingAiAppAssistantConfigurationSynchronizer, a5 as createRedisAiAppAssistantQuotaStore, a6 as createRedisAiAppAssistantStore, a7 as createRedisAiAppAssistantTelemetryStore, a8 as listAiModels, a9 as listAiProviders, aa as validateAndSaveAiAppAssistantConfiguration } from './managed-server-CQb-RK-i.cjs';
1
+ import { A as AiAppAssistant, a as AiAppAssistantStreamEvent, b as AiAppAssistantConfiguration, B as BuiltInProvider } from './managed-server-wXfu_9rp.cjs';
2
+ export { c as AI_APP_ASSISTANT_PROVIDERS, d as AiAppAssistantAccessRule, e as AiAppAssistantConfigurationActor, f as AiAppAssistantConfigurationAdministration, g as AiAppAssistantConfigurationAuditChange, h as AiAppAssistantConfigurationAuditEntry, i as AiAppAssistantConfigurationAuditField, j as AiAppAssistantConfigurationChangeEvent, k as AiAppAssistantConfigurationConflictError, l as AiAppAssistantConfigurationManager, m as AiAppAssistantConfigurationManagerOptions, n as AiAppAssistantConfigurationRepository, o as AiAppAssistantConfigurationSaveResult, p as AiAppAssistantConfigurationSynchronizer, q as AiAppAssistantConfigurationView, r as AiAppAssistantGenerationEvent, s as AiAppAssistantGenerationOperation, t as AiAppAssistantKeyValueStore, u as AiAppAssistantManagedConfigurationSetup, v as AiAppAssistantManagedStorage, w as AiAppAssistantManagementError, x as AiAppAssistantManagementErrorCode, y as AiAppAssistantQuotaPolicy, z as AiAppAssistantQuotaResult, C as AiAppAssistantQuotaStore, D as AiAppAssistantRecentFailure, E as AiAppAssistantRedisClient, F as AiAppAssistantRedisQuotaClient, G as AiAppAssistantRedisTelemetryClient, H as AiAppAssistantRuntimeIdentity, I as AiAppAssistantSecretProtector, J as AiAppAssistantTelemetryStore, K as AiAppAssistantTelemetrySummary, L as AiModelDiscoveryError, N as AiModelInfo, O as AiProviderInfo, P as CreateAiAppAssistantConfigurationRepositoryOptions, Q as CreateManagedAiAppAssistantRuntimeOptions, R as CreateManagedAiAppAssistantServerOptions, S as ListAiModelsOptions, T as ManagedAiAppAssistantFetchHandlerOptions, U as ManagedAiAppAssistantFetchHandlers, V as ManagedAiAppAssistantRuntime, M as ManagedAiAppAssistantServer, W as createAes256GcmSecretProtector, X as createAiAppAssistant, Y as createAiAppAssistantConfigurationRepository, Z as createAiAppAssistantFailureEvent, _ as createDisabledSecretProtector, $ as createManagedAiAppAssistantFetchHandlers, a0 as createManagedAiAppAssistantRuntime, a1 as createManagedAiAppAssistantServer, a2 as createMemoryAiAppAssistantQuotaStore, a3 as createMemoryAiAppAssistantStore, a4 as createMemoryAiAppAssistantTelemetryStore, a5 as createPollingAiAppAssistantConfigurationSynchronizer, a6 as createRedisAiAppAssistantQuotaStore, a7 as createRedisAiAppAssistantStore, a8 as createRedisAiAppAssistantTelemetryStore, a9 as listAiModels, aa as listAiProviders, ab as validateAndSaveAiAppAssistantConfiguration } from './managed-server-wXfu_9rp.cjs';
3
3
  import { AiAppAssistantRequest, AiAppAssistantResponse } from '@123toto/ai-app-assistant-contracts';
4
4
  export { AiAppAssistantConfigurationFieldSource, AiAppAssistantConfigurationInput, AiAppAssistantConfigurationOptions, AiAppAssistantConnectionResult, AiAppAssistantConnectionTestInput, AiAppAssistantCredentials, AiAppAssistantManagedConfigurationView, AiAppAssistantModelInfoContract, AiAppAssistantProvider, AiAppAssistantProviderInfoContract, AiAppAssistantRequest, AiAppAssistantResponse, AiAppAssistantRuntimeConnection, AiAppAssistantRuntimeConnectionStatus, AiAppAssistantTransportEvent, EvidenceSource, GeneratedAnswer, PROTOCOL_VERSION, aiAppAssistantAccessRuleSchema, aiAppAssistantConfigurationInputSchema, aiAppAssistantConfigurationOptionsSchema, aiAppAssistantConfigurationSaveResultSchema, aiAppAssistantConnectionResultSchema, aiAppAssistantConnectionTestInputSchema, aiAppAssistantCredentialsSchema, aiAppAssistantManagedConfigurationViewSchema, aiAppAssistantModelInfoSchema, aiAppAssistantProviderInfoSchema, aiAppAssistantProviderSchema, aiAppAssistantRequestSchema, aiAppAssistantResponseSchema, aiAppAssistantTransportEventSchema } from '@123toto/ai-app-assistant-contracts';
5
5
  import { IncomingMessage, ServerResponse } from 'node:http';
@@ -89,9 +89,17 @@ declare function createAiAppAssistantServer<TContext = undefined>(options: Creat
89
89
 
90
90
  interface AiAppAssistantDeploymentDefaultsOptions {
91
91
  enabled: boolean;
92
- /** `provider:model`, for example `mistral:mistral-small-latest`. */
92
+ /** Provider selected by the host application. Allows `model` to remain a plain model identifier. */
93
+ provider?: BuiltInProvider;
94
+ /** Plain model identifier when `provider` is set, or legacy `provider:model` identifier. */
93
95
  model?: string;
96
+ /** API key for the selected provider. Prefer this for one-provider deployments. */
97
+ apiKey?: string;
98
+ /** Provider endpoint override. Required by local providers such as Ollama. */
99
+ baseURL?: string;
100
+ /** @deprecated Prefer `provider` with the singular `apiKey` option. */
94
101
  apiKeys?: Partial<Record<BuiltInProvider, string | undefined>>;
102
+ /** @deprecated Prefer `provider` with the singular `baseURL` option. */
95
103
  baseURLs?: Partial<Record<BuiltInProvider, string | undefined>>;
96
104
  access?: AiAppAssistantConfiguration["access"];
97
105
  quota?: AiAppAssistantConfiguration["quota"];
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AiAppAssistant, a as AiAppAssistantStreamEvent, b as AiAppAssistantConfiguration, B as BuiltInProvider } from './managed-server-CGmvVYsF.js';
2
- export { c as AiAppAssistantAccessRule, d as AiAppAssistantConfigurationActor, e as AiAppAssistantConfigurationAdministration, f as AiAppAssistantConfigurationAuditChange, g as AiAppAssistantConfigurationAuditEntry, h as AiAppAssistantConfigurationAuditField, i as AiAppAssistantConfigurationChangeEvent, j as AiAppAssistantConfigurationConflictError, k as AiAppAssistantConfigurationManager, l as AiAppAssistantConfigurationManagerOptions, m as AiAppAssistantConfigurationRepository, n as AiAppAssistantConfigurationSaveResult, o as AiAppAssistantConfigurationSynchronizer, p as AiAppAssistantConfigurationView, q as AiAppAssistantGenerationEvent, r as AiAppAssistantGenerationOperation, s as AiAppAssistantKeyValueStore, t as AiAppAssistantManagedConfigurationSetup, u as AiAppAssistantManagedStorage, v as AiAppAssistantManagementError, w as AiAppAssistantManagementErrorCode, x as AiAppAssistantQuotaPolicy, y as AiAppAssistantQuotaResult, z as AiAppAssistantQuotaStore, C as AiAppAssistantRecentFailure, D as AiAppAssistantRedisClient, E as AiAppAssistantRedisQuotaClient, F as AiAppAssistantRedisTelemetryClient, G as AiAppAssistantRuntimeIdentity, H as AiAppAssistantSecretProtector, I as AiAppAssistantTelemetryStore, J as AiAppAssistantTelemetrySummary, K as AiModelDiscoveryError, L as AiModelInfo, N as AiProviderInfo, O as CreateAiAppAssistantConfigurationRepositoryOptions, P as CreateManagedAiAppAssistantRuntimeOptions, Q as CreateManagedAiAppAssistantServerOptions, R as ListAiModelsOptions, S as ManagedAiAppAssistantFetchHandlerOptions, T as ManagedAiAppAssistantFetchHandlers, U as ManagedAiAppAssistantRuntime, M as ManagedAiAppAssistantServer, V as createAes256GcmSecretProtector, W as createAiAppAssistant, X as createAiAppAssistantConfigurationRepository, Y as createAiAppAssistantFailureEvent, Z as createDisabledSecretProtector, _ as createManagedAiAppAssistantFetchHandlers, $ as createManagedAiAppAssistantRuntime, a0 as createManagedAiAppAssistantServer, a1 as createMemoryAiAppAssistantQuotaStore, a2 as createMemoryAiAppAssistantStore, a3 as createMemoryAiAppAssistantTelemetryStore, a4 as createPollingAiAppAssistantConfigurationSynchronizer, a5 as createRedisAiAppAssistantQuotaStore, a6 as createRedisAiAppAssistantStore, a7 as createRedisAiAppAssistantTelemetryStore, a8 as listAiModels, a9 as listAiProviders, aa as validateAndSaveAiAppAssistantConfiguration } from './managed-server-CGmvVYsF.js';
1
+ import { A as AiAppAssistant, a as AiAppAssistantStreamEvent, b as AiAppAssistantConfiguration, B as BuiltInProvider } from './managed-server-CusQWWBB.js';
2
+ export { c as AI_APP_ASSISTANT_PROVIDERS, d as AiAppAssistantAccessRule, e as AiAppAssistantConfigurationActor, f as AiAppAssistantConfigurationAdministration, g as AiAppAssistantConfigurationAuditChange, h as AiAppAssistantConfigurationAuditEntry, i as AiAppAssistantConfigurationAuditField, j as AiAppAssistantConfigurationChangeEvent, k as AiAppAssistantConfigurationConflictError, l as AiAppAssistantConfigurationManager, m as AiAppAssistantConfigurationManagerOptions, n as AiAppAssistantConfigurationRepository, o as AiAppAssistantConfigurationSaveResult, p as AiAppAssistantConfigurationSynchronizer, q as AiAppAssistantConfigurationView, r as AiAppAssistantGenerationEvent, s as AiAppAssistantGenerationOperation, t as AiAppAssistantKeyValueStore, u as AiAppAssistantManagedConfigurationSetup, v as AiAppAssistantManagedStorage, w as AiAppAssistantManagementError, x as AiAppAssistantManagementErrorCode, y as AiAppAssistantQuotaPolicy, z as AiAppAssistantQuotaResult, C as AiAppAssistantQuotaStore, D as AiAppAssistantRecentFailure, E as AiAppAssistantRedisClient, F as AiAppAssistantRedisQuotaClient, G as AiAppAssistantRedisTelemetryClient, H as AiAppAssistantRuntimeIdentity, I as AiAppAssistantSecretProtector, J as AiAppAssistantTelemetryStore, K as AiAppAssistantTelemetrySummary, L as AiModelDiscoveryError, N as AiModelInfo, O as AiProviderInfo, P as CreateAiAppAssistantConfigurationRepositoryOptions, Q as CreateManagedAiAppAssistantRuntimeOptions, R as CreateManagedAiAppAssistantServerOptions, S as ListAiModelsOptions, T as ManagedAiAppAssistantFetchHandlerOptions, U as ManagedAiAppAssistantFetchHandlers, V as ManagedAiAppAssistantRuntime, M as ManagedAiAppAssistantServer, W as createAes256GcmSecretProtector, X as createAiAppAssistant, Y as createAiAppAssistantConfigurationRepository, Z as createAiAppAssistantFailureEvent, _ as createDisabledSecretProtector, $ as createManagedAiAppAssistantFetchHandlers, a0 as createManagedAiAppAssistantRuntime, a1 as createManagedAiAppAssistantServer, a2 as createMemoryAiAppAssistantQuotaStore, a3 as createMemoryAiAppAssistantStore, a4 as createMemoryAiAppAssistantTelemetryStore, a5 as createPollingAiAppAssistantConfigurationSynchronizer, a6 as createRedisAiAppAssistantQuotaStore, a7 as createRedisAiAppAssistantStore, a8 as createRedisAiAppAssistantTelemetryStore, a9 as listAiModels, aa as listAiProviders, ab as validateAndSaveAiAppAssistantConfiguration } from './managed-server-CusQWWBB.js';
3
3
  import { AiAppAssistantRequest, AiAppAssistantResponse } from '@123toto/ai-app-assistant-contracts';
4
4
  export { AiAppAssistantConfigurationFieldSource, AiAppAssistantConfigurationInput, AiAppAssistantConfigurationOptions, AiAppAssistantConnectionResult, AiAppAssistantConnectionTestInput, AiAppAssistantCredentials, AiAppAssistantManagedConfigurationView, AiAppAssistantModelInfoContract, AiAppAssistantProvider, AiAppAssistantProviderInfoContract, AiAppAssistantRequest, AiAppAssistantResponse, AiAppAssistantRuntimeConnection, AiAppAssistantRuntimeConnectionStatus, AiAppAssistantTransportEvent, EvidenceSource, GeneratedAnswer, PROTOCOL_VERSION, aiAppAssistantAccessRuleSchema, aiAppAssistantConfigurationInputSchema, aiAppAssistantConfigurationOptionsSchema, aiAppAssistantConfigurationSaveResultSchema, aiAppAssistantConnectionResultSchema, aiAppAssistantConnectionTestInputSchema, aiAppAssistantCredentialsSchema, aiAppAssistantManagedConfigurationViewSchema, aiAppAssistantModelInfoSchema, aiAppAssistantProviderInfoSchema, aiAppAssistantProviderSchema, aiAppAssistantRequestSchema, aiAppAssistantResponseSchema, aiAppAssistantTransportEventSchema } from '@123toto/ai-app-assistant-contracts';
5
5
  import { IncomingMessage, ServerResponse } from 'node:http';
@@ -89,9 +89,17 @@ declare function createAiAppAssistantServer<TContext = undefined>(options: Creat
89
89
 
90
90
  interface AiAppAssistantDeploymentDefaultsOptions {
91
91
  enabled: boolean;
92
- /** `provider:model`, for example `mistral:mistral-small-latest`. */
92
+ /** Provider selected by the host application. Allows `model` to remain a plain model identifier. */
93
+ provider?: BuiltInProvider;
94
+ /** Plain model identifier when `provider` is set, or legacy `provider:model` identifier. */
93
95
  model?: string;
96
+ /** API key for the selected provider. Prefer this for one-provider deployments. */
97
+ apiKey?: string;
98
+ /** Provider endpoint override. Required by local providers such as Ollama. */
99
+ baseURL?: string;
100
+ /** @deprecated Prefer `provider` with the singular `apiKey` option. */
94
101
  apiKeys?: Partial<Record<BuiltInProvider, string | undefined>>;
102
+ /** @deprecated Prefer `provider` with the singular `baseURL` option. */
95
103
  baseURLs?: Partial<Record<BuiltInProvider, string | undefined>>;
96
104
  access?: AiAppAssistantConfiguration["access"];
97
105
  quota?: AiAppAssistantConfiguration["quota"];
package/dist/index.js CHANGED
@@ -751,6 +751,7 @@ function quotaResult(count, resetAt, maxRequests, now) {
751
751
  }
752
752
 
753
753
  // src/provider-catalog.ts
754
+ var AI_APP_ASSISTANT_PROVIDERS = ["anthropic", "google", "mistral", "ollama", "openai"];
754
755
  var PROVIDERS = Object.freeze([
755
756
  { id: "anthropic", label: "Anthropic", requiresApiKey: true, supportsModelDiscovery: true },
756
757
  { id: "google", label: "Google Gemini", requiresApiKey: true, supportsModelDiscovery: true },
@@ -2110,21 +2111,38 @@ function createAiAppAssistantDeploymentDefaults(options) {
2110
2111
  const apiKeys = Object.fromEntries(
2111
2112
  Object.entries(options.apiKeys ?? {}).map(([provider2, value]) => [provider2, value?.trim() || void 0])
2112
2113
  );
2113
- const resolveApiKey = (provider2) => apiKeys[provider2];
2114
+ const selectedProvider = options.provider;
2115
+ const selectedApiKey = options.apiKey?.trim() || void 0;
2116
+ const resolveApiKey = (provider2) => provider2 === selectedProvider ? selectedApiKey ?? apiKeys[provider2] : apiKeys[provider2];
2114
2117
  if (!options.enabled || !options.model?.trim()) return { resolveApiKey };
2115
- const match = options.model.trim().match(/^([^:/]+)[:/](.+)$/);
2116
- if (!match) throw new TypeError(`Invalid AI App Assistant model identifier: ${options.model}`);
2117
- const provider = match[1] === "gemini" ? "google" : match[1];
2118
+ const rawModel = options.model.trim();
2119
+ const legacyMatch = selectedProvider ? void 0 : rawModel.match(/^([^:/]+)[:/](.+)$/);
2120
+ const explicitMatch = selectedProvider ? rawModel.match(/^([^:]+):(.+)$/) : void 0;
2121
+ if (!selectedProvider && !legacyMatch) {
2122
+ throw new TypeError(`Invalid AI App Assistant model identifier: ${options.model}`);
2123
+ }
2124
+ const parsedProvider = legacyMatch?.[1] ?? explicitMatch?.[1];
2125
+ const modelProvider = parsedProvider === "gemini" ? "google" : parsedProvider ?? selectedProvider;
2126
+ const provider = modelProvider;
2118
2127
  if (!listAiProviders().some((candidate) => candidate.id === provider)) {
2119
- throw new TypeError(`Unsupported AI App Assistant provider: ${match[1]}`);
2128
+ throw new TypeError(`Unsupported AI App Assistant provider: ${modelProvider}`);
2120
2129
  }
2130
+ if (selectedProvider && explicitMatch && provider !== selectedProvider) {
2131
+ throw new TypeError(
2132
+ `AI App Assistant provider '${selectedProvider}' does not match model identifier '${options.model}'`
2133
+ );
2134
+ }
2135
+ const model = legacyMatch?.[2]?.trim() ?? explicitMatch?.[2]?.trim() ?? rawModel;
2121
2136
  const apiKey = resolveApiKey(provider);
2122
- const baseURL = options.baseURLs?.[provider]?.trim() || void 0;
2137
+ const baseURL = (provider === selectedProvider ? options.baseURL?.trim() : void 0) || options.baseURLs?.[provider]?.trim() || void 0;
2138
+ if (provider === "ollama" && !baseURL) {
2139
+ throw new TypeError("AI App Assistant local provider 'ollama' requires a base URL");
2140
+ }
2123
2141
  return {
2124
2142
  resolveApiKey,
2125
2143
  configuration: {
2126
2144
  provider,
2127
- model: match[2].trim(),
2145
+ model,
2128
2146
  connectionSource: "environment",
2129
2147
  ...apiKey ? { apiKey } : {},
2130
2148
  ...baseURL ? { baseURL } : {},
@@ -2351,6 +2369,7 @@ import {
2351
2369
  aiAppAssistantTransportEventSchema
2352
2370
  } from "@123toto/ai-app-assistant-contracts";
2353
2371
  export {
2372
+ AI_APP_ASSISTANT_PROVIDERS,
2354
2373
  AiAppAssistantConfigurationConflictError,
2355
2374
  AiAppAssistantConfigurationManager,
2356
2375
  AiAppAssistantManagementError,