@actiondock/core 2.0.12 → 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 (192) 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 +1 -1
  9. package/dist/catalog/action-index.js +93 -0
  10. package/dist/catalog/action-resolver.d.ts +2 -2
  11. package/dist/catalog/action-resolver.js +95 -0
  12. package/dist/catalog/index.d.ts +5 -5
  13. package/dist/catalog/index.js +5 -0
  14. package/dist/catalog/location-registry.d.ts +5 -5
  15. package/dist/catalog/location-registry.js +138 -0
  16. package/dist/catalog/package-catalog.d.ts +2 -2
  17. package/dist/catalog/package-catalog.js +76 -0
  18. package/dist/catalog/types.d.ts +2 -2
  19. package/dist/catalog/types.js +1 -0
  20. package/dist/doctor/doctor.d.ts +2 -1
  21. package/dist/doctor/doctor.js +613 -0
  22. package/dist/doctor/index.d.ts +2 -2
  23. package/dist/doctor/index.js +2 -0
  24. package/dist/doctor/types.js +1 -0
  25. package/dist/errors.d.ts +122 -0
  26. package/dist/errors.js +123 -0
  27. package/dist/execution/index.d.ts +2 -2
  28. package/dist/execution/index.js +2 -0
  29. package/dist/execution/service.d.ts +46 -41
  30. package/dist/execution/service.js +633 -0
  31. package/dist/execution/types.d.ts +59 -2
  32. package/dist/execution/types.js +1 -0
  33. package/dist/export/index.d.ts +1 -1
  34. package/dist/export/index.js +1 -0
  35. package/dist/export/templates.d.ts +45 -7
  36. package/dist/export/templates.js +621 -0
  37. package/dist/filter/index.d.ts +1 -1
  38. package/dist/filter/index.js +1 -0
  39. package/dist/filter/intent.js +123 -0
  40. package/dist/host/host.d.ts +55 -0
  41. package/dist/host/host.js +740 -0
  42. package/dist/host/index.d.ts +2 -0
  43. package/dist/host/index.js +2 -0
  44. package/dist/host/types.d.ts +81 -0
  45. package/dist/host/types.js +1 -0
  46. package/dist/index.d.ts +21 -16
  47. package/dist/index.js +20 -8458
  48. package/dist/ipc/diagnostic.d.ts +65 -0
  49. package/dist/ipc/diagnostic.js +129 -0
  50. package/dist/ipc/host.d.ts +7 -0
  51. package/dist/ipc/host.js +93 -0
  52. package/dist/ipc/index.d.ts +4 -0
  53. package/dist/ipc/index.js +4 -0
  54. package/dist/ipc/target.d.ts +56 -0
  55. package/dist/ipc/target.js +297 -0
  56. package/dist/ipc/types.d.ts +42 -0
  57. package/dist/ipc/types.js +1 -0
  58. package/dist/platform/default.d.ts +32 -0
  59. package/dist/platform/default.js +40 -0
  60. package/dist/platform/index.d.ts +3 -0
  61. package/dist/platform/index.js +3 -0
  62. package/dist/platform/node-fs.d.ts +37 -0
  63. package/dist/platform/node-fs.js +81 -0
  64. package/dist/platform/types.d.ts +104 -0
  65. package/dist/platform/types.js +1 -0
  66. package/dist/profile/client.d.ts +58 -12
  67. package/dist/profile/client.js +467 -0
  68. package/dist/profile/index.d.ts +3 -3
  69. package/dist/profile/index.js +3 -0
  70. package/dist/profile/manager.d.ts +2 -2
  71. package/dist/profile/manager.js +294 -0
  72. package/dist/profile/types.d.ts +1 -1
  73. package/dist/profile/types.js +1 -0
  74. package/dist/project/closure.js +68 -0
  75. package/dist/project/digest.d.ts +29 -0
  76. package/dist/project/digest.js +324 -0
  77. package/dist/project/index.d.ts +10 -5
  78. package/dist/project/index.js +10 -0
  79. package/dist/project/init.d.ts +3 -4
  80. package/dist/project/init.js +175 -0
  81. package/dist/project/loader.d.ts +21 -27
  82. package/dist/project/loader.js +484 -0
  83. package/dist/project/lockfile.d.ts +55 -0
  84. package/dist/project/lockfile.js +175 -0
  85. package/dist/project/manifest.d.ts +6 -28
  86. package/dist/project/manifest.js +220 -0
  87. package/dist/project/resolver.d.ts +116 -0
  88. package/dist/project/resolver.js +376 -0
  89. package/dist/project/transactions.d.ts +103 -0
  90. package/dist/project/transactions.js +1203 -0
  91. package/dist/project/types-generator.d.ts +33 -0
  92. package/dist/project/types-generator.js +168 -0
  93. package/dist/project/types.d.ts +58 -82
  94. package/dist/project/types.js +1 -0
  95. package/dist/registry/index.d.ts +5 -2
  96. package/dist/registry/index.js +5 -0
  97. package/dist/registry/lock.d.ts +27 -0
  98. package/dist/registry/lock.js +93 -0
  99. package/dist/registry/registry.d.ts +32 -11
  100. package/dist/registry/registry.js +611 -0
  101. package/dist/registry/resolve.d.ts +62 -0
  102. package/dist/registry/resolve.js +195 -0
  103. package/dist/registry/scan.d.ts +38 -0
  104. package/dist/registry/scan.js +135 -0
  105. package/dist/registry/types.d.ts +1 -1
  106. package/dist/registry/types.js +1 -0
  107. package/dist/runtime/action-collection.d.ts +27 -0
  108. package/dist/runtime/action-collection.js +57 -0
  109. package/dist/runtime/clock.d.ts +0 -2
  110. package/dist/runtime/clock.js +17 -0
  111. package/dist/runtime/context.d.ts +16 -5
  112. package/dist/runtime/context.js +242 -0
  113. package/dist/runtime/env.d.ts +3 -1
  114. package/dist/runtime/env.js +159 -0
  115. package/dist/runtime/events.d.ts +46 -14
  116. package/dist/runtime/events.js +604 -0
  117. package/dist/runtime/execution-manager.d.ts +1 -1
  118. package/dist/runtime/execution-manager.js +66 -0
  119. package/dist/runtime/index.d.ts +10 -9
  120. package/dist/runtime/index.js +10 -0
  121. package/dist/runtime/module-loader.d.ts +0 -8
  122. package/dist/runtime/module-loader.js +16 -0
  123. package/dist/runtime/process.d.ts +2 -4
  124. package/dist/runtime/process.js +146 -0
  125. package/dist/runtime/runner.d.ts +117 -10
  126. package/dist/runtime/runner.js +984 -0
  127. package/dist/runtime/standalone.d.ts +68 -19
  128. package/dist/runtime/standalone.js +536 -0
  129. package/dist/schema/validator.js +116 -0
  130. package/dist/server/body.js +93 -0
  131. package/dist/server/index.d.ts +5 -6
  132. package/dist/server/index.js +5 -0
  133. package/dist/server/routes/actions.d.ts +2 -2
  134. package/dist/server/routes/actions.js +298 -0
  135. package/dist/server/routes/common.d.ts +28 -17
  136. package/dist/server/routes/common.js +104 -0
  137. package/dist/server/routes/config.d.ts +2 -1
  138. package/dist/server/routes/config.js +173 -0
  139. package/dist/server/routes/doctor.d.ts +2 -2
  140. package/dist/server/routes/doctor.js +63 -0
  141. package/dist/server/routes/health.d.ts +2 -2
  142. package/dist/server/routes/health.js +35 -0
  143. package/dist/server/routes/index.d.ts +9 -9
  144. package/dist/server/routes/index.js +9 -0
  145. package/dist/server/routes/info.d.ts +4 -2
  146. package/dist/server/routes/info.js +158 -0
  147. package/dist/server/routes/playbooks.d.ts +2 -2
  148. package/dist/server/routes/playbooks.js +134 -0
  149. package/dist/server/routes/runs.d.ts +2 -2
  150. package/dist/server/routes/runs.js +343 -0
  151. package/dist/server/routes/state.d.ts +2 -1
  152. package/dist/server/routes/state.js +169 -0
  153. package/dist/server/security.d.ts +11 -4
  154. package/dist/server/security.js +101 -0
  155. package/dist/server/server.d.ts +6 -6
  156. package/dist/server/server.js +355 -0
  157. package/dist/server/types.d.ts +27 -8
  158. package/dist/server/types.js +1 -0
  159. package/dist/storage/data-dir-lock.d.ts +119 -0
  160. package/dist/storage/data-dir-lock.js +1016 -0
  161. package/dist/storage/driver.d.ts +4 -10
  162. package/dist/storage/driver.js +59 -0
  163. package/dist/storage/index.d.ts +30 -10
  164. package/dist/storage/index.js +98 -0
  165. package/dist/storage/lazy.d.ts +8 -0
  166. package/dist/storage/lazy.js +44 -0
  167. package/dist/storage/mask.d.ts +12 -5
  168. package/dist/storage/mask.js +48 -0
  169. package/dist/storage/params.d.ts +13 -0
  170. package/dist/storage/params.js +32 -0
  171. package/dist/storage/sqlite.d.ts +19 -6
  172. package/dist/storage/sqlite.js +689 -0
  173. package/dist/storage/types.d.ts +57 -6
  174. package/dist/storage/types.js +14 -0
  175. package/dist/target/index.d.ts +4 -0
  176. package/dist/target/index.js +4 -0
  177. package/dist/target/local.d.ts +52 -0
  178. package/dist/target/local.js +343 -0
  179. package/dist/target/remote.d.ts +76 -0
  180. package/dist/target/remote.js +839 -0
  181. package/dist/target/target.d.ts +6 -0
  182. package/dist/target/target.js +35 -0
  183. package/dist/target/types.d.ts +246 -0
  184. package/dist/target/types.js +34 -0
  185. package/dist/utils/index.d.ts +22 -2
  186. package/dist/utils/index.js +180 -0
  187. package/dist/version.d.ts +1 -1
  188. package/dist/version.js +4 -0
  189. package/package.json +6 -7
  190. package/dist/build/index.d.ts +0 -1
  191. package/dist/build/templates.d.ts +0 -19
  192. package/dist/server/runtime-registry.d.ts +0 -78
