ai.matey.cli 0.2.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 (129) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/convert-request.js +365 -0
  3. package/dist/cjs/convert-request.js.map +1 -0
  4. package/dist/cjs/convert-response.js +211 -0
  5. package/dist/cjs/convert-response.js.map +1 -0
  6. package/dist/cjs/converters/request-converters.js +183 -0
  7. package/dist/cjs/converters/request-converters.js.map +1 -0
  8. package/dist/cjs/converters/response-converters.js +203 -0
  9. package/dist/cjs/converters/response-converters.js.map +1 -0
  10. package/dist/cjs/create-backend.js +569 -0
  11. package/dist/cjs/create-backend.js.map +1 -0
  12. package/dist/cjs/index.js +31 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/main.js +181 -0
  15. package/dist/cjs/main.js.map +1 -0
  16. package/dist/cjs/ollama/commands/list.js +70 -0
  17. package/dist/cjs/ollama/commands/list.js.map +1 -0
  18. package/dist/cjs/ollama/commands/ps.js +80 -0
  19. package/dist/cjs/ollama/commands/ps.js.map +1 -0
  20. package/dist/cjs/ollama/commands/pull.js +198 -0
  21. package/dist/cjs/ollama/commands/pull.js.map +1 -0
  22. package/dist/cjs/ollama/commands/run.js +279 -0
  23. package/dist/cjs/ollama/commands/run.js.map +1 -0
  24. package/dist/cjs/ollama/commands/show.js +138 -0
  25. package/dist/cjs/ollama/commands/show.js.map +1 -0
  26. package/dist/cjs/ollama/index.js +238 -0
  27. package/dist/cjs/ollama/index.js.map +1 -0
  28. package/dist/cjs/ollama/types.js +10 -0
  29. package/dist/cjs/ollama/types.js.map +1 -0
  30. package/dist/cjs/proxy.js +406 -0
  31. package/dist/cjs/proxy.js.map +1 -0
  32. package/dist/cjs/utils/backend-loader.js +112 -0
  33. package/dist/cjs/utils/backend-loader.js.map +1 -0
  34. package/dist/cjs/utils/index.js +29 -0
  35. package/dist/cjs/utils/index.js.map +1 -0
  36. package/dist/cjs/utils/model-translation.js +138 -0
  37. package/dist/cjs/utils/model-translation.js.map +1 -0
  38. package/dist/cjs/utils/output-formatter.js +241 -0
  39. package/dist/cjs/utils/output-formatter.js.map +1 -0
  40. package/dist/cjs/utils/pipeline-inspector.js +90 -0
  41. package/dist/cjs/utils/pipeline-inspector.js.map +1 -0
  42. package/dist/cjs/utils/state-manager.js +114 -0
  43. package/dist/cjs/utils/state-manager.js.map +1 -0
  44. package/dist/esm/convert-request.js +331 -0
  45. package/dist/esm/convert-request.js.map +1 -0
  46. package/dist/esm/convert-response.js +177 -0
  47. package/dist/esm/convert-response.js.map +1 -0
  48. package/dist/esm/converters/request-converters.js +175 -0
  49. package/dist/esm/converters/request-converters.js.map +1 -0
  50. package/dist/esm/converters/response-converters.js +191 -0
  51. package/dist/esm/converters/response-converters.js.map +1 -0
  52. package/dist/esm/create-backend.js +533 -0
  53. package/dist/esm/create-backend.js.map +1 -0
  54. package/dist/esm/index.js +15 -0
  55. package/dist/esm/index.js.map +1 -0
  56. package/dist/esm/main.js +149 -0
  57. package/dist/esm/main.js.map +1 -0
  58. package/dist/esm/ollama/commands/list.js +67 -0
  59. package/dist/esm/ollama/commands/list.js.map +1 -0
  60. package/dist/esm/ollama/commands/ps.js +77 -0
  61. package/dist/esm/ollama/commands/ps.js.map +1 -0
  62. package/dist/esm/ollama/commands/pull.js +195 -0
  63. package/dist/esm/ollama/commands/pull.js.map +1 -0
  64. package/dist/esm/ollama/commands/run.js +243 -0
  65. package/dist/esm/ollama/commands/run.js.map +1 -0
  66. package/dist/esm/ollama/commands/show.js +135 -0
  67. package/dist/esm/ollama/commands/show.js.map +1 -0
  68. package/dist/esm/ollama/index.js +235 -0
  69. package/dist/esm/ollama/index.js.map +1 -0
  70. package/dist/esm/ollama/types.js +9 -0
  71. package/dist/esm/ollama/types.js.map +1 -0
  72. package/dist/esm/proxy.js +403 -0
  73. package/dist/esm/proxy.js.map +1 -0
  74. package/dist/esm/utils/backend-loader.js +74 -0
  75. package/dist/esm/utils/backend-loader.js.map +1 -0
  76. package/dist/esm/utils/index.js +13 -0
  77. package/dist/esm/utils/index.js.map +1 -0
  78. package/dist/esm/utils/model-translation.js +99 -0
  79. package/dist/esm/utils/model-translation.js.map +1 -0
  80. package/dist/esm/utils/output-formatter.js +224 -0
  81. package/dist/esm/utils/output-formatter.js.map +1 -0
  82. package/dist/esm/utils/pipeline-inspector.js +84 -0
  83. package/dist/esm/utils/pipeline-inspector.js.map +1 -0
  84. package/dist/esm/utils/state-manager.js +111 -0
  85. package/dist/esm/utils/state-manager.js.map +1 -0
  86. package/dist/types/convert-request.d.ts +15 -0
  87. package/dist/types/convert-request.d.ts.map +1 -0
  88. package/dist/types/convert-response.d.ts +16 -0
  89. package/dist/types/convert-response.d.ts.map +1 -0
  90. package/dist/types/converters/request-converters.d.ts +139 -0
  91. package/dist/types/converters/request-converters.d.ts.map +1 -0
  92. package/dist/types/converters/response-converters.d.ts +134 -0
  93. package/dist/types/converters/response-converters.d.ts.map +1 -0
  94. package/dist/types/create-backend.d.ts +20 -0
  95. package/dist/types/create-backend.d.ts.map +1 -0
  96. package/dist/types/index.d.ts +13 -0
  97. package/dist/types/index.d.ts.map +1 -0
  98. package/dist/types/main.d.ts +19 -0
  99. package/dist/types/main.d.ts.map +1 -0
  100. package/dist/types/ollama/commands/list.d.ts +32 -0
  101. package/dist/types/ollama/commands/list.d.ts.map +1 -0
  102. package/dist/types/ollama/commands/ps.d.ts +27 -0
  103. package/dist/types/ollama/commands/ps.d.ts.map +1 -0
  104. package/dist/types/ollama/commands/pull.d.ts +21 -0
  105. package/dist/types/ollama/commands/pull.d.ts.map +1 -0
  106. package/dist/types/ollama/commands/run.d.ts +48 -0
  107. package/dist/types/ollama/commands/run.d.ts.map +1 -0
  108. package/dist/types/ollama/commands/show.d.ts +36 -0
  109. package/dist/types/ollama/commands/show.d.ts.map +1 -0
  110. package/dist/types/ollama/index.d.ts +12 -0
  111. package/dist/types/ollama/index.d.ts.map +1 -0
  112. package/dist/types/ollama/types.d.ts +58 -0
  113. package/dist/types/ollama/types.d.ts.map +1 -0
  114. package/dist/types/proxy.d.ts +16 -0
  115. package/dist/types/proxy.d.ts.map +1 -0
  116. package/dist/types/utils/backend-loader.d.ts +55 -0
  117. package/dist/types/utils/backend-loader.d.ts.map +1 -0
  118. package/dist/types/utils/index.d.ts +13 -0
  119. package/dist/types/utils/index.d.ts.map +1 -0
  120. package/dist/types/utils/model-translation.d.ts +64 -0
  121. package/dist/types/utils/model-translation.d.ts.map +1 -0
  122. package/dist/types/utils/output-formatter.d.ts +113 -0
  123. package/dist/types/utils/output-formatter.d.ts.map +1 -0
  124. package/dist/types/utils/pipeline-inspector.d.ts +50 -0
  125. package/dist/types/utils/pipeline-inspector.d.ts.map +1 -0
  126. package/dist/types/utils/state-manager.d.ts +91 -0
  127. package/dist/types/utils/state-manager.d.ts.map +1 -0
  128. package/package.json +75 -0
  129. package/readme.md +32 -0
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Response Converters
3
+ *
4
+ * Utility functions for converting Universal IR responses to various frontend formats.
5
+ * Useful for debugging, testing, and compatibility checking.
6
+ *
7
+ * @module
8
+ */
9
+ import type { IRChatResponse, IRChatStream } from 'ai.matey.types';
10
+ import type { StreamConversionOptions } from 'ai.matey.types';
11
+ import { type OpenAIResponse, type OpenAIStreamChunk } from 'ai.matey.frontend';
12
+ import { type AnthropicResponse, type AnthropicStreamEvent } from 'ai.matey.frontend';
13
+ /**
14
+ * Convert Universal IR response to OpenAI format.
15
+ *
16
+ * @param response Universal IR response
17
+ * @returns OpenAI-formatted response
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { toOpenAI } from 'ai.matey.utils';
22
+ *
23
+ * const irResponse = await backend.execute(request);
24
+ * const openaiFormat = await toOpenAI(irResponse);
25
+ * console.log(JSON.stringify(openaiFormat, null, 2));
26
+ * ```
27
+ */
28
+ export declare function toOpenAI(response: IRChatResponse): Promise<OpenAIResponse>;
29
+ /**
30
+ * Convert Universal IR response to Anthropic format.
31
+ *
32
+ * @param response Universal IR response
33
+ * @returns Anthropic-formatted response
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { toAnthropic } from 'ai.matey.utils';
38
+ *
39
+ * const irResponse = await backend.execute(request);
40
+ * const anthropicFormat = await toAnthropic(irResponse);
41
+ * ```
42
+ */
43
+ export declare function toAnthropic(response: IRChatResponse): Promise<AnthropicResponse>;
44
+ /**
45
+ * Convert Universal IR response to Gemini format.
46
+ *
47
+ * @param response Universal IR response
48
+ * @returns Gemini-formatted response
49
+ */
50
+ export declare function toGemini(response: IRChatResponse): Promise<unknown>;
51
+ /**
52
+ * Convert Universal IR response to Ollama format.
53
+ *
54
+ * @param response Universal IR response
55
+ * @returns Ollama-formatted response
56
+ */
57
+ export declare function toOllama(response: IRChatResponse): Promise<unknown>;
58
+ /**
59
+ * Convert Universal IR response to Mistral format.
60
+ *
61
+ * @param response Universal IR response
62
+ * @returns Mistral-formatted response
63
+ */
64
+ export declare function toMistral(response: IRChatResponse): Promise<unknown>;
65
+ /**
66
+ * Convert Universal IR stream to OpenAI SSE format.
67
+ *
68
+ * @param stream Universal IR stream
69
+ * @param options Stream conversion options
70
+ * @returns OpenAI-formatted stream chunks
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * import { toOpenAIStream } from 'ai.matey.utils';
75
+ *
76
+ * const irStream = backend.executeStream(request);
77
+ * for await (const chunk of toOpenAIStream(irStream)) {
78
+ * console.log('OpenAI chunk:', chunk);
79
+ * }
80
+ * ```
81
+ */
82
+ export declare function toOpenAIStream(stream: IRChatStream, options?: StreamConversionOptions): AsyncGenerator<OpenAIStreamChunk, void, undefined>;
83
+ /**
84
+ * Convert Universal IR stream to Anthropic SSE format.
85
+ *
86
+ * @param stream Universal IR stream
87
+ * @param options Stream conversion options
88
+ * @returns Anthropic-formatted stream chunks
89
+ */
90
+ export declare function toAnthropicStream(stream: IRChatStream, options?: StreamConversionOptions): AsyncGenerator<AnthropicStreamEvent, void, undefined>;
91
+ /**
92
+ * Convert Universal IR stream to Gemini SSE format.
93
+ *
94
+ * @param stream Universal IR stream
95
+ * @param options Stream conversion options
96
+ * @returns Gemini-formatted stream chunks
97
+ */
98
+ export declare function toGeminiStream(stream: IRChatStream, options?: StreamConversionOptions): AsyncGenerator<unknown, void, undefined>;
99
+ /**
100
+ * Convert Universal IR stream to Mistral SSE format.
101
+ *
102
+ * @param stream Universal IR stream
103
+ * @param options Stream conversion options
104
+ * @returns Mistral-formatted stream chunks
105
+ */
106
+ export declare function toMistralStream(stream: IRChatStream, options?: StreamConversionOptions): AsyncGenerator<unknown, void, undefined>;
107
+ /**
108
+ * Convert Universal IR response to multiple formats at once.
109
+ * Useful for debugging and comparing how different providers handle the same response.
110
+ *
111
+ * @param response Universal IR response
112
+ * @param formats Array of format names to convert to
113
+ * @returns Object with converted responses for each format
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * import { toMultipleFormats } from 'ai.matey.utils';
118
+ *
119
+ * const irResponse = await backend.execute(request);
120
+ * const allFormats = await toMultipleFormats(irResponse, ['openai', 'anthropic', 'gemini']);
121
+ *
122
+ * console.log('OpenAI:', JSON.stringify(allFormats.openai, null, 2));
123
+ * console.log('Anthropic:', JSON.stringify(allFormats.anthropic, null, 2));
124
+ * console.log('Gemini:', JSON.stringify(allFormats.gemini, null, 2));
125
+ * ```
126
+ */
127
+ export declare function toMultipleFormats(response: IRChatResponse, formats?: Array<'openai' | 'anthropic' | 'gemini' | 'ollama' | 'mistral'>): Promise<{
128
+ openai?: OpenAIResponse;
129
+ anthropic?: AnthropicResponse;
130
+ gemini?: unknown;
131
+ ollama?: unknown;
132
+ mistral?: unknown;
133
+ }>;
134
+ //# sourceMappingURL=response-converters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-converters.d.ts","sourceRoot":"","sources":["../../../src/converters/response-converters.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAS3B;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAGhF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGtF;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1E;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAuB,cAAc,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,uBAAuB,GAChC,cAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE,SAAS,CAAC,CAGpD;AAED;;;;;;GAMG;AACH,wBAAuB,iBAAiB,CACtC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,uBAAuB,GAChC,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,SAAS,CAAC,CAGvD;AAED;;;;;;GAMG;AACH,wBAAuB,cAAc,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,uBAAuB,GAChC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAG1C;AAED;;;;;;GAMG;AACH,wBAAuB,eAAe,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,uBAAuB,GAChC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAG1C;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,KAAK,CAAC,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAItE,GACA,OAAO,CAAC;IACT,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAwBD"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Create Backend Subcommand
3
+ *
4
+ * Interactive wizard to generate backend adapter templates for use with ai-matey.
5
+ *
6
+ * @module cli/create-backend
7
+ */
8
+ export interface CreateBackendOptions {
9
+ interactive?: boolean;
10
+ provider?: string;
11
+ output?: string;
12
+ name?: string;
13
+ baseUrl?: string;
14
+ help?: boolean;
15
+ }
16
+ /**
17
+ * Main CLI entry point.
18
+ */
19
+ export declare function main(argv?: string[]): Promise<void>;
20
+ //# sourceMappingURL=create-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-backend.d.ts","sourceRoot":"","sources":["../../src/create-backend.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAofH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuCD;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFhF"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CLI Utilities and Interfaces
3
+ *
4
+ * ⚠️ WARNING: This module uses Node.js-specific APIs (child_process, readline, fs) and
5
+ * is NOT browser-compatible. Import from 'ai.matey.backend' for
6
+ * browser-compatible adapters.
7
+ *
8
+ * @module cli
9
+ */
10
+ export * from './utils/index.js';
11
+ export * from './converters/request-converters.js';
12
+ export * from './converters/response-converters.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * AI.Matey CLI - Main Entry Point
4
+ *
5
+ * Unified CLI with subcommands for various utilities.
6
+ *
7
+ * Usage:
8
+ * ai-matey <command> [options]
9
+ *
10
+ * Commands:
11
+ * convert-response Convert IR responses to provider formats
12
+ * emulate-ollama Emulate Ollama CLI interface
13
+ * (future) emulate-openai, emulate-anthropic, etc.
14
+ *
15
+ * @module cli/main
16
+ */
17
+ declare function main(): Promise<void>;
18
+ export { main };
19
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAqEH,iBAAe,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqEnC;AAMD,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Ollama `list` Command
3
+ *
4
+ * List available models.
5
+ *
6
+ * @module cli/ollama/commands/list
7
+ */
8
+ import type { BackendAdapter } from 'ai.matey.types';
9
+ import type { ModelMapping } from '../../utils/model-translation.js';
10
+ export interface ListCommandOptions {
11
+ /**
12
+ * Backend adapter to use.
13
+ */
14
+ backend: BackendAdapter;
15
+ /**
16
+ * Model mapping (for showing translated names).
17
+ */
18
+ modelMapping?: ModelMapping;
19
+ /**
20
+ * Output as JSON.
21
+ */
22
+ json?: boolean;
23
+ /**
24
+ * Verbose output.
25
+ */
26
+ verbose?: boolean;
27
+ }
28
+ /**
29
+ * Execute the list command.
30
+ */
31
+ export declare function listCommand(options: ListCommandOptions): Promise<void>;
32
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/ollama/commands/list.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGrE,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE5E"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Ollama `ps` Command
3
+ *
4
+ * List running models.
5
+ *
6
+ * @module cli/ollama/commands/ps
7
+ */
8
+ import type { BackendAdapter } from 'ai.matey.types';
9
+ export interface PsCommandOptions {
10
+ /**
11
+ * Backend adapter to use.
12
+ */
13
+ backend: BackendAdapter;
14
+ /**
15
+ * Output as JSON.
16
+ */
17
+ json?: boolean;
18
+ /**
19
+ * Verbose output.
20
+ */
21
+ verbose?: boolean;
22
+ }
23
+ /**
24
+ * Execute the ps command.
25
+ */
26
+ export declare function psCommand(options: PsCommandOptions): Promise<void>;
27
+ //# sourceMappingURL=ps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ps.d.ts","sourceRoot":"","sources":["../../../../src/ollama/commands/ps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyExE"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Pull Command - Download GGUF models from Ollama registry
3
+ *
4
+ * Downloads .gguf model files from the Ollama registry API.
5
+ *
6
+ * @module cli/ollama/commands/pull
7
+ */
8
+ /**
9
+ * Options for pull command.
10
+ */
11
+ export interface PullCommandOptions {
12
+ model: string;
13
+ output?: string;
14
+ verbose?: boolean;
15
+ insecure?: boolean;
16
+ }
17
+ /**
18
+ * Pull command - Download GGUF model from Ollama registry.
19
+ */
20
+ export declare function pullCommand(options: PullCommandOptions): Promise<void>;
21
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../../src/ollama/commands/pull.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA0KD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D5E"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Ollama `run` Command
3
+ *
4
+ * Run a model interactively or with a single prompt.
5
+ *
6
+ * @module cli/ollama/commands/run
7
+ */
8
+ import type { BackendAdapter } from 'ai.matey.types';
9
+ import { type ModelMapping } from '../../utils/model-translation.js';
10
+ export interface RunCommandOptions {
11
+ /**
12
+ * Backend adapter to use.
13
+ */
14
+ backend: BackendAdapter;
15
+ /**
16
+ * Model name to run.
17
+ */
18
+ model: string;
19
+ /**
20
+ * Single prompt (non-interactive mode).
21
+ */
22
+ prompt?: string;
23
+ /**
24
+ * Model mapping for translation.
25
+ */
26
+ modelMapping?: ModelMapping;
27
+ /**
28
+ * Format output as JSON.
29
+ */
30
+ json?: boolean;
31
+ /**
32
+ * Verbose output.
33
+ */
34
+ verbose?: boolean;
35
+ /**
36
+ * System message.
37
+ */
38
+ system?: string;
39
+ /**
40
+ * Disable streaming.
41
+ */
42
+ noStream?: boolean;
43
+ }
44
+ /**
45
+ * Execute the run command.
46
+ */
47
+ export declare function runCommand(options: RunCommandOptions): Promise<void>;
48
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/ollama/commands/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAKrF,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E1E"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Ollama `show` Command
3
+ *
4
+ * Show model information.
5
+ *
6
+ * @module cli/ollama/commands/show
7
+ */
8
+ import type { BackendAdapter } from 'ai.matey.types';
9
+ import type { ModelMapping } from '../../utils/model-translation.js';
10
+ export interface ShowCommandOptions {
11
+ /**
12
+ * Backend adapter to use.
13
+ */
14
+ backend: BackendAdapter;
15
+ /**
16
+ * Model name to show.
17
+ */
18
+ model: string;
19
+ /**
20
+ * Model mapping for translation.
21
+ */
22
+ modelMapping?: ModelMapping;
23
+ /**
24
+ * Output as JSON.
25
+ */
26
+ json?: boolean;
27
+ /**
28
+ * Verbose output.
29
+ */
30
+ verbose?: boolean;
31
+ }
32
+ /**
33
+ * Execute the show command.
34
+ */
35
+ export declare function showCommand(options: ShowCommandOptions): Promise<void>;
36
+ //# sourceMappingURL=show.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../../src/ollama/commands/show.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAKrE,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2I5E"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Ollama CLI Interface
3
+ *
4
+ * Main entry point for Ollama CLI interface.
5
+ *
6
+ * @module cli/ollama
7
+ */
8
+ /**
9
+ * Main CLI entry point.
10
+ */
11
+ export declare function main(argv?: string[]): Promise<void>;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ollama/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqHH;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmIhF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Ollama CLI Types
3
+ *
4
+ * Shared types for Ollama CLI interface.
5
+ *
6
+ * @module cli/ollama/types
7
+ */
8
+ export interface GlobalOptions {
9
+ /**
10
+ * Path to backend module.
11
+ */
12
+ backend: string;
13
+ /**
14
+ * Path to model mapping JSON file.
15
+ */
16
+ modelMap?: string;
17
+ /**
18
+ * Disable colored output.
19
+ */
20
+ noColor?: boolean;
21
+ /**
22
+ * Disable streaming output.
23
+ */
24
+ noStream?: boolean;
25
+ /**
26
+ * Output as JSON.
27
+ */
28
+ json?: boolean;
29
+ /**
30
+ * Verbose output.
31
+ */
32
+ verbose?: boolean;
33
+ }
34
+ export interface RunOptions extends GlobalOptions {
35
+ /**
36
+ * Model name.
37
+ */
38
+ model: string;
39
+ /**
40
+ * Single prompt (optional).
41
+ */
42
+ prompt?: string;
43
+ /**
44
+ * System message.
45
+ */
46
+ system?: string;
47
+ }
48
+ export interface ListOptions extends GlobalOptions {
49
+ }
50
+ export interface PsOptions extends GlobalOptions {
51
+ }
52
+ export interface ShowOptions extends GlobalOptions {
53
+ /**
54
+ * Model name.
55
+ */
56
+ model: string;
57
+ }
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ollama/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;CAAG;AAErD,MAAM,WAAW,SAAU,SAAQ,aAAa;CAAG;AAEnD,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * AI.Matey Proxy Server
4
+ *
5
+ * HTTP proxy server that accepts provider-format requests (e.g., OpenAI)
6
+ * and routes them through any ai-matey backend adapter.
7
+ *
8
+ * Usage:
9
+ * ai-matey proxy --backend ./backend.mjs --port 3000 --format openai
10
+ *
11
+ * This allows you to use ANY backend as a drop-in replacement for OpenAI/Anthropic/etc!
12
+ *
13
+ * @module cli/proxy
14
+ */
15
+ export declare function main(argv?: string[]): Promise<void>;
16
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAwYH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DhF"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Backend Loader Utility
3
+ *
4
+ * Dynamically loads backend modules from file paths.
5
+ * Node.js only - uses dynamic import.
6
+ *
7
+ * @module cli/utils/backend-loader
8
+ */
9
+ import type { BackendAdapter } from 'ai.matey.types';
10
+ export interface BackendModule {
11
+ default: BackendAdapter;
12
+ }
13
+ export interface LoadBackendOptions {
14
+ /**
15
+ * Path to backend module file.
16
+ */
17
+ path: string;
18
+ /**
19
+ * Current working directory for resolving relative paths.
20
+ */
21
+ cwd?: string;
22
+ }
23
+ /**
24
+ * Load a backend from a module file.
25
+ *
26
+ * @param options - Load options
27
+ * @returns Loaded backend adapter
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const backend = await loadBackend({ path: './my-backend.mjs' });
32
+ * const response = await backend.execute(request);
33
+ * ```
34
+ */
35
+ export declare function loadBackend(options: LoadBackendOptions): Promise<BackendAdapter>;
36
+ /**
37
+ * Check if a backend is a model runner (has lifecycle methods).
38
+ *
39
+ * @param backend - Backend to check
40
+ * @returns True if backend is a model runner
41
+ */
42
+ export declare function isModelRunner(backend: BackendAdapter): boolean;
43
+ /**
44
+ * Get backend capabilities.
45
+ *
46
+ * @param backend - Backend to inspect
47
+ * @returns Capability flags
48
+ */
49
+ export declare function getBackendCapabilities(backend: BackendAdapter): {
50
+ hasLifecycle: boolean;
51
+ hasModelList: boolean;
52
+ hasStats: boolean;
53
+ metadata: import("ai.matey.types").AdapterMetadata;
54
+ };
55
+ //# sourceMappingURL=backend-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-loader.d.ts","sourceRoot":"","sources":["../../../src/utils/backend-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAkCtF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAM9D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc;;;;;EAO7D"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CLI Utilities
3
+ *
4
+ * Common utilities for CLI implementation.
5
+ * Node.js only - not browser-compatible.
6
+ *
7
+ * @module cli/utils
8
+ */
9
+ export * from './backend-loader.js';
10
+ export * from './model-translation.js';
11
+ export * from './output-formatter.js';
12
+ export * from './state-manager.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Model Translation Utility
3
+ *
4
+ * Translates model names between different providers.
5
+ * Supports backend.modelMapping property or external mapping files.
6
+ *
7
+ * @module cli/utils/model-translation
8
+ */
9
+ import type { BackendAdapter } from 'ai.matey.types';
10
+ export type ModelMapping = Record<string, string>;
11
+ export interface ModelTranslationOptions {
12
+ /**
13
+ * Backend adapter (may have modelMapping property).
14
+ */
15
+ backend: BackendAdapter;
16
+ /**
17
+ * External model mapping (overrides backend.modelMapping).
18
+ */
19
+ mapping?: ModelMapping;
20
+ /**
21
+ * Fallback to backend's default model if no mapping found.
22
+ */
23
+ useBackendDefault?: boolean;
24
+ }
25
+ /**
26
+ * Translate a model name using mapping or backend default.
27
+ *
28
+ * @param modelName - Original model name
29
+ * @param options - Translation options
30
+ * @returns Translated model name or original if no mapping
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const backend = new OpenAIBackend({ defaultModel: 'gpt-4o' });
35
+ * backend.modelMapping = { 'llama3.1': 'gpt-4o' };
36
+ *
37
+ * const translated = translateModel('llama3.1', { backend });
38
+ * // → 'gpt-4o'
39
+ * ```
40
+ */
41
+ export declare function translateModel(modelName: string, options: ModelTranslationOptions): string;
42
+ /**
43
+ * Load model mapping from JSON file.
44
+ *
45
+ * @param path - Path to JSON file
46
+ * @returns Model mapping
47
+ */
48
+ export declare function loadModelMapping(path: string): Promise<ModelMapping>;
49
+ /**
50
+ * Get reverse mapping (backend model → original model name).
51
+ *
52
+ * @param mapping - Forward mapping
53
+ * @returns Reverse mapping
54
+ */
55
+ export declare function reverseMapping(mapping: ModelMapping): ModelMapping;
56
+ /**
57
+ * Check if model name needs translation.
58
+ *
59
+ * @param modelName - Model name to check
60
+ * @param options - Translation options
61
+ * @returns True if translation is available
62
+ */
63
+ export declare function hasTranslation(modelName: string, options: Omit<ModelTranslationOptions, 'useBackendDefault'>): boolean;
64
+ //# sourceMappingURL=model-translation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-translation.d.ts","sourceRoot":"","sources":["../../../src/utils/model-translation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAwB1F;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAmB1E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAMlE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,GAC1D,OAAO,CAaT"}