@a1hvdy/cc-openclaw 0.5.2 → 0.7.0

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 (98) hide show
  1. package/dist/src/command-router/cc-handler.js +72 -0
  2. package/dist/src/command-router/cc-handler.js.map +1 -1
  3. package/dist/src/constants.d.ts +9 -0
  4. package/dist/src/constants.js +10 -0
  5. package/dist/src/constants.js.map +1 -1
  6. package/dist/src/engines/persistent-session.d.ts +2 -0
  7. package/dist/src/engines/persistent-session.js +41 -11
  8. package/dist/src/engines/persistent-session.js.map +1 -1
  9. package/dist/src/lib/config.d.ts +2 -0
  10. package/dist/src/lib/config.js +19 -0
  11. package/dist/src/lib/config.js.map +1 -1
  12. package/dist/src/lib/sysprompt-strip.js +12 -12
  13. package/dist/src/lib/sysprompt-strip.js.map +1 -1
  14. package/dist/src/lib/trajectory.d.ts +1 -1
  15. package/dist/src/lib/trajectory.js.map +1 -1
  16. package/dist/src/lib/vendor-paths.d.ts +6 -4
  17. package/dist/src/lib/vendor-paths.js +21 -14
  18. package/dist/src/lib/vendor-paths.js.map +1 -1
  19. package/dist/src/openai-compat/openai-compat.d.ts +7 -1
  20. package/dist/src/openai-compat/openai-compat.js +8 -1
  21. package/dist/src/openai-compat/openai-compat.js.map +1 -1
  22. package/dist/src/openai-compat/sse-translator.d.ts +23 -3
  23. package/dist/src/openai-compat/sse-translator.js +45 -6
  24. package/dist/src/openai-compat/sse-translator.js.map +1 -1
  25. package/dist/src/session-bootstrap/cwd-patch.js +59 -28
  26. package/dist/src/session-bootstrap/cwd-patch.js.map +1 -1
  27. package/dist/src/types.d.ts +1 -0
  28. package/package.json +2 -3
  29. package/vendor/base-oneshot-session.d.ts +0 -87
  30. package/vendor/base-oneshot-session.js +0 -227
  31. package/vendor/base-oneshot-session.js.map +0 -1
  32. package/vendor/circuit-breaker.d.ts +0 -21
  33. package/vendor/circuit-breaker.js +0 -47
  34. package/vendor/circuit-breaker.js.map +0 -1
  35. package/vendor/consensus.d.ts +0 -20
  36. package/vendor/consensus.js +0 -52
  37. package/vendor/consensus.js.map +0 -1
  38. package/vendor/constants.d.ts +0 -130
  39. package/vendor/constants.js +0 -139
  40. package/vendor/constants.js.map +0 -1
  41. package/vendor/council.d.ts +0 -67
  42. package/vendor/council.js +0 -913
  43. package/vendor/council.js.map +0 -1
  44. package/vendor/embedded-server.d.ts +0 -25
  45. package/vendor/embedded-server.js +0 -373
  46. package/vendor/embedded-server.js.map +0 -1
  47. package/vendor/inbox-manager.d.ts +0 -38
  48. package/vendor/inbox-manager.js +0 -111
  49. package/vendor/inbox-manager.js.map +0 -1
  50. package/vendor/index.d.ts +0 -63
  51. package/vendor/index.js +0 -705
  52. package/vendor/index.js.map +0 -1
  53. package/vendor/logger.d.ts +0 -16
  54. package/vendor/logger.js +0 -44
  55. package/vendor/logger.js.map +0 -1
  56. package/vendor/models.d.ts +0 -69
  57. package/vendor/models.js +0 -289
  58. package/vendor/models.js.map +0 -1
  59. package/vendor/openai-compat.d.ts +0 -197
  60. package/vendor/openai-compat.js +0 -765
  61. package/vendor/openai-compat.js.map +0 -1
  62. package/vendor/persistent-codex-session.d.ts +0 -16
  63. package/vendor/persistent-codex-session.js +0 -105
  64. package/vendor/persistent-codex-session.js.map +0 -1
  65. package/vendor/persistent-cursor-session.d.ts +0 -21
  66. package/vendor/persistent-cursor-session.js +0 -241
  67. package/vendor/persistent-cursor-session.js.map +0 -1
  68. package/vendor/persistent-custom-session.d.ts +0 -78
  69. package/vendor/persistent-custom-session.js +0 -937
  70. package/vendor/persistent-custom-session.js.map +0 -1
  71. package/vendor/persistent-gemini-session.d.ts +0 -21
  72. package/vendor/persistent-gemini-session.js +0 -216
  73. package/vendor/persistent-gemini-session.js.map +0 -1
  74. package/vendor/persistent-session.d.ts +0 -74
  75. package/vendor/persistent-session.js +0 -684
  76. package/vendor/persistent-session.js.map +0 -1
  77. package/vendor/proxy/anthropic-adapter.d.ts +0 -136
  78. package/vendor/proxy/anthropic-adapter.js +0 -392
  79. package/vendor/proxy/anthropic-adapter.js.map +0 -1
  80. package/vendor/proxy/handler.d.ts +0 -39
  81. package/vendor/proxy/handler.js +0 -323
  82. package/vendor/proxy/handler.js.map +0 -1
  83. package/vendor/proxy/schema-cleaner.d.ts +0 -11
  84. package/vendor/proxy/schema-cleaner.js +0 -34
  85. package/vendor/proxy/schema-cleaner.js.map +0 -1
  86. package/vendor/proxy/thought-cache.d.ts +0 -19
  87. package/vendor/proxy/thought-cache.js +0 -53
  88. package/vendor/proxy/thought-cache.js.map +0 -1
  89. package/vendor/session-manager.d.ts +0 -211
  90. package/vendor/session-manager.js +0 -1345
  91. package/vendor/session-manager.js.map +0 -1
  92. package/vendor/skill-resolver.js +0 -107
  93. package/vendor/types.d.ts +0 -466
  94. package/vendor/types.js +0 -8
  95. package/vendor/types.js.map +0 -1
  96. package/vendor/validation.d.ts +0 -31
  97. package/vendor/validation.js +0 -104
  98. 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;