@dofe/infra-clients 0.1.38 → 0.1.40

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 (109) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/internal/mlflow/mlflow.client.d.ts +44 -0
  6. package/dist/internal/mlflow/mlflow.client.d.ts.map +1 -0
  7. package/dist/internal/mlflow/mlflow.client.js +184 -0
  8. package/dist/internal/mlflow/mlflow.client.js.map +1 -0
  9. package/dist/internal/mlflow/mlflow.module.d.ts +3 -0
  10. package/dist/internal/mlflow/mlflow.module.d.ts.map +1 -0
  11. package/dist/internal/mlflow/mlflow.module.js +23 -0
  12. package/dist/internal/mlflow/mlflow.module.js.map +1 -0
  13. package/dist/internal/model-research-proxy/anthropic-proxy-research.client.d.ts +52 -0
  14. package/dist/internal/model-research-proxy/anthropic-proxy-research.client.d.ts.map +1 -0
  15. package/dist/internal/model-research-proxy/anthropic-proxy-research.client.js +174 -0
  16. package/dist/internal/model-research-proxy/anthropic-proxy-research.client.js.map +1 -0
  17. package/dist/internal/model-research-proxy/anthropic-proxy-research.module.d.ts +3 -0
  18. package/dist/internal/model-research-proxy/anthropic-proxy-research.module.d.ts.map +1 -0
  19. package/dist/internal/model-research-proxy/anthropic-proxy-research.module.js +30 -0
  20. package/dist/internal/model-research-proxy/anthropic-proxy-research.module.js.map +1 -0
  21. package/dist/internal/model-research-proxy/index.d.ts +6 -0
  22. package/dist/internal/model-research-proxy/index.d.ts.map +1 -0
  23. package/dist/internal/model-research-proxy/index.js +24 -0
  24. package/dist/internal/model-research-proxy/index.js.map +1 -0
  25. package/dist/internal/model-verify/index.d.ts +4 -0
  26. package/dist/internal/model-verify/index.d.ts.map +1 -0
  27. package/dist/internal/model-verify/index.js +26 -0
  28. package/dist/internal/model-verify/index.js.map +1 -0
  29. package/dist/internal/model-verify/model-verify.client.d.ts +77 -0
  30. package/dist/internal/model-verify/model-verify.client.d.ts.map +1 -0
  31. package/dist/internal/model-verify/model-verify.client.js +324 -0
  32. package/dist/internal/model-verify/model-verify.client.js.map +1 -0
  33. package/dist/internal/openclaw/docker-exec.service.d.ts +132 -0
  34. package/dist/internal/openclaw/docker-exec.service.d.ts.map +1 -0
  35. package/dist/internal/openclaw/docker-exec.service.js +544 -0
  36. package/dist/internal/openclaw/docker-exec.service.js.map +1 -0
  37. package/dist/internal/openclaw/index.d.ts +14 -0
  38. package/dist/internal/openclaw/index.d.ts.map +1 -0
  39. package/dist/internal/openclaw/index.js +32 -0
  40. package/dist/internal/openclaw/index.js.map +1 -0
  41. package/dist/internal/openclaw/openclaw-agent-coordination.client.d.ts +73 -0
  42. package/dist/internal/openclaw/openclaw-agent-coordination.client.d.ts.map +1 -0
  43. package/dist/internal/openclaw/openclaw-agent-coordination.client.js +249 -0
  44. package/dist/internal/openclaw/openclaw-agent-coordination.client.js.map +1 -0
  45. package/dist/internal/openclaw/openclaw-context-status.client.d.ts +66 -0
  46. package/dist/internal/openclaw/openclaw-context-status.client.d.ts.map +1 -0
  47. package/dist/internal/openclaw/openclaw-context-status.client.js +164 -0
  48. package/dist/internal/openclaw/openclaw-context-status.client.js.map +1 -0
  49. package/dist/internal/openclaw/openclaw-cron.client.d.ts +61 -0
  50. package/dist/internal/openclaw/openclaw-cron.client.d.ts.map +1 -0
  51. package/dist/internal/openclaw/openclaw-cron.client.js +416 -0
  52. package/dist/internal/openclaw/openclaw-cron.client.js.map +1 -0
  53. package/dist/internal/openclaw/openclaw-gateway.client.d.ts +41 -0
  54. package/dist/internal/openclaw/openclaw-gateway.client.d.ts.map +1 -0
  55. package/dist/internal/openclaw/openclaw-gateway.client.js +175 -0
  56. package/dist/internal/openclaw/openclaw-gateway.client.js.map +1 -0
  57. package/dist/internal/openclaw/openclaw-skill-sync.client.d.ts +222 -0
  58. package/dist/internal/openclaw/openclaw-skill-sync.client.d.ts.map +1 -0
  59. package/dist/internal/openclaw/openclaw-skill-sync.client.js +720 -0
  60. package/dist/internal/openclaw/openclaw-skill-sync.client.js.map +1 -0
  61. package/dist/internal/openclaw/openclaw.client.d.ts +602 -0
  62. package/dist/internal/openclaw/openclaw.client.d.ts.map +1 -0
  63. package/dist/internal/openclaw/openclaw.client.js +3062 -0
  64. package/dist/internal/openclaw/openclaw.client.js.map +1 -0
  65. package/dist/internal/openclaw/openclaw.module.d.ts +3 -0
  66. package/dist/internal/openclaw/openclaw.module.d.ts.map +1 -0
  67. package/dist/internal/openclaw/openclaw.module.js +62 -0
  68. package/dist/internal/openclaw/openclaw.module.js.map +1 -0
  69. package/dist/internal/openclaw/skill-translation.service.d.ts +39 -0
  70. package/dist/internal/openclaw/skill-translation.service.d.ts.map +1 -0
  71. package/dist/internal/openclaw/skill-translation.service.js +217 -0
  72. package/dist/internal/openclaw/skill-translation.service.js.map +1 -0
  73. package/dist/internal/openclaw/types/cron.types.d.ts +112 -0
  74. package/dist/internal/openclaw/types/cron.types.d.ts.map +1 -0
  75. package/dist/internal/openclaw/types/cron.types.js +9 -0
  76. package/dist/internal/openclaw/types/cron.types.js.map +1 -0
  77. package/dist/internal/provider-verify/index.d.ts +6 -0
  78. package/dist/internal/provider-verify/index.d.ts.map +1 -0
  79. package/dist/internal/provider-verify/index.js +24 -0
  80. package/dist/internal/provider-verify/index.js.map +1 -0
  81. package/dist/internal/provider-verify/provider-verify.client.d.ts +55 -0
  82. package/dist/internal/provider-verify/provider-verify.client.d.ts.map +1 -0
  83. package/dist/internal/provider-verify/provider-verify.client.js +284 -0
  84. package/dist/internal/provider-verify/provider-verify.client.js.map +1 -0
  85. package/dist/internal/provider-verify/provider-verify.module.d.ts +3 -0
  86. package/dist/internal/provider-verify/provider-verify.module.d.ts.map +1 -0
  87. package/dist/internal/provider-verify/provider-verify.module.js +28 -0
  88. package/dist/internal/provider-verify/provider-verify.module.js.map +1 -0
  89. package/dist/internal/sso/index.d.ts +5 -0
  90. package/dist/internal/sso/index.d.ts.map +1 -0
  91. package/dist/internal/sso/index.js +12 -0
  92. package/dist/internal/sso/index.js.map +1 -0
  93. package/dist/internal/sso/sso-auth.client.d.ts +33 -0
  94. package/dist/internal/sso/sso-auth.client.d.ts.map +1 -0
  95. package/dist/internal/sso/sso-auth.client.js +89 -0
  96. package/dist/internal/sso/sso-auth.client.js.map +1 -0
  97. package/dist/internal/sso/sso-message-proxy.service.d.ts +11 -0
  98. package/dist/internal/sso/sso-message-proxy.service.d.ts.map +1 -0
  99. package/dist/internal/sso/sso-message-proxy.service.js +51 -0
  100. package/dist/internal/sso/sso-message-proxy.service.js.map +1 -0
  101. package/dist/internal/sso/sso-message.client.d.ts +12 -0
  102. package/dist/internal/sso/sso-message.client.d.ts.map +1 -0
  103. package/dist/internal/sso/sso-message.client.js +62 -0
  104. package/dist/internal/sso/sso-message.client.js.map +1 -0
  105. package/dist/internal/sso/sso.module.d.ts +3 -0
  106. package/dist/internal/sso/sso.module.d.ts.map +1 -0
  107. package/dist/internal/sso/sso.module.js +26 -0
  108. package/dist/internal/sso/sso.module.js.map +1 -0
  109. package/package.json +110 -6
