@allbluecn/kernel 0.6.1 → 0.8.0

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/bin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { G as generateAssemblyFiles, J as resolvePluginOrder, K as parseProfileImports, U as dumpModules, W as generateAssemblyCode } from "./src-Bw3ZToQn.js";
2
+ import { G as dumpModules, J as parseProfileImports, K as generateAssemblyCode, X as resolvePluginOrder, q as generateAssemblyFiles } from "./src-CWDhdYs-.js";
3
3
  import { parseArgs } from "node:util";
4
4
  import { pathToFileURL } from "node:url";
5
5
  import { dirname, relative, resolve } from "node:path";
@@ -0,0 +1,7 @@
1
+ //#region src/contract/infrastructure/crypto.d.ts
2
+ /** 格式:v1.<iv-b64url>.<cipher-b64url>.<tag-b64url> */
3
+ declare function encryptSecret(plain: string): string;
4
+ declare function decryptSecret(payload: string | null | undefined): string | null;
5
+ declare function maskSecret(plain: string): string;
6
+ //#endregion
7
+ export { decryptSecret, encryptSecret, maskSecret };
@@ -0,0 +1,40 @@
1
+ import { createCipheriv, createDecipheriv, pbkdf2Sync, randomBytes } from "node:crypto";
2
+ //#region src/contract/infrastructure/crypto.ts
3
+ const KDF_SALT = "allblue-email-crypto-v1";
4
+ const KDF_ITERATIONS = 1e5;
5
+ const KEY_BYTES = 32;
6
+ const ALGO = "aes-256-gcm";
7
+ const IV_BYTES = 12;
8
+ const VERSION = "v1";
9
+ let cachedKey = null;
10
+ function deriveKey() {
11
+ if (cachedKey) return cachedKey;
12
+ const secret = process.env.AUTH_SECRET ?? "dev-only-secret";
13
+ cachedKey = pbkdf2Sync(secret, KDF_SALT, KDF_ITERATIONS, KEY_BYTES, "sha256");
14
+ return cachedKey;
15
+ }
16
+ /** 格式:v1.<iv-b64url>.<cipher-b64url>.<tag-b64url> */
17
+ function encryptSecret(plain) {
18
+ const iv = randomBytes(IV_BYTES);
19
+ const cipher = createCipheriv(ALGO, deriveKey(), iv);
20
+ const enc = Buffer.concat([cipher.update(plain, "utf8"), cipher.final()]);
21
+ const tag = cipher.getAuthTag();
22
+ return `${VERSION}.${iv.toString("base64url")}.${enc.toString("base64url")}.${tag.toString("base64url")}`;
23
+ }
24
+ function decryptSecret(payload) {
25
+ if (!payload) return null;
26
+ try {
27
+ const [v, ivS, dataS, tagS] = payload.split(".");
28
+ if (v !== VERSION || !ivS || !dataS || !tagS) return null;
29
+ const decipher = createDecipheriv(ALGO, deriveKey(), Buffer.from(ivS, "base64url"));
30
+ decipher.setAuthTag(Buffer.from(tagS, "base64url"));
31
+ return Buffer.concat([decipher.update(Buffer.from(dataS, "base64url")), decipher.final()]).toString("utf8");
32
+ } catch {
33
+ return null;
34
+ }
35
+ }
36
+ function maskSecret(plain) {
37
+ return plain.length <= 4 ? "••••" : `••••${plain.slice(-4)}`;
38
+ }
39
+ //#endregion
40
+ export { decryptSecret, encryptSecret, maskSecret };
package/dist/index.d.ts CHANGED
@@ -1126,8 +1126,11 @@ interface NotificationListResult {
1126
1126
  }
1127
1127
  /** 每类别投递频率(off = 关闭;旧版布尔值在读取时经 normalizeCategoryFrequencies 迁移) */
1128
1128
  type CategoryFrequencies = Record<NotificationCategory, NotificationFrequency>;
