@wordrhyme/plugin 0.1.0-alpha.6 → 0.1.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/artifact.d.ts +1 -1
  2. package/dist/artifact.js +2 -1
  3. package/dist/artifact.js.map +1 -1
  4. package/dist/chunk-BI7E5CVM.js +26 -0
  5. package/dist/chunk-BI7E5CVM.js.map +1 -0
  6. package/dist/{chunk-46KUIGB6.js → chunk-BVOTSKM2.js} +36 -12
  7. package/dist/chunk-BVOTSKM2.js.map +1 -0
  8. package/dist/{chunk-T7PQB64I.js → chunk-FOCLZY64.js} +69 -3
  9. package/dist/chunk-FOCLZY64.js.map +1 -0
  10. package/dist/{chunk-YQDKOEUI.js → chunk-NAWUXVZQ.js} +43 -15
  11. package/dist/chunk-NAWUXVZQ.js.map +1 -0
  12. package/dist/{client-BJju2aT7.d.ts → client-CKtDWayV.d.ts} +1 -1
  13. package/dist/client.d.ts +2 -2
  14. package/dist/client.js +2 -1
  15. package/dist/dev-utils.d.ts +6 -2
  16. package/dist/dev-utils.js +3 -1
  17. package/dist/{entity-extensions-D09rvNgi.d.ts → entity-extensions-gJuSTXYZ.d.ts} +2 -2
  18. package/dist/globalization.d.ts +7 -2
  19. package/dist/globalization.js +11 -1
  20. package/dist/index.d.ts +42 -8
  21. package/dist/index.js +80 -18
  22. package/dist/index.js.map +1 -1
  23. package/dist/locale.d.ts +15 -0
  24. package/dist/locale.js +13 -0
  25. package/dist/locale.js.map +1 -0
  26. package/dist/{manifest-zSGjFCcJ.d.ts → manifest-CDTCsMYV.d.ts} +22 -4
  27. package/dist/react.d.ts +50 -3
  28. package/dist/react.js +105 -11
  29. package/dist/react.js.map +1 -1
  30. package/dist/server.d.ts +5 -4
  31. package/dist/trpc.d.ts +2 -1
  32. package/dist/{types-oPAs313y.d.ts → types-9v-WZ_NU.d.ts} +9 -0
  33. package/package.json +10 -1
  34. package/dist/chunk-46KUIGB6.js.map +0 -1
  35. package/dist/chunk-T7PQB64I.js.map +0 -1
  36. package/dist/chunk-YQDKOEUI.js.map +0 -1
package/dist/client.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { D as DashboardTarget, G as GenericTarget, a as NavTarget, S as SettingsTarget, b as SlotContext, T as Target, U as UIExtensionDef, d as dashboardExtension, e as defineExtension, m as multiSlotExtension, n as navExtension, s as settingsExtension } from './client-BJju2aT7.js';
2
- export { d as AggregationStrategy, l as PluginCapabilities, P as PluginManifest, m as PluginNotificationType, n as PluginStatus, z as adminExtensionSchema, L as dashboardTargetSchema, T as navTargetSchema, V as pluginManifestSchema, Z as settingsTargetSchema, _ as targetSchema } from './manifest-zSGjFCcJ.js';
1
+ export { D as DashboardTarget, G as GenericTarget, a as NavTarget, S as SettingsTarget, b as SlotContext, T as Target, U as UIExtensionDef, d as dashboardExtension, e as defineExtension, m as multiSlotExtension, n as navExtension, s as settingsExtension } from './client-CKtDWayV.js';
2
+ export { d as AggregationStrategy, l as PluginCapabilities, P as PluginManifest, m as PluginNotificationType, n as PluginStatus, z as adminExtensionSchema, L as dashboardTargetSchema, T as navTargetSchema, V as pluginManifestSchema, Z as settingsTargetSchema, _ as targetSchema } from './manifest-CDTCsMYV.js';
3
3
  import 'zod';