@@ -0,0 +1,73 @@
1
+ import { Logger } from 'winston';
2
+ import { DockerExecService } from './docker-exec.service';
3
+ export interface OpenClawAgentSendParams {
4
+ message: string;
5
+ to?: string;
6
+ sessionId?: string;
7
+ agentKey?: string;
8
+ local?: boolean;
9
+ thinking?: boolean;
10
+ verbose?: boolean;
11
+ timeoutSeconds?: number;
12
+ json?: boolean;
13
+ deliver?: boolean;
14
+ channel?: string;
15
+ replyTo?: string;
16
+ replyChannel?: string;
17
+ replyAccount?: string;
18
+ }
19
+ export interface OpenClawAgentSendResult {
20
+ runId?: string;
21
+ sessionKey?: string;
22
+ replyText: string;
23
+ mediaUrls?: string[];
24
+ raw?: unknown;
25
+ }
26
+ export interface OpenClawSubagentItem {
27
+ id: string;
28
+ parentId?: string;
29
+ status: 'running' | 'completed' | 'failed' | 'timeout' | 'cancelled';
30
+ task?: string;
31
+ createdAt?: string;
32
+ completedAt?: string;
33
+ durationMs?: number;
34
+ tokens?: number;
35
+ cost?: number;
36
+ error?: string;
37
+ }
38
+ export interface OpenClawSubagentSpawnParams {
39
+ task: string;
40
+ mode?: 'run' | 'session';
41
+ timeoutSeconds?: number;
42
+ }
43
+ /**
44
+ * OpenClaw Agent Coordination Client
45
+ *
46
+ * 职责:封装 OpenClaw `agent` / `subagents` CLI 调用
47
+ * - 仅负责外部调用与结果解析
48
+ * - 不包含业务权限校验
49
+ */
50
+ export declare class OpenClawAgentCoordinationClient {
51
+ private readonly dockerExec;
52
+ private readonly logger;
53
+ private readonly CLI_TIMEOUT_MS;
54
+ constructor(dockerExec: DockerExecService, logger: Logger);
55
+ agentSend(containerId: string, params: OpenClawAgentSendParams): Promise<OpenClawAgentSendResult>;
56
+ listSubagents(containerId: string): Promise<OpenClawSubagentItem[]>;
57
+ spawnSubagent(containerId: string, params: OpenClawSubagentSpawnParams): Promise<{
58
+ subagentId: string;
59
+ status: OpenClawSubagentItem['status'];
60
+ }>;
61
+ getSubagentInfo(containerId: string, subagentId: string): Promise<OpenClawSubagentItem & {
62
+ outputSummary?: string;
63
+ logs?: string;
64
+ }>;
65
+ killSubagent(containerId: string, subagentId: string): Promise<void>;
66
+ private buildAgentSendCommand;
67
+ private buildSubagentSpawnCommand;
68
+ private parseAgentSendOutput;
69
+ private parseJsonFromOutput;
70
+ private normalizeSubagentItem;
71
+ private normalizeSubagentStatus;
72
+ }
73
+ //# sourceMappingURL=openclaw-agent-coordination.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-agent-coordination.client.d.ts","sourceRoot":"","sources":["../../../../../packages/clients/src/internal/openclaw/openclaw-agent-coordination.client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,qBACa,+BAA+B;IAIxC,OAAO,CAAC,QAAQ,CAAC,UAAU;IACM,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGrB,UAAU,EAAE,iBAAiB,EACI,MAAM,EAAE,MAAM;IAG5D,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAmB7B,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAuBnE,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;IAgCpE,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCtE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1E,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,qBAAqB;IAqC7B,OAAO,CAAC,uBAAuB;CAgBhC"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OpenClawAgentCoordinationClient = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const nest_winston_1 = require("nest-winston");
18
+ const winston_1 = require("winston");
19
+ const docker_exec_service_1 = require("./docker-exec.service");
20
+ /**
21
+ * OpenClaw Agent Coordination Client
22
+ *
23
+ * 职责:封装 OpenClaw `agent` / `subagents` CLI 调用
24
+ * - 仅负责外部调用与结果解析
25
+ * - 不包含业务权限校验
26
+ */
27
+ let OpenClawAgentCoordinationClient = class OpenClawAgentCoordinationClient {
28
+ dockerExec;
29
+ logger;
30
+ CLI_TIMEOUT_MS = 30000;
31
+ constructor(dockerExec, logger) {
32
+ this.dockerExec = dockerExec;
33
+ this.logger = logger;
34
+ }
35
+ async agentSend(containerId, params) {
36
+ const command = this.buildAgentSendCommand(params);
37
+ this.logger.debug('[OpenClawAgentCoordinationClient] agent send', {
38
+ containerId,
39
+ command: command.join(' '),
40
+ });
41
+ const result = await this.dockerExec.executeCommand(containerId, command, {
42
+ timeout: this.CLI_TIMEOUT_MS,
43
+ });
44
+ if (!result.success) {
45
+ throw new Error(result.stderr || 'agent send failed');
46
+ }
47
+ return this.parseAgentSendOutput(result.stdout, params.json === true);
48
+ }
49
+ async listSubagents(containerId) {
50
+ const result = await this.dockerExec.executeCommand(containerId, ['openclaw', 'subagents', 'list', '--json'], { timeout: this.CLI_TIMEOUT_MS });
51
+ if (!result.success) {
52
+ throw new Error(result.stderr || 'list subagents failed');
53
+ }
54
+ if (!result.stdout.trim()) {
55
+ return [];
56
+ }
57
+ const parsed = this.parseJsonFromOutput(result.stdout);
58
+ if (!Array.isArray(parsed)) {
59
+ return [];
60
+ }
61
+ return parsed.map((item) => this.normalizeSubagentItem(item));
62
+ }
63
+ async spawnSubagent(containerId, params) {
64
+ const command = this.buildSubagentSpawnCommand(params);
65
+ const result = await this.dockerExec.executeCommand(containerId, command, {
66
+ timeout: this.CLI_TIMEOUT_MS,
67
+ });
68
+ if (!result.success) {
69
+ throw new Error(result.stderr || 'spawn subagent failed');
70
+ }
71
+ if (!result.stdout.trim()) {
72
+ return {
73
+ subagentId: '',
74
+ status: 'running',
75
+ };
76
+ }
77
+ const parsed = this.parseJsonFromOutput(result.stdout);
78
+ if (!parsed) {
79
+ return {
80
+ subagentId: '',
81
+ status: 'running',
82
+ };
83
+ }
84
+ return {
85
+ subagentId: String(parsed.id ?? parsed.subagentId ?? ''),
86
+ status: this.normalizeSubagentStatus(parsed.status),
87
+ };
88
+ }
89
+ async getSubagentInfo(containerId, subagentId) {
90
+ const infoResult = await this.dockerExec.executeCommand(containerId, ['openclaw', 'subagents', 'info', subagentId, '--json'], { timeout: this.CLI_TIMEOUT_MS });
91
+ if (!infoResult.success) {
92
+ throw new Error(infoResult.stderr || 'get subagent info failed');
93
+ }
94
+ const infoParsed = infoResult.stdout.trim()
95
+ ? this.parseJsonFromOutput(infoResult.stdout) || {}
96
+ : {};
97
+ const logsResult = await this.dockerExec.executeCommand(containerId, ['openclaw', 'subagents', 'logs', subagentId], { timeout: this.CLI_TIMEOUT_MS });
98
+ const logs = logsResult.success ? logsResult.stdout : undefined;
99
+ return {
100
+ ...this.normalizeSubagentItem(infoParsed),
101
+ outputSummary: typeof infoParsed.outputSummary === 'string'
102
+ ? infoParsed.outputSummary
103
+ : undefined,
104
+ logs,
105
+ };
106
+ }
107
+ async killSubagent(containerId, subagentId) {
108
+ const result = await this.dockerExec.executeCommand(containerId, ['openclaw', 'subagents', 'kill', subagentId], { timeout: this.CLI_TIMEOUT_MS });
109
+ if (!result.success) {
110
+ throw new Error(result.stderr || 'kill subagent failed');
111
+ }
112
+ }
113
+ buildAgentSendCommand(params) {
114
+ const command = ['openclaw', 'agent', 'send', params.message];
115
+ if (params.to)
116
+ command.push('--to', params.to);
117
+ if (params.sessionId)
118
+ command.push('--session-id', params.sessionId);
119
+ if (params.agentKey)
120
+ command.push('--agent', params.agentKey);
121
+ if (params.local)
122
+ command.push('--local');
123
+ if (params.thinking)
124
+ command.push('--thinking');
125
+ if (params.verbose)
126
+ command.push('--verbose');
127
+ if (params.timeoutSeconds)
128
+ command.push('--timeout-seconds', String(params.timeoutSeconds));
129
+ if (params.json)
130
+ command.push('--json');
131
+ if (params.deliver)
132
+ command.push('--deliver');
133
+ if (params.channel)
134
+ command.push('--channel', params.channel);
135
+ if (params.replyTo)
136
+ command.push('--reply-to', params.replyTo);
137
+ if (params.replyChannel)
138
+ command.push('--reply-channel', params.replyChannel);
139
+ if (params.replyAccount)
140
+ command.push('--reply-account', params.replyAccount);
141
+ return command;
142
+ }
143
+ buildSubagentSpawnCommand(params) {
144
+ const command = ['openclaw', 'subagents', 'spawn', params.task];
145
+ if (params.mode === 'session') {
146
+ command.push('--session');
147
+ }
148
+ if (params.timeoutSeconds) {
149
+ command.push('--timeout-seconds', String(params.timeoutSeconds));
150
+ }
151
+ command.push('--json');
152
+ return command;
153
+ }
154
+ parseAgentSendOutput(stdout, isJsonMode) {
155
+ if (isJsonMode && stdout.trim()) {
156
+ const raw = this.parseJsonFromOutput(stdout);
157
+ if (raw) {
158
+ return {
159
+ runId: typeof raw.runId === 'string' ? raw.runId : undefined,
160
+ sessionKey: typeof raw.sessionKey === 'string' ? raw.sessionKey : undefined,
161
+ replyText: typeof raw.replyText === 'string'
162
+ ? raw.replyText
163
+ : typeof raw.text === 'string'
164
+ ? raw.text
165
+ : stdout,
166
+ mediaUrls: Array.isArray(raw.mediaUrls)
167
+ ? raw.mediaUrls.filter((item) => typeof item === 'string')
168
+ : undefined,
169
+ raw,
170
+ };
171
+ }
172
+ }
173
+ return {
174
+ replyText: stdout,
175
+ };
176
+ }
177
+ parseJsonFromOutput(stdout) {
178
+ const trimmed = stdout.trim();
179
+ if (!trimmed) {
180
+ return null;
181
+ }
182
+ const jsonStart = trimmed.search(/[[{]/);
183
+ if (jsonStart < 0) {
184
+ return null;
185
+ }
186
+ const candidate = trimmed.slice(jsonStart);
187
+ try {
188
+ return JSON.parse(candidate);
189
+ }
190
+ catch (error) {
191
+ this.logger.warn('[OpenClawAgentCoordinationClient] failed to parse JSON output', {
192
+ error: error instanceof Error ? error.message : String(error),
193
+ outputPreview: trimmed.substring(0, 300),
194
+ });
195
+ return null;
196
+ }
197
+ }
198
+ normalizeSubagentItem(item) {
199
+ return {
200
+ id: String(item.id ?? item.subagentId ?? ''),
201
+ parentId: typeof item.parentId === 'string'
202
+ ? item.parentId
203
+ : typeof item.parent_id === 'string'
204
+ ? item.parent_id
205
+ : undefined,
206
+ status: this.normalizeSubagentStatus(item.status),
207
+ task: typeof item.task === 'string' ? item.task : undefined,
208
+ createdAt: typeof item.createdAt === 'string'
209
+ ? item.createdAt
210
+ : typeof item.created_at === 'string'
211
+ ? item.created_at
212
+ : undefined,
213
+ completedAt: typeof item.completedAt === 'string'
214
+ ? item.completedAt
215
+ : typeof item.completed_at === 'string'
216
+ ? item.completed_at
217
+ : undefined,
218
+ durationMs: typeof item.durationMs === 'number'
219
+ ? item.durationMs
220
+ : typeof item.duration_ms === 'number'
221
+ ? item.duration_ms
222
+ : undefined,
223
+ tokens: typeof item.tokens === 'number' ? item.tokens : undefined,
224
+ cost: typeof item.cost === 'number' ? item.cost : undefined,
225
+ error: typeof item.error === 'string' ? item.error : undefined,
226
+ };
227
+ }
228
+ normalizeSubagentStatus(status) {
229
+ const value = typeof status === 'string' ? status.toLowerCase() : 'running';
230
+ switch (value) {
231
+ case 'running':
232
+ case 'completed':
233
+ case 'failed':
234
+ case 'timeout':
235
+ case 'cancelled':
236
+ return value;
237
+ default:
238
+ return 'running';
239
+ }
240
+ }
241
+ };
242
+ exports.OpenClawAgentCoordinationClient = OpenClawAgentCoordinationClient;
243
+ exports.OpenClawAgentCoordinationClient = OpenClawAgentCoordinationClient = __decorate([
244
+ (0, common_1.Injectable)(),
245
+ __param(1, (0, common_1.Inject)(nest_winston_1.WINSTON_MODULE_PROVIDER)),
246
+ __metadata("design:paramtypes", [docker_exec_service_1.DockerExecService,
247
+ winston_1.Logger])
248
+ ], OpenClawAgentCoordinationClient);
249
+ //# sourceMappingURL=openclaw-agent-coordination.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-agent-coordination.client.js","sourceRoot":"","sources":["../../../../../packages/clients/src/internal/openclaw/openclaw-agent-coordination.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ import { Logger } from 'winston';
3
+ /**
4
+ * 会话上下文状态
5
+ */
6
+ export interface SessionContextStatus {
7
+ sessionKey: string;
8
+ currentTokens: number;
9
+ maxTokens: number;
10
+ percentage: number;
11
+ inputTokens?: number;
12
+ outputTokens?: number;
13
+ model?: string;
14
+ lastUpdatedAt?: Date;
15
+ }
16
+ /**
17
+ * 上下文压力级别
18
+ */
19
+ export type ContextPressureLevel = 'low' | 'medium' | 'high' | 'critical';
20
+ /**
21
+ * Bot 上下文压力概览
22
+ */
23
+ export interface BotContextPressureOverview {
24
+ botId: string;
25
+ sessions: Array<SessionContextStatus & {
26
+ level: ContextPressureLevel;
27
+ }>;
28
+ summary: {
29
+ low: number;
30
+ medium: number;
31
+ high: number;
32
+ };
33
+ activeSessionCount: number;
34
+ totalTokensUsed: number;
35
+ avgPressurePercentage: number;
36
+ }
37
+ /**
38
+ * OpenClaw Context Status Client
39
+ */
40
+ export declare class OpenClawContextStatusClient {
41
+ private readonly httpService;
42
+ private readonly logger;
43
+ /** Gateway RPC 超时时间(毫秒) */
44
+ private readonly RPC_TIMEOUT_MS;
45
+ constructor(httpService: HttpService, logger: Logger);
46
+ /**
47
+ * 获取会话上下文压力级别
48
+ */
49
+ private getPressureLevel;
50
+ /**
51
+ * 从 OpenClaw Gateway 获取会话上下文状态
52
+ *
53
+ * 注意:此方法需要 OpenClaw Gateway 支持 /rpc/session.get_context 端点
54
+ * 如果端点不可用,将返回模拟数据(用于开发/测试)
55
+ */
56
+ getSessionContextStatus(host: string, port: number, token: string, sessionKey?: string): Promise<SessionContextStatus[]>;
57
+ /**
58
+ * 获取 Bot 上下文压力概览
59
+ */
60
+ getBotContextPressureOverview(botId: string, host: string, port: number, token: string): Promise<BotContextPressureOverview>;
61
+ /**
62
+ * 健康检查
63
+ */
64
+ checkHealth(host: string, port: number): Promise<boolean>;
65
+ }
66
+ //# sourceMappingURL=openclaw-context-status.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-context-status.client.d.ts","sourceRoot":"","sources":["../../../../../packages/clients/src/internal/openclaw/openclaw-context-status.client.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,oBAAoB,GAAG;QAAE,KAAK,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,qBACa,2BAA2B;IAKpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IACK,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1D,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGrB,WAAW,EAAE,WAAW,EACS,MAAM,EAAE,MAAM;IAGlE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;OAKG;IACG,uBAAuB,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAyFlC;;OAEG;IACG,6BAA6B,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,CAAC;IAwCtC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAahE"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OpenClawContextStatusClient = void 0;
16
+ /**
17
+ * OpenClaw Context Status Client
18
+ *
19
+ * 职责:从 OpenClaw Gateway 获取会话上下文状态
20
+ * - 仅负责 HTTP 通信,不包含业务逻辑
21
+ * - 使用 @nestjs/axios 的 HttpService
22
+ */
23
+ const common_1 = require("@nestjs/common");
24
+ const axios_1 = require("@nestjs/axios");
25
+ const nest_winston_1 = require("nest-winston");
26
+ const winston_1 = require("winston");
27
+ const rxjs_1 = require("rxjs");
28
+ /**
29
+ * OpenClaw Context Status Client
30
+ */
31
+ let OpenClawContextStatusClient = class OpenClawContextStatusClient {
32
+ httpService;
33
+ logger;
34
+ /** Gateway RPC 超时时间(毫秒) */
35
+ RPC_TIMEOUT_MS = 10000;
36
+ constructor(httpService, logger) {
37
+ this.httpService = httpService;
38
+ this.logger = logger;
39
+ }
40
+ /**
41
+ * 获取会话上下文压力级别
42
+ */
43
+ getPressureLevel(percentage) {
44
+ if (percentage >= 90)
45
+ return 'critical';
46
+ if (percentage >= 70)
47
+ return 'high';
48
+ if (percentage >= 40)
49
+ return 'medium';
50
+ return 'low';
51
+ }
52
+ /**
53
+ * 从 OpenClaw Gateway 获取会话上下文状态
54
+ *
55
+ * 注意:此方法需要 OpenClaw Gateway 支持 /rpc/session.get_context 端点
56
+ * 如果端点不可用,将返回模拟数据(用于开发/测试)
57
+ */
58
+ async getSessionContextStatus(host, port, token, sessionKey) {
59
+ const url = `http://${host}:${port}/rpc/session.list`;
60
+ try {
61
+ this.logger.debug('[OpenClawContextStatusClient] Fetching session context status', {
62
+ host,
63
+ port,
64
+ sessionKey,
65
+ });
66
+ const response = await (0, rxjs_1.firstValueFrom)(this.httpService
67
+ .post(url, {
68
+ sessionKey,
69
+ includeTokens: true,
70
+ }, {
71
+ headers: {
72
+ Authorization: `Bearer ${token}`,
73
+ 'Content-Type': 'application/json',
74
+ },
75
+ })
76
+ .pipe((0, rxjs_1.timeout)(this.RPC_TIMEOUT_MS), (0, rxjs_1.catchError)((error) => {
77
+ this.logger.warn('[OpenClawContextStatusClient] Failed to fetch session context status', {
78
+ host,
79
+ port,
80
+ error: error.message || String(error),
81
+ });
82
+ // Return empty result instead of throwing
83
+ return (0, rxjs_1.of)({ status: 503, data: { sessions: [] } });
84
+ })));
85
+ if (response.status !== 200 || !response.data?.sessions) {
86
+ this.logger.debug('[OpenClawContextStatusClient] No session data available, returning empty', { status: response.status });
87
+ return [];
88
+ }
89
+ const sessions = response.data.sessions;
90
+ return sessions.map((s) => ({
91
+ sessionKey: s.sessionKey || s.session_key || s.id || '',
92
+ currentTokens: s.totalTokens || s.total_tokens || s.currentTokens || 0,
93
+ maxTokens: s.maxTokens || s.max_tokens || s.contextWindow || 128000,
94
+ percentage: Math.min(100, Math.round(((s.totalTokens || s.total_tokens || 0) /
95
+ (s.maxTokens || s.max_tokens || s.contextWindow || 128000)) *
96
+ 100)),
97
+ inputTokens: s.inputTokens || s.input_tokens,
98
+ outputTokens: s.outputTokens || s.output_tokens,
99
+ model: s.model,
100
+ lastUpdatedAt: s.updatedAt || s.updated_at
101
+ ? new Date(s.updatedAt || s.updated_at)
102
+ : undefined,
103
+ }));
104
+ }
105
+ catch (error) {
106
+ const errorMessage = error instanceof Error ? error.message : String(error);
107
+ this.logger.error('[OpenClawContextStatusClient] Error fetching session context status', {
108
+ host,
109
+ port,
110
+ error: errorMessage,
111
+ });
112
+ return [];
113
+ }
114
+ }
115
+ /**
116
+ * 获取 Bot 上下文压力概览
117
+ */
118
+ async getBotContextPressureOverview(botId, host, port, token) {
119
+ const sessions = await this.getSessionContextStatus(host, port, token);
120
+ // 计算压力级别分布
121
+ const sessionsWithLevel = sessions.map((s) => ({
122
+ ...s,
123
+ level: this.getPressureLevel(s.percentage),
124
+ }));
125
+ const summary = {
126
+ low: sessionsWithLevel.filter((s) => s.level === 'low').length,
127
+ medium: sessionsWithLevel.filter((s) => s.level === 'medium').length,
128
+ high: sessionsWithLevel.filter((s) => ['high', 'critical'].includes(s.level)).length,
129
+ };
130
+ const totalTokensUsed = sessions.reduce((sum, s) => sum + s.currentTokens, 0);
131
+ const avgPressurePercentage = sessions.length > 0
132
+ ? Math.round(sessions.reduce((sum, s) => sum + s.percentage, 0) /
133
+ sessions.length)
134
+ : 0;
135
+ return {
136
+ botId,
137
+ sessions: sessionsWithLevel,
138
+ summary,
139
+ activeSessionCount: sessions.length,
140
+ totalTokensUsed,
141
+ avgPressurePercentage,
142
+ };
143
+ }
144
+ /**
145
+ * 健康检查
146
+ */
147
+ async checkHealth(host, port) {
148
+ try {
149
+ const response = await (0, rxjs_1.firstValueFrom)(this.httpService.get(`http://${host}:${port}/health`).pipe((0, rxjs_1.timeout)(5000), (0, rxjs_1.catchError)(() => (0, rxjs_1.of)({ status: 500 }))));
150
+ return response.status === 200;
151
+ }
152
+ catch {
153
+ return false;
154
+ }
155
+ }
156
+ };
157
+ exports.OpenClawContextStatusClient = OpenClawContextStatusClient;
158
+ exports.OpenClawContextStatusClient = OpenClawContextStatusClient = __decorate([
159
+ (0, common_1.Injectable)(),
160
+ __param(1, (0, common_1.Inject)(nest_winston_1.WINSTON_MODULE_PROVIDER)),
161
+ __metadata("design:paramtypes", [axios_1.HttpService,
162
+ winston_1.Logger])
163
+ ], OpenClawContextStatusClient);
164
+ //# sourceMappingURL=openclaw-context-status.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-context-status.client.js","sourceRoot":"","sources":["../../../../../packages/clients/src/internal/openclaw/openclaw-context-status.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { Logger } from 'winston';
2
+ import { DockerExecService } from './docker-exec.service';
3
+ import type { CronJob, CronRun, AddCronJobParams, UpdateCronJobPatch, CronSchedulerStatus } from './types/cron.types';
4
+ export declare class OpenClawCronClient {
5
+ private readonly dockerExec;
6
+ private readonly logger;
7
+ /** CLI 命令超时时间(毫秒) */
8
+ private readonly CLI_TIMEOUT_MS;
9
+ constructor(dockerExec: DockerExecService, logger: Logger);
10
+ /**
11
+ * 获取 Cron 调度器状态
12
+ *
13
+ * CLI: openclaw cron status --json
14
+ */
15
+ getCronStatus(containerId: string): Promise<CronSchedulerStatus>;
16
+ /**
17
+ * 列出所有 Cron 任务
18
+ *
19
+ * CLI: openclaw cron list --json
20
+ */
21
+ listCronJobs(containerId: string): Promise<CronJob[]>;
22
+ /**
23
+ * 创建 Cron 任务
24
+ *
25
+ * CLI: openclaw cron add [options] --json
26
+ */
27
+ addCronJob(containerId: string, params: AddCronJobParams): Promise<CronJob>;
28
+ /**
29
+ * 更新 Cron 任务
30
+ *
31
+ * CLI: openclaw cron edit <jobId> [options] --json
32
+ */
33
+ updateCronJob(containerId: string, jobId: string, patch: UpdateCronJobPatch): Promise<CronJob>;
34
+ /**
35
+ * 删除 Cron 任务
36
+ *
37
+ * CLI: openclaw cron remove <jobId>
38
+ */
39
+ removeCronJob(containerId: string, jobId: string): Promise<void>;
40
+ /**
41
+ * 手动触发 Cron 任务
42
+ *
43
+ * CLI: openclaw cron run <jobId> [--force|--due]
44
+ */
45
+ runCronJob(containerId: string, jobId: string, mode?: 'force' | 'due'): Promise<void>;
46
+ /**
47
+ * 获取 Cron 任务执行历史
48
+ *
49
+ * CLI: openclaw cron runs --id <jobId> --limit <limit> --json
50
+ */
51
+ getCronJobRuns(containerId: string, jobId: string, limit?: number): Promise<CronRun[]>;
52
+ /**
53
+ * 构建 cron add 命令
54
+ */
55
+ private buildCronAddCommand;
56
+ /**
57
+ * 构建 cron edit 命令的 flags
58
+ */
59
+ private buildCronEditFlags;
60
+ }
61
+ //# sourceMappingURL=openclaw-cron.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-cron.client.d.ts","sourceRoot":"","sources":["../../../../../packages/clients/src/internal/openclaw/openclaw-cron.client.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,qBACa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IACM,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1D,qBAAqB;IACrB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGrB,UAAU,EAAE,iBAAiB,EACI,MAAM,EAAE,MAAM;IAGlE;;;;OAIG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsCtE;;;;OAIG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA0C3D;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC;IA0CnB;;;;OAIG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC;IA0CnB;;;;OAIG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCtE;;;;OAIG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,OAAO,GAAG,KAAe,GAC9B,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;;OAIG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,OAAO,EAAE,CAAC;IAuDrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4E3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CA2C3B"}