@openspoon/subtask2 0.2.6 → 0.2.7

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
@@ -1,20 +1,29 @@
1
- # A stronger opencode /command handler
1
+ ## A stronger opencode /command handler
2
2
 
3
- ### TL:DR - More agency, control and capabilities for commands
3
+ Subtask2 extends opencode commands into a powerful orchestration system. Instead of giving you an opinionated monster like some plugins do, it lets you easily build your own (but simple is fine too).
4
4
 
5
- This plugin affects how opencode handles slash commands with additional frontmatter parameters and enables chaining as well as parallel command execution. It's simple to use and designed to allow better orchestration, steerability and lifespan of the agentic loop. Compose as simple or complex a workflow as you want. If you already know opencode commands, you'll be right at home.
5
+ ![citation](media/quote.webp)
6
6
 
7
- `@openspoon/subtask2@latest`
7
+ ### TL:DR - Less entropic agentic loop, more control
8
8
 
9
- ![subtask2 header](media/header.webp)
9
+ This plugin allows your `/commands` to:
10
10
 
11
- ![citation](media/quote.webp)
11
+ - Queue-up `prompts` or other `/commands` and `subagents` with arguments
12
+ - Parallelize the parts you want
13
+ - Pass session context to subagents
14
+ - Steer the agentic flow from start to finish
15
+
16
+ If you already know opencode commands, you'll be right at home.
17
+
18
+ ![subtask2 header](media/header.webp)
19
+ `@openspoon/subtask2@latest`
12
20
 
13
21
  ### Key features
14
22
 
15
23
  - `return` instruct main session on **command/subtask(s)** result - _can be chained, supports /commands_
16
24
  - `parallel` run subtasks concurrently - _pending PR merge ⚠️_
17
25
  - `arguments` pass arguments with command frontmatter or `||` message pipe
26
+ - `$TURN[n]` pipe the last N conversation turns into your command
18
27
 