1129
+ /** 每类别邮件渠道开关(站内频率独立;镜像仅 realtime 频率送达) */
1130
+ type CategoryEmailFlags = Record<NotificationCategory, boolean>;
1129
1131
  interface NotificationPreferences {
1130
1132
  categories: CategoryFrequencies;
1133
+ emailCategories: CategoryEmailFlags;
1131
1134
  dndEnabled: boolean;
1132
1135
  dndStart: string;
1133
1136
  dndEnd: string;
@@ -1145,12 +1148,19 @@ type NotificationSseValue = NotificationSsePayload | UnreadSnapshotPayload;
1145
1148
  //#endregion
1146
1149
  //#region src/contract/modules/notifications/index.d.ts
1147
1150
  declare const DEFAULT_CATEGORIES: CategoryFrequencies;
1151
+ declare const DEFAULT_EMAIL_CATEGORIES: CategoryEmailFlags;
1148
1152
  /**
1149
1153
  * 归一化存储中的 categories 字段。
1150
1154
  * 存量数据为旧版布尔记录(true/false),读取时迁移为 frequency:
1151
1155
  * true → realtime,false → off;未知值回退默认 realtime。
1152
1156
  */
1153
1157
  declare function normalizeCategoryFrequencies(raw: unknown): CategoryFrequencies;
1158
+ /**
1159
+ * 归一化存储中的 emailCategories 字段。
1160
+ * 旧用户数据缺失该字段(undefined / null)返回全默认;
1161
+ * 部分缺失(只有部分 key)或缺失值非布尔(类型错误)时,该 key 用默认值。
1162
+ */
1163
+ declare function normalizeEmailCategories(raw: unknown): CategoryEmailFlags;
1154
1164
  declare function isInDndWindow(prefs: Pick<NotificationPreferences, 'dndEnabled' | 'dndStart' | 'dndEnd'>, now: string): boolean;
1155
1165
  //#endregion
1156
1166
  //#region src/contract/modules/registry.d.ts
@@ -1277,4 +1287,4 @@ declare const ICON_MAP: Record<string, React.ComponentType<{
1277
1287
  className?: string;
1278
1288
  }>>;
1279
1289
  //#endregion
1280
- export { ADAPTER_KINDS, ADAPTER_KIND_VALUES, type AICommandContext, type AICommandDef, type AICommandHandler, type AICommandResult, type ActivationResult, AdapterKind, type AiAdapter, AiModelMeta, AiProviderMeta, AiProviderRow, type AiQuota, type AllBlueModule, type AnalyticsQuery, type AnalyticsResult, type AnalyticsService, type AssembleInput, type AssemblyFiles, type AuditLogEntry, type AuditQuery, type AuditService, type AutomationRule, type AutomationService, type AvatarConfig, type AvatarPart, type BillingService, BillingUnavailableError, type CLIAgentInfo, type CanvasElement, CategoryFrequencies, type CheckoutParams, type ComplianceJobSummary, type ComplianceService, type ComponentCategory, type ComponentSource, type CustomDashboard, DEFAULT_CATEGORIES, DEFAULT_WATCHED_DEPENDENCIES, DEPENDENCY_CATEGORIES, DEPENDENCY_PRIORITIES, DEVICE_SIZES, DND_STICKY_THRESHOLD, DependencyCategory, DependencyPriority, DependencySeed, DependencyUsage, type DeveloperLogEntry, type DeviceType, type DocumentTemplate, type DocumentVersion, type EditableFieldType, type EditablePropField, type EntityDef, type EntityUpdateEvent, FEATURE_KEYS, type FeatureContribution, type FeatureKey, type FeatureMeta, FeatureRegistry, type GlobalSearchService, type HostSession, type HostedAiChatParams, type HostedAiChatResult, HostedAiError, type HostedAiModel, type HostedAiService, ICON_MAP, type InvoiceInfo, LOAD_MORE_STEP, LOBE_ICON_MAP, type LicenseInfo, type LicenseIssueParams, type LicenseIssueResult, type LicenseService, type LicenseStatus, MODEL_CAPABILITY_OPTIONS, MODEL_TABS, type Middleware, ModelCapability, ModelTab, NOTIFICATION_CATEGORIES, NOTIFICATION_FREQUENCIES, NotificationCategory, NotificationFrequency, NotificationItem, NotificationListResult, NotificationPreferences, NotificationSsePayload, NotificationSseValue, OSS_BASE_FEATURES, type OutlineNode, type PRD, type PRDDetail, type PRDVersionWithPages, type PRDVersionWithSemver, PROVIDER_BADGE_STYLES, PROVIDER_CATEGORIES, PROVIDER_CATEGORY_VALUES, type ParsedUA, type PermissionLevel, type PermissionsService, type PlanFeatures, PlanFeaturesSchema, type PlanInfo, type PluginContributions, type PluginDefinition, type PluginRouteContext, type PortalSessionParams, type PrismaContribution, type PrismaSeam, type ProEdition, type ProFeature, type ProModule, type ProServiceMap, type ProfileDefinition, type PrototypeComponentConfig, ProviderCategory, type QueryFactoryMap, RESOURCE_KEYS, type RealtimeTransport, type RefDisplay, type Reference, type ReferenceDisplayFn, type ResizeDirection, type ResizeMode, type ResolveResult, type ResolvedRef, type ResourceKey, type ResourceMeta, ResourceRegistry, type ResourceSnapshot, type ResourceSnapshots, type RoleDefinition, type RouteContribution, SEED_AI_PROVIDERS, type SearchParams, type SearchResult, type SeatCheckResult, SeatsExceededError, type ServerSeam, type SettingsTabContribution, type ShapeType, type SsoProvider, type SsoService, type SubscriptionInfo, SyncDependencyResult, type TemplatesService, ThirdPartyDependencyRow, type UiSlotContributions, UnreadSnapshotPayload, UpdateDependencyInput, VIRTUALIZE_THRESHOLD, type VersionHistoryService, VersionStatus, WebhookSignatureError, definePlugin, defineProfile, dumpModules, formatParsedUA, generateAssemblyCode, generateAssemblyFiles, getClientIp, getServerSeam, isInDndWindow, isOssFeature, isResourceDefined, moduleRegistry, normalizeCategoryFrequencies, parseProfileImports, parseUserAgent, registerPrismaSeam, registerServerSeam, resolveImportSpecifiers, resolveIpLocation, resolvePluginOrder };
1290
+ export { ADAPTER_KINDS, ADAPTER_KIND_VALUES, type AICommandContext, type AICommandDef, type AICommandHandler, type AICommandResult, type ActivationResult, AdapterKind, type AiAdapter, AiModelMeta, AiProviderMeta, AiProviderRow, type AiQuota, type AllBlueModule, type AnalyticsQuery, type AnalyticsResult, type AnalyticsService, type AssembleInput, type AssemblyFiles, type AuditLogEntry, type AuditQuery, type AuditService, type AutomationRule, type AutomationService, type AvatarConfig, type AvatarPart, type BillingService, BillingUnavailableError, type CLIAgentInfo, type CanvasElement, CategoryEmailFlags, CategoryFrequencies, type CheckoutParams, type ComplianceJobSummary, type ComplianceService, type ComponentCategory, type ComponentSource, type CustomDashboard, DEFAULT_CATEGORIES, DEFAULT_EMAIL_CATEGORIES, DEFAULT_WATCHED_DEPENDENCIES, DEPENDENCY_CATEGORIES, DEPENDENCY_PRIORITIES, DEVICE_SIZES, DND_STICKY_THRESHOLD, DependencyCategory, DependencyPriority, DependencySeed, DependencyUsage, type DeveloperLogEntry, type DeviceType, type DocumentTemplate, type DocumentVersion, type EditableFieldType, type EditablePropField, type EntityDef, type EntityUpdateEvent, FEATURE_KEYS, type FeatureContribution, type FeatureKey, type FeatureMeta, FeatureRegistry, type GlobalSearchService, type HostSession, type HostedAiChatParams, type HostedAiChatResult, HostedAiError, type HostedAiModel, type HostedAiService, ICON_MAP, type InvoiceInfo, LOAD_MORE_STEP, LOBE_ICON_MAP, type LicenseInfo, type LicenseIssueParams, type LicenseIssueResult, type LicenseService, type LicenseStatus, MODEL_CAPABILITY_OPTIONS, MODEL_TABS, type Middleware, ModelCapability, ModelTab, NOTIFICATION_CATEGORIES, NOTIFICATION_FREQUENCIES, NotificationCategory, NotificationFrequency, NotificationItem, NotificationListResult, NotificationPreferences, NotificationSsePayload, NotificationSseValue, OSS_BASE_FEATURES, type OutlineNode, type PRD, type PRDDetail, type PRDVersionWithPages, type PRDVersionWithSemver, PROVIDER_BADGE_STYLES, PROVIDER_CATEGORIES, PROVIDER_CATEGORY_VALUES, type ParsedUA, type PermissionLevel, type PermissionsService, type PlanFeatures, PlanFeaturesSchema, type PlanInfo, type PluginContributions, type PluginDefinition, type PluginRouteContext, type PortalSessionParams, type PrismaContribution, type PrismaSeam, type ProEdition, type ProFeature, type ProModule, type ProServiceMap, type ProfileDefinition, type PrototypeComponentConfig, ProviderCategory, type QueryFactoryMap, RESOURCE_KEYS, type RealtimeTransport, type RefDisplay, type Reference, type ReferenceDisplayFn, type ResizeDirection, type ResizeMode, type ResolveResult, type ResolvedRef, type ResourceKey, type ResourceMeta, ResourceRegistry, type ResourceSnapshot, type ResourceSnapshots, type RoleDefinition, type RouteContribution, SEED_AI_PROVIDERS, type SearchParams, type SearchResult, type SeatCheckResult, SeatsExceededError, type ServerSeam, type SettingsTabContribution, type ShapeType, type SsoProvider, type SsoService, type SubscriptionInfo, SyncDependencyResult, type TemplatesService, ThirdPartyDependencyRow, type UiSlotContributions, UnreadSnapshotPayload, UpdateDependencyInput, VIRTUALIZE_THRESHOLD, type VersionHistoryService, VersionStatus, WebhookSignatureError, definePlugin, defineProfile, dumpModules, formatParsedUA, generateAssemblyCode, generateAssemblyFiles, getClientIp, getServerSeam, isInDndWindow, isOssFeature, isResourceDefined, moduleRegistry, normalizeCategoryFrequencies, normalizeEmailCategories, parseProfileImports, parseUserAgent, registerPrismaSeam, registerServerSeam, resolveImportSpecifiers, resolveIpLocation, resolvePluginOrder };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { A as PROVIDER_CATEGORIES, B as BillingUnavailableError, C as DEPENDENCY_PRIORITIES, D as LOBE_ICON_MAP, E as ADAPTER_KIND_VALUES, F as VIRTUALIZE_THRESHOLD, G as generateAssemblyFiles, H as WebhookSignatureError, I as getServerSeam, J as resolvePluginOrder, K as parseProfileImports, L as registerPrismaSeam, M as PROVIDER_BADGE_STYLES, N as DND_STICKY_THRESHOLD, O as MODEL_CAPABILITY_OPTIONS, P as LOAD_MORE_STEP, R as registerServerSeam, S as DEPENDENCY_CATEGORIES, T as ADAPTER_KINDS, U as dumpModules, V as SeatsExceededError, W as generateAssemblyCode, X as definePlugin, Y as defineProfile, _ as formatParsedUA, a as isInDndWindow, b as resolveIpLocation, c as NOTIFICATION_FREQUENCIES, d as isResourceDefined, f as PlanFeaturesSchema, g as isOssFeature, h as OSS_BASE_FEATURES, i as DEFAULT_CATEGORIES, j as PROVIDER_CATEGORY_VALUES, k as MODEL_TABS, l as RESOURCE_KEYS, m as FeatureRegistry, n as DEVICE_SIZES, o as normalizeCategoryFrequencies, p as FEATURE_KEYS, q as resolveImportSpecifiers, r as moduleRegistry, s as NOTIFICATION_CATEGORIES, t as ICON_MAP, u as ResourceRegistry, v as parseUserAgent, w as SEED_AI_PROVIDERS, x as DEFAULT_WATCHED_DEPENDENCIES, y as getClientIp, z as HostedAiError } from "./src-Bw3ZToQn.js";
2
- export { ADAPTER_KINDS, ADAPTER_KIND_VALUES, BillingUnavailableError, DEFAULT_CATEGORIES, DEFAULT_WATCHED_DEPENDENCIES, DEPENDENCY_CATEGORIES, DEPENDENCY_PRIORITIES, DEVICE_SIZES, DND_STICKY_THRESHOLD, FEATURE_KEYS, FeatureRegistry, HostedAiError, ICON_MAP, LOAD_MORE_STEP, LOBE_ICON_MAP, MODEL_CAPABILITY_OPTIONS, MODEL_TABS, NOTIFICATION_CATEGORIES, NOTIFICATION_FREQUENCIES, OSS_BASE_FEATURES, PROVIDER_BADGE_STYLES, PROVIDER_CATEGORIES, PROVIDER_CATEGORY_VALUES, PlanFeaturesSchema, RESOURCE_KEYS, ResourceRegistry, SEED_AI_PROVIDERS, SeatsExceededError, VIRTUALIZE_THRESHOLD, WebhookSignatureError, definePlugin, defineProfile, dumpModules, formatParsedUA, generateAssemblyCode, generateAssemblyFiles, getClientIp, getServerSeam, isInDndWindow, isOssFeature, isResourceDefined, moduleRegistry, normalizeCategoryFrequencies, parseProfileImports, parseUserAgent, registerPrismaSeam, registerServerSeam, resolveImportSpecifiers, resolveIpLocation, resolvePluginOrder };
1
+ import { A as MODEL_CAPABILITY_OPTIONS, B as registerServerSeam, C as DEFAULT_WATCHED_DEPENDENCIES, D as ADAPTER_KINDS, E as SEED_AI_PROVIDERS, F as DND_STICKY_THRESHOLD, G as dumpModules, H as BillingUnavailableError, I as LOAD_MORE_STEP, J as parseProfileImports, K as generateAssemblyCode, L as VIRTUALIZE_THRESHOLD, M as PROVIDER_CATEGORIES, N as PROVIDER_CATEGORY_VALUES, O as ADAPTER_KIND_VALUES, P as PROVIDER_BADGE_STYLES, Q as definePlugin, R as getServerSeam, S as resolveIpLocation, T as DEPENDENCY_PRIORITIES, U as SeatsExceededError, V as HostedAiError, W as WebhookSignatureError, X as resolvePluginOrder, Y as resolveImportSpecifiers, Z as defineProfile, _ as OSS_BASE_FEATURES, a as DEFAULT_EMAIL_CATEGORIES, b as parseUserAgent, c as normalizeEmailCategories, d as RESOURCE_KEYS, f as ResourceRegistry, g as FeatureRegistry, h as FEATURE_KEYS, i as DEFAULT_CATEGORIES, j as MODEL_TABS, k as LOBE_ICON_MAP, l as NOTIFICATION_CATEGORIES, m as PlanFeaturesSchema, n as DEVICE_SIZES, o as isInDndWindow, p as isResourceDefined, q as generateAssemblyFiles, r as moduleRegistry, s as normalizeCategoryFrequencies, t as ICON_MAP, u as NOTIFICATION_FREQUENCIES, v as isOssFeature, w as DEPENDENCY_CATEGORIES, x as getClientIp, y as formatParsedUA, z as registerPrismaSeam } from "./src-CWDhdYs-.js";
2
+ export { ADAPTER_KINDS, ADAPTER_KIND_VALUES, BillingUnavailableError, DEFAULT_CATEGORIES, DEFAULT_EMAIL_CATEGORIES, DEFAULT_WATCHED_DEPENDENCIES, DEPENDENCY_CATEGORIES, DEPENDENCY_PRIORITIES, DEVICE_SIZES, DND_STICKY_THRESHOLD, FEATURE_KEYS, FeatureRegistry, HostedAiError, ICON_MAP, LOAD_MORE_STEP, LOBE_ICON_MAP, MODEL_CAPABILITY_OPTIONS, MODEL_TABS, NOTIFICATION_CATEGORIES, NOTIFICATION_FREQUENCIES, OSS_BASE_FEATURES, PROVIDER_BADGE_STYLES, PROVIDER_CATEGORIES, PROVIDER_CATEGORY_VALUES, PlanFeaturesSchema, RESOURCE_KEYS, ResourceRegistry, SEED_AI_PROVIDERS, SeatsExceededError, VIRTUALIZE_THRESHOLD, WebhookSignatureError, definePlugin, defineProfile, dumpModules, formatParsedUA, generateAssemblyCode, generateAssemblyFiles, getClientIp, getServerSeam, isInDndWindow, isOssFeature, isResourceDefined, moduleRegistry, normalizeCategoryFrequencies, normalizeEmailCategories, parseProfileImports, parseUserAgent, registerPrismaSeam, registerServerSeam, resolveImportSpecifiers, resolveIpLocation, resolvePluginOrder };
@@ -1544,6 +1544,13 @@ const DEFAULT_CATEGORIES = {
1544
1544
  billing: "realtime",
1545
1545
  security: "realtime"
1546
1546
  };
1547
+ const DEFAULT_EMAIL_CATEGORIES = {
1548
+ team: false,
1549
+ collaboration: false,
1550
+ system: false,
1551
+ billing: false,
1552
+ security: false
1553
+ };
1547
1554
  /**
1548
1555
  * 归一化存储中的 categories 字段。
1549
1556
  * 存量数据为旧版布尔记录(true/false),读取时迁移为 frequency:
@@ -1562,6 +1569,21 @@ function normalizeCategoryFrequencies(raw) {
1562
1569
  }
1563
1570
  return result;
1564
1571
  }
1572
+ /**
1573
+ * 归一化存储中的 emailCategories 字段。
1574
+ * 旧用户数据缺失该字段(undefined / null)返回全默认;
1575
+ * 部分缺失(只有部分 key)或缺失值非布尔(类型错误)时,该 key 用默认值。
1576
+ */
1577
+ function normalizeEmailCategories(raw) {
1578
+ const result = { ...DEFAULT_EMAIL_CATEGORIES };
1579
+ if (!raw || typeof raw !== "object") return result;
1580
+ const record = raw;
1581
+ for (const c of NOTIFICATION_CATEGORIES) {
1582
+ const v = record[c];
1583
+ if (typeof v === "boolean") result[c] = v;
1584
+ }
1585
+ return result;
1586
+ }
1565
1587
  function isInDndWindow(prefs, now) {
1566
1588
  if (!prefs.dndEnabled) return false;
1567
1589
  const [sh, sm] = prefs.dndStart.split(":").map(Number);
@@ -1642,4 +1664,4 @@ const ICON_MAP = {
1642
1664
  music4: Music4
1643
1665
  };
1644
1666
  //#endregion
1645
- export { PROVIDER_CATEGORIES as A, BillingUnavailableError as B, DEPENDENCY_PRIORITIES as C, LOBE_ICON_MAP as D, ADAPTER_KIND_VALUES as E, VIRTUALIZE_THRESHOLD as F, generateAssemblyFiles as G, WebhookSignatureError as H, getServerSeam as I, resolvePluginOrder as J, parseProfileImports as K, registerPrismaSeam as L, PROVIDER_BADGE_STYLES as M, DND_STICKY_THRESHOLD as N, MODEL_CAPABILITY_OPTIONS as O, LOAD_MORE_STEP as P, registerServerSeam as R, DEPENDENCY_CATEGORIES as S, ADAPTER_KINDS as T, dumpModules as U, SeatsExceededError as V, generateAssemblyCode as W, definePlugin as X, defineProfile as Y, formatParsedUA as _, isInDndWindow as a, resolveIpLocation as b, NOTIFICATION_FREQUENCIES as c, isResourceDefined as d, PlanFeaturesSchema as f, isOssFeature as g, OSS_BASE_FEATURES as h, DEFAULT_CATEGORIES as i, PROVIDER_CATEGORY_VALUES as j, MODEL_TABS as k, RESOURCE_KEYS as l, FeatureRegistry as m, DEVICE_SIZES as n, normalizeCategoryFrequencies as o, FEATURE_KEYS as p, resolveImportSpecifiers as q, moduleRegistry as r, NOTIFICATION_CATEGORIES as s, ICON_MAP as t, ResourceRegistry as u, parseUserAgent as v, SEED_AI_PROVIDERS as w, DEFAULT_WATCHED_DEPENDENCIES as x, getClientIp as y, HostedAiError as z };
1667
+ export { MODEL_CAPABILITY_OPTIONS as A, registerServerSeam as B, DEFAULT_WATCHED_DEPENDENCIES as C, ADAPTER_KINDS as D, SEED_AI_PROVIDERS as E, DND_STICKY_THRESHOLD as F, dumpModules as G, BillingUnavailableError as H, LOAD_MORE_STEP as I, parseProfileImports as J, generateAssemblyCode as K, VIRTUALIZE_THRESHOLD as L, PROVIDER_CATEGORIES as M, PROVIDER_CATEGORY_VALUES as N, ADAPTER_KIND_VALUES as O, PROVIDER_BADGE_STYLES as P, definePlugin as Q, getServerSeam as R, resolveIpLocation as S, DEPENDENCY_PRIORITIES as T, SeatsExceededError as U, HostedAiError as V, WebhookSignatureError as W, resolvePluginOrder as X, resolveImportSpecifiers as Y, defineProfile as Z, OSS_BASE_FEATURES as _, DEFAULT_EMAIL_CATEGORIES as a, parseUserAgent as b, normalizeEmailCategories as c, RESOURCE_KEYS as d, ResourceRegistry as f, FeatureRegistry as g, FEATURE_KEYS as h, DEFAULT_CATEGORIES as i, MODEL_TABS as j, LOBE_ICON_MAP as k, NOTIFICATION_CATEGORIES as l, PlanFeaturesSchema as m, DEVICE_SIZES as n, isInDndWindow as o, isResourceDefined as p, generateAssemblyFiles as q, moduleRegistry as r, normalizeCategoryFrequencies as s, ICON_MAP as t, NOTIFICATION_FREQUENCIES as u, isOssFeature as v, DEPENDENCY_CATEGORIES as w, getClientIp as x, formatParsedUA as y, registerPrismaSeam as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allbluecn/kernel",
3
- "version": "0.6.1",
3
+ "version": "0.8.0",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "type": "module",
6
6
  "description": "AllBlue 插件协议:类型定义 + 构建期装配器(零运行时)",
@@ -26,6 +26,10 @@
26
26
  "./modules/notifications": {
27
27
  "types": "./dist/contract/modules/notifications.d.ts",
28
28
  "default": "./dist/contract/modules/notifications.js"
29
+ },
30
+ "./crypto": {
31
+ "types": "./dist/contract/infrastructure/crypto.d.ts",
32
+ "default": "./dist/contract/infrastructure/crypto.js"
29
33
  }
30
34
  },
31
35
  "bin": {