package/dist/client.js CHANGED
@@ -12,7 +12,8 @@ import {
12
12
  pluginManifestSchema,
13
13
  settingsTargetSchema,
14
14
  targetSchema
15
- } from "./chunk-T7PQB64I.js";
15
+ } from "./chunk-FOCLZY64.js";
16
+ import "./chunk-BI7E5CVM.js";
16
17
  export {
17
18
  adminExtensionSchema,
18
19
  dashboardExtension,
@@ -14,7 +14,10 @@ interface ResolvePluginRemoteEntryOptions {
14
14
  devRemoteEntry?: string | undefined;
15
15
  surface?: PluginRemoteSurface | undefined;
16
16
  isDev?: boolean | undefined;
17
+ devRemoteEnabled?: boolean | undefined;
17
18
  probeTimeoutMs?: number | undefined;
19
+ probeAttempts?: number | undefined;
20
+ probeRetryDelayMs?: number | undefined;
18
21
  entryChunkPaths?: readonly string[] | undefined;
19
22
  }
20
23
  /**
@@ -61,8 +64,9 @@ declare function getPluginWebDevRemoteEntry(pluginId: string): string;
61
64
  * @returns Valid MF module name
62
65
  */
63
66
  declare function getPluginMfName(pluginId: string): string;
67
+ declare function isPluginListed(pluginId: string, rawValue: unknown): boolean;
64
68
  declare function isPluginDevRemoteEnabled(pluginId: string): boolean;
65
- declare function resolvePluginRemoteEntry({ pluginId, manifestRemoteEntry, devRemoteEntry, surface, isDev, probeTimeoutMs, entryChunkPaths, }: ResolvePluginRemoteEntryOptions): Promise<ResolvedPluginRemoteEntry>;
69
+ declare function resolvePluginRemoteEntry({ pluginId, manifestRemoteEntry, devRemoteEntry, surface, isDev, devRemoteEnabled, probeTimeoutMs, probeAttempts, probeRetryDelayMs, entryChunkPaths, }: ResolvePluginRemoteEntryOptions): Promise<ResolvedPluginRemoteEntry>;
66
70
  declare function appendRemoteEntryCacheBust(remoteEntry: string, value: string | number): string;
67
71
 
68
- export { type PluginRemoteSurface, type ResolvePluginRemoteEntryOptions, type ResolvedPluginRemoteEntry, appendRemoteEntryCacheBust, getPluginDevPort, getPluginDevRemoteEntry, getPluginMfName, getPluginWebDevPort, getPluginWebDevRemoteEntry, isPluginDevRemoteEnabled, resolvePluginRemoteEntry };
72
+ export { type PluginRemoteSurface, type ResolvePluginRemoteEntryOptions, type ResolvedPluginRemoteEntry, appendRemoteEntryCacheBust, getPluginDevPort, getPluginDevRemoteEntry, getPluginMfName, getPluginWebDevPort, getPluginWebDevRemoteEntry, isPluginDevRemoteEnabled, isPluginListed, resolvePluginRemoteEntry };
package/dist/dev-utils.js CHANGED
@@ -6,8 +6,9 @@ import {
6
6
  getPluginWebDevPort,
7
7
  getPluginWebDevRemoteEntry,
8
8
  isPluginDevRemoteEnabled,
9
+ isPluginListed,
9
10
  resolvePluginRemoteEntry
10
- } from "./chunk-YQDKOEUI.js";
11
+ } from "./chunk-NAWUXVZQ.js";
11
12
  export {
12
13
  appendRemoteEntryCacheBust,
13
14
  getPluginDevPort,
@@ -16,6 +17,7 @@ export {
16
17
  getPluginWebDevPort,
17
18
  getPluginWebDevRemoteEntry,
18
19
  isPluginDevRemoteEnabled,
20
+ isPluginListed,
19
21
  resolvePluginRemoteEntry
20
22
  };
21
23
  //# sourceMappingURL=dev-utils.js.map
@@ -1,5 +1,5 @@
1
- import { E as EntityExtensionFieldType, a as EntityExtensionField } from './manifest-zSGjFCcJ.js';
2
- import { H as HookContext, a as PluginContext, b as HookHandlerOptions } from './types-oPAs313y.js';
1
+ import { E as EntityExtensionFieldType, a as EntityExtensionField } from './manifest-CDTCsMYV.js';
2
+ import { H as HookContext, a as PluginContext, b as HookHandlerOptions } from './types-9v-WZ_NU.js';
3
3
 
4
4
  /**
5
5
  * Projection customization hook for entity extension values.
@@ -1,7 +1,9 @@
1
1
  export { default as Decimal } from 'decimal.js';
2
+ export { DEFAULT_LOCALE, canonicalizeLocale, isLocale, normalizeLocale } from './locale.js';
2
3
 
3
4
  type TextDirection = 'ltr' | 'rtl';
4
5
  type TranslationMessages = Record<string, string>;
6
+ type I18nResourceSnapshot = Record<string, Record<string, TranslationMessages>>;
5
7
  type I18nTextField = string | Record<string, string | null | undefined> | null | undefined;
6
8
  interface LanguageInfo {
7
9
  locale: string;
@@ -39,6 +41,9 @@ interface GlobalizationState {
39
41
  timezone?: string | undefined;
40
42
  fallbackLocale?: string | undefined;
41
43
  messages?: TranslationMessages | undefined;
44
+ namespaces?: string[] | undefined;
45
+ resources?: I18nResourceSnapshot | undefined;
46
+ versions?: Record<string, string> | undefined;
42
47
  t?: Translator | undefined;
43
48
  p?: PriceFormatter | undefined;
44
49
  changeLocale?: ((locale: string) => void | Promise<void>) | undefined;
@@ -69,7 +74,7 @@ declare function convertCurrency(cents: number, fromCurrency: CurrencyInfo, toCu
69
74
  declare function formatCurrencyAmount(cents: number, currency: CurrencyInfo, locale: string, options?: FormatPriceOptions): string;
70
75
  declare function formatPrice(cents: number, fromCurrency: string | CurrencyInfo, state: GlobalizationState, options?: FormatPriceOptions): string;
71
76
  declare function getI18nText(field: I18nTextField, locale: string, fallbackLocale?: string): string;
72
- declare function createTranslator(messages: TranslationMessages | undefined): Translator;
77
+ declare function createTranslator(messages: TranslationMessages | undefined, locale?: string): Translator;
73
78
  declare function createPriceFormatter(state: GlobalizationState, defaultFromCurrency?: string | CurrencyInfo): PriceFormatter;
74
79
  declare function withGlobalizationHelpers(state: GlobalizationState, handlers?: Pick<GlobalizationState, 'changeLocale' | 'changeCurrency'>): GlobalizationState;
75
80
  declare function buildGlobalizationUrl(url: string | URL, updates: {
@@ -77,4 +82,4 @@ declare function buildGlobalizationUrl(url: string | URL, updates: {
77
82
  currency?: string | null | undefined;
78
83
  }): string;
79
84
 
80
- export { type CurrencyInfo, type CurrencyInfoInput, DEFAULT_CURRENCY, type FormatPriceOptions, type GlobalizationState, type I18nTextField, type LanguageInfo, type PriceFormatter, type TextDirection, type TranslationMessages, type Translator, bankersRound, buildGlobalizationUrl, convertCurrency, createPriceFormatter, createTranslator, findCurrency, formatCurrencyAmount, formatPrice, fromCents, getBaseCurrency, getI18nText, getTextDirection, normalizeCurrencies, normalizeCurrencyInfo, resolveCurrencyInfo, toCents, withGlobalizationHelpers };
85
+ export { type CurrencyInfo, type CurrencyInfoInput, DEFAULT_CURRENCY, type FormatPriceOptions, type GlobalizationState, type I18nResourceSnapshot, type I18nTextField, type LanguageInfo, type PriceFormatter, type TextDirection, type TranslationMessages, type Translator, bankersRound, buildGlobalizationUrl, convertCurrency, createPriceFormatter, createTranslator, findCurrency, formatCurrencyAmount, formatPrice, fromCents, getBaseCurrency, getI18nText, getTextDirection, normalizeCurrencies, normalizeCurrencyInfo, resolveCurrencyInfo, toCents, withGlobalizationHelpers };
@@ -18,12 +18,20 @@ import {
18
18
  resolveCurrencyInfo,
19
19
  toCents,
20
20
  withGlobalizationHelpers
21
- } from "./chunk-46KUIGB6.js";
21
+ } from "./chunk-BVOTSKM2.js";
22
+ import {
23
+ DEFAULT_LOCALE,
24
+ canonicalizeLocale,
25
+ isLocale,
26
+ normalizeLocale
27
+ } from "./chunk-BI7E5CVM.js";
22
28
  export {
23
29
  DEFAULT_CURRENCY,
30
+ DEFAULT_LOCALE,
24
31
  Decimal,
25
32
  bankersRound,
26
33
  buildGlobalizationUrl,
34
+ canonicalizeLocale,
27
35
  convertCurrency,
28
36
  createPriceFormatter,
29
37
  createTranslator,
@@ -34,8 +42,10 @@ export {
34
42
  getBaseCurrency,
35
43
  getI18nText,
36
44
  getTextDirection,
45
+ isLocale,
37
46
  normalizeCurrencies,
38
47
  normalizeCurrencyInfo,
48
+ normalizeLocale,
39
49
  resolveCurrencyInfo,
40
50
  toCents,
41
51
  withGlobalizationHelpers
package/dist/index.d.ts CHANGED
@@ -1,14 +1,16 @@
1
- import { a as PluginContext, d as PluginLogger, W as WebPluginSiteInfo } from './types-oPAs313y.js';
2
- export { A as ActionContractMeta, e as ActionDescriptor, f as ActionInvokeRequest, g as AgentToolDescriptor, h as AiAliasDescriptor, i as AiBudget, j as AiModelCatalog, k as AiModelHint, l as AiModelListRequest, m as AiModelOption, n as AiObjectRequest, o as AiObjectResult, p as AiObjectSchema, q as AiRuntimeHandler, r as AiRuntimeHost, s as AiRuntimeInvocation, t as AiStreamEvent, u as AiTextRequest, v as AiTextResult, w as AiUsage, x as AiUsageAuthorization, y as AiUsageObservation, z as ApiPayload, E as EAuthModel, B as EAuthProvider, C as EAuthRefreshInput, D as EAuthRefreshResult, F as EAuthStatus, G as EAuthTokenResult, I as EAuthUpsertInput, J as EAuthUse, K as HookAbortError, H as HookContext, L as HookEmitOptions, b as HookHandlerOptions, M as HookPriority, c as HookTransaction, N as MARKETPLACE_PUBLISH_AUTH_METHODS, O as MarketplaceAttestationTargetV1, Q as MarketplaceExecutionErrorCode, R as MarketplaceExecutionFailureCode, S as MarketplaceOrganizationExecutionV1, T as MarketplacePlatformReadAction, U as MarketplacePublishActor, V as MarketplacePublishAuthMethod, X as MarketplacePublisherAction, Y as MarketplaceRegistrySigningCapability, Z as OpaquePublisherCandidateV1, _ as PluginActionInvokerCapability, $ as PluginAgentCapability, a0 as PluginAiCapability, a1 as PluginAiRuntimeCapability, a2 as PluginApisCapability, a3 as PluginArtifactCapability, a4 as PluginAssetCapability, a5 as PluginAssetCreateOptions, a6 as PluginAssetInfo, a7 as PluginAssetQuery, a8 as PluginAssetUpdateData, a9 as PluginAssetVariant, aa as PluginCurrencyCapability, ab as PluginEAuthCapability, ac as PluginEntityExtensionCapability, ad as PluginEntityExtensionFilter, ae as PluginFileCapability, af as PluginFileInfo, ag as PluginFileQuery, ah as PluginFileUploadInput, ai as PluginHookCapability, aj as PluginJobOptions, ak as PluginJobStatus, al as PluginMediaCapability, P as PluginMediaInfo, am as PluginMediaQuery, an as PluginMediaUpdateData, ao as PluginMediaUploadInput, ap as PluginMediaVariant, aq as PluginMetricsAllowedLabels, ar as PluginMetricsCapability, as as PluginNotificationActor, at as PluginNotificationCapability, au as PluginNotificationChannel, av as PluginNotificationEvent, aw as PluginNotificationInput, ax as PluginNotificationResult, ay as PluginNotificationSendParams, az as PluginNotificationSendResult, aA as PluginNotificationTarget, aB as PluginNotificationTemplate, aC as PluginOrganizationProvisioningCapability, aD as PluginPaginatedResult, aE as PluginPermissionCapability, aF as PluginPermissionCheckContext, aG as PluginPermissionDef, aH as PluginQueueCapability, aI as PluginScopedDb, aJ as PluginSettingEntry, aK as PluginSettingOptions, aL as PluginSettingsCapability, aM as PluginStorageCapability, aN as PluginStorageProvider, aO as PluginStorageProviderConfig, aP as PluginStorageProviderInfo, aQ as PluginStorageUploadInput, aR as PluginStorageUploadResult, aS as PluginTraceCapability, aT as PluginUsageCapability, aU as PluginWebCapability, aV as ReadonlyPluginScopedDb, aW as WebPluginHead, aX as WebPluginHeadLink, aY as WebPluginRouteHandler, aZ as WebPluginRouteRequest, a_ as WebPluginRouteResult, a$ as WebPluginTenantInfo, b0 as WebSlotExtensionQuery, b1 as WebSlotQueryResult, b2 as WebSlotRemoteExtension, b3 as WebSlotRenderOptions, b4 as WebSlotRenderRequest, b5 as WebSlotRenderResult, b6 as WebSlotRenderer } from './types-oPAs313y.js';
1
+ import { a as PluginContext, d as PluginLogger, W as WebPluginSiteInfo } from './types-9v-WZ_NU.js';
2
+ export { A as ActionContractMeta, e as ActionDescriptor, f as ActionInvokeRequest, g as AgentToolDescriptor, h as AiAliasDescriptor, i as AiBudget, j as AiModelCatalog, k as AiModelHint, l as AiModelListRequest, m as AiModelOption, n as AiObjectRequest, o as AiObjectResult, p as AiObjectSchema, q as AiRuntimeHandler, r as AiRuntimeHost, s as AiRuntimeInvocation, t as AiStreamEvent, u as AiTextRequest, v as AiTextResult, w as AiUsage, x as AiUsageAuthorization, y as AiUsageObservation, z as ApiPayload, E as EAuthModel, B as EAuthProvider, C as EAuthRefreshInput, D as EAuthRefreshResult, F as EAuthStatus, G as EAuthTokenResult, I as EAuthUpsertInput, J as EAuthUse, K as HookAbortError, H as HookContext, L as HookEmitOptions, b as HookHandlerOptions, M as HookPriority, c as HookTransaction, N as MARKETPLACE_PUBLISH_AUTH_METHODS, O as MarketplaceAttestationTargetV1, Q as MarketplaceExecutionErrorCode, R as MarketplaceExecutionFailureCode, S as MarketplaceOrganizationExecutionV1, T as MarketplacePlatformReadAction, U as MarketplacePublishActor, V as MarketplacePublishAuthMethod, X as MarketplacePublisherAction, Y as MarketplaceRegistrySigningCapability, Z as OpaquePublisherCandidateV1, _ as PluginActionInvokerCapability, $ as PluginAgentCapability, a0 as PluginAiCapability, a1 as PluginAiRuntimeCapability, a2 as PluginApisCapability, a3 as PluginArtifactCapability, a4 as PluginAssetCapability, a5 as PluginAssetCreateOptions, a6 as PluginAssetInfo, a7 as PluginAssetQuery, a8 as PluginAssetUpdateData, a9 as PluginAssetVariant, aa as PluginCurrencyCapability, ab as PluginEAuthCapability, ac as PluginEntityExtensionCapability, ad as PluginEntityExtensionFilter, ae as PluginFileCapability, af as PluginFileInfo, ag as PluginFileQuery, ah as PluginFileUploadInput, ai as PluginHookCapability, aj as PluginJobOptions, ak as PluginJobStatus, al as PluginMediaCapability, P as PluginMediaInfo, am as PluginMediaQuery, an as PluginMediaUpdateData, ao as PluginMediaUploadInput, ap as PluginMediaVariant, aq as PluginMetricsAllowedLabels, ar as PluginMetricsCapability, as as PluginNotificationActor, at as PluginNotificationCapability, au as PluginNotificationChannel, av as PluginNotificationEvent, aw as PluginNotificationInput, ax as PluginNotificationResult, ay as PluginNotificationSendParams, az as PluginNotificationSendResult, aA as PluginNotificationTarget, aB as PluginNotificationTemplate, aC as PluginOrganizationProvisioningCapability, aD as PluginPaginatedResult, aE as PluginPermissionCapability, aF as PluginPermissionCheckContext, aG as PluginPermissionDef, aH as PluginQueueCapability, aI as PluginScopedDb, aJ as PluginSettingEntry, aK as PluginSettingOptions, aL as PluginSettingsCapability, aM as PluginStorageCapability, aN as PluginStorageProvider, aO as PluginStorageProviderConfig, aP as PluginStorageProviderInfo, aQ as PluginStorageUploadInput, aR as PluginStorageUploadResult, aS as PluginTraceCapability, aT as PluginUsageCapability, aU as PluginWebCapability, aV as ReadonlyPluginScopedDb, aW as WebPluginHead, aX as WebPluginHeadLink, aY as WebPluginRouteHandler, aZ as WebPluginRouteRequest, a_ as WebPluginRouteResult, a$ as WebPluginTenantInfo, b0 as WebSlotExtensionQuery, b1 as WebSlotQueryResult, b2 as WebSlotRemoteExtension, b3 as WebSlotRenderOptions, b4 as WebSlotRenderRequest, b5 as WebSlotRenderResult, b6 as WebSlotRenderer } from './types-9v-WZ_NU.js';
3
3
  import { z } from 'zod';
4
- export { CurrencyInfo, DEFAULT_CURRENCY, FormatPriceOptions, GlobalizationState, I18nTextField, LanguageInfo, PriceFormatter, TextDirection, TranslationMessages, Translator, bankersRound, buildGlobalizationUrl, convertCurrency, createPriceFormatter, createTranslator, findCurrency, formatCurrencyAmount, formatPrice, fromCents, getBaseCurrency, getI18nText, getTextDirection, normalizeCurrencies, normalizeCurrencyInfo, resolveCurrencyInfo, toCents, withGlobalizationHelpers } from './globalization.js';
4
+ import { Translator } from './globalization.js';
5
+ export { CurrencyInfo, DEFAULT_CURRENCY, FormatPriceOptions, GlobalizationState, I18nTextField, LanguageInfo, PriceFormatter, TextDirection, TranslationMessages, bankersRound, buildGlobalizationUrl, convertCurrency, createPriceFormatter, createTranslator, findCurrency, formatCurrencyAmount, formatPrice, fromCents, getBaseCurrency, getI18nText, getTextDirection, normalizeCurrencies, normalizeCurrencyInfo, resolveCurrencyInfo, toCents, withGlobalizationHelpers } from './globalization.js';
6
+ export { DEFAULT_LOCALE, canonicalizeLocale, isLocale, normalizeLocale } from './locale.js';
5
7
  export { CLIENT_TIME_ZONE_COOKIE, CLIENT_TIME_ZONE_HEADER, DEFAULT_TIME_ZONE, DateFilterInput, DateFilterRange, DateRangeResolver, FormatDateTimeOptions, canonicalizeTimeZone, formatDateTime, getClientTimeZone, getSupportedTimeZones, isValidTimeZone, normalizeTimeZone, resolveDateFilterRange, toDateTimeLocal, toUtcDateTime, toUtcDayRange } from './time.js';
6
- import { P as PluginManifest } from './manifest-zSGjFCcJ.js';
7
- export { A as AdminTour, b as AdminTourPlacement, c as AdminTourStep, d as AggregationStrategy, e as AutoCrudAction, f as AutoCrudActionZone, g as AutoCrudActions, h as EntityExtension, i as EntityExtensionCrudConfig, a as EntityExtensionField, E as EntityExtensionFieldType, j as EntityExtensionSlot, k as EntityExtensionUse, l as PluginCapabilities, m as PluginNotificationType, n as PluginStatus, W as WebDesignAction, o as WebDesignBlock, p as WebDesignDataSource, q as WebDesignSlot, r as WebDesignSurface, s as WebDesignTemplate, t as WebExtension, u as WebExtensionQuery, v as WebExtensionTarget, w as WebPluginRoute, x as WebSsrContractVersion, y as WebSurface, z as adminExtensionSchema, B as adminTourPlacementSchema, C as adminTourSchema, D as adminTourStepSchema, F as autoCrudActionSchema, G as autoCrudActionZoneSchema, H as autoCrudActionsSchema, I as autoCrudDataSourceSchema, J as autoCrudFieldConfigSchema, K as autoCrudFieldOptionSchema, L as dashboardTargetSchema, M as entityExtensionCrudConfigSchema, N as entityExtensionFieldSchema, O as entityExtensionSchema, Q as entityExtensionSlotSchema, R as entityExtensionUseSchema, S as navGroupTargetSchema, T as navTargetSchema, U as pluginI18nSchema, V as pluginManifestSchema, X as pluginUsesSchema, Y as routeTargetSchema, Z as settingsTargetSchema, _ as targetSchema, $ as webDesignActionSchema, a0 as webDesignBlockSchema, a1 as webDesignDataSourceSchema, a2 as webDesignSlotSchema, a3 as webDesignSurfaceSchema, a4 as webDesignTemplateSchema, a5 as webExtensionQuerySchema, a6 as webExtensionSchema, a7 as webExtensionTargetSchema, a8 as webPluginRouteSchema, a9 as webSsrContractVersionSchema, aa as webSurfaceSchema } from './manifest-zSGjFCcJ.js';
8
+ import { P as PluginManifest } from './manifest-CDTCsMYV.js';
9
+ export { A as AdminTour, b as AdminTourPlacement, c as AdminTourStep, d as AggregationStrategy, e as AutoCrudAction, f as AutoCrudActionZone, g as AutoCrudActions, h as EntityExtension, i as EntityExtensionCrudConfig, a as EntityExtensionField, E as EntityExtensionFieldType, j as EntityExtensionSlot, k as EntityExtensionUse, l as PluginCapabilities, m as PluginNotificationType, n as PluginStatus, W as WebDesignAction, o as WebDesignBlock, p as WebDesignDataSource, q as WebDesignSlot, r as WebDesignSurface, s as WebDesignTemplate, t as WebExtension, u as WebExtensionQuery, v as WebExtensionTarget, w as WebPluginRoute, x as WebSsrContractVersion, y as WebSurface, z as adminExtensionSchema, B as adminTourPlacementSchema, C as adminTourSchema, D as adminTourStepSchema, F as autoCrudActionSchema, G as autoCrudActionZoneSchema, H as autoCrudActionsSchema, I as autoCrudDataSourceSchema, J as autoCrudFieldConfigSchema, K as autoCrudFieldOptionSchema, L as dashboardTargetSchema, M as entityExtensionCrudConfigSchema, N as entityExtensionFieldSchema, O as entityExtensionSchema, Q as entityExtensionSlotSchema, R as entityExtensionUseSchema, S as navGroupTargetSchema, T as navTargetSchema, U as pluginI18nSchema, V as pluginManifestSchema, X as pluginUsesSchema, Y as routeTargetSchema, Z as settingsTargetSchema, _ as targetSchema, $ as webDesignActionSchema, a0 as webDesignBlockSchema, a1 as webDesignDataSourceSchema, a2 as webDesignSlotSchema, a3 as webDesignSurfaceSchema, a4 as webDesignTemplateSchema, a5 as webExtensionQuerySchema, a6 as webExtensionSchema, a7 as webExtensionTargetSchema, a8 as webPluginRouteSchema, a9 as webSsrContractVersionSchema, aa as webSurfaceSchema } from './manifest-CDTCsMYV.js';
8
10
  export { c as PLUGIN_ARCHIVE_MEDIA_TYPE, d as PLUGIN_RELEASE_SCHEMA_VERSION, e as PluginRegistryCatalog, f as PluginRegistryRelease, P as PluginRelease, g as PluginReleaseFile, h as PluginSignature, i as REGISTRY_CATALOG_SIGNATURE_DOMAIN, b as RegistryCatalogPageEnvelope, R as RegistryReleaseEnvelope, a as RegistrySignature, j as canonicalRegistryCatalogPageEnvelope, k as canonicalRegistryReleaseEnvelope, p as pluginArchivePathSchema, l as pluginRegistryCatalogSchema, m as pluginRegistryReleaseSchema, n as pluginReleaseFileSchema, o as pluginReleaseSchema, q as pluginSignatureSchema, r as registryCatalogPageEnvelopeSchema, s as registryCatalogPageSignaturePayload, t as registryCatalogReleasesPayload, u as registryReleaseEnvelopeSchema, v as registryReleaseSignaturePayload, w as registrySignatureSchema } from './release-CyapqJ3z.js';
9
- export { E as ENTITY_EXTENSION_VALUES_SAVE_HOOK_ID, a as EXTENSION_PROJECT_SAVE_HOOK_ID, b as EntityExtensionProjectionValue, c as EntityExtensionValueSaveHandler, d as EntityExtensionValueSavePayload, e as EntityExtensionValueSaveResult, f as entityExtensions, r as registerEntityExtensionValueSaver } from './entity-extensions-D09rvNgi.js';
11
+ export { E as ENTITY_EXTENSION_VALUES_SAVE_HOOK_ID, a as EXTENSION_PROJECT_SAVE_HOOK_ID, b as EntityExtensionProjectionValue, c as EntityExtensionValueSaveHandler, d as EntityExtensionValueSavePayload, e as EntityExtensionValueSaveResult, f as entityExtensions, r as registerEntityExtensionValueSaver } from './entity-extensions-gJuSTXYZ.js';
10
12
  export { getPluginDevPort, getPluginDevRemoteEntry, getPluginMfName } from './dev-utils.js';
11
- export { D as DashboardTarget, E as ExtensionComponentMap, G as GenericTarget, N as NavGroupTarget, a as NavTarget, R as RouteTarget, S as SettingsTarget, b as SlotContext, T as Target, c as ToolbarHandlerMap, U as UIExtensionDef, d as dashboardExtension, e as defineExtension, m as multiSlotExtension, n as navExtension, r as routeExtension, s as settingsExtension } from './client-BJju2aT7.js';
13
+ export { D as DashboardTarget, E as ExtensionComponentMap, G as GenericTarget, N as NavGroupTarget, a as NavTarget, R as RouteTarget, S as SettingsTarget, b as SlotContext, T as Target, c as ToolbarHandlerMap, U as UIExtensionDef, d as dashboardExtension, e as defineExtension, m as multiSlotExtension, n as navExtension, r as routeExtension, s as settingsExtension } from './client-CKtDWayV.js';
12
14
  import 'decimal.js';
13
15
 
14
16
  declare const MARKETPLACE_PUBLISH_SOURCES: readonly ["web", "cli", "github-actions"];
@@ -322,6 +324,38 @@ type WebUrlSearchParams = URLSearchParams | Record<string, WebUrlSearchValue>;
322
324
  */
323
325
  declare function buildWebUrl(site: Pick<WebPluginSiteInfo, 'basePath' | 'publicOrigin'> | null | undefined, href: string, searchParams?: WebUrlSearchParams): string | null;
324
326
 
327
+ declare const AI_ERROR_I18N_KEYS: {
328
+ readonly AI_ALIAS_NOT_DECLARED: "errors.ai.aliasNotDeclared";
329
+ readonly AI_BALANCE_INSUFFICIENT: "errors.ai.balanceInsufficient";
330
+ readonly AI_BUDGET_EXCEEDED: "errors.ai.budgetExceeded";
331
+ readonly AI_CONFIG_INVALID: "errors.ai.configInvalid";
332
+ readonly AI_CONFIG_REQUIRED: "errors.ai.configRequired";
333
+ readonly AI_CONFIG_REVISION_STALE: "errors.ai.configRevisionStale";
334
+ readonly AI_CONNECTION_FAILED: "errors.ai.connectionFailed";
335
+ readonly AI_CONNECTION_NOT_FOUND: "errors.ai.connectionNotFound";
336
+ readonly AI_CONTEXT_REQUIRED: "errors.ai.contextRequired";
337
+ readonly AI_CREDENTIAL_INVALID: "errors.ai.credentialInvalid";
338
+ readonly AI_CREDENTIAL_REQUIRED: "errors.ai.credentialRequired";
339
+ readonly AI_DEFAULT_MODEL_NOT_FOUND: "errors.ai.defaultModelNotFound";
340
+ readonly AI_MODEL_NOT_FOUND: "errors.ai.modelNotFound";
341
+ readonly AI_MODEL_SELECTION_INVALID: "errors.ai.modelSelectionInvalid";
342
+ readonly AI_PROVIDER_ABORTED: "errors.ai.providerAborted";
343
+ readonly AI_PROVIDER_FAILED: "errors.ai.providerFailed";
344
+ readonly AI_QUOTA_EXCEEDED: "errors.ai.quotaExceeded";
345
+ readonly AI_RUNTIME_FAILED: "errors.ai.runtimeFailed";
346
+ readonly AI_RUNTIME_HOST_SERVICES_UNAVAILABLE: "errors.ai.runtimeHostServicesUnavailable";
347
+ readonly AI_RUNTIME_READINESS_UNAVAILABLE: "errors.ai.runtimeReadinessUnavailable";
348
+ readonly AI_RUNTIME_UNAVAILABLE: "errors.ai.runtimeUnavailable";
349
+ };
350
+ type AiErrorCode = keyof typeof AI_ERROR_I18N_KEYS;
351
+ type AiErrorI18nKey = (typeof AI_ERROR_I18N_KEYS)[AiErrorCode];
352
+ interface AiErrorDescriptor {
353
+ code: AiErrorCode;
354
+ i18nKey: AiErrorI18nKey;
355
+ }
356
+ declare function aiErrorDescriptor(error: unknown): AiErrorDescriptor | undefined;
357
+ declare function formatAiError(error: unknown, translateCommon: Translator, fallback: string): string;
358
+
325
359
  /**
326
360
  * Agent tool assembly + pre-call governance (AI Action Gateway, Phase 1).
327
361
  *
@@ -652,4 +686,4 @@ declare class ConnectorError extends Error {
652
686
  declare function resolveRemoteOrigin(baseUrl: string, allowedOrigins: string[]): string;
653
687
  declare function createWordRhymeConnector(options: ConnectorOptions): WordRhymeConnector;
654
688
 
655
- export { type ActionExecutor, type AgentRunEvent, type AgentRunOptions, type AgentRunResult, type AgentToolDefinition, type AgentToolSource, type AssembleOptions, ConnectorError, type ConnectorInvokeRequest, type ConnectorLocalActions, type ConnectorOptions, type LocalConnectorOptions, MARKETPLACE_PUBLISH_SOURCES, MARKETPLACE_SUBMISSION_STATUSES, type MarketplaceOwnedPlugin, type MarketplaceOwnedPluginInput, type MarketplaceOwnedPluginResponse, type MarketplaceOwnedPluginsResponse, type MarketplacePublishSource, type MarketplacePublisherError, type MarketplacePublisherProfile, type MarketplacePublisherProfileInput, type MarketplacePublisherProfileResponse, type MarketplaceReleaseAcceptedResponse, type MarketplaceSubmission, type MarketplaceSubmissionCursor, type MarketplaceSubmissionStatus, type MarketplaceSubmissionsResponse, type ModelClient, type ModelMessage, type ModelResponse, type ModelToolCall, PluginContext, PluginLogger, PluginManifest, type RemoteConnectorOptions, type RunStopReason, type ToolCallDecision, type ToolCallGateInput, type ToolCallRefusal, type ToolChannel, WebPluginSiteInfo, type WebUrlSearchParams, type WebUrlSearchValue, type WordRhymeConnector, assembleTools, buildWebUrl, checkPermission, createLogger, createWordRhymeConnector, definePlugin, encodeToolResult, gateToolCall, hasCapability, marketplaceOwnedPluginInputSchema, marketplaceOwnedPluginResponseSchema, marketplaceOwnedPluginSchema, marketplaceOwnedPluginsResponseSchema, marketplacePublishSourceSchema, marketplacePublisherErrorSchema, marketplacePublisherProfileInputSchema, marketplacePublisherProfileResponseSchema, marketplacePublisherProfileSchema, marketplaceReleaseAcceptedResponseSchema, marketplaceSubmissionCursorSchema, marketplaceSubmissionSchema, marketplaceSubmissionStatusSchema, marketplaceSubmissionsResponseSchema, requirePermission, requiresApprovalFor, resolveRemoteOrigin, runAgent, toolNameFor };
689
+ export { AI_ERROR_I18N_KEYS, type ActionExecutor, type AgentRunEvent, type AgentRunOptions, type AgentRunResult, type AgentToolDefinition, type AgentToolSource, type AiErrorCode, type AiErrorDescriptor, type AiErrorI18nKey, type AssembleOptions, ConnectorError, type ConnectorInvokeRequest, type ConnectorLocalActions, type ConnectorOptions, type LocalConnectorOptions, MARKETPLACE_PUBLISH_SOURCES, MARKETPLACE_SUBMISSION_STATUSES, type MarketplaceOwnedPlugin, type MarketplaceOwnedPluginInput, type MarketplaceOwnedPluginResponse, type MarketplaceOwnedPluginsResponse, type MarketplacePublishSource, type MarketplacePublisherError, type MarketplacePublisherProfile, type MarketplacePublisherProfileInput, type MarketplacePublisherProfileResponse, type MarketplaceReleaseAcceptedResponse, type MarketplaceSubmission, type MarketplaceSubmissionCursor, type MarketplaceSubmissionStatus, type MarketplaceSubmissionsResponse, type ModelClient, type ModelMessage, type ModelResponse, type ModelToolCall, PluginContext, PluginLogger, PluginManifest, type RemoteConnectorOptions, type RunStopReason, type ToolCallDecision, type ToolCallGateInput, type ToolCallRefusal, type ToolChannel, Translator, WebPluginSiteInfo, type WebUrlSearchParams, type WebUrlSearchValue, type WordRhymeConnector, aiErrorDescriptor, assembleTools, buildWebUrl, checkPermission, createLogger, createWordRhymeConnector, definePlugin, encodeToolResult, formatAiError, gateToolCall, hasCapability, marketplaceOwnedPluginInputSchema, marketplaceOwnedPluginResponseSchema, marketplaceOwnedPluginSchema, marketplaceOwnedPluginsResponseSchema, marketplacePublishSourceSchema, marketplacePublisherErrorSchema, marketplacePublisherProfileInputSchema, marketplacePublisherProfileResponseSchema, marketplacePublisherProfileSchema, marketplaceReleaseAcceptedResponseSchema, marketplaceSubmissionCursorSchema, marketplaceSubmissionSchema, marketplaceSubmissionStatusSchema, marketplaceSubmissionsResponseSchema, requirePermission, requiresApprovalFor, resolveRemoteOrigin, runAgent, toolNameFor };
package/dist/index.js CHANGED
@@ -1,3 +1,18 @@
1
+ import {
2
+ CLIENT_TIME_ZONE_COOKIE,
3
+ CLIENT_TIME_ZONE_HEADER,
4
+ DEFAULT_TIME_ZONE,
5
+ canonicalizeTimeZone,
6
+ formatDateTime,
7
+ getClientTimeZone,
8
+ getSupportedTimeZones,
9
+ isValidTimeZone,
10
+ normalizeTimeZone,
11
+ resolveDateFilterRange,
12
+ toDateTimeLocal,
13
+ toUtcDateTime,
14
+ toUtcDayRange
15
+ } from "./chunk-6GDCFR67.js";
1
16
  import {
2
17
  PLUGIN_ARCHIVE_MEDIA_TYPE,
3
18
  PLUGIN_RELEASE_SCHEMA_VERSION,
@@ -62,12 +77,12 @@ import {
62
77
  webPluginRouteSchema,
63
78
  webSsrContractVersionSchema,
64
79
  webSurfaceSchema
65
- } from "./chunk-T7PQB64I.js";
80
+ } from "./chunk-FOCLZY64.js";
66
81
  import {
67
82
  getPluginDevPort,
68
83
  getPluginDevRemoteEntry,
69
84
  getPluginMfName
70
- } from "./chunk-YQDKOEUI.js";
85
+ } from "./chunk-NAWUXVZQ.js";
71
86
  import {
72
87
  DEFAULT_CURRENCY,
73
88
  bankersRound,
@@ -87,28 +102,19 @@ import {
87
102
  resolveCurrencyInfo,
88
103
  toCents,
89
104
  withGlobalizationHelpers
90
- } from "./chunk-46KUIGB6.js";
105
+ } from "./chunk-BVOTSKM2.js";
106
+ import {
107
+ DEFAULT_LOCALE,
108
+ canonicalizeLocale,
109
+ isLocale,
110
+ normalizeLocale
111
+ } from "./chunk-BI7E5CVM.js";
91
112
  import {
92
113
  ENTITY_EXTENSION_VALUES_SAVE_HOOK_ID,
93
114
  EXTENSION_PROJECT_SAVE_HOOK_ID,
94
115
  entityExtensions,
95
116
  registerEntityExtensionValueSaver
96
117
  } from "./chunk-UGMYO6AU.js";
97
- import {
98
- CLIENT_TIME_ZONE_COOKIE,
99
- CLIENT_TIME_ZONE_HEADER,
100
- DEFAULT_TIME_ZONE,
101
- canonicalizeTimeZone,
102
- formatDateTime,
103
- getClientTimeZone,
104
- getSupportedTimeZones,
105
- isValidTimeZone,
106
- normalizeTimeZone,
107
- resolveDateFilterRange,
108
- toDateTimeLocal,
109
- toUtcDateTime,
110
- toUtcDayRange
111
- } from "./chunk-6GDCFR67.js";
112
118
 
113
119
  // src/types.ts
114
120
  var MARKETPLACE_PUBLISH_AUTH_METHODS = [
@@ -263,6 +269,55 @@ function buildWebUrl(site, href, searchParams) {
263
269
  }
264
270
  }
265
271
 
272
+ // src/ai-errors.ts
273
+ var AI_ERROR_I18N_KEYS = {
274
+ AI_ALIAS_NOT_DECLARED: "errors.ai.aliasNotDeclared",
275
+ AI_BALANCE_INSUFFICIENT: "errors.ai.balanceInsufficient",
276
+ AI_BUDGET_EXCEEDED: "errors.ai.budgetExceeded",
277
+ AI_CONFIG_INVALID: "errors.ai.configInvalid",
278
+ AI_CONFIG_REQUIRED: "errors.ai.configRequired",
279
+ AI_CONFIG_REVISION_STALE: "errors.ai.configRevisionStale",
280
+ AI_CONNECTION_FAILED: "errors.ai.connectionFailed",
281
+ AI_CONNECTION_NOT_FOUND: "errors.ai.connectionNotFound",
282
+ AI_CONTEXT_REQUIRED: "errors.ai.contextRequired",
283
+ AI_CREDENTIAL_INVALID: "errors.ai.credentialInvalid",
284
+ AI_CREDENTIAL_REQUIRED: "errors.ai.credentialRequired",
285
+ AI_DEFAULT_MODEL_NOT_FOUND: "errors.ai.defaultModelNotFound",
286
+ AI_MODEL_NOT_FOUND: "errors.ai.modelNotFound",
287
+ AI_MODEL_SELECTION_INVALID: "errors.ai.modelSelectionInvalid",
288
+ AI_PROVIDER_ABORTED: "errors.ai.providerAborted",
289
+ AI_PROVIDER_FAILED: "errors.ai.providerFailed",
290
+ AI_QUOTA_EXCEEDED: "errors.ai.quotaExceeded",
291
+ AI_RUNTIME_FAILED: "errors.ai.runtimeFailed",
292
+ AI_RUNTIME_HOST_SERVICES_UNAVAILABLE: "errors.ai.runtimeHostServicesUnavailable",
293
+ AI_RUNTIME_READINESS_UNAVAILABLE: "errors.ai.runtimeReadinessUnavailable",
294
+ AI_RUNTIME_UNAVAILABLE: "errors.ai.runtimeUnavailable"
295
+ };
296
+ function codeFrom(value) {
297
+ if (typeof value !== "string") return void 0;
298
+ const code = value.trim().split(":", 1)[0];
299
+ return Object.hasOwn(AI_ERROR_I18N_KEYS, code) ? code : void 0;
300
+ }
301
+ function aiErrorDescriptor(error) {
302
+ const seen = /* @__PURE__ */ new Set();
303
+ function visit(value) {
304
+ const direct = codeFrom(value);
305
+ if (direct) return direct;
306
+ if (!value || typeof value !== "object" || seen.has(value)) return void 0;
307
+ seen.add(value);
308
+ const item = value;
309
+ return codeFrom(item.code) ?? codeFrom(item.message) ?? visit(item.data) ?? visit(item.cause);
310
+ }
311
+ const code = visit(error);
312
+ return code ? { code, i18nKey: AI_ERROR_I18N_KEYS[code] } : void 0;
313
+ }
314
+ function formatAiError(error, translateCommon, fallback) {
315
+ const descriptor = aiErrorDescriptor(error);
316
+ if (!descriptor) return fallback;
317
+ const translated = translateCommon(descriptor.i18nKey);
318
+ return translated && translated !== descriptor.i18nKey ? translated : fallback;
319
+ }
320
+
266
321
  // src/agent-tools.ts