@@ -1,4 +1,10 @@
1
- import type { ActionRef, ExecutionEvent, ExecutionResult, JsonValue, Logger, ProcessAPI, ProgressReporter, RunRecord, RunStatus } from "@actiondock/sdk";
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";
2
8
  /**
3
9
  * 执行参数选项。
4
10
  */
@@ -9,6 +15,8 @@ export interface ExecuteOptions {
9
15
  timeoutMs?: number;
10
16
  /** 配置临时覆盖字典 */
11
17
  config?: Record<string, JsonValue>;
18
+ /** 幂等请求去重标识 */
19
+ requestId?: string;
12
20
  /** 父运行 ID */
13
21
  parentRunId?: string;
14
22
  /** 根运行 ID */
@@ -21,6 +29,46 @@ export interface ExecuteOptions {
21
29
  progress?: ProgressReporter;
22
30
  /** 外部进程执行器注入 */
23
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;
24
72
  }
25
73
  /**
26
74
  * 异步任务执行票据。
@@ -54,6 +102,8 @@ export type CancelResult = {
54
102
  * 统一执行协调服务接口。
55
103
  */
56
104
  export interface ExecutionService {
105
+ /** 底层 Action 执行引擎(用于跨包上下文注入与动态解析委托) */
106
+ readonly runner: ActionRunner;
57
107
  /** 同步执行 Action 并等待终态结果 */
58
108
  execute(ref: ActionRef | string, input: JsonValue, options?: ExecuteOptions): Promise<ExecutionResult>;
59
109
  /** 异步启动 Action 并立即返回任务票据 */
@@ -64,9 +114,16 @@ export interface ExecutionService {
64
114
  cancel(runId: string, reason?: string): Promise<CancelResult>;
65
115
  /** 订阅执行事件流 */
66
116
  events(runId: string, options?: {
67
- after?: number;
117
+ after?: number | string;
68
118
  signal?: AbortSignal;
119
+ maxQueueSize?: number;
69
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;
70
127
  /** 优雅关闭服务并等待活跃任务收尾 */
71
128
  close(options?: {
72
129
  graceMs?: number;
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- export * from "./templates";
1
+ export * from "./templates.js";
@@ -0,0 +1 @@
1
+ export * from "./templates.js";
@@ -1,8 +1,15 @@
1
- import type { ActionDefinition } from "@actiondock/sdk";
2
- import type { PlaybookDefinition, ProjectConfig } from "../project/types";
3
- export declare function generateSourceSkillMd(config: ProjectConfig, actions: ActionDefinition[], playbooks: PlaybookDefinition[]): string;
4
- export declare function generateStandaloneSkillMd(config: ProjectConfig, actions: ActionDefinition[], playbooks: PlaybookDefinition[], binaryRelPath?: string): string;
5
- export declare function generateSkillMd(config: ProjectConfig, actions: ActionDefinition[], playbooks: PlaybookDefinition[], optionsOrBinaryPath?: string | {
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 | {
6
13
  mode?: "source" | "standalone";
7
14
  binaryRelPath?: string;
8
15
  }): string;
@@ -20,14 +27,45 @@ export interface CompositeSkillPackageInfo {
20
27
  }>;
21
28
  packageDir: string;
22
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;
23
57
  /**
24
58
  * 生成多包聚合的复合模式 SKILL.md 文档。
25
59
  */
26
- export declare function generateCompositeSkillMd(bundleName: string, description: string, packages: CompositeSkillPackageInfo[]): string;
60
+ export declare function generateCompositeSkillMd(bundleName: string, description: string, packages: CompositeSkillPackageInfo[], options?: {
61
+ customSections?: CompositeCustomSection[];
62
+ /** 规程链接的子包目录前缀:导出布局为 "packages"(默认);就地生成时传 "." 使用工作区实际目录 */
63
+ packagesBaseDir?: string;
64
+ }): string;
27
65
  export interface GenerateSkillJsonOptions {
28
66
  mode?: "source" | "standalone";
29
67
  executable?: string;
30
68
  target?: string;
31
69
  playbooks?: PlaybookDefinition[];
32
70
  }
33
- export declare function generateSkillJson(config: ProjectConfig, actions: ActionDefinition[], binaryNameOrOptions?: string | GenerateSkillJsonOptions, target?: string, playbooksList?: PlaybookDefinition[]): string;
71
+ export declare function generateSkillJson(config: ProjectConfig, actions: SkillActionItem[], binaryNameOrOptions?: string | GenerateSkillJsonOptions, target?: string, playbooksList?: PlaybookDefinition[]): string;