ttc-ai-chat-sdk 0.0.12-beta → 0.0.14-dev

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/README.md CHANGED
@@ -16,7 +16,7 @@ npm install ttc-ai-chat-sdk
16
16
 
17
17
  ## Quick Start
18
18
 
19
- ### Create a Module
19
+ ### Create a Module (Class-based)
20
20
 
21
21
  Define a module with functions that the AI can call. Use the `ttc.describe` decorator to document each function and optionally specify an `action` for UI feedback:
22
22
 
@@ -49,7 +49,7 @@ export class MyAppModule {
49
49
  }
50
50
  ```
51
51
 
52
- The `action` parameter provides a user-friendly message that you can display in your UI while the function executes. Subscribe to action_log event to capture it.
52
+ The `action` parameter provides a user-friendly message that you can display in your UI while the function executes. Subscribe to `action_log` event to capture it.
53
53
 
54
54
  ### Create a Module (Functional Approach)
55
55
 
@@ -62,6 +62,11 @@ import { z } from "zod";
62
62
  // Create a module
63
63
  const footballModule = ttc.module('Football');
64
64
 
65
+ // Define your function
66
+ const shootBall = async (direction: 'left' | 'right' | 'center', power: number) => {
67
+ return `Kicked the ball to the ${direction} with power ${power}`;
68
+ }
69
+
65
70
  // Add the function to the module
66
71
  footballModule.add_function({
67
72
  name: 'kick',
@@ -71,53 +76,48 @@ footballModule.add_function({
71
76
  }),
72
77
  output_schema: z.string(),
73
78
  doc: 'Kicks the football in a specified direction with a given power',
74
- func: async (direction: 'left' | 'right' | 'center', power: number) => {
75
- return `Kicked the ball to the ${direction} with power ${power}`;
76
- }
79
+ func: shootBall
77
80
  });
78
81
  ```
79
82
 
80
- ### Initialize the SDK
83
+ ### Initialize the Assistant
81
84
 
82
- Set up the SDK with your app ID and modules:
85
+ Set up the assistant with your chat token and modules. The `ttc.assistant()` method returns an `Assistant` instance that you'll use to interact with the AI:
83
86
 
84
87
  ```typescript
85
88
  import { ttc } from "ttc-ai-chat-sdk";
86
89
  import { MyAppModule } from "./modules";
87
90
 
88
- ttc.init({
89
- app_id: "your-app-id",
90
- publicKey: "your-public-key",
91
- modules: [MyAppModule]
92
- });
91
+ const chatToken = "your-chat-token";
92
+ const assistant = ttc.assistant(chatToken, [MyAppModule]);
93
93
  ```
94
94
 
95
95
  ### Subscribe to Events
96
96
 
97
- Listen for real-time events like messages, function calls, and status changes:
97
+ Listen for real-time events like messages, function calls, and status changes using the assistant instance:
98
98
 
99
99
  ```typescript
100
100
  // Subscribe to incoming messages
101
- ttc.subscribe("message", (data) => {
101
+ assistant.subscribe("message", (data) => {
102
102
  const { id, payload } = data;
103
103
  console.log("New message:", payload);
104
104
  });
105
105
 
106
106
  // Subscribe to function calls
107
- ttc.subscribe("function_call", (data) => {
107
+ assistant.subscribe("function_call", (data) => {
108
108
  const { id, payload } = data;
109
109
  console.log("Function called:", payload);
110
110
  });
111
111
 
112
112
  // Subscribe to permission requests
113
- ttc.subscribe("permission", (data) => {
113
+ assistant.subscribe("permission", async (data) => {
114
114
  const { id, payload } = data;
115
115
  console.log("Permission requested:", payload);
116
- ttc.approveFunction(id, true); // for approved status, false for deny status
116
+ await assistant.approveFunction(id, true); // true to approve, false to deny
117
117
  });
118
118
 
119
119
  // Subscribe to action_logs to show UI feedback
120
- ttc.subscribe("action_log", (data) => {
120
+ assistant.subscribe("action_log", (data) => {
121
121
  const { id, payload } = data;
122
122
  console.log(payload);
123
123
  });
@@ -125,16 +125,21 @@ ttc.subscribe("action_log", (data) => {
125
125
 
126
126
  ### Send a Message
127
127
 
128
- Send messages to the AI using the server's ttcCore methods:
128
+ Send messages to the AI using the assistant's `message` method:
129
129
 
130
130
  ```typescript
