@reminix/cli 0.1.3 → 0.1.5

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,6 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Agents command group
4
+ */
5
+ export declare const agentsCommand: Command;
6
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,eAAO,MAAM,aAAa,SAItB,CAAC"}
@@ -0,0 +1,195 @@
1
+ import { Command } from 'commander';
2
+ import { createApiClient } from '../lib/api-client.js';
3
+ /**
4
+ * Agents command group
5
+ */
6
+ export const agentsCommand = new Command('agents')
7
+ .description('Interact with agents')
8
+ .action(() => {
9
+ agentsCommand.help();
10
+ });
11
+ /**
12
+ * Invoke an agent
13
+ */
14
+ agentsCommand
15
+ .command('invoke <name>')
16
+ .description('Invoke an agent with input data')
17
+ .requiredOption('-p, --project <id>', 'Project ID or org-slug/project-slug')
18
+ .requiredOption('-i, --input <json>', 'Input data as JSON string')
19
+ .option('--stream', 'Stream the response')
20
+ .option('--json', 'Output as JSON (non-streaming only)')
21
+ .action(async (name, options) => {
22
+ try {
23
+ // Parse input JSON
24
+ let input;
25
+ try {
26
+ input = JSON.parse(options.input);
27
+ }
28
+ catch {
29
+ console.error('Error: Invalid JSON input. Use --input \'{"key": "value"}\'');
30
+ process.exit(1);
31
+ }
32
+ const client = createApiClient({ project: options.project });
33
+ if (options.stream) {
34
+ // Streaming response
35
+ const response = await client.POST('/agents/{name}/invoke', {
36
+ params: { path: { name } },
37
+ body: { input, stream: true },
38
+ parseAs: 'stream',
39
+ });
40
+ if (!response.response.ok) {
41
+ const errorText = await response.response.text();
42
+ console.error(`Error: ${errorText}`);
43
+ process.exit(1);
44
+ }
45
+ const reader = response.response.body?.getReader();
46
+ if (!reader) {
47
+ console.error('Error: No response body');
48
+ process.exit(1);
49
+ }
50
+ const decoder = new TextDecoder();
51
+ while (true) {
52
+ const { done, value } = await reader.read();
53
+ if (done)
54
+ break;
55
+ const chunk = decoder.decode(value, { stream: true });
56
+ const lines = chunk.split('\n');
57
+ for (const line of lines) {
58
+ if (line.startsWith('data: ')) {
59
+ const payload = line.slice(6);
60
+ if (payload === '[DONE]') {
61
+ console.log(); // Final newline
62
+ break;
63
+ }
64
+ try {
65
+ const parsed = JSON.parse(payload);
66
+ if (parsed.chunk) {
67
+ process.stdout.write(parsed.chunk);
68
+ }
69
+ }
70
+ catch {
71
+ // Ignore parsing errors for incomplete chunks
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ else {
78
+ // Non-streaming response
79
+ const { data, error } = await client.POST('/agents/{name}/invoke', {
80
+ params: { path: { name } },
81
+ body: { input, stream: false },
82
+ });
83
+ if (error) {
84
+ console.error(`Error: ${JSON.stringify(error)}`);
85
+ process.exit(1);
86
+ }
87
+ if (options.json) {
88
+ console.log(JSON.stringify(data, null, 2));
89
+ }
90
+ else {
91
+ // Type narrow to the JSON response (not SSE)
92
+ const jsonData = data;
93
+ console.log(jsonData?.output);
94
+ }
95
+ }
96
+ }
97
+ catch (error) {
98
+ if (error instanceof Error) {
99
+ console.error(`Error: ${error.message}`);
100
+ }
101
+ else {
102
+ console.error('An unexpected error occurred');
103
+ }
104
+ process.exit(1);
105
+ }
106
+ });
107
+ /**
108
+ * Chat with an agent
109
+ */
110
+ agentsCommand
111
+ .command('chat <name>')
112
+ .description('Start a chat session with an agent')
113
+ .requiredOption('-p, --project <id>', 'Project ID or org-slug/project-slug')
114
+ .requiredOption('-m, --message <text>', 'Message to send')
115
+ .option('--stream', 'Stream the response')
116
+ .option('--json', 'Output as JSON (non-streaming only)')
117
+ .action(async (name, options) => {
118
+ try {
119
+ const client = createApiClient({ project: options.project });
120
+ const messages = [{ role: 'user', content: options.message }];
121
+ if (options.stream) {
122
+ // Streaming response
123
+ const response = await client.POST('/agents/{name}/chat', {
124
+ params: { path: { name } },
125
+ body: { messages, stream: true },
126
+ parseAs: 'stream',
127
+ });
128
+ if (!response.response.ok) {
129
+ const errorText = await response.response.text();
130
+ console.error(`Error: ${errorText}`);
131
+ process.exit(1);
132
+ }
133
+ const reader = response.response.body?.getReader();
134
+ if (!reader) {
135
+ console.error('Error: No response body');
136
+ process.exit(1);
137
+ }
138
+ const decoder = new TextDecoder();
139
+ while (true) {
140
+ const { done, value } = await reader.read();
141
+ if (done)
142
+ break;
143
+ const chunk = decoder.decode(value, { stream: true });
144
+ const lines = chunk.split('\n');
145
+ for (const line of lines) {
146
+ if (line.startsWith('data: ')) {
147
+ const payload = line.slice(6);
148
+ if (payload === '[DONE]') {
149
+ console.log(); // Final newline
150
+ break;
151
+ }
152
+ try {
153
+ const parsed = JSON.parse(payload);
154
+ if (parsed.chunk) {
155
+ process.stdout.write(parsed.chunk);
156
+ }
157
+ }
158
+ catch {
159
+ // Ignore parsing errors for incomplete chunks
160
+ }
161
+ }
162
+ }
163
+ }
164
+ }
165
+ else {
166
+ // Non-streaming response
167
+ const { data, error } = await client.POST('/agents/{name}/chat', {
168
+ params: { path: { name } },
169
+ body: { messages, stream: false },
170
+ });
171
+ if (error) {
172
+ console.error(`Error: ${JSON.stringify(error)}`);
173
+ process.exit(1);
174
+ }
175
+ if (options.json) {
176
+ console.log(JSON.stringify(data, null, 2));
177
+ }
178
+ else {
179
+ // Type narrow to the JSON response (not SSE)
180
+ const jsonData = data;
181
+ console.log(jsonData?.output);
182
+ }
183
+ }
184
+ }
185
+ catch (error) {
186
+ if (error instanceof Error) {
187
+ console.error(`Error: ${error.message}`);
188
+ }
189
+ else {
190
+ console.error('An unexpected error occurred');
191
+ }
192
+ process.exit(1);
193
+ }
194
+ });
195
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Projects command group
4
+ */
5
+ export declare const projectsCommand: Command;
6
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,eAAO,MAAM,eAAe,SAE1B,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { Command } from 'commander';
2
+ import { createApiClient } from '../lib/api-client.js';
3
+ /**
4
+ * Projects command group
5
+ */
6
+ export const projectsCommand = new Command('projects').description('Manage projects').action(() => {
7
+ projectsCommand.help();
8
+ });
9
+ /**
10
+ * List projects
11
+ */
12
+ projectsCommand
13
+ .command('list')
14
+ .description('List all projects you have access to')
15
+ .option('--json', 'Output as JSON')
16
+ .option('--limit <number>', 'Maximum number of projects to return', '50')
17
+ .action(async (options) => {
18
+ try {
19
+ const client = createApiClient();
20
+ const { data, error } = await client.GET('/projects', {
21
+ params: {
22
+ query: {
23
+ limit: parseInt(options.limit, 10),
24
+ },
25
+ },
26
+ });
27
+ if (error) {
28
+ console.error(`Error: ${JSON.stringify(error)}`);
29
+ process.exit(1);
30
+ }
31
+ if (!data?.data || data.data.length === 0) {
32
+ console.log('No projects found.');
33
+ return;
34
+ }
35
+ if (options.json) {
36
+ console.log(JSON.stringify(data, null, 2));
37
+ }
38
+ else {
39
+ // Group projects by organization
40
+ const byOrg = new Map();
41
+ for (const project of data.data) {
42
+ const orgName = project.organization?.name || 'Unknown';
43
+ if (!byOrg.has(orgName)) {
44
+ byOrg.set(orgName, []);
45
+ }
46
+ byOrg.get(orgName).push(project);
47
+ }
48
+ for (const [orgName, projects] of byOrg) {
49
+ console.log(`\n${orgName}:`);
50
+ for (const project of projects) {
51
+ const orgSlug = project.organization?.slug || 'unknown';
52
+ console.log(` ${project.name} (${orgSlug}/${project.slug})`);
53
+ }
54
+ }
55
+ console.log();
56
+ }
57
+ }
58
+ catch (error) {
59
+ if (error instanceof Error) {
60
+ console.error(`Error: ${error.message}`);
61
+ }
62
+ else {
63
+ console.error('An unexpected error occurred');
64
+ }
65
+ process.exit(1);
66
+ }
67
+ });
68
+ /**
69
+ * Get current project (useful for testing auth)
70
+ */
71
+ projectsCommand
72
+ .command('current')
73
+ .description('Get the current project')
74
+ .requiredOption('-p, --project <id>', 'Project ID or org-slug/project-slug')
75
+ .option('--json', 'Output as JSON')
76
+ .action(async (options) => {
77
+ try {
78
+ const client = createApiClient({ project: options.project });
79
+ const { data, error } = await client.GET('/projects/current');
80
+ if (error) {
81
+ console.error(`Error: ${JSON.stringify(error)}`);
82
+ process.exit(1);
83
+ }
84
+ if (options.json) {
85
+ console.log(JSON.stringify(data, null, 2));
86
+ }
87
+ else {
88
+ console.log(`Project: ${data?.name}`);
89
+ console.log(` ID: ${data?.id}`);
90
+ console.log(` Slug: ${data?.slug}`);
91
+ console.log(` Organization: ${data?.organizationId}`);
92
+ }
93
+ }
94
+ catch (error) {
95
+ if (error instanceof Error) {
96
+ console.error(`Error: ${error.message}`);
97
+ }
98
+ else {
99
+ console.error('An unexpected error occurred');
100
+ }
101
+ process.exit(1);
102
+ }
103
+ });
104
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.1.3";
1
+ export declare const version = "0.1.5";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const version = '0.1.3';
1
+ export const version = '0.1.5';
2
2
  //# sourceMappingURL=version.js.map
package/dist/index.js CHANGED
@@ -4,6 +4,8 @@ import { version } from './commands/version.js';
4
4
  import { loginCommand } from './commands/login.js';
5
5
  import { logoutCommand } from './commands/logout.js';
6
6
  import { whoamiCommand } from './commands/whoami.js';
7
+ import { projectsCommand } from './commands/projects.js';
8
+ import { agentsCommand } from './commands/agents.js';
7
9
  const program = new Command();
8
10
  program
9
11
  .name('reminix')
@@ -13,9 +15,12 @@ program
13
15
  .action(() => {
14
16
  program.help();
15
17
  });
16
- // Add commands
18
+ // Auth commands
17
19
  program.addCommand(loginCommand);
18
20
  program.addCommand(logoutCommand);
19
21
  program.addCommand(whoamiCommand);
22
+ // Resource commands
23
+ program.addCommand(projectsCommand);
24
+ program.addCommand(agentsCommand);
20
25
  program.parse();
21
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAwB,CAAC;KAC3D,kBAAkB,EAAE;KACpB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElC,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAwB,CAAC;KAC3D,kBAAkB,EAAE;KACpB,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,gBAAgB;AAChB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElC,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElC,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { paths } from './api-types.js';
2
+ /**
3
+ * API client options
4
+ */
5
+ export interface ApiClientOptions {
6
+ /** Project ID or org-slug/project-slug (sets X-Project header) */
7
+ project?: string;
8
+ }
9
+ /**
10
+ * Create an authenticated API client
11
+ *
12
+ * @throws Error if not logged in
13
+ */
14
+ export declare function createApiClient(options?: ApiClientOptions): import("openapi-fetch").Client<paths, `${string}/${string}`>;
15
+ /**
16
+ * Create an API client with a specific project context
17
+ * Convenience wrapper for createApiClient({ project })
18
+ */
19
+ export declare function createProjectClient(project: string): import("openapi-fetch").Client<paths, `${string}/${string}`>;
20
+ /**
21
+ * Get the current user's email from credentials
22
+ * Returns null if not logged in
23
+ */
24
+ export declare function getCurrentUserEmail(): string | null;
25
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAiB5C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,gEAoB7D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,gEAElD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAGnD"}
@@ -0,0 +1,52 @@
1
+ import createClient from 'openapi-fetch';
2
+ import { loadCredentials } from './credentials.js';
3
+ /**
4
+ * Default API URL - can be overridden with REMINIX_API_URL env var
5
+ */
6
+ const DEFAULT_API_URL = 'https://api.reminix.com';
7
+ /**
8
+ * Get the API URL from environment or use default
9
+ * Appends /v1 to match the OpenAPI spec paths
10
+ */
11
+ function getApiUrl() {
12
+ const baseUrl = process.env.REMINIX_API_URL || DEFAULT_API_URL;
13
+ return `${baseUrl}/v1`;
14
+ }
15
+ /**
16
+ * Create an authenticated API client
17
+ *
18
+ * @throws Error if not logged in
19
+ */
20
+ export function createApiClient(options = {}) {
21
+ const credentials = loadCredentials();
22
+ if (!credentials) {
23
+ throw new Error("Not logged in. Run 'reminix login' to authenticate.");
24
+ }
25
+ const headers = {
26
+ Authorization: `Bearer ${credentials.token}`,
27
+ };
28
+ // Add X-Project header if project is specified
29
+ if (options.project) {
30
+ headers['X-Project'] = options.project;
31
+ }
32
+ return createClient({
33
+ baseUrl: getApiUrl(),
34
+ headers,
35
+ });
36
+ }
37
+ /**
38
+ * Create an API client with a specific project context
39
+ * Convenience wrapper for createApiClient({ project })
40
+ */
41
+ export function createProjectClient(project) {
42
+ return createApiClient({ project });
43
+ }
44
+ /**
45
+ * Get the current user's email from credentials
46
+ * Returns null if not logged in
47
+ */
48
+ export function getCurrentUserEmail() {
49
+ const credentials = loadCredentials();
50
+ return credentials?.email ?? null;
51
+ }
52
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAElD;;;GAGG;AACH,SAAS,SAAS;IAChB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,eAAe,CAAC;IAC/D,OAAO,GAAG,OAAO,KAAK,CAAC;AACzB,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE;IAC5D,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,WAAW,CAAC,KAAK,EAAE;KAC7C,CAAC;IAEF,+CAA+C;IAC/C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IACzC,CAAC;IAED,OAAO,YAAY,CAAQ;QACzB,OAAO,EAAE,SAAS,EAAE;QACpB,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,OAAO,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC;AACpC,CAAC"}
@@ -0,0 +1,518 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/projects": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * List projects
15
+ * @description List all projects accessible to the current authentication.
16
+ *
17
+ * The projects returned depend on the authentication method:
18
+ * - **Project API Key**: Returns only the project associated with the API key
19
+ * - **Organization-scoped PAT**: Returns all projects in that organization
20
+ * - **Full-access PAT**: Returns all projects across all organizations the user is a member of
21
+ *
22
+ * Each project includes its organization information for easy grouping and display.
23
+ */
24
+ get: operations["listProjects"];
25
+ put?: never;
26
+ post?: never;
27
+ delete?: never;
28
+ options?: never;
29
+ head?: never;
30
+ patch?: never;
31
+ trace?: never;
32
+ };
33
+ "/projects/current": {
34
+ parameters: {
35
+ query?: never;
36
+ header?: never;
37
+ path?: never;
38
+ cookie?: never;
39
+ };
40
+ /**
41
+ * Get current project
42
+ * @description Returns the project associated with the API key or X-Project header.
43
+ *
44
+ * The project contains metadata about your organization's configuration, including:
45
+ * - Project ID and organization ID
46
+ * - Project name and slug
47
+ * - Organization details
48
+ * - Creation and update timestamps
49
+ *
50
+ * This endpoint is useful for verifying your API key is valid and retrieving project details.
51
+ */
52
+ get: operations["getCurrentProject"];
53
+ put?: never;
54
+ post?: never;
55
+ delete?: never;
56
+ options?: never;
57
+ head?: never;
58
+ patch?: never;
59
+ trace?: never;
60
+ };
61
+ "/agents/{name}/invoke": {
62
+ parameters: {
63
+ query?: never;
64
+ header?: never;
65
+ path?: never;
66
+ cookie?: never;
67
+ };
68
+ get?: never;
69
+ put?: never;
70
+ /**
71
+ * Invoke an agent
72
+ * @description Execute a one-shot task with an agent. This endpoint is designed for task-oriented operations
73
+ * where you provide input and receive a complete output.
74
+ *
75
+ * **Timeout:** Agent invocations have a 60-second timeout. If the agent takes longer to respond,
76
+ * you will receive a 504 Gateway Timeout error. For long-running tasks, consider using streaming
77
+ * mode which does not have the same timeout constraints.
78
+ *
79
+ * **Idempotency:** For non-streaming requests, send an `Idempotency-Key` header with a unique value
80
+ * (e.g., UUID) to ensure duplicate requests return the same response. Keys are valid for 24 hours.
81
+ * Streaming responses are not cached.
82
+ *
83
+ * **Use cases:**
84
+ * - Data analysis and processing
85
+ * - Content generation (with streaming for long outputs)
86
+ * - One-time operations that don't require conversation history
87
+ * - API-like operations
88
+ *
89
+ * **Streaming:** Set `stream: true` in the request body to receive Server-Sent Events (SSE)
90
+ * stream with incremental chunks. Useful for long-running tasks or real-time progress updates.
91
+ */
92
+ post: operations["invokeAgent"];
93
+ delete?: never;
94
+ options?: never;
95
+ head?: never;
96
+ patch?: never;
97
+ trace?: never;
98
+ };
99
+ "/agents/{name}/chat": {
100
+ parameters: {
101
+ query?: never;
102
+ header?: never;
103
+ path?: never;
104
+ cookie?: never;
105
+ };
106
+ get?: never;
107
+ put?: never;
108
+ /**
109
+ * Chat with an agent
110
+ * @description Have a conversational interaction with an agent. This endpoint maintains conversation context
111
+ * through the messages array, allowing for multi-turn conversations.
112
+ *
113
+ * **Timeout:** Chat requests have a 60-second timeout. If the agent takes longer to respond,
114
+ * you will receive a 504 Gateway Timeout error. For long-running conversations, consider using
115
+ * streaming mode which does not have the same timeout constraints.
116
+ *
117
+ * **Idempotency:** For non-streaming requests, send an `Idempotency-Key` header with a unique value
118
+ * (e.g., UUID) to ensure duplicate requests return the same response. Keys are valid for 24 hours.
119
+ * Streaming responses are not cached.
120
+ *
121
+ * **Use cases:**
122
+ * - Customer support chatbots
123
+ * - AI assistants with memory
124
+ * - Multi-step question answering
125
+ * - Conversational agents that need context
126
+ *
127
+ * **Message format:** Follows OpenAI-compliant message structure with support for:
128
+ * - `system`, `user`, `assistant`, and `tool` roles
129
+ * - Multimodal content (text + images)
130
+ * - Tool/function calling
131
+ *
132
+ * **Streaming:** Set `stream: true` in the request body to receive Server-Sent Events (SSE)
133
+ * stream with incremental chunks. Perfect for ChatGPT-like real-time chat interfaces.
134
+ */
135
+ post: operations["chatAgent"];
136
+ delete?: never;
137
+ options?: never;
138
+ head?: never;
139
+ patch?: never;
140
+ trace?: never;
141
+ };
142
+ }
143
+ export type webhooks = Record<string, never>;
144
+ export interface components {
145
+ schemas: {
146
+ /** @description Organization that owns this project */
147
+ OrganizationInfo: {
148
+ /** @description Unique identifier for the organization */
149
+ id: string;
150
+ /** @description Human-readable name of the organization */
151
+ name: string;
152
+ /** @description URL-friendly identifier for the organization */
153
+ slug: string;
154
+ };
155
+ ProjectWithOrganization: {
156
+ /** @description Unique identifier for the project */
157
+ id: string;
158
+ /** @description ID of the organization that owns this project */
159
+ organizationId: string;
160
+ /** @description Human-readable name of the project */
161
+ name: string;
162
+ /** @description URL-friendly identifier for the project */
163
+ slug: string;
164
+ /**
165
+ * Format: date-time
166
+ * @description ISO 8601 timestamp when the project was created
167
+ */
168
+ createdAt: string;
169
+ /**
170
+ * Format: date-time
171
+ * @description ISO 8601 timestamp when the project was last updated
172
+ */
173
+ updatedAt: string;
174
+ organization: components["schemas"]["OrganizationInfo"];
175
+ };
176
+ /**
177
+ * @example {
178
+ * "nextCursor": "eyJpZCI6ImV2dF9hYmMxMjMifQ",
179
+ * "hasMore": true
180
+ * }
181
+ */
182
+ PaginationCursor: {
183
+ /** @description Cursor for the next page of results. Null if there are no more results. */
184
+ nextCursor: string | null;
185
+ /** @description Whether there are more results available */
186
+ hasMore: boolean;
187
+ };
188
+ /**
189
+ * @example {
190
+ * "error": "Invalid request"
191
+ * }
192
+ */
193
+ ErrorResponse: {
194
+ /** @description Error message describing what went wrong */
195
+ error: string;
196
+ };
197
+ InvokeResponse: {
198
+ /** @description Output from the agent. Structure depends on agent implementation. */
199
+ output?: unknown;
200
+ };
201
+ StreamChunk: {
202
+ /** @description Text chunk from the stream */
203
+ chunk: string;
204
+ };
205
+ /** @description Optional request context passed to the agent handler. */
206
+ Context: {
207
+ /** @description ID to track multi-turn conversations */
208
+ conversation_id?: string;
209
+ /** @description ID of the user making the request */
210
+ user_id?: string;
211
+ /** @description Additional custom context fields */
212
+ custom?: {
213
+ [key: string]: unknown;
214
+ };
215
+ };
216
+ InvokeRequest: {
217
+ /** @description Input data for the agent. Structure depends on agent implementation. */
218
+ input: {
219
+ [key: string]: unknown;
220
+ };
221
+ /**
222
+ * @description Whether to stream the response as SSE.
223
+ * @default false
224
+ */
225
+ stream: boolean;
226
+ context?: components["schemas"]["Context"];
227
+ };
228
+ /**
229
+ * @description Message role
230
+ * @enum {string}
231
+ */
232
+ ChatMessageRole: "system" | "user" | "assistant" | "tool";
233
+ /** @enum {string} */
234
+ ContentItemType: "text" | "image_url";
235
+ ImageUrl: {
236
+ url: string;
237
+ };
238
+ ContentItem: {
239
+ type: components["schemas"]["ContentItemType"];
240
+ text?: string;
241
+ image_url?: components["schemas"]["ImageUrl"];
242
+ };
243
+ ChatMessage: {
244
+ role: components["schemas"]["ChatMessageRole"];
245
+ /** @description Message content. Can be string, array (multimodal), or object (tool). */
246
+ content: string | components["schemas"]["ContentItem"][] | {
247
+ [key: string]: unknown;
248
+ };
249
+ /** @description Tool name (required when role is "tool") */
250
+ name?: string;
251
+ /** @description Tool call ID (for tool role) */
252
+ tool_call_id?: string;
253
+ };
254
+ ChatResponse: {
255
+ /** @description Final assistant response text */
256
+ output: string;
257
+ /** @description Full conversation history including the assistant response */
258
+ messages: components["schemas"]["ChatMessage"][];
259
+ };
260
+ ChatRequest: {
261
+ /** @description Conversation history. Must include at least one message. */
262
+ messages: components["schemas"]["ChatMessage"][];
263
+ /**
264
+ * @description Whether to stream the response as SSE.
265
+ * @default false
266
+ */
267
+ stream: boolean;
268
+ context?: components["schemas"]["Context"];
269
+ };
270
+ };
271
+ responses: never;
272
+ parameters: never;
273
+ requestBodies: never;
274
+ headers: never;
275
+ pathItems: never;
276
+ }
277
+ export type $defs = Record<string, never>;
278
+ export interface operations {
279
+ listProjects: {
280
+ parameters: {
281
+ query?: {
282
+ /** @description Maximum number of items to return (1-100, default: 50) */
283
+ limit?: number;
284
+ /** @description Pagination cursor from the previous response */
285
+ cursor?: string;
286
+ };
287
+ header?: never;
288
+ path?: never;
289
+ cookie?: never;
290
+ };
291
+ requestBody?: never;
292
+ responses: {
293
+ /** @description List of projects */
294
+ 200: {
295
+ headers: {
296
+ [name: string]: unknown;
297
+ };
298
+ content: {
299
+ "application/json": components["schemas"]["PaginationCursor"] & {
300
+ data: components["schemas"]["ProjectWithOrganization"][];
301
+ };
302
+ };
303
+ };
304
+ /** @description Unauthorized - Invalid or missing API key */
305
+ 401: {
306
+ headers: {
307
+ [name: string]: unknown;
308
+ };
309
+ content: {
310
+ "application/json": components["schemas"]["ErrorResponse"];
311
+ };
312
+ };
313
+ };
314
+ };
315
+ getCurrentProject: {
316
+ parameters: {
317
+ query?: never;
318
+ header?: never;
319
+ path?: never;
320
+ cookie?: never;
321
+ };
322
+ requestBody?: never;
323
+ responses: {
324
+ /** @description Project found */
325
+ 200: {
326
+ headers: {
327
+ [name: string]: unknown;
328
+ };
329
+ content: {
330
+ "application/json": components["schemas"]["ProjectWithOrganization"];
331
+ };
332
+ };
333
+ /** @description Unauthorized - Invalid or missing API key */
334
+ 401: {
335
+ headers: {
336
+ [name: string]: unknown;
337
+ };
338
+ content: {
339
+ "application/json": components["schemas"]["ErrorResponse"];
340
+ };
341
+ };
342
+ /** @description Project not found */
343
+ 404: {
344
+ headers: {
345
+ [name: string]: unknown;
346
+ };
347
+ content: {
348
+ "application/json": components["schemas"]["ErrorResponse"];
349
+ };
350
+ };
351
+ };
352
+ };
353
+ invokeAgent: {
354
+ parameters: {
355
+ query?: never;
356
+ header?: never;
357
+ path: {
358
+ /** @description Unique, URL-safe agent name within the project */
359
+ name: string;
360
+ };
361
+ cookie?: never;
362
+ };
363
+ requestBody?: {
364
+ content: {
365
+ "application/json": components["schemas"]["InvokeRequest"];
366
+ };
367
+ };
368
+ responses: {
369
+ /** @description Agent invocation successful */
370
+ 200: {
371
+ headers: {
372
+ [name: string]: unknown;
373
+ };
374
+ content: {
375
+ "application/json": components["schemas"]["InvokeResponse"];
376
+ "text/event-stream": components["schemas"]["StreamChunk"];
377
+ };
378
+ };
379
+ /** @description Bad Request - Invalid request body */
380
+ 400: {
381
+ headers: {
382
+ [name: string]: unknown;
383
+ };
384
+ content: {
385
+ "application/json": components["schemas"]["ErrorResponse"];
386
+ };
387
+ };
388
+ /** @description Unauthorized - Invalid or missing API key */
389
+ 401: {
390
+ headers: {
391
+ [name: string]: unknown;
392
+ };
393
+ content: {
394
+ "application/json": components["schemas"]["ErrorResponse"];
395
+ };
396
+ };
397
+ /** @description Agent or deployment not found */
398
+ 404: {
399
+ headers: {
400
+ [name: string]: unknown;
401
+ };
402
+ content: {
403
+ "application/json": components["schemas"]["ErrorResponse"];
404
+ };
405
+ };
406
+ /** @description Internal Server Error */
407
+ 500: {
408
+ headers: {
409
+ [name: string]: unknown;
410
+ };
411
+ content: {
412
+ "application/json": components["schemas"]["ErrorResponse"];
413
+ };
414
+ };
415
+ /** @description Bad Gateway - Unable to reach agent machine */
416
+ 502: {
417
+ headers: {
418
+ [name: string]: unknown;
419
+ };
420
+ content: {
421
+ "application/json": components["schemas"]["ErrorResponse"];
422
+ };
423
+ };
424
+ /** @description Gateway Timeout - Agent exceeded the 60-second timeout. Consider using streaming mode for long-running tasks. */
425
+ 504: {
426
+ headers: {
427
+ [name: string]: unknown;
428
+ };
429
+ content: {
430
+ "application/json": components["schemas"]["ErrorResponse"];
431
+ };
432
+ };
433
+ };
434
+ };
435
+ chatAgent: {
436
+ parameters: {
437
+ query?: never;
438
+ header?: never;
439
+ path: {
440
+ /** @description Unique, URL-safe agent name within the project */
441
+ name: string;
442
+ };
443
+ cookie?: never;
444
+ };
445
+ requestBody?: {
446
+ content: {
447
+ "application/json": components["schemas"]["ChatRequest"];
448
+ };
449
+ };
450
+ responses: {
451
+ /** @description Chat response successful */
452
+ 200: {
453
+ headers: {
454
+ [name: string]: unknown;
455
+ };
456
+ content: {
457
+ "application/json": components["schemas"]["ChatResponse"];
458
+ "text/event-stream": components["schemas"]["StreamChunk"];
459
+ };
460
+ };
461
+ /** @description Bad Request - Invalid request body */
462
+ 400: {
463
+ headers: {
464
+ [name: string]: unknown;
465
+ };
466
+ content: {
467
+ "application/json": components["schemas"]["ErrorResponse"];
468
+ };
469
+ };
470
+ /** @description Unauthorized - Invalid or missing API key */
471
+ 401: {
472
+ headers: {
473
+ [name: string]: unknown;
474
+ };
475
+ content: {
476
+ "application/json": components["schemas"]["ErrorResponse"];
477
+ };
478
+ };
479
+ /** @description Agent or deployment not found */
480
+ 404: {
481
+ headers: {
482
+ [name: string]: unknown;
483
+ };
484
+ content: {
485
+ "application/json": components["schemas"]["ErrorResponse"];
486
+ };
487
+ };
488
+ /** @description Internal Server Error */
489
+ 500: {
490
+ headers: {
491
+ [name: string]: unknown;
492
+ };
493
+ content: {
494
+ "application/json": components["schemas"]["ErrorResponse"];
495
+ };
496
+ };
497
+ /** @description Bad Gateway - Unable to reach agent machine */
498
+ 502: {
499
+ headers: {
500
+ [name: string]: unknown;
501
+ };
502
+ content: {
503
+ "application/json": components["schemas"]["ErrorResponse"];
504
+ };
505
+ };
506
+ /** @description Gateway Timeout - Agent exceeded the 60-second timeout. Consider using streaming mode for long-running tasks. */
507
+ 504: {
508
+ headers: {
509
+ [name: string]: unknown;
510
+ };
511
+ content: {
512
+ "application/json": components["schemas"]["ErrorResponse"];
513
+ };
514
+ };
515
+ };
516
+ };
517
+ }
518
+ //# sourceMappingURL=api-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../src/lib/api-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=api-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.js","sourceRoot":"","sources":["../../src/lib/api-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-server.d.ts","sourceRoot":"","sources":["../../src/lib/auth-server.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AA+ID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,MAAsB,GAChC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAAE,CAAC,CA0F/E;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAItC"}
1
+ {"version":3,"file":"auth-server.d.ts","sourceRoot":"","sources":["../../src/lib/auth-server.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAuLD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,MAAsB,GAChC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAAE,CAAC,CA0F/E;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAItC"}
@@ -13,27 +13,44 @@ const SUCCESS_HTML = `
13
13
  * { margin: 0; padding: 0; box-sizing: border-box; }
14
14
  body {
15
15
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
16
- background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
16
+ background: #09090b;
17
17
  min-height: 100vh;
18
18
  display: flex;
19
19
  align-items: center;
20
20
  justify-content: center;
21
21
  color: #fff;
22
+ position: relative;
23
+ overflow: hidden;
24
+ }
25
+ /* Subtle violet glow in background */
26
+ body::before {
27
+ content: '';
28
+ position: absolute;
29
+ top: 50%;
30
+ left: 50%;
31
+ transform: translate(-50%, -50%);
32
+ width: 400px;
33
+ height: 400px;
34
+ background: radial-gradient(circle, rgba(139, 92, 246, 0.15) 0%, transparent 70%);
35
+ pointer-events: none;
22
36
  }
23
37
  .container {
24
38
  text-align: center;
25
39
  padding: 2rem;
40
+ position: relative;
41
+ z-index: 1;
26
42
  }
27
43
  .checkmark {
28
44
  width: 80px;
29
45
  height: 80px;
30
46
  margin: 0 auto 1.5rem;
31
- background: #10b981;
47
+ background: linear-gradient(135deg, #7c3aed 0%, #c026d3 100%);
32
48
  border-radius: 50%;
33
49
  display: flex;
34
50
  align-items: center;
35
51
  justify-content: center;
36
52
  animation: pop 0.3s ease-out;
53
+ box-shadow: 0 0 40px rgba(139, 92, 246, 0.4);
37
54
  }
38
55
  .checkmark svg {
39
56
  width: 40px;
@@ -48,7 +65,7 @@ const SUCCESS_HTML = `
48
65
  margin-bottom: 0.5rem;
49
66
  }
50
67
  p {
51
- color: #94a3b8;
68
+ color: #a1a1aa;
52
69
  font-size: 1rem;
53
70
  }
54
71
  @keyframes pop {
@@ -85,16 +102,32 @@ const ERROR_HTML = `
85
102
  * { margin: 0; padding: 0; box-sizing: border-box; }
86
103
  body {
87
104
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
88
- background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
105
+ background: #09090b;
89
106
  min-height: 100vh;
90
107
  display: flex;
91
108
  align-items: center;
92
109
  justify-content: center;
93
110
  color: #fff;
111
+ position: relative;
112
+ overflow: hidden;
113
+ }
114
+ /* Subtle red glow in background */
115
+ body::before {
116
+ content: '';
117
+ position: absolute;
118
+ top: 50%;
119
+ left: 50%;
120
+ transform: translate(-50%, -50%);
121
+ width: 400px;
122
+ height: 400px;
123
+ background: radial-gradient(circle, rgba(239, 68, 68, 0.1) 0%, transparent 70%);
124
+ pointer-events: none;
94
125
  }
95
126
  .container {
96
127
  text-align: center;
97
128
  padding: 2rem;
129
+ position: relative;
130
+ z-index: 1;
98
131
  }
99
132
  .error-icon {
100
133
  width: 80px;
@@ -105,6 +138,8 @@ const ERROR_HTML = `
105
138
  display: flex;
106
139
  align-items: center;
107
140
  justify-content: center;
141
+ animation: pop 0.3s ease-out;
142
+ box-shadow: 0 0 40px rgba(239, 68, 68, 0.3);
108
143
  }
109
144
  .error-icon svg {
110
145
  width: 40px;
@@ -119,9 +154,14 @@ const ERROR_HTML = `
119
154
  margin-bottom: 0.5rem;
120
155
  }
121
156
  p {
122
- color: #94a3b8;
157
+ color: #a1a1aa;
123
158
  font-size: 1rem;
124
159
  }
160
+ @keyframes pop {
161
+ 0% { transform: scale(0); }
162
+ 80% { transform: scale(1.1); }
163
+ 100% { transform: scale(1); }
164
+ }
125
165
  </style>
126
166
  </head>
127
167
  <body>
@@ -1 +1 @@
1
- {"version":3,"file":"auth-server.js","sourceRoot":"","sources":["../../src/lib/auth-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-server.js","sourceRoot":"","sources":["../../src/lib/auth-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reminix/cli",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Reminix CLI - Command-line interface for Reminix",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -49,10 +49,12 @@
49
49
  ],
50
50
  "dependencies": {
51
51
  "commander": "^14.0.2",
52
- "open": "^11.0.0"
52
+ "open": "^11.0.0",
53
+ "openapi-fetch": "^0.15.0"
53
54
  },
54
55
  "devDependencies": {
55
56
  "@types/node": "^25.0.9",
57
+ "openapi-typescript": "^7.10.1",
56
58
  "tsx": "^4.21.0",
57
59
  "typescript": "^5.9.3",
58
60
  "vitest": "^4.0.17"
@@ -61,6 +63,7 @@
61
63
  "build": "tsc",
62
64
  "clean": "rm -rf dist",
63
65
  "dev": "tsx src/index.ts",
66
+ "generate:api": "openapi-typescript ${REMINIX_API_URL:-https://api.reminix.com}/v1/openapi.json -o src/lib/api-types.ts",
64
67
  "test": "vitest run",
65
68
  "test:watch": "vitest"
66
69
  }