@anthropologies/claudestory 0.1.12 → 0.1.13
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.js +23 -12
- package/dist/mcp.js +22 -11
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -5101,29 +5101,30 @@ ${strategiesText}` : ""
|
|
|
5101
5101
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
5102
5102
|
data: { recipe, branch: written.git.branch, head: written.git.initHead }
|
|
5103
5103
|
});
|
|
5104
|
+
const topCandidate = nextResult.kind === "found" ? nextResult.candidates[0] : null;
|
|
5104
5105
|
const instruction = [
|
|
5105
5106
|
"# Autonomous Session Started",
|
|
5106
5107
|
"",
|
|
5107
|
-
"
|
|
5108
|
+
"You are now in autonomous mode. Work continuously until all tickets are done or the session limit is reached.",
|
|
5109
|
+
"Do NOT stop to summarize. Do NOT ask the user. Pick a ticket and start working immediately.",
|
|
5108
5110
|
"",
|
|
5109
5111
|
"## Ticket Candidates",
|
|
5110
5112
|
"",
|
|
5111
5113
|
candidatesText,
|
|
5112
5114
|
recsText,
|
|
5113
5115
|
"",
|
|
5114
|
-
"Pick a ticket by calling `claudestory_autonomous_guide`
|
|
5116
|
+
topCandidate ? `Pick **${topCandidate.ticket.id}** (highest priority) by calling \`claudestory_autonomous_guide\` now:` : "Pick a ticket by calling `claudestory_autonomous_guide` now:",
|
|
5115
5117
|
"```json",
|
|
5116
|
-
`{ "sessionId": "${updated.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "T-XXX" } }`,
|
|
5117
|
-
"```"
|
|
5118
|
-
"",
|
|
5119
|
-
"Replace T-XXX with the ticket ID you want to work on."
|
|
5118
|
+
topCandidate ? `{ "sessionId": "${updated.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "${topCandidate.ticket.id}" } }` : `{ "sessionId": "${updated.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "T-XXX" } }`,
|
|
5119
|
+
"```"
|
|
5120
5120
|
].join("\n");
|
|
5121
5121
|
return guideResult(updated, "PICK_TICKET", {
|
|
5122
5122
|
instruction,
|
|
5123
5123
|
reminders: [
|
|
5124
5124
|
"Do NOT use Claude Code's plan mode \u2014 write plans as markdown files.",
|
|
5125
5125
|
"Do NOT ask the user for confirmation or approval.",
|
|
5126
|
-
"
|
|
5126
|
+
"Do NOT stop or summarize between tickets \u2014 call autonomous_guide IMMEDIATELY.",
|
|
5127
|
+
"You are in autonomous mode \u2014 continue working until done."
|
|
5127
5128
|
],
|
|
5128
5129
|
transitionedFrom: "INIT"
|
|
5129
5130
|
});
|
|
@@ -5617,15 +5618,25 @@ async function handleReportComplete(root, dir, state, report) {
|
|
|
5617
5618
|
(c, i) => `${i + 1}. **${c.ticket.id}: ${c.ticket.title}** (${c.ticket.type})`
|
|
5618
5619
|
).join("\n");
|
|
5619
5620
|
}
|
|
5621
|
+
const topCandidate = candidates.kind === "found" ? candidates.candidates[0] : null;
|
|
5620
5622
|
return guideResult(transitioned, "PICK_TICKET", {
|
|
5621
5623
|
instruction: [
|
|
5622
|
-
`# Ticket Complete \u2014
|
|
5624
|
+
`# Ticket Complete \u2014 Continuing (${ticketsDone}/${maxTickets})`,
|
|
5625
|
+
"",
|
|
5626
|
+
"Do NOT stop. Do NOT ask the user. Continue immediately with the next ticket.",
|
|
5623
5627
|
"",
|
|
5624
5628
|
candidatesText,
|
|
5625
5629
|
"",
|
|
5626
|
-
|
|
5630
|
+
topCandidate ? `Pick **${topCandidate.ticket.id}** (highest priority) by calling \`claudestory_autonomous_guide\` now:` : "Pick a ticket by calling `claudestory_autonomous_guide` now:",
|
|
5631
|
+
"```json",
|
|
5632
|
+
topCandidate ? `{ "sessionId": "${transitioned.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "${topCandidate.ticket.id}" } }` : `{ "sessionId": "${transitioned.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "T-XXX" } }`,
|
|
5633
|
+
"```"
|
|
5627
5634
|
].join("\n"),
|
|
5628
|
-
reminders: [
|
|
5635
|
+
reminders: [
|
|
5636
|
+
"Do NOT stop or summarize. Call autonomous_guide IMMEDIATELY to pick the next ticket.",
|
|
5637
|
+
"Do NOT ask the user for confirmation.",
|
|
5638
|
+
"You are in autonomous mode \u2014 continue working until all tickets are done or the session limit is reached."
|
|
5639
|
+
],
|
|
5629
5640
|
transitionedFrom: "COMPLETE",
|
|
5630
5641
|
contextAdvice: advice
|
|
5631
5642
|
});
|
|
@@ -6806,7 +6817,7 @@ var init_mcp = __esm({
|
|
|
6806
6817
|
init_init();
|
|
6807
6818
|
ENV_VAR2 = "CLAUDESTORY_PROJECT_ROOT";
|
|
6808
6819
|
CONFIG_PATH2 = ".story/config.json";
|
|
6809
|
-
version = "0.1.
|
|
6820
|
+
version = "0.1.13";
|
|
6810
6821
|
main().catch((err) => {
|
|
6811
6822
|
process.stderr.write(`Fatal: ${err instanceof Error ? err.message : String(err)}
|
|
6812
6823
|
`);
|
|
@@ -9310,7 +9321,7 @@ async function runCli() {
|
|
|
9310
9321
|
registerSetupSkillCommand: registerSetupSkillCommand2,
|
|
9311
9322
|
registerHookStatusCommand: registerHookStatusCommand2
|
|
9312
9323
|
} = await Promise.resolve().then(() => (init_register(), register_exports));
|
|
9313
|
-
const version2 = "0.1.
|
|
9324
|
+
const version2 = "0.1.13";
|
|
9314
9325
|
class HandledError extends Error {
|
|
9315
9326
|
constructor() {
|
|
9316
9327
|
super("HANDLED_ERROR");
|
package/dist/mcp.js
CHANGED
|
@@ -4603,29 +4603,30 @@ ${strategiesText}` : ""
|
|
|
4603
4603
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
4604
4604
|
data: { recipe, branch: written.git.branch, head: written.git.initHead }
|
|
4605
4605
|
});
|
|
4606
|
+
const topCandidate = nextResult.kind === "found" ? nextResult.candidates[0] : null;
|
|
4606
4607
|
const instruction = [
|
|
4607
4608
|
"# Autonomous Session Started",
|
|
4608
4609
|
"",
|
|
4609
|
-
"
|
|
4610
|
+
"You are now in autonomous mode. Work continuously until all tickets are done or the session limit is reached.",
|
|
4611
|
+
"Do NOT stop to summarize. Do NOT ask the user. Pick a ticket and start working immediately.",
|
|
4610
4612
|
"",
|
|
4611
4613
|
"## Ticket Candidates",
|
|
4612
4614
|
"",
|
|
4613
4615
|
candidatesText,
|
|
4614
4616
|
recsText,
|
|
4615
4617
|
"",
|
|
4616
|
-
"Pick a ticket by calling `claudestory_autonomous_guide`
|
|
4618
|
+
topCandidate ? `Pick **${topCandidate.ticket.id}** (highest priority) by calling \`claudestory_autonomous_guide\` now:` : "Pick a ticket by calling `claudestory_autonomous_guide` now:",
|
|
4617
4619
|
"```json",
|
|
4618
|
-
`{ "sessionId": "${updated.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "T-XXX" } }`,
|
|
4619
|
-
"```"
|
|
4620
|
-
"",
|
|
4621
|
-
"Replace T-XXX with the ticket ID you want to work on."
|
|
4620
|
+
topCandidate ? `{ "sessionId": "${updated.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "${topCandidate.ticket.id}" } }` : `{ "sessionId": "${updated.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "T-XXX" } }`,
|
|
4621
|
+
"```"
|
|
4622
4622
|
].join("\n");
|
|
4623
4623
|
return guideResult(updated, "PICK_TICKET", {
|
|
4624
4624
|
instruction,
|
|
4625
4625
|
reminders: [
|
|
4626
4626
|
"Do NOT use Claude Code's plan mode \u2014 write plans as markdown files.",
|
|
4627
4627
|
"Do NOT ask the user for confirmation or approval.",
|
|
4628
|
-
"
|
|
4628
|
+
"Do NOT stop or summarize between tickets \u2014 call autonomous_guide IMMEDIATELY.",
|
|
4629
|
+
"You are in autonomous mode \u2014 continue working until done."
|
|
4629
4630
|
],
|
|
4630
4631
|
transitionedFrom: "INIT"
|
|
4631
4632
|
});
|
|
@@ -5119,15 +5120,25 @@ async function handleReportComplete(root, dir, state, report) {
|
|
|
5119
5120
|
(c, i) => `${i + 1}. **${c.ticket.id}: ${c.ticket.title}** (${c.ticket.type})`
|
|
5120
5121
|
).join("\n");
|
|
5121
5122
|
}
|
|
5123
|
+
const topCandidate = candidates.kind === "found" ? candidates.candidates[0] : null;
|
|
5122
5124
|
return guideResult(transitioned, "PICK_TICKET", {
|
|
5123
5125
|
instruction: [
|
|
5124
|
-
`# Ticket Complete \u2014
|
|
5126
|
+
`# Ticket Complete \u2014 Continuing (${ticketsDone}/${maxTickets})`,
|
|
5127
|
+
"",
|
|
5128
|
+
"Do NOT stop. Do NOT ask the user. Continue immediately with the next ticket.",
|
|
5125
5129
|
"",
|
|
5126
5130
|
candidatesText,
|
|
5127
5131
|
"",
|
|
5128
|
-
|
|
5132
|
+
topCandidate ? `Pick **${topCandidate.ticket.id}** (highest priority) by calling \`claudestory_autonomous_guide\` now:` : "Pick a ticket by calling `claudestory_autonomous_guide` now:",
|
|
5133
|
+
"```json",
|
|
5134
|
+
topCandidate ? `{ "sessionId": "${transitioned.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "${topCandidate.ticket.id}" } }` : `{ "sessionId": "${transitioned.sessionId}", "action": "report", "report": { "completedAction": "ticket_picked", "ticketId": "T-XXX" } }`,
|
|
5135
|
+
"```"
|
|
5129
5136
|
].join("\n"),
|
|
5130
|
-
reminders: [
|
|
5137
|
+
reminders: [
|
|
5138
|
+
"Do NOT stop or summarize. Call autonomous_guide IMMEDIATELY to pick the next ticket.",
|
|
5139
|
+
"Do NOT ask the user for confirmation.",
|
|
5140
|
+
"You are in autonomous mode \u2014 continue working until all tickets are done or the session limit is reached."
|
|
5141
|
+
],
|
|
5131
5142
|
transitionedFrom: "COMPLETE",
|
|
5132
5143
|
contextAdvice: advice
|
|
5133
5144
|
});
|
|
@@ -6005,7 +6016,7 @@ async function ensureGitignoreEntries(gitignorePath, entries) {
|
|
|
6005
6016
|
// src/mcp/index.ts
|
|
6006
6017
|
var ENV_VAR2 = "CLAUDESTORY_PROJECT_ROOT";
|
|
6007
6018
|
var CONFIG_PATH2 = ".story/config.json";
|
|
6008
|
-
var version = "0.1.
|
|
6019
|
+
var version = "0.1.13";
|
|
6009
6020
|
function tryDiscoverRoot() {
|
|
6010
6021
|
const envRoot = process.env[ENV_VAR2];
|
|
6011
6022
|
if (envRoot) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anthropologies/claudestory",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Cross-session context persistence for AI coding projects. Tracks tickets, issues, roadmap, and handovers so every session builds on the last.",
|
|
6
6
|
"keywords": [
|