@sylix/coworker 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.
Files changed (86) hide show
  1. package/README.md +191 -0
  2. package/dist/api/sylix.d.ts +51 -0
  3. package/dist/api/sylix.d.ts.map +1 -0
  4. package/dist/api/sylix.js +234 -0
  5. package/dist/api/sylix.js.map +1 -0
  6. package/dist/cli.d.ts +3 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +235 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/commands/ask.d.ts +2 -0
  11. package/dist/commands/ask.d.ts.map +1 -0
  12. package/dist/commands/ask.js +55 -0
  13. package/dist/commands/ask.js.map +1 -0
  14. package/dist/commands/chat.d.ts +2 -0
  15. package/dist/commands/chat.d.ts.map +1 -0
  16. package/dist/commands/chat.js +292 -0
  17. package/dist/commands/chat.js.map +1 -0
  18. package/dist/commands/commit.d.ts +2 -0
  19. package/dist/commands/commit.d.ts.map +1 -0
  20. package/dist/commands/commit.js +163 -0
  21. package/dist/commands/commit.js.map +1 -0
  22. package/dist/commands/config.d.ts +3 -0
  23. package/dist/commands/config.d.ts.map +1 -0
  24. package/dist/commands/config.js +101 -0
  25. package/dist/commands/config.js.map +1 -0
  26. package/dist/commands/edit.d.ts +2 -0
  27. package/dist/commands/edit.d.ts.map +1 -0
  28. package/dist/commands/edit.js +112 -0
  29. package/dist/commands/edit.js.map +1 -0
  30. package/dist/commands/explain.d.ts +2 -0
  31. package/dist/commands/explain.d.ts.map +1 -0
  32. package/dist/commands/explain.js +99 -0
  33. package/dist/commands/explain.js.map +1 -0
  34. package/dist/commands/login.d.ts +2 -0
  35. package/dist/commands/login.d.ts.map +1 -0
  36. package/dist/commands/login.js +151 -0
  37. package/dist/commands/login.js.map +1 -0
  38. package/dist/commands/review.d.ts +2 -0
  39. package/dist/commands/review.d.ts.map +1 -0
  40. package/dist/commands/review.js +137 -0
  41. package/dist/commands/review.js.map +1 -0
  42. package/dist/commands/run.d.ts +2 -0
  43. package/dist/commands/run.d.ts.map +1 -0
  44. package/dist/commands/run.js +136 -0
  45. package/dist/commands/run.js.map +1 -0
  46. package/dist/context/reader.d.ts +24 -0
  47. package/dist/context/reader.d.ts.map +1 -0
  48. package/dist/context/reader.js +209 -0
  49. package/dist/context/reader.js.map +1 -0
  50. package/dist/memory/loader.d.ts +41 -0
  51. package/dist/memory/loader.d.ts.map +1 -0
  52. package/dist/memory/loader.js +249 -0
  53. package/dist/memory/loader.js.map +1 -0
  54. package/dist/scripts/postinstall.d.ts +7 -0
  55. package/dist/scripts/postinstall.d.ts.map +1 -0
  56. package/dist/scripts/postinstall.js +23 -0
  57. package/dist/scripts/postinstall.js.map +1 -0
  58. package/dist/tools/bash.d.ts +2 -0
  59. package/dist/tools/bash.d.ts.map +1 -0
  60. package/dist/tools/bash.js +40 -0
  61. package/dist/tools/bash.js.map +1 -0
  62. package/dist/tools/chrome.d.ts +10 -0
  63. package/dist/tools/chrome.d.ts.map +1 -0
  64. package/dist/tools/chrome.js +228 -0
  65. package/dist/tools/chrome.js.map +1 -0
  66. package/dist/tools/edit.d.ts +2 -0
  67. package/dist/tools/edit.d.ts.map +1 -0
  68. package/dist/tools/edit.js +67 -0
  69. package/dist/tools/edit.js.map +1 -0
  70. package/dist/tools/ls.d.ts +2 -0
  71. package/dist/tools/ls.d.ts.map +1 -0
  72. package/dist/tools/ls.js +75 -0
  73. package/dist/tools/ls.js.map +1 -0
  74. package/dist/tools/read.d.ts +2 -0
  75. package/dist/tools/read.d.ts.map +1 -0
  76. package/dist/tools/read.js +72 -0
  77. package/dist/tools/read.js.map +1 -0
  78. package/dist/tools/registry.d.ts +2 -0
  79. package/dist/tools/registry.d.ts.map +1 -0
  80. package/dist/tools/registry.js +64 -0
  81. package/dist/tools/registry.js.map +1 -0
  82. package/dist/utils/output.d.ts +62 -0
  83. package/dist/utils/output.d.ts.map +1 -0
  84. package/dist/utils/output.js +487 -0
  85. package/dist/utils/output.js.map +1 -0
  86. package/package.json +54 -0
