@codemcp/workflows 6.5.0 → 6.6.0
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/package.json +2 -2
- package/packages/cli/dist/{chunk-4AZGS2GG.js → chunk-OQEE77IJ.js} +23 -1
- package/packages/cli/dist/{cli-ZCCFBQTP.js → cli-JKYH3LI3.js} +3 -3
- package/packages/cli/dist/{dist-MW7THWM3.js → dist-6V5QENI6.js} +23 -1
- package/packages/cli/dist/{dist-I6VSREAJ.js → dist-CANNJPRJ.js} +1 -1
- package/packages/cli/dist/index.js +2 -2
- package/packages/cli/package.json +1 -1
- package/packages/core/dist/conversation-manager.d.ts +13 -1
- package/packages/core/dist/conversation-manager.js +22 -0
- package/packages/core/dist/conversation-manager.js.map +1 -1
- package/packages/core/dist/types.d.ts +8 -0
- package/packages/core/package.json +1 -1
- package/packages/docs/package.json +1 -1
- package/packages/mcp-server/dist/index.d.ts +10 -1
- package/packages/mcp-server/dist/index.js +23 -1
- package/packages/mcp-server/package.json +1 -1
- package/packages/opencode-plugin/dist/index.d.ts +216 -5
- package/packages/opencode-plugin/dist/index.js +28682 -11
- package/packages/opencode-plugin/package.json +8 -5
- package/packages/opencode-plugin/resources/agents/architect.yaml +61 -0
- package/packages/opencode-plugin/resources/agents/business-analyst.yaml +60 -0
- package/packages/opencode-plugin/resources/agents/developer.yaml +61 -0
- package/packages/opencode-plugin/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
- package/packages/opencode-plugin/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
- package/packages/opencode-plugin/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
- package/packages/opencode-plugin/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
- package/packages/opencode-plugin/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
- package/packages/opencode-plugin/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
- package/packages/opencode-plugin/resources/templates/architecture/c4.md +224 -0
- package/packages/opencode-plugin/resources/templates/architecture/freestyle.md +53 -0
- package/packages/opencode-plugin/resources/templates/architecture/game.md +250 -0
- package/packages/opencode-plugin/resources/templates/architecture/none.md +17 -0
- package/packages/opencode-plugin/resources/templates/design/comprehensive.md +207 -0
- package/packages/opencode-plugin/resources/templates/design/freestyle.md +37 -0
- package/packages/opencode-plugin/resources/templates/design/game.md +66 -0
- package/packages/opencode-plugin/resources/templates/design/none.md +17 -0
- package/packages/opencode-plugin/resources/templates/requirements/ears.md +90 -0
- package/packages/opencode-plugin/resources/templates/requirements/freestyle.md +42 -0
- package/packages/opencode-plugin/resources/templates/requirements/game.md +162 -0
- package/packages/opencode-plugin/resources/templates/requirements/none.md +17 -0
- package/packages/opencode-plugin/resources/templates/skills/POWER.md +23 -0
- package/packages/opencode-plugin/resources/templates/skills/SKILL.md +19 -0
- package/packages/opencode-plugin/resources/workflows/adr.yaml +157 -0
- package/packages/opencode-plugin/resources/workflows/big-bang-conversion.yaml +592 -0
- package/packages/opencode-plugin/resources/workflows/boundary-testing.yaml +376 -0
- package/packages/opencode-plugin/resources/workflows/bugfix.yaml +178 -0
- package/packages/opencode-plugin/resources/workflows/business-analysis.yaml +597 -0
- package/packages/opencode-plugin/resources/workflows/c4-analysis.yaml +471 -0
- package/packages/opencode-plugin/resources/workflows/epcc.yaml +195 -0
- package/packages/opencode-plugin/resources/workflows/game-beginner.yaml +434 -0
- package/packages/opencode-plugin/resources/workflows/greenfield.yaml +217 -0
- package/packages/opencode-plugin/resources/workflows/minor.yaml +146 -0
- package/packages/opencode-plugin/resources/workflows/posts.yaml +193 -0
- package/packages/opencode-plugin/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
- package/packages/opencode-plugin/resources/workflows/sdd-bugfix.yaml +381 -0
- package/packages/opencode-plugin/resources/workflows/sdd-feature-crowd.yaml +713 -0
- package/packages/opencode-plugin/resources/workflows/sdd-feature.yaml +471 -0
- package/packages/opencode-plugin/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
- package/packages/opencode-plugin/resources/workflows/sdd-greenfield.yaml +463 -0
- package/packages/opencode-plugin/resources/workflows/skilled-bugfix.yaml +174 -0
- package/packages/opencode-plugin/resources/workflows/skilled-epcc.yaml +171 -0
- package/packages/opencode-plugin/resources/workflows/skilled-greenfield.yaml +207 -0
- package/packages/opencode-plugin/resources/workflows/slides.yaml +237 -0
- package/packages/opencode-plugin/resources/workflows/tdd.yaml +170 -0
- package/packages/opencode-plugin/resources/workflows/waterfall.yaml +225 -0
- package/packages/opencode-tui-plugin/package.json +1 -1
- package/packages/visualizer/package.json +1 -1
- package/packages/opencode-plugin/dist/index.js.map +0 -1
- package/packages/opencode-plugin/dist/opencode-logger.d.ts +0 -21
- package/packages/opencode-plugin/dist/opencode-logger.js +0 -104
- package/packages/opencode-plugin/dist/opencode-logger.js.map +0 -1
- package/packages/opencode-plugin/dist/plugin.d.ts +0 -23
- package/packages/opencode-plugin/dist/plugin.js +0 -395
- package/packages/opencode-plugin/dist/plugin.js.map +0 -1
- package/packages/opencode-plugin/dist/server-context.d.ts +0 -40
- package/packages/opencode-plugin/dist/server-context.js +0 -96
- package/packages/opencode-plugin/dist/server-context.js.map +0 -1
- package/packages/opencode-plugin/dist/tool-handlers/conduct-review.d.ts +0 -3
- package/packages/opencode-plugin/dist/tool-handlers/conduct-review.js +0 -37
- package/packages/opencode-plugin/dist/tool-handlers/conduct-review.js.map +0 -1
- package/packages/opencode-plugin/dist/tool-handlers/proceed-to-phase.d.ts +0 -3
- package/packages/opencode-plugin/dist/tool-handlers/proceed-to-phase.js +0 -74
- package/packages/opencode-plugin/dist/tool-handlers/proceed-to-phase.js.map +0 -1
- package/packages/opencode-plugin/dist/tool-handlers/reset-development.d.ts +0 -3
- package/packages/opencode-plugin/dist/tool-handlers/reset-development.js +0 -63
- package/packages/opencode-plugin/dist/tool-handlers/reset-development.js.map +0 -1
- package/packages/opencode-plugin/dist/tool-handlers/setup-project-docs.d.ts +0 -3
- package/packages/opencode-plugin/dist/tool-handlers/setup-project-docs.js +0 -74
- package/packages/opencode-plugin/dist/tool-handlers/setup-project-docs.js.map +0 -1
- package/packages/opencode-plugin/dist/tool-handlers/start-development.d.ts +0 -3
- package/packages/opencode-plugin/dist/tool-handlers/start-development.js +0 -69
- package/packages/opencode-plugin/dist/tool-handlers/start-development.js.map +0 -1
- package/packages/opencode-plugin/dist/tool-handlers/tool-helper.d.ts +0 -10
- package/packages/opencode-plugin/dist/tool-handlers/tool-helper.js +0 -7
- package/packages/opencode-plugin/dist/tool-handlers/tool-helper.js.map +0 -1
- package/packages/opencode-plugin/dist/types.d.ts +0 -193
- package/packages/opencode-plugin/dist/types.js +0 -8
- package/packages/opencode-plugin/dist/types.js.map +0 -1
- package/packages/opencode-plugin/dist/utils.d.ts +0 -14
- package/packages/opencode-plugin/dist/utils.js +0 -26
- package/packages/opencode-plugin/dist/utils.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codemcp/workflows",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.6.0",
|
|
4
4
|
"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",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "packages/cli/dist/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"typescript": "^5.9.3",
|
|
52
52
|
"vitepress": "^1.6.4",
|
|
53
53
|
"vitest": "4.0.18",
|
|
54
|
-
"@codemcp/workflows-core": "6.
|
|
54
|
+
"@codemcp/workflows-core": "6.6.0"
|
|
55
55
|
},
|
|
56
56
|
"lint-staged": {
|
|
57
57
|
"*.{ts,js,mts,cts,tsx,jsx}": [
|
|
@@ -4636,11 +4636,30 @@ var ConversationManager = class {
|
|
|
4636
4636
|
database;
|
|
4637
4637
|
projectPath;
|
|
4638
4638
|
workflowManager;
|
|
4639
|
+
currentSessionMetadata = null;
|
|
4639
4640
|
constructor(database, workflowManager, projectPath) {
|
|
4640
4641
|
this.database = database;
|
|
4641
4642
|
this.workflowManager = workflowManager;
|
|
4642
4643
|
this.projectPath = projectPath;
|
|
4643
4644
|
}
|
|
4645
|
+
/**
|
|
4646
|
+
* Set session metadata for subsequent conversation state operations.
|
|
4647
|
+
* This links the workflow state to an external session context.
|
|
4648
|
+
*
|
|
4649
|
+
* @param sessionMetadata - Session metadata to store with conversation state
|
|
4650
|
+
*/
|
|
4651
|
+
setSessionMetadata(sessionMetadata) {
|
|
4652
|
+
this.currentSessionMetadata = sessionMetadata;
|
|
4653
|
+
logger8.debug("Session metadata set", {
|
|
4654
|
+
referenceId: sessionMetadata.referenceId
|
|
4655
|
+
});
|
|
4656
|
+
}
|
|
4657
|
+
/**
|
|
4658
|
+
* Get current session metadata
|
|
4659
|
+
*/
|
|
4660
|
+
getSessionMetadata() {
|
|
4661
|
+
return this.currentSessionMetadata;
|
|
4662
|
+
}
|
|
4644
4663
|
/**
|
|
4645
4664
|
* Get conversation state by ID
|
|
4646
4665
|
*/
|
|
@@ -4782,7 +4801,10 @@ var ConversationManager = class {
|
|
|
4782
4801
|
requireReviewsBeforePhaseTransition: false,
|
|
4783
4802
|
// Default to false for new conversations
|
|
4784
4803
|
createdAt: timestamp2,
|
|
4785
|
-
updatedAt: timestamp2
|
|
4804
|
+
updatedAt: timestamp2,
|
|
4805
|
+
...this.currentSessionMetadata && {
|
|
4806
|
+
sessionMetadata: this.currentSessionMetadata
|
|
4807
|
+
}
|
|
4786
4808
|
};
|
|
4787
4809
|
await this.database.saveConversationState(newState);
|
|
4788
4810
|
logger8.info("New conversation state created", {
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
StateMachineLoader,
|
|
3
3
|
WorkflowManager,
|
|
4
4
|
generateSystemPrompt
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OQEE77IJ.js";
|
|
6
6
|
import "./chunk-R5U7XKVJ.js";
|
|
7
7
|
|
|
8
8
|
// src/cli.ts
|
|
@@ -998,11 +998,11 @@ var isLocal = existsSync3(join5(__dirname3, "../../core/dist/index.js"));
|
|
|
998
998
|
var generateSystemPrompt2;
|
|
999
999
|
var StateMachineLoader2;
|
|
1000
1000
|
if (isLocal) {
|
|
1001
|
-
const coreModule = await import("./dist-
|
|
1001
|
+
const coreModule = await import("./dist-CANNJPRJ.js");
|
|
1002
1002
|
generateSystemPrompt2 = coreModule.generateSystemPrompt;
|
|
1003
1003
|
StateMachineLoader2 = coreModule.StateMachineLoader;
|
|
1004
1004
|
} else {
|
|
1005
|
-
const coreModule = await import("./dist-
|
|
1005
|
+
const coreModule = await import("./dist-CANNJPRJ.js");
|
|
1006
1006
|
generateSystemPrompt2 = coreModule.generateSystemPrompt;
|
|
1007
1007
|
StateMachineLoader2 = coreModule.StateMachineLoader;
|
|
1008
1008
|
}
|
|
@@ -8462,11 +8462,30 @@ var ConversationManager = class {
|
|
|
8462
8462
|
database;
|
|
8463
8463
|
projectPath;
|
|
8464
8464
|
workflowManager;
|
|
8465
|
+
currentSessionMetadata = null;
|
|
8465
8466
|
constructor(database, workflowManager, projectPath) {
|
|
8466
8467
|
this.database = database;
|
|
8467
8468
|
this.workflowManager = workflowManager;
|
|
8468
8469
|
this.projectPath = projectPath;
|
|
8469
8470
|
}
|
|
8471
|
+
/**
|
|
8472
|
+
* Set session metadata for subsequent conversation state operations.
|
|
8473
|
+
* This links the workflow state to an external session context.
|
|
8474
|
+
*
|
|
8475
|
+
* @param sessionMetadata - Session metadata to store with conversation state
|
|
8476
|
+
*/
|
|
8477
|
+
setSessionMetadata(sessionMetadata) {
|
|
8478
|
+
this.currentSessionMetadata = sessionMetadata;
|
|
8479
|
+
logger8.debug("Session metadata set", {
|
|
8480
|
+
referenceId: sessionMetadata.referenceId
|
|
8481
|
+
});
|
|
8482
|
+
}
|
|
8483
|
+
/**
|
|
8484
|
+
* Get current session metadata
|
|
8485
|
+
*/
|
|
8486
|
+
getSessionMetadata() {
|
|
8487
|
+
return this.currentSessionMetadata;
|
|
8488
|
+
}
|
|
8470
8489
|
/**
|
|
8471
8490
|
* Get conversation state by ID
|
|
8472
8491
|
*/
|
|
@@ -8608,7 +8627,10 @@ var ConversationManager = class {
|
|
|
8608
8627
|
requireReviewsBeforePhaseTransition: false,
|
|
8609
8628
|
// Default to false for new conversations
|
|
8610
8629
|
createdAt: timestamp2,
|
|
8611
|
-
updatedAt: timestamp2
|
|
8630
|
+
updatedAt: timestamp2,
|
|
8631
|
+
...this.currentSessionMetadata && {
|
|
8632
|
+
sessionMetadata: this.currentSessionMetadata
|
|
8633
|
+
}
|
|
8612
8634
|
};
|
|
8613
8635
|
await this.database.saveConversationState(newState);
|
|
8614
8636
|
logger8.info("New conversation state created", {
|
|
@@ -10,7 +10,7 @@ var args = process.argv.slice(2);
|
|
|
10
10
|
if (args.length === 0) {
|
|
11
11
|
const isLocal = existsSync(join(__dirname, "../../mcp-server/dist/index.js"));
|
|
12
12
|
if (isLocal) {
|
|
13
|
-
const { startMcpServer } = await import("./dist-
|
|
13
|
+
const { startMcpServer } = await import("./dist-6V5QENI6.js");
|
|
14
14
|
await startMcpServer();
|
|
15
15
|
} else {
|
|
16
16
|
const mcpServerModule = "@codemcp/workflows-server";
|
|
@@ -18,6 +18,6 @@ if (args.length === 0) {
|
|
|
18
18
|
await startMcpServer();
|
|
19
19
|
}
|
|
20
20
|
} else {
|
|
21
|
-
const { runCli } = await import("./cli-
|
|
21
|
+
const { runCli } = await import("./cli-JKYH3LI3.js");
|
|
22
22
|
await runCli();
|
|
23
23
|
}
|
|
@@ -6,13 +6,25 @@
|
|
|
6
6
|
* project path + git branch combination.
|
|
7
7
|
*/
|
|
8
8
|
import type { IPersistence } from './persistence-interface.js';
|
|
9
|
-
import type { ConversationState, ConversationContext } from './types.js';
|
|
9
|
+
import type { ConversationState, ConversationContext, SessionMetadata } from './types.js';
|
|
10
10
|
import { WorkflowManager } from './workflow-manager.js';
|
|
11
11
|
export declare class ConversationManager {
|
|
12
12
|
private database;
|
|
13
13
|
private projectPath;
|
|
14
14
|
private workflowManager;
|
|
15
|
+
private currentSessionMetadata;
|
|
15
16
|
constructor(database: IPersistence, workflowManager: WorkflowManager, projectPath: string);
|
|
17
|
+
/**
|
|
18
|
+
* Set session metadata for subsequent conversation state operations.
|
|
19
|
+
* This links the workflow state to an external session context.
|
|
20
|
+
*
|
|
21
|
+
* @param sessionMetadata - Session metadata to store with conversation state
|
|
22
|
+
*/
|
|
23
|
+
setSessionMetadata(sessionMetadata: SessionMetadata): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get current session metadata
|
|
26
|
+
*/
|
|
27
|
+
getSessionMetadata(): SessionMetadata | null;
|
|
16
28
|
/**
|
|
17
29
|
* Get conversation state by ID
|
|
18
30
|
*/
|
|
@@ -16,11 +16,30 @@ export class ConversationManager {
|
|
|
16
16
|
database;
|
|
17
17
|
projectPath;
|
|
18
18
|
workflowManager;
|
|
19
|
+
currentSessionMetadata = null;
|
|
19
20
|
constructor(database, workflowManager, projectPath) {
|
|
20
21
|
this.database = database;
|
|
21
22
|
this.workflowManager = workflowManager;
|
|
22
23
|
this.projectPath = projectPath;
|
|
23
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Set session metadata for subsequent conversation state operations.
|
|
27
|
+
* This links the workflow state to an external session context.
|
|
28
|
+
*
|
|
29
|
+
* @param sessionMetadata - Session metadata to store with conversation state
|
|
30
|
+
*/
|
|
31
|
+
setSessionMetadata(sessionMetadata) {
|
|
32
|
+
this.currentSessionMetadata = sessionMetadata;
|
|
33
|
+
logger.debug('Session metadata set', {
|
|
34
|
+
referenceId: sessionMetadata.referenceId,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get current session metadata
|
|
39
|
+
*/
|
|
40
|
+
getSessionMetadata() {
|
|
41
|
+
return this.currentSessionMetadata;
|
|
42
|
+
}
|
|
24
43
|
/**
|
|
25
44
|
* Get conversation state by ID
|
|
26
45
|
*/
|
|
@@ -180,6 +199,9 @@ export class ConversationManager {
|
|
|
180
199
|
requireReviewsBeforePhaseTransition: false, // Default to false for new conversations
|
|
181
200
|
createdAt: timestamp,
|
|
182
201
|
updatedAt: timestamp,
|
|
202
|
+
...(this.currentSessionMetadata && {
|
|
203
|
+
sessionMetadata: this.currentSessionMetadata,
|
|
204
|
+
}),
|
|
183
205
|
};
|
|
184
206
|
// Save to database
|
|
185
207
|
await this.database.saveConversationState(newState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../src/conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../src/conversation-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Common types used across the application
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Session metadata linking workflow state to an external session/context
|
|
6
|
+
*/
|
|
7
|
+
export interface SessionMetadata {
|
|
8
|
+
referenceId: string;
|
|
9
|
+
createdAt: string;
|
|
10
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* Interface for interaction log entries
|
|
6
13
|
*/
|
|
@@ -39,6 +46,7 @@ export interface ConversationState {
|
|
|
39
46
|
requireReviewsBeforePhaseTransition: boolean;
|
|
40
47
|
createdAt: string;
|
|
41
48
|
updatedAt: string;
|
|
49
|
+
sessionMetadata?: SessionMetadata;
|
|
42
50
|
}
|
|
43
51
|
/**
|
|
44
52
|
* Interface for conversation context
|
|
@@ -111,6 +111,13 @@ interface GeneratedInstructions {
|
|
|
111
111
|
* Core types and interfaces for the refactored server architecture
|
|
112
112
|
*/
|
|
113
113
|
|
|
114
|
+
/**
|
|
115
|
+
* Session metadata linking workflow state to an external session/context
|
|
116
|
+
*/
|
|
117
|
+
interface SessionMetadata {
|
|
118
|
+
referenceId: string;
|
|
119
|
+
createdAt: string;
|
|
120
|
+
}
|
|
114
121
|
/**
|
|
115
122
|
* Server context shared across all handlers
|
|
116
123
|
* Contains all the core dependencies needed by tool and resource handlers
|
|
@@ -126,6 +133,8 @@ interface ServerContext {
|
|
|
126
133
|
pluginRegistry?: IPluginRegistry;
|
|
127
134
|
/** Logger factory for creating component loggers - if not provided, handlers use global createLogger */
|
|
128
135
|
loggerFactory?: LoggerFactory;
|
|
136
|
+
/** Session metadata linking workflow state to external session context */
|
|
137
|
+
sessionMetadata?: SessionMetadata;
|
|
129
138
|
}
|
|
130
139
|
/**
|
|
131
140
|
* Standard result format for all handler operations
|
|
@@ -1024,4 +1033,4 @@ declare class BeadsPlugin implements IPlugin {
|
|
|
1024
1033
|
*/
|
|
1025
1034
|
declare function main(): Promise<void>;
|
|
1026
1035
|
|
|
1027
|
-
export { BaseToolHandler, BeadsPlugin, type ConductReviewArgs, ConductReviewHandler, type ConductReviewResult, ConversationRequiredToolHandler, DefaultToolRegistry, type GetToolInfoArgs, GetToolInfoHandler, type GetToolInfoResponse, type HandlerResult, ListWorkflowsHandler, type NoIdeaArgs, NoIdeaHandler, type NoIdeaResponse, PluginRegistry, type ProceedToPhaseArgs, ProceedToPhaseHandler, type ProceedToPhaseResult, type ResetDevelopmentArgs, ResetDevelopmentHandler, type ResetDevelopmentResult, ResponsibleVibeMCPServer, type ResumeWorkflowArgs, ResumeWorkflowHandler, type ResumeWorkflowResult, type ServerContext, type SetupProjectDocsArgs, SetupProjectDocsHandler, type SetupProjectDocsResult, type StartDevelopmentArgs, StartDevelopmentHandler, type StartDevelopmentResult, type WhatsNextArgs, WhatsNextHandler, type WhatsNextResult, createResponsibleVibeMCPServer, createToolRegistry, main as startMcpServer };
|
|
1036
|
+
export { BaseToolHandler, BeadsPlugin, type ConductReviewArgs, ConductReviewHandler, type ConductReviewResult, ConversationRequiredToolHandler, DefaultToolRegistry, type GetToolInfoArgs, GetToolInfoHandler, type GetToolInfoResponse, type HandlerResult, ListWorkflowsHandler, type NoIdeaArgs, NoIdeaHandler, type NoIdeaResponse, PluginRegistry, type ProceedToPhaseArgs, ProceedToPhaseHandler, type ProceedToPhaseResult, type ResetDevelopmentArgs, ResetDevelopmentHandler, type ResetDevelopmentResult, ResponsibleVibeMCPServer, type ResumeWorkflowArgs, ResumeWorkflowHandler, type ResumeWorkflowResult, type ServerContext, type SessionMetadata, type SetupProjectDocsArgs, SetupProjectDocsHandler, type SetupProjectDocsResult, type StartDevelopmentArgs, StartDevelopmentHandler, type StartDevelopmentResult, type WhatsNextArgs, WhatsNextHandler, type WhatsNextResult, createResponsibleVibeMCPServer, createToolRegistry, main as startMcpServer };
|
|
@@ -4416,11 +4416,30 @@ var ConversationManager = class {
|
|
|
4416
4416
|
database;
|
|
4417
4417
|
projectPath;
|
|
4418
4418
|
workflowManager;
|
|
4419
|
+
currentSessionMetadata = null;
|
|
4419
4420
|
constructor(database, workflowManager, projectPath) {
|
|
4420
4421
|
this.database = database;
|
|
4421
4422
|
this.workflowManager = workflowManager;
|
|
4422
4423
|
this.projectPath = projectPath;
|
|
4423
4424
|
}
|
|
4425
|
+
/**
|
|
4426
|
+
* Set session metadata for subsequent conversation state operations.
|
|
4427
|
+
* This links the workflow state to an external session context.
|
|
4428
|
+
*
|
|
4429
|
+
* @param sessionMetadata - Session metadata to store with conversation state
|
|
4430
|
+
*/
|
|
4431
|
+
setSessionMetadata(sessionMetadata) {
|
|
4432
|
+
this.currentSessionMetadata = sessionMetadata;
|
|
4433
|
+
logger8.debug("Session metadata set", {
|
|
4434
|
+
referenceId: sessionMetadata.referenceId
|
|
4435
|
+
});
|
|
4436
|
+
}
|
|
4437
|
+
/**
|
|
4438
|
+
* Get current session metadata
|
|
4439
|
+
*/
|
|
4440
|
+
getSessionMetadata() {
|
|
4441
|
+
return this.currentSessionMetadata;
|
|
4442
|
+
}
|
|
4424
4443
|
/**
|
|
4425
4444
|
* Get conversation state by ID
|
|
4426
4445
|
*/
|
|
@@ -4562,7 +4581,10 @@ var ConversationManager = class {
|
|
|
4562
4581
|
requireReviewsBeforePhaseTransition: false,
|
|
4563
4582
|
// Default to false for new conversations
|
|
4564
4583
|
createdAt: timestamp2,
|
|
4565
|
-
updatedAt: timestamp2
|
|
4584
|
+
updatedAt: timestamp2,
|
|
4585
|
+
...this.currentSessionMetadata && {
|
|
4586
|
+
sessionMetadata: this.currentSessionMetadata
|
|
4587
|
+
}
|
|
4566
4588
|
};
|
|
4567
4589
|
await this.database.saveConversationState(newState);
|
|
4568
4590
|
logger8.info("New conversation state created", {
|
|
@@ -1,9 +1,220 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* OpenCode Plugin Types
|
|
5
|
+
*
|
|
6
|
+
* Minimal type definitions needed for the plugin.
|
|
7
|
+
* Based on @opencode-ai/plugin package types.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
type Part = {
|
|
11
|
+
type: 'text' | 'image' | 'file' | 'tool_use' | 'tool_result';
|
|
12
|
+
text?: string;
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
};
|
|
15
|
+
type UserMessage = {
|
|
16
|
+
id: string;
|
|
17
|
+
sessionID: string;
|
|
18
|
+
role: 'user';
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
type Message = {
|
|
22
|
+
id: string;
|
|
23
|
+
sessionID: string;
|
|
24
|
+
role: 'user' | 'assistant';
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
};
|
|
27
|
+
type Model = {
|
|
28
|
+
providerID: string;
|
|
29
|
+
modelID: string;
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
};
|
|
32
|
+
type Project = {
|
|
33
|
+
id: string;
|
|
34
|
+
path: string;
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
};
|
|
37
|
+
type PluginInput = {
|
|
38
|
+
client: unknown;
|
|
39
|
+
project: Project;
|
|
40
|
+
directory: string;
|
|
41
|
+
worktree: string;
|
|
42
|
+
serverUrl: URL;
|
|
43
|
+
$: unknown;
|
|
44
|
+
};
|
|
45
|
+
type ToolContext = {
|
|
46
|
+
sessionID: string;
|
|
47
|
+
messageID: string;
|
|
48
|
+
agent: string;
|
|
49
|
+
directory: string;
|
|
50
|
+
worktree: string;
|
|
51
|
+
abort: AbortSignal;
|
|
52
|
+
metadata(input: {
|
|
53
|
+
title?: string;
|
|
54
|
+
metadata?: Record<string, unknown>;
|
|
55
|
+
}): void;
|
|
56
|
+
ask(input: {
|
|
57
|
+
permission: string;
|
|
58
|
+
patterns: string[];
|
|
59
|
+
always: string[];
|
|
60
|
+
metadata: Record<string, unknown>;
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
};
|
|
63
|
+
type ToolDefinition = {
|
|
64
|
+
description: string;
|
|
65
|
+
args: z.ZodRawShape;
|
|
66
|
+
execute(args: unknown, context: ToolContext): Promise<string>;
|
|
67
|
+
};
|
|
68
|
+
interface Hooks {
|
|
69
|
+
event?: (input: {
|
|
70
|
+
event: unknown;
|
|
71
|
+
}) => Promise<void>;
|
|
72
|
+
config?: (input: unknown) => Promise<void>;
|
|
73
|
+
tool?: {
|
|
74
|
+
[key: string]: ToolDefinition;
|
|
75
|
+
};
|
|
76
|
+
auth?: unknown;
|
|
77
|
+
/**
|
|
78
|
+
* Called when a new message is received
|
|
79
|
+
*/
|
|
80
|
+
'chat.message'?: (input: {
|
|
81
|
+
sessionID: string;
|
|
82
|
+
agent?: string;
|
|
83
|
+
model?: {
|
|
84
|
+
providerID: string;
|
|
85
|
+
modelID: string;
|
|
86
|
+
};
|
|
87
|
+
messageID?: string;
|
|
88
|
+
variant?: string;
|
|
89
|
+
}, output: {
|
|
90
|
+
message: UserMessage;
|
|
91
|
+
parts: Part[];
|
|
92
|
+
}) => Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Modify parameters sent to LLM
|
|
95
|
+
*/
|
|
96
|
+
'chat.params'?: (input: {
|
|
97
|
+
sessionID: string;
|
|
98
|
+
agent: string;
|
|
99
|
+
model: Model;
|
|
100
|
+
provider: unknown;
|
|
101
|
+
message: UserMessage;
|
|
102
|
+
}, output: {
|
|
103
|
+
temperature: number;
|
|
104
|
+
topP: number;
|
|
105
|
+
topK: number;
|
|
106
|
+
options: Record<string, unknown>;
|
|
107
|
+
}) => Promise<void>;
|
|
108
|
+
'chat.headers'?: (input: {
|
|
109
|
+
sessionID: string;
|
|
110
|
+
agent: string;
|
|
111
|
+
model: Model;
|
|
112
|
+
provider: unknown;
|
|
113
|
+
message: UserMessage;
|
|
114
|
+
}, output: {
|
|
115
|
+
headers: Record<string, string>;
|
|
116
|
+
}) => Promise<void>;
|
|
117
|
+
'permission.ask'?: (input: unknown, output: {
|
|
118
|
+
status: 'ask' | 'deny' | 'allow';
|
|
119
|
+
}) => Promise<void>;
|
|
120
|
+
'command.execute.before'?: (input: {
|
|
121
|
+
command: string;
|
|
122
|
+
sessionID: string;
|
|
123
|
+
arguments: string;
|
|
124
|
+
}, output: {
|
|
125
|
+
parts: Part[];
|
|
126
|
+
}) => Promise<void>;
|
|
127
|
+
'tool.execute.before'?: (input: {
|
|
128
|
+
tool: string;
|
|
129
|
+
sessionID: string;
|
|
130
|
+
callID: string;
|
|
131
|
+
}, output: {
|
|
132
|
+
args: Record<string, unknown>;
|
|
133
|
+
}) => Promise<void>;
|
|
134
|
+
'shell.env'?: (input: {
|
|
135
|
+
cwd: string;
|
|
136
|
+
sessionID?: string;
|
|
137
|
+
callID?: string;
|
|
138
|
+
}, output: {
|
|
139
|
+
env: Record<string, string>;
|
|
140
|
+
}) => Promise<void>;
|
|
141
|
+
'tool.execute.after'?: (input: {
|
|
142
|
+
tool: string;
|
|
143
|
+
sessionID: string;
|
|
144
|
+
callID: string;
|
|
145
|
+
args: unknown;
|
|
146
|
+
}, output: {
|
|
147
|
+
title: string;
|
|
148
|
+
output: string;
|
|
149
|
+
metadata: unknown;
|
|
150
|
+
}) => Promise<void>;
|
|
151
|
+
'experimental.chat.messages.transform'?: (input: Record<string, never>, output: {
|
|
152
|
+
messages: {
|
|
153
|
+
info: Message;
|
|
154
|
+
parts: Part[];
|
|
155
|
+
}[];
|
|
156
|
+
}) => Promise<void>;
|
|
157
|
+
'experimental.chat.system.transform'?: (input: {
|
|
158
|
+
sessionID?: string;
|
|
159
|
+
model: Model;
|
|
160
|
+
}, output: {
|
|
161
|
+
system: string[];
|
|
162
|
+
}) => Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Called before session compaction starts. Allows plugins to customize
|
|
165
|
+
* the compaction prompt.
|
|
166
|
+
*/
|
|
167
|
+
'experimental.session.compacting'?: (input: {
|
|
168
|
+
sessionID: string;
|
|
169
|
+
}, output: {
|
|
170
|
+
context: string[];
|
|
171
|
+
prompt?: string;
|
|
172
|
+
}) => Promise<void>;
|
|
173
|
+
'experimental.text.complete'?: (input: {
|
|
174
|
+
sessionID: string;
|
|
175
|
+
messageID: string;
|
|
176
|
+
partID: string;
|
|
177
|
+
}, output: {
|
|
178
|
+
text: string;
|
|
179
|
+
}) => Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Modify tool definitions (description and parameters) sent to LLM
|
|
182
|
+
*/
|
|
183
|
+
'tool.definition'?: (input: {
|
|
184
|
+
toolID: string;
|
|
185
|
+
}, output: {
|
|
186
|
+
description: string;
|
|
187
|
+
parameters: unknown;
|
|
188
|
+
}) => Promise<void>;
|
|
189
|
+
}
|
|
190
|
+
type Plugin = (input: PluginInput) => Promise<Hooks>;
|
|
191
|
+
type PluginModule = {
|
|
192
|
+
id?: string;
|
|
193
|
+
server: Plugin;
|
|
194
|
+
tui?: never;
|
|
195
|
+
};
|
|
196
|
+
|
|
1
197
|
/**
|
|
2
198
|
* OpenCode Workflows Plugin
|
|
3
199
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
200
|
+
* Integrates workflows-core state management with OpenCode hooks to provide
|
|
201
|
+
* phase-aware development guidance and file edit restrictions.
|
|
202
|
+
*
|
|
203
|
+
* Hooks implemented:
|
|
204
|
+
* 1. chat.message - Add synthetic part with phase instructions after each user message
|
|
205
|
+
* 2. tool.execute.before - Block editing of certain files based on phase
|
|
206
|
+
* 3. experimental.session.compacting - Inject workflow state into compaction context
|
|
207
|
+
*
|
|
208
|
+
* Logs are sent via OpenCode SDK's client.app.log() API
|
|
209
|
+
*/
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Main plugin export
|
|
6
213
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
214
|
+
declare const WorkflowsPlugin: Plugin;
|
|
215
|
+
declare const _default: {
|
|
216
|
+
id: string;
|
|
217
|
+
server: Plugin;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
export { type Hooks, type Message, type Model, type Part, type Plugin, type PluginInput, type PluginModule, type Project, type ToolContext, type ToolDefinition, type UserMessage, WorkflowsPlugin, _default as default };
|