@actiondock/core 2.0.11 → 2.0.12

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.
Files changed (119) hide show
  1. package/dist/build/templates.d.ts +19 -0
  2. package/dist/catalog/action-index.d.ts +9 -0
  3. package/dist/catalog/action-resolver.d.ts +20 -0
  4. package/dist/catalog/location-registry.d.ts +15 -0
  5. package/dist/catalog/package-catalog.d.ts +7 -0
  6. package/dist/catalog/types.d.ts +68 -0
  7. package/dist/doctor/doctor.d.ts +6 -0
  8. package/dist/doctor/types.d.ts +23 -0
  9. package/dist/execution/index.d.ts +2 -0
  10. package/dist/execution/service.d.ts +74 -0
  11. package/dist/execution/types.d.ts +74 -0
  12. package/dist/export/templates.d.ts +33 -0
  13. package/dist/filter/intent.d.ts +33 -0
  14. package/{src/index.ts → dist/index.d.ts} +1 -1
  15. package/dist/index.js +8458 -0
  16. package/dist/profile/client.d.ts +116 -0
  17. package/dist/profile/manager.d.ts +47 -0
  18. package/dist/profile/types.d.ts +61 -0
  19. package/dist/project/closure.d.ts +25 -0
  20. package/{src/project/index.ts → dist/project/index.d.ts} +1 -0
  21. package/dist/project/init.d.ts +27 -0
  22. package/dist/project/loader.d.ts +105 -0
  23. package/dist/project/manifest.d.ts +44 -0
  24. package/dist/project/types.d.ts +131 -0
  25. package/dist/registry/registry.d.ts +24 -0
  26. package/dist/registry/types.d.ts +117 -0
  27. package/dist/runtime/clock.d.ts +21 -0
  28. package/dist/runtime/context.d.ts +75 -0
  29. package/dist/runtime/env.d.ts +54 -0
  30. package/dist/runtime/events.d.ts +61 -0
  31. package/dist/runtime/execution-manager.d.ts +48 -0
  32. package/{src/runtime/index.ts → dist/runtime/index.d.ts} +0 -1
  33. package/dist/runtime/module-loader.d.ts +42 -0
  34. package/dist/runtime/process.d.ts +11 -0
  35. package/dist/runtime/runner.d.ts +186 -0
  36. package/dist/runtime/standalone.d.ts +40 -0
  37. package/dist/schema/validator.d.ts +28 -0
  38. package/dist/server/body.d.ts +40 -0
  39. package/{src/server/index.ts → dist/server/index.d.ts} +0 -1
  40. package/dist/server/routes/actions.d.ts +5 -0
  41. package/dist/server/routes/common.d.ts +36 -0
  42. package/dist/server/routes/config.d.ts +5 -0
  43. package/dist/server/routes/doctor.d.ts +5 -0
  44. package/dist/server/routes/health.d.ts +5 -0
  45. package/dist/server/routes/info.d.ts +5 -0
  46. package/dist/server/routes/playbooks.d.ts +5 -0
  47. package/dist/server/routes/runs.d.ts +5 -0
  48. package/dist/server/routes/state.d.ts +5 -0
  49. package/dist/server/runtime-registry.d.ts +78 -0
  50. package/dist/server/security.d.ts +37 -0
  51. package/dist/server/server.d.ts +15 -0
  52. package/dist/server/types.d.ts +59 -0
  53. package/dist/storage/driver.d.ts +15 -0
  54. package/dist/storage/index.d.ts +44 -0
  55. package/{src/storage/mask.ts → dist/storage/mask.d.ts} +5 -20
  56. package/dist/storage/sqlite.d.ts +66 -0
  57. package/dist/storage/types.d.ts +121 -0
  58. package/dist/utils/index.d.ts +29 -0
  59. package/dist/version.d.ts +4 -0
  60. package/package.json +11 -10
  61. package/src/build/templates.ts +0 -59
  62. package/src/catalog/action-index.ts +0 -92
  63. package/src/catalog/action-resolver.ts +0 -120
  64. package/src/catalog/location-registry.ts +0 -134
  65. package/src/catalog/package-catalog.ts +0 -87
  66. package/src/catalog/types.ts +0 -75
  67. package/src/doctor/doctor.ts +0 -419
  68. package/src/doctor/types.ts +0 -25
  69. package/src/execution/index.ts +0 -2
  70. package/src/execution/service.ts +0 -322
  71. package/src/execution/types.ts +0 -73
  72. package/src/export/templates.ts +0 -590
  73. package/src/filter/intent.ts +0 -154
  74. package/src/profile/client.ts +0 -552
  75. package/src/profile/manager.ts +0 -341
  76. package/src/profile/types.ts +0 -71
  77. package/src/project/init.ts +0 -242
  78. package/src/project/loader.ts +0 -479
  79. package/src/project/manifest.ts +0 -299
  80. package/src/project/types.ts +0 -141
  81. package/src/registry/registry.ts +0 -940
  82. package/src/registry/types.ts +0 -127
  83. package/src/runtime/clock.ts +0 -41
  84. package/src/runtime/context.ts +0 -259
  85. package/src/runtime/env.ts +0 -172
  86. package/src/runtime/events.ts +0 -142
  87. package/src/runtime/execution-manager.ts +0 -74
  88. package/src/runtime/module-loader.ts +0 -67
  89. package/src/runtime/process.ts +0 -245
  90. package/src/runtime/runner.ts +0 -527
  91. package/src/runtime/standalone.ts +0 -429
  92. package/src/schema/validator.ts +0 -61
  93. package/src/server/body.ts +0 -112
  94. package/src/server/routes/actions.ts +0 -262
  95. package/src/server/routes/common.ts +0 -126
  96. package/src/server/routes/config.ts +0 -147
  97. package/src/server/routes/doctor.ts +0 -29
  98. package/src/server/routes/health.ts +0 -40
  99. package/src/server/routes/info.ts +0 -221
  100. package/src/server/routes/playbooks.ts +0 -109
  101. package/src/server/routes/runs.ts +0 -301
  102. package/src/server/routes/state.ts +0 -133
  103. package/src/server/runtime-registry.ts +0 -115
  104. package/src/server/security.ts +0 -115
  105. package/src/server/server.ts +0 -251
  106. package/src/server/types.ts +0 -57
  107. package/src/storage/driver.ts +0 -126
  108. package/src/storage/index.ts +0 -81
  109. package/src/storage/sqlite.ts +0 -714
  110. package/src/storage/types.ts +0 -139
  111. package/src/utils/index.ts +0 -62
  112. /package/{src/build/index.ts → dist/build/index.d.ts} +0 -0
  113. /package/{src/catalog/index.ts → dist/catalog/index.d.ts} +0 -0
  114. /package/{src/doctor/index.ts → dist/doctor/index.d.ts} +0 -0
  115. /package/{src/export/index.ts → dist/export/index.d.ts} +0 -0
  116. /package/{src/filter/index.ts → dist/filter/index.d.ts} +0 -0
  117. /package/{src/profile/index.ts → dist/profile/index.d.ts} +0 -0
  118. /package/{src/registry/index.ts → dist/registry/index.d.ts} +0 -0
  119. /package/{src/server/routes/index.ts → dist/server/routes/index.d.ts} +0 -0
