zenox 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -171,7 +171,7 @@ Zenox checks for updates on startup. When a new version drops:
171
171
  2. Bun cache is invalidated
172
172
  3. Restart to get the update
173
173
 
174
- Pin a version to disable: `"zenox@1.2.0"` in your plugins array.
174
+ Pin a version to disable: `"zenox@1.2.1"` in your plugins array.
175
175
 
176
176
  ## Credits
177
177
 
@@ -3,8 +3,7 @@
3
3
  *
4
4
  * Detects special keywords in user messages and:
5
5
  * 1. Injects mode-specific context into the message
6
- * 2. Sets message variant to "max" for higher precision (ultrawork only)
7
- * 3. Shows toast notification for user feedback
6
+ * 2. Shows toast notification for user feedback
8
7
  *
9
8
  * Uses the "chat.message" hook which fires when user submits a message.
10
9
  */
@@ -12,12 +11,11 @@ import type { PluginInput } from "@opencode-ai/plugin";
12
11
  interface MessagePart {
13
12
  type: string;
14
13
  text?: string;
14
+ synthetic?: boolean;
15
15
  }
16
16
  interface ChatMessageOutput {
17
17
  parts: MessagePart[];
18
- message: {
19
- variant?: string;
20
- };
18
+ message: Record<string, unknown>;
21
19
  }
22
20
  export declare function createKeywordDetectorHook(ctx: PluginInput): {
23
21
  "chat.message": (input: {
package/dist/index.js CHANGED
@@ -17674,13 +17674,19 @@ function createKeywordDetectorHook(ctx) {
17674
17674
  return;
17675
17675
  detectedSessions.add(sessionKey);
17676
17676
  const primaryKeyword = detectedKeywords[0];
17677
- if (primaryKeyword.type === "ultrawork") {
17678
- output.message.variant = "max";
17677
+ const textPartIndex = output.parts.findIndex((p) => p.type === "text" && p.text);
17678
+ if (textPartIndex >= 0) {
17679
+ const existingPart = output.parts[textPartIndex];
17680
+ existingPart.text = `${existingPart.text ?? ""}
17681
+
17682
+ ${primaryKeyword.context}`;
17683
+ } else {
17684
+ output.parts.push({
17685
+ type: "text",
17686
+ text: primaryKeyword.context,
17687
+ synthetic: true
17688
+ });
17679
17689
  }
17680
- output.parts.push({
17681
- type: "text",
17682
- text: primaryKeyword.context
17683
- });
17684
17690
  await ctx.client.tui.showToast({
17685
17691
  body: {
17686
17692
  title: primaryKeyword.toast.title,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zenox",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "OpenCode plugin with specialized agents (explorer, librarian, oracle, ui-planner), background tasks for parallel execution, and smart orchestration",
5
5
  "author": "Ayush",
6
6
  "license": "MIT",