paperkite 0.2.0 → 0.3.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/bundles.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@paperkite/bundles",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "dependencies": {
5
- "@paperkite/plugin-messages": "^0.1.1",
5
+ "@paperkite/plugin-messages": "^0.1.2",
6
6
  "@paperkite/plugin-notify-bark": "^0.1.1",
7
- "@paperkite/plugin-messages-watch": "^0.1.2",
7
+ "@paperkite/plugin-messages-watch": "^0.1.3",
8
8
  "@paperkite/plugin-account-health": "^0.1.1",
9
- "@paperkite/plugin-archive": "^0.1.1",
9
+ "@paperkite/plugin-archive": "^0.1.2",
10
10
  "@paperkite/plugin-process-run": "^0.1.1",
11
11
  "@paperkite/plugin-runtime-console": "^0.1.2",
12
- "@paperkite/plugin-favorites-cleanup": "^0.1.1",
13
- "@paperkite/plugin-favorites-repost": "^0.1.1"
12
+ "@paperkite/plugin-favorites-cleanup": "^0.1.2",
13
+ "@paperkite/plugin-favorites-repost": "^0.1.2"
14
14
  }
15
15
  }
package/dist/src/app.js CHANGED
@@ -5,6 +5,7 @@ import { defaultFlowsFile, defaultSettingsFile, paperkiteHome } from "./config/p
5
5
  import { AppLogger } from "./engine/logger.js";
6
6
  import { Runtime } from "./engine/runtime.js";
7
7
  import { loadExtensions, createUsageMarker } from "./extensions/loader.js";
8
+ import { healDependencyFallback } from "./extensions/dependency-fallback.js";
8
9
  import { configureTelegramClientFactory } from "./telegram/client.js";
9
10
  import { SessionPool } from "./telegram/pool.js";
