@ray-js/t-agent-plugin-aistream 0.2.7-beta.2 → 0.2.7-beta.3

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.
@@ -1040,6 +1040,22 @@ export type GetNetworkTypeParams = {
1040
1040
  };
1041
1041
  }) => void;
1042
1042
  };
1043
+ export type EventParams = {
1044
+ /** 事件id */
1045
+ eventId: string;
1046
+ /** 事件点对象 */
1047
+ event: Record<string, any>;
1048
+ complete?: () => void;
1049
+ success?: (params: null) => void;
1050
+ fail?: (params: {
1051
+ errorMsg: string;
1052
+ errorCode: string | number;
1053
+ innerError: {
1054
+ errorCode: string | number;
1055
+ errorMsg: string;
1056
+ };
1057
+ }) => void;
1058
+ };
1043
1059
  export type CheckConnectParams = {
1044
1060
  /** client 类型: 1-作为设备代理, 2-作为 App */
1045
1061
  clientType: ConnectClientType;
@@ -1,4 +1,5 @@
1
1
  import { AsrAgent } from './AsrAgent';
2
+ import { trackEvent } from '../utils/track';
2
3
 
3
4
  /**
4
5
  * 创建一个AsrAgent实例,用于语音转文本
@@ -31,5 +32,8 @@ import { AsrAgent } from './AsrAgent';
31
32
  */
32
33
  export function createAsrAgent(options) {
33
34
  const asrAgent = new AsrAgent(options);
35
+ trackEvent(options.agentId, 'create_asr_agent', {
36
+ recordingOptions: options.recordingOptions
37
+ });
34
38
  return asrAgent;
35
39
  }
@@ -0,0 +1 @@
1
+ export declare function trackEvent(agent_code: string, type: string, params?: Record<string, any>): Promise<void>;
@@ -0,0 +1,29 @@
1
+ import "core-js/modules/es.json.stringify.js";
2
+ import { getAccountInfo, sendEvent } from './ttt';
3
+ const eventId = 'thing_jKaquNvaV2qMDvTpKcNQvb1ZppBZnlNq';
4
+ let accountInfoPromise = null;
5
+ export async function trackEvent(agent_code, type) {
6
+ let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
7
+ if (!accountInfoPromise) {
8
+ accountInfoPromise = getAccountInfo();
9
+ }
10
+ const {
11
+ miniProgram
12
+ } = await accountInfoPromise;
13
+ try {
14
+ await sendEvent({
15
+ eventId,
16
+ event: {
17
+ type,
18
+ agent_code,
19
+ miniapp_code: miniProgram.appId,
20
+ miniapp_version: miniProgram.version,
21
+ miniapp_name: miniProgram.appName,
22
+ miniapp_env: miniProgram.envVersion,
23
+ params: JSON.stringify(params)
24
+ }
25
+ });
26
+ } catch (e) {
27
+ console.error('track event error', e);
28
+ }
29
+ }
@@ -1,4 +1,4 @@
1
- import { ApiRequestByAtopParams, ApiRequestByHighwayParams, AudioBody, AuthorizeParams, AuthorizePolicyStatusParams, CanIUseRouterParams, CloseSessionParams, ConnectParams, ConnectStateBody, CreateSessionParams, DeleteRecordListParams, DisconnectParams, EventBody, EventChannelMessageParams, GetAppInfoParams, GetCurrentHomeInfoParams, GetMiniAppConfigParams, GetAccountInfoParams, ImageBody, InsertRecordParams, NavigateToMiniProgramParams, OpenInnerH5Params, OpenMiniWidgetParams, QueryAgentTokenParams, QueryRecordListParams, RecordAmplitudesBody, RegisterChannelParams, RouterParams, SendEventChatBreakParams, SendEventEndParams, SendEventPayloadEndParams, SendEventStartParams, SendImageDataParams, SendTextDataParams, SessionStateBody, StartRecordAndSendAudioDataParams, StopRecordAndSendAudioDataParams, TextBody, UpdateRecordParams, IsConnectedParams, GetNetworkTypeParams, StartPlayAudioParams, InitAudioRecorderParams, StopPlayAudioParams, AudioPlayChangedBody } from '../AIStreamTypes';
1
+ import { ApiRequestByAtopParams, ApiRequestByHighwayParams, AudioBody, AuthorizeParams, AuthorizePolicyStatusParams, CanIUseRouterParams, CloseSessionParams, ConnectParams, ConnectStateBody, CreateSessionParams, DeleteRecordListParams, DisconnectParams, EventBody, EventChannelMessageParams, GetAppInfoParams, GetCurrentHomeInfoParams, GetMiniAppConfigParams, GetAccountInfoParams, ImageBody, InsertRecordParams, NavigateToMiniProgramParams, OpenInnerH5Params, OpenMiniWidgetParams, QueryAgentTokenParams, QueryRecordListParams, RecordAmplitudesBody, RegisterChannelParams, RouterParams, SendEventChatBreakParams, SendEventEndParams, SendEventPayloadEndParams, SendEventStartParams, SendImageDataParams, SendTextDataParams, SessionStateBody, StartRecordAndSendAudioDataParams, StopRecordAndSendAudioDataParams, TextBody, UpdateRecordParams, IsConnectedParams, GetNetworkTypeParams, StartPlayAudioParams, InitAudioRecorderParams, StopPlayAudioParams, AudioPlayChangedBody, EventParams } from '../AIStreamTypes';
2
2
  export declare const getMiniAppConfig: (options?: Omit<GetMiniAppConfigParams, "success" | "fail"> | undefined) => Promise<{
3
3
  config: any;
4
4
  }>;
@@ -113,3 +113,4 @@ export declare const getNetworkType: (options?: Omit<GetNetworkTypeParams, "succ
113
113
  networkType: import("../AIStreamTypes").NetworkType;
114
114
  signalStrength: number;
115
115
  }>;
116
+ export declare const sendEvent: (options?: Omit<EventParams, "success" | "fail"> | undefined) => Promise<null>;
package/dist/utils/ttt.js CHANGED
@@ -91,4 +91,5 @@ export const queryRecordList = promisify(ty.aistream.queryRecordList, true);
91
91
  export const deleteRecordList = promisify(ty.aistream.deleteRecordList, true);
92
92
  export const updateRecord = promisify(ty.aistream.updateRecord, true);
93
93
  export const insertRecord = promisify(ty.aistream.insertRecord, true);
94
- export const getNetworkType = promisify(ty.getNetworkType, true);
94
+ export const getNetworkType = promisify(ty.getNetworkType, true);
95
+ export const sendEvent = promisify(ty.event);
@@ -15,6 +15,7 @@ import { DEFAULT_TOKEN_API, DEFAULT_TOKEN_API_VERSION, globalAIStreamClient } fr
15
15
  import logger from './utils/logger';
16
16
  import { ChatHistoryLocalStore } from './ChatHistoryLocalStore';
17
17
  import { deepMerge } from './utils/object';
18
+ import { trackEvent } from './utils/track';
18
19
  export function withAIStream() {
19
20
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
20
21
  const hooks = createHooks();
@@ -61,6 +62,10 @@ export function withAIStream() {
61
62
  if (clientType === ConnectClientType.APP && deviceId) {
62
63
  throw new Error('deviceId is not allowed when clientType is app');
63
64
  }
65
+ trackEvent(agentId, 'on_agent_start', {
66
+ clientType,
67
+ tokenApi: "".concat(tokenOptions.api, "_").concat(tokenOptions.version)
68
+ });
64
69
  let homeId = options.homeId;
65
70
  if (clientType === ConnectClientType.DEVELOPER) {
66
71
  homeId = 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ray-js/t-agent-plugin-aistream",
3
- "version": "0.2.7-beta.2",
3
+ "version": "0.2.7-beta.3",
4
4
  "author": "Tuya.inc",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -35,5 +35,5 @@
35
35
  "devDependencies": {
36
36
  "@types/url-parse": "^1.4.11"
37
37
  },
38
- "gitHead": "c600e01e2bc977e22d9c5d114c721f6d87d21149"
38
+ "gitHead": "44d1d2ecb71857a1337c20137fe39d25384fdcdb"
39
39
  }