package/README.md ADDED
@@ -0,0 +1,191 @@
1
+ # CoWorker by Sylix
2
+
3
+ A powerful AI-powered CLI coding assistant that runs in your terminal.
4
+
5
+ ![CoWorker Banner](https://img.shields.io/badge/CoWorker-Sylix-cyan)
6
+
7
+ ## Features
8
+
9
+ - **Ask**: Query your codebase with natural language questions
10
+ - **Explain**: Get clear explanations of any file's purpose and structure
11
+ - **Edit**: AI-assisted file editing with diff preview and confirmation
12
+ - **Run**: Execute tasks with intelligent command suggestions
13
+ - **Config**: Easy configuration management for your Sylix API credentials
14
+
15
+ ## Installation
16
+
17
+ ### Prerequisites
18
+
19
+ - Node.js 18 or higher
20
+ - npm or yarn
21
+ - Sylix API access
22
+
23
+ ### Install Dependencies
24
+
25
+ ```bash
26
+ cd coworker
27
+ npm install
28
+ ```
29
+
30
+ ### Build
31
+
32
+ ```bash
33
+ npm run build
34
+ ```
35
+
36
+ ### Global Installation (Optional)
37
+
38
+ To use `coworker` command anywhere:
39
+
40
+ ```bash
41
+ npm link
42
+ ```
43
+
44
+ ## Configuration
45
+
46
+ Before using CoWorker, configure your Sylix API credentials:
47
+
48
+ ```bash
49
+ coworker config init
50
+ ```
51
+
52
+ You'll be prompted for:
53
+ - **Base URL**: Your Sylix API endpoint (default: `https://api.sylix.ai`)
54
+ - **API Key**: Your Sylix API key
55
+ - **Default Model**: Model to use (default: `sylix-4`)
56
+
57
+ To view your current configuration:
58
+
59
+ ```bash
60
+ coworker config show
61
+ ```
62
+
63
+ ## Usage
64
+
65
+ ### Ask a Question
66
+
67
+ Ask questions about your codebase with context awareness:
68
+
69
+ ```bash
70
+ coworker ask "What does the authentication module do?"
71
+ ```
72
+
73
+ ```bash
74
+ coworker ask "How can I optimize the database queries in this project?"
75
+ ```
76
+
77
+ ### Explain a File
78
+
79
+ Get detailed explanations of any file:
80
+
81
+ ```bash
82
+ coworker explain src/api/sylix.ts
83
+ ```
84
+
85
+ ```bash
86
+ coworker explain package.json
87
+ ```
88
+
89
+ ### Edit a File
90
+
91
+ AI-assisted editing with diff preview:
92
+
93
+ ```bash
94
+ coworker edit src/utils/helper.ts "Add input validation to the parseConfig function"
95
+ ```
96
+
97
+ ```bash
98
+ coworker edit app.js "Convert the callback-based function to use async/await"
99
+ ```
100
+
101
+ ### Run a Task
102
+
103
+ Execute tasks with command suggestions:
104
+
105
+ ```bash
106
+ coworker run "Set up a new React component library"
107
+ ```
108
+
109
+ ```bash
110
+ coworker run "Run all tests and show me the results"
111
+ ```
112
+
113
+ The assistant will suggest commands and ask for confirmation before executing them.
114
+
115
+ ## Project Structure
116
+
117
+ ```
118
+ coworker/
119
+ ├── src/
120
+ │ ├── cli.ts # Main CLI entry point
121
+ │ ├── api/
122
+ │ │ └── sylix.ts # Sylix API client
123
+ │ ├── context/
124
+ │ │ └── reader.ts # Context reader for codebase
125
+ │ ├── commands/
126
+ │ │ ├── ask.ts # Ask command implementation
127
+ │ │ ├── edit.ts # Edit command implementation
128
+ │ │ ├── explain.ts # Explain command implementation
129
+ │ │ ├── run.ts # Run command implementation
130
+ │ │ └── config.ts # Config commands
131
+ │ └── utils/
132
+ │ └── output.ts # Output formatting utilities
133
+ ├── package.json
134
+ ├── tsconfig.json
135
+ └── README.md
136
+ ```
137
+
138
+ ## API Configuration
139
+
140
+ The configuration is stored at `~/.coworker/config.json`:
141
+
142
+ ```json
143
+ {
144
+ "baseUrl": "https://api.sylix.ai",
145
+ "apiKey": "your-api-key",
146
+ "defaultModel": "sylix-4"
147
+ }
148
+ ```
149
+
150
+ ## Development
151
+
152
+ ### Run in Development Mode
153
+
154
+ ```bash
155
+ npm run dev -- ask "What does this project do?"
156
+ ```
157
+
158
+ ### Build
159
+
160
+ ```bash
161
+ npm run build
162
+ ```
163
+
164
+ ## Output Formatting
165
+
166
+ CoWorker provides beautifully formatted terminal output:
167
+
168
+ - **Cyan** - Branding and headers
169
+ - **Green** - Success messages
170
+ - **Red** - Errors
171
+ - **Yellow** - Warnings
172
+ - **Code blocks** - Syntax highlighted with line numbers
173
+ - **Spinners** - Loading indicators for async operations
174
+
175
+ ## Security
176
+
177
+ - API keys are stored locally in `~/.coworker/config.json`
178
+ - Never commit your config file to version control
179
+ - The config file path respects your home directory across platforms
180
+
181
+ ## License
182
+
183
+ MIT License - Copyright (c) Sylix
184
+
185
+ ## Support
186
+
187
+ For issues and feature requests, please visit the [GitHub repository](https://github.com/sylix/coworker).
188
+
189
+ ---
190
+
191
+ **CoWorker by Sylix** - Your AI pair programmer in the terminal.
@@ -0,0 +1,51 @@
1
+ export interface SylixConfig {
2
+ baseUrl: string;
3
+ apiKey: string;
4
+ defaultModel?: string;
5
+ }
6
+ export interface ChatMessage {
7
+ role: 'system' | 'user' | 'assistant' | 'tool';
8
+ content?: string;
9
+ name?: string;
10
+ tool_call_id?: string;
11
+ tool_calls?: {
12
+ id: string;
13
+ type: 'function';
14
+ function: {
15
+ name: string;
16
+ arguments: string;
17
+ };
18
+ }[];
19
+ }
20
+ export interface ChatRequest {
21
+ messages: ChatMessage[];
22
+ stream?: boolean;
23
+ model?: string;
24
+ }
25
+ export interface ChatResponse {
26
+ content: string;
27
+ tool_calls?: {
28
+ id: string;
29
+ type: 'function';
30
+ function: {
31
+ name: string;
32
+ arguments: string;
33
+ };
34
+ }[];
35
+ }
36
+ export interface StreamChunk {
37
+ content: string;
38
+ done: boolean;
39
+ }
40
+ export interface StreamChunk {
41
+ content: string;
42
+ done: boolean;
43
+ }
44
+ export declare function ensureConfigDir(): Promise<void>;
45
+ export declare function loadConfig(): Promise<SylixConfig | null>;
46
+ export declare function saveConfig(config: SylixConfig): Promise<void>;
47
+ export declare function getConfig(): Promise<SylixConfig>;
48
+ export declare function getConfigPath(): string;
49
+ export declare function chat(messages: ChatMessage[], onChunk?: (chunk: string) => void, model?: string): Promise<ChatResponse>;
50
+ export declare function chatNonStreaming(messages: ChatMessage[], model?: string): Promise<string>;
51
+ //# sourceMappingURL=sylix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sylix.d.ts","sourceRoot":"","sources":["../../src/api/sylix.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,EAAE,CAAC;CACL;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,EAAE,CAAC;CACL;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAW9D;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,CAmBtD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAsB,IAAI,CACxB,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAqHvB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
@@ -0,0 +1,234 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ensureConfigDir = ensureConfigDir;
37
+ exports.loadConfig = loadConfig;
38
+ exports.saveConfig = saveConfig;
39
+ exports.getConfig = getConfig;
40
+ exports.getConfigPath = getConfigPath;
41
+ exports.chat = chat;
42
+ exports.chatNonStreaming = chatNonStreaming;
43
+ const axios_1 = __importStar(require("axios"));
44
+ const fs = __importStar(require("fs-extra"));
45
+ const path = __importStar(require("path"));
46
+ const os = __importStar(require("os"));
47
+ const output_1 = require("../utils/output");
48
+ const CONFIG_DIR = path.join(os.homedir(), '.coworker');
49
+ const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
50
+ async function ensureConfigDir() {
51
+ await fs.ensureDir(CONFIG_DIR);
52
+ }
53
+ async function loadConfig() {
54
+ try {
55
+ if (await fs.pathExists(CONFIG_FILE)) {
56
+ const config = await fs.readJson(CONFIG_FILE);
57
+ return config;
58
+ }
59
+ return null;
60
+ }
61
+ catch (error) {
62
+ (0, output_1.printError)('Failed to load configuration');
63
+ return null;
64
+ }
65
+ }
66
+ async function saveConfig(config) {
67
+ await ensureConfigDir();
68
+ await fs.writeJson(CONFIG_FILE, config, { spaces: 2 });
69
+ }
70
+ async function getConfig() {
71
+ const config = await loadConfig();
72
+ if (!config) {
73
+ (0, output_1.printError)('No configuration found. Please run: coworker config init');
74
+ process.exit(1);
75
+ }
76
+ if (!config.apiKey) {
77
+ (0, output_1.printError)('API key not configured. Please run: coworker config init');
78
+ process.exit(1);
79
+ }
80
+ if (!config.baseUrl) {
81
+ (0, output_1.printError)('Base URL not configured. Please run: coworker config init');
82
+ process.exit(1);
83
+ }
84
+ return config;
85
+ }
86
+ function getConfigPath() {
87
+ return CONFIG_FILE;
88
+ }
89
+ async function chat(messages, onChunk, model) {
90
+ const config = await getConfig();
91
+ const url = `${config.baseUrl.replace(/\/$/, '')}/v1/coworker/chat/completions`;
92
+ const request = {
93
+ messages,
94
+ stream: true,
95
+ model: model || config.defaultModel || 'sylix-4'
96
+ };
97
+ try {
98
+ const response = await (0, axios_1.default)({
99
+ method: 'POST',
100
+ url,
101
+ headers: {
102
+ 'Content-Type': 'application/json',
103
+ 'Authorization': `Bearer ${config.apiKey}`
104
+ },
105
+ data: request,
106
+ responseType: 'stream',
107
+ timeout: 120000
108
+ });
109
+ return new Promise((resolve, reject) => {
110
+ let fullContent = '';
111
+ let toolCalls = [];
112
+ let buffer = '';
113
+ response.data.on('data', (chunk) => {
114
+ buffer += chunk.toString();
115
+ const lines = buffer.split('\n');
116
+ buffer = lines.pop() || '';
117
+ for (const line of lines) {
118
+ const trimmed = line.trim();
119
+ if (trimmed.startsWith('data: ')) {
120
+ const data = trimmed.slice(6);
121
+ if (data === '[DONE]') {
122
+ continue;
123
+ }
124
+ try {
125
+ const parsed = JSON.parse(data);
126
+ const delta = parsed.choices?.[0]?.delta;
127
+ if (delta?.content) {
128
+ fullContent += delta.content;
129
+ if (onChunk) {
130
+ onChunk(delta.content);
131
+ }
132
+ }
133
+ if (delta?.tool_calls) {
134
+ // Reconstruct the array
135
+ for (const tcDelta of delta.tool_calls) {
136
+ const index = tcDelta.index;
137
+ if (!toolCalls[index]) {
138
+ toolCalls[index] = {
139
+ id: tcDelta.id,
140
+ type: 'function',
141
+ function: { name: tcDelta.function?.name || '', arguments: '' }
142
+ };
143
+ }
144
+ if (tcDelta.function?.arguments) {
145
+ toolCalls[index].function.arguments += tcDelta.function.arguments;
146
+ }
147
+ }
148
+ }
149
+ }
150
+ catch (e) {
151
+ // Skip invalid JSON
152
+ }
153
+ }
154
+ }
155
+ });
156
+ response.data.on('end', () => {
157
+ // Clean up empty indexes if any
158
+ const finalToolCalls = toolCalls.filter(Boolean);
159
+ resolve({
160
+ content: fullContent,
161
+ ...(finalToolCalls.length > 0 && { tool_calls: finalToolCalls })
162
+ });
163
+ });
164
+ response.data.on('error', (err) => {
165
+ reject(err);
166
+ });
167
+ });
168
+ }
169
+ catch (error) {
170
+ if (error instanceof axios_1.AxiosError) {
171
+ if (error.response) {
172
+ const status = error.response.status;
173
+ const data = error.response.data;
174
+ if (status === 401) {
175
+ (0, output_1.printError)('Invalid API key. Please check your configuration.');
176
+ }
177
+ else if (status === 403) {
178
+ (0, output_1.printError)('Access forbidden. Please check your API permissions.');
179
+ }
180
+ else if (status === 429) {
181
+ (0, output_1.printError)('Rate limit exceeded. Please try again later.');
182
+ }
183
+ else {
184
+ (0, output_1.printError)(`API error (${status}): ${JSON.stringify(data)}`);
185
+ }
186
+ }
187
+ else if (error.code === 'ECONNREFUSED') {
188
+ (0, output_1.printError)('Could not connect to Sylix API. Please check your base URL.');
189
+ }
190
+ else if (error.code === 'ETIMEDOUT') {
191
+ (0, output_1.printError)('Connection timed out. Please try again.');
192
+ }
193
+ else {
194
+ (0, output_1.printError)(`Network error: ${error.message}`);
195
+ }
196
+ }
197
+ else {
198
+ (0, output_1.printError)('An unexpected error occurred');
199
+ }
200
+ throw error;
201
+ }
202
+ }
203
+ async function chatNonStreaming(messages, model) {
204
+ const config = await getConfig();
205
+ const url = `${config.baseUrl.replace(/\/$/, '')}/v1/coworker/chat/completions`;
206
+ const request = {
207
+ messages,
208
+ stream: false,
209
+ model: model || config.defaultModel || 'sylix-4'
210
+ };
211
+ try {
212
+ const response = await axios_1.default.post(url, request, {
213
+ headers: {
214
+ 'Content-Type': 'application/json',
215
+ 'Authorization': `Bearer ${config.apiKey}`
216
+ },
217
+ timeout: 120000
218
+ });
219
+ return response.data.content || response.data.message?.content || '';
220
+ }
221
+ catch (error) {
222
+ if (error instanceof axios_1.AxiosError) {
223
+ if (error.response) {
224
+ const status = error.response.status;
225
+ (0, output_1.printError)(`API error (${status}): ${error.message}`);
226
+ }
227
+ else {
228
+ (0, output_1.printError)(`Network error: ${error.message}`);
229
+ }
230
+ }
231
+ throw error;
232
+ }
233
+ }
234
+ //# sourceMappingURL=sylix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sylix.js","sourceRoot":"","sources":["../../src/api/sylix.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,0CAEC;AAED,gCAWC;AAED,gCAGC;AAED,8BAmBC;AAED,sCAEC;AAED,oBAyHC;AAED,4CAmCC;AAvQD,+CAA0C;AAC1C,6CAA+B;AAC/B,2CAA6B;AAC7B,uCAAyB;AACzB,4CAA2D;AAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAmDlD,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAEM,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,mBAAU,EAAC,8BAA8B,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,eAAe,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AAEM,KAAK,UAAU,SAAS;IAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAElC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAA,mBAAU,EAAC,0DAA0D,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,IAAA,mBAAU,EAAC,0DAA0D,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAA,mBAAU,EAAC,2DAA2D,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,IAAI,CACxB,QAAuB,EACvB,OAAiC,EACjC,KAAc;IAEd,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IAEjC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,CAAC;IAEhF,MAAM,OAAO,GAAgB;QAC3B,QAAQ;QACR,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,YAAY,IAAI,SAAS;KACjD,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC;YAC3B,MAAM,EAAE,MAAM;YACd,GAAG;YACH,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aAC3C;YACD,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,SAAS,GAAU,EAAE,CAAC;YAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAE9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACtB,SAAS;wBACX,CAAC;wBAED,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAChC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;4BAEzC,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;gCACnB,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC;gCAC7B,IAAI,OAAO,EAAE,CAAC;oCACZ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gCACzB,CAAC;4BACH,CAAC;4BAED,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;gCACtB,wBAAwB;gCACxB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oCACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oCAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;wCACtB,SAAS,CAAC,KAAK,CAAC,GAAG;4CACjB,EAAE,EAAE,OAAO,CAAC,EAAE;4CACd,IAAI,EAAE,UAAU;4CAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;yCAChE,CAAC;oCACJ,CAAC;oCACD,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;wCAChC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oCACpE,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,oBAAoB;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC3B,gCAAgC;gBAChC,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC;oBACN,OAAO,EAAE,WAAW;oBACpB,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACvC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAU,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAEjC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnB,IAAA,mBAAU,EAAC,mDAAmD,CAAC,CAAC;gBAClE,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,IAAA,mBAAU,EAAC,sDAAsD,CAAC,CAAC;gBACrE,CAAC;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,IAAA,mBAAU,EAAC,8CAA8C,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,IAAA,mBAAU,EAAC,cAAc,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACzC,IAAA,mBAAU,EAAC,6DAA6D,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,IAAA,mBAAU,EAAC,yCAAyC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAA,mBAAU,EAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAA,mBAAU,EAAC,8BAA8B,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,QAAuB,EACvB,KAAc;IAEd,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IAEjC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,CAAC;IAEhF,MAAM,OAAO,GAAgB;QAC3B,QAAQ;QACR,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,YAAY,IAAI,SAAS;KACjD,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;YAC9C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aAC3C;YACD,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAU,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,IAAA,mBAAU,EAAC,cAAc,MAAM,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAA,mBAAU,EAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}