10
11
  export async function createApp(options = {}) {
@@ -13,7 +14,12 @@ export async function createApp(options = {}) {
13
14
  const catalog = await loadCatalog(flowsFile);
14
15
  const logger = new AppLogger(settings.logging.level, settings.logging.directory);
15
16
  configureTelegramClientFactory(settings, logger);
16
- const extensions = await loadExtensions(catalog.capabilityRefs(), { profile: options.profile });
17
+ for (const warning of await healDependencyFallback())
18
+ logger.warn(warning);
19
+ const extensions = await loadExtensions(catalog.capabilityRefs(), {
20
+ profile: options.profile,
21
+ strict: settings.plugins.strict
22
+ });
17
23
  for (const warning of extensions.warnings)
18
24
  logger.warn(warning);
19
25
  const sessions = new SessionPool(settings, logger);
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAejD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAO,GAAqB,EAAE;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACzG,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjF,8BAA8B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO;QACL,QAAQ;QACR,MAAM;QACN,OAAO,EAAE,IAAI,OAAO,CAAC;YACnB,OAAO;YACP,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ;YACR,MAAM;YACN,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC;YACjD,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;SAC5C,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAejD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAO,GAAqB,EAAE;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC;IACzG,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gBAAgB,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjF,8BAA8B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,KAAK,MAAM,OAAO,IAAI,MAAM,sBAAsB,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;QAChE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;KAChC,CAAC,CAAC;IACH,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO;QACL,QAAQ;QACR,MAAM;QACN,OAAO,EAAE,IAAI,OAAO,CAAC;YACnB,OAAO;YACP,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ;YACR,MAAM;YACN,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC;YACjD,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;SAC5C,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACjD,CAAC"}
package/dist/src/cli.js CHANGED
@@ -24,7 +24,9 @@ program
24
24
  .option("--profile <name>", "profile name", "default")
25
25
  .option("--offline", "use the cached or built-in bundle manifest")
26
26
  .action(async ({ profile, offline }) => {
27
- const directory = await ensureProfile(profile);
27
+ const { directory, migration } = await ensureProfile(profile);
28
+ if (migration)
29
+ process.stderr.write(migration);
28
30
  const examples = join(coreRoot(), "data");
29
31
  const home = paperkiteHome();
30
32
  await copyIfMissing(join(examples, "settings.example.yml"), join(home, "settings.yml"));
@@ -283,7 +285,7 @@ async function runPluginCommand(options, args) {
283
285
  process.stdout.write(JSON.stringify(entries, null, 2) + "\n");
284
286
  return 0;
285
287
  }
286
- return managePlugins(options.profile, args);
288
+ return await managePlugins(options.profile, args);
287
289
  }
288
290
  function reportSync(result, verbose = false) {
289
291
  for (const warning of result.warnings)
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface PluginSettings {
10
10
  readonly autoInstall: boolean;
11
11
  readonly manifestTtlHours: number;
12
12
  readonly scopes: readonly string[];
13
+ /** 诊断命中 host-owned 约定时拒绝加载该插件。 */
14
+ readonly strict: boolean;
13
15
  }
14
16
  export declare const DEFAULT_PLUGIN_SETTINGS: PluginSettings;
15
17
  export interface AppSettings {
@@ -8,7 +8,8 @@ export const DEFAULT_PLUGIN_SETTINGS = {
8
8
  registry: "https://registry.npmjs.org",
9
9
  autoInstall: true,
10
10
  manifestTtlHours: 24,
11
- scopes: ["@paperkite/"]
11
+ scopes: ["@paperkite/"],
12
+ strict: false
12
13
  };
13
14
  export async function loadSettings(path = defaultSettingsFile()) {
14
15
  const base = dirname(resolve(path));
@@ -46,7 +47,8 @@ export async function loadSettings(path = defaultSettingsFile()) {
46
47
  registry: normalizeSession(plugins.registry) ?? DEFAULT_PLUGIN_SETTINGS.registry,
47
48
  autoInstall: typeof plugins.autoInstall === "boolean" ? plugins.autoInstall : DEFAULT_PLUGIN_SETTINGS.autoInstall,
48
49
  manifestTtlHours: nonNegativeNumber(plugins.manifestTtlHours ?? DEFAULT_PLUGIN_SETTINGS.manifestTtlHours, "plugins.manifestTtlHours"),
49
- scopes: normalizeScopes(plugins.scopes) ?? DEFAULT_PLUGIN_SETTINGS.scopes
50
+ scopes: normalizeScopes(plugins.scopes) ?? DEFAULT_PLUGIN_SETTINGS.scopes,
51
+ strict: typeof plugins.strict === "boolean" ? plugins.strict : DEFAULT_PLUGIN_SETTINGS.strict
50
52
  }
51
53
  };
52
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare const SDK_PACKAGE = "@paperkite/sdk";
2
2
  /** 本 Core 提供的 SDK 版本;ABI 代际取其 major。 */
3
- export declare const CORE_SDK_VERSION = "0.2.0";
3
+ export declare const CORE_SDK_VERSION = "0.2.1";
4
4
  export declare const CORE_ABI: number;
5
5
  export declare const UNSUPPORTED_ABI: readonly number[];
6
6
  export interface CoreAbiPolicy {
@@ -1,7 +1,7 @@
1
1
  import { parseRange, parseVersion, rangeAbi, satisfies } from "./semver.js";
2
2
  export const SDK_PACKAGE = "@paperkite/sdk";
3
3
  /** 本 Core 提供的 SDK 版本;ABI 代际取其 major。 */
4
- export const CORE_SDK_VERSION = "0.2.0";
4
+ export const CORE_SDK_VERSION = "0.2.1";
5
5
  export const CORE_ABI = Number(CORE_SDK_VERSION.split(".")[0]);
6
6
  export const UNSUPPORTED_ABI = [];
7
7
  export const CORE_POLICY = {
@@ -0,0 +1,34 @@
1
+ export declare const MODULE_FALLBACK_LOCK = ".paperkite-modules.lock";
2
+ export interface DependencyResolution {
3
+ /** 包名到安装目录的真实路径。 */
4
+ readonly links: ReadonlyMap<string, string>;
5
+ /** 无法从其安装根解析到的包名。 */
6
+ readonly unresolved: readonly string[];
7
+ }
8
+ export interface FallbackChange {
9
+ readonly name: string;
10
+ readonly kind: "linked" | "relinked" | "removed";
11
+ /** 链接指向的安装目录;移除时为空。 */
12
+ readonly target?: string;
13
+ }
14
+ export interface FallbackResult {
15
+ readonly modulesDir: string;
16
+ readonly changes: readonly FallbackChange[];
17
+ readonly warnings: readonly string[];
18
+ }
19
+ /** 共享目录:所有 profile 向上查找 core 依赖闭包的落脚点。 */
20
+ export declare function moduleFallbackDirectory(): string;
21
+ /** core 持有的运行期包名集合;新增共享包时先把包加进 core 的 dependencies。 */
22
+ export declare function hostOwnedPackages(root?: string): readonly string[];
23
+ /** 从 core 的安装清单出发,逐层读取各包声明的 dependencies。 */
24
+ export declare function coreDependencyClosure(anchor: string): DependencyResolution;
25
+ /** 幂等 heal:补齐链接、修正过期链接、清理指向失效目标的链接。 */
26
+ export declare function healModuleFallback(root?: string): Promise<FallbackResult>;
27
+ /** heal 失败只作为告警返回,启动路径据此继续。 */
28
+ export declare function healDependencyFallback(root?: string): Promise<readonly string[]>;
29
+ export declare function mirrorModuleFallback(modulesDir: string, resolution: DependencyResolution): Promise<FallbackResult>;
30
+ /** 清理不在托管集合里的失效链接,并收走空 scope 目录。 */
31
+ export declare function pruneFallback(modulesDir: string, managed: ReadonlyMap<string, string>): readonly string[];
32
+ /** 共享目录内的包名,含 scope 目录下的条目。 */
33
+ export declare function ownedEntries(modulesDir: string): readonly string[];
34
+ export declare function withModuleFallbackLock<T>(run: () => Promise<T>): Promise<T>;
@@ -0,0 +1,238 @@
1
+ import { existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, readlinkSync, realpathSync, rmSync, symlinkSync } from "node:fs";
2
+ import { unlink } from "node:fs/promises";
3
+ import { dirname, join, resolve } from "node:path";
4
+ import { acquireProcessLock } from "../control/process-lock.js";
5
+ import { coreRoot } from "./loader.js";
6
+ import { profilesDirectory } from "./profile.js";
7
+ export const MODULE_FALLBACK_LOCK = ".paperkite-modules.lock";
8
+ /** 共享目录:所有 profile 向上查找 core 依赖闭包的落脚点。 */
9
+ export function moduleFallbackDirectory() {
10
+ return join(profilesDirectory(), "node_modules");
11
+ }
12
+ /** core 持有的运行期包名集合;新增共享包时先把包加进 core 的 dependencies。 */
13
+ export function hostOwnedPackages(root = coreRoot()) {
14
+ return [...coreDependencyClosure(join(root, "package.json")).links.keys()].sort();
15
+ }
16
+ /** 从 core 的安装清单出发,逐层读取各包声明的 dependencies。 */
17
+ export function coreDependencyClosure(anchor) {
18
+ const links = new Map();
19
+ const unresolved = [];
20
+ const manifest = readManifest(anchor);
21
+ if (!manifest)
22
+ return { links, unresolved };
23
+ const root = realDirectory(dirname(anchor));
24
+ if (manifest.name)
25
+ links.set(manifest.name, root);
26
+ const queue = [
27
+ { anchor, dependencies: dependencyNames(manifest) }
28
+ ];
29
+ for (let next = queue.shift(); next !== undefined; next = queue.shift()) {
30
+ for (const name of next.dependencies) {
31
+ if (links.has(name) || unresolved.includes(name))
32
+ continue;
33
+ const directory = resolveDependency(name, next.anchor, root);
34
+ if (!directory) {
35
+ unresolved.push(name);
36
+ continue;
37
+ }
38
+ links.set(name, directory);
39
+ const dependencyManifest = readManifest(join(directory, "package.json"));
40
+ if (dependencyManifest) {
41
+ queue.push({ anchor: join(directory, "package.json"), dependencies: dependencyNames(dependencyManifest) });
42
+ }
43
+ }
44
+ }
45
+ return { links, unresolved };
46
+ }
47
+ /** 幂等 heal:补齐链接、修正过期链接、清理指向失效目标的链接。 */
48
+ export async function healModuleFallback(root = coreRoot()) {
49
+ const resolution = coreDependencyClosure(join(root, "package.json"));
50
+ return withModuleFallbackLock(async () => mirrorModuleFallback(moduleFallbackDirectory(), resolution));
51
+ }
52
+ /** heal 失败只作为告警返回,启动路径据此继续。 */
53
+ export async function healDependencyFallback(root = coreRoot()) {
54
+ try {
55
+ return (await healModuleFallback(root)).warnings;
56
+ }
57
+ catch (error) {
58
+ return ["dependency fallback heal failed: " + messageOf(error)];
59
+ }
60
+ }
61
+ export async function mirrorModuleFallback(modulesDir, resolution) {
62
+ mkdirSync(modulesDir, { recursive: true });
63
+ const changes = [];
64
+ const warnings = resolution.unresolved.map((name) => "dependency " + name + " is declared but not installed; the shared fallback omits it");
65
+ for (const [name, target] of resolution.links) {
66
+ const link = join(modulesDir, name);
67
+ const state = await reconcileLink(link, target);
68
+ if (state === "blocked") {
69
+ warnings.push("shared fallback entry " + link + " is not a symlink; remove it so paperkite can mirror the core closure");
70
+ continue;
71
+ }
72
+ if (state !== "current")
73
+ changes.push({ name, kind: state, target });
74
+ }
75
+ for (const name of pruneFallback(modulesDir, resolution.links))
76
+ changes.push({ name, kind: "removed" });
77
+ return { modulesDir, changes, warnings };
78
+ }
79
+ /** 清理不在托管集合里的失效链接,并收走空 scope 目录。 */
80
+ export function pruneFallback(modulesDir, managed) {
81
+ const removed = [];
82
+ for (const name of ownedEntries(modulesDir)) {
83
+ if (managed.has(name))
84
+ continue;
85
+ const link = join(modulesDir, name);
86
+ const target = symlinkTarget(link);
87
+ if (target === undefined)
88
+ continue;
89
+ if (reachable(target))
90
+ continue;
91
+ try {
92
+ rmSync(link);
93
+ removed.push(name);
94
+ }
95
+ catch {
96
+ // 并发清理已经移除该链接
97
+ }
98
+ }
99
+ for (const directory of scopeDirectories(modulesDir)) {
100
+ try {
101
+ if (readdirSync(directory).length === 0)
102
+ rmSync(directory);
103
+ }
104
+ catch {
105
+ // 并发清理已经移除该目录
106
+ }
107
+ }
108
+ return removed;
109
+ }
110
+ /** 共享目录内的包名,含 scope 目录下的条目。 */
111
+ export function ownedEntries(modulesDir) {
112
+ const names = [];
113
+ for (const entry of readdirIfPresent(modulesDir)) {
114
+ if (entry.startsWith("@") && isDirectory(join(modulesDir, entry))) {
115
+ for (const child of readdirIfPresent(join(modulesDir, entry)))
116
+ names.push(entry + "/" + child);
117
+ continue;
118
+ }
119
+ names.push(entry);
120
+ }
121
+ return names;
122
+ }
123
+ export async function withModuleFallbackLock(run) {
124
+ mkdirSync(profilesDirectory(), { recursive: true });
125
+ const lock = await acquireProcessLock(join(profilesDirectory(), MODULE_FALLBACK_LOCK));
126
+ try {
127
+ return await run();
128
+ }
129
+ finally {
130
+ await lock.release();
131
+ }
132
+ }
133
+ async function reconcileLink(link, target) {
134
+ mkdirSync(dirname(link), { recursive: true });
135
+ let existing;
136
+ try {
137
+ existing = lstatSync(link);
138
+ }
139
+ catch {
140
+ existing = undefined;
141
+ }
142
+ if (existing === undefined) {
143
+ symlinkSync(target, link);
144
+ return "linked";
145
+ }
146
+ if (!existing.isSymbolicLink())
147
+ return "blocked";
148
+ if (symlinkTarget(link) === canonical(target))
149
+ return "current";
150
+ await unlink(link).catch(() => undefined);
151
+ symlinkSync(target, link);
152
+ return "relinked";
153
+ }
154
+ function scopeDirectories(modulesDir) {
155
+ return readdirIfPresent(modulesDir)
156
+ .filter((entry) => entry.startsWith("@") && isDirectory(join(modulesDir, entry)))
157
+ .map((entry) => join(modulesDir, entry));
158
+ }
159
+ /**
160
+ * 从 `anchor` 出发解析包目录;`anchor` 是某个包的 package.json,`root` 是安装根。
161
+ * 逐层查找不走 require 缓存,core 升级后同一路径上的链接改写能立即被看到。
162
+ */
163
+ function resolveDependency(name, anchor, root) {
164
+ for (let current = realDirectory(dirname(anchor));;) {
165
+ const candidate = join(current, "node_modules", name, "package.json");
166
+ if (existsSync(candidate))
167
+ return realDirectory(dirname(candidate));
168
+ if (current === root)
169
+ return undefined;
170
+ const parent = dirname(current);
171
+ if (parent === current)
172
+ return undefined;
173
+ current = parent;
174
+ }
175
+ }
176
+ function dependencyNames(manifest) {
177
+ const declared = manifest.dependencies;
178
+ if (typeof declared !== "object" || declared === null)
179
+ return [];
180
+ return Object.keys(declared);
181
+ }
182
+ function readManifest(anchor) {
183
+ try {
184
+ const value = JSON.parse(readFileSync(anchor, "utf8"));
185
+ if (typeof value !== "object" || value === null || Array.isArray(value))
186
+ return undefined;
187
+ return value;
188
+ }
189
+ catch {
190
+ return undefined;
191
+ }
192
+ }
193
+ function realDirectory(path) {
194
+ try {
195
+ return realpathSync.native(path);
196
+ }
197
+ catch {
198
+ return resolve(path);
199
+ }
200
+ }
201
+ function symlinkTarget(link) {
202
+ try {
203
+ if (!lstatSync(link).isSymbolicLink())
204
+ return undefined;
205
+ const target = resolve(dirname(link), readlinkSync(link));
206
+ return existsSync(target) ? canonical(target) : target;
207
+ }
208
+ catch {
209
+ return undefined;
210
+ }
211
+ }
212
+ function canonical(path) {
213
+ return realpathSync.native(resolve(path));
214
+ }
215
+ /** 链接目标存在才算有效;指向已消失目标的链接由清理阶段移除。 */
216
+ function reachable(path) {
217
+ return existsSync(path);
218
+ }
219
+ function readdirIfPresent(directory) {
220
+ try {
221
+ return readdirSync(directory);
222
+ }
223
+ catch {
224
+ return [];
225
+ }
226
+ }
227
+ function isDirectory(path) {
228
+ try {
229
+ return lstatSync(path).isDirectory();
230
+ }
231
+ catch {
232
+ return false;
233
+ }
234
+ }
235
+ function messageOf(error) {
236
+ return error instanceof Error ? error.message : String(error);
237
+ }
238
+ //# sourceMappingURL=dependency-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-fallback.js","sourceRoot":"","sources":["../../../src/extensions/dependency-fallback.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,37 @@
1
1
  import type { PluginCapability, PluginInfo } from "@paperkite/sdk";
2
2
  import { CapabilityRegistry } from "./registry.js";
3
3
  import { type CompatibilityVerdict } from "./abi.js";
4
+ interface PackagePluginMeta {
5
+ readonly plugin?: boolean | {
6
+ readonly capabilities?: readonly PluginCapability[];
7
+ };
8
+ readonly capabilities?: readonly PluginCapability[];
9
+ }
10
+ interface PackageManifest {
11
+ readonly version?: string;
12
+ readonly exports?: unknown;
13
+ readonly main?: string;
14
+ readonly dependencies?: Record<string, unknown>;
15
+ readonly devDependencies?: Record<string, unknown>;
16
+ readonly peerDependencies?: Record<string, unknown>;
17
+ readonly paperkite?: PackagePluginMeta;
18
+ }
19
+ /** 诊断命中的字段层级:清单声明、解析真值、安装树。 */
20
+ export type DeviationCode = "dependency" | "shadow" | "hoisted" | "peer-range";
21
+ export interface PluginDeviation {
22
+ readonly code: DeviationCode;
23
+ readonly package: string;
24
+ readonly field?: string;
25
+ readonly declared?: string;
26
+ readonly expected?: string;
27
+ readonly detail: string;
28
+ }
29
+ export interface PluginReport {
30
+ readonly verdict: "ok" | "warn" | "reject";
31
+ readonly deviations: readonly PluginDeviation[];
32
+ }
33
+ /** 三层共用的 host-owned 枚举与清单同源,来自 core 的依赖闭包。 */
34
+ export declare function hostOwnedNames(root?: string): readonly string[];
4
35
  export type PluginSource = "manifest" | "user";
5
36
  export interface InstalledPluginView {
6
37
  readonly name: string;
@@ -10,6 +41,9 @@ export interface InstalledPluginView {
10
41
  readonly range?: string;
11
42
  readonly capabilities: readonly PluginCapability[];
12
43
  readonly compatibility?: CompatibilityVerdict;
44
+ /** 该插件以 peer 声明并由共享目录满足的 host-owned 包。 */
45
+ readonly shared: readonly string[];
46
+ readonly report?: PluginReport;
13
47
  readonly warning?: string;
14
48
  }
15
49
  export interface LoadedExtensions {
@@ -22,9 +56,15 @@ export interface LoadedExtensions {
22
56
  export declare function createUsageMarker(installed: readonly PluginInfo[]): (references: ReadonlySet<string>) => readonly PluginInfo[];
23
57
  export declare function loadExtensions(references: Iterable<string>, options?: {
24
58
  profile?: string;
59
+ strict?: boolean;
25
60
  }): Promise<LoadedExtensions>;
26
61
  /** profile 优先、core 根兜底的插件发现结果,供 `plugin list` 与加载共用。 */
27
- export declare function inspectPlugins(profile?: string): Promise<readonly InstalledPluginView[]>;
62
+ export declare function inspectPlugins(profile?: string, strict?: boolean): Promise<readonly InstalledPluginView[]>;
63
+ /** 三层诊断共用同一份 host-owned 枚举,逐层给出插件、包名与命中字段。 */
64
+ export declare function diagnosePlugin(directory: string, manifest: PackageManifest, names: readonly string[], core: string, profile: string): PluginReport;
65
+ /** 加载期诊断文本:列出插件、包名与命中字段。 */
66
+ export declare function deviationWarning(plugin: string, deviation: PluginDeviation): string;
28
67
  /** handler 类别由结构判定:导出符号为函数,其原型带有 run。 */
29
68
  export declare function isHandlerConstructor(value: unknown): value is Function;
30
69
  export declare function coreRoot(): string;
70
+ export {};