@lokvis/runtime 0.2.2 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/asset-store.d.ts +13 -0
- package/dist/asset-store.d.ts.map +1 -1
- package/dist/asset-store.js +15 -2
- package/dist/asset-store.js.map +1 -1
- package/dist/batch-processor.d.ts +32 -161
- package/dist/batch-processor.d.ts.map +1 -1
- package/dist/batch-processor.js +107 -333
- package/dist/batch-processor.js.map +1 -1
- package/dist/batch-progress.d.ts +94 -0
- package/dist/batch-progress.d.ts.map +1 -0
- package/dist/batch-progress.js +128 -0
- package/dist/batch-progress.js.map +1 -0
- package/dist/batch-scheduler.d.ts +70 -0
- package/dist/batch-scheduler.d.ts.map +1 -0
- package/dist/batch-scheduler.js +147 -0
- package/dist/batch-scheduler.js.map +1 -0
- package/dist/browser-detect.d.ts +115 -0
- package/dist/browser-detect.d.ts.map +1 -0
- package/dist/browser-detect.js +160 -0
- package/dist/browser-detect.js.map +1 -0
- package/dist/concurrency-controller.d.ts +31 -0
- package/dist/concurrency-controller.d.ts.map +1 -0
- package/dist/concurrency-controller.js +33 -0
- package/dist/concurrency-controller.js.map +1 -0
- package/dist/errors.d.ts +51 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +74 -0
- package/dist/errors.js.map +1 -0
- package/dist/executor.d.ts +9 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +102 -48
- package/dist/executor.js.map +1 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +3 -2
- package/dist/history.js.map +1 -1
- package/dist/idb-asset-store.d.ts.map +1 -1
- package/dist/idb-asset-store.js +6 -1
- package/dist/idb-asset-store.js.map +1 -1
- package/dist/index.d.ts +17 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -15
- package/dist/index.js.map +1 -1
- package/dist/managers/asset-manager.d.ts +114 -0
- package/dist/managers/asset-manager.d.ts.map +1 -0
- package/dist/managers/asset-manager.js +238 -0
- package/dist/managers/asset-manager.js.map +1 -0
- package/dist/managers/history-manager.d.ts +100 -0
- package/dist/managers/history-manager.d.ts.map +1 -0
- package/dist/managers/history-manager.js +296 -0
- package/dist/managers/history-manager.js.map +1 -0
- package/dist/managers/mcp-manifest-builder.d.ts +18 -0
- package/dist/managers/mcp-manifest-builder.d.ts.map +1 -0
- package/dist/managers/mcp-manifest-builder.js +99 -0
- package/dist/managers/mcp-manifest-builder.js.map +1 -0
- package/dist/managers/quota-manager.d.ts +42 -0
- package/dist/managers/quota-manager.d.ts.map +1 -0
- package/dist/managers/quota-manager.js +126 -0
- package/dist/managers/quota-manager.js.map +1 -0
- package/dist/managers/workflow-coordinator.d.ts +62 -0
- package/dist/managers/workflow-coordinator.d.ts.map +1 -0
- package/dist/managers/workflow-coordinator.js +125 -0
- package/dist/managers/workflow-coordinator.js.map +1 -0
- package/dist/opfs-asset-store.d.ts.map +1 -1
- package/dist/opfs-asset-store.js +12 -2
- package/dist/opfs-asset-store.js.map +1 -1
- package/dist/plugin-context.d.ts +35 -0
- package/dist/plugin-context.d.ts.map +1 -0
- package/dist/plugin-context.js +62 -0
- package/dist/plugin-context.js.map +1 -0
- package/dist/plugin-permissions.d.ts +99 -0
- package/dist/plugin-permissions.d.ts.map +1 -0
- package/dist/plugin-permissions.js +205 -0
- package/dist/plugin-permissions.js.map +1 -0
- package/dist/runtime-impl.d.ts +116 -0
- package/dist/runtime-impl.d.ts.map +1 -0
- package/dist/runtime-impl.js +270 -0
- package/dist/runtime-impl.js.map +1 -0
- package/dist/runtime.d.ts +10 -233
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +12 -978
- package/dist/runtime.js.map +1 -1
- package/dist/test-utils/fakes.d.ts +35 -0
- package/dist/test-utils/fakes.d.ts.map +1 -0
- package/dist/test-utils/fakes.js +60 -0
- package/dist/test-utils/fakes.js.map +1 -0
- package/dist/types.d.ts +113 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/worker-host.d.ts.map +1 -1
- package/dist/worker-host.js +32 -9
- package/dist/worker-host.js.map +1 -1
- package/dist/worker-protocol.d.ts +30 -0
- package/dist/worker-protocol.d.ts.map +1 -1
- package/dist/worker-protocol.js +24 -0
- package/dist/worker-protocol.js.map +1 -1
- package/package.json +2 -2
- package/src/asset-store.ts +32 -2
- package/src/batch-processor.ts +133 -510
- package/src/batch-progress.ts +228 -0
- package/src/batch-scheduler.ts +209 -0
- package/src/browser-detect.ts +221 -0
- package/src/concurrency-controller.ts +52 -0
- package/src/errors.ts +82 -0
- package/src/executor.ts +122 -55
- package/src/history.ts +3 -2
- package/src/idb-asset-store.ts +7 -1
- package/src/index.ts +50 -15
- package/src/managers/asset-manager.ts +259 -0
- package/src/managers/history-manager.ts +327 -0
- package/src/managers/mcp-manifest-builder.ts +108 -0
- package/src/managers/quota-manager.ts +149 -0
- package/src/managers/workflow-coordinator.ts +158 -0
- package/src/opfs-asset-store.ts +16 -2
- package/src/plugin-context.ts +87 -0
- package/src/plugin-permissions.ts +228 -0
- package/src/runtime-impl.ts +298 -0
- package/src/runtime.ts +16 -1116
- package/src/test-utils/fakes.ts +72 -0
- package/src/types.ts +116 -0
- package/src/worker-host.ts +35 -7
- package/src/worker-protocol.ts +47 -0
- package/dist/workflow-builder.d.ts +0 -124
- package/dist/workflow-builder.d.ts.map +0 -1
- package/dist/workflow-builder.js +0 -240
- package/dist/workflow-builder.js.map +0 -1
- package/src/workflow-builder.ts +0 -303
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/history.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,sBAAsB;AACtB,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,iCAAiC;IACjC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACzF;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,YAAY;IAQrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,OAAO,CAAsB;IACrC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAC6B;gBAGjC,UAAU,EAAE,MAAM,EACnC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAS1C,8BAA8B;IAC9B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,kCAAkC;IAClC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,gBAAgB;IAChB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,gBAAgB;IAChB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,mBAAmB;IACnB,IAAI,IAAI,YAAY,EAAE;IAItB,4BAA4B;IAC5B,OAAO,IAAI,YAAY,EAAE;IAIzB,0BAA0B;IAC1B,UAAU,IAAI,YAAY,EAAE;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAuBjC;;;;;;OAMG;IACH,IAAI,IAAI,YAAY,GAAG,IAAI,GAAG,SAAS;IAOvC;;;OAGG;IACH,IAAI,IAAI,YAAY,GAAG,SAAS;IAOhC,iCAAiC;IACjC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS;IAOtD,kCAAkC;IAClC,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,KAAK,IAAI,IAAI;IASb,6BAA6B;IAC7B,QAAQ,IAAI,oBAAoB;IAOhC,YAAY;IACZ,OAAO,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAQ7C,kCAAkC;IAClC,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,sBAAsB;AACtB,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,iCAAiC;IACjC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACzF;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,YAAY;IAQrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,OAAO,CAAsB;IACrC,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAC6B;gBAGjC,UAAU,EAAE,MAAM,EACnC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAS1C,8BAA8B;IAC9B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,kCAAkC;IAClC,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,gBAAgB;IAChB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,gBAAgB;IAChB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,mBAAmB;IACnB,IAAI,IAAI,YAAY,EAAE;IAItB,4BAA4B;IAC5B,OAAO,IAAI,YAAY,EAAE;IAIzB,0BAA0B;IAC1B,UAAU,IAAI,YAAY,EAAE;IAI5B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAuBjC;;;;;;OAMG;IACH,IAAI,IAAI,YAAY,GAAG,IAAI,GAAG,SAAS;IAOvC;;;OAGG;IACH,IAAI,IAAI,YAAY,GAAG,SAAS;IAOhC,iCAAiC;IACjC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS;IAOtD,kCAAkC;IAClC,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,KAAK,IAAI,IAAI;IASb,6BAA6B;IAC7B,QAAQ,IAAI,oBAAoB;IAOhC,YAAY;IACZ,OAAO,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAQ7C,kCAAkC;IAClC,OAAO,CAAC,WAAW;IAanB,2CAA2C;IAC3C,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,aAAa;CAGtB;AAED,yBAAyB;AACzB,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,YAAY,CAEd"}
|
package/dist/history.js
CHANGED
|
@@ -137,8 +137,9 @@ export class HistoryStack {
|
|
|
137
137
|
try {
|
|
138
138
|
onEvict(entry);
|
|
139
139
|
}
|
|
140
|
-
catch {
|
|
141
|
-
// onEvict
|
|
140
|
+
catch (err) {
|
|
141
|
+
// onEvict 失败不应阻断历史操作,但需记录便于调试
|
|
142
|
+
console.warn(`[lokvis] history onEvict threw for entry ${entry.id}:`, err);
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
145
|
}
|
package/dist/history.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idb-asset-store.d.ts","sourceRoot":"","sources":["../src/idb-asset-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,KAAK,KAAK,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"idb-asset-store.d.ts","sourceRoot":"","sources":["../src/idb-asset-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,KAAK,KAAK,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,uBAAuB;AACvB,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,0CAA0C;AAC1C,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,wBAAwB;AACxB,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,kBAAkB;AAClB,qBAAa,aAAc,SAAQ,KAAK;IACtC,MAAM,EAAG,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAExB,IAAI,SAAkB;CAOnC;AAED,2BAA2B;AAC3B,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED,gCAAgC;AAChC,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,UAAU,CAAC,CAoDrB"}
|
package/dist/idb-asset-store.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import Dexie, {} from 'dexie';
|
|
10
10
|
import { buildAsset, generateId, parseBlobPath, prepareImport, } from './asset-store.js';
|
|
11
|
+
import { AssetBlobNotFoundError } from './errors.js';
|
|
11
12
|
/** IndexedDB 不可用时抛出 */
|
|
12
13
|
export class IdbUnavailableError extends Error {
|
|
13
14
|
constructor(message) {
|
|
@@ -54,7 +55,7 @@ export async function createIdbAssetStore(options = {}) {
|
|
|
54
55
|
const id = parseBlobPath(handle.path, IDB_PATH_PREFIX);
|
|
55
56
|
const record = await db.assets.get(id);
|
|
56
57
|
if (!record) {
|
|
57
|
-
throw new
|
|
58
|
+
throw new AssetBlobNotFoundError(`Blob not found in IndexedDB for path: ${handle.path}`);
|
|
58
59
|
}
|
|
59
60
|
return record.blob;
|
|
60
61
|
},
|
|
@@ -71,6 +72,10 @@ export async function createIdbAssetStore(options = {}) {
|
|
|
71
72
|
await db.assets.put({ id, asset, blob });
|
|
72
73
|
return asset;
|
|
73
74
|
},
|
|
75
|
+
// W21.6: 关闭 Dexie 连接(IDB 数据不删除,下次创建 store 时可恢复)。
|
|
76
|
+
async dispose() {
|
|
77
|
+
db.close();
|
|
78
|
+
},
|
|
74
79
|
};
|
|
75
80
|
}
|
|
76
81
|
//# sourceMappingURL=idb-asset-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idb-asset-store.js","sourceRoot":"","sources":["../src/idb-asset-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAc,MAAM,OAAO,CAAC;AAG1C,OAAO,EACL,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"idb-asset-store.js","sourceRoot":"","sources":["../src/idb-asset-store.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,22 +3,24 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Lokvis Runtime - Browser-local workflow execution engine.
|
|
5
5
|
* 所有核心工作流在浏览器执行,Cloudflare 只承担边缘服务。
|
|
6
|
+
*
|
|
7
|
+
* 公共 API 收敛策略(O-3):
|
|
8
|
+
* - 4 个模块全量透传:types / errors / browser-detect / runtime(仅 4 个符号)
|
|
9
|
+
* - 7 个模块仅命名导出被外部消费的符号(AssetStore / 错误类 / BatchProcessor 等)
|
|
10
|
+
* - 8 个纯内部模块(event-bus / capability-registry / executor / worker-protocol /
|
|
11
|
+
* history / memory-guard / plugin-permissions / plugin-context)不从公共入口透传,
|
|
12
|
+
* runtime 内部代码与测试通过相对路径 import。
|
|
6
13
|
*/
|
|
7
14
|
export * from './types.js';
|
|
8
|
-
export * from './
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './opfs-asset-store.js';
|
|
11
|
-
export * from './idb-asset-store.js';
|
|
12
|
-
export * from './capability-registry.js';
|
|
13
|
-
export * from './executor.js';
|
|
14
|
-
export * from './worker-protocol.js';
|
|
15
|
-
export * from './worker-host.js';
|
|
16
|
-
export * from './history.js';
|
|
17
|
-
export * from './history-store.js';
|
|
18
|
-
export * from './memory-guard.js';
|
|
19
|
-
export * from './degradation.js';
|
|
20
|
-
export * from './batch-processor.js';
|
|
21
|
-
export * from './workflow-builder.js';
|
|
15
|
+
export * from './errors.js';
|
|
16
|
+
export * from './browser-detect.js';
|
|
22
17
|
export * from './runtime.js';
|
|
23
|
-
export {
|
|
18
|
+
export type { AssetStore } from './asset-store.js';
|
|
19
|
+
export { OpfsUnavailableError } from './opfs-asset-store.js';
|
|
20
|
+
export { IdbUnavailableError } from './idb-asset-store.js';
|
|
21
|
+
export { DegradationRejectedError } from './degradation.js';
|
|
22
|
+
export { WorkerCrashedError, WorkerRestartingError, WorkerDeadError, WorkerRequestTimeoutError, WorkerHandshakeError, WorkerRequestAbortedError, } from './worker-host.js';
|
|
23
|
+
export { BatchProcessor, BatchLimitExceededError, FREE_BATCH_LIMIT, } from './batch-processor.js';
|
|
24
|
+
export type { BatchJob, BatchItem, BatchItemInput, EnqueueOptions, BatchProgress, } from './batch-processor.js';
|
|
25
|
+
export type { HistoryStore, HistoryStoreOptions } from './history-store.js';
|
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAK7B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,22 +3,27 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Lokvis Runtime - Browser-local workflow execution engine.
|
|
5
5
|
* 所有核心工作流在浏览器执行,Cloudflare 只承担边缘服务。
|
|
6
|
+
*
|
|
7
|
+
* 公共 API 收敛策略(O-3):
|
|
8
|
+
* - 4 个模块全量透传:types / errors / browser-detect / runtime(仅 4 个符号)
|
|
9
|
+
* - 7 个模块仅命名导出被外部消费的符号(AssetStore / 错误类 / BatchProcessor 等)
|
|
10
|
+
* - 8 个纯内部模块(event-bus / capability-registry / executor / worker-protocol /
|
|
11
|
+
* history / memory-guard / plugin-permissions / plugin-context)不从公共入口透传,
|
|
12
|
+
* runtime 内部代码与测试通过相对路径 import。
|
|
6
13
|
*/
|
|
14
|
+
// ─── 全量透传(公共 API) ──────────────────────────────────────────
|
|
7
15
|
export * from './types.js';
|
|
8
|
-
export * from './
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './opfs-asset-store.js';
|
|
11
|
-
export * from './idb-asset-store.js';
|
|
12
|
-
export * from './capability-registry.js';
|
|
13
|
-
export * from './executor.js';
|
|
14
|
-
export * from './worker-protocol.js';
|
|
15
|
-
export * from './worker-host.js';
|
|
16
|
-
export * from './history.js';
|
|
17
|
-
export * from './history-store.js';
|
|
18
|
-
export * from './memory-guard.js';
|
|
19
|
-
export * from './degradation.js';
|
|
20
|
-
export * from './batch-processor.js';
|
|
21
|
-
export * from './workflow-builder.js';
|
|
16
|
+
export * from './errors.js';
|
|
17
|
+
export * from './browser-detect.js';
|
|
22
18
|
export * from './runtime.js';
|
|
23
|
-
|
|
19
|
+
// opfs-asset-store:仅错误类被 SDK errors 引用
|
|
20
|
+
export { OpfsUnavailableError } from './opfs-asset-store.js';
|
|
21
|
+
// idb-asset-store:仅错误类被 SDK errors 引用
|
|
22
|
+
export { IdbUnavailableError } from './idb-asset-store.js';
|
|
23
|
+
// degradation:仅错误类被 SDK errors 引用
|
|
24
|
+
export { DegradationRejectedError } from './degradation.js';
|
|
25
|
+
// worker-host:6 个错误类被 SDK errors 引用
|
|
26
|
+
export { WorkerCrashedError, WorkerRestartingError, WorkerDeadError, WorkerRequestTimeoutError, WorkerHandshakeError, WorkerRequestAbortedError, } from './worker-host.js';
|
|
27
|
+
// batch-processor:BatchProcessor 类型 + 错误类 + 常量被 SDK 引用
|
|
28
|
+
export { BatchProcessor, BatchLimitExceededError, FREE_BATCH_LIMIT, } from './batch-processor.js';
|
|
24
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,8DAA8D;AAC9D,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAO7B,uCAAuC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,kCAAkC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,oCAAoC;AACpC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,uDAAuD;AACvD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset Manager
|
|
3
|
+
*
|
|
4
|
+
* 从 runtime.ts 抽取的资产操作逻辑,包装为独立类。
|
|
5
|
+
*
|
|
6
|
+
* 职责:
|
|
7
|
+
* - importAsset:URL fetch + 超时保护 / OPFS 不支持错误 / blob 导入 + 事件发射
|
|
8
|
+
* - getAsset:资产查找(不存在抛 "Asset not found")
|
|
9
|
+
* - exportAsset:OPFS fallback MIME 补全 + arrayBuffer 显式拉取(避免悬空引用)
|
|
10
|
+
* - readAssetExif:MetadataReader 依赖反转查找与降级
|
|
11
|
+
* - removeAsset:删除 + 事件发射
|
|
12
|
+
* - listAssets:列表
|
|
13
|
+
* - getStorageUsage:O(1) 缓存路径 + O(n) fallback
|
|
14
|
+
*
|
|
15
|
+
* 设计:
|
|
16
|
+
* - 通过 deps 注入 assetStore / eventBus / metadataReaders / storageQuota,
|
|
17
|
+
* 不持有 Runtime 实例,避免循环依赖。
|
|
18
|
+
* - metadataReaders 由 Runtime 持有并通过 `_registerMetadataReader` 写入,
|
|
19
|
+
* 这里按引用读取(Map 突变对 AssetManager 立即可见),保持 Plugin 注册语义不变。
|
|
20
|
+
*/
|
|
21
|
+
import type { Asset, AssetId, AssetSource, EventBus, ExifData, ImageMetadata, MetadataReader, PdfInfo } from '@lokvis/schema';
|
|
22
|
+
import type { QuotaAwareAssetStore } from './quota-manager.js';
|
|
23
|
+
/** AssetManager 依赖 */
|
|
24
|
+
export interface AssetManagerDeps {
|
|
25
|
+
assetStore: QuotaAwareAssetStore;
|
|
26
|
+
eventBus: EventBus;
|
|
27
|
+
metadataReaders: Map<string, MetadataReader>;
|
|
28
|
+
/** 配额上限,用于 getStorageUsage 返回值(不参与校验,校验在 quota-manager 内) */
|
|
29
|
+
storageQuota: number;
|
|
30
|
+
}
|
|
31
|
+
/** AssetManager:资产操作封装,由 RuntimeImpl 持有并委托 */
|
|
32
|
+
export declare class AssetManager {
|
|
33
|
+
private readonly deps;
|
|
34
|
+
constructor(deps: AssetManagerDeps);
|
|
35
|
+
/**
|
|
36
|
+
* 导入资产。
|
|
37
|
+
*
|
|
38
|
+
* - file/blob 源直接透传给 assetStore.import
|
|
39
|
+
* - url 源在 runtime 层 fetch → blob(含 30s 超时保护),再走 blob 导入
|
|
40
|
+
* - opfs 源暂不支持(OPFS 路径访问需要 filesystem access permission,未来单独实现)
|
|
41
|
+
*/
|
|
42
|
+
importAsset(source: AssetSource): Promise<AssetId>;
|
|
43
|
+
/**
|
|
44
|
+
* 获取资产(不存在抛 AssetNotFoundError,SDK 经 instanceof 转换)。
|
|
45
|
+
*/
|
|
46
|
+
getAsset(id: AssetId): Promise<Asset>;
|
|
47
|
+
/**
|
|
48
|
+
* 导出资产为 Blob。
|
|
49
|
+
*
|
|
50
|
+
* OPFS 存储后端用 .bin 扩展名存储,读取时 fileHandle.getFile() 返回的
|
|
51
|
+
* File.type 可能为空字符串或 'application/octet-stream'(浏览器对未知扩展名
|
|
52
|
+
* 的默认兜底 MIME)。这两种情况都会导致 Object URL 的 Content-Type 退化,
|
|
53
|
+
* 下载时文件扩展名变成 .octet-stream。
|
|
54
|
+
* 用 asset metadata 的 mimeType 补全 Blob type(IDB/Memory 后端不受影响)。
|
|
55
|
+
*
|
|
56
|
+
* 关键:用 arrayBuffer() 显式读取数据到内存,再构造新 Blob。
|
|
57
|
+
* 不能用 new Blob([blob]) —— 浏览器实现中它可能延迟引用底层 OPFS 文件,
|
|
58
|
+
* WatermarkBatchTool 在 export 后立即 removeAsset 删除 OPFS 文件,
|
|
59
|
+
* 导致后续 downloadBlob 读取悬空引用失败("check internet connection")。
|
|
60
|
+
* arrayBuffer() 立即拉取数据,确保返回的 Blob 完全独立于底层存储。
|
|
61
|
+
*/
|
|
62
|
+
exportAsset(id: AssetId, format?: string): Promise<Blob>;
|
|
63
|
+
/**
|
|
64
|
+
* 读取 image 资产的 EXIF 元数据(W7.3/7.4 长期方案:MetadataReader 依赖反转)。
|
|
65
|
+
*
|
|
66
|
+
* Runtime 持有 plugin-image 通过 ctx.registerMetadataReader('image.read-exif', fn)
|
|
67
|
+
* 注册的 reader 引用,按名调用。reader 内部调 readExifFromBlob(exifr)。
|
|
68
|
+
* Plugin 未安装时优雅降级返回 null(不抛错)。
|
|
69
|
+
*
|
|
70
|
+
* 架构决策:readExif 是 Blob→ExifData 查询,不符合 Engine 层 Blob↔Blob 纯函数
|
|
71
|
+
* 约束,也不符合 Capability Asset[]→Asset[] 契约,故走 MetadataReader 机制,
|
|
72
|
+
* 不进 engine-image、不走 Capability execute。
|
|
73
|
+
*/
|
|
74
|
+
readAssetExif(id: AssetId): Promise<ExifData | null>;
|
|
75
|
+
/**
|
|
76
|
+
* 读取 image 资产的 dimensions/format 元数据(MetadataReader 依赖反转)。
|
|
77
|
+
*
|
|
78
|
+
* Runtime 持有 plugin-image 通过 ctx.registerMetadataReader(
|
|
79
|
+
* 'image.read-metadata', fn) 注册的 reader 引用,按名调用。reader 内部调
|
|
80
|
+
* engine-image/node 的 getMetadata(sharp .metadata())。
|
|
81
|
+
* Plugin 未安装时优雅降级返回 null(不抛错)。
|
|
82
|
+
*
|
|
83
|
+
* 架构意义:mcp-server 经此方法读取处理后输出图像的精确尺寸,不再直接
|
|
84
|
+
* import @lokvis/engine-image(五层架构单向依赖,见 A1 修复)。
|
|
85
|
+
*/
|
|
86
|
+
readAssetImageMetadata(id: AssetId): Promise<ImageMetadata | null>;
|
|
87
|
+
/**
|
|
88
|
+
* 读取 pdf 资产的页数(MetadataReader 依赖反转)。
|
|
89
|
+
*
|
|
90
|
+
* Runtime 持有 plugin-pdf 通过 ctx.registerMetadataReader(
|
|
91
|
+
* 'pdf.read-info', fn) 注册的 reader 引用,按名调用。reader 内部调
|
|
92
|
+
* engine-pdf 的 getPdfInfo(pdf-lib getPageCount)。
|
|
93
|
+
* Plugin 未安装时优雅降级返回 null(不抛错)。
|
|
94
|
+
*
|
|
95
|
+
* 架构意义:mcp-server 经此方法读取处理后输出 PDF 的页数,不再直接
|
|
96
|
+
* import @lokvis/engine-pdf(五层架构单向依赖,见 A1 修复)。
|
|
97
|
+
*/
|
|
98
|
+
readAssetPdfInfo(id: AssetId): Promise<PdfInfo | null>;
|
|
99
|
+
removeAsset(id: AssetId): Promise<void>;
|
|
100
|
+
listAssets(): Promise<Asset[]>;
|
|
101
|
+
/**
|
|
102
|
+
* 获取存储使用情况。
|
|
103
|
+
*
|
|
104
|
+
* m6 优化:优先用配额包装器内部维护的 usage(O(1),import/create/remove
|
|
105
|
+
* 时增量更新),避免每次 O(n) 全量 listAssets 影响 StatusBar 刷新。
|
|
106
|
+
* 包装器未就绪(ensureInit 未完成)返回 -1 时,fallback 到 listAssets
|
|
107
|
+
* 实时计算(source of truth,与 W6.4 富元数据一致)。
|
|
108
|
+
*/
|
|
109
|
+
getStorageUsage(): Promise<{
|
|
110
|
+
usage: number;
|
|
111
|
+
quota: number;
|
|
112
|
+
}>;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=asset-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-manager.d.ts","sourceRoot":"","sources":["../../src/managers/asset-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,cAAc,EAEd,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,sBAAsB;AACtB,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AAQD,8CAA8C;AAC9C,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAEnD;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CxD;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAM3C;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9D;;;;;;;;;;OAUG;IACG,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAoB1D;;;;;;;;;;OAUG;IACG,sBAAsB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAgBxE;;;;;;;;;;OAUG;IACG,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgBtD,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvC,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAIpC;;;;;;;OAOG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CASnE"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asset Manager
|
|
3
|
+
*
|
|
4
|
+
* 从 runtime.ts 抽取的资产操作逻辑,包装为独立类。
|
|
5
|
+
*
|
|
6
|
+
* 职责:
|
|
7
|
+
* - importAsset:URL fetch + 超时保护 / OPFS 不支持错误 / blob 导入 + 事件发射
|
|
8
|
+
* - getAsset:资产查找(不存在抛 "Asset not found")
|
|
9
|
+
* - exportAsset:OPFS fallback MIME 补全 + arrayBuffer 显式拉取(避免悬空引用)
|
|
10
|
+
* - readAssetExif:MetadataReader 依赖反转查找与降级
|
|
11
|
+
* - removeAsset:删除 + 事件发射
|
|
12
|
+
* - listAssets:列表
|
|
13
|
+
* - getStorageUsage:O(1) 缓存路径 + O(n) fallback
|
|
14
|
+
*
|
|
15
|
+
* 设计:
|
|
16
|
+
* - 通过 deps 注入 assetStore / eventBus / metadataReaders / storageQuota,
|
|
17
|
+
* 不持有 Runtime 实例,避免循环依赖。
|
|
18
|
+
* - metadataReaders 由 Runtime 持有并通过 `_registerMetadataReader` 写入,
|
|
19
|
+
* 这里按引用读取(Map 突变对 AssetManager 立即可见),保持 Plugin 注册语义不变。
|
|
20
|
+
*/
|
|
21
|
+
import { AssetNotFoundError } from '../errors.js';
|
|
22
|
+
/** OPFS 后端用 .bin 存储时,File.type 退化的兜底 MIME */
|
|
23
|
+
const OPFS_FALLBACK_MIME = 'application/octet-stream';
|
|
24
|
+
/** URL 导入超时(覆盖绝大多数正常图片下载) */
|
|
25
|
+
const URL_FETCH_TIMEOUT_MS = 30_000;
|
|
26
|
+
/** AssetManager:资产操作封装,由 RuntimeImpl 持有并委托 */
|
|
27
|
+
export class AssetManager {
|
|
28
|
+
deps;
|
|
29
|
+
constructor(deps) {
|
|
30
|
+
this.deps = deps;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 导入资产。
|
|
34
|
+
*
|
|
35
|
+
* - file/blob 源直接透传给 assetStore.import
|
|
36
|
+
* - url 源在 runtime 层 fetch → blob(含 30s 超时保护),再走 blob 导入
|
|
37
|
+
* - opfs 源暂不支持(OPFS 路径访问需要 filesystem access permission,未来单独实现)
|
|
38
|
+
*/
|
|
39
|
+
async importAsset(source) {
|
|
40
|
+
// 修复 review 报告:原实现直接透传 source 给 assetStore.import,
|
|
41
|
+
// 但 MemoryAssetStore/OpfsAssetStore/IdbAssetStore 的 extractBlobFromSource
|
|
42
|
+
// 仅支持 file/blob 两种 kind,url/opfs 会抛 "not supported"。
|
|
43
|
+
// 这里在 runtime 层兜底处理 url(fetch → blob),opfs 暂不支持(OPFS
|
|
44
|
+
// 路径访问需要 filesystem access permission,未来单独实现)
|
|
45
|
+
let effectiveSource = source;
|
|
46
|
+
if (source.kind === 'url') {
|
|
47
|
+
// 超时保护:防止慢响应或挂起的 URL 无限期阻塞 import。
|
|
48
|
+
// 30s 覆盖绝大多数正常图片下载;超时后 abort 并抛明确错误。
|
|
49
|
+
const controller = new AbortController();
|
|
50
|
+
const timeoutId = setTimeout(() => controller.abort(), URL_FETCH_TIMEOUT_MS);
|
|
51
|
+
try {
|
|
52
|
+
const resp = await fetch(source.url, { signal: controller.signal });
|
|
53
|
+
if (!resp.ok) {
|
|
54
|
+
throw new Error(`Failed to fetch asset from ${source.url}: ${resp.status} ${resp.statusText}`);
|
|
55
|
+
}
|
|
56
|
+
const blob = await resp.blob();
|
|
57
|
+
const name = source.url.split('/').pop()?.split('?')[0] || 'asset';
|
|
58
|
+
effectiveSource = { kind: 'blob', blob, name };
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
if (err instanceof DOMException && err.name === 'AbortError') {
|
|
62
|
+
throw new Error(`Failed to fetch asset from ${source.url}: timed out after 30s`);
|
|
63
|
+
}
|
|
64
|
+
throw err;
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
clearTimeout(timeoutId);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (source.kind === 'opfs') {
|
|
71
|
+
throw new Error("AssetSource kind 'opfs' is not yet supported by importAsset; " +
|
|
72
|
+
'use the OPFS-aware AssetStore directly or convert to blob first');
|
|
73
|
+
}
|
|
74
|
+
const asset = await this.deps.assetStore.import(effectiveSource);
|
|
75
|
+
this.deps.eventBus.emit({
|
|
76
|
+
type: 'asset:imported',
|
|
77
|
+
assetId: asset.id,
|
|
78
|
+
metadata: asset.metadata,
|
|
79
|
+
});
|
|
80
|
+
return asset.id;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 获取资产(不存在抛 AssetNotFoundError,SDK 经 instanceof 转换)。
|
|
84
|
+
*/
|
|
85
|
+
async getAsset(id) {
|
|
86
|
+
const asset = await this.deps.assetStore.get(id);
|
|
87
|
+
if (!asset)
|
|
88
|
+
throw new AssetNotFoundError(id);
|
|
89
|
+
return asset;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 导出资产为 Blob。
|
|
93
|
+
*
|
|
94
|
+
* OPFS 存储后端用 .bin 扩展名存储,读取时 fileHandle.getFile() 返回的
|
|
95
|
+
* File.type 可能为空字符串或 'application/octet-stream'(浏览器对未知扩展名
|
|
96
|
+
* 的默认兜底 MIME)。这两种情况都会导致 Object URL 的 Content-Type 退化,
|
|
97
|
+
* 下载时文件扩展名变成 .octet-stream。
|
|
98
|
+
* 用 asset metadata 的 mimeType 补全 Blob type(IDB/Memory 后端不受影响)。
|
|
99
|
+
*
|
|
100
|
+
* 关键:用 arrayBuffer() 显式读取数据到内存,再构造新 Blob。
|
|
101
|
+
* 不能用 new Blob([blob]) —— 浏览器实现中它可能延迟引用底层 OPFS 文件,
|
|
102
|
+
* WatermarkBatchTool 在 export 后立即 removeAsset 删除 OPFS 文件,
|
|
103
|
+
* 导致后续 downloadBlob 读取悬空引用失败("check internet connection")。
|
|
104
|
+
* arrayBuffer() 立即拉取数据,确保返回的 Blob 完全独立于底层存储。
|
|
105
|
+
*/
|
|
106
|
+
async exportAsset(id, format) {
|
|
107
|
+
const asset = await this.getAsset(id);
|
|
108
|
+
const blob = await this.deps.assetStore.getBlob(asset.blob);
|
|
109
|
+
const mimeType = !blob.type || blob.type === OPFS_FALLBACK_MIME
|
|
110
|
+
? asset.metadata.mimeType
|
|
111
|
+
: blob.type;
|
|
112
|
+
const buffer = await blob.arrayBuffer();
|
|
113
|
+
const exported = new Blob([buffer], { type: mimeType });
|
|
114
|
+
this.deps.eventBus.emit({
|
|
115
|
+
type: 'export:completed',
|
|
116
|
+
assetId: id,
|
|
117
|
+
format: format ?? asset.metadata.format,
|
|
118
|
+
size: blob.size,
|
|
119
|
+
});
|
|
120
|
+
return exported;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* 读取 image 资产的 EXIF 元数据(W7.3/7.4 长期方案:MetadataReader 依赖反转)。
|
|
124
|
+
*
|
|
125
|
+
* Runtime 持有 plugin-image 通过 ctx.registerMetadataReader('image.read-exif', fn)
|
|
126
|
+
* 注册的 reader 引用,按名调用。reader 内部调 readExifFromBlob(exifr)。
|
|
127
|
+
* Plugin 未安装时优雅降级返回 null(不抛错)。
|
|
128
|
+
*
|
|
129
|
+
* 架构决策:readExif 是 Blob→ExifData 查询,不符合 Engine 层 Blob↔Blob 纯函数
|
|
130
|
+
* 约束,也不符合 Capability Asset[]→Asset[] 契约,故走 MetadataReader 机制,
|
|
131
|
+
* 不进 engine-image、不走 Capability execute。
|
|
132
|
+
*/
|
|
133
|
+
async readAssetExif(id) {
|
|
134
|
+
const asset = await this.getAsset(id);
|
|
135
|
+
if (asset.type !== 'image')
|
|
136
|
+
return null;
|
|
137
|
+
const reader = this.deps.metadataReaders.get('image.read-exif');
|
|
138
|
+
if (!reader)
|
|
139
|
+
return null; // Plugin 未安装,优雅降级
|
|
140
|
+
// TD-3.4 长期方案:构造 MetadataReaderContext,为 reader 提供可观测信号。
|
|
141
|
+
// log 前缀含 assetId,便于 Sentry 上报与调试时关联具体资产。
|
|
142
|
+
// info 级别不输出(避免噪音),warn/error 走 console。
|
|
143
|
+
const readerCtx = {
|
|
144
|
+
log: (level, message) => {
|
|
145
|
+
const prefix = `[lokvis:read-asset-exif:${id}]`;
|
|
146
|
+
if (level === 'error')
|
|
147
|
+
console.error(`${prefix} ${message}`);
|
|
148
|
+
else if (level === 'warn')
|
|
149
|
+
console.warn(`${prefix} ${message}`);
|
|
150
|
+
// info 不输出(避免噪音)
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
return reader(asset, readerCtx);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* 读取 image 资产的 dimensions/format 元数据(MetadataReader 依赖反转)。
|
|
157
|
+
*
|
|
158
|
+
* Runtime 持有 plugin-image 通过 ctx.registerMetadataReader(
|
|
159
|
+
* 'image.read-metadata', fn) 注册的 reader 引用,按名调用。reader 内部调
|
|
160
|
+
* engine-image/node 的 getMetadata(sharp .metadata())。
|
|
161
|
+
* Plugin 未安装时优雅降级返回 null(不抛错)。
|
|
162
|
+
*
|
|
163
|
+
* 架构意义:mcp-server 经此方法读取处理后输出图像的精确尺寸,不再直接
|
|
164
|
+
* import @lokvis/engine-image(五层架构单向依赖,见 A1 修复)。
|
|
165
|
+
*/
|
|
166
|
+
async readAssetImageMetadata(id) {
|
|
167
|
+
const asset = await this.getAsset(id);
|
|
168
|
+
if (asset.type !== 'image')
|
|
169
|
+
return null;
|
|
170
|
+
const reader = this.deps.metadataReaders.get('image.read-metadata');
|
|
171
|
+
if (!reader)
|
|
172
|
+
return null; // Plugin 未安装,优雅降级
|
|
173
|
+
const readerCtx = {
|
|
174
|
+
log: (level, message) => {
|
|
175
|
+
const prefix = `[lokvis:read-asset-image-metadata:${id}]`;
|
|
176
|
+
if (level === 'error')
|
|
177
|
+
console.error(`${prefix} ${message}`);
|
|
178
|
+
else if (level === 'warn')
|
|
179
|
+
console.warn(`${prefix} ${message}`);
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
return reader(asset, readerCtx);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* 读取 pdf 资产的页数(MetadataReader 依赖反转)。
|
|
186
|
+
*
|
|
187
|
+
* Runtime 持有 plugin-pdf 通过 ctx.registerMetadataReader(
|
|
188
|
+
* 'pdf.read-info', fn) 注册的 reader 引用,按名调用。reader 内部调
|
|
189
|
+
* engine-pdf 的 getPdfInfo(pdf-lib getPageCount)。
|
|
190
|
+
* Plugin 未安装时优雅降级返回 null(不抛错)。
|
|
191
|
+
*
|
|
192
|
+
* 架构意义:mcp-server 经此方法读取处理后输出 PDF 的页数,不再直接
|
|
193
|
+
* import @lokvis/engine-pdf(五层架构单向依赖,见 A1 修复)。
|
|
194
|
+
*/
|
|
195
|
+
async readAssetPdfInfo(id) {
|
|
196
|
+
const asset = await this.getAsset(id);
|
|
197
|
+
if (asset.type !== 'pdf')
|
|
198
|
+
return null;
|
|
199
|
+
const reader = this.deps.metadataReaders.get('pdf.read-info');
|
|
200
|
+
if (!reader)
|
|
201
|
+
return null; // Plugin 未安装,优雅降级
|
|
202
|
+
const readerCtx = {
|
|
203
|
+
log: (level, message) => {
|
|
204
|
+
const prefix = `[lokvis:read-asset-pdf-info:${id}]`;
|
|
205
|
+
if (level === 'error')
|
|
206
|
+
console.error(`${prefix} ${message}`);
|
|
207
|
+
else if (level === 'warn')
|
|
208
|
+
console.warn(`${prefix} ${message}`);
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
return reader(asset, readerCtx);
|
|
212
|
+
}
|
|
213
|
+
async removeAsset(id) {
|
|
214
|
+
await this.deps.assetStore.remove(id);
|
|
215
|
+
this.deps.eventBus.emit({ type: 'asset:removed', assetId: id });
|
|
216
|
+
}
|
|
217
|
+
async listAssets() {
|
|
218
|
+
return this.deps.assetStore.list();
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* 获取存储使用情况。
|
|
222
|
+
*
|
|
223
|
+
* m6 优化:优先用配额包装器内部维护的 usage(O(1),import/create/remove
|
|
224
|
+
* 时增量更新),避免每次 O(n) 全量 listAssets 影响 StatusBar 刷新。
|
|
225
|
+
* 包装器未就绪(ensureInit 未完成)返回 -1 时,fallback 到 listAssets
|
|
226
|
+
* 实时计算(source of truth,与 W6.4 富元数据一致)。
|
|
227
|
+
*/
|
|
228
|
+
async getStorageUsage() {
|
|
229
|
+
const cached = this.deps.assetStore._getQuotaUsage();
|
|
230
|
+
if (cached >= 0) {
|
|
231
|
+
return { usage: cached, quota: this.deps.storageQuota };
|
|
232
|
+
}
|
|
233
|
+
const all = await this.deps.assetStore.list();
|
|
234
|
+
const usage = all.reduce((sum, a) => sum + a.metadata.size, 0);
|
|
235
|
+
return { usage, quota: this.deps.storageQuota };
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=asset-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-manager.js","sourceRoot":"","sources":["../../src/managers/asset-manager.ts"],"names":[],"mappings":"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"}
|