19
28
  Requires [this PR](https://github.com/sst/opencode/pull/6478) for `parallel` features, as well as proper model inheritance (piping the right model and agent to the right subtask and back) to work.
20
29
 
@@ -152,6 +161,53 @@ Configure in `~/.config/opencode/subtask2.jsonc`:
152
161
 
153
162
  #### Priority: `return` param > config `generic_return` > built-in default > opencode original
154
163
 
164
+ ### 4. `$TURN[n]` - Reference previous conversation turns
165
+
166
+ Use `$TURN[n]` to inject the last N conversation turns (user + assistant messages) into your command. This is powerful for commands that need context from the ongoing conversation.
167
+
168
+ ```yaml
169
+ ---
170
+ description: summarize our conversation so far
171
+ subtask: true
172
+ ---
173
+ Review the following conversation and provide a concise summary:
174
+
175
+ $TURN[10]
176
+ ```
177
+
178
+ **Usage in arguments:**
179
+
180
+ ```bash
181
+ /my-command analyze this $TURN[5]
182
+ ```
183
+
184
+ **Syntax:**
185
+
186
+ - `$TURN[12]` - last 12 messages (turns, not parts)
187
+ - `$TURN[:3]` - just the 3rd message from the end
188
+ - `$TURN[:2:5:8]` - specific messages at indices 2, 5, and 8 from the end
189
+
190
+ **Format output:**
191
+
192
+ ```
193
+ --- USER ---
194
+ What's the best way to implement auth?
195
+
196
+ --- ASSISTANT ---
197
+ I'd recommend using JWT tokens with...
198
+
199
+ --- USER ---
200
+ Can you show me an example?
201
+ ...
202
+ ```
203
+
204
+ Works in:
205
+
206
+ - Command body templates
207
+ - Command arguments
208
+ - Parallel command prompts
209
+ - Piped arguments (`||`)
210
+
155
211
  </details>
156
212
 
157
213
  <details>
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAiHhD,QAAA,MAAM,MAAM,EAAE,MAsOb,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAiRhD,QAAA,MAAM,MAAM,EAAE,MAkSb,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { loadConfig, DEFAULT_PROMPT } from "./src/config";
2
- import { parseFrontmatter, getTemplateBody, parseParallelConfig, } from "./src/parser";
2
+ import { parseFrontmatter, getTemplateBody, parseParallelConfig, extractTurnReferences, hasTurnReferences, replaceTurnReferences, } from "./src/parser";
3
3
  import { loadCommandFile, buildManifest, getConfig } from "./src/commands";
4
4
  import { log, clearLog } from "./src/logger";
5
5
  // Session state
@@ -14,8 +14,142 @@ const pipedArgsQueue = new Map();
14
14
  const returnArgsState = pipedArgsQueue; // alias for backward compat
15
15
  const sessionMainCommand = new Map();
16
16
  const executedReturns = new Set();
17
+ // Track the first return prompt per session (replaces "Summarize..." in $SESSION)
18
+ const firstReturnPrompt = new Map();
19
+ // Track parent session for commands called via executeReturn
20
+ // Simple variable: set before command call, used by tool.execute.before
21
+ let pendingParentSession = null;
17
22
  let hasActiveSubtask = false;
18
23
  const OPENCODE_GENERIC = "Summarize the task tool output above and continue with your task.";
24
+ /**
25
+ * Fetch and format session messages
26
+ * @param sessionID - The session to fetch from
27
+ * @param lastN - Get the last N messages (optional)
28
+ * @param specificIndices - Get specific messages by index from end, 1-based (optional)
29
+ */
30
+ async function fetchSessionMessages(sessionID, lastN, specificIndices) {
31
+ if (!client) {
32
+ log("fetchSessionMessages: no client available");
33
+ return "[TURN: client not available]";
34
+ }
35
+ try {
36
+ const result = await client.session.messages({
37
+ path: { id: sessionID },
38
+ });
39
+ const messages = result.data;
40
+ log(`fetchSessionMessages: got ${messages?.length ?? 0} messages from ${sessionID}`);
41
+ if (!messages?.length) {
42
+ return "[TURN: no messages found]";
43
+ }
44
+ // Log all messages for debugging
45
+ log(`All messages:`, messages.map((m, i) => ({
46
+ idx: i,
47
+ role: m.info.role,
48
+ partsCount: m.parts?.length,
49
+ textParts: m.parts?.filter((p) => p.type === 'text').map((p) => p.text?.substring(0, 30))
50
+ })));
51
+ // Filter out trailing empty messages (from current command being initiated)
52
+ let effectiveMessages = messages;
53
+ while (effectiveMessages.length > 0) {
54
+ const last = effectiveMessages[effectiveMessages.length - 1];
55
+ const hasContent = last.parts?.some((p) => (p.type === "text" && p.text?.trim()) ||
56
+ (p.type === "tool" && p.state?.status === "completed" && p.state?.output));
57
+ if (!hasContent) {
58
+ effectiveMessages = effectiveMessages.slice(0, -1);
59
+ }
60
+ else {
61
+ break;
62
+ }
63
+ }
64
+ log(`After filtering empty trailing messages: ${effectiveMessages.length} (was ${messages.length})`);
65
+ // Select messages based on mode
66
+ let selectedMessages;
67
+ if (specificIndices && specificIndices.length > 0) {
68
+ // Specific indices mode: $TURN[:2:5:8] - indices are 1-based from end
69
+ selectedMessages = specificIndices
70
+ .map(idx => effectiveMessages[effectiveMessages.length - idx])
71
+ .filter(Boolean);
72
+ log(`Using specific indices [${specificIndices.join(',')}] -> ${selectedMessages.length} messages`);
73
+ }
74
+ else if (lastN) {
75
+ // Last N mode: $TURN[5]
76
+ selectedMessages = effectiveMessages.slice(-lastN);
77
+ log(`Using last ${lastN} messages`);
78
+ }
79
+ else {
80
+ selectedMessages = effectiveMessages;
81
+ log(`Using all ${selectedMessages.length} messages`);
82
+ }
83
+ // Format each message with its parts
84
+ const formatted = selectedMessages.map((msg) => {
85
+ const role = msg.info.role.toUpperCase();
86
+ const parts = [];
87
+ for (const part of msg.parts) {
88
+ if (part.type === "text" && part.text) {
89
+ // Replace the generic opencode summarize prompt with our first return prompt
90
+ if (part.text.startsWith("Summarize the task tool output")) {
91
+ const replacement = firstReturnPrompt.get(sessionID);
92
+ if (replacement) {
93
+ parts.push(replacement);
94
+ }
95
+ // If no replacement, skip it entirely
96
+ continue;
97
+ }
98
+ parts.push(part.text);
99
+ }
100
+ else if (part.type === "tool" && part.state?.status === "completed") {
101
+ // Include completed tool results (especially task tool for subtask content)
102
+ const toolName = part.tool;
103
+ let output = part.state.output;
104
+ if (output && typeof output === "string") {
105
+ // Strip <task_metadata> tags from task tool output
106
+ output = output.replace(/<task_metadata>[\s\S]*?<\/task_metadata>/g, "").trim();
107
+ if (output && output.length < 2000) {
108
+ // For task tool, just include the content directly (it's the subtask's response)
109
+ if (toolName === "task") {
110
+ parts.push(output);
111
+ }
112
+ else {
113
+ parts.push(`[Tool: ${toolName}]\n${output}`);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+ return `--- ${role} ---\n${parts.join("\n")}`;
120
+ });
121
+ return formatted.join("\n\n");
122
+ }
123
+ catch (e) {
124
+ log("fetchSessionMessages error:", e);
125
+ return `[TURN: error fetching messages - ${e}]`;
126
+ }
127
+ }
128
+ /**
129
+ * Process a string and replace all $TURN references with actual session content
130
+ */
131
+ async function resolveTurnReferences(text, sessionID) {
132
+ if (!hasTurnReferences(text)) {
133
+ return text;
134
+ }
135
+ const refs = extractTurnReferences(text);
136
+ if (!refs.length)
137
+ return text;
138
+ const replacements = new Map();
139
+ for (const ref of refs) {
140
+ if (ref.type === "lastN") {
141
+ const content = await fetchSessionMessages(sessionID, ref.count);
142
+ replacements.set(ref.match, content);
143
+ log(`Resolved ${ref.match}: ${content.length} chars`);
144
+ }
145
+ else if (ref.type === "specific") {
146
+ const content = await fetchSessionMessages(sessionID, undefined, ref.indices);
147
+ replacements.set(ref.match, content);
148
+ log(`Resolved ${ref.match}: ${content.length} chars`);
149
+ }
150
+ }
151
+ return replaceTurnReferences(text, replacements);
152
+ }
19
153
  async function flattenParallels(parallels, mainArgs, sessionID, visited = new Set(), depth = 0, maxDepth = 5) {
20
154
  if (depth > maxDepth)
21
155
  return [];
@@ -42,6 +176,11 @@ async function flattenParallels(parallels, mainArgs, sessionID, visited = new Se
42
176
  const args = pipeArg ?? parallelCmd.arguments ?? mainArgs;
43
177
  log(`Parallel ${parallelCmd.command}: using args="${args}" (pipeArg=${pipeArg}, fmArg=${parallelCmd.arguments}, mainArgs=${mainArgs})`);
44
178
  template = template.replace(/\$ARGUMENTS/g, args);
179
+ // Resolve $SESSION[n] references in the template
180
+ if (hasTurnReferences(template)) {
181
+ template = await resolveTurnReferences(template, sessionID);
182
+ log(`Parallel ${parallelCmd.command}: resolved $SESSION refs`);
183
+ }
45
184
  // Parse model string "provider/model" into {providerID, modelID}
46
185
  let model;
47
186
  if (typeof fm.model === "string" && fm.model.includes("/")) {
@@ -98,11 +237,10 @@ const plugin = async (ctx) => {
98
237
  if (pipeArg)
99
238
  args = pipeArg;
100
239
  }
101
- log(`executeReturn: /${cmdName} -> ${pathKey} args="${args}"`, getConfig(configs, cmdName) ? {
102
- return: getConfig(configs, cmdName).return,
103
- parallel: getConfig(configs, cmdName).parallel.map(p => p.command)
104
- } : undefined);
240
+ log(`executeReturn: /${cmdName} -> ${pathKey} args="${args}" (parent=${sessionID})`);
105
241
  sessionMainCommand.set(sessionID, pathKey);
242
+ // Set parent session for $SESSION resolution - will be consumed by tool.execute.before
243
+ pendingParentSession = sessionID;
106
244
  try {
107
245
  await client.session.command({
108
246
  path: { id: sessionID },
@@ -133,12 +271,38 @@ const plugin = async (ctx) => {
133
271
  } : "no config");
134
272
  // Parse pipe-separated arguments: main || arg1 || arg2 || arg3 ...
135
273
  const argSegments = input.arguments.split("||").map((s) => s.trim());
136
- const mainArgs = argSegments[0] || "";
274
+ let mainArgs = argSegments[0] || "";
137
275
  const allPipedArgs = argSegments.slice(1);
138
276
  // Store piped args for consumption by parallels and return commands
139
277
  if (allPipedArgs.length) {
140
278
  pipedArgsQueue.set(input.sessionID, allPipedArgs);
141
279
  }
280
+ // Resolve $SESSION[n] references in mainArgs
281
+ if (hasTurnReferences(mainArgs)) {
282
+ mainArgs = await resolveTurnReferences(mainArgs, input.sessionID);
283
+ log(`Resolved $SESSION in mainArgs: ${mainArgs.length} chars`);
284
+ }
285
+ // Resolve $SESSION[n] references in output parts
286
+ log(`Processing ${output.parts.length} parts for $SESSION refs`);
287
+ for (const part of output.parts) {
288
+ log(`Part type=${part.type}, hasPrompt=${!!part.prompt}, hasText=${!!part.text}`);
289
+ if (part.type === "subtask" && part.prompt) {
290
+ log(`Subtask prompt (first 200): ${part.prompt.substring(0, 200)}`);
291
+ if (hasTurnReferences(part.prompt)) {
292
+ log(`Found $SESSION in subtask prompt, resolving...`);
293
+ part.prompt = await resolveTurnReferences(part.prompt, input.sessionID);
294
+ log(`Resolved subtask prompt (first 200): ${part.prompt.substring(0, 200)}`);
295
+ }
296
+ }
297
+ if (part.type === "text" && part.text) {
298
+ log(`Text part (first 200): ${part.text.substring(0, 200)}`);
299
+ if (hasTurnReferences(part.text)) {
300
+ log(`Found $SESSION in text part, resolving...`);
301
+ part.text = await resolveTurnReferences(part.text, input.sessionID);
302
+ log(`Resolved text part (first 200): ${part.text.substring(0, 200)}`);
303
+ }
304
+ }
305
+ }
142
306
  // Fix main command's parts to use only mainArgs (not the full pipe string)
143
307
  if (argSegments.length > 1) {
144
308
  for (const part of output.parts) {
@@ -167,7 +331,9 @@ const plugin = async (ctx) => {
167
331
  hasActiveSubtask = true;
168
332
  const cmd = output.args?.command;
169
333
  const prompt = output.args?.prompt;
334
+ const description = output.args?.description;
170
335
  let mainCmd = sessionMainCommand.get(input.sessionID);
336
+ log(`tool.before: callID=${input.callID}, cmd=${cmd}, desc="${description?.substring(0, 30)}", mainCmd=${mainCmd}`);
171
337
  // If mainCmd is not set (command.execute.before didn't fire - no PR),
172
338
  // set the first subtask command as the main command
173
339
  if (!mainCmd && cmd && getConfig(configs, cmd)) {
@@ -187,10 +353,26 @@ const plugin = async (ctx) => {
187
353
  }
188
354
  }
189
355
  // Also set up return state since command.execute.before didn't run
190
- if (cmdConfig.return.length > 1) {
191
- returnState.set(input.sessionID, [...cmdConfig.return.slice(1)]);
356
+ // Only do this once per session
357
+ if (cmdConfig.return.length > 0 && !returnState.has(input.sessionID)) {
358
+ // Store the first return prompt (replaces "Summarize..." in $SESSION)
359
+ firstReturnPrompt.set(input.sessionID, cmdConfig.return[0]);
360
+ if (cmdConfig.return.length > 1) {
361
+ returnState.set(input.sessionID, [...cmdConfig.return.slice(1)]);
362
+ log(`Set returnState: ${cmdConfig.return.slice(1).length} items`);
363
+ }
192
364
  }
193
365
  }
366
+ // Resolve $SESSION[n] in the prompt for ANY subtask
367
+ // Use parent session if this command was triggered via executeReturn
368
+ if (prompt && hasTurnReferences(prompt)) {
369
+ const resolveFromSession = pendingParentSession || input.sessionID;
370
+ log(`tool.execute.before: resolving $SESSION in prompt (from ${pendingParentSession ? 'parent' : 'current'} session ${resolveFromSession})`);
371
+ output.args.prompt = await resolveTurnReferences(prompt, resolveFromSession);
372
+ log(`tool.execute.before: resolved prompt (${output.args.prompt.length} chars)`);
373
+ // Clear after use
374
+ pendingParentSession = null;
375
+ }
194
376
  if (cmd && getConfig(configs, cmd)) {
195
377
  const cmdConfig = getConfig(configs, cmd);
196
378
  if (cmd === mainCmd) {
@@ -206,12 +388,24 @@ const plugin = async (ctx) => {
206
388
  if (input.tool !== "task")
207
389
  return;
208
390
  const cmd = callState.get(input.callID);
391
+ log(`tool.after: callID=${input.callID}, cmd=${cmd}, wasTracked=${!!cmd}`);
392
+ if (!cmd) {
393
+ // Already processed or not our command
394
+ return;
395
+ }
209
396
  callState.delete(input.callID);
210
397
  const mainCmd = sessionMainCommand.get(input.sessionID);
211
398
  const cmdConfig = cmd ? getConfig(configs, cmd) : undefined;
399
+ log(`tool.after: cmd=${cmd}, mainCmd=${mainCmd}, isMain=${cmd === mainCmd}, hasReturn=${!!cmdConfig?.return?.length}`);
212
400
  if (cmd && cmd === mainCmd && cmdConfig?.return?.length) {
213
- log(`Setting pendingReturn: ${cmdConfig.return[0].substring(0, 50)}...`);
214
- pendingReturns.set(input.sessionID, cmdConfig.return[0]);
401
+ // Only set pendingReturn if we haven't already
402
+ if (!pendingReturns.has(input.sessionID)) {
403
+ log(`Setting pendingReturn: ${cmdConfig.return[0].substring(0, 50)}...`);
404
+ pendingReturns.set(input.sessionID, cmdConfig.return[0]);
405
+ }
406
+ else {
407
+ log(`Skipping pendingReturn - already set`);
408
+ }
215
409
  }
216
410
  else if (cmd && cmd !== mainCmd) {
217
411
  log(`task.after: ${cmd} (parallel of ${mainCmd})`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,31 @@ export declare function parseFrontmatter(content: string): Record<string, unknow
3
3
  export declare function getTemplateBody(content: string): string;
4
4
  export declare function parseParallelItem(p: unknown): ParallelCommand | null;
5
5
  export declare function parseParallelConfig(parallel: unknown): ParallelCommand[];
6
+ export type TurnReference = {
7
+ type: "lastN";
8
+ match: string;
9
+ count: number;
10
+ } | {
11
+ type: "specific";
12
+ match: string;
13
+ indices: number[];
14
+ };
15
+ /**
16
+ * Extract all $TURN references from a string
17
+ * - $TURN[n] -> last n messages
18
+ * - $TURN[:n] or $TURN[:2:5:8] -> specific indices (1-based from end)
19
+ */
20
+ export declare function extractTurnReferences(text: string): TurnReference[];
21
+ /**
22
+ * Check if text contains any $TURN references
23
+ */
24
+ export declare function hasTurnReferences(text: string): boolean;
25
+ /**
26
+ * Replace all $TURN references in text with the provided content map
27
+ */
28
+ export declare function replaceTurnReferences(text: string, replacements: Map<string, string>): string;
29
+ export declare const extractSessionReferences: typeof extractTurnReferences;
30
+ export declare const hasSessionReferences: typeof hasTurnReferences;
31
+ export declare const replaceSessionReferences: typeof replaceTurnReferences;
32
+ export type SessionReference = TurnReference;
6
33
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAE7C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvD;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAcpE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,EAAE,CAexE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAE7C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvD;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAcpE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,EAAE,CAexE;AAOD,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAyBnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAMR;AAGD,eAAO,MAAM,wBAAwB,8BAAwB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,0BAAoB,CAAC;AACtD,eAAO,MAAM,wBAAwB,8BAAwB,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC"}
@@ -47,4 +47,57 @@ export function parseParallelConfig(parallel) {
47
47
  }
48
48
  return [];
49
49
  }
50
+ // $TURN[n] - last n messages
51
+ // $TURN[:n] or $TURN[:n:m:o] - specific messages at indices (1-based from end)
52
+ const TURN_LAST_N_PATTERN = "\\$TURN\\[(\\d+)\\]";
53
+ const TURN_SPECIFIC_PATTERN = "\\$TURN\\[([:\\d]+)\\]";
54
+ /**
55
+ * Extract all $TURN references from a string
56
+ * - $TURN[n] -> last n messages
57
+ * - $TURN[:n] or $TURN[:2:5:8] -> specific indices (1-based from end)
58
+ */
59
+ export function extractTurnReferences(text) {
60
+ const refs = [];
61
+ // Match $TURN[...] patterns
62
+ const regex = /\$TURN\[([^\]]+)\]/g;
63
+ let match;
64
+ while ((match = regex.exec(text)) !== null) {
65
+ const inner = match[1];
66
+ if (inner.startsWith(":")) {
67
+ // Specific indices: $TURN[:2] or $TURN[:2:5:8]
68
+ const indices = inner.split(":").filter(Boolean).map(n => parseInt(n, 10));
69
+ if (indices.length > 0 && indices.every(n => !isNaN(n))) {
70
+ refs.push({ type: "specific", match: match[0], indices });
71
+ }
72
+ }
73
+ else {
74
+ // Last N: $TURN[5]
75
+ const count = parseInt(inner, 10);
76
+ if (!isNaN(count)) {
77
+ refs.push({ type: "lastN", match: match[0], count });
78
+ }
79
+ }
80
+ }
81
+ return refs;
82
+ }
83
+ /**
84
+ * Check if text contains any $TURN references
85
+ */
86
+ export function hasTurnReferences(text) {
87
+ return /\$TURN\[[^\]]+\]/.test(text);
88
+ }
89
+ /**
90
+ * Replace all $TURN references in text with the provided content map
91
+ */
92
+ export function replaceTurnReferences(text, replacements) {
93
+ let result = text;
94
+ for (const [pattern, replacement] of replacements) {
95
+ result = result.replaceAll(pattern, replacement);
96
+ }
97
+ return result;
98
+ }
99
+ // Keep old names as aliases for backward compat during transition
100
+ export const extractSessionReferences = extractTurnReferences;
101
+ export const hasSessionReferences = hasTurnReferences;
102
+ export const replaceSessionReferences = replaceTurnReferences;
50
103
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,6BAA6B;YAC7B,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7D,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAC,CAAC;QACxE,CAAC;QACD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAK,CAAS,CAAC,OAAO,EAAE,CAAC;QAC9D,OAAO,EAAC,OAAO,EAAG,CAAS,CAAC,OAAO,EAAE,SAAS,EAAG,CAAS,CAAC,SAAS,EAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAiB;IACnD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ;aACZ,GAAG,CAAC,iBAAiB,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,6BAA6B;QAC7B,OAAO,QAAQ;aACZ,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,iBAAiB,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@openspoon/subtask2",
4
- "version": "0.2.6",
4
+ "version": "0.2.7",
5
5
  "type": "module",
6
6
  "description": "Opencode plugin for enhanced subtask control with return context and prompt chaining",
7
7
  "main": "./dist/index.js",