ttc-origin-server 0.8.0 → 0.8.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/index.d.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import express from 'express';
2
2
  export { ttc, generateRPCMethodsInfo, type RPCMethodInfo } from 'ttc-rpc';
3
+ export declare const getClient: (args: any) => {
4
+ id: string;
5
+ message: (message: string) => Promise<void>;
6
+ trigger: (triggerMessage: string) => Promise<void>;
7
+ };
3
8
  export declare const runServer: (config: {
4
9
  name: string;
5
10
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1E,eAAO,MAAM,SAAS,GAAI,QAAQ;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;CACxB,SAkDA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAI1E,eAAO,MAAM,SAAS,GAAI,MAAM,GAAG;;uBAUF,MAAM;8BAGC,MAAM;CAI7C,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;CACxB,SA4DA,CAAA"}
package/dist/index.js CHANGED
@@ -3,12 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runServer = exports.generateRPCMethodsInfo = exports.ttc = void 0;
6
+ exports.runServer = exports.getClient = exports.generateRPCMethodsInfo = exports.ttc = void 0;
7
7
  const ttc_rpc_1 = require("ttc-rpc");
8
8
  const express_1 = __importDefault(require("express"));
9
+ const client_1 = require("./util/client");
9
10
  var ttc_rpc_2 = require("ttc-rpc");
10
11
  Object.defineProperty(exports, "ttc", { enumerable: true, get: function () { return ttc_rpc_2.ttc; } });
11
12
  Object.defineProperty(exports, "generateRPCMethodsInfo", { enumerable: true, get: function () { return ttc_rpc_2.generateRPCMethodsInfo; } });
13
+ const connectedClients = new Map();
14
+ const getClient = (args) => {
15
+ const context = ttc_rpc_1.ttc.requestContext(args);
16
+ const assistantId = context.request.headers['x-ttc-assistant-id'];
17
+ const client = connectedClients.get(assistantId);
18
+ if (!client) {
19
+ throw new Error('No client found for the given assistant ID');
20
+ }
21
+ return {
22
+ id: assistantId,
23
+ message: async (message) => {
24
+ await client.TentarclesCLI.message(message);
25
+ },
26
+ trigger: async (triggerMessage) => {
27
+ await client.TentarclesCLI.trigger(triggerMessage);
28
+ }
29
+ };
30
+ };
31
+ exports.getClient = getClient;
12
32
  const runServer = (config) => {
13
33
  const { modules, port, app } = config;
14
34
  const appInstance = app || (0, express_1.default)();
@@ -23,6 +43,15 @@ const runServer = (config) => {
23
43
  directory: config.modifyable ? process.cwd() : undefined
24
44
  });
25
45
  });
