@aitos/transfer 1.0.0

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.
@@ -0,0 +1,3 @@
1
+ export * from './network';
2
+ import { Atom } from '@aitos/core';
3
+ export declare const allAtoms: Atom[];
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.allAtoms = void 0;
18
+ __exportStar(require("./network"), exports);
19
+ const network_1 = require("./network");
20
+ exports.allAtoms = [
21
+ network_1.httpRequestAtom,
22
+ network_1.httpStreamRequestAtom,
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUcxQix1Q0FHbUI7QUFFTixRQUFBLFFBQVEsR0FBVztJQUM5Qix5QkFBZTtJQUNmLCtCQUFxQjtDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uZXR3b3JrJztcblxuaW1wb3J0IHsgQXRvbSB9IGZyb20gJ0BhaXRvcy9jb3JlJztcbmltcG9ydCB7XG4gIGh0dHBSZXF1ZXN0QXRvbSxcbiAgaHR0cFN0cmVhbVJlcXVlc3RBdG9tLFxufSBmcm9tICcuL25ldHdvcmsnO1xuXG5leHBvcnQgY29uc3QgYWxsQXRvbXM6IEF0b21bXSA9IFtcbiAgaHR0cFJlcXVlc3RBdG9tLFxuICBodHRwU3RyZWFtUmVxdWVzdEF0b20sXG5dO1xuIl19
@@ -0,0 +1,3 @@
1
+ import { Atom } from '@aitos/core';
2
+ export declare const httpRequestAtom: Atom;
3
+ export declare const httpStreamRequestAtom: Atom;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.httpStreamRequestAtom = exports.httpRequestAtom = void 0;
4
+ exports.httpRequestAtom = {
5
+ name: 'httpRequest',
6
+ version: '1.0.0',
7
+ meta: {
8
+ input: [
9
+ { name: 'url', type: 'string', description: 'Request URL' },
10
+ { name: 'method', type: 'string', description: 'HTTP method (GET, POST, PUT, DELETE)' },
11
+ { name: 'body', type: 'any', description: 'Request body' },
12
+ { name: 'headers', type: 'object', description: 'Request headers' }
13
+ ],
14
+ output: { type: 'object', description: 'Response data' }
15
+ },
16
+ characteristics: { stateless: true, atomic: true, composable: true },
17
+ execute: async (input, context) => {
18
+ try {
19
+ const options = {
20
+ method: input.method,
21
+ headers: input.headers,
22
+ };
23
+ if (input.body) {
24
+ options.body = JSON.stringify(input.body);
25
+ if (!input.headers) {
26
+ options.headers = { 'Content-Type': 'application/json' };
27
+ }
28
+ }
29
+ const response = await fetch(input.url, options);
30
+ const data = await response.json();
31
+ return { success: true, data };
32
+ }
33
+ catch (error) {
34
+ return { success: false, error: `HTTP request failed: ${error}` };
35
+ }
36
+ },
37
+ };
38
+ exports.httpStreamRequestAtom = {
39
+ name: 'httpStreamRequest',
40
+ version: '1.3.0',
41
+ meta: {
42
+ input: [
43
+ { name: 'url', type: 'string', description: 'Request URL' },
44
+ { name: 'method', type: 'string', description: 'HTTP method' },
45
+ { name: 'body', type: 'any', description: 'Request body' },
46
+ { name: 'headers', type: 'object', description: 'Request headers' },
47
+ { name: 'elementId', type: 'string', description: 'Element ID for streaming display (optional)' }
48
+ ],
49
+ output: { type: 'object', description: '{ role, content, toolCalls }' }
50
+ },
51
+ characteristics: { stateless: true, atomic: true, composable: true },
52
+ execute: async (input, context) => {
53
+ try {
54
+ const options = {
55
+ method: input.method,
56
+ headers: {
57
+ 'Content-Type': 'application/json',
58
+ ...input.headers
59
+ },
60
+ body: JSON.stringify(input.body)
61
+ };
62
+ const response = await fetch(input.url, options);
63
+ if (!response.ok) {
64
+ return { success: false, error: `HTTP error: ${response.status}` };
65
+ }
66
+ const reader = response.body?.getReader();
67
+ if (!reader) {
68
+ return { success: false, error: 'Stream not available' };
69
+ }
70
+ const decoder = new TextDecoder();
71
+ let fullContent = '';
72
+ let toolCalls = [];
73
+ let streamElement = null;
74
+ if (input.elementId && typeof document !== 'undefined') {
75
+ streamElement = document.getElementById(input.elementId);
76
+ }
77
+ while (true) {
78
+ const { done, value } = await reader.read();
79
+ if (done)
80
+ break;
81
+ const chunk = decoder.decode(value, { stream: true });
82
+ const lines = chunk.split('\n');
83
+ for (const line of lines) {
84
+ if (line.startsWith('data: ')) {
85
+ const data = line.slice(6).trim();
86
+ if (data === '[DONE]')
87
+ continue;
88
+ try {
89
+ const json = JSON.parse(data);
90
+ const delta = json.choices?.[0]?.delta;
91
+ if (delta?.content) {
92
+ fullContent += delta.content;
93
+ if (streamElement) {
94
+ streamElement.textContent = fullContent;
95
+ }
96
+ }
97
+ if (delta?.tool_calls) {
98
+ for (const tc of delta.tool_calls) {
99
+ const index = tc.index;
100
+ if (!toolCalls[index]) {
101
+ toolCalls[index] = {
102
+ id: tc.id,
103
+ type: tc.type,
104
+ function: {
105
+ name: tc.function?.name || '',
106
+ arguments: ''
107
+ }
108
+ };
109
+ }
110
+ if (tc.function?.arguments) {
111
+ toolCalls[index].function.arguments += tc.function.arguments;
112
+ }
113
+ }
114
+ }
115
+ }
116
+ catch (e) {
117
+ // Ignore parse errors
118
+ }
119
+ }
120
+ }
121
+ }
122
+ const aiResponse = { role: 'assistant', content: fullContent };
123
+ if (toolCalls.length > 0) {
124
+ aiResponse.toolCalls = toolCalls;
125
+ }
126
+ return { success: true, data: aiResponse };
127
+ }
128
+ catch (error) {
129
+ return { success: false, error: `Stream request failed: ${error}` };
130
+ }
131
+ },
132
+ };
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL25ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxlQUFlLEdBQVM7SUFDbkMsSUFBSSxFQUFFLGFBQWE7SUFDbkIsT0FBTyxFQUFFLE9BQU87SUFDaEIsSUFBSSxFQUFFO1FBQ0osS0FBSyxFQUFFO1lBQ0wsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRTtZQUMzRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsc0NBQXNDLEVBQUU7WUFDdkYsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRTtZQUMxRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7U0FDcEU7UUFDRCxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUU7S0FDekQ7SUFDRCxlQUFlLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtJQUNwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBS2YsRUFBRSxPQUFnQixFQUFtQixFQUFFO1FBQ3RDLElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxHQUFnQjtnQkFDM0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87YUFDdkIsQ0FBQztZQUVGLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFD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QztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXRvbSwgQ29udGV4dCwgUmVzdWx0IH0gZnJvbSAnQGFpdG9zL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgaHR0cFJlcXVlc3RBdG9tOiBBdG9tID0ge1xuICBuYW1lOiAnaHR0cFJlcXVlc3QnLFxuICB2ZXJzaW9uOiAnMS4wLjAnLFxuICBtZXRhOiB7XG4gICAgaW5wdXQ6IFtcbiAgICAgIHsgbmFtZTogJ3VybCcsIHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1JlcXVlc3QgVVJMJyB9LFxuICAgICAgeyBuYW1lOiAnbWV0aG9kJywgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnSFRUUCBtZXRob2QgKEdFVCwgUE9TVCwgUFVULCBERUxFVEUpJyB9LFxuICAgICAgeyBuYW1lOiAnYm9keScsIHR5cGU6ICdhbnknLCBkZXNjcmlwdGlvbjogJ1JlcXVlc3QgYm9keScgfSxcbiAgICAgIHsgbmFtZTogJ2hlYWRlcnMnLCB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdSZXF1ZXN0IGhlYWRlcnMnIH1cbiAgICBdLFxuICAgIG91dHB1dDogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICdSZXNwb25zZSBkYXRhJyB9XG4gIH0sXG4gIGNoYXJhY3RlcmlzdGljczogeyBzdGF0ZWxlc3M6IHRydWUsIGF0b21pYzogdHJ1ZSwgY29tcG9zYWJsZTogdHJ1ZSB9LFxuICBleGVjdXRlOiBhc3luYyAoaW5wdXQ6IHsgXG4gICAgdXJsOiBzdHJpbmc7IFxuICAgIG1ldGhvZDogc3RyaW5nOyBcbiAgICBib2R5PzogYW55OyBcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiBcbiAgfSwgY29udGV4dDogQ29udGV4dCk6IFByb21pc2U8UmVzdWx0PiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFJlcXVlc3RJbml0ID0ge1xuICAgICAgICBtZXRob2Q6IGlucHV0Lm1ldGhvZCxcbiAgICAgICAgaGVhZGVyczogaW5wdXQuaGVhZGVycyxcbiAgICAgIH07XG4gICAgICBcbiAgICAgIGlmIChpbnB1dC5ib2R5KSB7XG4gICAgICAgIG9wdGlvbnMuYm9keSA9IEpTT04uc3RyaW5naWZ5KGlucHV0LmJvZHkpO1xuICAgICAgICBpZiAoIWlucHV0LmhlYWRlcnMpIHtcbiAgICAgICAgICBvcHRpb25zLmhlYWRlcnMgPSB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGlucHV0LnVybCwgb3B0aW9ucyk7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgZGF0YSB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGBIVFRQIHJlcXVlc3QgZmFpbGVkOiAke2Vycm9yfWAgfTtcbiAgICB9XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgaHR0cFN0cmVhbVJlcXVlc3RBdG9tOiBBdG9tID0ge1xuICBuYW1lOiAnaHR0cFN0cmVhbVJlcXVlc3QnLFxuICB2ZXJzaW9uOiAnMS4zLjAnLFxuICBtZXRhOiB7XG4gICAgaW5wdXQ6IFtcbiAgICAgIHsgbmFtZTogJ3VybCcsIHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ1JlcXVlc3QgVVJMJyB9LFxuICAgICAgeyBuYW1lOiAnbWV0aG9kJywgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnSFRUUCBtZXRob2QnIH0sXG4gICAgICB7IG5hbWU6ICdib2R5JywgdHlwZTogJ2FueScsIGRlc2NyaXB0aW9uOiAnUmVxdWVzdCBib2R5JyB9LFxuICAgICAgeyBuYW1lOiAnaGVhZGVycycsIHR5cGU6ICdvYmplY3QnLCBkZXNjcmlwdGlvbjogJ1JlcXVlc3QgaGVhZGVycycgfSxcbiAgICAgIHsgbmFtZTogJ2VsZW1lbnRJZCcsIHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0VsZW1lbnQgSUQgZm9yIHN0cmVhbWluZyBkaXNwbGF5IChvcHRpb25hbCknIH1cbiAgICBdLFxuICAgIG91dHB1dDogeyB0eXBlOiAnb2JqZWN0JywgZGVzY3JpcHRpb246ICd7IHJvbGUsIGNvbnRlbnQsIHRvb2xDYWxscyB9JyB9XG4gIH0sXG4gIGNoYXJhY3RlcmlzdGljczogeyBzdGF0ZWxlc3M6IHRydWUsIGF0b21pYzogdHJ1ZSwgY29tcG9zYWJsZTogdHJ1ZSB9LFxuICBleGVjdXRlOiBhc3luYyAoaW5wdXQ6IHsgXG4gICAgdXJsOiBzdHJpbmc7IFxuICAgIG1ldGhvZDogc3RyaW5nOyBcbiAgICBib2R5PzogYW55OyBcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBlbGVtZW50SWQ/OiBzdHJpbmc7XG4gIH0sIGNvbnRleHQ6IENvbnRleHQpOiBQcm9taXNlPFJlc3VsdD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBSZXF1ZXN0SW5pdCA9IHtcbiAgICAgICAgbWV0aG9kOiBpbnB1dC5tZXRob2QsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgIC4uLmlucHV0LmhlYWRlcnNcbiAgICAgICAgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoaW5wdXQuYm9keSlcbiAgICAgIH07XG4gICAgICBcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaW5wdXQudXJsLCBvcHRpb25zKTtcbiAgICAgIFxuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGBIVFRQIGVycm9yOiAke3Jlc3BvbnNlLnN0YXR1c31gIH07XG4gICAgICB9XG4gICAgICBcbiAgICAgIGNvbnN0IHJlYWRlciA9IHJlc3BvbnNlLmJvZHk/LmdldFJlYWRlcigpO1xuICAgICAgXG4gICAgICBpZiAoIXJlYWRlcikge1xuICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdTdHJlYW0gbm90IGF2YWlsYWJsZScgfTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpO1xuICAgICAgbGV0IGZ1bGxDb250ZW50ID0gJyc7XG4gICAgICBsZXQgdG9vbENhbGxzOiBhbnlbXSA9IFtdO1xuICAgICAgXG4gICAgICBsZXQgc3RyZWFtRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICAgIGlmIChpbnB1dC5lbGVtZW50SWQgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBzdHJlYW1FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5wdXQuZWxlbWVudElkKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChkb25lKSBicmVhaztcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGNodW5rID0gZGVjb2Rlci5kZWNvZGUodmFsdWUsIHsgc3RyZWFtOiB0cnVlIH0pO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgbGluZXMgPSBjaHVuay5zcGxpdCgnXFxuJyk7XG4gICAgICAgIFxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICBpZiAobGluZS5zdGFydHNXaXRoKCdkYXRhOiAnKSkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGxpbmUuc2xpY2UoNikudHJpbSgpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoZGF0YSA9PT0gJ1tET05FXScpIGNvbnRpbnVlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgICAgY29uc3QgZGVsdGEgPSBqc29uLmNob2ljZXM/LlswXT8uZGVsdGE7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZiAoZGVsdGE/LmNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICBmdWxsQ29udGVudCArPSBkZWx0YS5jb250ZW50O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGlmIChzdHJlYW1FbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICBzdHJlYW1FbGVtZW50LnRleHRDb250ZW50ID0gZnVsbENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZiAoZGVsdGE/LnRvb2xfY2FsbHMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHRjIG9mIGRlbHRhLnRvb2xfY2FsbHMpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGMuaW5kZXg7XG4gICAgICAgICAgICAgICAgICBpZiAoIXRvb2xDYWxsc1tpbmRleF0pIHtcbiAgICAgICAgICAgICAgICAgICAgdG9vbENhbGxzW2luZGV4XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogdGMuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogdGMudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGMuZnVuY3Rpb24/Lm5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHM6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaWYgKHRjLmZ1bmN0aW9uPy5hcmd1bWVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9vbENhbGxzW2luZGV4XS5mdW5jdGlvbi5hcmd1bWVudHMgKz0gdGMuZnVuY3Rpb24uYXJndW1lbnRzO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAvLyBJZ25vcmUgcGFyc2UgZXJyb3JzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIGNvbnN0IGFpUmVzcG9uc2U6IGFueSA9IHsgcm9sZTogJ2Fzc2lzdGFudCcsIGNvbnRlbnQ6IGZ1bGxDb250ZW50IH07XG4gICAgICBcbiAgICAgIGlmICh0b29sQ2FsbHMubGVuZ3RoID4gMCkge1xuICAgICAgICBhaVJlc3BvbnNlLnRvb2xDYWxscyA9IHRvb2xDYWxscztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgZGF0YTogYWlSZXNwb25zZSB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGBTdHJlYW0gcmVxdWVzdCBmYWlsZWQ6ICR7ZXJyb3J9YCB9O1xuICAgIH1cbiAgfSxcbn07XG4iXX0=
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@aitos/transfer",
3
+ "version": "1.0.0",
4
+ "description": "AITOS Transfer Capability Package - Network and IPC transfer atoms",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "dev": "tsc --watch"
10
+ },
11
+ "keywords": [
12
+ "aitos",
13
+ "transfer",
14
+ "network",
15
+ "ipc",
16
+ "capability"
17
+ ],
18
+ "author": "AITOS Team",
19
+ "license": "MIT",
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "peerDependencies": {
24
+ "@aitos/core": "^1.0.0"
25
+ },
26
+ "devDependencies": {
27
+ "@aitos/core": "file:../../../aitos",
28
+ "@types/node": "^20.0.0",
29
+ "typescript": "^5.0.0"
30
+ }
31
+ }