@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.
Files changed (258) hide show
  1. package/README.md +61 -30
  2. package/dist/app/app.d.ts +73 -0
  3. package/dist/app/app.js +700 -0
  4. package/dist/app/index.d.ts +2 -0
  5. package/dist/app/index.js +2 -0
  6. package/dist/app/types.d.ts +283 -0
  7. package/dist/app/types.js +1 -0
  8. package/dist/catalog/action-index.d.ts +9 -0
  9. package/dist/catalog/action-index.js +93 -0
  10. package/dist/catalog/action-resolver.d.ts +20 -0
  11. package/dist/catalog/action-resolver.js +95 -0
  12. package/dist/catalog/index.d.ts +5 -0
  13. package/dist/catalog/index.js +5 -0
  14. package/dist/catalog/location-registry.d.ts +15 -0
  15. package/dist/catalog/location-registry.js +138 -0
  16. package/dist/catalog/package-catalog.d.ts +7 -0
  17. package/dist/catalog/package-catalog.js +76 -0
  18. package/dist/catalog/types.d.ts +68 -0
  19. package/dist/catalog/types.js +1 -0
  20. package/dist/doctor/doctor.d.ts +7 -0
  21. package/dist/doctor/doctor.js +613 -0
  22. package/dist/doctor/index.d.ts +2 -0
  23. package/dist/doctor/index.js +2 -0
  24. package/dist/doctor/types.d.ts +23 -0
  25. package/dist/doctor/types.js +1 -0
  26. package/dist/errors.d.ts +122 -0
  27. package/dist/errors.js +123 -0
  28. package/dist/execution/index.d.ts +2 -0
  29. package/dist/execution/index.js +2 -0
  30. package/dist/execution/service.d.ts +79 -0
  31. package/dist/execution/service.js +633 -0
  32. package/dist/execution/types.d.ts +131 -0
  33. package/dist/execution/types.js +1 -0
  34. package/dist/export/index.d.ts +1 -0
  35. package/dist/export/index.js +1 -0
  36. package/dist/export/templates.d.ts +71 -0
  37. package/dist/export/templates.js +621 -0
  38. package/dist/filter/index.d.ts +1 -0
  39. package/dist/filter/index.js +1 -0
  40. package/dist/filter/intent.d.ts +33 -0
  41. package/dist/filter/intent.js +123 -0
  42. package/dist/host/host.d.ts +55 -0
  43. package/dist/host/host.js +740 -0
  44. package/dist/host/index.d.ts +2 -0
  45. package/dist/host/index.js +2 -0
  46. package/dist/host/types.d.ts +81 -0
  47. package/dist/host/types.js +1 -0
  48. package/dist/index.d.ts +21 -0
  49. package/dist/index.js +20 -0
  50. package/dist/ipc/diagnostic.d.ts +65 -0
  51. package/dist/ipc/diagnostic.js +129 -0
  52. package/dist/ipc/host.d.ts +7 -0
  53. package/dist/ipc/host.js +93 -0
  54. package/dist/ipc/index.d.ts +4 -0
  55. package/dist/ipc/index.js +4 -0
  56. package/dist/ipc/target.d.ts +56 -0
  57. package/dist/ipc/target.js +297 -0
  58. package/dist/ipc/types.d.ts +42 -0
  59. package/dist/ipc/types.js +1 -0
  60. package/dist/platform/default.d.ts +32 -0
  61. package/dist/platform/default.js +40 -0
  62. package/dist/platform/index.d.ts +3 -0
  63. package/dist/platform/index.js +3 -0
  64. package/dist/platform/node-fs.d.ts +37 -0
  65. package/dist/platform/node-fs.js +81 -0
  66. package/dist/platform/types.d.ts +104 -0
  67. package/dist/platform/types.js +1 -0
  68. package/dist/profile/client.d.ts +162 -0
  69. package/dist/profile/client.js +467 -0
  70. package/dist/profile/index.d.ts +3 -0
  71. package/dist/profile/index.js +3 -0
  72. package/dist/profile/manager.d.ts +47 -0
  73. package/dist/profile/manager.js +294 -0
  74. package/dist/profile/types.d.ts +61 -0
  75. package/dist/profile/types.js +1 -0
  76. package/dist/project/closure.d.ts +25 -0
  77. package/dist/project/closure.js +68 -0
  78. package/dist/project/digest.d.ts +29 -0
  79. package/dist/project/digest.js +324 -0
  80. package/dist/project/index.d.ts +10 -0
  81. package/dist/project/index.js +10 -0
  82. package/dist/project/init.d.ts +26 -0
  83. package/dist/project/init.js +175 -0
  84. package/dist/project/loader.d.ts +99 -0
  85. package/dist/project/loader.js +484 -0
  86. package/dist/project/lockfile.d.ts +55 -0
  87. package/dist/project/lockfile.js +175 -0
  88. package/dist/project/manifest.d.ts +22 -0
  89. package/dist/project/manifest.js +220 -0
  90. package/dist/project/resolver.d.ts +116 -0
  91. package/dist/project/resolver.js +376 -0
  92. package/dist/project/transactions.d.ts +103 -0
  93. package/dist/project/transactions.js +1203 -0
  94. package/dist/project/types-generator.d.ts +33 -0
  95. package/dist/project/types-generator.js +168 -0
  96. package/dist/project/types.d.ts +107 -0
  97. package/dist/project/types.js +1 -0
  98. package/dist/registry/index.d.ts +5 -0
  99. package/dist/registry/index.js +5 -0
  100. package/dist/registry/lock.d.ts +27 -0
  101. package/dist/registry/lock.js +93 -0
  102. package/dist/registry/registry.d.ts +45 -0
  103. package/dist/registry/registry.js +611 -0
  104. package/dist/registry/resolve.d.ts +62 -0
  105. package/dist/registry/resolve.js +195 -0
  106. package/dist/registry/scan.d.ts +38 -0
  107. package/dist/registry/scan.js +135 -0
  108. package/dist/registry/types.d.ts +117 -0
  109. package/dist/registry/types.js +1 -0
  110. package/dist/runtime/action-collection.d.ts +27 -0
  111. package/dist/runtime/action-collection.js +57 -0
  112. package/dist/runtime/clock.d.ts +19 -0
  113. package/dist/runtime/clock.js +17 -0
  114. package/dist/runtime/context.d.ts +86 -0
  115. package/dist/runtime/context.js +242 -0
  116. package/dist/runtime/env.d.ts +56 -0
  117. package/dist/runtime/env.js +159 -0
  118. package/dist/runtime/events.d.ts +93 -0
  119. package/dist/runtime/events.js +604 -0
  120. package/dist/runtime/execution-manager.d.ts +48 -0
  121. package/dist/runtime/execution-manager.js +66 -0
  122. package/dist/runtime/index.d.ts +10 -0
  123. package/dist/runtime/index.js +10 -0
  124. package/dist/runtime/module-loader.d.ts +34 -0
  125. package/dist/runtime/module-loader.js +16 -0
  126. package/dist/runtime/process.d.ts +9 -0
  127. package/dist/runtime/process.js +146 -0
  128. package/dist/runtime/runner.d.ts +293 -0
  129. package/dist/runtime/runner.js +984 -0
  130. package/dist/runtime/standalone.d.ts +89 -0
  131. package/dist/runtime/standalone.js +536 -0
  132. package/dist/schema/validator.d.ts +28 -0
  133. package/dist/schema/validator.js +116 -0
  134. package/dist/server/body.d.ts +40 -0
  135. package/dist/server/body.js +93 -0
  136. package/dist/server/index.d.ts +5 -0
  137. package/dist/server/index.js +5 -0
  138. package/dist/server/routes/actions.d.ts +5 -0
  139. package/dist/server/routes/actions.js +298 -0
  140. package/dist/server/routes/common.d.ts +47 -0
  141. package/dist/server/routes/common.js +104 -0
  142. package/dist/server/routes/config.d.ts +6 -0
  143. package/dist/server/routes/config.js +173 -0
  144. package/dist/server/routes/doctor.d.ts +5 -0
  145. package/dist/server/routes/doctor.js +63 -0
  146. package/dist/server/routes/health.d.ts +5 -0
  147. package/dist/server/routes/health.js +35 -0
  148. package/dist/server/routes/index.d.ts +9 -0
  149. package/dist/server/routes/index.js +9 -0
  150. package/dist/server/routes/info.d.ts +7 -0
  151. package/dist/server/routes/info.js +158 -0
  152. package/dist/server/routes/playbooks.d.ts +5 -0
  153. package/dist/server/routes/playbooks.js +134 -0
  154. package/dist/server/routes/runs.d.ts +5 -0
  155. package/dist/server/routes/runs.js +343 -0
  156. package/dist/server/routes/state.d.ts +6 -0
  157. package/dist/server/routes/state.js +169 -0
  158. package/dist/server/security.d.ts +44 -0
  159. package/dist/server/security.js +101 -0
  160. package/dist/server/server.d.ts +15 -0
  161. package/dist/server/server.js +355 -0
  162. package/dist/server/types.d.ts +78 -0
  163. package/dist/server/types.js +1 -0
  164. package/dist/storage/data-dir-lock.d.ts +119 -0
  165. package/dist/storage/data-dir-lock.js +1016 -0
  166. package/dist/storage/driver.d.ts +9 -0
  167. package/dist/storage/driver.js +59 -0
  168. package/dist/storage/index.d.ts +64 -0
  169. package/dist/storage/index.js +98 -0
  170. package/dist/storage/lazy.d.ts +8 -0
  171. package/dist/storage/lazy.js +44 -0
  172. package/dist/storage/mask.d.ts +26 -0
  173. package/dist/storage/mask.js +48 -0
  174. package/dist/storage/params.d.ts +13 -0
  175. package/dist/storage/params.js +32 -0
  176. package/dist/storage/sqlite.d.ts +79 -0
  177. package/dist/storage/sqlite.js +689 -0
  178. package/dist/storage/types.d.ts +172 -0
  179. package/dist/storage/types.js +14 -0
  180. package/dist/target/index.d.ts +4 -0
  181. package/dist/target/index.js +4 -0
  182. package/dist/target/local.d.ts +52 -0
  183. package/dist/target/local.js +343 -0
  184. package/dist/target/remote.d.ts +76 -0
  185. package/dist/target/remote.js +839 -0
  186. package/dist/target/target.d.ts +6 -0
  187. package/dist/target/target.js +35 -0
  188. package/dist/target/types.d.ts +246 -0
  189. package/dist/target/types.js +34 -0
  190. package/dist/utils/index.d.ts +49 -0
  191. package/dist/utils/index.js +180 -0
  192. package/dist/version.d.ts +4 -0
  193. package/dist/version.js +4 -0
  194. package/package.json +13 -13
  195. package/src/build/index.ts +0 -1
  196. package/src/build/templates.ts +0 -59
  197. package/src/catalog/action-index.ts +0 -92
  198. package/src/catalog/action-resolver.ts +0 -120
  199. package/src/catalog/index.ts +0 -5
  200. package/src/catalog/location-registry.ts +0 -134
  201. package/src/catalog/package-catalog.ts +0 -87
  202. package/src/catalog/types.ts +0 -75
  203. package/src/doctor/doctor.ts +0 -419
  204. package/src/doctor/index.ts +0 -2
  205. package/src/doctor/types.ts +0 -25
  206. package/src/execution/index.ts +0 -2
  207. package/src/execution/service.ts +0 -322
  208. package/src/execution/types.ts +0 -73
  209. package/src/export/index.ts +0 -1
  210. package/src/export/templates.ts +0 -590
  211. package/src/filter/index.ts +0 -1
  212. package/src/filter/intent.ts +0 -154
  213. package/src/index.ts +0 -16
  214. package/src/profile/client.ts +0 -552
  215. package/src/profile/index.ts +0 -3
  216. package/src/profile/manager.ts +0 -341
  217. package/src/profile/types.ts +0 -71
  218. package/src/project/index.ts +0 -4
  219. package/src/project/init.ts +0 -242
  220. package/src/project/loader.ts +0 -479
  221. package/src/project/manifest.ts +0 -299
  222. package/src/project/types.ts +0 -141
  223. package/src/registry/index.ts +0 -2
  224. package/src/registry/registry.ts +0 -940
  225. package/src/registry/types.ts +0 -127
  226. package/src/runtime/clock.ts +0 -41
  227. package/src/runtime/context.ts +0 -259
  228. package/src/runtime/env.ts +0 -172
  229. package/src/runtime/events.ts +0 -142
  230. package/src/runtime/execution-manager.ts +0 -74
  231. package/src/runtime/index.ts +0 -10
  232. package/src/runtime/module-loader.ts +0 -67
  233. package/src/runtime/process.ts +0 -245
  234. package/src/runtime/runner.ts +0 -527
  235. package/src/runtime/standalone.ts +0 -429
  236. package/src/schema/validator.ts +0 -61
  237. package/src/server/body.ts +0 -112
  238. package/src/server/index.ts +0 -7
  239. package/src/server/routes/actions.ts +0 -262
  240. package/src/server/routes/common.ts +0 -126
  241. package/src/server/routes/config.ts +0 -147
  242. package/src/server/routes/doctor.ts +0 -29
  243. package/src/server/routes/health.ts +0 -40
  244. package/src/server/routes/index.ts +0 -9
  245. package/src/server/routes/info.ts +0 -221
  246. package/src/server/routes/playbooks.ts +0 -109
  247. package/src/server/routes/runs.ts +0 -301
  248. package/src/server/routes/state.ts +0 -133
  249. package/src/server/runtime-registry.ts +0 -115
  250. package/src/server/security.ts +0 -115
  251. package/src/server/server.ts +0 -251
  252. package/src/server/types.ts +0 -57
  253. package/src/storage/driver.ts +0 -126
  254. package/src/storage/index.ts +0 -81
  255. package/src/storage/mask.ts +0 -34
  256. package/src/storage/sqlite.ts +0 -714
  257. package/src/storage/types.ts +0 -139
  258. package/src/utils/index.ts +0 -62
