aibroker 0.2.0 → 0.2.2
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/dist/backend/api.d.ts +36 -0
- package/dist/backend/api.d.ts.map +1 -1
- package/dist/backend/api.js +84 -11
- package/dist/backend/api.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/package.json +12 -2
package/dist/backend/api.d.ts
CHANGED
|
@@ -3,17 +3,53 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Spawns a Claude Code subprocess via the Agent SDK's query() function.
|
|
5
5
|
* Returns the assistant's response synchronously — no iTerm2 required.
|
|
6
|
+
*
|
|
7
|
+
* Supports multiple parallel sessions, each with its own conversation
|
|
8
|
+
* context, working directory, and Claude session UUID for resume.
|
|
6
9
|
*/
|
|
7
10
|
import type { Backend, APIBackendConfig } from "../types/backend.js";
|
|
11
|
+
/** Metadata for a single API session */
|
|
12
|
+
export interface APISession {
|
|
13
|
+
/** External session ID (e.g. "api-1") */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Human-readable name */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Working directory for this session */
|
|
18
|
+
cwd: string;
|
|
19
|
+
/** Claude Agent SDK session UUID for resume (set after first message) */
|
|
20
|
+
claudeSessionId?: string;
|
|
21
|
+
/** Timestamp of last activity */
|
|
22
|
+
lastActive: number;
|
|
23
|
+
}
|
|
8
24
|
export declare class APIBackend implements Backend {
|
|
9
25
|
readonly name: string;
|
|
10
26
|
readonly type: "api";
|
|
11
27
|
readonly provider: APIBackendConfig["provider"];
|
|
12
28
|
readonly model: string;
|
|
13
29
|
private readonly config;
|
|
30
|
+
/** All active API sessions */
|
|
31
|
+
private readonly sessions;
|
|
32
|
+
/** Currently active session ID */
|
|
33
|
+
private _activeSessionId;
|
|
34
|
+
/** Auto-increment counter for session IDs */
|
|
35
|
+
private nextSessionNum;
|
|
14
36
|
constructor(config: APIBackendConfig & {
|
|
15
37
|
name?: string;
|
|
16
38
|
});
|
|
39
|
+
/** Get the active session ID */
|
|
40
|
+
get activeSessionId(): string;
|
|
41
|
+
/** Switch the active session */
|
|
42
|
+
set activeSessionId(id: string);
|
|
43
|
+
/** Create a new session and make it active */
|
|
44
|
+
createSession(name: string, cwd?: string): APISession;
|
|
45
|
+
/** End a session and switch to another if it was active */
|
|
46
|
+
endSession(id: string): boolean;
|
|
47
|
+
/** Clear the active session's conversation (starts fresh on next message) */
|
|
48
|
+
clearSession(id?: string): void;
|
|
49
|
+
/** List all sessions ordered by number */
|
|
50
|
+
listSessions(): APISession[];
|
|
51
|
+
/** Get session by list index (1-based, matching /s display) */
|
|
52
|
+
getSessionByIndex(index: number): APISession | undefined;
|
|
17
53
|
deliver(message: string, sessionId?: string): Promise<string | undefined>;
|
|
18
54
|
}
|
|
19
55
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/backend/api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/backend/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKrE,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAW,YAAW,OAAO;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C,8BAA8B;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,kCAAkC;IAClC,OAAO,CAAC,gBAAgB,CAAc;IACtC,6CAA6C;IAC7C,OAAO,CAAC,cAAc,CAAK;gBAEf,MAAM,EAAE,gBAAgB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAUxD,gCAAgC;IAChC,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,gCAAgC;IAChC,IAAI,eAAe,CAAC,EAAE,EAAE,MAAM,EAK7B;IAED,8CAA8C;IAC9C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU;IAcrD,2DAA2D;IAC3D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAa/B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/B,0CAA0C;IAC1C,YAAY,IAAI,UAAU,EAAE;IAQ5B,+DAA+D;IAC/D,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAKlD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAiFhF"}
|
package/dist/backend/api.js
CHANGED
|
@@ -3,33 +3,109 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Spawns a Claude Code subprocess via the Agent SDK's query() function.
|
|
5
5
|
* Returns the assistant's response synchronously — no iTerm2 required.
|
|
6
|
+
*
|
|
7
|
+
* Supports multiple parallel sessions, each with its own conversation
|
|
8
|
+
* context, working directory, and Claude session UUID for resume.
|
|
6
9
|
*/
|
|
7
10
|
import { log } from "../core/log.js";
|
|
8
11
|
import { homedir } from "os";
|
|
9
|
-
|
|
10
|
-
const claudeSessionMap = new Map();
|
|
12
|
+
import { spawn } from "child_process";
|
|
11
13
|
export class APIBackend {
|
|
12
14
|
name;
|
|
13
15
|
type = "api";
|
|
14
16
|
provider;
|
|
15
17
|
model;
|
|
16
18
|
config;
|
|
19
|
+
/** All active API sessions */
|
|
20
|
+
sessions = new Map();
|
|
21
|
+
/** Currently active session ID */
|
|
22
|
+
_activeSessionId = "";
|
|
23
|
+
/** Auto-increment counter for session IDs */
|
|
24
|
+
nextSessionNum = 1;
|
|
17
25
|
constructor(config) {
|
|
18
26
|
this.name = config.name ?? `${config.provider}/${config.model}`;
|
|
19
27
|
this.provider = config.provider;
|
|
20
28
|
this.model = config.model;
|
|
21
29
|
this.config = config;
|
|
30
|
+
// Create default session
|
|
31
|
+
this.createSession("Default", config.cwd ?? homedir());
|
|
32
|
+
}
|
|
33
|
+
/** Get the active session ID */
|
|
34
|
+
get activeSessionId() {
|
|
35
|
+
return this._activeSessionId;
|
|
36
|
+
}
|
|
37
|
+
/** Switch the active session */
|
|
38
|
+
set activeSessionId(id) {
|
|
39
|
+
if (this.sessions.has(id)) {
|
|
40
|
+
this._activeSessionId = id;
|
|
41
|
+
log(`APIBackend: switched to session ${id} (${this.sessions.get(id).name})`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Create a new session and make it active */
|
|
45
|
+
createSession(name, cwd) {
|
|
46
|
+
const id = `api-${this.nextSessionNum++}`;
|
|
47
|
+
const session = {
|
|
48
|
+
id,
|
|
49
|
+
name,
|
|
50
|
+
cwd: cwd ?? this.config.cwd ?? homedir(),
|
|
51
|
+
lastActive: Date.now(),
|
|
52
|
+
};
|
|
53
|
+
this.sessions.set(id, session);
|
|
54
|
+
this._activeSessionId = id;
|
|
55
|
+
log(`APIBackend: created session ${id} "${name}" (cwd=${session.cwd})`);
|
|
56
|
+
return session;
|
|
57
|
+
}
|
|
58
|
+
/** End a session and switch to another if it was active */
|
|
59
|
+
endSession(id) {
|
|
60
|
+
if (!this.sessions.has(id))
|
|
61
|
+
return false;
|
|
62
|
+
this.sessions.delete(id);
|
|
63
|
+
log(`APIBackend: ended session ${id}`);
|
|
64
|
+
// Switch to most recent remaining session
|
|
65
|
+
if (this._activeSessionId === id) {
|
|
66
|
+
const remaining = [...this.sessions.values()].sort((a, b) => b.lastActive - a.lastActive);
|
|
67
|
+
this._activeSessionId = remaining.length > 0 ? remaining[0].id : "";
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
/** Clear the active session's conversation (starts fresh on next message) */
|
|
72
|
+
clearSession(id) {
|
|
73
|
+
const targetId = id ?? this._activeSessionId;
|
|
74
|
+
const session = this.sessions.get(targetId);
|
|
75
|
+
if (session) {
|
|
76
|
+
session.claudeSessionId = undefined;
|
|
77
|
+
log(`APIBackend: cleared conversation for session ${targetId}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** List all sessions ordered by number */
|
|
81
|
+
listSessions() {
|
|
82
|
+
return [...this.sessions.values()].sort((a, b) => {
|
|
83
|
+
const numA = parseInt(a.id.replace("api-", ""), 10);
|
|
84
|
+
const numB = parseInt(b.id.replace("api-", ""), 10);
|
|
85
|
+
return numA - numB;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** Get session by list index (1-based, matching /s display) */
|
|
89
|
+
getSessionByIndex(index) {
|
|
90
|
+
const list = this.listSessions();
|
|
91
|
+
return list[index - 1];
|
|
22
92
|
}
|
|
23
93
|
async deliver(message, sessionId) {
|
|
24
94
|
if (this.provider !== "anthropic") {
|
|
25
95
|
log(`APIBackend: provider '${this.provider}' not yet supported, only 'anthropic'`);
|
|
26
96
|
return `Error: provider '${this.provider}' is not yet implemented. Use provider 'anthropic'.`;
|
|
27
97
|
}
|
|
98
|
+
// Resolve session — use explicit ID, fall back to active
|
|
99
|
+
const targetId = sessionId ?? this._activeSessionId;
|
|
100
|
+
const session = targetId ? this.sessions.get(targetId) : undefined;
|
|
101
|
+
const resumeId = session?.claudeSessionId;
|
|
102
|
+
const cwd = session?.cwd ?? this.config.cwd ?? homedir();
|
|
103
|
+
if (session)
|
|
104
|
+
session.lastActive = Date.now();
|
|
28
105
|
try {
|
|
29
106
|
// Dynamic import — avoid loading the SDK at module level for consumers that don't use API mode
|
|
30
107
|
const { query } = await import("@anthropic-ai/claude-agent-sdk");
|
|
31
|
-
|
|
32
|
-
log(`APIBackend: delivering to ${this.model} (session=${sessionId ?? "none"}, resume=${resumeId ?? "new"})`);
|
|
108
|
+
log(`APIBackend: delivering to ${this.model} (session=${targetId ?? "none"}, resume=${resumeId ?? "new"}, cwd=${cwd})`);
|
|
33
109
|
const chunks = [];
|
|
34
110
|
let claudeSessionId;
|
|
35
111
|
// Must unset CLAUDECODE env var to allow nested Claude subprocess
|
|
@@ -39,7 +115,7 @@ export class APIBackend {
|
|
|
39
115
|
prompt: message,
|
|
40
116
|
options: {
|
|
41
117
|
model: this.config.model,
|
|
42
|
-
cwd
|
|
118
|
+
cwd,
|
|
43
119
|
systemPrompt: this.config.systemPrompt,
|
|
44
120
|
permissionMode: this.config.permissionMode ?? "acceptEdits",
|
|
45
121
|
allowedTools: this.config.allowedTools,
|
|
@@ -47,7 +123,6 @@ export class APIBackend {
|
|
|
47
123
|
maxBudgetUsd: this.config.maxBudgetUsd ?? 1.0,
|
|
48
124
|
...(resumeId ? { resume: resumeId } : {}),
|
|
49
125
|
spawnClaudeCodeProcess: ({ args, signal }) => {
|
|
50
|
-
const { spawn } = require("child_process");
|
|
51
126
|
return spawn("claude", args, {
|
|
52
127
|
env: cleanEnv,
|
|
53
128
|
stdio: ["pipe", "pipe", "pipe"],
|
|
@@ -57,14 +132,12 @@ export class APIBackend {
|
|
|
57
132
|
},
|
|
58
133
|
})) {
|
|
59
134
|
if (event.type === "system") {
|
|
60
|
-
// Capture the Claude session ID for multi-turn resume
|
|
61
135
|
const sysEvent = event;
|
|
62
136
|
if (typeof sysEvent.session_id === "string") {
|
|
63
137
|
claudeSessionId = sysEvent.session_id;
|
|
64
138
|
}
|
|
65
139
|
}
|
|
66
140
|
else if (event.type === "assistant") {
|
|
67
|
-
// Extract text content from assistant messages
|
|
68
141
|
const msg = event;
|
|
69
142
|
const message = msg.message;
|
|
70
143
|
const content = message?.content;
|
|
@@ -77,9 +150,9 @@ export class APIBackend {
|
|
|
77
150
|
}
|
|
78
151
|
}
|
|
79
152
|
}
|
|
80
|
-
// Store Claude session
|
|
81
|
-
if (
|
|
82
|
-
|
|
153
|
+
// Store Claude session UUID for future resume
|
|
154
|
+
if (session && claudeSessionId) {
|
|
155
|
+
session.claudeSessionId = claudeSessionId;
|
|
83
156
|
}
|
|
84
157
|
const response = chunks.join("\n").trim();
|
|
85
158
|
log(`APIBackend: got response (${response.length} chars, session=${claudeSessionId ?? "unknown"})`);
|
package/dist/backend/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/backend/api.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/backend/api.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -32,4 +32,5 @@ export type { KokoroVoice } from "./adapters/kokoro/tts.js";
|
|
|
32
32
|
export { transcribeAudio, splitIntoChunks, mimetypeToExt, mimetypeToDocExt, WHISPER_BIN, WHISPER_MODEL, } from "./adapters/kokoro/media.js";
|
|
33
33
|
export { SessionBackend } from "./adapters/session/backend.js";
|
|
34
34
|
export { APIBackend } from "./backend/api.js";
|
|
35
|
+
export type { APISession } from "./backend/api.js";
|
|
35
36
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,WAAW,IAAI,qBAAqB,EACpC,aAAa,IAAI,uBAAuB,GACzC,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACrF,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,WAAW,IAAI,qBAAqB,EACpC,aAAa,IAAI,uBAAuB,GACzC,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACrF,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aibroker",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Platform-agnostic AI message broker — routes between user channels and AI backends",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,7 +19,17 @@
|
|
|
19
19
|
"type": "git",
|
|
20
20
|
"url": "git+https://github.com/mnott/AIBroker.git"
|
|
21
21
|
},
|
|
22
|
-
"keywords": [
|
|
22
|
+
"keywords": [
|
|
23
|
+
"mcp",
|
|
24
|
+
"ai",
|
|
25
|
+
"broker",
|
|
26
|
+
"claude",
|
|
27
|
+
"claude-code",
|
|
28
|
+
"whatsapp",
|
|
29
|
+
"telegram",
|
|
30
|
+
"tts",
|
|
31
|
+
"iterm2"
|
|
32
|
+
],
|
|
23
33
|
"license": "MIT",
|
|
24
34
|
"author": "Matthias Nott",
|
|
25
35
|
"engines": {
|