@allbluecn/kernel 0.6.0 → 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
|
|
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
|
|
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 {
|
|
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.
|
|
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": {
|
|
@@ -38,7 +42,7 @@
|
|
|
38
42
|
"@tanstack/ai": "^0.43.0 || ^0.47.0 || ^0.52.0",
|
|
39
43
|
"@tanstack/react-start": "^1.168.49",
|
|
40
44
|
"react": "^19",
|
|
41
|
-
"lucide-react": "^1.
|
|
45
|
+
"lucide-react": "^1.43.0",
|
|
42
46
|
"zod": "^3.25 || ^4",
|
|
43
47
|
"@tanstack/react-router": "^1.168.0"
|
|
44
48
|
},
|
|
@@ -48,7 +52,7 @@
|
|
|
48
52
|
"@tanstack/react-start": "^1.168.49",
|
|
49
53
|
"@types/node": "^24.13.3",
|
|
50
54
|
"@types/react": "^19",
|
|
51
|
-
"lucide-react": "^1.
|
|
55
|
+
"lucide-react": "^1.43.0",
|
|
52
56
|
"react": "^19",
|
|
53
57
|
"tsdown": "^0.22.0",
|
|
54
58
|
"typescript": "^7",
|