@raidiant/notifai 11.5.0 → 11.6.0-beta.3

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 (93) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/commands-acknowledge.js +5 -2
  3. package/dist/commands-acknowledge.js.map +1 -1
  4. package/dist/commands-ask.js +9 -2
  5. package/dist/commands-ask.js.map +1 -1
  6. package/dist/commands-doctor.js +21 -15
  7. package/dist/commands-doctor.js.map +1 -1
  8. package/dist/commands-hook-attend.js +42 -6
  9. package/dist/commands-hook-attend.js.map +1 -1
  10. package/dist/commands-hook-install.js +1 -1
  11. package/dist/commands-hook-install.js.map +1 -1
  12. package/dist/commands-hook-run.js +79 -8
  13. package/dist/commands-hook-run.js.map +1 -1
  14. package/dist/commands-send-support.js +3 -0
  15. package/dist/commands-send-support.js.map +1 -1
  16. package/dist/commands-update-check.d.ts +1 -1
  17. package/dist/commands-update-check.js +12 -4
  18. package/dist/commands-update-check.js.map +1 -1
  19. package/dist/commands-update-resume.d.ts +7 -0
  20. package/dist/commands-update-resume.js +133 -0
  21. package/dist/commands-update-resume.js.map +1 -0
  22. package/dist/commands-update.js +25 -11
  23. package/dist/commands-update.js.map +1 -1
  24. package/dist/commands.d.ts +1 -0
  25. package/dist/commands.js +1 -0
  26. package/dist/commands.js.map +1 -1
  27. package/dist/harnesses.d.ts +8 -3
  28. package/dist/harnesses.js +16 -4
  29. package/dist/harnesses.js.map +1 -1
  30. package/dist/hermes-attendant.d.ts +38 -0
  31. package/dist/hermes-attendant.js +333 -0
  32. package/dist/hermes-attendant.js.map +1 -0
  33. package/dist/hermes-plugin.js +142 -4
  34. package/dist/hermes-plugin.js.map +1 -1
  35. package/dist/hook-lifecycle.d.ts +1 -1
  36. package/dist/hook-lifecycle.js +22 -11
  37. package/dist/hook-lifecycle.js.map +1 -1
  38. package/dist/hook-types.d.ts +3 -0
  39. package/dist/integration-health.d.ts +26 -0
  40. package/dist/integration-health.js +133 -0
  41. package/dist/integration-health.js.map +1 -0
  42. package/dist/invocation-context.d.ts +1 -0
  43. package/dist/invocation-context.js +3 -0
  44. package/dist/invocation-context.js.map +1 -1
  45. package/dist/native-skills.d.ts +1 -0
  46. package/dist/native-skills.js +30 -3
  47. package/dist/native-skills.js.map +1 -1
  48. package/dist/openclaw-generation.d.ts +5 -1
  49. package/dist/openclaw-generation.js +27 -5
  50. package/dist/openclaw-generation.js.map +1 -1
  51. package/dist/openclaw-message-bridge.d.ts +8 -0
  52. package/dist/openclaw-message-bridge.js +93 -0
  53. package/dist/openclaw-message-bridge.js.map +1 -0
  54. package/dist/openclaw-pending.d.ts +1 -1
  55. package/dist/openclaw-pending.js +1 -6
  56. package/dist/openclaw-pending.js.map +1 -1
  57. package/dist/openclaw-plugin.js +385 -14
  58. package/dist/openclaw-plugin.js.map +1 -1
  59. package/dist/openclaw-session-access.d.ts +2 -0
  60. package/dist/openclaw-session-access.js +10 -0
  61. package/dist/openclaw-session-access.js.map +1 -1
  62. package/dist/program.d.ts +2 -1
  63. package/dist/program.js +17 -10
  64. package/dist/program.js.map +1 -1
  65. package/dist/session-activation.js +1 -0
  66. package/dist/session-activation.js.map +1 -1
  67. package/dist/session-attendant-probe.d.ts +1 -0
  68. package/dist/session-attendant-probe.js +11 -1
  69. package/dist/session-attendant-probe.js.map +1 -1
  70. package/dist/session-attendant-state.d.ts +3 -0
  71. package/dist/session-attendant-state.js +8 -0
  72. package/dist/session-attendant-state.js.map +1 -1
  73. package/dist/session-attendant.d.ts +6 -0
  74. package/dist/session-attendant.js +12 -0
  75. package/dist/session-attendant.js.map +1 -1
  76. package/dist/session-labels.d.ts +2 -0
  77. package/dist/session-labels.js +5 -0
  78. package/dist/session-labels.js.map +1 -1
  79. package/dist/session-message-handoff.d.ts +3 -1
  80. package/dist/session-message-handoff.js +2 -1
  81. package/dist/session-message-handoff.js.map +1 -1
  82. package/dist/skill-integrity.d.ts +8 -3
  83. package/dist/skill-integrity.js +18 -8
  84. package/dist/skill-integrity.js.map +1 -1
  85. package/dist/skill-source/manifest.json +7 -7
  86. package/dist/skill-source/notifai/SKILL.md +66 -61
  87. package/dist/skill-source/notifai/references/diagnostics.md +5 -0
  88. package/dist/skill-source/notifai/references/harness-setup.md +24 -8
  89. package/dist/skill-source/notifai/references/notes-and-edits.md +6 -0
  90. package/dist/skill-source/notifai/references/updates.md +44 -10
  91. package/dist/update-handoff.js +1 -1
  92. package/dist/update-handoff.js.map +1 -1
  93. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"invocation-context.js","sourceRoot":"","sources":["../src/invocation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invocation-context.js","sourceRoot":"","sources":["../src/invocation-context.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ export declare function runSkillsCommand(args: string[], options: {
54
54
  cwd: string;
55
55
  env: NodeJS.ProcessEnv;
56
56
  diagnosticsToStderr?: boolean;
57
+ timeoutMs?: number;
57
58
  }, resolveLaunch?: typeof npxLaunch): Promise<SkillsOperationResult>;
