openpaean 0.4.2 → 0.5.1

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 (71) hide show
  1. package/dist/api/client.d.ts +13 -3
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +131 -24
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/api/gateway-api.d.ts +46 -0
  6. package/dist/api/gateway-api.d.ts.map +1 -0
  7. package/dist/api/gateway-api.js +54 -0
  8. package/dist/api/gateway-api.js.map +1 -0
  9. package/dist/api/worker-api.d.ts +94 -0
  10. package/dist/api/worker-api.d.ts.map +1 -0
  11. package/dist/api/worker-api.js +89 -0
  12. package/dist/api/worker-api.js.map +1 -0
  13. package/dist/cli.js +13 -2
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/agent.d.ts +4 -0
  16. package/dist/commands/agent.d.ts.map +1 -1
  17. package/dist/commands/agent.js +57 -5
  18. package/dist/commands/agent.js.map +1 -1
  19. package/dist/commands/gateway.d.ts +8 -0
  20. package/dist/commands/gateway.d.ts.map +1 -0
  21. package/dist/commands/gateway.js +86 -0
  22. package/dist/commands/gateway.js.map +1 -0
  23. package/dist/commands/worker.d.ts +7 -0
  24. package/dist/commands/worker.d.ts.map +1 -0
  25. package/dist/commands/worker.js +283 -0
  26. package/dist/commands/worker.js.map +1 -0
  27. package/dist/gateway/service.d.ts +94 -0
  28. package/dist/gateway/service.d.ts.map +1 -0
  29. package/dist/gateway/service.js +338 -0
  30. package/dist/gateway/service.js.map +1 -0
  31. package/dist/index.d.ts +5 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +7 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/client.d.ts +1 -0
  36. package/dist/mcp/client.d.ts.map +1 -1
  37. package/dist/mcp/client.js +15 -1
  38. package/dist/mcp/client.js.map +1 -1
  39. package/dist/utils/config.d.ts +14 -0
  40. package/dist/utils/config.d.ts.map +1 -1
  41. package/dist/utils/config.js +25 -0
  42. package/dist/utils/config.js.map +1 -1
  43. package/dist/utils/output.d.ts +4 -0
  44. package/dist/utils/output.d.ts.map +1 -1
  45. package/dist/utils/output.js +17 -0
  46. package/dist/utils/output.js.map +1 -1
  47. package/dist/worker/executors/articulate.d.ts +19 -0
  48. package/dist/worker/executors/articulate.d.ts.map +1 -0
  49. package/dist/worker/executors/articulate.js +147 -0
  50. package/dist/worker/executors/articulate.js.map +1 -0
  51. package/dist/worker/executors/claude.d.ts +17 -0
  52. package/dist/worker/executors/claude.d.ts.map +1 -0
  53. package/dist/worker/executors/claude.js +102 -0
  54. package/dist/worker/executors/claude.js.map +1 -0
  55. package/dist/worker/executors/index.d.ts +26 -0
  56. package/dist/worker/executors/index.d.ts.map +1 -0
  57. package/dist/worker/executors/index.js +81 -0
  58. package/dist/worker/executors/index.js.map +1 -0
  59. package/dist/worker/index.d.ts +9 -0
  60. package/dist/worker/index.d.ts.map +1 -0
  61. package/dist/worker/index.js +9 -0
  62. package/dist/worker/index.js.map +1 -0
  63. package/dist/worker/service.d.ts +48 -0
  64. package/dist/worker/service.d.ts.map +1 -0
  65. package/dist/worker/service.js +559 -0
  66. package/dist/worker/service.js.map +1 -0
  67. package/dist/worker/types.d.ts +134 -0
  68. package/dist/worker/types.d.ts.map +1 -0
  69. package/dist/worker/types.js +70 -0
  70. package/dist/worker/types.js.map +1 -0
  71. package/package.json +8 -3
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Executor Framework
3
+ * Base interface and registry for multi-agent executors
4
+ */
5
+ export class ExecutorRegistry {
6
+ executors = new Map();
7
+ configs = new Map();
8
+ register(executor, config) {
9
+ this.executors.set(executor.type, executor);
10
+ if (config) {
11
+ this.configs.set(executor.type, config);
12
+ }
13
+ }
14
+ get(type) {
15
+ return this.executors.get(type);
16
+ }
17
+ getConfig(type) {
18
+ return this.configs.get(type);
19
+ }
20
+ isEnabled(type) {
21
+ const config = this.configs.get(type);
22
+ return config?.enabled !== false;
23
+ }
24
+ async getAvailable() {
25
+ const available = [];
26
+ for (const [type, executor] of this.executors) {
27
+ if (!this.isEnabled(type))
28
+ continue;
29
+ try {
30
+ if (await executor.isAvailable()) {
31
+ available.push(type);
32
+ }
33
+ }
34
+ catch {
35
+ // Not available
36
+ }
37
+ }
38
+ return available;
39
+ }
40
+ getRegistered() {
41
+ return Array.from(this.executors.keys());
42
+ }
43
+ async execute(type, prompt, options) {
44
+ const executor = this.executors.get(type);
45
+ if (!executor) {
46
+ return {
47
+ success: false,
48
+ output: '',
49
+ error: `Executor '${type}' not registered`,
50
+ durationMs: 0,
51
+ };
52
+ }
53
+ const available = await executor.isAvailable();
54
+ if (!available) {
55
+ return {
56
+ success: false,
57
+ output: '',
58
+ error: `Executor '${type}' is not available on this system`,
59
+ durationMs: 0,
60
+ };
61
+ }
62
+ const config = this.configs.get(type);
63
+ const mergedOptions = {
64
+ timeout: config?.timeout,
65
+ args: config?.defaultArgs,
66
+ ...options,
67
+ };
68
+ return executor.execute(prompt, mergedOptions);
69
+ }
70
+ }
71
+ let registryInstance = null;
72
+ export function getExecutorRegistry() {
73
+ if (!registryInstance) {
74
+ registryInstance = new ExecutorRegistry();
75
+ }
76
+ return registryInstance;
77
+ }
78
+ export function resetExecutorRegistry() {
79
+ registryInstance = null;
80
+ }
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/worker/executors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Worker Module Exports
3
+ */
4
+ export { WorkerService, getWorker, resetWorker } from './service.js';
5
+ export { type WorkerConfig, type WorkerState, type TaskContext, type TaskResult, type WorkerEvent, type WorkerEventHandler, type WorkerStatus, DEFAULT_WORKER_CONFIG, buildTaskPrompt, type ExecutorType, type ExecutorConfig, type ExecutorOptions, type ExecutorResult, type AvailabilityStatus, type AvailabilityAuthStatus, DEFAULT_EXECUTOR_CONFIG, } from './types.js';
6
+ export { type AgentExecutor, ExecutorRegistry, getExecutorRegistry, resetExecutorRegistry, } from './executors/index.js';
7
+ export { ArticulateExecutor } from './executors/articulate.js';
8
+ export { ClaudeExecutor } from './executors/claude.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,uBAAuB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,KAAK,aAAa,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Worker Module Exports
3
+ */
4
+ export { WorkerService, getWorker, resetWorker } from './service.js';
5
+ export { DEFAULT_WORKER_CONFIG, buildTaskPrompt, DEFAULT_EXECUTOR_CONFIG, } from './types.js';
6
+ export { ExecutorRegistry, getExecutorRegistry, resetExecutorRegistry, } from './executors/index.js';
7
+ export { ArticulateExecutor } from './executors/articulate.js';
8
+ export { ClaudeExecutor } from './executors/claude.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAQH,qBAAqB,EACrB,eAAe,EAOf,uBAAuB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAEH,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Worker Service
3
+ * Core service for the OpenPaean Local Autonomous Worker.
4
+ * Manages task polling, execution, and lifecycle.
5
+ */
6
+ import { EventEmitter } from 'events';
7
+ import { type WorkerConfig, type WorkerState, type WorkerEventHandler } from './types.js';
8
+ export declare class WorkerService extends EventEmitter {
9
+ private config;
10
+ private state;
11
+ private pollTimer;
12
+ private heartbeatTimer;
13
+ private abortController;
14
+ private mcpState;
15
+ private onMcpToolCall;
16
+ private mcpClient;
17
+ private sessionId?;
18
+ private deviceName;
19
+ private capabilities;
20
+ private externalMcp;
21
+ private idleCheckFn?;
22
+ constructor(config?: Partial<WorkerConfig>);
23
+ setMcpState(mcpState: unknown, onMcpToolCall: unknown, mcpClient: unknown): void;
24
+ setIdleCheck(fn: () => boolean): void;
25
+ setSessionId(sessionId: string): void;
26
+ getSessionId(): string | undefined;
27
+ start(): Promise<void>;
28
+ private startHeartbeat;
29
+ private sendHeartbeatUpdate;
30
+ stop(): Promise<void>;
31
+ pause(): void;
32
+ resume(): void;
33
+ getState(): WorkerState;
34
+ onEvent(handler: WorkerEventHandler): void;
35
+ private pollAndExecute;
36
+ private fetchNextTask;
37
+ private executeTask;
38
+ private reportTaskCompletion;
39
+ private verifyTask;
40
+ private sleep;
41
+ private log;
42
+ private isUnrecoverableError;
43
+ private getBackoffDelay;
44
+ requestConfirmation(taskId: string, message: string, timeoutMs?: number): Promise<boolean>;
45
+ }
46
+ export declare function getWorker(config?: Partial<WorkerConfig>): WorkerService;
47
+ export declare function resetWorker(): void;
48
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/worker/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAmBtC,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,WAAW,EAIhB,KAAK,kBAAkB,EAG1B,MAAM,YAAY,CAAC;AAIpB,qBAAa,aAAc,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAW;IAE/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAgB;gBAExB,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAY9C,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAOhF,YAAY,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI;IAIrC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC,YAAY,IAAI,MAAM,GAAG,SAAS;IAI5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD5B,OAAO,CAAC,cAAc;YAOR,mBAAmB;IAoB3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD3B,KAAK,IAAI,IAAI;IAOb,MAAM,IAAI,IAAI;IAOd,QAAQ,IAAI,WAAW;IAIvB,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;YAI5B,cAAc;YA0Hd,aAAa;YA2Bb,WAAW;YA+IX,oBAAoB;YAkBpB,UAAU;IAexB,OAAO,CAAC,KAAK;IAkBb,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,eAAe;IAMV,mBAAmB,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAsB,GAClC,OAAO,CAAC,OAAO,CAAC;CA8BtB;AAID,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,aAAa,CAKvE;AAED,wBAAgB,WAAW,IAAI,IAAI,CAKlC"}