@lobu/cli 3.0.3 → 3.0.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.
- package/README.md +18 -222
- package/dist/api/context.d.ts +20 -0
- package/dist/api/context.d.ts.map +1 -0
- package/dist/api/context.js +113 -0
- package/dist/api/context.js.map +1 -0
- package/dist/api/credentials.d.ts +9 -4
- package/dist/api/credentials.d.ts.map +1 -1
- package/dist/api/credentials.js +127 -15
- package/dist/api/credentials.js.map +1 -1
- package/dist/commands/chat.d.ts +16 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +281 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/context.d.ts +8 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +46 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/dev.d.ts +3 -9
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +95 -64
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +421 -673
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts +2 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +283 -14
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +3 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +5 -3
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/providers/add.d.ts.map +1 -1
- package/dist/commands/providers/add.js +38 -14
- package/dist/commands/providers/add.js.map +1 -1
- package/dist/commands/providers/list.d.ts.map +1 -1
- package/dist/commands/providers/list.js +4 -2
- package/dist/commands/providers/list.js.map +1 -1
- package/dist/commands/skills/add.d.ts.map +1 -1
- package/dist/commands/skills/add.js +25 -7
- package/dist/commands/skills/add.js.map +1 -1
- package/dist/commands/skills/info.d.ts.map +1 -1
- package/dist/commands/skills/info.js +0 -9
- package/dist/commands/skills/info.js.map +1 -1
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +5 -6
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/registry.d.ts +6 -11
- package/dist/commands/skills/registry.d.ts.map +1 -1
- package/dist/commands/skills/registry.js +0 -3
- package/dist/commands/skills/registry.js.map +1 -1
- package/dist/commands/skills/search.d.ts.map +1 -1
- package/dist/commands/skills/search.js +3 -1
- package/dist/commands/skills/search.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +107 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +9 -20
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/whoami.d.ts +3 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +17 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +546 -111
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +26 -19
- package/dist/config/schema.js.map +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -25
- package/dist/index.js.map +1 -1
- package/dist/utils/markdown.d.ts +3 -0
- package/dist/utils/markdown.d.ts.map +1 -0
- package/dist/utils/markdown.js +10 -0
- package/dist/utils/markdown.js.map +1 -0
- package/package.json +4 -3
- package/dist/api/client.d.ts +0 -11
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js +0 -35
- package/dist/api/client.js.map +0 -1
- package/dist/commands/launch.d.ts +0 -6
- package/dist/commands/launch.d.ts.map +0 -1
- package/dist/commands/launch.js +0 -32
- package/dist/commands/launch.js.map +0 -1
- package/dist/config/transformer.d.ts +0 -11
- package/dist/config/transformer.d.ts.map +0 -1
- package/dist/config/transformer.js +0 -49
- package/dist/config/transformer.js.map +0 -1
- package/dist/mcp-servers.d.ts +0 -11
- package/dist/mcp-servers.d.ts.map +0 -1
- package/dist/mcp-servers.js +0 -27
- package/dist/mcp-servers.js.map +0 -1
- package/dist/mcp-servers.json +0 -216
- package/dist/system-skills.json +0 -561
- package/dist/templates/.env.tmpl +0 -29
- package/dist/templates/.gitignore.tmpl +0 -32
- package/dist/templates/AGENTS.md.tmpl +0 -1
- package/dist/templates/Dockerfile.worker.tmpl +0 -29
- package/dist/templates/README.md.tmpl +0 -95
- package/dist/templates/TESTING.md.tmpl +0 -225
- package/dist/templates/lobu.toml.tmpl +0 -44
- package/dist/types.d.ts +0 -76
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils/config.d.ts +0 -2
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -13
- package/dist/utils/config.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,cAAc;;;;;;;;;;;;EAIlB,CAAC;AAGH,QAAA,MAAM,gBAAgB;;;;;;;;;EAGpB,CAAC;AAaH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnB,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhB,CAAC;AAGH,QAAA,MAAM,aAAa;;;;;;;;;EAGjB,CAAC;AAGH,QAAA,MAAM,YAAY;;;;;;EAEhB,CAAC;AAGH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASpB,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACzD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
package/dist/config/schema.js
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
// Agent section — identity lives in IDENTITY.md, SOUL.md, USER.md files
|
|
3
|
-
const agentSchema = z.object({
|
|
4
|
-
name: z
|
|
5
|
-
.string()
|
|
6
|
-
.regex(/^[a-z0-9][a-z0-9-]*$/, "Agent name must be lowercase alphanumeric with hyphens, starting with alphanumeric"),
|
|
7
|
-
description: z.string().optional(),
|
|
8
|
-
});
|
|
9
2
|
// Provider entry
|
|
10
3
|
const providerSchema = z.object({
|
|
11
4
|
id: z.string(),
|
|
12
5
|
model: z.string().optional(),
|
|
6
|
+
key: z.string().optional(), // API key or $ENV_VAR reference
|
|
7
|
+
});
|
|
8
|
+
// Connection entry (platform-specific config is dynamic)
|
|
9
|
+
const connectionSchema = z.object({
|
|
10
|
+
type: z.string(), // "telegram" | "slack" | "discord" | "whatsapp" | "teams"
|
|
11
|
+
config: z.record(z.string()), // platform-specific config (e.g. { botToken: "$BOT_TOKEN" })
|
|
12
|
+
});
|
|
13
|
+
// MCP server OAuth configuration
|
|
14
|
+
const mcpOAuthSchema = z.object({
|
|
15
|
+
auth_url: z.string(),
|
|
16
|
+
token_url: z.string(),
|
|
17
|
+
client_id: z.string().optional(), // $ENV_VAR reference or literal
|
|
18
|
+
client_secret: z.string().optional(),
|
|
19
|
+
scopes: z.array(z.string()).optional(),
|
|
20
|
+
token_endpoint_auth_method: z.string().optional(), // "none", "client_secret_post", "client_secret_basic"
|
|
13
21
|
});
|
|
14
22
|
// Skills section
|
|
15
23
|
const mcpServerSchema = z.object({
|
|
@@ -18,6 +26,7 @@ const mcpServerSchema = z.object({
|
|
|
18
26
|
args: z.array(z.string()).optional(),
|
|
19
27
|
env: z.record(z.string()).optional(),
|
|
20
28
|
headers: z.record(z.string()).optional(),
|
|
29
|
+
oauth: mcpOAuthSchema.optional(),
|
|
21
30
|
});
|
|
22
31
|
const skillsSchema = z.object({
|
|
23
32
|
enabled: z.array(z.string()).default([]),
|
|
@@ -31,22 +40,20 @@ const networkSchema = z.object({
|
|
|
31
40
|
// Worker section
|
|
32
41
|
const workerSchema = z.object({
|
|
33
42
|
nix_packages: z.array(z.string()).optional(),
|
|
34
|
-
timeout_minutes: z.number().positive().optional(),
|
|
35
|
-
});
|
|
36
|
-
// Platforms section
|
|
37
|
-
const platformsSchema = z.object({
|
|
38
|
-
telegram: z.boolean().optional(),
|
|
39
|
-
slack: z.boolean().optional(),
|
|
40
|
-
whatsapp: z.boolean().optional(),
|
|
41
|
-
api: z.boolean().optional(),
|
|
42
43
|
});
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
// Each [agents.{id}] table
|
|
45
|
+
const agentEntrySchema = z.object({
|
|
46
|
+
name: z.string(),
|
|
47
|
+
description: z.string().optional(),
|
|
48
|
+
dir: z.string(), // path to agent content directory (IDENTITY.md, SOUL.md, USER.md, skills/)
|
|
46
49
|
providers: z.array(providerSchema).default([]),
|
|
50
|
+
connections: z.array(connectionSchema).default([]),
|
|
47
51
|
skills: skillsSchema.default({ enabled: [] }),
|
|
48
52
|
network: networkSchema.optional(),
|
|
49
53
|
worker: workerSchema.optional(),
|
|
50
|
-
|
|
54
|
+
});
|
|
55
|
+
// Full lobu.toml schema
|
|
56
|
+
export const lobuConfigSchema = z.object({
|
|
57
|
+
agents: z.record(z.string().regex(/^[a-z0-9][a-z0-9-]*$/), agentEntrySchema),
|
|
51
58
|
});
|
|
52
59
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
export { initCommand } from "./commands/init.js";
|
|
2
|
-
export * from "./types.js";
|
|
3
|
-
export { checkConfigExists } from "./utils/config.js";
|
|
4
|
-
export { renderTemplate } from "./utils/template.js";
|
|
5
1
|
export declare function runCli(argv?: readonly string[]): Promise<void>;
|
|
6
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,wBAAsB,MAAM,CAC1B,IAAI,GAAE,SAAS,MAAM,EAAiB,GACrC,OAAO,CAAC,IAAI,CAAC,CAsQf"}
|
package/dist/index.js
CHANGED
|
@@ -3,11 +3,6 @@ import { dirname, join } from "node:path";
|
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import chalk from "chalk";
|
|
5
5
|
import { Command } from "commander";
|
|
6
|
-
// Re-exports for backward compatibility
|
|
7
|
-
export { initCommand } from "./commands/init.js";
|
|
8
|
-
export * from "./types.js";
|
|
9
|
-
export { checkConfigExists } from "./utils/config.js";
|
|
10
|
-
export { renderTemplate } from "./utils/template.js";
|
|
11
6
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
7
|
async function getPackageVersion() {
|
|
13
8
|
const pkgPath = join(__dirname, "..", "package.json");
|
|
@@ -37,6 +32,20 @@ export async function runCli(argv = process.argv) {
|
|
|
37
32
|
process.exit(1);
|
|
38
33
|
}
|
|
39
34
|
});
|
|
35
|
+
// ─── chat ──────────────────────────────────────────────────────────
|
|
36
|
+
program
|
|
37
|
+
.command("chat <prompt>")
|
|
38
|
+
.description("Send a prompt to an agent and stream the response")
|
|
39
|
+
.option("-a, --agent <id>", "Agent ID (defaults to first in lobu.toml)")
|
|
40
|
+
.option("-u, --user <id>", "User ID to impersonate (e.g. telegram:12345)")
|
|
41
|
+
.option("-t, --thread <id>", "Thread/conversation ID for multi-turn")
|
|
42
|
+
.option("-g, --gateway <url>", "Gateway URL (default: http://localhost:8080)")
|
|
43
|
+
.option("--dry-run", "Process without persisting history")
|
|
44
|
+
.option("--new", "Force new session (ignore existing)")
|
|
45
|
+
.action(async (prompt, options) => {
|
|
46
|
+
const { chatCommand } = await import("./commands/chat.js");
|
|
47
|
+
await chatCommand(process.cwd(), prompt, options);
|
|
48
|
+
});
|
|
40
49
|
// ─── validate ───────────────────────────────────────────────────────
|
|
41
50
|
program
|
|
42
51
|
.command("validate")
|
|
@@ -47,34 +56,25 @@ export async function runCli(argv = process.argv) {
|
|
|
47
56
|
if (!valid)
|
|
48
57
|
process.exit(1);
|
|
49
58
|
});
|
|
50
|
-
// ───
|
|
59
|
+
// ─── run ────────────────────────────────────────────────────────────
|
|
51
60
|
// Passthrough to docker compose up — all extra args forwarded directly.
|
|
52
|
-
// lobu
|
|
61
|
+
// lobu run -d --build → docker compose up -d --build
|
|
53
62
|
program
|
|
54
|
-
.command("
|
|
55
|
-
.description("Run agent
|
|
63
|
+
.command("run")
|
|
64
|
+
.description("Run agent stack (reads lobu.toml, then docker compose up)")
|
|
56
65
|
.allowUnknownOption(true)
|
|
57
66
|
.helpOption(false)
|
|
58
67
|
.action(async (_opts, cmd) => {
|
|
59
68
|
const { devCommand } = await import("./commands/dev.js");
|
|
60
69
|
await devCommand(process.cwd(), cmd.args);
|
|
61
70
|
});
|
|
62
|
-
// ─── launch ─────────────────────────────────────────────────────────
|
|
63
|
-
program
|
|
64
|
-
.command("launch")
|
|
65
|
-
.description("Launch agent to Lobu Cloud")
|
|
66
|
-
.option("-e, --env <env>", "Target environment")
|
|
67
|
-
.option("--dry-run", "Show what would change")
|
|
68
|
-
.option("-m, --message <message>", "Deployment note")
|
|
69
|
-
.action(async (options) => {
|
|
70
|
-
const { launchCommand } = await import("./commands/launch.js");
|
|
71
|
-
await launchCommand(process.cwd(), options);
|
|
72
|
-
});
|
|
73
71
|
// ─── login ──────────────────────────────────────────────────────────
|
|
74
72
|
program
|
|
75
73
|
.command("login")
|
|
76
74
|
.description("Authenticate with Lobu Cloud")
|
|
77
75
|
.option("--token <token>", "Use API token directly (CI/CD)")
|
|
76
|
+
.option("--admin-password", "Use the development-only admin password fallback")
|
|
77
|
+
.option("-c, --context <name>", "Use a named context")
|
|
78
78
|
.action(async (options) => {
|
|
79
79
|
const { loginCommand } = await import("./commands/login.js");
|
|
80
80
|
await loginCommand(options);
|
|
@@ -83,17 +83,52 @@ export async function runCli(argv = process.argv) {
|
|
|
83
83
|
program
|
|
84
84
|
.command("logout")
|
|
85
85
|
.description("Clear stored credentials")
|
|
86
|
-
.
|
|
86
|
+
.option("-c, --context <name>", "Use a named context")
|
|
87
|
+
.action(async (options) => {
|
|
87
88
|
const { logoutCommand } = await import("./commands/logout.js");
|
|
88
|
-
await logoutCommand();
|
|
89
|
+
await logoutCommand(options);
|
|
89
90
|
});
|
|
90
91
|
// ─── whoami ─────────────────────────────────────────────────────────
|
|
91
92
|
program
|
|
92
93
|
.command("whoami")
|
|
93
94
|
.description("Show current user and linked agent")
|
|
94
|
-
.
|
|
95
|
+
.option("-c, --context <name>", "Use a named context")
|
|
96
|
+
.action(async (options) => {
|
|
95
97
|
const { whoamiCommand } = await import("./commands/whoami.js");
|
|
96
|
-
await whoamiCommand();
|
|
98
|
+
await whoamiCommand(options);
|
|
99
|
+
});
|
|
100
|
+
// ─── context ────────────────────────────────────────────────────────
|
|
101
|
+
const context = program
|
|
102
|
+
.command("context")
|
|
103
|
+
.description("Manage Lobu API contexts");
|
|
104
|
+
context
|
|
105
|
+
.command("list")
|
|
106
|
+
.description("List configured contexts")
|
|
107
|
+
.action(async () => {
|
|
108
|
+
const { contextListCommand } = await import("./commands/context.js");
|
|
109
|
+
await contextListCommand();
|
|
110
|
+
});
|
|
111
|
+
context
|
|
112
|
+
.command("current")
|
|
113
|
+
.description("Show the active context")
|
|
114
|
+
.action(async () => {
|
|
115
|
+
const { contextCurrentCommand } = await import("./commands/context.js");
|
|
116
|
+
await contextCurrentCommand();
|
|
117
|
+
});
|
|
118
|
+
context
|
|
119
|
+
.command("add <name>")
|
|
120
|
+
.description("Add a named context")
|
|
121
|
+
.requiredOption("--api-url <url>", "API base URL for this context")
|
|
122
|
+
.action(async (name, options) => {
|
|
123
|
+
const { contextAddCommand } = await import("./commands/context.js");
|
|
124
|
+
await contextAddCommand({ name, apiUrl: options.apiUrl });
|
|
125
|
+
});
|
|
126
|
+
context
|
|
127
|
+
.command("use <name>")
|
|
128
|
+
.description("Set the active context")
|
|
129
|
+
.action(async (name) => {
|
|
130
|
+
const { contextUseCommand } = await import("./commands/context.js");
|
|
131
|
+
await contextUseCommand(name);
|
|
97
132
|
});
|
|
98
133
|
// ─── status ─────────────────────────────────────────────────────────
|
|
99
134
|
program
|
|
@@ -101,7 +136,7 @@ export async function runCli(argv = process.argv) {
|
|
|
101
136
|
.description("Agent health and version info")
|
|
102
137
|
.action(async () => {
|
|
103
138
|
const { statusCommand } = await import("./commands/status.js");
|
|
104
|
-
await statusCommand();
|
|
139
|
+
await statusCommand(process.cwd());
|
|
105
140
|
});
|
|
106
141
|
// ─── secrets ────────────────────────────────────────────────────────
|
|
107
142
|
const secrets = program
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/utils/markdown.ts"],"names":[],"mappings":"AAMA,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { marked } from "marked";
|
|
2
|
+
// @ts-expect-error -- no type declarations
|
|
3
|
+
import { markedTerminal } from "marked-terminal";
|
|
4
|
+
marked.use(markedTerminal());
|
|
5
|
+
/** Parse markdown and return ANSI-styled terminal text. */
|
|
6
|
+
export function renderMarkdown(text) {
|
|
7
|
+
const result = marked.parse(text);
|
|
8
|
+
return result.replace(/\n+$/, "");
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/utils/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtD,2CAA2C;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAqB,CAAC,CAAC;AAEhD,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;IAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobu/cli",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.5",
|
|
4
4
|
"description": "CLI for deploying and managing AI agents on Lobu",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,13 +22,14 @@
|
|
|
22
22
|
"author": "Burak Emre",
|
|
23
23
|
"license": "Apache-2.0",
|
|
24
24
|
"dependencies": {
|
|
25
|
+
"chalk": "^5.3.0",
|
|
25
26
|
"commander": "^12.0.0",
|
|
26
27
|
"inquirer": "^9.2.14",
|
|
27
|
-
"
|
|
28
|
+
"marked": "^17.0.4",
|
|
29
|
+
"marked-terminal": "^7.3.0",
|
|
28
30
|
"open": "^10.1.0",
|
|
29
31
|
"ora": "^8.0.1",
|
|
30
32
|
"smol-toml": "^1.3.1",
|
|
31
|
-
"yaml": "^2.3.4",
|
|
32
33
|
"zod": "^3.24.0"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
package/dist/api/client.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface ApiResponse<T = unknown> {
|
|
2
|
-
ok: boolean;
|
|
3
|
-
data?: T;
|
|
4
|
-
error?: string;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* HTTP client for community.lobu.ai API.
|
|
8
|
-
* Stub for Phase 1 — most endpoints don't exist yet.
|
|
9
|
-
*/
|
|
10
|
-
export declare function apiRequest<T = unknown>(path: string, options?: RequestInit): Promise<ApiResponse<T>>;
|
|
11
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/api/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAyBzB"}
|
package/dist/api/client.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { getToken } from "./credentials.js";
|
|
2
|
-
const DEFAULT_API_URL = "https://community.lobu.ai/api/v1";
|
|
3
|
-
function getApiUrl() {
|
|
4
|
-
return process.env.LOBU_API_URL ?? DEFAULT_API_URL;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* HTTP client for community.lobu.ai API.
|
|
8
|
-
* Stub for Phase 1 — most endpoints don't exist yet.
|
|
9
|
-
*/
|
|
10
|
-
export async function apiRequest(path, options = {}) {
|
|
11
|
-
const token = await getToken();
|
|
12
|
-
const url = `${getApiUrl()}${path}`;
|
|
13
|
-
const headers = {
|
|
14
|
-
"Content-Type": "application/json",
|
|
15
|
-
"X-Lobu-Org": "default",
|
|
16
|
-
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
17
|
-
...options.headers,
|
|
18
|
-
};
|
|
19
|
-
try {
|
|
20
|
-
const response = await fetch(url, { ...options, headers });
|
|
21
|
-
if (!response.ok) {
|
|
22
|
-
const body = await response.text();
|
|
23
|
-
return { ok: false, error: `${response.status}: ${body}` };
|
|
24
|
-
}
|
|
25
|
-
const data = (await response.json());
|
|
26
|
-
return { ok: true, data };
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return {
|
|
30
|
-
ok: false,
|
|
31
|
-
error: err instanceof Error ? err.message : String(err),
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=client.js.map
|
package/dist/api/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,eAAe,GAAG,kCAAkC,CAAC;AAE3D,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,eAAe,CAAC;AACrD,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAY,EACZ,UAAuB,EAAE;IAEzB,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,SAAS;QACvB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAI,OAAO,CAAC,OAA8C;KAC3D,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
|
package/dist/commands/launch.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { isLoadError, loadConfig } from "../config/loader.js";
|
|
3
|
-
import { validateCommand } from "./validate.js";
|
|
4
|
-
export async function launchCommand(cwd, options) {
|
|
5
|
-
// Validate first
|
|
6
|
-
const valid = await validateCommand(cwd);
|
|
7
|
-
if (!valid) {
|
|
8
|
-
process.exit(1);
|
|
9
|
-
}
|
|
10
|
-
const result = await loadConfig(cwd);
|
|
11
|
-
if (isLoadError(result)) {
|
|
12
|
-
process.exit(1);
|
|
13
|
-
}
|
|
14
|
-
const { config } = result;
|
|
15
|
-
const skillCount = config.skills.enabled.length;
|
|
16
|
-
const mcpCount = config.skills.mcp
|
|
17
|
-
? Object.keys(config.skills.mcp).length
|
|
18
|
-
: 0;
|
|
19
|
-
const totalSkills = skillCount + mcpCount;
|
|
20
|
-
console.log(chalk.dim(` Agent: ${config.agent.name} (${config.providers.length} providers, ${totalSkills} skills)`));
|
|
21
|
-
if (options.dryRun) {
|
|
22
|
-
console.log(chalk.dim("\n Dry run — no changes applied.\n"));
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
console.log(chalk.bold.cyan("\n Lobu Cloud is in early access.\n"));
|
|
26
|
-
console.log(chalk.bold(" Get started:"));
|
|
27
|
-
console.log(` Schedule a call ${chalk.cyan("https://cal.com/burakemre/lobu")}`);
|
|
28
|
-
console.log(` Self-host now ${chalk.cyan("https://lobu.ai/docs/deployment")}`);
|
|
29
|
-
console.log(` REST API docs ${chalk.cyan("https://community.lobu.ai/api/docs")}`);
|
|
30
|
-
console.log(chalk.dim(`\n Run locally with: ${chalk.white("lobu dev")}\n`));
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=launch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,OAA6D;IAE7D,iBAAiB;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE1B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG;QAChC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM;QACvC,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE1C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,YAAY,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,eAAe,WAAW,UAAU,CAC9F,CACF,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CACT,0BAA0B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,CACzE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,0BAA0B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,0BAA0B,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAC7E,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { LobuTomlConfig, McpServerEntry } from "./schema.js";
|
|
2
|
-
export interface TransformResult {
|
|
3
|
-
envVars: Record<string, string>;
|
|
4
|
-
mcpConfig: Record<string, McpServerEntry> | null;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Transform lobu.toml config into docker-compose environment variables
|
|
8
|
-
* and MCP config JSON for local dev mode.
|
|
9
|
-
*/
|
|
10
|
-
export declare function transformConfig(config: LobuTomlConfig): TransformResult;
|
|
11
|
-
//# sourceMappingURL=transformer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/config/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,CAsDvE"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transform lobu.toml config into docker-compose environment variables
|
|
3
|
-
* and MCP config JSON for local dev mode.
|
|
4
|
-
*/
|
|
5
|
-
export function transformConfig(config) {
|
|
6
|
-
const envVars = {};
|
|
7
|
-
// Agent name as compose project name
|
|
8
|
-
envVars.COMPOSE_PROJECT_NAME = config.agent.name;
|
|
9
|
-
// Identity lives in IDENTITY.md, SOUL.md, USER.md files — loaded by dev command
|
|
10
|
-
// Network config
|
|
11
|
-
if (config.network?.allowed) {
|
|
12
|
-
envVars.WORKER_ALLOWED_DOMAINS = config.network.allowed.join(",");
|
|
13
|
-
}
|
|
14
|
-
if (config.network?.denied) {
|
|
15
|
-
envVars.WORKER_DISALLOWED_DOMAINS = config.network.denied.join(",");
|
|
16
|
-
}
|
|
17
|
-
// Worker config
|
|
18
|
-
if (config.worker?.timeout_minutes) {
|
|
19
|
-
envVars.WORKER_TIMEOUT_MINUTES = String(config.worker.timeout_minutes);
|
|
20
|
-
}
|
|
21
|
-
if (config.worker?.nix_packages?.length) {
|
|
22
|
-
envVars.WORKER_NIX_PACKAGES = config.worker.nix_packages.join(",");
|
|
23
|
-
}
|
|
24
|
-
// Platform flags
|
|
25
|
-
if (config.platforms?.telegram) {
|
|
26
|
-
envVars.TELEGRAM_ENABLED = "true";
|
|
27
|
-
}
|
|
28
|
-
if (config.platforms?.api !== false) {
|
|
29
|
-
envVars.API_ENABLED = "true";
|
|
30
|
-
}
|
|
31
|
-
// Provider config - stored as JSON for gateway to parse
|
|
32
|
-
if (config.providers.length > 0) {
|
|
33
|
-
envVars.AGENT_PROVIDERS = JSON.stringify(config.providers.map((p) => ({
|
|
34
|
-
id: p.id,
|
|
35
|
-
model: p.model,
|
|
36
|
-
})));
|
|
37
|
-
}
|
|
38
|
-
// Skills config
|
|
39
|
-
if (config.skills.enabled.length > 0) {
|
|
40
|
-
envVars.AGENT_SKILLS = config.skills.enabled.join(",");
|
|
41
|
-
}
|
|
42
|
-
// MCP servers from skills.mcp section
|
|
43
|
-
let mcpConfig = null;
|
|
44
|
-
if (config.skills.mcp && Object.keys(config.skills.mcp).length > 0) {
|
|
45
|
-
mcpConfig = config.skills.mcp;
|
|
46
|
-
}
|
|
47
|
-
return { envVars, mcpConfig };
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=transformer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../src/config/transformer.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,qCAAqC;IACrC,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;IAEjD,gFAAgF;IAEhF,iBAAiB;IACjB,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,yBAAyB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;QACnC,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QACxC,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,iBAAiB;IACjB,IAAI,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC;QACpC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,wDAAwD;IACxD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CACtC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,sCAAsC;IACtC,IAAI,SAAS,GAA0C,IAAI,CAAC;IAC5D,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC"}
|
package/dist/mcp-servers.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface McpServerDefinition {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
description: string;
|
|
5
|
-
type: "oauth" | "api-key" | "command" | "none";
|
|
6
|
-
config: any;
|
|
7
|
-
setupInstructions?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const MCP_SERVERS: McpServerDefinition[];
|
|
10
|
-
export declare function getRequiredEnvVars(servers: McpServerDefinition[]): string[];
|
|
11
|
-
//# sourceMappingURL=mcp-servers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../src/mcp-servers.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,GAAG,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AASD,eAAO,MAAM,WAAW,EAAE,mBAAmB,EAA2B,CAAC;AAIzE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAiB3E"}
|
package/dist/mcp-servers.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
4
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
|
-
// Load MCP servers from JSON file
|
|
6
|
-
const mcpServersJson = readFileSync(join(__dirname, "mcp-servers.json"), "utf-8");
|
|
7
|
-
const mcpServersData = JSON.parse(mcpServersJson);
|
|
8
|
-
export const MCP_SERVERS = mcpServersData.servers;
|
|
9
|
-
// Helper function to get OAuth servers
|
|
10
|
-
// Helper function to generate env variable names
|
|
11
|
-
export function getRequiredEnvVars(servers) {
|
|
12
|
-
const envVars = new Set();
|
|
13
|
-
servers.forEach((server) => {
|
|
14
|
-
const configStr = JSON.stringify(server.config);
|
|
15
|
-
// Extract all ${VARIABLE} and ${env:VARIABLE} patterns
|
|
16
|
-
const matches = configStr.match(/\$\{(?:env:)?([A-Z_]+)\}/g) || [];
|
|
17
|
-
matches.forEach((match) => {
|
|
18
|
-
const varName = match.replace(/\$\{(?:env:)?([A-Z_]+)\}/, "$1");
|
|
19
|
-
if (varName !== "PUBLIC_URL") {
|
|
20
|
-
// PUBLIC_URL is handled separately
|
|
21
|
-
envVars.add(varName);
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
return Array.from(envVars);
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=mcp-servers.js.map
|
package/dist/mcp-servers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../src/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAW1D,kCAAkC;AAClC,MAAM,cAAc,GAAG,YAAY,CACjC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EACnC,OAAO,CACR,CAAC;AACF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAA0B,cAAc,CAAC,OAAO,CAAC;AAEzE,uCAAuC;AACvC,iDAAiD;AACjD,MAAM,UAAU,kBAAkB,CAAC,OAA8B;IAC/D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,uDAAuD;QACvD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;QACnE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,mCAAmC;gBACnC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
|