ttc-origin-server 0.10.3 → 0.10.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # TTC Origin Server
2
2
 
3
- A lightweight server wrapper for `ttc-rpc` that exposes your decorated classes as RPC endpoints with automatic API discovery.
3
+ A lightweight server wrapper for `ttc-rpc` that exposes your decorated classes as RPC endpoints with automatic API discovery. Designed for building AI assistant origins with real-time messaging capabilities.
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,8 +18,9 @@ npm install ttc-origin-server
18
18
  // src/test.ts
19
19
  import { ttc } from "ttc-rpc";
20
20
  import z from "zod";
21
+ import { BaseModule, ActionableClient } from 'ttc-origin-server';
21
22
 
22
- export class HelloWorldModule {
23
+ export class HelloWorldModule extends BaseModule {
23
24
  @ttc.describe({
24
25
  doc: 'some info',
25
26
  inputSchema: z.object({
@@ -32,6 +33,16 @@ export class HelloWorldModule {
32
33
  hello(name: string): string {
33
34
  return `Hello, ${name}!`;
34
35
  }
36
+
37
+ // Optional: Handle assistant connections
38
+ onConnect(client: ActionableClient, credentials: Record<string, string>): void {
39
+ console.log(`Assistant ${client.id} connected`);
40
+ }
41
+
42
+ // Optional: Handle incoming messages from assistants
43
+ onMessage(assistantId: string, message: string): void {
44
+ console.log(`Message from ${assistantId}: ${message}`);
45
+ }
35
46
  }
36
47
  ```
37
48
 
@@ -44,12 +55,18 @@ import { HelloWorldModule } from './test';
44
55
 
45
56
  runServer({
46
57
  name: 'my-service',
58
+ description: 'My awesome AI service',
47
59
  modules: [HelloWorldModule],
48
60
  port: 3000,
61
+ credentials: [
62
+ { provider: 'OpenAI', credentialKeys: ['apiKey'] }
63
+ ],
49
64
  authCb: async (req) => {
50
65
  // Your authentication logic
51
66
  return true;
52
- }
67
+ },
68
+ cacheClient: true,
69
+ getAssistantMessages: true
53
70
  });
54
71
  ```
55
72
 
@@ -67,19 +84,65 @@ Starts a TTC Origin server.
67
84
 
68
85
  **Config options:**
69
86
 
70
- - `name` (string) – Service name
71
- - `modules` (any[]) – Array of classes decorated with `@ttc.describe`
87
+ - `name` (string) – Service name (will be normalized to lowercase with underscores)
88
+ - `description` (string) – Optional service description
89
+ - `modules` (any[]) – Array of classes decorated with `@ttc.describe`, should extend `BaseModule`
72
90
  - `port` (number) – Port to listen on
73
- - `authCb` (req => Promise<boolean>) – Authentication callback
74
- - `app` (express.Express) – Optional existing Express app
75
- - `requireAuth` (boolean) – Whether authentication is required
91
+ - `credentials` (CredentialSpecification[]) – Required API keys for third-party services
92
+ - `authCb` (req => Promise<boolean>) – Authentication callback for RPC methods
93
+ - `cacheClient` (boolean) – Whether to cache connected clients
94
+ - `getAssistantMessages` (boolean) – Whether to receive messages from connected assistants
95
+ - `onPing` (origin => Promise<void>) – Callback fired when origin receives a ping
96
+ - `app` (express.Express) – Optional existing Express app instance
76
97
  - `modifyable` (boolean) – If `true`, exposes working directory
77
- - `description` (string) – Optional description
98
+
99
+ ### Types
100
+
101
+ #### `BaseModule`
102
+
103
+ Base class for origin modules with optional lifecycle hooks:
104
+
105
+ ```typescript
106
+ class MyModule extends BaseModule {
107
+ onConnect?(client: ActionableClient, credentials: Record<string, string>): void | Promise<void>
108
+ onMessage?(assistantId: string, message: string): void | Promise<void>
109
+ }
110
+ ```
111
+
112
+ #### `ActionableClient`
113
+
114
+ Connected assistant client interface:
115
+
116
+ ```typescript
117
+ {
118
+ id: string;
119
+ message: (message: string) => Promise<void>;
120
+ trigger: (triggerMessage: string) => Promise<void>;
121
+ }
122
+ ```
123
+
124
+ #### `CredentialSpecification`
125
+
126
+ Define required credentials:
127
+
128
+ ```typescript
129
+ {
130
+ provider: string; // e.g., 'OpenAI', 'Twilio'
131
+ credentialKeys: string[]; // e.g., ['apiKey', 'secret']
132
+ }
133
+ ```
134
+
135
+ ### Helper Functions
136
+
137
+ - `getClientById(id: string)` – Retrieve a connected client by ID
138
+ - `getClient(args: any)` – Get client from request context
139
+ - `getAuthKey(args: any, { provider, credentialKey })` – Extract API keys from request
78
140
 
79
141
  ### Endpoints
80
142
 
81
- - `GET /rpc/info` – Service metadata
82
- - `GET /rpc/functions` – Lists all RPC methods (autodiscovered)
143
+ - `GET /rpc/info` – Service metadata and configuration
144
+ - `GET /rpc/functions` – Lists all RPC methods (auto-discovered)
145
+ - `GET /rpc/connect` – WebSocket-style endpoint for assistant connections
83
146
  - `POST /rpc/:module/:method` – Invoke an RPC method (handled by `ttc-rpc`)
84
147
 
85
148
  ## Decorator Usage
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { ActionableClient, BaseModule, OriginConfiguration, PseudoServer } from
2
2
  export { ttc, generateRPCMethodsInfo, type RPCMethodInfo } from 'ttc-rpc';
3
3
  export { BaseModule };
4
4
  export declare const getClientById: (id: string) => ActionableClient | undefined;
5
+ export declare const UserInput: (type: "options" | "text", client: ActionableClient, label: string) => void;
5
6
  export declare var globalConfig: OriginConfiguration;
6
7
  export declare var originApp: PseudoServer;
7
8
  export declare function initCache(): void;
@@ -11,5 +12,6 @@ export declare const getAuthKey: (args: any, request: {
11
12
  }) => any;
12
13
  export declare const handleTunnel: (data: any) => Promise<void>;
13
14
  export declare const getClient: (args: any | string) => ActionableClient;
15
+ export declare const pingClient: (url: string) => Promise<void>;
14
16
  export declare const runServer: (config: OriginConfiguration) => void;
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAA2B,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKvH,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,CAAA;AAGrB,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,KAAG,gBAAgB,GAAG,SAY7D,CAAA;AAED,eAAO,IAAI,YAAY,EAAE,mBAAmB,CAAC;AAC7C,eAAO,IAAI,SAAS,EAAE,YAAY,CAAC;AAGnC,wBAAgB,SAAS,SAQxB;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,GAAG,EAAE,SAAS;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAA;CACxB,QAMA,CAAA;AAED,eAAO,MAAM,YAAY,GAAS,SAAI,kBAQrC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,GAAG,GAAG,MAAM,KAAG,gBA0B9C,CAAA;AAqBD,eAAO,MAAM,SAAS,GAAI,QAAQ,mBAAmB,SAqJpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAA2B,mBAAmB,EAAE,YAAY,EAAwC,MAAM,aAAa,CAAC;AAK7J,OAAO,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,CAAA;AAGrB,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,KAAG,gBAAgB,GAAG,SAY7D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,GAAG,MAAM,EAAE,QAAQ,gBAAgB,EAAE,OAAO,MAAM,SAE1F,CAAA;AAED,eAAO,IAAI,YAAY,EAAE,mBAAmB,CAAC;AAC7C,eAAO,IAAI,SAAS,EAAE,YAAY,CAAC;AAGnC,wBAAgB,SAAS,SAQxB;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,GAAG,EAAE,SAAS;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAA;CACxB,QAMA,CAAA;AAED,eAAO,MAAM,YAAY,GAAS,SAAI,kBAQrC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,GAAG,GAAG,MAAM,KAAG,gBA0B9C,CAAA;AAqBD,eAAO,MAAM,UAAU,GAAU,KAAK,MAAM,kBAY3C,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,mBAAmB,SAmKpD,CAAA"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ 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.getClient = exports.handleTunnel = exports.getAuthKey = exports.originApp = exports.globalConfig = exports.getClientById = exports.BaseModule = exports.generateRPCMethodsInfo = exports.ttc = void 0;
6
+ exports.runServer = exports.pingClient = exports.getClient = exports.handleTunnel = exports.getAuthKey = exports.originApp = exports.globalConfig = exports.UserInput = exports.getClientById = exports.BaseModule = exports.generateRPCMethodsInfo = exports.ttc = void 0;
7
7
  exports.initCache = initCache;
8
8
  const ttc_rpc_1 = require("ttc-rpc");
9
9
  const express_1 = __importDefault(require("express"));
@@ -32,6 +32,9 @@ const getClientById = (id) => {
32
32
  };
33
33
  };
34
34
  exports.getClientById = getClientById;
35
+ const UserInput = (type, client, label) => {
36
+ };
37
+ exports.UserInput = UserInput;
35
38
  // Initialize hosts cache after config is set
36
39
  function initCache() {
37
40
  // This will be called after globalConfig is assigned in runServer
@@ -91,9 +94,9 @@ exports.getClient = getClient;
91
94
  const pingClients = async (port) => {
92
95
  const clients = (0, cache_1.loadHosts)(exports.globalConfig.name);
93
96
  console.log(clients.values(), 'CLIENTS');
94
- const localUri = `http://localhost:${port}`;
97
+ const localUri = exports.globalConfig.host ? exports.globalConfig.host : `http://localhost:${port}`;
95
98
  for (const client of clients.values()) {
96
- const finalUri = `${client}/rpc/ping?url=${localUri}`;
99
+ const finalUri = `${client}/rpc/ping?url=${localUri}&name=${exports.globalConfig.name}`;
97
100
  console.log(finalUri);
98
101
  try {
99
102
  const response = await fetch(finalUri, {
@@ -106,6 +109,21 @@ const pingClients = async (port) => {
106
109
  }
107
110
  }
108
111
  };
112
+ const pingClient = async (url) => {
113
+ const localUri = exports.globalConfig.host ? exports.globalConfig.host : `http://localhost:${exports.globalConfig.port}`;
114
+ const finalUri = `${url}/rpc/ping?url=${localUri}&name=${exports.globalConfig.name}`;
115
+ console.log(finalUri);
116
+ try {
117
+ const response = await fetch(finalUri, {
118
+ method: 'GET',
119
+ });
120
+ console.log(response.status, response.statusText);
121
+ }
122
+ catch (error) {
123
+ console.log(error);
124
+ }
125
+ };
126
+ exports.pingClient = pingClient;
109
127
  const runServer = (config) => {
110
128
  const { modules, port, app } = config;
111
129
  const OInstance = app || (0, express_1.default)();
@@ -118,7 +136,8 @@ const runServer = (config) => {
118
136
  name: config.name,
119
137
  description: config.description || '',
120
138
  credentials: config.credentials,
121
- directory: config.modifyable ? process.cwd() : undefined
139
+ directory: config.modifyable ? process.cwd() : undefined,
140
+ events: config.events
122
141
  });
123
142
  });
124
143
  appInstance.get('/rpc/connect', async (req, res) => {
@@ -222,7 +241,7 @@ const runServer = (config) => {
222
241
  }).listen(port);
223
242
  appInstance.post('/rpc-ai-message', async (req, res) => {
224
243
  // console.log(req.body, 'BODY');
225
- const { id, message } = req.body;
244
+ const { id, message, type } = req.body;
226
245
  if (config.getAssistantMessages) {
227
246
  // await config.onMessage(id, message);
228
247
  const modules = config.modules.map(x => x.name);
@@ -230,9 +249,18 @@ const runServer = (config) => {
230
249
  modules.forEach((key) => {
231
250
  const moduleName = key;
232
251
  const instance = ttc_rpc_1.ttc.instance(moduleName);
233
- if (instance && instance.onMessage) {
252
+ if (instance && instance.onMessage && type === 'message') {
234
253
  instance.onMessage(id, message);
235
254
  }
255
+ if (instance && instance.onLog && type === 'logs') {
256
+ instance.onLog(id, message);
257
+ }
258
+ if (instance && instance.onPermission && type === 'permission') {
259
+ instance.onPermission(id, message.id, message.question);
260
+ }
261
+ if (instance && instance.onLlm && type === 'llm') {
262
+ instance.onLlm(id, message);
263
+ }
236
264
  });
237
265
  }
238
266
  res.json({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,11 @@ export type ActionableClient = {
8
8
  message: (message: string) => Promise<void>;
9
9
  trigger: (triggerMessage: string) => Promise<void>;
10
10
  };
11
+ export type TTCOriginPermissions = 'message' | 'logs' | 'llm' | 'permission' | 'origin-management';
12
+ export type TTCOriginEvent = 'message' | 'logs' | 'llm' | 'permission';
11
13
  export type OriginConfiguration = {
12
14
  name: string;
15
+ host?: string;
13
16
  description?: string;
14
17
  modules: any[];
15
18
  port: number;
@@ -20,6 +23,7 @@ export type OriginConfiguration = {
20
23
  onPing?: (origin: string) => Promise<void>;
21
24
  getAssistantMessages?: boolean;
22
25
  app?: express.Express;
26
+ events?: TTCOriginPermissions[];
23
27
  };
24
28
  export type PseudoServer = {
25
29
  invoke: (endpoint: string, request: any) => Promise<any>;
@@ -49,5 +53,12 @@ export declare class BaseModule {
49
53
  */
50
54
  onConnect?(client: ActionableClient, credentials: Record<string, string>): void | Promise<void>;
51
55
  onMessage?(assistantId: string, message: string): void | Promise<void>;
56
+ onLog?(assistantId: string, message: string): void | Promise<void>;
57
+ onPermission?(assistantId: string, permissionId: string, question: string): void | Promise<void>;
58
+ onLlm?(assistantId: string, message: {
59
+ state: string;
60
+ sub_state: string;
61
+ type: string;
62
+ }): void | Promise<void>;
52
63
  }
53
64
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/util/type.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACzD,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E,CAAA;AAED,qBAAa,UAAU;IAEnB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAG/F,SAAS,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAC1E"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/util/type.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAEnG,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAA;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACzD,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E,CAAA;AAED,qBAAa,UAAU;IAEnB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAG/F,SAAS,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvE,KAAK,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnE,YAAY,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjG,KAAK,CAAC,CAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;QAClC,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAA;KACf,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/util/type.ts"],"names":[],"mappings":";;;AAiCA,MAAa,UAAU;CA0BtB;AA1BD,gCA0BC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/util/type.ts"],"names":[],"mappings":";;;AAuCA,MAAa,UAAU;CAoCtB;AApCD,gCAoCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ttc-origin-server",
3
- "version": "0.10.3",
3
+ "version": "0.10.6",
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",