@codemcp/workflows
Advanced tools
+2
-2
| { | ||
| "name": "@codemcp/workflows", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "description": "A Model Context Protocol server that acts as an intelligent conversation state manager and development guide for LLMs, featuring comprehensive long-term memory with persistent project artifacts", | ||
@@ -54,3 +54,3 @@ "type": "module", | ||
| "vitest": "4.0.18", | ||
| "@codemcp/workflows-core": "6.20.1" | ||
| "@codemcp/workflows-core": "6.20.2" | ||
| }, | ||
@@ -57,0 +57,0 @@ "lint-staged": { |
| { | ||
| "name": "@codemcp/workflows-cli", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "description": "CLI tools for responsible-vibe development workflows", | ||
@@ -5,0 +5,0 @@ "type": "module", |
| { | ||
| "name": "@codemcp/workflows-core", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
| { | ||
| "name": "@codemcp/workflows-docs", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "description": "Documentation site for Responsible Vibe MCP", | ||
@@ -5,0 +5,0 @@ "type": "module", |
| { | ||
| "name": "@codemcp/workflows-server", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "description": "MCP server for responsible-vibe development workflows - provides structured workflow guidance", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -1,3 +0,3 @@ | ||
| import { z } from 'zod'; | ||
| import { Effect } from 'effect'; | ||
| import { Plugin } from '@opencode-ai/plugin'; | ||
| export { Hooks, Plugin, PluginInput, PluginModule, ToolContext, ToolDefinition } from '@opencode-ai/plugin'; | ||
@@ -7,65 +7,9 @@ /** | ||
| * | ||
| * Minimal type definitions needed for the plugin. | ||
| * Based on @opencode-ai/plugin package types. | ||
| * Re-exports the types we need directly from the official @opencode-ai/plugin | ||
| * SDK so that any change to the SDK's type signatures (e.g. ToolContext.ask) | ||
| * is caught at compile time rather than silently breaking at runtime. | ||
| * | ||
| * Only types that are NOT exported by the SDK are defined here. | ||
| */ | ||
| type Part = { | ||
| type: 'text' | 'image' | 'file' | 'tool_use' | 'tool_result'; | ||
| text?: string; | ||
| [key: string]: unknown; | ||
| }; | ||
| type UserMessage = { | ||
| id: string; | ||
| sessionID: string; | ||
| role: 'user'; | ||
| [key: string]: unknown; | ||
| }; | ||
| type Message = { | ||
| id: string; | ||
| sessionID: string; | ||
| role: 'user' | 'assistant'; | ||
| [key: string]: unknown; | ||
| }; | ||
| type Model = { | ||
| providerID: string; | ||
| modelID: string; | ||
| [key: string]: unknown; | ||
| }; | ||
| type Project = { | ||
| id: string; | ||
| path: string; | ||
| [key: string]: unknown; | ||
| }; | ||
| type PluginInput = { | ||
| client: unknown; | ||
| project: Project; | ||
| directory: string; | ||
| worktree: string; | ||
| serverUrl: URL; | ||
| $: unknown; | ||
| }; | ||
| type ToolContext = { | ||
| sessionID: string; | ||
| messageID: string; | ||
| agent: string; | ||
| directory: string; | ||
| worktree: string; | ||
| abort: AbortSignal; | ||
| metadata(input: { | ||
| title?: string; | ||
| metadata?: Record<string, unknown>; | ||
| }): void; | ||
| ask(input: { | ||
| permission: string; | ||
| patterns: string[]; | ||
| always: string[]; | ||
| metadata: Record<string, unknown>; | ||
| }): Effect.Effect<void>; | ||
| }; | ||
| type ToolDefinition = { | ||
| description: string; | ||
| args: z.ZodRawShape; | ||
| execute(args: unknown, context: ToolContext): Promise<string>; | ||
| }; | ||
| type SessionCompactedEvent = { | ||
@@ -88,130 +32,2 @@ type: 'session.compacted'; | ||
| type BusEvent = SessionCompactedEvent | SessionIdleEvent | OtherEvent; | ||
| interface Hooks { | ||
| event?: (input: { | ||
| event: BusEvent; | ||
| }) => Promise<void>; | ||
| config?: (input: unknown) => Promise<void>; | ||
| tool?: { | ||
| [key: string]: ToolDefinition; | ||
| }; | ||
| auth?: unknown; | ||
| /** | ||
| * Called when a new message is received | ||
| */ | ||
| 'chat.message'?: (input: { | ||
| sessionID: string; | ||
| agent?: string; | ||
| model?: { | ||
| providerID: string; | ||
| modelID: string; | ||
| }; | ||
| messageID?: string; | ||
| variant?: string; | ||
| }, output: { | ||
| message: UserMessage; | ||
| parts: Part[]; | ||
| }) => Promise<void>; | ||
| /** | ||
| * Modify parameters sent to LLM | ||
| */ | ||
| 'chat.params'?: (input: { | ||
| sessionID: string; | ||
| agent: string; | ||
| model: Model; | ||
| provider: unknown; | ||
| message: UserMessage; | ||
| }, output: { | ||
| temperature: number; | ||
| topP: number; | ||
| topK: number; | ||
| options: Record<string, unknown>; | ||
| }) => Promise<void>; | ||
| 'chat.headers'?: (input: { | ||
| sessionID: string; | ||
| agent: string; | ||
| model: Model; | ||
| provider: unknown; | ||
| message: UserMessage; | ||
| }, output: { | ||
| headers: Record<string, string>; | ||
| }) => Promise<void>; | ||
| 'permission.ask'?: (input: unknown, output: { | ||
| status: 'ask' | 'deny' | 'allow'; | ||
| }) => Promise<void>; | ||
| 'command.execute.before'?: (input: { | ||
| command: string; | ||
| sessionID: string; | ||
| arguments: string; | ||
| }, output: { | ||
| parts: Part[]; | ||
| }) => Promise<void>; | ||
| 'tool.execute.before'?: (input: { | ||
| tool: string; | ||
| sessionID: string; | ||
| callID: string; | ||
| }, output: { | ||
| args: Record<string, unknown>; | ||
| }) => Promise<void>; | ||
| 'shell.env'?: (input: { | ||
| cwd: string; | ||
| sessionID?: string; | ||
| callID?: string; | ||
| }, output: { | ||
| env: Record<string, string>; | ||
| }) => Promise<void>; | ||
| 'tool.execute.after'?: (input: { | ||
| tool: string; | ||
| sessionID: string; | ||
| callID: string; | ||
| args: unknown; | ||
| }, output: { | ||
| title: string; | ||
| output: string; | ||
| metadata: unknown; | ||
| }) => Promise<void>; | ||
| 'experimental.chat.messages.transform'?: (input: Record<string, never>, output: { | ||
| messages: { | ||
| info: Message; | ||
| parts: Part[]; | ||
| }[]; | ||
| }) => Promise<void>; | ||
| 'experimental.chat.system.transform'?: (input: { | ||
| sessionID?: string; | ||
| model: Model; | ||
| }, output: { | ||
| system: string[]; | ||
| }) => Promise<void>; | ||
| /** | ||
| * Called before session compaction starts. Allows plugins to customize | ||
| * the compaction prompt. | ||
| */ | ||
| 'experimental.session.compacting'?: (input: { | ||
| sessionID: string; | ||
| }, output: { | ||
| context: string[]; | ||
| prompt?: string; | ||
| }) => Promise<void>; | ||
| 'experimental.text.complete'?: (input: { | ||
| sessionID: string; | ||
| messageID: string; | ||
| partID: string; | ||
| }, output: { | ||
| text: string; | ||
| }) => Promise<void>; | ||
| /** | ||
| * Modify tool definitions (description and parameters) sent to LLM | ||
| */ | ||
| 'tool.definition'?: (input: { | ||
| toolID: string; | ||
| }, output: { | ||
| description: string; | ||
| parameters: unknown; | ||
| }) => Promise<void>; | ||
| } | ||
| type Plugin = (input: PluginInput) => Promise<Hooks>; | ||
| type PluginModule = { | ||
| id?: string; | ||
| server: Plugin; | ||
| tui?: never; | ||
| }; | ||
@@ -241,2 +57,2 @@ /** | ||
| export { type BusEvent, type Hooks, type Message, type Model, type OtherEvent, type Part, type Plugin, type PluginInput, type PluginModule, type Project, type SessionCompactedEvent, type SessionIdleEvent, type ToolContext, type ToolDefinition, type UserMessage, WorkflowsPlugin, _default as default }; | ||
| export { type BusEvent, type OtherEvent, type SessionCompactedEvent, type SessionIdleEvent, WorkflowsPlugin, _default as default }; |
| { | ||
| "name": "@codemcp/workflows-opencode", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "description": "OpenCode plugin for structured development workflows", | ||
@@ -32,2 +32,3 @@ "main": "dist/index.js", | ||
| "@codemcp/workflows-server": "workspace:*", | ||
| "@opencode-ai/plugin": "*", | ||
| "rimraf": "^6.0.1", | ||
@@ -39,2 +40,3 @@ "tsup": "^8.0.0", | ||
| "@anthropic-ai/sdk": "*", | ||
| "@opencode-ai/plugin": "*", | ||
| "zod": ">=4.1.8" | ||
@@ -46,2 +48,5 @@ }, | ||
| }, | ||
| "@opencode-ai/plugin": { | ||
| "optional": false | ||
| }, | ||
| "zod": { | ||
@@ -48,0 +53,0 @@ "optional": false |
| { | ||
| "name": "@codemcp/workflows-opencode-tui", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "description": "OpenCode TUI sidebar plugin that displays the current responsible-vibe workflow phase and name", | ||
@@ -5,0 +5,0 @@ "main": "workflows-phase.tsx", |
| { | ||
| "name": "@codemcp/workflows-visualizer", | ||
| "version": "6.20.1", | ||
| "version": "6.20.2", | ||
| "type": "module", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.ts", |
Sorry, the diff of this file is too big to display
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
12510730
-0.03%75996
-0.23%