@a1hvdy/cc-openclaw 0.6.0 → 0.7.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 (88) hide show
  1. package/dist/src/engines/persistent-session.js +13 -0
  2. package/dist/src/engines/persistent-session.js.map +1 -1
  3. package/dist/src/lib/config.d.ts +2 -0
  4. package/dist/src/lib/config.js +19 -0
  5. package/dist/src/lib/config.js.map +1 -1
  6. package/dist/src/lib/trajectory.d.ts +1 -1
  7. package/dist/src/lib/trajectory.js.map +1 -1
  8. package/dist/src/lib/vendor-paths.d.ts +6 -4
  9. package/dist/src/lib/vendor-paths.js +21 -14
  10. package/dist/src/lib/vendor-paths.js.map +1 -1
  11. package/dist/src/openai-compat/openai-compat.d.ts +7 -1
  12. package/dist/src/openai-compat/openai-compat.js +35 -4
  13. package/dist/src/openai-compat/openai-compat.js.map +1 -1
  14. package/dist/src/openai-compat/sse-translator.d.ts +23 -3
  15. package/dist/src/openai-compat/sse-translator.js +45 -6
  16. package/dist/src/openai-compat/sse-translator.js.map +1 -1
  17. package/dist/src/types.d.ts +9 -0
  18. package/package.json +2 -3
  19. package/vendor/base-oneshot-session.d.ts +0 -87
  20. package/vendor/base-oneshot-session.js +0 -227
  21. package/vendor/base-oneshot-session.js.map +0 -1
  22. package/vendor/circuit-breaker.d.ts +0 -21
  23. package/vendor/circuit-breaker.js +0 -47
  24. package/vendor/circuit-breaker.js.map +0 -1
  25. package/vendor/consensus.d.ts +0 -20
  26. package/vendor/consensus.js +0 -52
  27. package/vendor/consensus.js.map +0 -1
  28. package/vendor/constants.d.ts +0 -130
  29. package/vendor/constants.js +0 -139
  30. package/vendor/constants.js.map +0 -1
  31. package/vendor/council.d.ts +0 -67
  32. package/vendor/council.js +0 -913
  33. package/vendor/council.js.map +0 -1
  34. package/vendor/embedded-server.d.ts +0 -25
  35. package/vendor/embedded-server.js +0 -373
  36. package/vendor/embedded-server.js.map +0 -1
  37. package/vendor/inbox-manager.d.ts +0 -38
  38. package/vendor/inbox-manager.js +0 -111
  39. package/vendor/inbox-manager.js.map +0 -1
  40. package/vendor/index.d.ts +0 -63
  41. package/vendor/index.js +0 -705
  42. package/vendor/index.js.map +0 -1
  43. package/vendor/logger.d.ts +0 -16
  44. package/vendor/logger.js +0 -44
  45. package/vendor/logger.js.map +0 -1
  46. package/vendor/models.d.ts +0 -69
  47. package/vendor/models.js +0 -289
  48. package/vendor/models.js.map +0 -1
  49. package/vendor/openai-compat.d.ts +0 -197
  50. package/vendor/openai-compat.js +0 -765
  51. package/vendor/openai-compat.js.map +0 -1
  52. package/vendor/persistent-codex-session.d.ts +0 -16
  53. package/vendor/persistent-codex-session.js +0 -105
  54. package/vendor/persistent-codex-session.js.map +0 -1
  55. package/vendor/persistent-cursor-session.d.ts +0 -21
  56. package/vendor/persistent-cursor-session.js +0 -241
  57. package/vendor/persistent-cursor-session.js.map +0 -1
  58. package/vendor/persistent-custom-session.d.ts +0 -78
  59. package/vendor/persistent-custom-session.js +0 -937
  60. package/vendor/persistent-custom-session.js.map +0 -1
  61. package/vendor/persistent-gemini-session.d.ts +0 -21
  62. package/vendor/persistent-gemini-session.js +0 -216
  63. package/vendor/persistent-gemini-session.js.map +0 -1
  64. package/vendor/persistent-session.d.ts +0 -74
  65. package/vendor/persistent-session.js +0 -698
  66. package/vendor/persistent-session.js.map +0 -1
  67. package/vendor/proxy/anthropic-adapter.d.ts +0 -136
  68. package/vendor/proxy/anthropic-adapter.js +0 -392
  69. package/vendor/proxy/anthropic-adapter.js.map +0 -1
  70. package/vendor/proxy/handler.d.ts +0 -39
  71. package/vendor/proxy/handler.js +0 -323
  72. package/vendor/proxy/handler.js.map +0 -1
  73. package/vendor/proxy/schema-cleaner.d.ts +0 -11
  74. package/vendor/proxy/schema-cleaner.js +0 -34
  75. package/vendor/proxy/schema-cleaner.js.map +0 -1
  76. package/vendor/proxy/thought-cache.d.ts +0 -19
  77. package/vendor/proxy/thought-cache.js +0 -53
  78. package/vendor/proxy/thought-cache.js.map +0 -1
  79. package/vendor/session-manager.d.ts +0 -211
  80. package/vendor/session-manager.js +0 -1345
  81. package/vendor/session-manager.js.map +0 -1
  82. package/vendor/skill-resolver.js +0 -107
  83. package/vendor/types.d.ts +0 -466
  84. package/vendor/types.js +0 -8
  85. package/vendor/types.js.map +0 -1
  86. package/vendor/validation.d.ts +0 -31
  87. package/vendor/validation.js +0 -104
  88. package/vendor/validation.js.map +0 -1
