@zcloak/ai-agent 1.0.33 → 1.0.35

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.
package/SKILL.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: v1.0.33
2
+ version: v1.0.35
3
3
  ---
4
4
 
5
5
  # zCloak.ai SKILL
@@ -1,4 +1,4 @@
1
1
  import type { SyncMailboxResult } from './zmail.js';
2
- export declare function getOpenClawStatusContext(): Promise<string | null>;
3
- export declare function notifyOpenClawMainAgentOfNewMail(summary: SyncMailboxResult, channelContext: string): Promise<boolean>;
2
+ export declare function getOpenClawStatusContext(): Promise<string[] | null>;
3
+ export declare function notifyOpenClawMainAgentOfNewMail(summary: SyncMailboxResult, channelContext: string[]): Promise<boolean>;
4
4
  //# sourceMappingURL=openclaw.d.ts.map
package/dist/openclaw.js CHANGED
@@ -2,7 +2,6 @@ import { execFile } from 'node:child_process';
2
2
  import * as log from './log.js';
3
3
  const OPENCLAW_BIN = process.env['OPENCLAW_BIN'] || 'openclaw';
4
4
  const DEFAULT_TIMEOUT_MS = 30000;
5
- const MAX_STATUS_CONTEXT_CHARS = 8000;
6
5
  function execFileText(command, args, timeoutMs = DEFAULT_TIMEOUT_MS) {
7
6
  return new Promise((resolve, reject) => {
8
7
  execFile(command, args, { timeout: timeoutMs }, (error, stdout, stderr) => {
@@ -14,19 +13,28 @@ function execFileText(command, args, timeoutMs = DEFAULT_TIMEOUT_MS) {
14
13
  });
15
14
  });
16
15
  }
17
- function truncateText(value, maxChars) {
18
- if (value.length <= maxChars)
19
- return value;
20
- return `${value.slice(0, maxChars)}\n... (truncated)`;
16
+ function extractChannelAccountsContext(statusJson) {
17
+ const channels = statusJson.health?.channels ?? {};
18
+ return Object.entries(channels).flatMap(([channel, info]) => {
19
+ if (!info || info.accounts === undefined) {
20
+ return [];
21
+ }
22
+ return [`channels.${channel}.accounts=${JSON.stringify(info.accounts)}`];
23
+ });
21
24
  }
22
25
  export async function getOpenClawStatusContext() {
23
26
  try {
24
- const { stdout, stderr } = await execFileText(OPENCLAW_BIN, ['status']);
27
+ const { stdout, stderr } = await execFileText(OPENCLAW_BIN, ['status', '--json', '--deep']);
25
28
  const raw = stdout || stderr;
26
29
  if (!raw) {
27
30
  throw new Error('openclaw status returned no output');
28
31
  }
29
- return truncateText(raw, MAX_STATUS_CONTEXT_CHARS);
32
+ const parsed = JSON.parse(raw);
33
+ const channelAccounts = extractChannelAccountsContext(parsed);
34
+ if (channelAccounts.length === 0) {
35
+ return [];
36
+ }
37
+ return channelAccounts;
30
38
  }
31
39
  catch (error) {
32
40
  log.warn('openclaw status failed', {
@@ -39,10 +47,10 @@ export async function getOpenClawStatusContext() {
39
47
  export async function notifyOpenClawMainAgentOfNewMail(summary, channelContext) {
40
48
  const message = [
41
49
  `New mail arrived. This zMail sync detected ${summary.inbox_new} new inbox message(s).`,
42
- 'Please notify the channel by sending a message to the channel-provided number itself, not to any other person or contact.',
43
- 'If no usable channel is configured, tell the user to configure a channel first so channel notifications can be used.',
44
- 'openclaw status returned the following information. Please find the channel context yourself:',
45
- channelContext,
50
+ 'Channel account context from openclaw status --json --deep:',
51
+ ...channelContext,
52
+ 'Choose an appropriate channel from this account context and decide how to send the notification.',
53
+ 'If notification cannot be sent, explain to the user what channel configuration is needed.',
46
54
  ].join('\n\n');
47
55
  try {
48
56
  await execFileText(OPENCLAW_BIN, [
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../src/openclaw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC;AAC/D,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAClC,MAAM,wBAAwB,GAAG,IAAK,CAAC;AAEvC,SAAS,YAAY,CACnB,OAAe,EACf,IAAc,EACd,SAAS,GAAG,kBAAkB;IAE9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,QAAgB;IACnD,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACjC,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,OAA0B,EAC1B,cAAsB;IAEtB,MAAM,OAAO,GAAG;QACd,8CAA8C,OAAO,CAAC,SAAS,wBAAwB;QACvF,2HAA2H;QAC3H,sHAAsH;QACtH,+FAA+F;QAC/F,cAAc;KACf,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,EAAE;YAC/B,OAAO;YACP,SAAS;YACT,MAAM;YACN,WAAW;YACX,OAAO;SACR,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE;YACvC,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../src/openclaw.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Run `npm run generate-types` to regenerate this file.
5
5
  * Source: registryIdlFactory in src/idl.ts
6
- * Generated: 2026-03-18T15:45:08.272Z
6
+ * Generated: 2026-03-18T17:23:53.009Z
7
7
  *
8
8
  * These types are derived from the Candid IDL definitions and correspond to
9
9
  * the canister's runtime interface. Edit idl.ts to change type definitions.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Run `npm run generate-types` to regenerate this file.
5
5
  * Source: registryIdlFactory in src/idl.ts
6
- * Generated: 2026-03-18T15:45:08.272Z
6
+ * Generated: 2026-03-18T17:23:53.009Z
7
7
  *
8
8
  * These types are derived from the Candid IDL definitions and correspond to
9
9
  * the canister's runtime interface. Edit idl.ts to change type definitions.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Run `npm run generate-types` to regenerate this file.
5
5
  * Source: signIdlFactory in src/idl.ts
6
- * Generated: 2026-03-18T15:45:08.271Z
6
+ * Generated: 2026-03-18T17:23:53.008Z
7
7
  *
8
8
  * These types are derived from the Candid IDL definitions and correspond to
9
9
  * the canister's runtime interface. Edit idl.ts to change type definitions.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Run `npm run generate-types` to regenerate this file.
5
5
  * Source: signIdlFactory in src/idl.ts
6
- * Generated: 2026-03-18T15:45:08.271Z
6
+ * Generated: 2026-03-18T17:23:53.008Z
7
7
  *
8
8
  * These types are derived from the Candid IDL definitions and correspond to
9
9
  * the canister's runtime interface. Edit idl.ts to change type definitions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zcloak/ai-agent",
3
- "version": "1.0.33",
3
+ "version": "1.0.35",
4
4
  "description": "zCloak.ai Agent CLI — sign, verify, register",
5
5
  "bin": {
6
6
  "zcloak-ai": "./dist/cli.js"