267
322
  function allowsCommands(channel) {
268
323
  return channel === "native";
@@ -588,10 +643,12 @@ function createWordRhymeConnector(options) {
588
643
  return options.transport === "local" ? createLocalConnector(options) : createRemoteConnector(options);
589
644
  }
590
645
  export {
646
+ AI_ERROR_I18N_KEYS,
591
647
  CLIENT_TIME_ZONE_COOKIE,
592
648
  CLIENT_TIME_ZONE_HEADER,
593
649
  ConnectorError,
594
650
  DEFAULT_CURRENCY,
651
+ DEFAULT_LOCALE,
595
652
  DEFAULT_TIME_ZONE,
596
653
  ENTITY_EXTENSION_VALUES_SAVE_HOOK_ID,
597
654
  EXTENSION_PROJECT_SAVE_HOOK_ID,
@@ -607,6 +664,7 @@ export {
607
664
  adminTourPlacementSchema,
608
665
  adminTourSchema,
609
666
  adminTourStepSchema,
667
+ aiErrorDescriptor,
610
668
  assembleTools,
611
669
  autoCrudActionSchema,
612
670
  autoCrudActionZoneSchema,
@@ -619,6 +677,7 @@ export {
619
677
  buildWebUrl,
620
678
  canonicalRegistryCatalogPageEnvelope,
621
679
  canonicalRegistryReleaseEnvelope,
680
+ canonicalizeLocale,
622
681
  canonicalizeTimeZone,
623
682
  checkPermission,
624
683
  convertCurrency,
@@ -638,6 +697,7 @@ export {
638
697
  entityExtensionUseSchema,
639
698
  entityExtensions,
640
699
  findCurrency,
700
+ formatAiError,
641
701
  formatCurrencyAmount,
642
702
  formatDateTime,
643
703
  formatPrice,
@@ -652,6 +712,7 @@ export {
652
712
  getSupportedTimeZones,
653
713
  getTextDirection,
654
714
  hasCapability,
715
+ isLocale,
655
716
  isValidTimeZone,
656
717
  marketplaceOwnedPluginInputSchema,
657
718
  marketplaceOwnedPluginResponseSchema,
@@ -673,6 +734,7 @@ export {
673
734
  navTargetSchema,
674
735
  normalizeCurrencies,
675
736
  normalizeCurrencyInfo,
737
+ normalizeLocale,
676
738
  normalizeTimeZone,
677
739
  pluginArchivePathSchema,
678
740
  pluginI18nSchema,