@karis-ai/cli 0.1.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.
- package/bin/karis.js +2 -0
- package/dist/commands/brand/customize.d.ts +11 -0
- package/dist/commands/brand/customize.d.ts.map +1 -0
- package/dist/commands/brand/customize.js +115 -0
- package/dist/commands/brand/customize.js.map +1 -0
- package/dist/commands/brand/info.d.ts +3 -0
- package/dist/commands/brand/info.d.ts.map +1 -0
- package/dist/commands/brand/info.js +14 -0
- package/dist/commands/brand/info.js.map +1 -0
- package/dist/commands/brand/init.d.ts +7 -0
- package/dist/commands/brand/init.d.ts.map +1 -0
- package/dist/commands/brand/init.js +133 -0
- package/dist/commands/brand/init.js.map +1 -0
- package/dist/commands/brand/list.d.ts +4 -0
- package/dist/commands/brand/list.d.ts.map +1 -0
- package/dist/commands/brand/list.js +46 -0
- package/dist/commands/brand/list.js.map +1 -0
- package/dist/commands/brand/refresh.d.ts +7 -0
- package/dist/commands/brand/refresh.d.ts.map +1 -0
- package/dist/commands/brand/refresh.js +63 -0
- package/dist/commands/brand/refresh.js.map +1 -0
- package/dist/commands/brand/select.d.ts +6 -0
- package/dist/commands/brand/select.d.ts.map +1 -0
- package/dist/commands/brand/select.js +104 -0
- package/dist/commands/brand/select.js.map +1 -0
- package/dist/commands/brand/show.d.ts +4 -0
- package/dist/commands/brand/show.d.ts.map +1 -0
- package/dist/commands/brand/show.js +122 -0
- package/dist/commands/brand/show.js.map +1 -0
- package/dist/commands/capabilities.d.ts +3 -0
- package/dist/commands/capabilities.d.ts.map +1 -0
- package/dist/commands/capabilities.js +103 -0
- package/dist/commands/capabilities.js.map +1 -0
- package/dist/commands/chat.d.ts +3 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +336 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +91 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +148 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/geo.d.ts +3 -0
- package/dist/commands/geo.d.ts.map +1 -0
- package/dist/commands/geo.js +22 -0
- package/dist/commands/geo.js.map +1 -0
- package/dist/commands/login.d.ts +8 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +173 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/memory.d.ts +3 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +19 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/reddit.d.ts +3 -0
- package/dist/commands/reddit.d.ts.map +1 -0
- package/dist/commands/reddit.js +61 -0
- package/dist/commands/reddit.js.map +1 -0
- package/dist/commands/schedule.d.ts +3 -0
- package/dist/commands/schedule.d.ts.map +1 -0
- package/dist/commands/schedule.js +15 -0
- package/dist/commands/schedule.js.map +1 -0
- package/dist/commands/setup.d.ts +11 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +303 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/show.d.ts +3 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +46 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/tools.d.ts +3 -0
- package/dist/commands/tools.d.ts.map +1 -0
- package/dist/commands/tools.js +139 -0
- package/dist/commands/tools.js.map +1 -0
- package/dist/commands/web.d.ts +3 -0
- package/dist/commands/web.d.ts.map +1 -0
- package/dist/commands/web.js +29 -0
- package/dist/commands/web.js.map +1 -0
- package/dist/commands/x.d.ts +3 -0
- package/dist/commands/x.d.ts.map +1 -0
- package/dist/commands/x.js +29 -0
- package/dist/commands/x.js.map +1 -0
- package/dist/commands/youtube.d.ts +3 -0
- package/dist/commands/youtube.d.ts.map +1 -0
- package/dist/commands/youtube.js +16 -0
- package/dist/commands/youtube.js.map +1 -0
- package/dist/core/agent-factory.d.ts +20 -0
- package/dist/core/agent-factory.d.ts.map +1 -0
- package/dist/core/agent-factory.js +26 -0
- package/dist/core/agent-factory.js.map +1 -0
- package/dist/core/agent-interface.d.ts +68 -0
- package/dist/core/agent-interface.d.ts.map +1 -0
- package/dist/core/agent-interface.js +5 -0
- package/dist/core/agent-interface.js.map +1 -0
- package/dist/core/browser-bridge.d.ts +19 -0
- package/dist/core/browser-bridge.d.ts.map +1 -0
- package/dist/core/browser-bridge.js +56 -0
- package/dist/core/browser-bridge.js.map +1 -0
- package/dist/core/cli-context.d.ts +19 -0
- package/dist/core/cli-context.d.ts.map +1 -0
- package/dist/core/cli-context.js +43 -0
- package/dist/core/cli-context.js.map +1 -0
- package/dist/core/client.d.ts +219 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +638 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/errors.d.ts +18 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +107 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/remote-agent.d.ts +36 -0
- package/dist/core/remote-agent.d.ts.map +1 -0
- package/dist/core/remote-agent.js +195 -0
- package/dist/core/remote-agent.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +178 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/agent-helper.d.ts +14 -0
- package/dist/utils/agent-helper.d.ts.map +1 -0
- package/dist/utils/agent-helper.js +54 -0
- package/dist/utils/agent-helper.js.map +1 -0
- package/dist/utils/config.d.ts +26 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +93 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/form-prompt.d.ts +15 -0
- package/dist/utils/form-prompt.d.ts.map +1 -0
- package/dist/utils/form-prompt.js +153 -0
- package/dist/utils/form-prompt.js.map +1 -0
- package/dist/utils/formatter.d.ts +7 -0
- package/dist/utils/formatter.d.ts.map +1 -0
- package/dist/utils/formatter.js +132 -0
- package/dist/utils/formatter.js.map +1 -0
- package/dist/utils/index-cache.d.ts +10 -0
- package/dist/utils/index-cache.d.ts.map +1 -0
- package/dist/utils/index-cache.js +22 -0
- package/dist/utils/index-cache.js.map +1 -0
- package/dist/utils/interactive.d.ts +19 -0
- package/dist/utils/interactive.d.ts.map +1 -0
- package/dist/utils/interactive.js +73 -0
- package/dist/utils/interactive.js.map +1 -0
- package/dist/utils/output.d.ts +41 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +259 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/run-command.d.ts +2 -0
- package/dist/utils/run-command.d.ts.map +1 -0
- package/dist/utils/run-command.js +12 -0
- package/dist/utils/run-command.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../src/commands/youtube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAY7D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { KarisClient } from '../core/client.js';
|
|
2
|
+
import { renderToolResult } from '../utils/formatter.js';
|
|
3
|
+
import { runCommand } from '../utils/run-command.js';
|
|
4
|
+
export function registerYoutubeCommand(program) {
|
|
5
|
+
const yt = program.command('youtube').description('YouTube search');
|
|
6
|
+
yt
|
|
7
|
+
.command('search')
|
|
8
|
+
.description('Search YouTube for videos')
|
|
9
|
+
.argument('<query>', 'Search query')
|
|
10
|
+
.action(runCommand(async (query) => {
|
|
11
|
+
const client = await KarisClient.create();
|
|
12
|
+
const result = await client.toolDirect('search_youtube', { query });
|
|
13
|
+
renderToolResult(result);
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=youtube.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../src/commands/youtube.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEpE,EAAE;SACC,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AgentInterface } from './agent-interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Factory for creating Remote Agent (only mode)
|
|
4
|
+
*/
|
|
5
|
+
export declare class AgentFactory {
|
|
6
|
+
/**
|
|
7
|
+
* Create a Remote Agent
|
|
8
|
+
*
|
|
9
|
+
* Priority for API key:
|
|
10
|
+
* 1. KARIS_API_KEY env var
|
|
11
|
+
* 2. api-key in config
|
|
12
|
+
*
|
|
13
|
+
* Priority for API URL:
|
|
14
|
+
* 1. KARIS_API_URL env var
|
|
15
|
+
* 2. base-url in config
|
|
16
|
+
* 3. Default: https://api.karis.im
|
|
17
|
+
*/
|
|
18
|
+
static create(): Promise<AgentInterface>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=agent-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-factory.d.ts","sourceRoot":"","sources":["../../src/core/agent-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;;;OAWG;WACU,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;CAO/C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RemoteAgent } from './remote-agent.js';
|
|
2
|
+
import { loadResolvedConfig } from '../utils/config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Factory for creating Remote Agent (only mode)
|
|
5
|
+
*/
|
|
6
|
+
export class AgentFactory {
|
|
7
|
+
/**
|
|
8
|
+
* Create a Remote Agent
|
|
9
|
+
*
|
|
10
|
+
* Priority for API key:
|
|
11
|
+
* 1. KARIS_API_KEY env var
|
|
12
|
+
* 2. api-key in config
|
|
13
|
+
*
|
|
14
|
+
* Priority for API URL:
|
|
15
|
+
* 1. KARIS_API_URL env var
|
|
16
|
+
* 2. base-url in config
|
|
17
|
+
* 3. Default: https://api.karis.im
|
|
18
|
+
*/
|
|
19
|
+
static async create() {
|
|
20
|
+
const resolved = await loadResolvedConfig();
|
|
21
|
+
const apiKey = resolved.apiKey.value || '';
|
|
22
|
+
const apiUrl = resolved.apiUrl.value || 'https://api.karis.im';
|
|
23
|
+
return new RemoteAgent({ apiKey, apiUrl });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=agent-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-factory.js","sourceRoot":"","sources":["../../src/core/agent-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,sBAAsB,CAAC;QAE/D,OAAO,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent interface for the current Karis Platform runtime.
|
|
3
|
+
*/
|
|
4
|
+
export interface ChatMessage {
|
|
5
|
+
role: 'system' | 'user' | 'assistant';
|
|
6
|
+
content: string;
|
|
7
|
+
}
|
|
8
|
+
export interface HitlFormItem {
|
|
9
|
+
type: string;
|
|
10
|
+
label: string;
|
|
11
|
+
value?: unknown;
|
|
12
|
+
default?: unknown[];
|
|
13
|
+
options?: Array<{
|
|
14
|
+
label: string;
|
|
15
|
+
value: string;
|
|
16
|
+
} | string>;
|
|
17
|
+
description?: string;
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface HitlFormSection {
|
|
21
|
+
subtitle?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
items: HitlFormItem[];
|
|
24
|
+
}
|
|
25
|
+
export interface HitlFormData {
|
|
26
|
+
title?: string;
|
|
27
|
+
passthrough?: boolean;
|
|
28
|
+
sections?: HitlFormSection[];
|
|
29
|
+
}
|
|
30
|
+
export interface StreamChunk {
|
|
31
|
+
type: 'content' | 'tool_start' | 'tool_end' | 'error' | 'done' | 'hitl_request';
|
|
32
|
+
content?: string;
|
|
33
|
+
tool?: string;
|
|
34
|
+
title?: string;
|
|
35
|
+
args?: Record<string, unknown>;
|
|
36
|
+
result?: string;
|
|
37
|
+
latency_ms?: number;
|
|
38
|
+
error?: string;
|
|
39
|
+
hitl_id?: string;
|
|
40
|
+
hitl_type?: string;
|
|
41
|
+
form_data?: HitlFormData;
|
|
42
|
+
prompt?: string;
|
|
43
|
+
auth_url?: string;
|
|
44
|
+
}
|
|
45
|
+
export type AgentMode = 'remote';
|
|
46
|
+
export interface AgentInterface {
|
|
47
|
+
/**
|
|
48
|
+
* Check if the agent is properly configured
|
|
49
|
+
*/
|
|
50
|
+
isAvailable(): Promise<boolean>;
|
|
51
|
+
/**
|
|
52
|
+
* Get brand context as a system message
|
|
53
|
+
*/
|
|
54
|
+
getBrandContext(): Promise<ChatMessage | null>;
|
|
55
|
+
/**
|
|
56
|
+
* Stream chat responses
|
|
57
|
+
*/
|
|
58
|
+
streamChat(messages: ChatMessage[], onChunk?: (chunk: StreamChunk) => void, skillHint?: string, toolHint?: string): AsyncGenerator<StreamChunk, void, unknown>;
|
|
59
|
+
/**
|
|
60
|
+
* Get the agent mode
|
|
61
|
+
*/
|
|
62
|
+
getMode(): AgentMode;
|
|
63
|
+
/**
|
|
64
|
+
* Get a description of the agent
|
|
65
|
+
*/
|
|
66
|
+
getDescription(): string;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=agent-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-interface.d.ts","sourceRoot":"","sources":["../../src/core/agent-interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,UAAU,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9C;;OAEG;IACH,OAAO,IAAI,SAAS,CAAC;IAErB;;OAEG;IACH,cAAc,IAAI,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-interface.js","sourceRoot":"","sources":["../../src/core/agent-interface.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser bridge — runtime detection of @jackwener/opencli.
|
|
3
|
+
* Detects availability by resolving the package path (never importing it,
|
|
4
|
+
* since opencli's main entry runs Commander which conflicts with our CLI).
|
|
5
|
+
*/
|
|
6
|
+
export interface BrowserBridgeResult {
|
|
7
|
+
ok: boolean;
|
|
8
|
+
output?: string;
|
|
9
|
+
error?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function isBrowserAvailable(): Promise<boolean>;
|
|
12
|
+
export declare function execBrowser(site: string, command: string, args?: string[]): Promise<BrowserBridgeResult | null>;
|
|
13
|
+
export declare function browserNotInstalledMessage(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Extract a short, user-friendly message from raw opencli stderr.
|
|
16
|
+
* Falls back to the raw string if no known pattern matches.
|
|
17
|
+
*/
|
|
18
|
+
export declare function friendlyBrowserError(raw: string): string;
|
|
19
|
+
//# sourceMappingURL=browser-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-bridge.d.ts","sourceRoot":"","sources":["../../src/core/browser-bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAW3D;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,GAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAcrC;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASxD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser bridge — runtime detection of @jackwener/opencli.
|
|
3
|
+
* Detects availability by resolving the package path (never importing it,
|
|
4
|
+
* since opencli's main entry runs Commander which conflicts with our CLI).
|
|
5
|
+
*/
|
|
6
|
+
import { createRequire } from 'module';
|
|
7
|
+
import { exec as execCb } from 'child_process';
|
|
8
|
+
import { promisify } from 'util';
|
|
9
|
+
const execAsync = promisify(execCb);
|
|
10
|
+
let _available = null;
|
|
11
|
+
export async function isBrowserAvailable() {
|
|
12
|
+
if (_available !== null)
|
|
13
|
+
return _available;
|
|
14
|
+
try {
|
|
15
|
+
const require = createRequire(import.meta.url);
|
|
16
|
+
require.resolve('@jackwener/opencli');
|
|
17
|
+
_available = true;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
_available = false;
|
|
21
|
+
}
|
|
22
|
+
return _available;
|
|
23
|
+
}
|
|
24
|
+
export async function execBrowser(site, command, args = []) {
|
|
25
|
+
if (!(await isBrowserAvailable()))
|
|
26
|
+
return null;
|
|
27
|
+
try {
|
|
28
|
+
const cmd = ['npx', '@jackwener/opencli', site, command, ...args]
|
|
29
|
+
.map(a => (a.includes(' ') ? `"${a}"` : a))
|
|
30
|
+
.join(' ');
|
|
31
|
+
const { stdout, stderr } = await execAsync(cmd, { timeout: 30_000 });
|
|
32
|
+
return { ok: true, output: stdout.trim(), error: stderr.trim() || undefined };
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
36
|
+
return { ok: false, error: message };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export function browserNotInstalledMessage() {
|
|
40
|
+
return 'Browser engine not installed. Run: npm i -g @jackwener/opencli';
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Extract a short, user-friendly message from raw opencli stderr.
|
|
44
|
+
* Falls back to the raw string if no known pattern matches.
|
|
45
|
+
*/
|
|
46
|
+
export function friendlyBrowserError(raw) {
|
|
47
|
+
if (/BROWSER_CONNECT/i.test(raw) || /require login/i.test(raw)) {
|
|
48
|
+
return 'Browser session required. Start Chrome with --remote-debugging-port=9222 and log in first.';
|
|
49
|
+
}
|
|
50
|
+
if (/timeout/i.test(raw)) {
|
|
51
|
+
return 'Browser command timed out. Is Chrome running with remote debugging?';
|
|
52
|
+
}
|
|
53
|
+
const firstLine = raw.split('\n')[0]?.replace(/^Command failed:.*?\n?/, '').trim();
|
|
54
|
+
return firstLine || raw.slice(0, 120);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=browser-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-bridge.js","sourceRoot":"","sources":["../../src/core/browser-bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAQpC,IAAI,UAAU,GAAmB,IAAI,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACtC,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,OAAe,EACf,OAAiB,EAAE;IAEnB,IAAI,CAAC,CAAC,MAAM,kBAAkB,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;aAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,gEAAgE,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,4FAA4F,CAAC;IACtG,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,qEAAqE,CAAC;IAC/E,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,OAAO,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type OutputMode = 'text' | 'json' | 'jsonl' | 'yaml' | 'table' | 'csv' | 'md';
|
|
2
|
+
export interface CliContext {
|
|
3
|
+
outputMode: OutputMode;
|
|
4
|
+
commandPath?: string;
|
|
5
|
+
compact?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function setCliContext(context: CliContext): void;
|
|
8
|
+
export declare function updateCliContext(partial: Partial<CliContext>): void;
|
|
9
|
+
export declare function getCliContext(): CliContext;
|
|
10
|
+
export declare function isTextOutput(): boolean;
|
|
11
|
+
export declare function isJsonOutput(): boolean;
|
|
12
|
+
export declare function isYamlOutput(): boolean;
|
|
13
|
+
export declare function isJsonLinesOutput(): boolean;
|
|
14
|
+
export declare function isStructuredOutput(): boolean;
|
|
15
|
+
export declare function isTableOutput(): boolean;
|
|
16
|
+
export declare function isCsvOutput(): boolean;
|
|
17
|
+
export declare function isMdOutput(): boolean;
|
|
18
|
+
export declare function isCompactOutput(): boolean;
|
|
19
|
+
//# sourceMappingURL=cli-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-context.d.ts","sourceRoot":"","sources":["../../src/core/cli-context.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;AAErF,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAKnE;AAED,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
let currentContext = {
|
|
2
|
+
outputMode: 'text',
|
|
3
|
+
};
|
|
4
|
+
export function setCliContext(context) {
|
|
5
|
+
currentContext = context;
|
|
6
|
+
}
|
|
7
|
+
export function updateCliContext(partial) {
|
|
8
|
+
currentContext = {
|
|
9
|
+
...currentContext,
|
|
10
|
+
...partial,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function getCliContext() {
|
|
14
|
+
return currentContext;
|
|
15
|
+
}
|
|
16
|
+
export function isTextOutput() {
|
|
17
|
+
return currentContext.outputMode === 'text';
|
|
18
|
+
}
|
|
19
|
+
export function isJsonOutput() {
|
|
20
|
+
return currentContext.outputMode === 'json';
|
|
21
|
+
}
|
|
22
|
+
export function isYamlOutput() {
|
|
23
|
+
return currentContext.outputMode === 'yaml';
|
|
24
|
+
}
|
|
25
|
+
export function isJsonLinesOutput() {
|
|
26
|
+
return currentContext.outputMode === 'jsonl';
|
|
27
|
+
}
|
|
28
|
+
export function isStructuredOutput() {
|
|
29
|
+
return currentContext.outputMode !== 'text';
|
|
30
|
+
}
|
|
31
|
+
export function isTableOutput() {
|
|
32
|
+
return currentContext.outputMode === 'table';
|
|
33
|
+
}
|
|
34
|
+
export function isCsvOutput() {
|
|
35
|
+
return currentContext.outputMode === 'csv';
|
|
36
|
+
}
|
|
37
|
+
export function isMdOutput() {
|
|
38
|
+
return currentContext.outputMode === 'md';
|
|
39
|
+
}
|
|
40
|
+
export function isCompactOutput() {
|
|
41
|
+
return currentContext.compact === true;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cli-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-context.js","sourceRoot":"","sources":["../../src/core/cli-context.ts"],"names":[],"mappings":"AAQA,IAAI,cAAc,GAAe;IAC/B,UAAU,EAAE,MAAM;CACnB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,OAAmB;IAC/C,cAAc,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAA4B;IAC3D,cAAc,GAAG;QACf,GAAG,cAAc;QACjB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,cAAc,CAAC,UAAU,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,cAAc,CAAC,UAAU,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,cAAc,CAAC,UAAU,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC,UAAU,KAAK,OAAO,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,cAAc,CAAC,UAAU,KAAK,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,cAAc,CAAC,UAAU,KAAK,OAAO,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,cAAc,CAAC,UAAU,KAAK,KAAK,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,cAAc,CAAC,OAAO,KAAK,IAAI,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
export interface AgentEvent {
|
|
2
|
+
type: 'text' | 'tool_start' | 'tool_end' | 'done' | 'error' | 'hitl_request';
|
|
3
|
+
data?: Record<string, unknown>;
|
|
4
|
+
}
|
|
5
|
+
export interface ChatOptions {
|
|
6
|
+
conversationId?: string;
|
|
7
|
+
mode?: 'lite' | 'full';
|
|
8
|
+
skillHint?: string;
|
|
9
|
+
toolHint?: string;
|
|
10
|
+
toolArgs?: Record<string, unknown>;
|
|
11
|
+
direct?: boolean;
|
|
12
|
+
tz?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface HistoryMessage {
|
|
15
|
+
role: 'user' | 'assistant';
|
|
16
|
+
content: string;
|
|
17
|
+
created_at?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ConversationHistory {
|
|
20
|
+
messages: HistoryMessage[];
|
|
21
|
+
has_more: boolean;
|
|
22
|
+
summary?: string | null;
|
|
23
|
+
}
|
|
24
|
+
export interface HistoryOptions {
|
|
25
|
+
before?: number;
|
|
26
|
+
limit?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface APIKeyInfo {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
key_prefix: string;
|
|
32
|
+
status: string;
|
|
33
|
+
credit_limit: number | null;
|
|
34
|
+
credits_consumed: number | null;
|
|
35
|
+
scopes?: string[];
|
|
36
|
+
expires_at: string | null;
|
|
37
|
+
created_at: string;
|
|
38
|
+
}
|
|
39
|
+
export interface BrandAssetsSelection {
|
|
40
|
+
brand_id: string;
|
|
41
|
+
canonical_domain: string;
|
|
42
|
+
display_name: string;
|
|
43
|
+
aliases: string[];
|
|
44
|
+
domains: string[];
|
|
45
|
+
is_selected: boolean;
|
|
46
|
+
binding_status: string;
|
|
47
|
+
binding_created_at: string;
|
|
48
|
+
has_customization: boolean;
|
|
49
|
+
public_updated_at: string;
|
|
50
|
+
last_ack_public_at: string | null;
|
|
51
|
+
has_public_update: boolean;
|
|
52
|
+
previous_available: boolean;
|
|
53
|
+
public_profile_hash: string;
|
|
54
|
+
public_clusters_hash: string;
|
|
55
|
+
brand_profile: {
|
|
56
|
+
profile: {
|
|
57
|
+
name: string;
|
|
58
|
+
tagline?: string;
|
|
59
|
+
one_liner?: string;
|
|
60
|
+
categories?: string[];
|
|
61
|
+
brand_aliases?: string[];
|
|
62
|
+
core_offerings?: string[];
|
|
63
|
+
core_value_props?: string[];
|
|
64
|
+
primary_audiences?: string[];
|
|
65
|
+
positioning_angles?: string[];
|
|
66
|
+
primary_brand_jobs?: string[];
|
|
67
|
+
inferred_industries?: string[];
|
|
68
|
+
personas?: string[];
|
|
69
|
+
linkage?: any;
|
|
70
|
+
competitive_landscape?: {
|
|
71
|
+
summary?: string;
|
|
72
|
+
segments?: any[];
|
|
73
|
+
direct_competitor?: Array<{
|
|
74
|
+
name: string;
|
|
75
|
+
domain: string;
|
|
76
|
+
confidence: string;
|
|
77
|
+
}>;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
data_sources?: string[];
|
|
81
|
+
model?: string;
|
|
82
|
+
};
|
|
83
|
+
topic_clusters?: {
|
|
84
|
+
clusters?: any[];
|
|
85
|
+
data_sources?: string[];
|
|
86
|
+
model?: string;
|
|
87
|
+
};
|
|
88
|
+
brand_assets_kit_payload: any | null;
|
|
89
|
+
brand_assets_kit_sources: any | null;
|
|
90
|
+
brand_kit: any | null;
|
|
91
|
+
generation_status?: {
|
|
92
|
+
profile?: {
|
|
93
|
+
status: string;
|
|
94
|
+
started_at: string;
|
|
95
|
+
duration_ms: number;
|
|
96
|
+
model: string;
|
|
97
|
+
last_updated_by_user_email: string | null;
|
|
98
|
+
progress_percent: number;
|
|
99
|
+
};
|
|
100
|
+
clusters?: {
|
|
101
|
+
status: string;
|
|
102
|
+
started_at: string;
|
|
103
|
+
duration_ms: number;
|
|
104
|
+
model: string;
|
|
105
|
+
last_updated_by_user_email: string | null;
|
|
106
|
+
progress_percent: number;
|
|
107
|
+
};
|
|
108
|
+
overall_progress_percent?: number;
|
|
109
|
+
stage?: string;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export interface BrandProfile {
|
|
113
|
+
id: string;
|
|
114
|
+
domain: string;
|
|
115
|
+
name: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
longDescription?: string;
|
|
118
|
+
claimed?: boolean;
|
|
119
|
+
tagline?: string;
|
|
120
|
+
one_liner?: string;
|
|
121
|
+
category?: string;
|
|
122
|
+
categories?: string[];
|
|
123
|
+
industries?: string[];
|
|
124
|
+
audience?: {
|
|
125
|
+
primary?: string;
|
|
126
|
+
secondary?: string;
|
|
127
|
+
};
|
|
128
|
+
value_propositions?: string[];
|
|
129
|
+
competitors?: Array<{
|
|
130
|
+
name: string;
|
|
131
|
+
domain: string;
|
|
132
|
+
}>;
|
|
133
|
+
keywords?: string[];
|
|
134
|
+
channels?: string[];
|
|
135
|
+
tone?: string;
|
|
136
|
+
colors?: any[];
|
|
137
|
+
logos?: any[];
|
|
138
|
+
fonts?: any[];
|
|
139
|
+
links?: any[];
|
|
140
|
+
}
|
|
141
|
+
export interface BrandCustomizations {
|
|
142
|
+
category?: string;
|
|
143
|
+
categories?: string[];
|
|
144
|
+
industries?: string[];
|
|
145
|
+
audience?: {
|
|
146
|
+
primary?: string;
|
|
147
|
+
secondary?: string;
|
|
148
|
+
};
|
|
149
|
+
value_propositions?: string[];
|
|
150
|
+
competitors?: Array<{
|
|
151
|
+
name: string;
|
|
152
|
+
domain: string;
|
|
153
|
+
}>;
|
|
154
|
+
keywords?: string[];
|
|
155
|
+
channels?: string[];
|
|
156
|
+
tone?: string;
|
|
157
|
+
}
|
|
158
|
+
export type BrandAssetsSnapshot = BrandProfile;
|
|
159
|
+
export interface ToolInfo {
|
|
160
|
+
name: string;
|
|
161
|
+
description: string;
|
|
162
|
+
parameters?: Record<string, unknown>;
|
|
163
|
+
timeout?: number;
|
|
164
|
+
}
|
|
165
|
+
export interface SkillInfo {
|
|
166
|
+
slug: string;
|
|
167
|
+
description: string;
|
|
168
|
+
}
|
|
169
|
+
export interface ToolsResponse {
|
|
170
|
+
status: string;
|
|
171
|
+
data: {
|
|
172
|
+
tools: ToolInfo[];
|
|
173
|
+
skills: SkillInfo[];
|
|
174
|
+
layers: Record<string, string>;
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
export declare class KarisApiError extends Error {
|
|
178
|
+
readonly code: string;
|
|
179
|
+
readonly statusCode: number;
|
|
180
|
+
readonly exitCode: number;
|
|
181
|
+
constructor(message: string, code: string, statusCode: number, exitCode: number);
|
|
182
|
+
}
|
|
183
|
+
export interface KarisClientOptions {
|
|
184
|
+
apiKey?: string;
|
|
185
|
+
apiUrl?: string;
|
|
186
|
+
}
|
|
187
|
+
export declare class KarisClient {
|
|
188
|
+
private apiKey;
|
|
189
|
+
private apiUrl;
|
|
190
|
+
private static readonly CHAT_CONNECT_TIMEOUT_MS;
|
|
191
|
+
constructor(options?: KarisClientOptions);
|
|
192
|
+
static create(): Promise<KarisClient>;
|
|
193
|
+
hasApiKey(): boolean;
|
|
194
|
+
verifyKey(): Promise<APIKeyInfo>;
|
|
195
|
+
ensureConversation(): Promise<string>;
|
|
196
|
+
chat(message: string, options?: ChatOptions): AsyncGenerator<AgentEvent>;
|
|
197
|
+
resumeEvents(conversationId: string, since?: string): AsyncGenerator<AgentEvent>;
|
|
198
|
+
getHistory(conversationId: string, options?: HistoryOptions): Promise<ConversationHistory>;
|
|
199
|
+
clearHistory(conversationId: string): Promise<void>;
|
|
200
|
+
interrupt(conversationId: string): Promise<void>;
|
|
201
|
+
respondHitl(conversationId: string, hitlId: string, payload: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
202
|
+
toolDirect(toolName: string, args: Record<string, unknown>, conversationId?: string): Promise<unknown>;
|
|
203
|
+
listTools(): Promise<ToolsResponse>;
|
|
204
|
+
getBrand(): Promise<BrandProfile | null>;
|
|
205
|
+
createBrand(domain: string): Promise<BrandProfile>;
|
|
206
|
+
/** List all brands for the current user */
|
|
207
|
+
listBrands(): Promise<BrandProfile[]>;
|
|
208
|
+
/** Set the selected brand (switch active brand) */
|
|
209
|
+
setBrandSelection(brandId: string): Promise<BrandProfile>;
|
|
210
|
+
updateBrand(customizations: BrandCustomizations): Promise<BrandProfile>;
|
|
211
|
+
/** Refresh brand data from source (Brandfetch) */
|
|
212
|
+
refreshBrand(brandId: string, scopes?: string[]): Promise<BrandProfile>;
|
|
213
|
+
private consumeSSE;
|
|
214
|
+
private parseEvent;
|
|
215
|
+
private extractMessage;
|
|
216
|
+
private buildError;
|
|
217
|
+
private isTimeoutError;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|