ctxr-cli 0.29.0 → 0.31.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.
Files changed (117) hide show
  1. package/README.md +43 -0
  2. package/dist/commands/land.d.ts.map +1 -1
  3. package/dist/commands/land.js +3 -18
  4. package/dist/commands/land.js.map +1 -1
  5. package/dist/commands/serve.d.ts.map +1 -1
  6. package/dist/commands/serve.js +10 -2
  7. package/dist/commands/serve.js.map +1 -1
  8. package/dist/config/defaults.d.ts +2 -0
  9. package/dist/config/defaults.d.ts.map +1 -1
  10. package/dist/config/defaults.js +2 -0
  11. package/dist/config/defaults.js.map +1 -1
  12. package/dist/config/schema.d.ts +39 -0
  13. package/dist/config/schema.d.ts.map +1 -1
  14. package/dist/config/schema.js +57 -8
  15. package/dist/config/schema.js.map +1 -1
  16. package/dist/core/browse/approve.d.ts +3 -0
  17. package/dist/core/browse/approve.d.ts.map +1 -1
  18. package/dist/core/browse/approve.js.map +1 -1
  19. package/dist/core/browse/page-url.d.ts +15 -0
  20. package/dist/core/browse/page-url.d.ts.map +1 -1
  21. package/dist/core/browse/page-url.js +8 -1
  22. package/dist/core/browse/page-url.js.map +1 -1
  23. package/dist/core/forge/credentials.d.ts +12 -1
  24. package/dist/core/forge/credentials.d.ts.map +1 -1
  25. package/dist/core/forge/credentials.js +25 -1
  26. package/dist/core/forge/credentials.js.map +1 -1
  27. package/dist/core/forge/github.d.ts +9 -0
  28. package/dist/core/forge/github.d.ts.map +1 -1
  29. package/dist/core/forge/github.js +6 -0
  30. package/dist/core/forge/github.js.map +1 -1
  31. package/dist/core/mcp/drafts.d.ts +30 -0
  32. package/dist/core/mcp/drafts.d.ts.map +1 -0
  33. package/dist/core/mcp/drafts.js +52 -0
  34. package/dist/core/mcp/drafts.js.map +1 -0
  35. package/dist/core/mcp/http.d.ts +40 -0
  36. package/dist/core/mcp/http.d.ts.map +1 -0
  37. package/dist/core/mcp/http.js +90 -0
  38. package/dist/core/mcp/http.js.map +1 -0
  39. package/dist/core/mcp/jsonrpc.d.ts +73 -0
  40. package/dist/core/mcp/jsonrpc.d.ts.map +1 -0
  41. package/dist/core/mcp/jsonrpc.js +149 -0
  42. package/dist/core/mcp/jsonrpc.js.map +1 -0
  43. package/dist/core/mcp/members.d.ts +11 -0
  44. package/dist/core/mcp/members.d.ts.map +1 -0
  45. package/dist/core/mcp/members.js +21 -0
  46. package/dist/core/mcp/members.js.map +1 -0
  47. package/dist/core/mcp/oauth.d.ts +99 -0
  48. package/dist/core/mcp/oauth.d.ts.map +1 -0
  49. package/dist/core/mcp/oauth.js +454 -0
  50. package/dist/core/mcp/oauth.js.map +1 -0
  51. package/dist/core/mcp/pages.d.ts +3 -0
  52. package/dist/core/mcp/pages.d.ts.map +1 -0
  53. package/dist/core/mcp/pages.js +41 -0
  54. package/dist/core/mcp/pages.js.map +1 -0
  55. package/dist/core/mcp/ripgrep.d.ts +48 -0
  56. package/dist/core/mcp/ripgrep.d.ts.map +1 -0
  57. package/dist/core/mcp/ripgrep.js +98 -0
  58. package/dist/core/mcp/ripgrep.js.map +1 -0
  59. package/dist/core/mcp/rwlock.d.ts +16 -0
  60. package/dist/core/mcp/rwlock.d.ts.map +1 -0
  61. package/dist/core/mcp/rwlock.js +59 -0
  62. package/dist/core/mcp/rwlock.js.map +1 -0
  63. package/dist/core/mcp/sessions.d.ts +84 -0
  64. package/dist/core/mcp/sessions.d.ts.map +1 -0
  65. package/dist/core/mcp/sessions.js +154 -0
  66. package/dist/core/mcp/sessions.js.map +1 -0
  67. package/dist/core/mcp/surface.d.ts +42 -0
  68. package/dist/core/mcp/surface.d.ts.map +1 -0
  69. package/dist/core/mcp/surface.js +141 -0
  70. package/dist/core/mcp/surface.js.map +1 -0
  71. package/dist/core/mcp/sync.d.ts +91 -0
  72. package/dist/core/mcp/sync.d.ts.map +1 -0
  73. package/dist/core/mcp/sync.js +218 -0
  74. package/dist/core/mcp/sync.js.map +1 -0
  75. package/dist/core/mcp/tools/capture.d.ts +64 -0
  76. package/dist/core/mcp/tools/capture.d.ts.map +1 -0
  77. package/dist/core/mcp/tools/capture.js +182 -0
  78. package/dist/core/mcp/tools/capture.js.map +1 -0
  79. package/dist/core/mcp/tools/edit.d.ts +79 -0
  80. package/dist/core/mcp/tools/edit.d.ts.map +1 -0
  81. package/dist/core/mcp/tools/edit.js +212 -0
  82. package/dist/core/mcp/tools/edit.js.map +1 -0
  83. package/dist/core/mcp/tools/files.d.ts +163 -0
  84. package/dist/core/mcp/tools/files.d.ts.map +1 -0
  85. package/dist/core/mcp/tools/files.js +265 -0
  86. package/dist/core/mcp/tools/files.js.map +1 -0
  87. package/dist/core/mcp/tools/find.d.ts +82 -0
  88. package/dist/core/mcp/tools/find.d.ts.map +1 -0
  89. package/dist/core/mcp/tools/find.js +136 -0
  90. package/dist/core/mcp/tools/find.js.map +1 -0
  91. package/dist/core/mcp/tools/gather.d.ts +88 -0
  92. package/dist/core/mcp/tools/gather.d.ts.map +1 -0
  93. package/dist/core/mcp/tools/gather.js +123 -0
  94. package/dist/core/mcp/tools/gather.js.map +1 -0
  95. package/dist/core/mcp/tools/index.d.ts +21 -0
  96. package/dist/core/mcp/tools/index.d.ts.map +1 -0
  97. package/dist/core/mcp/tools/index.js +129 -0
  98. package/dist/core/mcp/tools/index.js.map +1 -0
  99. package/dist/core/skills.d.ts +18 -2
  100. package/dist/core/skills.d.ts.map +1 -1
  101. package/dist/core/skills.js +51 -5
  102. package/dist/core/skills.js.map +1 -1
  103. package/dist/version.d.ts +1 -1
  104. package/dist/version.js +1 -1
  105. package/package.json +1 -1
  106. package/templates/mcp/Edit.md +7 -0
  107. package/templates/mcp/Glob.md +5 -0
  108. package/templates/mcp/Grep.md +10 -0
  109. package/templates/mcp/Read.md +7 -0
  110. package/templates/mcp/Write.md +7 -0
  111. package/templates/mcp/capture.md +9 -0
  112. package/templates/mcp/consent.html +40 -0
  113. package/templates/mcp/find.md +9 -0
  114. package/templates/mcp/gather.md +5 -0
  115. package/templates/mcp/server-instructions.md +17 -0
  116. package/templates/skills/ctxr-circleback/sweep.mjs +229 -0
  117. package/templates/skills/ctxr-circleback.md +70 -0
