scribeclock 0.1.6 → 0.1.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 +1 -0
- package/dist/commands/ingest.js +31 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -72,6 +72,7 @@ the app become tasks on the project; docs: https://scribeclock.com/help/bug-repo
|
|
|
72
72
|
```bash
|
|
73
73
|
scribeclock connect --env # links this repo to its project, writes .scribeclock.json + SCRIBECLOCK_INGEST_KEY to .env
|
|
74
74
|
scribeclock ingest prompt --platform ios | pbcopy # the prompt to paste into your AI agent: key, event shape, stack-specific steps
|
|
75
|
+
scribeclock issues diagnose 3f2a9c1b --comment # root-cause brief: where it died, likely causes, what to check, files to open
|
|
75
76
|
scribeclock ingest test # sends a test error straight to https://scribeclock.com/ingest → issue + task
|
|
76
77
|
scribeclock issues # what users hit: level, title, where, count, users, last seen, task
|
|
77
78
|
scribeclock issues show 3f2a9c1b # stack trace, breadcrumbs, trace logs, context
|
package/dist/commands/ingest.js
CHANGED
|
@@ -477,6 +477,36 @@ async function issueStatusCommand(ctx, inv, status) {
|
|
|
477
477
|
ctx.out.info(ctx.out.dim("Tip: pass --release <version> (or --commit) so a later occurrence in another release counts as a regression."));
|
|
478
478
|
});
|
|
479
479
|
}
|
|
480
|
+
export const issuesDiagnose = cmd({
|
|
481
|
+
path: "issues diagnose",
|
|
482
|
+
group: "Bug reports",
|
|
483
|
+
summary: "Root-cause brief for an issue: where it died (app frames only), likely causes with evidence, what to check, files to open, the trail to reproduce.",
|
|
484
|
+
description: "Reads everything stored for the issue and prints a diagnosis: the app's own frames with reporter and runtime plumbing removed (Swift symbols demangled), the failure category and the most likely causes with the evidence and the exact checks for each, the files / functions to open, the breadcrumb trail to reproduce, impact by release and environment, the device and the last trace logs, similar open issues. --comment posts it on the issue's task; --model adds an analysis from the organization's configured AI provider.",
|
|
485
|
+
tool: "diagnose_issue",
|
|
486
|
+
positionals: [{ name: "issue", required: true, description: "Issue id (short or full) or a task key (#123)." }],
|
|
487
|
+
flags: [
|
|
488
|
+
{ name: "events", alias: "n", type: "number", description: "Recent events to read (default 10)." },
|
|
489
|
+
{ name: "comment", type: "boolean", description: "Post the brief as a comment on the linked task." },
|
|
490
|
+
{ name: "model", type: "boolean", description: "Also ask the organization's AI provider for a written analysis." },
|
|
491
|
+
],
|
|
492
|
+
examples: ["scribeclock issues diagnose 3f2a9c1b", "scribeclock issues diagnose '#731' --comment", "scribeclock issues diagnose 3f2a9c1b --json | jq .diagnosis.open_in_code"],
|
|
493
|
+
async run(ctx, inv) {
|
|
494
|
+
const ref = requirePositional(inv, 0, "An issue id", "scribeclock issues diagnose 3f2a9c1b");
|
|
495
|
+
const data = await ctx.call("diagnose_issue", { issue_id: ref, event_limit: num(inv.flags.events), post_comment: inv.flags.comment === true, with_model: inv.flags.model === true });
|
|
496
|
+
return emit(ctx, data, () => {
|
|
497
|
+
ctx.out.log(String(data.markdown ?? ""));
|
|
498
|
+
if (data.model_analysis) {
|
|
499
|
+
ctx.out.log("");
|
|
500
|
+
ctx.out.log(ctx.out.bold("Analysis from your AI provider"));
|
|
501
|
+
ctx.out.log(String(data.model_analysis));
|
|
502
|
+
}
|
|
503
|
+
else if (data.model_note)
|
|
504
|
+
ctx.out.info(ctx.out.dim(String(data.model_note)));
|
|
505
|
+
if (data.posted_comment)
|
|
506
|
+
ctx.out.info("Posted on the task.");
|
|
507
|
+
});
|
|
508
|
+
},
|
|
509
|
+
});
|
|
480
510
|
export const issuesResolve = cmd({
|
|
481
511
|
path: "issues resolve",
|
|
482
512
|
group: "Bug reports",
|
|
@@ -1064,4 +1094,4 @@ export const analyticsCommand = cmd({
|
|
|
1064
1094
|
});
|
|
1065
1095
|
},
|
|
1066
1096
|
});
|
|
1067
|
-
export const INGEST_COMMANDS = [connectCommand, issuesList, issuesShow, issuesResolve, issuesIgnore, issuesReopen, issuesTask, bugCommand, ingestKeys, ingestRevoke, ingestTest, ingestSnippetsCommand, ingestPromptCommand, ingestForward, ingestSettings, issuesUrgency, analyticsCommand, healthCommand];
|
|
1097
|
+
export const INGEST_COMMANDS = [connectCommand, issuesList, issuesShow, issuesDiagnose, issuesResolve, issuesIgnore, issuesReopen, issuesTask, bugCommand, ingestKeys, ingestRevoke, ingestTest, ingestSnippetsCommand, ingestPromptCommand, ingestForward, ingestSettings, issuesUrgency, analyticsCommand, healthCommand];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scribeclock",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "ScribeClock from the terminal: tasks, time clock, projects, PRDs, meetings, files, vault and Cloudflare — a thin client over the ScribeClock MCP server.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Haydar Al-Karar LLC, dba Karar Tech",
|