@missingstudio/cli
Advanced tools
| import { generateText } from "ai"; | ||
| import { providerEnvVar } from "./constants.js"; | ||
| import { ProviderFactory } from "./providers.js"; | ||
| // Enum-like MODEL_TYPES for factory selection | ||
| export const MODEL_TYPES = { | ||
| OPENAI: "openai", | ||
| GOOGLE: "google", | ||
| ANTHROPIC: "anthropic", | ||
| GROQ: "groq", | ||
| }; | ||
| export class AIAgent { | ||
| tools; | ||
| setIsProcessing; | ||
| setMessages; | ||
| provider; | ||
| model; | ||
| conversation = []; | ||
| apiKey; | ||
| constructor(provider, model, tools, setIsProcessing, setMessages) { | ||
| this.tools = tools; | ||
| this.setIsProcessing = setIsProcessing; | ||
| this.setMessages = setMessages; | ||
| this.provider = provider; | ||
| this.model = model; | ||
| const envVarName = providerEnvVar[this.provider]; | ||
| this.apiKey = envVarName ? process.env[envVarName] : undefined; | ||
| } | ||
| async processMessage(userInput) { | ||
| this.setIsProcessing(true); | ||
| // Track conversation for context | ||
| this.conversation.push({ role: "user", content: userInput }); | ||
| try { | ||
| const model = this.createModel(); | ||
| if (!model) { | ||
| throw new Error(`Missing API key for provider: ${this.provider}. Set ${providerEnvVar[this.provider]}`); | ||
| } | ||
| const { text } = await generateText({ | ||
| model, | ||
| messages: this.conversation, | ||
| }); | ||
| // Append assistant message to conversation and UI | ||
| this.conversation.push({ role: "assistant", content: text }); | ||
| this.setMessages((prev) => [ | ||
| ...prev, | ||
| { role: "assistant", content: text, timestamp: new Date() }, | ||
| ]); | ||
| } | ||
| catch (error) { | ||
| const msg = error instanceof Error ? error.message : String(error); | ||
| this.setMessages((prev) => [ | ||
| ...prev, | ||
| { role: "system", content: `โ Error: ${msg}`, timestamp: new Date() }, | ||
| ]); | ||
| } | ||
| finally { | ||
| this.setIsProcessing(false); | ||
| } | ||
| } | ||
| createModel() { | ||
| return ProviderFactory.create(this.provider, this.model, this.apiKey); | ||
| } | ||
| } | ||
| //# sourceMappingURL=AIAgent.js.map |
| {"version":3,"file":"AIAgent.js","sourceRoot":"","sources":["../../src/agents/AIAgent.ts"],"names":[],"mappings":"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"} |
| import { getConfigManager } from "../config/manager.js"; | ||
| export function loadAgentConfig() { | ||
| const manager = getConfigManager(); | ||
| const settings = manager.loadProjectSettings(); | ||
| const provider = settings.provider || undefined; | ||
| const model = settings.model || undefined; | ||
| return { provider, model }; | ||
| } | ||
| //# sourceMappingURL=config.js.map |
| {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/agents/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQxD,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC;IAE1C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC"} |
| export const providers = [ | ||
| { label: "anthropic", value: "anthropic" }, | ||
| { label: "google", value: "google" }, | ||
| { label: "openAI", value: "openai" }, | ||
| { label: "groq", value: "groq" }, | ||
| ]; | ||
| // Static model lists per provider (can be extended later) | ||
| export const providerModels = { | ||
| openai: [ | ||
| { label: "gpt-4o", value: "gpt-4o" }, | ||
| { label: "gpt-4o-mini", value: "gpt-4o-mini" }, | ||
| { label: "gpt-4.1-mini", value: "gpt-4.1-mini" }, | ||
| { label: "o3-mini", value: "o3-mini" }, | ||
| ], | ||
| anthropic: [ | ||
| { label: "claude-3-5-sonnet", value: "claude-3-5-sonnet-20240620" }, | ||
| { label: "claude-3-opus", value: "claude-3-opus-20240229" }, | ||
| { label: "claude-3-haiku", value: "claude-3-haiku-20240307" }, | ||
| ], | ||
| google: [ | ||
| { label: "gemini-1.5-pro", value: "gemini-1.5-pro" }, | ||
| { label: "gemini-1.5-flash", value: "gemini-1.5-flash" }, | ||
| ], | ||
| groq: [ | ||
| { label: "llama-3.1-70b-versatile", value: "llama-3.1-70b-versatile" }, | ||
| { label: "llama-3.1-8b-instant", value: "llama-3.1-8b-instant" }, | ||
| { label: "mixtral-8x7b-32768", value: "mixtral-8x7b-32768" }, | ||
| ], | ||
| }; | ||
| // Required API env var per provider | ||
| export const providerEnvVar = { | ||
| openai: "OPENAI_API_KEY", | ||
| anthropic: "ANTHROPIC_API_KEY", | ||
| google: "GOOGLE_API_KEY", | ||
| groq: "GROQ_API_KEY", | ||
| }; | ||
| //# sourceMappingURL=constants.js.map |
| {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/agents/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CACjC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAGvB;IACF,MAAM,EAAE;QACN,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACpC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;QAC9C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;QAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;KACvC;IACD,SAAS,EAAE;QACT,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,4BAA4B,EAAE;QACnE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,wBAAwB,EAAE;QAC3D,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE;KAC9D;IACD,MAAM,EAAE;QACN,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACpD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;KACzD;IACD,IAAI,EAAE;QACJ,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,yBAAyB,EAAE;QACtE,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE;QAChE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;KAC7D;CACF,CAAC;AAEF,oCAAoC;AACpC,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,cAAc;CACrB,CAAC"} |
| import { createGroq } from "@ai-sdk/groq"; | ||
| import { createOpenAI } from "@ai-sdk/openai"; | ||
| import { createAnthropic } from "@ai-sdk/anthropic"; | ||
| import { createGoogleGenerativeAI } from "@ai-sdk/google"; | ||
| import { MODEL_TYPES } from "./AIAgent.js"; | ||
| export class ProviderFactory { | ||
| static create(type, modelName, apiKey) { | ||
| if (!apiKey) | ||
| return undefined; | ||
| switch (type) { | ||
| case MODEL_TYPES.OPENAI: { | ||
| return createOpenAI({ apiKey })(modelName); | ||
| } | ||
| case MODEL_TYPES.GOOGLE: { | ||
| const name = modelName?.startsWith("models/") | ||
| ? modelName | ||
| : `models/${modelName}`; | ||
| return createGoogleGenerativeAI({ apiKey })(name); | ||
| } | ||
| case MODEL_TYPES.ANTHROPIC: { | ||
| return createAnthropic({ apiKey })(modelName); | ||
| } | ||
| case MODEL_TYPES.GROQ: { | ||
| return createGroq({ apiKey })(modelName); | ||
| } | ||
| default: | ||
| return undefined; | ||
| } | ||
| } | ||
| } | ||
| //# sourceMappingURL=providers.js.map |
| {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/agents/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAC,MAAM,CAAC,IAAc,EAAE,SAAiB,EAAE,MAAe;QAC9D,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,OAAO,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC;oBAC3C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,UAAU,SAAS,EAAE,CAAC;gBAC1B,OAAO,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3B,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtB,OAAO,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YACD;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF"} |
| export {}; | ||
| //# sourceMappingURL=types.js.map |
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":""} |
| import { describe, it, expect, beforeEach, afterEach } from "vitest"; | ||
| import { mergeEnvironment, parseKeyValue } from "./utils.js"; | ||
| describe("utils.parseKeyValue", () => { | ||
| it("parses simple key=value pairs", () => { | ||
| const out = parseKeyValue(["A=1", "B=hello world", "C="]); | ||
| expect(out).toEqual({ A: "1", B: "hello world", C: "" }); | ||
| }); | ||
| it("trims spaces around keys and values", () => { | ||
| const out = parseKeyValue([" KEY = value "]); | ||
| expect(out).toEqual({ KEY: "value" }); | ||
| }); | ||
| it("throws on invalid format", () => { | ||
| expect(() => parseKeyValue(["NOVALUE"])).toThrowError(); | ||
| expect(() => parseKeyValue(["=missingKey"])).toThrowError(); | ||
| }); | ||
| }); | ||
| describe("utils.mergeEnvironment", () => { | ||
| const originalEnv = process.env; | ||
| beforeEach(() => { | ||
| process.env = { ...originalEnv, FROM_ENV: "env", OVERRIDE: "old" }; | ||
| }); | ||
| afterEach(() => { | ||
| process.env = originalEnv; | ||
| }); | ||
| it("merges process.env with config env, preferring config values", () => { | ||
| const result = mergeEnvironment({ FROM_CONFIG: "cfg", OVERRIDE: "new" }); | ||
| expect(result.FROM_ENV).toBe("env"); | ||
| expect(result.FROM_CONFIG).toBe("cfg"); | ||
| expect(result.OVERRIDE).toBe("new"); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=utils.test.js.map |
| {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/mcp/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAS,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} |
| export {}; | ||
| //# sourceMappingURL=types.js.map |
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":""} |
| import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; | ||
| import { Box, Text } from "ink"; | ||
| import { AsciiLogo } from "../components/ascii-logo.js"; | ||
| export default function AppLayout({ children }) { | ||
| return (_jsxs(Box, { flexDirection: "column", minHeight: 24, padding: 1, children: [_jsx(Box, { justifyContent: "flex-start", marginBottom: 1, children: _jsx(AsciiLogo, {}) }), _jsx(Box, { flexGrow: 1, flexDirection: "column", children: children })] })); | ||
| } | ||
| //# sourceMappingURL=layout.js.map |
| {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/ui/layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAMxD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAkB;IAC5D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,aACnD,KAAC,GAAG,IAAC,cAAc,EAAC,YAAY,EAAC,YAAY,EAAE,CAAC,YAC9C,KAAC,SAAS,KAAG,GACT,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,YACrC,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC"} |
@@ -82,3 +82,3 @@ import React from "react"; | ||
| const { waitUntilExit } = render(React.createElement(MCPList, { verbose })); | ||
| await waitUntilExit(); | ||
| waitUntilExit().then(() => process.exit(0)); | ||
| }); | ||
@@ -103,4 +103,4 @@ mcp | ||
| const { waitUntilExit } = render(React.createElement(MCPTest, { name })); | ||
| await waitUntilExit(); | ||
| waitUntilExit().then(() => process.exit(0)); | ||
| }); | ||
| //# sourceMappingURL=mcp.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"} |
@@ -6,7 +6,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; | ||
| import { useMCPServers } from "./useMCPServers.js"; | ||
| import { MCPEmpty, MCPError, MCPSummary, MCPTable } from "./mcp-base.js"; | ||
| import { MCPEmpty, MCPError, MCPSummary } from "./mcp-base.js"; | ||
| import Table from "../ink-table.js"; | ||
| export function MCPList({ verbose = false }) { | ||
| const { exit } = useApp(); | ||
| const { loading, rows, summary, error } = useMCPServers(exit, verbose); | ||
| const { loading, rows, summary, error } = useMCPServers(verbose); | ||
| // After data is ready and rendered, politely exit to finalize output | ||
@@ -13,0 +13,0 @@ useEffect(() => { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"mcp-list.js","sourceRoot":"","sources":["../../../src/components/mcp/mcp-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,MAAM,UAAU,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,EAAyB;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEvE,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,IAAI,OAAO;QAAE,OAAO,KAAC,OAAO,IAAC,KAAK,EAAC,kCAA6B,GAAG,CAAC;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAC,QAAQ,KAAG,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,KAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,GAAI,CAAC;IAE/C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAI,EACvC,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,IAC9C,CACP,CAAC;AACJ,CAAC;AAED,eAAe,OAAO,CAAC"} | ||
| {"version":3,"file":"mcp-list.js","sourceRoot":"","sources":["../../../src/components/mcp/mcp-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,MAAM,UAAU,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,EAAyB;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEjE,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,IAAI,OAAO;QAAE,OAAO,KAAC,OAAO,IAAC,KAAK,EAAC,kCAA6B,GAAG,CAAC;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAC,QAAQ,KAAG,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,KAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,GAAI,CAAC;IAE/C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAI,EACvC,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAI,IAC9C,CACP,CAAC;AACJ,CAAC;AAED,eAAe,OAAO,CAAC"} |
| import { jsx as _jsx } from "react/jsx-runtime"; | ||
| import { useApp } from "ink"; | ||
| import { useMCPTest } from "./useMCPTest.js"; | ||
| import { ConnectingState, ToolsLoadingState, ErrorState, SuccessState, } from "./mcp-base.js"; | ||
| export function MCPTest({ name }) { | ||
| const { exit } = useApp(); | ||
| const { phase, error, transport, tools } = useMCPTest(name, exit); | ||
| const { phase, error, transport, tools } = useMCPTest(name); | ||
| if (phase === "connecting") | ||
@@ -9,0 +7,0 @@ return _jsx(ConnectingState, { name: name, transport: transport }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"mcp-test.js","sourceRoot":"","sources":["../../../src/components/mcp/mcp-test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAoB;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,KAAK,KAAK,YAAY;QACxB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IAC/D,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IAChE,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IAE3D,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAC1E,CAAC;AAED,eAAe,OAAO,CAAC"} | ||
| {"version":3,"file":"mcp-test.js","sourceRoot":"","sources":["../../../src/components/mcp/mcp-test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAoB;IAChD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAE5D,IAAI,KAAK,KAAK,YAAY;QACxB,OAAO,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IAC/D,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IAChE,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IAE3D,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AAC1E,CAAC;AAED,eAAe,OAAO,CAAC"} |
@@ -5,3 +5,3 @@ import { useEffect, useState } from "react"; | ||
| import { createLogger } from "../../logger/index.js"; | ||
| export function useMCPServers(exit, verbose) { | ||
| export function useMCPServers(verbose) { | ||
| const [loading, setLoading] = useState(true); | ||
@@ -88,5 +88,5 @@ const [error, setError] = useState(null); | ||
| })(); | ||
| }, [exit]); | ||
| }, []); | ||
| return { loading, rows, summary, error }; | ||
| } | ||
| //# sourceMappingURL=useMCPServers.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"useMCPServers.js","sourceRoot":"","sources":["../../../src/components/mcp/useMCPServers.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"useMCPServers.js","sourceRoot":"","sources":["../../../src/components/mcp/useMCPServers.ts"],"names":[],"mappings":"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"} |
@@ -35,3 +35,3 @@ import { useEffect, useState } from "react"; | ||
| } | ||
| export function useMCPTest(name, exit) { | ||
| export function useMCPTest(name) { | ||
| const [phase, setPhase] = useState("connecting"); | ||
@@ -65,10 +65,10 @@ const [error, setError] = useState(null); | ||
| finally { | ||
| // Keep connection open for interactive test view. | ||
| // If you ever need to auto-disconnect here, do it carefully: | ||
| // We disconnect after gathering data to keep the test | ||
| // output deterministic and avoid lingering processes. | ||
| await getMCPClientManager().disconnectAll(); | ||
| } | ||
| })(); | ||
| }, [exit, name]); | ||
| }, [name]); | ||
| return { phase, error, transport, tools }; | ||
| } | ||
| //# sourceMappingURL=useMCPTest.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"useMCPTest.js","sourceRoot":"","sources":["../../../src/components/mcp/useMCPTest.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"useMCPTest.js","sourceRoot":"","sources":["../../../src/components/mcp/useMCPTest.ts"],"names":[],"mappings":"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"} |
@@ -46,2 +46,3 @@ import fs from "node:fs"; | ||
| fs.writeFileSync(this.projectSettingsPath, JSON.stringify(mergedSettings, null, 2)); | ||
| fs.chmodSync(this.projectSettingsPath, 0o600); | ||
| } | ||
@@ -48,0 +49,0 @@ catch (error) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"} |
+13
-1
@@ -9,2 +9,3 @@ #!/usr/bin/env node | ||
| import { mcp } from "./commands/mcp.js"; | ||
| import { loadAgentConfig } from "./agents/config.js"; | ||
| async function main() { | ||
@@ -22,2 +23,11 @@ const program = new Command(); | ||
| .option("-v, --verbose", "Enable verbose logging", false); | ||
| program | ||
| .command("interactive") | ||
| .alias("i") | ||
| .description("Start an interactive ui mode") | ||
| .action(async function () { | ||
| const { provider, model } = loadAgentConfig(); | ||
| const { waitUntilExit } = render(React.createElement(App, { provider, model })); | ||
| waitUntilExit().then(() => process.exit(0)); | ||
| }); | ||
| // Register built-in commands | ||
@@ -27,3 +37,5 @@ program.addCommand(mcp); | ||
| program.action(() => { | ||
| render(React.createElement(App)); | ||
| const { provider, model } = loadAgentConfig(); | ||
| const { waitUntilExit } = render(React.createElement(App, { provider, model })); | ||
| waitUntilExit().then(() => process.exit(0)); | ||
| }); | ||
@@ -30,0 +42,0 @@ program.showHelpAfterError("(add --help for usage)"); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAE,GAAW,CAAC,WAAW,CAAC;SACrC,OAAO,CACL,GAAW,CAAC,OAAO,EACpB,eAAe,EACf,2BAA2B,CAC5B,CAAC;IAEJ,iBAAiB;IACjB,OAAO;SACJ,oBAAoB,CAAC,IAAI,CAAC;SAC1B,kBAAkB,EAAE;SACpB,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAE5D,6BAA6B;IAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAExB,uEAAuE;IACvE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;QAClB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;IACrD,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7C,IAAI,EAAE,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAE,GAAW,CAAC,WAAW,CAAC;SACrC,OAAO,CACL,GAAW,CAAC,OAAO,EACpB,eAAe,EACf,2BAA2B,CAC5B,CAAC;IAEJ,iBAAiB;IACjB,OAAO;SACJ,oBAAoB,CAAC,IAAI,CAAC;SAC1B,kBAAkB,EAAE;SACpB,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAE5D,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,KAAK;QACX,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;QAE9C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC9C,CAAC;QACF,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,6BAA6B;IAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAExB,uEAAuE;IACvE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;QAClB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;QAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC9B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC9C,CAAC;QACF,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;IACrD,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7C,IAAI,EAAE,CAAC"} |
| import path from "node:path"; | ||
| import fs from "node:fs"; | ||
| import { fileURLToPath } from "node:url"; | ||
| import { config } from "dotenv"; | ||
| export function resolveCommand(command) { | ||
@@ -6,0 +5,0 @@ // If it's already an absolute path, return as-is |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/mcp/utils.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/mcp/utils.ts"],"names":[],"mappings":"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"} |
+182
-4
| import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; | ||
| import { Box, Text } from "ink"; | ||
| import { AsciiLogo } from "../components/ascii-logo.js"; | ||
| export default function App() { | ||
| return (_jsx(Box, { flexDirection: "column", children: _jsx(Box, { flexDirection: "column", flexGrow: 1, children: _jsxs(Box, { flexDirection: "column", children: [_jsx(AsciiLogo, {}), _jsx(Text, { color: "gray", children: "Welcome to missing studio!" })] }) }) })); | ||
| import { Box, Text, useApp, useInput } from "ink"; | ||
| import SelectInput from "ink-select-input"; | ||
| import TextInput from "ink-text-input"; | ||
| import { useCallback, useEffect, useMemo, useState } from "react"; | ||
| import AppLayout from "./layout.js"; | ||
| import { providers, providerModels, providerEnvVar, } from "../agents/constants.js"; | ||
| import { getConfigManager } from "../config/manager.js"; | ||
| import boxen from "boxen"; | ||
| import { AIAgent } from "../agents/AIAgent.js"; | ||
| import Spinner from "ink-spinner"; | ||
| import dedent from "dedent"; | ||
| const optionItems = [ | ||
| { label: "go back", value: "back" }, | ||
| { label: "exit", value: "exit" }, | ||
| ]; | ||
| const MenuItem = ({ isSelected = false, label, }) => (_jsx(Text, { color: isSelected ? "yellow" : "gray", bold: isSelected, children: label })); | ||
| const VIEWPORT_SIZE = 8; // number of messages to show at once | ||
| export default function App({ provider, model }) { | ||
| const [isProcessing, setIsProcessing] = useState(false); | ||
| const [agent, setAgent] = useState(null); | ||
| const [selectedProvider, setSelectedProvider] = useState(provider); | ||
| const [selectedModel, setSelectedModel] = useState(model); | ||
| const [apiKeyInput, setApiKeyInput] = useState(""); | ||
| const [apiKeyConfigured, setApiKeyConfigured] = useState(false); | ||
| const [messages, setMessages] = useState([]); | ||
| const [currentInput, setCurrentInput] = useState(""); | ||
| const [scrollOffset, setScrollOffset] = useState(0); | ||
| const [showHelp, setShowHelp] = useState(false); | ||
| const { exit } = useApp(); | ||
| useInput((input, key) => { | ||
| if (key.ctrl && input === "c") { | ||
| exit(); | ||
| } | ||
| if (key.ctrl && input === "h") { | ||
| setShowHelp(!showHelp); | ||
| } | ||
| }); | ||
| useEffect(() => { | ||
| if (selectedProvider && selectedModel) { | ||
| const manager = getConfigManager(); | ||
| try { | ||
| manager.saveProjectSettings({ | ||
| provider: selectedProvider, | ||
| model: selectedModel, | ||
| }); | ||
| } | ||
| catch { } | ||
| } | ||
| }, [selectedProvider, selectedModel]); | ||
| const envVarName = useMemo(() => { | ||
| return selectedProvider ? providerEnvVar[selectedProvider] : undefined; | ||
| }, [selectedProvider]); | ||
| const hasApiKey = useMemo(() => { | ||
| if (!envVarName) | ||
| return false; | ||
| return Boolean(process.env[envVarName]); | ||
| }, [envVarName]); | ||
| const readyForApi = hasApiKey || apiKeyConfigured; | ||
| // If the key already exists in env, mark as configured so any | ||
| // apiKeyConfigured-only checks are satisfied. | ||
| useEffect(() => { | ||
| if (hasApiKey && !apiKeyConfigured) { | ||
| setApiKeyConfigured(true); | ||
| } | ||
| }, [hasApiKey, apiKeyConfigured]); | ||
| const handleProviderSelection = useCallback((item) => { | ||
| if (item.value === "exit") | ||
| process.exit(0); | ||
| setSelectedProvider(item.value); | ||
| }, []); | ||
| const handleModelSelection = useCallback((item) => { | ||
| if (item.value === "exit") | ||
| process.exit(0); | ||
| if (item.value === "back") { | ||
| setSelectedModel(undefined); | ||
| setSelectedProvider(undefined); | ||
| return; | ||
| } | ||
| setSelectedModel(item.value); | ||
| }, []); | ||
| const handleApiKeySubmit = useCallback((value) => { | ||
| if (!envVarName) | ||
| return; | ||
| process.env[envVarName] = value.trim(); | ||
| setApiKeyConfigured(true); | ||
| }, [envVarName]); | ||
| useEffect(() => { | ||
| if (selectedProvider && selectedModel && readyForApi) { | ||
| const agentInstance = new AIAgent(selectedProvider, selectedModel, [], setIsProcessing, setMessages); | ||
| setAgent(agentInstance); | ||
| } | ||
| }, [selectedProvider, selectedModel, readyForApi]); | ||
| useInput((inputKey, key) => { | ||
| if (!selectedProvider || !selectedModel) | ||
| return; | ||
| if (!readyForApi) | ||
| return; | ||
| if (key.upArrow) { | ||
| setScrollOffset((s) => Math.min(s + 1, Math.max(messages.length - VIEWPORT_SIZE, 0))); | ||
| } | ||
| else if (key.downArrow) { | ||
| setScrollOffset((s) => Math.max(s - 1, 0)); | ||
| } | ||
| else if (key.pageUp) { | ||
| setScrollOffset((s) => Math.min(s + VIEWPORT_SIZE, Math.max(messages.length - VIEWPORT_SIZE, 0))); | ||
| } | ||
| else if (key.pageDown) { | ||
| setScrollOffset((s) => Math.max(s - VIEWPORT_SIZE, 0)); | ||
| } | ||
| }); | ||
| const handleSubmit = (value) => { | ||
| const trimmed = value.trim(); | ||
| if (!trimmed || isProcessing) | ||
| return; | ||
| const trimmedValue = trimmed.toLowerCase(); | ||
| if (trimmedValue === "exit" || | ||
| trimmedValue === "quit" || | ||
| trimmedValue === "q") { | ||
| setCurrentInput(""); | ||
| exit(); | ||
| return; | ||
| } | ||
| if (trimmedValue === "clear" || trimmedValue === "cls") { | ||
| setMessages([ | ||
| { | ||
| role: "assistant", | ||
| content: "๐งน Chat history cleared!", | ||
| timestamp: new Date(), | ||
| }, | ||
| ]); | ||
| setCurrentInput(""); | ||
| return; | ||
| } | ||
| const userMessage = { | ||
| role: "user", | ||
| content: value, | ||
| timestamp: new Date(), | ||
| }; | ||
| setMessages((prev) => [...prev, userMessage]); | ||
| agent?.processMessage(value); | ||
| setCurrentInput(""); | ||
| setScrollOffset(0); | ||
| }; | ||
| if (!selectedProvider) { | ||
| return (_jsxs(AppLayout, { children: [_jsx(Box, { justifyContent: "flex-start", marginBottom: 1, children: _jsx(Text, { color: "gray", children: "A provider, you must choose:" }) }), _jsx(SelectInput, { items: [...providers, ...optionItems], onSelect: handleProviderSelection, itemComponent: MenuItem, indicatorComponent: ({ isSelected }) => isSelected ? _jsx(Text, { color: "yellow", children: "\uD83D\uDC49 " }) : _jsx(Text, { children: " " }) })] })); | ||
| } | ||
| if (selectedProvider && !selectedModel) { | ||
| const models = providerModels[selectedProvider] || []; | ||
| return (_jsxs(AppLayout, { children: [_jsx(Box, { justifyContent: "flex-start", marginBottom: 1, children: _jsxs(Text, { color: "gray", children: ["Select a model for ", selectedProvider, ":"] }) }), _jsx(SelectInput, { items: [...models, ...optionItems], onSelect: handleModelSelection, itemComponent: MenuItem, indicatorComponent: ({ isSelected }) => isSelected ? _jsx(Text, { color: "yellow", children: "\uD83D\uDC49 " }) : _jsx(Text, { children: " " }) })] })); | ||
| } | ||
| if (selectedProvider && selectedModel && !hasApiKey && !apiKeyConfigured) { | ||
| return (_jsxs(AppLayout, { children: [_jsx(Box, { justifyContent: "flex-start", marginBottom: 2, children: _jsx(Text, { color: "white", children: boxen(dedent ` | ||
| ๐ API Key Required | ||
| To connect with ${selectedProvider} and enable chat, please enter your API key. | ||
| The key should have the necessary permissions for ${selectedModel}. | ||
| ๐ Paste your key below to continue. | ||
| `, { | ||
| padding: 1, | ||
| borderColor: "yellow", | ||
| borderStyle: "round", | ||
| backgroundColor: "black", | ||
| title: "Missing studio Requires", | ||
| titleAlignment: "left", | ||
| }) }) }), _jsxs(Box, { flexDirection: "column", marginTop: 2, children: [_jsxs(Box, { borderStyle: "round", borderColor: "gray", paddingX: 1, children: [_jsx(Text, { color: "magenta", children: "> " }), _jsx(TextInput, { value: apiKeyInput, onChange: setApiKeyInput, onSubmit: handleApiKeySubmit, placeholder: "Paste your API key and press Enter", focus: true, mask: "*" })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "Press Enter to submit, or Ctrl+C to quit." }) })] })] })); | ||
| } | ||
| const startIndex = Math.max(messages.length - VIEWPORT_SIZE - scrollOffset, 0); | ||
| const endIndex = Math.max(messages.length - scrollOffset, 0); | ||
| const recentMessages = messages.slice(startIndex, endIndex); | ||
| return (_jsxs(AppLayout, { children: [_jsxs(Box, { justifyContent: "space-between", flexDirection: "column", width: "100%", children: [_jsx(Text, { bold: true, color: "cyan", children: "Missing studio AI Agent" }), _jsxs(Text, { color: "gray", children: ["Selected Provider: ", selectedProvider, " | Model: ", selectedModel] })] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, marginTop: 1, marginBottom: 1, minHeight: 12, children: [recentMessages.length === 0 && (_jsx(Text, { color: "gray", dimColor: true, children: "No messages yet. Say hi below!" })), recentMessages.map((msg, index) => { | ||
| const isLast = index === recentMessages.length - 1; | ||
| return (_jsxs(Box, { marginBottom: 0, children: [msg.role === "user" && (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: "white", children: `| ` }), _jsx(Text, { color: "gray", children: msg.content })] })), msg.role === "assistant" && (_jsx(Box, { marginBottom: 1, paddingLeft: 2, children: _jsx(Text, { wrap: "wrap", color: "white", children: msg.content }) })), msg.role === "tool" && (_jsx(Box, { marginBottom: 1, paddingLeft: 2, children: _jsx(Text, { color: "gray", dimColor: true, children: msg.toolName && msg.content.includes("Executing") | ||
| ? `[${msg.toolName}] ${msg.content.replace(`Executing ${msg.toolName}...`, "").replace(/^\(.*\)\.\.\./, "")}` | ||
| : msg.content | ||
| .replace("โ ", "") | ||
| .replace("โ Error:", "ERROR:") | ||
| .trim() }) })), msg.role === "system" && (_jsx(Box, { marginBottom: 1, paddingLeft: 2, children: _jsxs(Text, { color: "red", children: ["ERROR: ", msg.content.replace("โ Error:", "").trim()] }) }))] }, index)); | ||
| }), isProcessing && (_jsxs(Box, { marginBottom: 1, gap: 1, children: [_jsx(Text, { color: "green", children: _jsx(Spinner, { type: "star" }) }), _jsx(Text, { children: "Working..." })] }))] }), _jsxs(Box, { borderStyle: "round", borderColor: "gray", paddingLeft: 1, children: [_jsxs(Text, { color: "white", children: [`> `, " "] }), _jsx(TextInput, { value: currentInput, onChange: setCurrentInput, onSubmit: handleSubmit, placeholder: "Try some command (help, clear, exit, or describe what you want to do)", focus: true })] }), _jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: "gray", dimColor: true, children: [messages.length > 0 ? `${messages.length} messages` : "Ready", " |", isProcessing ? " Processing..." : " Idle", " |", recentMessages.length > 0 && | ||
| recentMessages[recentMessages.length - 1]?.timestamp | ||
| ? ` Last: ${recentMessages[recentMessages.length - 1]?.timestamp?.toLocaleTimeString()}` | ||
| : " No activity", "\u00A0"] }), _jsx(Text, { color: "gray", children: "\u2191/\u2193 scroll \u2022 Ctrl+C to exit" })] })] })); | ||
| } | ||
| //# sourceMappingURL=app.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/ui/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,GAAG;IACzB,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACrC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,SAAS,KAAG,EACb,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2CAAkC,IAChD,GACF,GACF,CACP,CAAC;AACJ,CAAC"} | ||
| {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/ui/app.tsx"],"names":[],"mappings":"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"} |
@@ -6,8 +6,8 @@ import { jsx as _jsx } from "react/jsx-runtime"; | ||
| describe("App", () => { | ||
| it("greets provided config", () => { | ||
| it("shows provider selection when no config provided", () => { | ||
| const { lastFrame } = render(_jsx(App, {})); | ||
| const output = lastFrame() ?? ""; | ||
| expect(output).toContain("Welcome to missing studio"); | ||
| expect(output).toContain("A provider, you must choose:"); | ||
| }); | ||
| }); | ||
| //# sourceMappingURL=app.test.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"app.test.js","sourceRoot":"","sources":["../../src/ui/app.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,GAAG,KAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} | ||
| {"version":3,"file":"app.test.js","sourceRoot":"","sources":["../../src/ui/app.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,GAAG,KAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} |
+12
-1
| { | ||
| "name": "@missingstudio/cli", | ||
| "version": "0.0.4", | ||
| "version": "0.0.5", | ||
| "description": "Missing Studio's AI assistant for interacting with the Model Context Protocol servers", | ||
@@ -49,9 +49,20 @@ "keywords": [ | ||
| "dependencies": { | ||
| "@ai-sdk/anthropic": "^2.0.9", | ||
| "@ai-sdk/google": "^2.0.11", | ||
| "@ai-sdk/groq": "^2.0.16", | ||
| "@ai-sdk/openai": "^2.0.23", | ||
| "@anthropic-ai/sdk": "^0.60.0", | ||
| "@inkjs/ui": "^2.0.0", | ||
| "@modelcontextprotocol/sdk": "^1.17.4", | ||
| "ai": "^5.0.28", | ||
| "boxen": "^8.0.1", | ||
| "chalk": "^5.6.0", | ||
| "commander": "^14.0.0", | ||
| "dedent": "^1.6.0", | ||
| "dotenv": "^17.2.1", | ||
| "ink": "^6.2.2", | ||
| "ink-gradient": "^3.0.0", | ||
| "ink-select-input": "^6.2.0", | ||
| "ink-spinner": "^5.0.0", | ||
| "ink-text-input": "^6.0.0", | ||
| "object-hash": "^3.0.0", | ||
@@ -58,0 +69,0 @@ "react": "^19.1.1", |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
157865
29.92%65
32.65%1854
24.85%21
110%10
233.33%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added