@qilin-agent/client-product-analytics 0.0.0-stage → 3.1.6
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/LICENSE +21 -0
- package/README.i18n.yaml +31 -0
- package/README.md +44 -2
- package/README.zh.md +45 -0
- package/lib/client.js +83 -0
- package/lib/index.js +1 -0
- package/lib/types/client/index.d.ts +46 -0
- package/lib/types/events.d.ts +97 -0
- package/lib/types/index.d.ts +11 -0
- package/package.json +63 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 kkutysllb
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.i18n.yaml
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading
|
|
2
|
+
# section, a hash of its English and Chinese blocks outside code blocks and generated regions.
|
|
3
|
+
# After editing either side, bring the other along and re-record with:
|
|
4
|
+
# pnpm run verify-translation-pairing --write packages/api/product-analytics/README.md
|
|
5
|
+
/:
|
|
6
|
+
en: 398f54a8df19322f
|
|
7
|
+
zh: 0304784692321677
|
|
8
|
+
/qilin-agent-client-product-analytics:
|
|
9
|
+
en: 250636b2ae989acf
|
|
10
|
+
zh: f6fd7680f4fddf6b
|
|
11
|
+
/qilin-agent-client-product-analytics/summary:
|
|
12
|
+
en: 117758dc74e2dd5c
|
|
13
|
+
zh: cc4af24392853000
|
|
14
|
+
/qilin-agent-client-product-analytics/table-of-contents:
|
|
15
|
+
en: 4e53164159b5ce41
|
|
16
|
+
zh: adba5f78f4fe4801
|
|
17
|
+
/qilin-agent-client-product-analytics/use-this-package:
|
|
18
|
+
en: 43b4c57162dc9f6a
|
|
19
|
+
zh: b87d9f39b133d9bd
|
|
20
|
+
/qilin-agent-client-product-analytics/dev-note:
|
|
21
|
+
en: 3155a54154dfbdd4
|
|
22
|
+
zh: a80fb690600452fd
|
|
23
|
+
/qilin-agent-client-product-analytics/model-experience:
|
|
24
|
+
en: 291751b16b8a37e7
|
|
25
|
+
zh: 291751b16b8a37e7
|
|
26
|
+
/qilin-agent-client-product-analytics/model-experience/kv-cache-effect:
|
|
27
|
+
en: 1f5125831808e7a9
|
|
28
|
+
zh: 1f5125831808e7a9
|
|
29
|
+
/qilin-agent-client-product-analytics/known-limitations-and-deferred-work:
|
|
30
|
+
en: 80765498b4de1e64
|
|
31
|
+
zh: 842499d9f28d08c8
|
package/README.md
CHANGED
|
@@ -1,3 +1,45 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
description: "The product event map the desktop reports usage against, without the collector that upstream ships beside it."
|
|
3
|
+
kind: "package-reference"
|
|
4
|
+
---
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
# @qilin-agent/client-product-analytics
|
|
7
|
+
|
|
8
|
+
English | [中文](README.zh.md)
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
`@qilin-agent/client-product-analytics` publishes the event names and field types the desktop reports product usage against, plus the desktop renderer's `./client` sender that reports them through the Host's authenticated analytics Remote namespace. It carries no collector: the upstream package's Host plugin, its generated Typert faces, locale files, and environment sampling depend on host packages this repository does not have yet.
|
|
13
|
+
|
|
14
|
+
## Table of Contents
|
|
15
|
+
|
|
16
|
+
- [Use this package](#use-this-package)
|
|
17
|
+
- [Model Experience](#model-experience)
|
|
18
|
+
- [Known Limitations and Deferred Work](#known-limitations-and-deferred-work)
|
|
19
|
+
- [Dev Note](#dev-note)
|
|
20
|
+
|
|
21
|
+
-----
|
|
22
|
+
|
|
23
|
+
<a id="use-this-package"></a>
|
|
24
|
+
## Use this package
|
|
25
|
+
|
|
26
|
+
Import the map where an event is declared and the event type where one is sent:
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
<a id="dev-note"></a>
|
|
30
|
+
## Dev Note
|
|
31
|
+
|
|
32
|
+
The upstream package is `the upstream client/product-analytics package` in `deepseek-harness`; its host half depends on `@deepseek-ai/dsh-host-product-telemetry-otel`, which has no counterpart here yet.
|
|
33
|
+
|
|
34
|
+
## Model Experience
|
|
35
|
+
|
|
36
|
+
None, as analytics adds no model context or Session events.
|
|
37
|
+
|
|
38
|
+
#### KV Cache effect
|
|
39
|
+
|
|
40
|
+
None; collection does not modify model requests.
|
|
41
|
+
|
|
42
|
+
## Known Limitations and Deferred Work
|
|
43
|
+
|
|
44
|
+
- The collector, its Host Remote methods, and the locale files are not ported. The `./client` sender needs the analytics Remote namespace the desktop Host serves; nothing in this repository mounts it, so the sender stays unused until the Host half lands.
|
|
45
|
+
- The desktop reports against these events through its own sender, which lives in the desktop application rather than here.
|
package/README.zh.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "桌面端上报产品用量所依据的事件映射,不含上游与之同发的采集器。"
|
|
3
|
+
kind: "package-reference"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# @qilin-agent/client-product-analytics
|
|
7
|
+
|
|
8
|
+
[English](README.md) | 中文
|
|
9
|
+
|
|
10
|
+
## 概述
|
|
11
|
+
|
|
12
|
+
`@qilin-agent/client-product-analytics` 发布桌面端上报产品用量所依据的事件名与字段类型,以及桌面渲染端的 `./client` 发送方——它经宿主已鉴权的分析 Remote 命名空间上报。它不带采集器:上游那个包的宿主插件、其生成的 Typert 面、locale 文件与环境采样都依赖本仓暂时没有的宿主包。
|
|
13
|
+
|
|
14
|
+
## 目录
|
|
15
|
+
|
|
16
|
+
- [Use this package](#use-this-package)
|
|
17
|
+
- [Model Experience](#model-experience)
|
|
18
|
+
- [Known Limitations and Deferred Work](#known-limitations-and-deferred-work)
|
|
19
|
+
- [Dev Note](#dev-note)
|
|
20
|
+
|
|
21
|
+
-----
|
|
22
|
+
|
|
23
|
+
<a id="use-this-package"></a>
|
|
24
|
+
## Use this package
|
|
25
|
+
|
|
26
|
+
在声明事件处引用映射,在发送处引用事件类型:
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
<a id="dev-note"></a>
|
|
30
|
+
## 开发备注
|
|
31
|
+
|
|
32
|
+
上游包是 `deepseek-harness` 的 `the upstream client/product-analytics package`;它的宿主半边依赖 `@deepseek-ai/dsh-host-product-telemetry-otel`,本仓暂无对应物。
|
|
33
|
+
|
|
34
|
+
## Model Experience
|
|
35
|
+
|
|
36
|
+
None, as analytics adds no model context or Session events.
|
|
37
|
+
|
|
38
|
+
#### KV Cache effect
|
|
39
|
+
|
|
40
|
+
None; collection does not modify model requests.
|
|
41
|
+
|
|
42
|
+
## Known Limitations and Deferred Work
|
|
43
|
+
|
|
44
|
+
- 采集器、其宿主 Remote 方法与 locale 文件未移植。`./client` 发送方需要桌面宿主提供的分析 Remote 命名空间;本仓没有任何地方挂载它,因此宿主半边落地前该发送方不会被使用。
|
|
45
|
+
- 桌面端通过这些事件上报,发送方在桌面应用内,不在此处。
|
package/lib/client.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
window.__ModuleLoader__.load({
|
|
2
|
+
id: "@qilin-agent/client-product-analytics",
|
|
3
|
+
factory: (require) => {
|
|
4
|
+
var module = { exports: {} };
|
|
5
|
+
var exports = module.exports;
|
|
6
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
|
+
let _qilin_agent_kylin = require("@qilin-agent/kylin");
|
|
8
|
+
//#region lib/types/client/index.js
|
|
9
|
+
/**
|
|
10
|
+
* Desktop renderer analytics sender; browser applications have no collection
|
|
11
|
+
* capability.
|
|
12
|
+
*
|
|
13
|
+
* The Host half of this package (the collector plugin and its generated Typert
|
|
14
|
+
* faces) is not ported yet, so the analytics namespace is declared here from
|
|
15
|
+
* the endpoints the desktop Host already serves. Replace that declaration with
|
|
16
|
+
* the generated `./remote` face once the Host half lands.
|
|
17
|
+
*/
|
|
18
|
+
var DesktopAnalytics = class extends _qilin_agent_kylin.Service {
|
|
19
|
+
collecting = false;
|
|
20
|
+
submit;
|
|
21
|
+
constructor(ctx) {
|
|
22
|
+
super(ctx, "productAnalytics");
|
|
23
|
+
this.submit = async (event) => {
|
|
24
|
+
try {
|
|
25
|
+
await ctx.remote.productAnalytics.report(event);
|
|
26
|
+
} catch (_error) {}
|
|
27
|
+
};
|
|
28
|
+
if (!("qilinDesktop" in globalThis)) return;
|
|
29
|
+
const stream = ctx.remote.$stream({
|
|
30
|
+
name: "product analytics policy",
|
|
31
|
+
open: (signal) => ctx.remote.productAnalytics.watchPolicy(signal),
|
|
32
|
+
ended: () => /* @__PURE__ */ new Error("product analytics policy stream ended"),
|
|
33
|
+
carrierFailed: () => {
|
|
34
|
+
this.collecting = false;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
ctx.effect(() => () => {
|
|
38
|
+
this.collecting = false;
|
|
39
|
+
return stream.dispose();
|
|
40
|
+
});
|
|
41
|
+
(async () => {
|
|
42
|
+
for await (const frame of stream) {
|
|
43
|
+
this.collecting = frame.value;
|
|
44
|
+
frame.accept();
|
|
45
|
+
}
|
|
46
|
+
})().catch(() => {
|
|
47
|
+
this.collecting = false;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/** Whether the synchronized Host configuration currently permits collection. */
|
|
51
|
+
get enabled() {
|
|
52
|
+
return this.collecting;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Send an event without retaining it for reconnect or later enablement.
|
|
56
|
+
* @param name - event name.
|
|
57
|
+
* @param attributes - approved business fields.
|
|
58
|
+
* @param timestamp - occurrence time; defaults to the current time.
|
|
59
|
+
*/
|
|
60
|
+
track(name, attributes, timestamp = Date.now()) {
|
|
61
|
+
if (!this.enabled) return;
|
|
62
|
+
const event = {
|
|
63
|
+
eventName: name,
|
|
64
|
+
attributes,
|
|
65
|
+
timestamp
|
|
66
|
+
};
|
|
67
|
+
this.submit(event);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
/** Analytics consumes authenticated RPC and its reconnecting policy stream. */
|
|
71
|
+
const inject = ["remote", "remote.productAnalytics"];
|
|
72
|
+
/** @param ctx - browser application context. */
|
|
73
|
+
function apply(ctx) {
|
|
74
|
+
ctx.plugin(DesktopAnalytics);
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
exports.apply = apply;
|
|
78
|
+
exports.inject = inject;
|
|
79
|
+
return module.exports;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=client.js.map
|
package/lib/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Desktop renderer analytics sender; browser applications have no collection
|
|
3
|
+
* capability.
|
|
4
|
+
*
|
|
5
|
+
* The Host half of this package (the collector plugin and its generated Typert
|
|
6
|
+
* faces) is not ported yet, so the analytics namespace is declared here from
|
|
7
|
+
* the endpoints the desktop Host already serves. Replace that declaration with
|
|
8
|
+
* the generated `./remote` face once the Host half lands.
|
|
9
|
+
*/
|
|
10
|
+
import { Service, type Context } from '@qilin-agent/kylin';
|
|
11
|
+
import type { RemoteResult, RemoteStreamHandle } from '@qilin-agent/typert-protocol';
|
|
12
|
+
import type { ProductEvent, ProductEventMap } from '../events.ts';
|
|
13
|
+
export type { ProductEvent, ProductEventMap, TrackProductEvent } from '../events.ts';
|
|
14
|
+
/** The authenticated analytics namespace mounted by the desktop Client assembly. */
|
|
15
|
+
declare module '@qilin-agent/typert-protocol' {
|
|
16
|
+
interface TypertRemoteNamespaceMap {
|
|
17
|
+
productAnalytics: {
|
|
18
|
+
report: (event: ProductEvent) => Promise<RemoteResult<void>>;
|
|
19
|
+
watchPolicy: (signal?: AbortSignal) => RemoteStreamHandle<boolean, never>;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
declare module '@qilin-agent/kylin' {
|
|
24
|
+
interface Context {
|
|
25
|
+
productAnalytics: DesktopAnalytics;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
declare class DesktopAnalytics extends Service {
|
|
29
|
+
private collecting;
|
|
30
|
+
private readonly submit;
|
|
31
|
+
constructor(ctx: Context);
|
|
32
|
+
/** Whether the synchronized Host configuration currently permits collection. */
|
|
33
|
+
get enabled(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Send an event without retaining it for reconnect or later enablement.
|
|
36
|
+
* @param name - event name.
|
|
37
|
+
* @param attributes - approved business fields.
|
|
38
|
+
* @param timestamp - occurrence time; defaults to the current time.
|
|
39
|
+
*/
|
|
40
|
+
track<K extends keyof ProductEventMap>(name: K, attributes: ProductEventMap[K], timestamp?: number): void;
|
|
41
|
+
}
|
|
42
|
+
/** Analytics consumes authenticated RPC and its reconnecting policy stream. */
|
|
43
|
+
export declare const inject: string[];
|
|
44
|
+
/** @param ctx - browser application context. */
|
|
45
|
+
export declare function apply(ctx: Context): void;
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** Desktop analytics fields selected by product event owners. */
|
|
2
|
+
import type { SessionId } from '@qilin-agent/session/types';
|
|
3
|
+
import type { MessageId } from '@qilin-agent/llm/brand';
|
|
4
|
+
/** Event names and their selected product attributes. */
|
|
5
|
+
export interface ProductEventMap {
|
|
6
|
+
desktop_app_launch: Record<string, never>;
|
|
7
|
+
auth_page_view: Record<string, never>;
|
|
8
|
+
auth_page_click: {
|
|
9
|
+
button_name: 'sign_in' | 'api-key';
|
|
10
|
+
};
|
|
11
|
+
api_key_save_click: Record<string, never>;
|
|
12
|
+
onboarding_page_view: {
|
|
13
|
+
page_name: OnboardingPage;
|
|
14
|
+
};
|
|
15
|
+
onboarding_page_click: {
|
|
16
|
+
page_name: OnboardingPage;
|
|
17
|
+
button_name: 'next' | 'back' | 'skip' | 'charge' | 'later' | 'continue';
|
|
18
|
+
selected_content?: 'office' | 'code' | 'code_office' | 'focus_result' | 'key_detail' | 'full_process';
|
|
19
|
+
};
|
|
20
|
+
onboarding_popup_view: {
|
|
21
|
+
popup_name: 'skip_charge' | 'skip_setting';
|
|
22
|
+
};
|
|
23
|
+
onboarding_popup_click: {
|
|
24
|
+
popup_name: 'skip_charge' | 'skip_setting';
|
|
25
|
+
button_name: 'charge' | 'know' | 'enter' | 'setting' | 'close';
|
|
26
|
+
};
|
|
27
|
+
desktop_upgrade_click: Record<string, never>;
|
|
28
|
+
desktop_upgrade_download_result: {
|
|
29
|
+
is_success: boolean;
|
|
30
|
+
error_reason?: string;
|
|
31
|
+
};
|
|
32
|
+
desktop_upgrade_install_restart_click: Record<string, never>;
|
|
33
|
+
send_button_click: {
|
|
34
|
+
session_id?: SessionId;
|
|
35
|
+
model_name?: string;
|
|
36
|
+
thinking_effort?: string;
|
|
37
|
+
run_mode: 'plan' | 'goal' | 'default';
|
|
38
|
+
msg_type: 'default' | 'steer' | 'queue';
|
|
39
|
+
};
|
|
40
|
+
model_switch: {
|
|
41
|
+
session_id?: SessionId;
|
|
42
|
+
switch_from: string;
|
|
43
|
+
switch_to: string;
|
|
44
|
+
};
|
|
45
|
+
thinking_level_switch: {
|
|
46
|
+
session_id?: SessionId;
|
|
47
|
+
switch_from: string;
|
|
48
|
+
switch_to: string;
|
|
49
|
+
model_name: string;
|
|
50
|
+
};
|
|
51
|
+
context_compression: {
|
|
52
|
+
session_id: SessionId;
|
|
53
|
+
trigger_type: 'auto' | 'manual';
|
|
54
|
+
};
|
|
55
|
+
branch_session_click: {
|
|
56
|
+
session_id: SessionId;
|
|
57
|
+
parent_session_id: SessionId;
|
|
58
|
+
parent_message_id?: MessageId;
|
|
59
|
+
click_position: 'footer' | 'sidebar';
|
|
60
|
+
};
|
|
61
|
+
sidebar_menu_click: {
|
|
62
|
+
menu_name: 'plugin' | 'cron';
|
|
63
|
+
};
|
|
64
|
+
plugin_toggle: {
|
|
65
|
+
plugin_name: string;
|
|
66
|
+
plugin_type: 'plugin' | 'bundle';
|
|
67
|
+
is_enabled: boolean;
|
|
68
|
+
is_builtin: boolean;
|
|
69
|
+
};
|
|
70
|
+
plugin_add_button_click: Record<string, never>;
|
|
71
|
+
plugin_install_click: {
|
|
72
|
+
input_value: string;
|
|
73
|
+
};
|
|
74
|
+
install_plugin_result: {
|
|
75
|
+
input_value: string;
|
|
76
|
+
is_success: boolean;
|
|
77
|
+
error_reason?: string;
|
|
78
|
+
duration: number;
|
|
79
|
+
plugin_name?: string;
|
|
80
|
+
};
|
|
81
|
+
confirm_uninstall_plugin: {
|
|
82
|
+
plugin_name: string;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** Public page names independent of internal onboarding state names. */
|
|
86
|
+
export type OnboardingPage = 'onboarding_welcome' | 'onboarding_recharge' | 'onboarding_use_case' | 'onboarding_process';
|
|
87
|
+
/** Correlated event name and attributes for the authenticated analytics RPC. */
|
|
88
|
+
export type ProductEvent = {
|
|
89
|
+
[K in keyof ProductEventMap]: {
|
|
90
|
+
eventName: K;
|
|
91
|
+
attributes: ProductEventMap[K];
|
|
92
|
+
timestamp: number;
|
|
93
|
+
};
|
|
94
|
+
}[keyof ProductEventMap];
|
|
95
|
+
/** Callback passed into presentation components; omitted when collection is disabled. */
|
|
96
|
+
export type TrackProductEvent = <K extends keyof ProductEventMap>(name: K, attributes: ProductEventMap[K]) => void;
|
|
97
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Product analytics event map, as the desktop consumes it.
|
|
3
|
+
*
|
|
4
|
+
* The upstream package also carries a collector plugin, a remote Typert surface,
|
|
5
|
+
* and locale files; those depend on host packages this repository does not have
|
|
6
|
+
* yet, so this package exposes the event map alone.
|
|
7
|
+
*
|
|
8
|
+
* @module @qilin-agent/client-product-analytics
|
|
9
|
+
*/
|
|
10
|
+
export type * from './events.ts';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,66 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qilin-agent/client-product-analytics",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"description": "Desktop product event collection and authenticated Host reporting",
|
|
4
|
+
"version": "3.1.6",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/kkutysllb/QiLin.git",
|
|
11
|
+
"directory": "packages/api/product-analytics"
|
|
12
|
+
},
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "lib/index.js",
|
|
15
|
+
"types": "lib/types/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./lib/types/index.d.ts",
|
|
19
|
+
"default": "./lib/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./client": {
|
|
22
|
+
"types": "./lib/types/client/index.d.ts",
|
|
23
|
+
"default": "./lib/client.js"
|
|
24
|
+
},
|
|
25
|
+
"./types": {
|
|
26
|
+
"types": "./lib/types/events.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./src/*": "./src/*",
|
|
29
|
+
"./package.json": "./package.json"
|
|
30
|
+
},
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"@qilin-agent/kylin": "~4.0.5"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@qilin-agent/kylin": "~4.0.5",
|
|
37
|
+
"@qilin-agent/kylin-plugin-loader": "~1.0.6",
|
|
38
|
+
"@qilin-agent/app-boot": "3.1.6",
|
|
39
|
+
"@qilin-agent/session": "3.1.6",
|
|
40
|
+
"@qilin-agent/llm": "3.1.6",
|
|
41
|
+
"@qilin-agent/api-gateway": "3.1.6",
|
|
42
|
+
"@qilin-agent/typert-protocol": "3.1.6"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {},
|
|
45
|
+
"optionalDependencies": {},
|
|
46
|
+
"files": [
|
|
47
|
+
"lib/index.js",
|
|
48
|
+
"lib/client.js",
|
|
49
|
+
"lib/types/**/*.d.ts"
|
|
50
|
+
],
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": "^22.19.0 || >=24.0.0"
|
|
53
|
+
},
|
|
54
|
+
"qilin": {
|
|
55
|
+
"client": {
|
|
56
|
+
"inject": [
|
|
57
|
+
"@qilin-agent/api-gateway"
|
|
58
|
+
],
|
|
59
|
+
"platform": "web"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"bundle": "tsdown",
|
|
64
|
+
"watch": "tsdown --watch"
|
|
65
|
+
}
|
|
6
66
|
}
|