@actiondock/core 2.0.11 → 2.2.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/README.md +61 -30
- package/dist/app/app.d.ts +73 -0
- package/dist/app/app.js +700 -0
- package/dist/app/index.d.ts +2 -0
- package/dist/app/index.js +2 -0
- package/dist/app/types.d.ts +283 -0
- package/dist/app/types.js +1 -0
- package/dist/catalog/action-index.d.ts +9 -0
- package/dist/catalog/action-index.js +93 -0
- package/dist/catalog/action-resolver.d.ts +20 -0
- package/dist/catalog/action-resolver.js +95 -0
- package/dist/catalog/index.d.ts +5 -0
- package/dist/catalog/index.js +5 -0
- package/dist/catalog/location-registry.d.ts +15 -0
- package/dist/catalog/location-registry.js +138 -0
- package/dist/catalog/package-catalog.d.ts +7 -0
- package/dist/catalog/package-catalog.js +76 -0
- package/dist/catalog/types.d.ts +68 -0
- package/dist/catalog/types.js +1 -0
- package/dist/doctor/doctor.d.ts +7 -0
- package/dist/doctor/doctor.js +613 -0
- package/dist/doctor/index.d.ts +2 -0
- package/dist/doctor/index.js +2 -0
- package/dist/doctor/types.d.ts +23 -0
- package/dist/doctor/types.js +1 -0
- package/dist/errors.d.ts +122 -0
- package/dist/errors.js +123 -0
- package/dist/execution/index.d.ts +2 -0
- package/dist/execution/index.js +2 -0
- package/dist/execution/service.d.ts +79 -0
- package/dist/execution/service.js +633 -0
- package/dist/execution/types.d.ts +131 -0
- package/dist/execution/types.js +1 -0
- package/dist/export/index.d.ts +1 -0
- package/dist/export/index.js +1 -0
- package/dist/export/templates.d.ts +71 -0
- package/dist/export/templates.js +621 -0
- package/dist/filter/index.d.ts +1 -0
- package/dist/filter/index.js +1 -0
- package/dist/filter/intent.d.ts +33 -0
- package/dist/filter/intent.js +123 -0
- package/dist/host/host.d.ts +55 -0
- package/dist/host/host.js +740 -0
- package/dist/host/index.d.ts +2 -0
- package/dist/host/index.js +2 -0
- package/dist/host/types.d.ts +81 -0
- package/dist/host/types.js +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +20 -0
- package/dist/ipc/diagnostic.d.ts +65 -0
- package/dist/ipc/diagnostic.js +129 -0
- package/dist/ipc/host.d.ts +7 -0
- package/dist/ipc/host.js +93 -0
- package/dist/ipc/index.d.ts +4 -0
- package/dist/ipc/index.js +4 -0
- package/dist/ipc/target.d.ts +56 -0
- package/dist/ipc/target.js +297 -0
- package/dist/ipc/types.d.ts +42 -0
- package/dist/ipc/types.js +1 -0
- package/dist/platform/default.d.ts +32 -0
- package/dist/platform/default.js +40 -0
- package/dist/platform/index.d.ts +3 -0
- package/dist/platform/index.js +3 -0
- package/dist/platform/node-fs.d.ts +37 -0
- package/dist/platform/node-fs.js +81 -0
- package/dist/platform/types.d.ts +104 -0
- package/dist/platform/types.js +1 -0
- package/dist/profile/client.d.ts +162 -0
- package/dist/profile/client.js +467 -0
- package/dist/profile/index.d.ts +3 -0
- package/dist/profile/index.js +3 -0
- package/dist/profile/manager.d.ts +47 -0
- package/dist/profile/manager.js +294 -0
- package/dist/profile/types.d.ts +61 -0
- package/dist/profile/types.js +1 -0
- package/dist/project/closure.d.ts +25 -0
- package/dist/project/closure.js +68 -0
- package/dist/project/digest.d.ts +29 -0
- package/dist/project/digest.js +324 -0
- package/dist/project/index.d.ts +10 -0
- package/dist/project/index.js +10 -0
- package/dist/project/init.d.ts +26 -0
- package/dist/project/init.js +175 -0
- package/dist/project/loader.d.ts +99 -0
- package/dist/project/loader.js +484 -0
- package/dist/project/lockfile.d.ts +55 -0
- package/dist/project/lockfile.js +175 -0
- package/dist/project/manifest.d.ts +22 -0
- package/dist/project/manifest.js +220 -0
- package/dist/project/resolver.d.ts +116 -0
- package/dist/project/resolver.js +376 -0
- package/dist/project/transactions.d.ts +103 -0
- package/dist/project/transactions.js +1203 -0
- package/dist/project/types-generator.d.ts +33 -0
- package/dist/project/types-generator.js +168 -0
- package/dist/project/types.d.ts +107 -0
- package/dist/project/types.js +1 -0
- package/dist/registry/index.d.ts +5 -0
- package/dist/registry/index.js +5 -0
- package/dist/registry/lock.d.ts +27 -0
- package/dist/registry/lock.js +93 -0
- package/dist/registry/registry.d.ts +45 -0
- package/dist/registry/registry.js +611 -0
- package/dist/registry/resolve.d.ts +62 -0
- package/dist/registry/resolve.js +195 -0
- package/dist/registry/scan.d.ts +38 -0
- package/dist/registry/scan.js +135 -0
- package/dist/registry/types.d.ts +117 -0
- package/dist/registry/types.js +1 -0
- package/dist/runtime/action-collection.d.ts +27 -0
- package/dist/runtime/action-collection.js +57 -0
- package/dist/runtime/clock.d.ts +19 -0
- package/dist/runtime/clock.js +17 -0
- package/dist/runtime/context.d.ts +86 -0
- package/dist/runtime/context.js +242 -0
- package/dist/runtime/env.d.ts +56 -0
- package/dist/runtime/env.js +159 -0
- package/dist/runtime/events.d.ts +93 -0
- package/dist/runtime/events.js +604 -0
- package/dist/runtime/execution-manager.d.ts +48 -0
- package/dist/runtime/execution-manager.js +66 -0
- package/dist/runtime/index.d.ts +10 -0
- package/dist/runtime/index.js +10 -0
- package/dist/runtime/module-loader.d.ts +34 -0
- package/dist/runtime/module-loader.js +16 -0
- package/dist/runtime/process.d.ts +9 -0
- package/dist/runtime/process.js +146 -0
- package/dist/runtime/runner.d.ts +293 -0
- package/dist/runtime/runner.js +984 -0
- package/dist/runtime/standalone.d.ts +89 -0
- package/dist/runtime/standalone.js +536 -0
- package/dist/schema/validator.d.ts +28 -0
- package/dist/schema/validator.js +116 -0
- package/dist/server/body.d.ts +40 -0
- package/dist/server/body.js +93 -0
- package/dist/server/index.d.ts +5 -0
- package/dist/server/index.js +5 -0
- package/dist/server/routes/actions.d.ts +5 -0
- package/dist/server/routes/actions.js +298 -0
- package/dist/server/routes/common.d.ts +47 -0
- package/dist/server/routes/common.js +104 -0
- package/dist/server/routes/config.d.ts +6 -0
- package/dist/server/routes/config.js +173 -0
- package/dist/server/routes/doctor.d.ts +5 -0
- package/dist/server/routes/doctor.js +63 -0
- package/dist/server/routes/health.d.ts +5 -0
- package/dist/server/routes/health.js +35 -0
- package/dist/server/routes/index.d.ts +9 -0
- package/dist/server/routes/index.js +9 -0
- package/dist/server/routes/info.d.ts +7 -0
- package/dist/server/routes/info.js +158 -0
- package/dist/server/routes/playbooks.d.ts +5 -0
- package/dist/server/routes/playbooks.js +134 -0
- package/dist/server/routes/runs.d.ts +5 -0
- package/dist/server/routes/runs.js +343 -0
- package/dist/server/routes/state.d.ts +6 -0
- package/dist/server/routes/state.js +169 -0
- package/dist/server/security.d.ts +44 -0
- package/dist/server/security.js +101 -0
- package/dist/server/server.d.ts +15 -0
- package/dist/server/server.js +355 -0
- package/dist/server/types.d.ts +78 -0
- package/dist/server/types.js +1 -0
- package/dist/storage/data-dir-lock.d.ts +119 -0
- package/dist/storage/data-dir-lock.js +1016 -0
- package/dist/storage/driver.d.ts +9 -0
- package/dist/storage/driver.js +59 -0
- package/dist/storage/index.d.ts +64 -0
- package/dist/storage/index.js +98 -0
- package/dist/storage/lazy.d.ts +8 -0
- package/dist/storage/lazy.js +44 -0
- package/dist/storage/mask.d.ts +26 -0
- package/dist/storage/mask.js +48 -0
- package/dist/storage/params.d.ts +13 -0
- package/dist/storage/params.js +32 -0
- package/dist/storage/sqlite.d.ts +79 -0
- package/dist/storage/sqlite.js +689 -0
- package/dist/storage/types.d.ts +172 -0
- package/dist/storage/types.js +14 -0
- package/dist/target/index.d.ts +4 -0
- package/dist/target/index.js +4 -0
- package/dist/target/local.d.ts +52 -0
- package/dist/target/local.js +343 -0
- package/dist/target/remote.d.ts +76 -0
- package/dist/target/remote.js +839 -0
- package/dist/target/target.d.ts +6 -0
- package/dist/target/target.js +35 -0
- package/dist/target/types.d.ts +246 -0
- package/dist/target/types.js +34 -0
- package/dist/utils/index.d.ts +49 -0
- package/dist/utils/index.js +180 -0
- package/dist/version.d.ts +4 -0
- package/dist/version.js +4 -0
- package/package.json +13 -13
- package/src/build/index.ts +0 -1
- package/src/build/templates.ts +0 -59
- package/src/catalog/action-index.ts +0 -92
- package/src/catalog/action-resolver.ts +0 -120
- package/src/catalog/index.ts +0 -5
- package/src/catalog/location-registry.ts +0 -134
- package/src/catalog/package-catalog.ts +0 -87
- package/src/catalog/types.ts +0 -75
- package/src/doctor/doctor.ts +0 -419
- package/src/doctor/index.ts +0 -2
- package/src/doctor/types.ts +0 -25
- package/src/execution/index.ts +0 -2
- package/src/execution/service.ts +0 -322
- package/src/execution/types.ts +0 -73
- package/src/export/index.ts +0 -1
- package/src/export/templates.ts +0 -590
- package/src/filter/index.ts +0 -1
- package/src/filter/intent.ts +0 -154
- package/src/index.ts +0 -16
- package/src/profile/client.ts +0 -552
- package/src/profile/index.ts +0 -3
- package/src/profile/manager.ts +0 -341
- package/src/profile/types.ts +0 -71
- package/src/project/index.ts +0 -4
- package/src/project/init.ts +0 -242
- package/src/project/loader.ts +0 -479
- package/src/project/manifest.ts +0 -299
- package/src/project/types.ts +0 -141
- package/src/registry/index.ts +0 -2
- package/src/registry/registry.ts +0 -940
- package/src/registry/types.ts +0 -127
- package/src/runtime/clock.ts +0 -41
- package/src/runtime/context.ts +0 -259
- package/src/runtime/env.ts +0 -172
- package/src/runtime/events.ts +0 -142
- package/src/runtime/execution-manager.ts +0 -74
- package/src/runtime/index.ts +0 -10
- package/src/runtime/module-loader.ts +0 -67
- package/src/runtime/process.ts +0 -245
- package/src/runtime/runner.ts +0 -527
- package/src/runtime/standalone.ts +0 -429
- package/src/schema/validator.ts +0 -61
- package/src/server/body.ts +0 -112
- package/src/server/index.ts +0 -7
- package/src/server/routes/actions.ts +0 -262
- package/src/server/routes/common.ts +0 -126
- package/src/server/routes/config.ts +0 -147
- package/src/server/routes/doctor.ts +0 -29
- package/src/server/routes/health.ts +0 -40
- package/src/server/routes/index.ts +0 -9
- package/src/server/routes/info.ts +0 -221
- package/src/server/routes/playbooks.ts +0 -109
- package/src/server/routes/runs.ts +0 -301
- package/src/server/routes/state.ts +0 -133
- package/src/server/runtime-registry.ts +0 -115
- package/src/server/security.ts +0 -115
- package/src/server/server.ts +0 -251
- package/src/server/types.ts +0 -57
- package/src/storage/driver.ts +0 -126
- package/src/storage/index.ts +0 -81
- package/src/storage/mask.ts +0 -34
- package/src/storage/sqlite.ts +0 -714
- package/src/storage/types.ts +0 -139
- package/src/utils/index.ts +0 -62
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { existsSync, realpathSync } from "node:fs";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
import { findProjectRoot, loadProjectConfig } from "../project/loader.js";
|
|
5
|
+
import { discoverProjects } from "../registry/registry.js";
|
|
6
|
+
import { LocationRegistry } from "./location-registry.js";
|
|
7
|
+
export class PackageCatalog {
|
|
8
|
+
registry;
|
|
9
|
+
constructor(registry) {
|
|
10
|
+
this.registry = registry || new LocationRegistry();
|
|
11
|
+
}
|
|
12
|
+
buildSnapshot(cwd = process.cwd()) {
|
|
13
|
+
const packages = new Map();
|
|
14
|
+
const seenRealPaths = new Map(); // realPath -> packageId
|
|
15
|
+
const seenPackageIds = new Map(); // packageId -> realPath
|
|
16
|
+
const registerPackage = (root, isChild = false) => {
|
|
17
|
+
const abs = resolve(root);
|
|
18
|
+
if (!existsSync(abs))
|
|
19
|
+
return;
|
|
20
|
+
const real = realpathSync(abs);
|
|
21
|
+
if (seenRealPaths.has(real)) {
|
|
22
|
+
return; // 符号链接归一化去重
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const config = loadProjectConfig(abs);
|
|
26
|
+
if (seenPackageIds.has(config.id)) {
|
|
27
|
+
const existingPath = seenPackageIds.get(config.id);
|
|
28
|
+
if (existingPath !== real) {
|
|
29
|
+
throw new Error(`PACKAGE_ID_CONFLICT: Package ID '${config.id}' is declared by multiple directories: '${existingPath}' and '${real}'`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const entry = {
|
|
33
|
+
id: config.id,
|
|
34
|
+
packageInstanceId: `${config.id}:${real}`,
|
|
35
|
+
projectRoot: abs,
|
|
36
|
+
config,
|
|
37
|
+
isWorkspaceChild: isChild,
|
|
38
|
+
};
|
|
39
|
+
packages.set(config.id, entry);
|
|
40
|
+
seenRealPaths.set(real, config.id);
|
|
41
|
+
seenPackageIds.set(config.id, real);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
if (e.message?.startsWith("PACKAGE_ID_CONFLICT")) {
|
|
45
|
+
throw e;
|
|
46
|
+
}
|
|
47
|
+
// 忽略无效项目
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
// 优先包含当前工作目录所在项目
|
|
51
|
+
const currentRoot = findProjectRoot(cwd);
|
|
52
|
+
if (currentRoot) {
|
|
53
|
+
registerPackage(currentRoot);
|
|
54
|
+
}
|
|
55
|
+
// 扫描注册表中的位置
|
|
56
|
+
const regData = this.registry.load();
|
|
57
|
+
for (const link of regData.links) {
|
|
58
|
+
if (!existsSync(link.path))
|
|
59
|
+
continue;
|
|
60
|
+
if (link.type === "package") {
|
|
61
|
+
registerPackage(link.path);
|
|
62
|
+
}
|
|
63
|
+
else if (link.type === "workspace") {
|
|
64
|
+
const subprojects = discoverProjects(link.path, link.depth ?? 3);
|
|
65
|
+
for (const sub of subprojects) {
|
|
66
|
+
registerPackage(sub, true);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
generationId: randomUUID(),
|
|
72
|
+
createdAt: new Date().toISOString(),
|
|
73
|
+
packages,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ActionContract } from "@actiondock/sdk";
|
|
2
|
+
import type { ProjectConfig } from "../project/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* 注册的位置条目类型。
|
|
5
|
+
*/
|
|
6
|
+
export type LocationType = "package" | "workspace";
|
|
7
|
+
/**
|
|
8
|
+
* 位置注册表中的单条链接记录。
|
|
9
|
+
*/
|
|
10
|
+
export interface LocationLink {
|
|
11
|
+
/** 位置类型:单包或工作区 */
|
|
12
|
+
type: LocationType;
|
|
13
|
+
/** 目录绝对物理路径 */
|
|
14
|
+
path: string;
|
|
15
|
+
/** 注册时间(ISO 8601) */
|
|
16
|
+
linkedAt: string;
|
|
17
|
+
/** 扫描最大深度(工作区模式有效,默认 3) */
|
|
18
|
+
depth?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 物理位置注册表文件(~/.actiondock/registry.json)格式。
|
|
22
|
+
*/
|
|
23
|
+
export interface LocationRegistryData {
|
|
24
|
+
schemaVersion: 1;
|
|
25
|
+
links: LocationLink[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 解析后的包实例快照。
|
|
29
|
+
*/
|
|
30
|
+
export interface CatalogPackageEntry {
|
|
31
|
+
/** 逻辑包标识 */
|
|
32
|
+
id: string;
|
|
33
|
+
/** 包物理实例唯一标识 */
|
|
34
|
+
packageInstanceId: string;
|
|
35
|
+
/** 项目根目录绝对路径 */
|
|
36
|
+
projectRoot: string;
|
|
37
|
+
/** 项目配置 */
|
|
38
|
+
config: ProjectConfig;
|
|
39
|
+
/** 是否来自工作区自动发现 */
|
|
40
|
+
isWorkspaceChild?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 运行时目录与包快照。
|
|
44
|
+
*/
|
|
45
|
+
export interface CatalogSnapshot {
|
|
46
|
+
/** 快照代次唯一标识 */
|
|
47
|
+
generationId: string;
|
|
48
|
+
/** 生成快照时间 */
|
|
49
|
+
createdAt: string;
|
|
50
|
+
/** 已发现的包集合(按 packageId 索引) */
|
|
51
|
+
packages: Map<string, CatalogPackageEntry>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 索引中的 Action 描述符。
|
|
55
|
+
*/
|
|
56
|
+
export interface IndexedAction {
|
|
57
|
+
/** 所属逻辑包 ID */
|
|
58
|
+
packageId: string;
|
|
59
|
+
/** 动作 ID */
|
|
60
|
+
actionId: string;
|
|
61
|
+
/** 契约元数据 */
|
|
62
|
+
contract: ActionContract;
|
|
63
|
+
/** 实现入口相对路径 */
|
|
64
|
+
entry: string;
|
|
65
|
+
/** 包根目录绝对路径 */
|
|
66
|
+
projectRoot: string;
|
|
67
|
+
}
|
|
68
|
+
export type { ModuleLoader } from "../runtime/module-loader.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|