@@ -0,0 +1,70 @@
1
+ Capture the Circleback meetings this store owes, on a review branch, without deciding the list by hand. One
2
+ Circleback account can feed several stores, and a tag on each meeting says which store it belongs to. This store's
3
+ routing is in `settings.json` beside this file, rendered from the `circleback` block in `contexture.yaml`.
4
+
5
+ ## When
6
+
7
+ On a request such as "sweep Circleback" or "capture my meetings", and from a scheduled job. A scheduled job runs the
8
+ runner before you start and puts its report in your prompt, so begin at step 2.
9
+
10
+ ## 1. Run the runner
11
+
12
+ From the store root:
13
+
14
+ ```
15
+ node __SKILLS_PATH__/ctxr-circleback/sweep.mjs
16
+ ```
17
+
18
+ It needs Circleback's command-line tool (`cb`) signed in, plus `git` and `gh`. It reads every meeting from the last
19
+ 35 days with its tags, compares them with this store's default branch and its open pull requests, and prints a report.
20
+ When the store owes any meeting, it also prepares a review-branch worktree and writes each owed meeting's capture into
21
+ `__INBOX_PATH__` there, under CAPTURES RENDERED.
22
+
23
+ The report is authoritative. Do not work the list out again yourself, and do not rebuild the files it wrote. If it
24
+ prints `COLLECTION FAILED`, report that line and stop.
25
+
26
+ What the runner writes is the mechanical part of a capture: the source type and id, the meeting's metadata, its
27
+ attendees, Circleback's action items and summary (marked as the service's derivation, not the record), and the
28
+ transcript verbatim. It never writes the recording URL, which is a signed, expiring link and so a credential.
29
+
30
+ ## 2. Add the judgment
31
+
32
+ For each file under CAPTURES RENDERED, read it, and after `## Attendees` add a `### Speaker caveat` when the speaker
33
+ labels cannot be trusted: generic "Participant N" labels, or a summary that gives a position or a role to the wrong
34
+ person. Say what is unreliable. Name who a label most likely is only where the transcript itself makes it clear.
35
+
36
+ Never edit the transcript or Circleback's summary, and never add `source_hash` or `ingested`; ingest assigns both.
37
+
38
+ Then, from the worktree, run `ctxr source check <file> --source-id circleback/<id>`. If the verdict is not `new`,
39
+ leave that file unstaged and report it.
40
+
41
+ ## 3. Publish
42
+
43
+ Stage exactly the capture files and commit on the review branch. The store's commit hook is the validation; add no
44
+ checks of your own on top of it. Push the branch, and open a pull request against `__DEFAULT_BRANCH__` if none is
45
+ open; a later run adds to the open one. Its body lists each meeting (date, title, id) and says the captures still need
46
+ an interactive ingest through `ctxr-ingest-orchestration`.
47
+
48
+ Never merge the pull request and never ingest here.
49
+
50
+ ## 4. Report
51
+
52
+ Give the counts (captured, already present), the pull request link, and the runner's other sections copied as they
53
+ are:
54
+
55
+ - **LOCKED** — tagged for this store but no longer readable in full, so it cannot be captured.
56
+ - **UNTAGGED**, **TAGGED FOR MORE THAN ONE STORE** and **DECLINED IN THE LAST 8 DAYS**, when the runner prints them.
57
+
58
+ If nothing was owed and every section is empty, say "Nothing missing".
59
+
60
+ ## How a meeting is routed
61
+
62
+ - A meeting is this store's when it carries this store's tag, does not carry the decline tag, and carries no other
63
+ store's tag.
64
+ - An untagged meeting is undecided, not skipped. It gets a tag in Circleback; ask the operator when the home is
65
+ unclear.
66
+ - A meeting tagged for two stores is captured nowhere until the operator resolves it. A store that already holds it
67
+ keeps it.
68
+ - Closing a capture pull request does not reject a meeting. Retagging it with the decline tag does.
69
+ - Circleback's free plan hides a meeting's full notes after about 30 days. The runner looks back 35 days, so a weekly
70
+ run sees each meeting several times before then.