58
59
  /** argv for `npx`, including the pinned installer spec. */
59
60
  export declare function skillsAddArgv(options: SkillsAddOptions): string[];
@@ -1,4 +1,4 @@
1
- import { spawn } from 'node:child_process';
1
+ import { spawn, spawnSync } from 'node:child_process';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import path from 'node:path';
4
4
  import { accountHome, npxLaunch } from './platform.js';
@@ -72,14 +72,41 @@ export function runSkillsCommand(args, options, resolveLaunch = npxLaunch) {
72
72
  });
73
73
  return;
74
74
  }
75
- const child = spawn(launch.file, launch.args, launch.options);
75
+ // Only unattended refresh/resume owns a bounded process tree. Preserve
76
+ // the human installer's existing terminal and Ctrl-C behavior in setup.
77
+ const bounded = options.diagnosticsToStderr === true || options.timeoutMs !== undefined;
78
+ const child = spawn(launch.file, launch.args, { ...launch.options, detached: bounded && process.platform !== 'win32' });
79
+ let timedOut = false;
80
+ const timer = bounded ? setTimeout(() => {
81
+ timedOut = true;
82
+ if (child.pid === undefined)
83
+ return;
84
+ try {
85
+ // Terminate only this owned installer tree, so a timed-out migration
86
+ // cannot leave a descendant writing its skill after staging is removed.
87
+ if (process.platform === 'win32') {
88
+ const killed = spawnSync(path.join(process.env['SystemRoot'] ?? 'C:\\Windows', 'System32', 'taskkill.exe'), ['/PID', String(child.pid), '/T', '/F'], { stdio: 'ignore', timeout: 5_000, windowsHide: true });
89
+ if (killed.status !== 0)
90
+ child.kill('SIGKILL');
91
+ }
92
+ else
93
+ process.kill(-child.pid, 'SIGKILL');
94
+ }
95
+ catch {
96
+ child.kill('SIGKILL');
97
+ }
98
+ }, options.timeoutMs ?? 60_000) : undefined;
76
99
  child.on('error', () => {
100
+ clearTimeout(timer);
77
101
  resolve({
78
102
  code: 1,
79
103
  error: 'the native skills installer could not start on this machine; repair the local Node.js and npm installation, then rerun setup',
80
104
  });
81
105
  });
