stringray-ai 1.0.4 ā 1.0.6
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/dist/cli/auth.d.ts +24 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +69 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +71 -11
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/status.d.ts +18 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +130 -0
- package/dist/cli/status.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StringRay Framework CLI - Auth Command
|
|
3
|
+
*
|
|
4
|
+
* Authentication management for AI providers.
|
|
5
|
+
* Currently supports configuration display and basic setup.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-01-12
|
|
9
|
+
*/
|
|
10
|
+
export interface AuthLoginOptions {
|
|
11
|
+
provider?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AuthLogoutOptions {
|
|
14
|
+
provider?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Auth command namespace
|
|
18
|
+
*/
|
|
19
|
+
export declare const authCommand: {
|
|
20
|
+
login(options: AuthLoginOptions): Promise<void>;
|
|
21
|
+
logout(options: AuthLogoutOptions): Promise<void>;
|
|
22
|
+
status(): Promise<void>;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;mBACD,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;oBAqB/B,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;cAiBvC,OAAO,CAAC,IAAI,CAAC;CAkB9B,CAAC"}
|
package/dist/cli/auth.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StringRay Framework CLI - Auth Command
|
|
3
|
+
*
|
|
4
|
+
* Authentication management for AI providers.
|
|
5
|
+
* Currently supports configuration display and basic setup.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-01-12
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Auth command namespace
|
|
12
|
+
*/
|
|
13
|
+
export const authCommand = {
|
|
14
|
+
async login(options) {
|
|
15
|
+
console.log("š StringRay Authentication - Login");
|
|
16
|
+
console.log("=================================");
|
|
17
|
+
const provider = options.provider || "claude";
|
|
18
|
+
console.log(`Logging into: ${provider.toUpperCase()}`);
|
|
19
|
+
// For now, just display instructions
|
|
20
|
+
console.log("\nš Authentication Setup:");
|
|
21
|
+
console.log("1. Visit your AI provider's website");
|
|
22
|
+
console.log("2. Generate an API key");
|
|
23
|
+
console.log("3. Set the environment variable:");
|
|
24
|
+
console.log(` export ${getEnvVarName(provider)}=your_api_key_here`);
|
|
25
|
+
console.log("4. Restart StringRay");
|
|
26
|
+
console.log("\nā
Once configured, your API key will be automatically used.");
|
|
27
|
+
},
|
|
28
|
+
async logout(options) {
|
|
29
|
+
console.log("š StringRay Authentication - Logout");
|
|
30
|
+
console.log("==================================");
|
|
31
|
+
const provider = options.provider || "all";
|
|
32
|
+
if (provider === "all") {
|
|
33
|
+
console.log("Logging out from all providers...");
|
|
34
|
+
// In a real implementation, this would clear stored credentials
|
|
35
|
+
console.log("ā
All authentication cleared");
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
console.log(`Logging out from: ${provider.toUpperCase()}`);
|
|
39
|
+
// In a real implementation, this would clear provider-specific credentials
|
|
40
|
+
console.log(`ā
${provider.toUpperCase()} authentication cleared`);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
async status() {
|
|
44
|
+
console.log("š StringRay Authentication - Status");
|
|
45
|
+
console.log("==================================");
|
|
46
|
+
const providers = ["claude", "openai", "gemini"];
|
|
47
|
+
for (const provider of providers) {
|
|
48
|
+
const envVar = getEnvVarName(provider);
|
|
49
|
+
const hasKey = process.env[envVar]
|
|
50
|
+
? "ā
Configured"
|
|
51
|
+
: "ā Not configured";
|
|
52
|
+
console.log(`${provider.toUpperCase()}: ${hasKey}`);
|
|
53
|
+
}
|
|
54
|
+
console.log("\nš” To configure authentication:");
|
|
55
|
+
console.log(" strray auth login --provider <provider>");
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Get environment variable name for provider
|
|
60
|
+
*/
|
|
61
|
+
function getEnvVarName(provider) {
|
|
62
|
+
const envVars = {
|
|
63
|
+
claude: "ANTHROPIC_API_KEY",
|
|
64
|
+
openai: "OPENAI_API_KEY",
|
|
65
|
+
gemini: "GOOGLE_API_KEY",
|
|
66
|
+
};
|
|
67
|
+
return envVars[provider] || `${provider.toUpperCase()}_API_KEY`;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,CAAC,KAAK,CAAC,OAAyB;QACnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEvD,qCAAqC;QACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAE3C,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,gEAAgE;YAChE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC3D,2EAA2E;YAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAElD,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAChC,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,kBAAkB,CAAC;YAEvB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;KACzB,CAAC;IAEF,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
|
package/dist/cli/index.js
CHANGED
|
@@ -21,7 +21,7 @@ program
|
|
|
21
21
|
console.log("Status: ā
Healthy");
|
|
22
22
|
console.log("\nā
Status check complete.");
|
|
23
23
|
});
|
|
24
|
-
// Install Command -
|
|
24
|
+
// Install Command - Full implementation
|
|
25
25
|
program
|
|
26
26
|
.command("install")
|
|
27
27
|
.description("Interactive setup wizard for StringRay Framework")
|
|
@@ -29,16 +29,76 @@ program
|
|
|
29
29
|
.action(async (options) => {
|
|
30
30
|
console.log("š StringRay Framework Setup Wizard");
|
|
31
31
|
console.log("=================================");
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
// Check system prerequisites
|
|
35
|
+
console.log("Checking system prerequisites...");
|
|
36
|
+
|
|
37
|
+
// Check Node.js version
|
|
38
|
+
const nodeVersion = process.versions.node;
|
|
39
|
+
const majorVersion = parseInt(nodeVersion.split('.')[0]);
|
|
40
|
+
if (majorVersion < 18) {
|
|
41
|
+
console.error(`ā Node.js version ${nodeVersion} is not supported. Please upgrade to Node.js 18+`);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
console.log("ā
Node.js version compatible");
|
|
45
|
+
|
|
46
|
+
// Check if oh-my-opencode is available
|
|
47
|
+
try {
|
|
48
|
+
const { execSync } = require('child_process');
|
|
49
|
+
execSync('which oh-my-opencode', { stdio: 'pipe' });
|
|
50
|
+
console.log("ā
oh-my-opencode available");
|
|
51
|
+
} catch (error) {
|
|
52
|
+
console.log("ā ļø oh-my-opencode not found in PATH (this is okay if using as a plugin)");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Create configuration files
|
|
56
|
+
console.log("\nCreating configuration files...");
|
|
57
|
+
|
|
58
|
+
// Create .opencode directory
|
|
59
|
+
const fs = require('fs');
|
|
60
|
+
const path = require('path');
|
|
61
|
+
|
|
62
|
+
const opencodeDir = path.join(process.cwd(), '.opencode');
|
|
63
|
+
if (!fs.existsSync(opencodeDir)) {
|
|
64
|
+
fs.mkdirSync(opencodeDir, { recursive: true });
|
|
65
|
+
console.log("ā
Created .opencode directory");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Create oh-my-opencode.json configuration
|
|
69
|
+
const ohMyOpencodeConfig = {
|
|
70
|
+
"plugin": [
|
|
71
|
+
"oh-my-opencode",
|
|
72
|
+
"stringray-ai/dist/plugin/stringray-codex-injection.js"
|
|
73
|
+
]
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const configPath = path.join(opencodeDir, 'oh-my-opencode.json');
|
|
77
|
+
fs.writeFileSync(configPath, JSON.stringify(ohMyOpencodeConfig, null, 2));
|
|
78
|
+
console.log("ā
Created oh-my-opencode.json configuration");
|
|
79
|
+
|
|
80
|
+
// Copy .mcp.json configuration
|
|
81
|
+
const mcpConfigSource = path.join(__dirname, '..', '.mcp.json');
|
|
82
|
+
const mcpConfigDest = path.join(process.cwd(), '.mcp.json');
|
|
83
|
+
|
|
84
|
+
if (fs.existsSync(mcpConfigSource)) {
|
|
85
|
+
fs.copyFileSync(mcpConfigSource, mcpConfigDest);
|
|
86
|
+
console.log("ā
Copied MCP server configuration");
|
|
87
|
+
} else {
|
|
88
|
+
console.log("ā ļø MCP configuration not found in package");
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
console.log("\nš StringRay Framework installation completed successfully!");
|
|
92
|
+
|
|
93
|
+
console.log("\nNext steps:");
|
|
94
|
+
console.log(" ⢠Run 'stringray-ai doctor' to verify everything is working");
|
|
95
|
+
console.log(" ⢠Run 'stringray-ai status' to see system status");
|
|
96
|
+
console.log(" ⢠Start oh-my-opencode to use StringRay AI features");
|
|
97
|
+
|
|
98
|
+
} catch (error) {
|
|
99
|
+
console.error("ā Installation failed:", error.message);
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
42
102
|
});
|
|
43
103
|
// Doctor Command - Basic implementation
|
|
44
104
|
program
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StringRay Framework CLI - Status Command
|
|
3
|
+
*
|
|
4
|
+
* System status display for StringRay Framework.
|
|
5
|
+
* Shows current framework health, agents, and configuration.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-01-12
|
|
9
|
+
*/
|
|
10
|
+
export interface StatusOptions {
|
|
11
|
+
detailed?: boolean;
|
|
12
|
+
json?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Status command implementation
|
|
16
|
+
*/
|
|
17
|
+
export declare function statusCommand(options: StatusOptions): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DzE"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StringRay Framework CLI - Status Command
|
|
3
|
+
*
|
|
4
|
+
* System status display for StringRay Framework.
|
|
5
|
+
* Shows current framework health, agents, and configuration.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-01-12
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Status command implementation
|
|
12
|
+
*/
|
|
13
|
+
export async function statusCommand(options) {
|
|
14
|
+
const status = await gatherSystemStatus();
|
|
15
|
+
if (options.json) {
|
|
16
|
+
console.log(JSON.stringify(status, null, 2));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
console.log("š StringRay Framework Status");
|
|
20
|
+
console.log("==========================");
|
|
21
|
+
// Framework info
|
|
22
|
+
console.log(`Framework: ${status.framework.name} v${status.framework.version}`);
|
|
23
|
+
console.log(`Uptime: ${status.framework.uptime}`);
|
|
24
|
+
console.log(`Environment: ${status.framework.environment}`);
|
|
25
|
+
// System health
|
|
26
|
+
console.log(`\nš„ System Health:`);
|
|
27
|
+
console.log(`Status: ${getStatusIcon(status.health.overall)} ${status.health.overall.toUpperCase()}`);
|
|
28
|
+
console.log(`Components: ${status.health.components.healthy}/${status.health.components.total}`);
|
|
29
|
+
if (options.detailed) {
|
|
30
|
+
console.log(`\nAgents: ${status.agents.active}/${status.agents.total} active`);
|
|
31
|
+
console.log(`Processors: ${status.processors.active}/${status.processors.total} running`);
|
|
32
|
+
console.log(`Memory: ${status.memory.used} MB used`);
|
|
33
|
+
console.log(`Tasks: ${status.tasks.pending} pending, ${status.tasks.completed} completed`);
|
|
34
|
+
}
|
|
35
|
+
// Recent activity
|
|
36
|
+
if (status.activity.recent.length > 0) {
|
|
37
|
+
console.log(`\nš Recent Activity:`);
|
|
38
|
+
status.activity.recent.slice(0, 5).forEach((activity) => {
|
|
39
|
+
console.log(`⢠${activity.timestamp}: ${activity.message}`);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
// Recommendations
|
|
43
|
+
if (status.recommendations.length > 0) {
|
|
44
|
+
console.log(`\nš” Recommendations:`);
|
|
45
|
+
status.recommendations.forEach((rec) => {
|
|
46
|
+
console.log(`⢠${rec}`);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
// Footer
|
|
50
|
+
console.log(`\nā
Status check complete. Use 'strray doctor' for detailed diagnostics.`);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Gather comprehensive system status
|
|
54
|
+
*/
|
|
55
|
+
async function gatherSystemStatus() {
|
|
56
|
+
const status = {
|
|
57
|
+
framework: {
|
|
58
|
+
name: "StringRay",
|
|
59
|
+
version: "1.0.0",
|
|
60
|
+
uptime: "Unknown",
|
|
61
|
+
environment: process.env.NODE_ENV || "development",
|
|
62
|
+
},
|
|
63
|
+
health: {
|
|
64
|
+
overall: "healthy",
|
|
65
|
+
components: {
|
|
66
|
+
total: 0,
|
|
67
|
+
healthy: 0,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
agents: {
|
|
71
|
+
total: 8,
|
|
72
|
+
active: 0,
|
|
73
|
+
},
|
|
74
|
+
processors: {
|
|
75
|
+
total: 10,
|
|
76
|
+
active: 0,
|
|
77
|
+
},
|
|
78
|
+
memory: {
|
|
79
|
+
used: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
|
|
80
|
+
total: Math.round(process.memoryUsage().heapTotal / 1024 / 1024),
|
|
81
|
+
},
|
|
82
|
+
tasks: {
|
|
83
|
+
pending: 0,
|
|
84
|
+
completed: 0,
|
|
85
|
+
},
|
|
86
|
+
activity: {
|
|
87
|
+
recent: [],
|
|
88
|
+
},
|
|
89
|
+
recommendations: [],
|
|
90
|
+
};
|
|
91
|
+
// Try to get real data from framework components
|
|
92
|
+
try {
|
|
93
|
+
// Add some sample activity
|
|
94
|
+
status.activity.recent = [
|
|
95
|
+
{
|
|
96
|
+
timestamp: new Date().toISOString(),
|
|
97
|
+
message: "Status check performed",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
timestamp: new Date(Date.now() - 60000).toISOString(),
|
|
101
|
+
message: "Framework initialized",
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
// Add recommendations based on status
|
|
105
|
+
if (status.agents.active === 0) {
|
|
106
|
+
status.recommendations.push("Run 'strray run \"your task\"' to activate agents");
|
|
107
|
+
}
|
|
108
|
+
if (status.memory.used > 256) {
|
|
109
|
+
status.recommendations.push("Consider restarting to free memory");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
status.health.overall = "degraded";
|
|
114
|
+
status.recommendations.push("Framework components not fully accessible");
|
|
115
|
+
}
|
|
116
|
+
return status;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get status icon
|
|
120
|
+
*/
|
|
121
|
+
function getStatusIcon(status) {
|
|
122
|
+
const icons = {
|
|
123
|
+
healthy: "š¢",
|
|
124
|
+
degraded: "š”",
|
|
125
|
+
unhealthy: "š“",
|
|
126
|
+
unknown: "āŖ",
|
|
127
|
+
};
|
|
128
|
+
return icons[status] || "ā";
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stringray-ai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "ā” StringRay ā”: Bulletproof AI orchestration with systematic error prevention. Zero dead ends. Ship clean, tested, optimized code ā every time.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/plugin/index.js",
|
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
},
|
|
95
95
|
"files": [
|
|
96
96
|
".mcp.json",
|
|
97
|
+
"dist/cli",
|
|
97
98
|
"dist/plugin",
|
|
98
99
|
"dist/mcps",
|
|
99
100
|
"dist/agents",
|