46
+ appInstance.post('/rpc/connect', async (req, res) => {
47
+ const data = req.body;
48
+ const { url, assistantId } = data;
49
+ const client = new client_1.RPCClient(url, async () => {
50
+ return "";
51
+ });
52
+ connectedClients.set(assistantId, client);
53
+ res.json({ status: 'connected' });
54
+ });
26
55
  appInstance.get('/rpc/functions', (req, res) => {
27
56
  const queryParams = req.query;
28
57
  const assistant = queryParams.assistant;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA0E;AAC1E,sDAA8B;AAE9B,mCAA0E;AAAjE,8FAAA,GAAG,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAE7B,MAAM,SAAS,GAAG,CAAC,MASzB,EAAE,EAAE;IACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,WAAW,GAAG,GAAG,IAAI,IAAA,iBAAO,GAAE,CAAC;IAErC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7D,iCAAiC;IACjC,+DAA+D;IAC/D,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACtC,GAAG,CAAC,IAAI,CAAC;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5E,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;SAC3D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,MAAM,SAAS,GAAG,WAAW,CAAC,SAA+B,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,qCAAqC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAoC,IAAA,gCAAsB,GAAE,CAAC;QACvE,MAAM,cAAc,GAAoB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAmB,EAAE,EAAE;gBACxD,OAAO;oBACH,GAAG,IAAI;oBACP,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;iBAChD,CAAA;YACL,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC;YACL,SAAS,EAAE,cAAc;SAC5B,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,aAAG,CAAC,IAAI,CAAC;QACL,GAAG,EAAE,WAAW;QAChB,OAAO,EAAE,OAAO;QAChB,eAAe,EAAE,KAAK;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,8DAA8D;YAC9D,IAAG,MAAM,CAAC,MAAM,EAAC,CAAC;gBACd,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC;KAClC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAA;AA3DY,QAAA,SAAS,aA2DrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Socket } from "socket.io-client";
2
+ export type callbackType = (method: string, params?: any) => Promise<any>;
3
+ export type mediaCallbackType = (method: string, params?: any, file?: any) => Promise<any>;
4
+ export type rpcResponseType<T = any> = {
5
+ status: 'success' | 'error';
6
+ data?: T;
7
+ };
8
+ export declare class RPCClient {
9
+ static token_cb: () => Promise<string>;
10
+ static url: string;
11
+ static _scid: string;
12
+ static socket: Socket;
13
+ static transport: 'http' | 'socket';
14
+ constructor(url: string, token_cb: () => Promise<string>, socket_cb?: (socket: Socket) => Promise<any>);
15
+ seTransport(tp: 'http' | 'socket'): void;
16
+ static invokeSocket: callbackType;
17
+ static apiCallback: callbackType;
18
+ static invokeHttp: callbackType;
19
+ static mediaCallback: mediaCallbackType;
20
+ connectSocket(url: string, socket_cb: (socket: Socket) => Promise<any>): Promise<void>;
21
+ TentarclesCLI: {
22
+ /**
23
+ * Send a message to the assistant, message will appear in chathistory
24
+ *
25
+ * @param {message: string}
26
+ * @returns {Promise<rpcResponseType<any>>}
27
+ */
28
+ message(message: string): Promise<rpcResponseType<any>>;
29
+ /**
30
+ * Trigger an event on the assistant, event will not appear in chathistory
31
+ *
32
+ * @param {trigger: string}
33
+ * @returns {Promise<rpcResponseType<any>>}
34
+ */
35
+ trigger(trigger: string): Promise<rpcResponseType<any>>;
36
+ };
37
+ }
38
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/util/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE3F,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI;IACnC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;CACZ,CAAA;AAmBD,qBAAa,SAAS;IAElB,MAAM,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,SAA+B;IACzC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAU;gBAEjC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC;IAOtG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;IAIjC,MAAM,CAAC,YAAY,EAAE,YAAY,CAchC;IAED,MAAM,CAAC,WAAW,EAAE,YAAY,CAM/B;IAED,MAAM,CAAC,UAAU,EAAE,YAAY,CAoB9B;IAED,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAwBtC;IAEK,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC;IAgB3E,aAAa;QACT;;;;;WAKG;yBACoB,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAG7D;;;;;WAKG;yBACoB,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;MAGhE;CAEJ"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RPCClient = void 0;
5
+ const socket_io_client_1 = require("socket.io-client");
6
+ let _Scid_server_cache = '';
7
+ const uuid = () => {
8
+ const key = 'ttc_scid';
9
+ let sid = (typeof localStorage !== 'undefined') ? localStorage.getItem(key) : _Scid_server_cache;
10
+ if (!sid) {
11
+ sid = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
12
+ if (typeof localStorage !== 'undefined') {
13
+ localStorage.setItem(key, sid);
14
+ }
15
+ else {
16
+ _Scid_server_cache = sid;
17
+ }
18
+ }
19
+ return sid;
20
+ };
21
+ class RPCClient {
22
+ constructor(url, token_cb, socket_cb) {
23
+ this.TentarclesCLI = {
24
+ /**
25
+ * Send a message to the assistant, message will appear in chathistory
26
+ *
27
+ * @param {message: string}
28
+ * @returns {Promise<rpcResponseType<any>>}
29
+ */
30
+ async message(message) {
31
+ return await _a.apiCallback('TentarclesCLI.message', [message]);
32
+ },
33
+ /**
34
+ * Trigger an event on the assistant, event will not appear in chathistory
35
+ *
36
+ * @param {trigger: string}
37
+ * @returns {Promise<rpcResponseType<any>>}
38
+ */
39
+ async trigger(trigger) {
40
+ return await _a.apiCallback('TentarclesCLI.trigger', [trigger]);
41
+ },
42
+ };
43
+ _a.token_cb = token_cb;
44
+ _a.url = url;
45
+ _a._scid = uuid();
46
+ if (socket_cb)
47
+ this.connectSocket(url, socket_cb);
48
+ }
49
+ seTransport(tp) {
50
+ _a.transport = tp;
51
+ }
52
+ async connectSocket(url, socket_cb) {
53
+ try {
54
+ const socket = (0, socket_io_client_1.io)(url, {
55
+ auth: {
56
+ authorization: await _a.token_cb(),
57
+ _scid: _a._scid
58
+ }
59
+ });
60
+ if (socket_cb)
61
+ socket_cb(socket);
62
+ _a.socket = socket;
63
+ }
64
+ catch (error) {
65
+ console.error('Error initializing socket:', error.message);
66
+ }
67
+ }
68
+ }
69
+ exports.RPCClient = RPCClient;
70
+ _a = RPCClient;
71
+ RPCClient.url = 'http://localhost:3000/rpc';
72
+ RPCClient.transport = 'http';
73
+ RPCClient.invokeSocket = async (method, params) => {
74
+ if (_a.socket) {
75
+ _a.socket.emit('function_call', { method, params });
76
+ return new Promise((resolve, reject) => {
77
+ _a.socket.once('function_response', (response) => {
78
+ resolve(response);
79
+ });
80
+ // set a timeout for the response
81
+ setTimeout(() => {
82
+ reject(new Error('Socket API call timed out'));
83
+ }, 20000);
84
+ });
85
+ }
86
+ };
87
+ RPCClient.apiCallback = async (method, params) => {
88
+ if (_a.transport === 'http') {
89
+ return await _a.invokeHttp(method, params);
90
+ }
91
+ else if (_a.transport === 'socket') {
92
+ return await _a.invokeSocket(method, params);
93
+ }
94
+ };
95
+ RPCClient.invokeHttp = async (method, params) => {
96
+ try {
97
+ if (!_a.token_cb)
98
+ throw new Error('RPCClient.token_cb is not set');
99
+ const token = await _a.token_cb();
100
+ const response = await fetch(`${_a.url}/rpc`, {
101
+ method: 'POST',
102
+ headers: {
103
+ 'Content-Type': 'application/json',
104
+ Authorization: `Bearer ${token}:${_a._scid}`,
105
+ },
106
+ body: JSON.stringify({ method, params })
107
+ });
108
+ if (!response.ok) {
109
+ throw new Error(`API error: ${response.status} ${response.statusText}`);
110
+ }
111
+ return await response.json();
112
+ }
113
+ catch (error) {
114
+ console.error("Error calling API:", error);
115
+ throw error;
116
+ }
117
+ };
118
+ RPCClient.mediaCallback = async (method, params, file) => {
119
+ try {
120
+ if (!_a.token_cb)
121
+ throw new Error('RPCClient.token_cb is not set');
122
+ const token = await _a.token_cb();
123
+ const formData = new FormData();
124
+ formData.append('method', method);
125
+ if (params)
126
+ formData.append('params', JSON.stringify(params));
127
+ if (file)
128
+ formData.append('file', file);
129
+ const response = await fetch(`${_a.url}/rpc`, {
130
+ method: 'POST',
131
+ headers: {
132
+ Authorization: `Bearer ${token}:${_a._scid}`,
133
+ },
134
+ body: formData
135
+ });
136
+ if (!response.ok) {
137
+ throw new Error(`Media API error: ${response.status} ${response.statusText}`);
138
+ }
139
+ return await response.json();
140
+ }
141
+ catch (error) {
142
+ console.error("Error calling Media API:", error);
143
+ throw error;
144
+ }
145
+ };
146
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/util/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/util/host.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/util/host.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ttc-origin-server",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "A lightweight server for TTC Origins - run RPC services with decorator-based endpoints",
5
5
  "main": "dist/index.js",
6
6
  "module": "src/index.ts",