@@ -0,0 +1,131 @@
1
+ import type { ActionDefinition, ActionRef, ExecutionEvent, ExecutionResult, JsonValue, Logger, ProcessAPI, ProgressReporter, RunRecord, RunStatus } from "@actiondock/sdk";
2
+ import type { ProjectConfig } from "../project/types.js";
3
+ import type { ActionRunner, ExecutionHandle } from "../runtime/runner.js";
4
+ import type { Clock } from "../runtime/clock.js";
5
+ import type { EventSink } from "../runtime/events.js";
6
+ import type { RuntimeStorage } from "../storage/types.js";
7
+ import type { RuntimePlatform } from "../platform/types.js";
8
+ /**
9
+ * 执行参数选项。
10
+ */
11
+ export interface ExecuteOptions {
12
+ /** 外部取消信号 */
13
+ signal?: AbortSignal;
14
+ /** 超时时间(毫秒) */
15
+ timeoutMs?: number;
16
+ /** 配置临时覆盖字典 */
17
+ config?: Record<string, JsonValue>;
18
+ /** 幂等请求去重标识 */
19
+ requestId?: string;
20
+ /** 父运行 ID */
21
+ parentRunId?: string;
22
+ /** 根运行 ID */
23
+ rootRunId?: string;
24
+ /** 最大调用嵌套深度限制 */
25
+ maxCallDepth?: number;
26
+ /** 外部日志注入 */
27
+ logger?: Logger;
28
+ /** 外部进度报告器注入 */
29
+ progress?: ProgressReporter;
30
+ /** 外部进程执行器注入 */
31
+ process?: ProcessAPI;
32
+ /** 可选的底层运行平台契约 */
33
+ platform?: RuntimePlatform;
34
+ /** 执行宿主会话标识 */
35
+ hostSessionId?: string;
36
+ }
37
+ /**
38
+ * 统一执行协调服务配置选项。
39
+ */
40
+ export interface ExecutionServiceOptions {
41
+ packageId: string;
42
+ hostSessionId?: string;
43
+ storage?: RuntimeStorage;
44
+ globalStorage?: RuntimeStorage;
45
+ projectRoot?: string;
46
+ projectConfig?: ProjectConfig;
47
+ configOverrides?: Record<string, unknown>;
48
+ actions?: Map<string, ActionDefinition>;
49
+ process?: ProcessAPI;
50
+ clock?: Clock;
51
+ logger?: Logger;
52
+ eventSink?: EventSink;
53
+ maxActiveRuns?: number;
54
+ maxCallDepth?: number;
55
+ maxSubRuns?: number;
56
+ ownerId?: string;
57
+ actionResolver?: (ref: ActionRef | string) => ActionDefinition | undefined | Promise<ActionDefinition | undefined>;
58
+ getStorageForPackage?: (packageId: string, projectRoot?: string) => RuntimeStorage;
59
+ packageContextResolver?: (packageId: string) => Promise<{
60
+ projectRoot?: string;
61
+ projectConfig?: ProjectConfig;
62
+ storage: RuntimeStorage;
63
+ actions?: Map<string, ActionDefinition>;
64
+ } | undefined> | {
65
+ projectRoot?: string;
66
+ projectConfig?: ProjectConfig;
67
+ storage: RuntimeStorage;
68
+ actions?: Map<string, ActionDefinition>;
69
+ } | undefined;
70
+ customHome?: string;
71
+ platform?: RuntimePlatform;
72
+ }
73
+ /**
74
+ * 异步任务执行票据。
75
+ */
76
+ export interface ExecutionTicket {
77
+ /** 运行标识 */
78
+ runId: string;
79
+ /** 当前状态 */
80
+ status: RunStatus;
81
+ /** 任务终态结果 Promise(用于需要异步等待执行结果的场景) */
82
+ result?: Promise<ExecutionResult>;
83
+ }
84
+ /**
85
+ * 取消操作结果枚举。
86
+ */
87
+ export type CancelResult = {
88
+ outcome: "requested";
89
+ runId: string;
90
+ } | {
91
+ outcome: "already_terminal";
92
+ runId: string;
93
+ status: RunStatus;
94
+ } | {
95
+ outcome: "not_found";
96
+ runId: string;
97
+ } | {
98
+ outcome: "not_owner";
99
+ runId: string;
100
+ };
101
+ /**
102
+ * 统一执行协调服务接口。
103
+ */
104
+ export interface ExecutionService {
105
+ /** 底层 Action 执行引擎(用于跨包上下文注入与动态解析委托) */
106
+ readonly runner: ActionRunner;
107
+ /** 同步执行 Action 并等待终态结果 */
108
+ execute(ref: ActionRef | string, input: JsonValue, options?: ExecuteOptions): Promise<ExecutionResult>;
109
+ /** 异步启动 Action 并立即返回任务票据 */
110
+ start(ref: ActionRef | string, input: JsonValue, options?: ExecuteOptions): Promise<ExecutionTicket>;
111
+ /** 根据 ID 获取运行记录 */
112
+ get(runId: string): Promise<RunRecord | undefined>;
113
+ /** 取消指定的在运行任务 */
114
+ cancel(runId: string, reason?: string): Promise<CancelResult>;
115
+ /** 订阅执行事件流 */
116
+ events(runId: string, options?: {
117
+ after?: number | string;
118
+ signal?: AbortSignal;
119
+ maxQueueSize?: number;
120
+ }): AsyncIterable<ExecutionEvent>;
121
+ /** 获取指定运行的活动执行句柄(无活跃执行时返回 undefined) */
122
+ getActiveHandle(runId: string): ExecutionHandle | undefined;
123
+ /** 注册单个 Action 至执行引擎 */
124
+ registerAction(id: string, action: ActionDefinition): void;
125
+ /** 按 ID 检索已注册的 Action 定义 */
126
+ getAction(id: string): ActionDefinition | undefined;
127
+ /** 优雅关闭服务并等待活跃任务收尾 */
128
+ close(options?: {
129
+ graceMs?: number;
130
+ }): Promise<void>;
131
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./templates.js";
@@ -0,0 +1 @@
1
+ export * from "./templates.js";
@@ -0,0 +1,71 @@
1
+ import type { ActionSpec } from "../app/types.js";
2
+ import type { PlaybookDefinition, ProjectConfig } from "../project/types.js";
3
+ export type SkillActionItem = ActionSpec | {
4
+ id: string;
5
+ description?: string;
6
+ inputSchema?: any;
7
+ outputSchema?: any;
8
+ annotations?: any;
9
+ };
10
+ export declare function generateSourceSkillMd(config: ProjectConfig, actions: SkillActionItem[], playbooks: PlaybookDefinition[]): string;
11
+ export declare function generateStandaloneSkillMd(config: ProjectConfig, actions: SkillActionItem[], playbooks: PlaybookDefinition[], binaryRelPath?: string): string;
12
+ export declare function generateSkillMd(config: ProjectConfig, actions: SkillActionItem[], playbooks: PlaybookDefinition[], optionsOrBinaryPath?: string | {
13
+ mode?: "source" | "standalone";
14
+ binaryRelPath?: string;
15
+ }): string;
16
+ export interface CompositeSkillPackageInfo {
17
+ config: ProjectConfig;
18
+ actions: Array<{
19
+ id: string;
20
+ description?: string;
21
+ }>;
22
+ playbooks: Array<{
23
+ id: string;
24
+ name?: string;
25
+ description?: string;
26
+ filePath: string;
27
+ }>;
28
+ packageDir: string;
29
+ }
30
+ /**
31
+ * 复合技能自定义说明书(SKILL.custom.md)的槽位,
32
+ * 决定自定义段落插入到官方模板生成结果中的位置。
33
+ */
34
+ export type CompositeCustomSlot = "intro" | "after-init" | "after-describe" | "after-actions" | "after-playbooks" | "after-invoke" | "append";
35
+ export declare const COMPOSITE_CUSTOM_SLOTS: readonly CompositeCustomSlot[];
36
+ /** 工作区内约定俗成的复合技能自定义说明书文件名。 */
37
+ export declare const COMPOSITE_CUSTOM_DECLARATION_FILE = "SKILL.custom.md";
38
+ export interface CompositeCustomSection {
39
+ slot: CompositeCustomSlot;
40
+ content: string;
41
+ }
42
+ export interface CompositeCustomDeclaration {
43
+ /** 自定义说明书 frontmatter 中声明的 description 覆盖值 */
44
+ description?: string;
45
+ sections: CompositeCustomSection[];
46
+ }
47
+ /**
48
+ * 解析自定义说明书正文:以 `<!-- actiondock:slot <name> -->` 标记行分段。
49
+ * 首个标记之前的内容归入 `append` 槽位;未知槽位名直接抛错,避免拼写错误被静默吞掉。
50
+ */
51
+ export declare function parseCustomSections(source: string): CompositeCustomSection[];
52
+ /**
53
+ * 解析复合技能自定义说明书文件:支持 YAML frontmatter 中的 `description` 覆盖,
54
+ * 正文按槽位标记解析为自定义段落。
55
+ */
56
+ export declare function parseCustomSkillDeclaration(source: string): CompositeCustomDeclaration;
57
+ /**
58
+ * 生成多包聚合的复合模式 SKILL.md 文档。
59
+ */
60
+ export declare function generateCompositeSkillMd(bundleName: string, description: string, packages: CompositeSkillPackageInfo[], options?: {
61
+ customSections?: CompositeCustomSection[];
62
+ /** 规程链接的子包目录前缀:导出布局为 "packages"(默认);就地生成时传 "." 使用工作区实际目录 */
63
+ packagesBaseDir?: string;
64
+ }): string;
65
+ export interface GenerateSkillJsonOptions {
66
+ mode?: "source" | "standalone";
67
+ executable?: string;
68
+ target?: string;
69
+ playbooks?: PlaybookDefinition[];
70
+ }
71
+ export declare function generateSkillJson(config: ProjectConfig, actions: SkillActionItem[], binaryNameOrOptions?: string | GenerateSkillJsonOptions, target?: string, playbooksList?: PlaybookDefinition[]): string;