@@ -1,111 +0,0 @@
1
- /**
2
- * Cross-session messaging (inbox) manager.
3
- *
4
- * Manages message delivery between sessions. Idle sessions receive messages
5
- * immediately; busy sessions queue for later delivery via deliverInbox().
6
- */
7
- import { MAX_INBOX_SIZE } from './constants.js';
8
- export class InboxManager {
9
- inboxes = new Map();
10
- static escapeXmlAttr(s) {
11
- return s.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
12
- }
13
- wrapCrossSessionMessage(msg) {
14
- const esc = InboxManager.escapeXmlAttr;
15
- const attrs = `from="${esc(msg.from)}"${msg.summary ? ` summary="${esc(msg.summary)}"` : ''}`;
16
- return `<cross-session-message ${attrs}>\n${msg.text}\n</cross-session-message>`;
17
- }
18
- /**
19
- * Send a message from one session to another (or broadcast with to='*').
20
- * Returns whether the message was delivered immediately or queued.
21
- */
22
- async sendTo(from, to, message, lookup, summary, onBroadcastError) {
23
- if (!lookup.exists(from))
24
- throw new Error(`Sender session '${from}' not found`);
25
- if (to !== '*' && !lookup.exists(to))
26
- throw new Error(`Target session '${to}' not found`);
27
- const inboxMsg = {
28
- from,
29
- text: message,
30
- timestamp: new Date().toISOString(),
31
- read: false,
32
- summary,
33
- };
34
- // Broadcast
35
- if (to === '*') {
36
- let delivered = 0;
37
- for (const name of lookup.allNames()) {
38
- if (name === from)
39
- continue;
40
- try {
41
- const ok = await this._deliverOrQueue(name, inboxMsg, lookup);
42
- if (ok)
43
- delivered++;
44
- }
45
- catch (err) {
46
- onBroadcastError?.(name, err);
47
- }
48
- }
49
- return { delivered: delivered > 0, queued: delivered === 0 };
50
- }
51
- const delivered = await this._deliverOrQueue(to, inboxMsg, lookup);
52
- return { delivered, queued: !delivered };
53
- }
54
- /** Read inbox messages for a session. */
55
- inbox(name, unreadOnly = true) {
56
- const box = this.inboxes.get(name) || [];
57
- return unreadOnly ? box.filter((m) => !m.read) : box;
58
- }
59
- /** Deliver all queued unread messages to a session, mark as read. */
60
- async deliverInbox(name, lookup) {
61
- const managed = lookup.getSession(name);
62
- if (!managed)
63
- throw new Error(`Session '${name}' not found`);
64
- const box = this.inboxes.get(name);
65
- if (!box || box.length === 0)
66
- return 0;
67
- const unread = box.filter((m) => !m.read);
68
- if (unread.length === 0)
69
- return 0;
70
- const formatted = unread.map((m) => this.wrapCrossSessionMessage(m)).join('\n\n');
71
- await managed.session.send(formatted, { waitForComplete: false });
72
- for (const m of unread)
73
- m.read = true;
74
- return unread.length;
75
- }
76
- /** Clear inbox for a session. */
77
- clear(name) {
78
- this.inboxes.delete(name);
79
- }
80
- // ── Private ─────────────────────────────────────────────────────────────
81
- async _deliverOrQueue(sessionName, msg, lookup) {
82
- const managed = lookup.getSession(sessionName);
83
- if (!managed)
84
- return false;
85
- // If session is idle, deliver directly
86
- if (!managed.session.isBusy && managed.session.isReady) {
87
- try {
88
- await managed.session.send(this.wrapCrossSessionMessage(msg), { waitForComplete: false });
89
- msg.read = true;
90
- return true;
91
- }
92
- catch {
93
- // Fall through to queue
94
- }
95
- }
96
- // Queue in inbox (with size cap — drop oldest read messages first)
97
- if (!this.inboxes.has(sessionName))
98
- this.inboxes.set(sessionName, []);
99
- const box = this.inboxes.get(sessionName);
100
- if (box.length >= MAX_INBOX_SIZE) {
101
- const readIdx = box.findIndex((m) => m.read);
102
- if (readIdx >= 0)
103
- box.splice(readIdx, 1);
104
- else
105
- box.shift(); // drop oldest unread as last resort
106
- }
107
- box.push(msg);
108
- return false;
109
- }
110
- }
111
- //# sourceMappingURL=inbox-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inbox-manager.js","sourceRoot":"","sources":["../../src/inbox-manager.ts"],"names":[],"mappings":"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"}
package/vendor/index.d.ts DELETED
@@ -1,63 +0,0 @@
1
- /**
2
- * openclaw-claude-code — Plugin entry point
3
- *
4
- * Registers tools, hooks, and HTTP routes with the OpenClaw Plugin SDK.
5
- * When used standalone (no OpenClaw), exports SessionManager for direct use.
6
- *
7
- * Lazy initialisation: SessionManager and EmbeddedServer are created only on
8
- * the first tool call. While the plugin is registered but never used, it
9
- * consumes no memory beyond the tool schema definitions.
10
- */
11
- export { SessionManager } from './session-manager.js';
12
- export { PersistentClaudeSession } from './persistent-session.js';
13
- export { BaseOneShotSession, type OneShotEngineConfig } from './base-oneshot-session.js';
14
- export { PersistentCodexSession } from './persistent-codex-session.js';
15
- export { PersistentGeminiSession } from './persistent-gemini-session.js';
16
- export { PersistentCursorSession } from './persistent-cursor-session.js';
17
- export { PersistentCustomSession } from './persistent-custom-session.js';
18
- export { Council, getDefaultCouncilConfig } from './council.js';
19
- export { parseConsensus, stripConsensusTags, hasConsensusMarker } from './consensus.js';
20
- export { sanitizeCwd, validateRegex, validateName } from './validation.js';
21
- export { type Logger, createConsoleLogger, nullLogger } from './logger.js';
22
- export { CircuitBreaker } from './circuit-breaker.js';
23
- export { InboxManager, type SessionLookup } from './inbox-manager.js';
24
- export type { ISession } from './types.js';
25
- export * from './types.js';
26
- /** OpenClaw Plugin SDK interface (minimal typing for what we use) */
27
- interface PluginAPI {
28
- pluginConfig: Record<string, unknown>;
29
- logger: {
30
- info(...args: unknown[]): void;
31
- error(...args: unknown[]): void;
32
- warn(...args: unknown[]): void;
33
- };
34
- registerTool(def: {
35
- name: string;
36
- label?: string;
37
- description: string;
38
- parameters: Record<string, unknown>;
39
- execute: (toolCallId: string, params: Record<string, unknown>) => Promise<unknown>;
40
- }): void;
41
- on(event: string, handler: (event: Record<string, unknown>, ctx?: unknown) => Promise<void>): void;
42
- registerHttpRoute(def: {
43
- path: string;
44
- auth?: string;
45
- match?: string;
46
- handler: (...args: unknown[]) => Promise<boolean>;
47
- }): void;
48
- registerService(def: {
49
- id: string;
50
- start: () => void;
51
- stop: () => void;
52
- }): void;
53
- }
54
- /**
55
- * OpenClaw plugin object — standard format
56
- */
57
- declare const plugin: {
58
- id: string;
59
- name: string;
60
- description: string;
61
- register(api: PluginAPI): void;
62
- };
63
- export default plugin;