82
- child.on('exit', (code) => resolve(code ?? 1));
106
+ child.on('exit', (code) => {
107
+ clearTimeout(timer);
108
+ resolve(timedOut ? { code: 1, error: 'The native skills installer timed out; integration remains incomplete. Resolve the installer failure, then resume the update.' } : code ?? 1);
109
+ });
83
110
  });
84
111
  }
85
112
  /** argv for `npx`, including the pinned installer spec. */
@@ -1 +1 @@
1
- {"version":3,"file":"native-skills.js","sourceRoot":"","sources":["../src/native-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-skills.js","sourceRoot":"","sources":["../src/native-skills.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export interface OpenclawGeneration {
2
2
  id: string;
3
3
  sessionId?: string;
4
+ /** OpenClaw's native reset identity; sessionId can stay unchanged across /reset. */
5
+ lifecycleRevision?: string;
4
6
  resumedFrom?: string;
5
7
  startSeen: boolean;
6
8
  resetPending: boolean;
@@ -8,10 +10,12 @@ export interface OpenclawGeneration {
8
10
  ended: boolean;
9
11
  /** Transcript IDs replaced under this stable sessionKey; late hooks cannot restore them. */
10
12
  supersededSessionIds?: string[];
13
+ /** Native revisions replaced under a stable sessionKey, including same-ID resets. */
14
+ supersededLifecycleRevisions?: string[];
11
15
  }
12
16
  export declare function openclawGenerationLockPath(sessionKey: string, env: NodeJS.ProcessEnv): string;
13
17
  /** Callers hold openclawGenerationLockPath through the complete lifecycle action. */
14
18
  export declare function readOpenclawGeneration(sessionKey: string, env: NodeJS.ProcessEnv): OpenclawGeneration | null;
15
19
  export declare function writeOpenclawGeneration(sessionKey: string, env: NodeJS.ProcessEnv, state: OpenclawGeneration): void;
16
20
  export declare function observeOpenclawStart(current: OpenclawGeneration | null, sessionId?: string, resumedFrom?: string): OpenclawGeneration;
17
- export declare function observeOpenclawPrompt(current: OpenclawGeneration | null, sessionId?: string): OpenclawGeneration;
21
+ export declare function observeOpenclawPrompt(current: OpenclawGeneration | null, sessionId?: string, lifecycleRevision?: string): OpenclawGeneration;
@@ -26,6 +26,7 @@ export function readOpenclawGeneration(sessionKey, env) {
26
26
  return {
27
27
  id: state['id'],
28
28
  ...(typeof state['sessionId'] === 'string' ? { sessionId: state['sessionId'] } : {}),
29
+ ...(typeof state['lifecycleRevision'] === 'string' ? { lifecycleRevision: state['lifecycleRevision'] } : {}),
29
30
  ...(typeof state['resumedFrom'] === 'string' ? { resumedFrom: state['resumedFrom'] } : {}),
30
31
  startSeen: state['startSeen'],
31
32
  resetPending: state['resetPending'],
@@ -34,6 +35,9 @@ export function readOpenclawGeneration(sessionKey, env) {
34
35
  ...(Array.isArray(state['supersededSessionIds']) &&
35
36
  state['supersededSessionIds'].every((id) => typeof id === 'string')
36
37
  ? { supersededSessionIds: state['supersededSessionIds'] } : {}),
38
+ ...(Array.isArray(state['supersededLifecycleRevisions']) &&
39
+ state['supersededLifecycleRevisions'].every((id) => typeof id === 'string')
40
+ ? { supersededLifecycleRevisions: state['supersededLifecycleRevisions'] } : {}),
37
41
  };
38
42
  }
39
43
  catch {
@@ -43,20 +47,27 @@ export function readOpenclawGeneration(sessionKey, env) {
43
47
  export function writeOpenclawGeneration(sessionKey, env, state) {
44
48
  atomicWriteFileSync(generationPath(sessionKey, env), `${JSON.stringify(state)}\n`);
45
49
  }
46
- function fresh(sessionId, resumedFrom, previous) {
50
+ function fresh(sessionId, resumedFrom, previous, lifecycleRevision) {
47
51
  const superseded = previous?.supersededSessionIds ?? [];
48
52
  const priorId = previous?.sessionId;
49
53
  const supersededSessionIds = priorId !== undefined && priorId !== sessionId &&
50
54
  !superseded.includes(priorId) ? [...superseded, priorId] : superseded;
55
+ const oldRevisions = previous?.supersededLifecycleRevisions ?? [];
56
+ const priorRevision = previous?.lifecycleRevision;
57
+ const supersededLifecycleRevisions = priorRevision !== undefined && lifecycleRevision !== undefined &&
58
+ priorRevision !== lifecycleRevision && !oldRevisions.includes(priorRevision)
59
+ ? [...oldRevisions, priorRevision] : oldRevisions;
51
60
  return {
52
61
  id: randomUUID(),
53
62
  ...(sessionId === undefined ? {} : { sessionId }),
63
+ ...(lifecycleRevision === undefined ? {} : { lifecycleRevision }),
54
64
  ...(resumedFrom === undefined ? {} : { resumedFrom }),
55
65
  startSeen: false,
56
66
  resetPending: false,
57
67
  activated: false,
58
68
  ended: false,
59
69
  ...(supersededSessionIds.length === 0 ? {} : { supersededSessionIds }),
70
+ ...(supersededLifecycleRevisions.length === 0 ? {} : { supersededLifecycleRevisions }),
60
71
  };
61
72
  }
62
73
  function isSuperseded(current, sessionId) {
@@ -69,8 +80,9 @@ export function observeOpenclawStart(current, sessionId, resumedFrom) {
69
80
  return { ...current };
70
81
  const next = current === null || current.ended || current.resetPending ||
71
82
  (sessionId !== undefined && current.sessionId !== undefined && sessionId !== current.sessionId) ||
72
- (current.startSeen && resumedFrom !== undefined && current.resumedFrom !== resumedFrom)
73
- ? fresh(sessionId, resumedFrom, current ?? undefined)
83
+ (current.lifecycleRevision === undefined && current.startSeen &&
84
+ resumedFrom !== undefined && current.resumedFrom !== resumedFrom)
85
+ ? fresh(sessionId, resumedFrom, current ?? undefined, current?.lifecycleRevision)
74
86
  : { ...current };
75
87
  if (next.sessionId === undefined && sessionId !== undefined)
76
88
  next.sessionId = sessionId;
@@ -79,15 +91,25 @@ export function observeOpenclawStart(current, sessionId, resumedFrom) {
79
91
  next.startSeen = true;
80
92
  return next;
81
93
  }
82
- export function observeOpenclawPrompt(current, sessionId) {
94
+ export function observeOpenclawPrompt(current, sessionId, lifecycleRevision) {
95
+ // Hook JSON may come from older generated plugins; malformed null is absence.
96
+ const revision = typeof lifecycleRevision === 'string' && lifecycleRevision !== ''
97
+ ? lifecycleRevision : undefined;
83
98
  if (current !== null && isSuperseded(current, sessionId))
84
99
  return { ...current };
100
+ if (current !== null && revision !== undefined &&
101
+ current.supersededLifecycleRevisions?.includes(revision))
102
+ return { ...current };
85
103
  const next = current === null || current.ended || current.resetPending ||
104
+ (revision !== undefined && current.lifecycleRevision !== undefined &&
105
+ revision !== current.lifecycleRevision) ||
86
106
  (sessionId !== undefined && current.sessionId !== undefined && sessionId !== current.sessionId)
87
- ? fresh(sessionId, undefined, current ?? undefined)
107
+ ? fresh(sessionId, undefined, current ?? undefined, revision)
88
108
  : { ...current };
89
109
  if (next.sessionId === undefined && sessionId !== undefined)
90
110
  next.sessionId = sessionId;
111
+ if (next.lifecycleRevision === undefined && revision !== undefined)
112
+ next.lifecycleRevision = revision;
91
113
  return next;
92
114
  }
93
115
  //# sourceMappingURL=openclaw-generation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-generation.js","sourceRoot":"","sources":["../src/openclaw-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw-generation.js","sourceRoot":"","sources":["../src/openclaw-generation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { SessionWriteResult } from './session-handoff.js';
2
+ import type { WriteGuard } from './wake-support.js';
3
+ import type { SessionActivity } from '@raidiant/notifai-protocol';
4
+ /** A missing Gateway observation is uncertainty, never an idle assertion. */
5
+ export declare function openclawBridgeActivity(): SessionActivity | null;
6
+ export declare function openclawMessageBridgeAvailable(env: NodeJS.ProcessEnv): boolean;
7
+ /** Each attendant owns its pipes; handOffSessionMessages serializes writes. */
8
+ export declare function openclawMessageBridge(): (messageId: string, sessionKey: string, generation: string, text: string, begin: () => boolean, guard: WriteGuard) => Promise<SessionWriteResult>;
@@ -0,0 +1,93 @@
1
+ /** Session Message text travels through private pipes to the Gateway plugin, never process argv. */
2
+ import { fstatSync, createReadStream, createWriteStream } from 'node:fs';
3
+ import { createInterface } from 'node:readline';
4
+ const RESPONSE_MS = 30_000;
5
+ let lastActivity = null;
6
+ /** A missing Gateway observation is uncertainty, never an idle assertion. */
7
+ export function openclawBridgeActivity() {
8
+ return lastActivity !== null && Date.now() - lastActivity.at < 10_000
9
+ ? lastActivity.value : null;
10
+ }
11
+ export function openclawMessageBridgeAvailable(env) {
12
+ if (env['NOTIFAI_OPENCLAW_MESSAGE_BRIDGE'] !== '1')
13
+ return false;
14
+ try {
15
+ fstatSync(3);
16
+ fstatSync(4);
17
+ return true;
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ }
23
+ /** Each attendant owns its pipes; handOffSessionMessages serializes writes. */
24
+ export function openclawMessageBridge() {
25
+ const output = createWriteStream('', { fd: 3, autoClose: false });
26
+ const input = createReadStream('', { fd: 4, autoClose: false });
27
+ const lines = createInterface({ input, crlfDelay: Infinity });
28
+ let pending = null;
29
+ output.on('error', (error) => {
30
+ pending?.finish({ status: 'failed', reason: 'Gateway message pipe write failed', error });
31
+ });
32
+ input.on('error', (error) => {
33
+ pending?.finish({ status: 'failed', reason: 'Gateway message pipe read failed', error });
34
+ });
35
+ lines.on('line', (line) => {
36
+ let value;
37
+ try {
38
+ value = JSON.parse(line);
39
+ }
40
+ catch {
41
+ return;
42
+ }
43
+ if (value['type'] === 'activity' &&
44
+ (value['activity'] === 'working' || value['activity'] === 'idle')) {
45
+ lastActivity = { value: value['activity'], at: Date.now() };
46
+ }
47
+ else if (pending !== null && value['message_id'] === pending.id) {
48
+ pending.finish(value['status'] === 'written'
49
+ ? { status: 'written', route: 'session-queue' }
50
+ : { status: 'failed', reason: 'Gateway message hand-off was unconfirmed', error: value['status'] });
51
+ }
52
+ });
53
+ lines.on('close', () => {
54
+ lastActivity = null;
55
+ pending?.finish({ status: 'failed', reason: 'Gateway message pipe closed', error: null });
56
+ });
57
+ return async (messageId, sessionKey, generation, text, begin, guard) => {
58
+ if (!guard.writable())
59
+ return { status: 'cancelled' };
60
+ if (!begin())
61
+ return { status: 'cancelled' };
62
+ if (!guard.writable())
63
+ return { status: 'aborted', reason: 'the claim or lease expired before the Gateway hand-off' };
64
+ const remainingMs = guard.remainingMs();
65
+ if (!Number.isFinite(remainingMs) || remainingMs <= 0) {
66
+ return { status: 'aborted', reason: 'the claim expired before the Gateway hand-off' };
67
+ }
68
+ const deadlineNs = (process.hrtime.bigint() + BigInt(Math.floor(remainingMs * 1_000_000))).toString();
69
+ let timer;
70
+ const response = new Promise((resolve) => {
71
+ const finish = (result) => {
72
+ if (timer !== undefined)
73
+ clearTimeout(timer);
74
+ pending = null;
75
+ resolve(result);
76
+ };
77
+ pending = { id: messageId, finish };
78
+ timer = setTimeout(() => finish({ status: 'failed', reason: 'Gateway message hand-off timed out', error: null }), Math.min(RESPONSE_MS, Math.max(1, remainingMs)));
79
+ });
80
+ try {
81
+ await new Promise((resolve, reject) => output.write(`${JSON.stringify({
82
+ type: 'message', message_id: messageId, session_key: sessionKey, generation, text,
83
+ deadline_ns: deadlineNs,
84
+ })}\n`, (error) => error ? reject(error) : resolve()));
85
+ }
86
+ catch (error) {
87
+ pending?.finish({ status: 'failed', reason: 'Gateway message pipe write failed', error });
88
+ return { status: 'failed', reason: 'Gateway message pipe write failed', error };
89
+ }
90
+ return response;
91
+ };
92
+ }
93
+ //# sourceMappingURL=openclaw-message-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-message-bridge.js","sourceRoot":"","sources":["../src/openclaw-message-bridge.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export interface OpenclawPendingSession {
4
4
  generation: string;
5
5
  session_id?: string;
6
6
  }
7
- /** Scan CLI-owned state so a Gateway restart finds unanswered questions. */
7
+ /** Scan CLI-owned state so a Gateway restart finds every live activated session. */
8
8
  export declare function listPendingOpenclawSessions(env: NodeJS.ProcessEnv): OpenclawPendingSession[];
@@ -5,7 +5,7 @@ import { stateDir, loadConfig } from './config.js';
5
5
  import { readSessionState, sessionHasEnded, sessionStatePath, readSessionIncarnation } from './hook-session-state.js';
6
6
  import { readOpenclawGeneration } from './openclaw-generation.js';
7
7
  import { projectBinding, projectEnabled } from './project-enablement.js';
8
- /** Scan CLI-owned state so a Gateway restart finds unanswered questions. */
8
+ /** Scan CLI-owned state so a Gateway restart finds every live activated session. */
9
9
  export function listPendingOpenclawSessions(env) {
10
10
  const directory = path.join(stateDir(env), 'sessions');
11
11
  if (!existsSync(directory))
@@ -35,11 +35,6 @@ export function listPendingOpenclawSessions(env) {
35
35
  const config = loadConfig({ cwd, env, sessionId: sessionKey });
36
36
  if (!projectEnabled(projectBinding(cwd, env, config.project.value)))
37
37
  continue;
38
- const stopped = state.last_stop_at;
39
- if (stopped === undefined ||
40
- !((state.pending ?? []).some((entry) => (entry.asked_at ?? Infinity) <= stopped) ||
41
- (state.accepted !== undefined && state.accepted.delivered_at === undefined)))
42
- continue;
43
38
  sessions.push({ session_key: sessionKey, cwd, generation: generation.id,
44
39
  ...(generation.sessionId === undefined ? {} : { session_id: generation.sessionId }) });
45
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-pending.js","sourceRoot":"","sources":["../src/openclaw-pending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw-pending.js","sourceRoot":"","sources":["../src/openclaw-pending.ts"],"names":[],"mappings":"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"}