131
131
  // Send a message to the AI
132
- const response = await ttc.server.ttcCore.chatAI(
133
- conversationId,
134
- "Hello, how can you help me today?"
135
- );
132
+ assistant.message("Hello, how can you help me today?");
133
+ ```
136
134
 
137
- console.log(response);
135
+ ### Get Chat History
136
+
137
+ Retrieve previous messages from the conversation:
138
+
139
+ ```typescript
140
+ // Get chat history (limit, page)
141
+ const messages = await assistant.history(50, 1);
142
+ console.log(messages);
138
143
  ```
139
144
 
140
145
  ### Trigger the AI
@@ -143,11 +148,29 @@ Programmatically trigger the AI to act based on a message:
143
148
 
144
149
  ```typescript
145
150
  // Trigger the AI to perform an action
146
- await ttc.server.TCC.trigger(
147
- conversationId,
148
- "Check the user's cart and suggest related products",
149
- 5 // eta in seconds
150
- );
151
+ await assistant.trigger("Check the user's cart and suggest related products");
152
+ ```
153
+
154
+ ### Additional Assistant Methods
155
+
156
+ ```typescript
157
+ // Clear chat messages (soft reset)
158
+ await assistant.clearMessages();
159
+
160
+ // Wipe all assistant memory and chat messages (hard reset)
161
+ await assistant.reset();
162
+
163
+ // Get assistant statistics
164
+ const stats = await assistant.stats();
165
+
166
+ // Set application context for the AI to reference
167
+ await assistant.selectContext("User is on the checkout page with 3 items in cart");
168
+
169
+ // Get available AI models
170
+ const models = await assistant.getModels();
171
+
172
+ // Switch to a different model
173
+ await assistant.selectModel("model-id", "llm"); // type: 'llm' | 'stt' | 'tts'
151
174
  ```
152
175
 
153
176
  ## Full Documentation
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Assistant = void 0;
4
+ const construct_1 = require("./construct");
5
+ const core_1 = require("./core");
6
+ class Assistant {
7
+ /**
8
+ * subscribe to assistant events
9
+ * @param event
10
+ * @param cb
11
+ */
12
+ async subscribe(event, cb) {
13
+ core_1.ttc.event.on(event, cb);
14
+ }
15
+ /**
16
+ * create an llm construct to handle special tasks
17
+ * @param description
18
+ * @returns
19
+ */
20
+ async construct(description) {
21
+ let construct = new construct_1.TTCContruct(description);
22
+ return construct;
23
+ }
24
+ /**
25
+ * Approve or deny a function call request on permission event
26
+ * @param id
27
+ * @param approval
28
+ */
29
+ async approveFunction(id, approval) {
30
+ await core_1.ttc.approveFunction(id, approval);
31
+ }
32
+ /**
33
+ * Send a message to the assistant
34
+ * @param text
35
+ */
36
+ message(text) {
37
+ core_1.ttc.server.ttcCore.chatAI(text);
38
+ }
39
+ /**
40
+ * Get chat history
41
+ * @param limit
42
+ * @param page
43
+ * @returns
44
+ */
45
+ async history(limit, page) {
46
+ try {
47
+ const response = await core_1.ttc.server.ttcCore.fetchChatHistory(limit, page);
48
+ return response.data;
49
+ }
50
+ catch (error) {
51
+ return [];
52
+ }
53
+ }
54
+ /**
55
+ * Clear chat messages
56
+ */
57
+ async clearMessages() {
58
+ await core_1.ttc.server.ttcCore.reset('soft');
59
+ }
60
+ /**
61
+ * wipe all assistant memory and chat messages
62
+ */
63
+ async reset() {
64
+ await core_1.ttc.server.ttcCore.reset('hard');
65
+ }
66
+ /**
67
+ * Trigger the assistant with a specific message
68
+ * @param trigger_message
69
+ */
70
+ async trigger(trigger_message) {
71
+ await core_1.ttc.server.TCC.trigger(trigger_message, 0);
72
+ }
73
+ /**
74
+ * This returns the assistant important statistics and information
75
+ * @returns
76
+ */
77
+ async stats() {
78
+ return await core_1.ttc.server.TCC.conversation_stats();
79
+ }
80
+ /**
81
+ * This selects an application context for the assistant to use
82
+ * The app context is a small set of fixed data that the assistant can refer to when making decisions
83
+ * Example a form on a site or a game state information or a file being edited
84
+ * @param context_data
85
+ */
86
+ async selectContext(context_data) {
87
+ await core_1.ttc.server.TCC.select_context(context_data);
88
+ }
89
+ /**
90
+ * Get list of models available to the assistant
91
+ * @returns
92
+ */
93
+ async getModels() {
94
+ const result = await core_1.ttc.server.TCC.get_models();
95
+ return result.data;
96
+ }
97
+ /**
98
+ * Select a model for the assistant to use
99
+ * @param model_id
100
+ * @param type
101
+ */
102
+ async selectModel(model_id, type) {
103
+ await core_1.ttc.server.TCC.change_to_model(model_id, type);
104
+ }
105
+ }
106
+ exports.Assistant = Assistant;
107
+ //# sourceMappingURL=assistant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant.js","sourceRoot":"","sources":["../src/assistant.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAC1C,iCAA6B;AAS7B,MAAa,SAAS;IAElB;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,KAAgB,EAAE,EAExB;QACN,UAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB;QAC/B,IAAI,SAAS,GAAG,IAAI,uBAAW,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,QAAiB;QAC/C,MAAM,UAAG,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAY;QAChB,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAY;QAItC,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC,IAAI,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACf,OAAO,EAAE,CAAC;SACV;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACf,MAAM,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,MAAM,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,eAAuB;QACjC,MAAM,UAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACP,OAAO,MAAM,UAAG,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,YAAoB;QACpC,MAAM,UAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QAMX,MAAM,MAAM,GAAG,MAAM,UAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,IAA2B;QAC3D,MAAM,UAAG,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;CACJ;AAxHD,8BAwHC"}
package/dist/construct.js CHANGED
@@ -13,9 +13,9 @@ class TTCContruct {
13
13
  };
14
14
  this.description = description;
15
15
  }
16
- run(conversation_id, instruction) {
16
+ run(instruction) {
17
17
  const request_id = this.randId();
18
- core_1.ttc.server.TCC.invoke_construct(conversation_id, {
18
+ core_1.ttc.server.ttcCore.invoke({
19
19
  description: this.description,
20
20
  instruction: instruction,
21
21
  construct_id: request_id
@@ -1 +1 @@
1
- {"version":3,"file":"construct.js","sourceRoot":"","sources":["../src/construct.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAO7B,MAAa,WAAW;IAIpB,YAAY,WAAmB;QAD/B,cAAS,GAAwC,EAAE,CAAC;QAKpD,WAAM,GAAG,GAAG,EAAE;YACV,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACP,CAAC,CAAA;QARG,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IASD,GAAG,CAAC,eAAuB,EAAE,WAAmB;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,UAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,UAAU;SAC3B,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAS,EAAE,EAAE;gBACvC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtC,CAAC,CAAC;YACF,qFAAqF;YACrF,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;oBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;oBAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;iBACrC;YACL,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,qBAAqB;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AArCD,kCAqCC"}
1
+ {"version":3,"file":"construct.js","sourceRoot":"","sources":["../src/construct.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAQ7B,MAAa,WAAW;IAIpB,YAAY,WAAmB;QAD/B,cAAS,GAAwC,EAAE,CAAC;QAKpD,WAAM,GAAG,GAAG,EAAE;YACV,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACP,CAAC,CAAA;QARG,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IASD,GAAG,CAAC,WAAmB;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,UAAU;SAC3B,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAS,EAAE,EAAE;gBACvC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtC,CAAC,CAAC;YACF,qFAAqF;YACrF,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;oBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;oBAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;iBACrC;YACL,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,qBAAqB;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AArCD,kCAqCC"}
package/dist/core.js CHANGED
@@ -13,8 +13,8 @@ const ttcAI_1 = require("./ttcAI");
13
13
  const eventEmitter_1 = require("./utils/eventEmitter");
14
14
  const ttc_server_1 = require("./ttc_server");
15
15
  const zodToTs_1 = require("./utils/zodToTs");
16
- const construct_1 = require("./construct");
17
16
  const module_1 = require("./utils/module");
17
+ const assistant_1 = require("./assistant");
18
18
  const EventEmitter = (0, eventEmitter_1.getEventEmitterClass)();
19
19
  const zodToJsonSchema = zod_1.z.toJSONSchema;
20
20
  class ttc {
@@ -172,31 +172,23 @@ class ttc {
172
172
  };
173
173
  }
174
174
  }
175
- static init(config) {
176
- const { modules, socketCb, publicKey, app_id } = config;
177
- this.app_id = app_id;
178
- if (!app_id) {
179
- throw new Error("app_id is required");
175
+ static assistant(chatToken, modules) {
176
+ if (!chatToken) {
177
+ throw new Error("chatToken is required");
180
178
  }
181
- if (!publicKey) {
182
- throw new Error("publicKey is required");
183
- }
184
- this.socketCb = socketCb;
185
- this.publicKey = publicKey;
186
- // instantiate emitter appropriate for environment
187
179
  _a.event = (0, eventEmitter_1.createEmitter)();
180
+ this.chatToken = chatToken;
181
+ // instantiate emitter appropriate for environment
188
182
  _a.ai = new ttcAI_1.ttcAI();
189
183
  this.server = new ttc_server_1.RPCClient(ttcAI_1.ttcAI.ttc_Uri, async () => {
190
- const apikey = this.publicKey || '';
184
+ const apikey = this.chatToken || '';
191
185
  return apikey;
192
186
  }, async (socket) => {
193
187
  this.handleSocket(socket);
194
- if (socketCb)
195
- await socketCb(socket);
196
188
  });
197
189
  _a.ai.init();
198
190
  // just to trick TypeScript into recognizing the service decorators
199
- return this;
191
+ return new assistant_1.Assistant();
200
192
  }
201
193
  static async generateRPCMethodsList() {
202
194
  const methods = [];
@@ -279,7 +271,7 @@ class ttc {
279
271
  method: 'GET',
280
272
  headers: {
281
273
  'Content-Type': 'application/json',
282
- 'Authorization': `Bearer ${_a.publicKey}`
274
+ 'Authorization': `Bearer ${_a.chatToken}`
283
275
  },
284
276
  });
285
277
  const result = await response.json();
@@ -321,10 +313,6 @@ class ttc {
321
313
  throw error;
322
314
  }
323
315
  }
324
- static async createConstruct(description) {
325
- let construct = new construct_1.TTCContruct(description);
326
- return construct;
327
- }
328
316
  static async approveFunction(id, approval) {
329
317
  const cb = this.permissions[id];
330
318
  // console.log(cb, 'Approved');
@@ -340,9 +328,6 @@ class ttc {
340
328
  }
341
329
  await this.emit('permission', { id: key, payload: func });
342
330
  }
343
- static async subscribe(event, cb) {
344
- this.event.on(event, cb);
345
- }
346
331
  static async emit(event, data) {
347
332
  this.event.emit(event, data);
348
333
  }
@@ -354,6 +339,7 @@ exports.ttc = ttc;
354
339
  _a = ttc;
355
340
  ttc.rpcRegistry = {};
356
341
  ttc.permissions = {};
342
+ ttc.event = (0, eventEmitter_1.createEmitter)(); // EventEmitter or polyfill
357
343
  ttc.get_action_log = (functionName) => {
358
344
  try {
359
345
  const action = _a.rpcRegistry[functionName]?.action;
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}