@@ -1,126 +0,0 @@
1
- import { createRequire } from "node:module";
2
- import type { SqliteDriver } from "./types";
3
-
4
- export type SqliteDriverFactory = (dbPath: string) => SqliteDriver;
5
-
6
- /** ESM 环境下可用的 CommonJS require,用于动态加载 node:sqlite / bun:sqlite */
7
- const cjsRequire = createRequire(import.meta.url);
8
-
9
- let customDriverFactory: SqliteDriverFactory | undefined;
10
-
11
- /**
12
- * 注册全局默认 SQLite 驱动工厂。
13
- */
14
- export function setSqliteDriverFactory(factory: SqliteDriverFactory): void {
15
- customDriverFactory = factory;
16
- }
17
-
18
- /**
19
- * 创建默认 SQLite 驱动实例。
20
- * 优先使用外部注册的工厂,其次根据当前运行时环境自动适配。
21
- */
22
- export function createDefaultSqliteDriver(dbPath: string): SqliteDriver {
23
- if (customDriverFactory) {
24
- return customDriverFactory(dbPath);
25
- }
26
-
27
- // 检查是否在 Bun 运行时环境
28
- if (typeof (globalThis as any).Bun !== "undefined") {
29
- try {
30
- const { Database } = (globalThis as any).Bun.sqlite || cjsRequire("bun:sqlite");
31
- const db = new Database(dbPath);
32
- // bun:sqlite 的 statement 未 finalize 时会一直持有数据库文件句柄,
33
- // Windows 下导致 db.close() 后文件仍被锁(EBUSY 无法删除)。
34
- // 跟踪全部 prepared statement,close() 时统一 finalize 释放句柄。
35
- const openStatements = new Set<any>();
36
- return {
37
- exec(sql: string) {
38
- db.exec(sql);
39
- },
40
- prepare(sql: string) {
41
- const stmt = db.prepare(sql);
42
- openStatements.add(stmt);
43
- return {
44
- run(...args: any[]) {
45
- const params = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;
46
- const res = stmt.run(...params);
47
- return { changes: res.changes, lastInsertRowid: res.lastInsertRowid };
48
- },
49
- get<T>(...args: any[]): T | undefined {
50
- const params = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;
51
- return stmt.get(...params) as T | undefined;
52
- },
53
- all<T>(...args: any[]): T[] {
54
- const params = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;
55
- return stmt.all(...params) as T[];
56
- },
57
- };
58
- },
59
- transaction<T>(fn: () => T extends PromiseLike<unknown> ? never : T): T {
60
- return db.transaction(fn)() as T;
61
- },
62
- close() {
63
- for (const stmt of openStatements) {
64
- try {
65
- stmt.finalize();
66
- } catch {
67
- // 已 finalize 或重复释放时忽略
68
- }
69
- }
70
- openStatements.clear();
71
- db.close();
72
- },
73
- };
74
- } catch {
75
- // 若在 Bun 下获取 bun:sqlite 失败,回退到标准 Node 驱动尝试
76
- }
77
- }
78
-
79
- // 在 Node.js 环境下使用 node:sqlite
80
- try {
81
- const { DatabaseSync } = cjsRequire("node:sqlite");
82
- const db = new DatabaseSync(dbPath);
83
- return {
84
- exec(sql: string) {
85
- db.exec(sql);
86
- },
87
- prepare(sql: string) {
88
- const stmt = db.prepare(sql);
89
- return {
90
- run(...args: any[]) {
91
- const params = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;
92
- const res = stmt.run(...params);
93
- return { changes: res.changes, lastInsertRowid: res.lastInsertRowid };
94
- },
95
- get<T>(...args: any[]): T | undefined {
96
- const params = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;
97
- return stmt.get(...params) as T | undefined;
98
- },
99
- all<T>(...args: any[]): T[] {
100
- const params = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;
101
- return stmt.all(...params) as T[];
102
- },
103
- };
104
- },
105
- transaction<T>(fn: () => T extends PromiseLike<unknown> ? never : T): T {
106
- db.exec("BEGIN");
107
- try {
108
- const res = fn();
109
- if (res && typeof (res as any).then === "function") {
110
- throw new Error("Async transactions are not allowed in SQLite");
111
- }
112
- db.exec("COMMIT");
113
- return res;
114
- } catch (e) {
115
- db.exec("ROLLBACK");
116
- throw e;
117
- }
118
- },
119
- close() {
120
- db.close();
121
- },
122
- };
123
- } catch (err: any) {
124
- throw new Error(`Failed to initialize SQLite driver: ${err?.message || String(err)}`);
125
- }
126
- }
@@ -1,81 +0,0 @@
1
- import { join } from "node:path";
2
- import { getActionDockHome } from "../utils";
3
- import { SqliteRuntimeStorage } from "./sqlite";
4
- import type { RuntimeStorage, StorageOptions } from "./types";
5
-
6
- export * from "./driver";
7
- export * from "./mask";
8
- export * from "./sqlite";
9
- export * from "./types";
10
-
11
- /**
12
- * 解析并计算目标 SQLite 数据库文件的绝对路径。
13
- *
14
- * 优先级规则:
15
- * 1. inMemory: true -> 返回 ":memory:"
16
- * 2. 显式指定 dataDir -> 返回 `<dataDir>/<packageId>/runtime.db`
17
- * 3. 显式指定 projectRoot(开发态项目) -> 返回 `<projectRoot>/.actiondock/runtime.db`
18
- * 4. 默认独立二进制存储路径 -> 返回 `~/.actiondock/data/<packageId>/runtime.db`
19
- *
20
- * @param packageId 所属 Package ID
21
- * @param options 路径解析选项
22
- */
23
- export function resolveDatabasePath(
24
- packageId: string,
25
- options: { projectRoot?: string; dataDir?: string; inMemory?: boolean } = {}
26
- ): string {
27
- if (options.inMemory) {
28
- return ":memory:";
29
- }
30
- if (options.dataDir) {
31
- return join(options.dataDir, packageId, "runtime.db");
32
- }
33
- if (options.projectRoot) {
34
- return join(options.projectRoot, ".actiondock", "runtime.db");
35
- }
36
- // 独立执行二进制默认存储路径: ~/.actiondock/data/<package-id>/runtime.db
37
- return join(getActionDockHome(), ".actiondock", "data", packageId, "runtime.db");
38
- }
39
-
40
- /**
41
- * 工厂函数:为指定 Package 创建或连接 RuntimeStorage 实例。
42
- *
43
- * @param packageId 目标 Package ID
44
- * @param options 存储配置参数(支持 projectRoot, dataDir, inMemory)
45
- */
46
- export function createStorage(
47
- packageId: string,
48
- options: { projectRoot?: string; dataDir?: string; inMemory?: boolean } = {}
49
- ): RuntimeStorage {
50
- const dbPath = resolveDatabasePath(packageId, options);
51
- return new SqliteRuntimeStorage({ dbPath, packageId });
52
- }
53
-
54
- /**
55
- * 工厂函数:创建或连接 ActionDock 全局共享数据库(~/.actiondock/global.db)。
56
- * 用于跨 Package 共享的全局配置项存储。
57
- *
58
- * @param customHomeOrOptions 自定义家目录路径或配置对象(可选)
59
- * @param dataDirArg 自定义数据存储目录(可选)
60
- */
61
- export function createGlobalStorage(
62
- customHomeOrOptions?: string | { customHome?: string; dataDir?: string },
63
- dataDirArg?: string
64
- ): RuntimeStorage {
65
- let customHome: string | undefined;
66
- let dataDir: string | undefined;
67
-
68
- if (typeof customHomeOrOptions === "object" && customHomeOrOptions !== null) {
69
- customHome = customHomeOrOptions.customHome;
70
- dataDir = customHomeOrOptions.dataDir;
71
- } else {
72
- customHome = customHomeOrOptions;
73
- dataDir = dataDirArg;
74
- }
75
-
76
- const dbPath = dataDir
77
- ? join(dataDir, "global.db")
78
- : join(getActionDockHome(customHome), ".actiondock", "global.db");
79
- return new SqliteRuntimeStorage({ dbPath, packageId: "__global__" });
80
- }
81
-