ctxr-cli 0.35.0 → 0.37.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 (150) hide show
  1. package/LICENSE +21 -201
  2. package/README.md +39 -11
  3. package/dist/commands/land.d.ts +1 -1
  4. package/dist/commands/land.d.ts.map +1 -1
  5. package/dist/commands/land.js +8 -4
  6. package/dist/commands/land.js.map +1 -1
  7. package/dist/commands/plugin-build.d.ts +21 -11
  8. package/dist/commands/plugin-build.d.ts.map +1 -1
  9. package/dist/commands/plugin-build.js +45 -24
  10. package/dist/commands/plugin-build.js.map +1 -1
  11. package/dist/commands/serve.d.ts +3 -0
  12. package/dist/commands/serve.d.ts.map +1 -1
  13. package/dist/commands/serve.js +121 -23
  14. package/dist/commands/serve.js.map +1 -1
  15. package/dist/commands/session-submit.d.ts.map +1 -1
  16. package/dist/commands/session-submit.js +2 -0
  17. package/dist/commands/session-submit.js.map +1 -1
  18. package/dist/commands/sync.d.ts +50 -0
  19. package/dist/commands/sync.d.ts.map +1 -0
  20. package/dist/commands/sync.js +186 -0
  21. package/dist/commands/sync.js.map +1 -0
  22. package/dist/commands/version.d.ts.map +1 -1
  23. package/dist/commands/version.js +6 -3
  24. package/dist/commands/version.js.map +1 -1
  25. package/dist/config/defaults.d.ts +13 -0
  26. package/dist/config/defaults.d.ts.map +1 -1
  27. package/dist/config/defaults.js +11 -0
  28. package/dist/config/defaults.js.map +1 -1
  29. package/dist/config/schema.d.ts +1 -0
  30. package/dist/config/schema.d.ts.map +1 -1
  31. package/dist/config/schema.js +7 -0
  32. package/dist/config/schema.js.map +1 -1
  33. package/dist/core/approval/sessions.d.ts.map +1 -1
  34. package/dist/core/approval/sessions.js +4 -2
  35. package/dist/core/approval/sessions.js.map +1 -1
  36. package/dist/core/browse/approve.d.ts.map +1 -1
  37. package/dist/core/browse/approve.js +12 -2
  38. package/dist/core/browse/approve.js.map +1 -1
  39. package/dist/core/browse/page-url.d.ts +13 -0
  40. package/dist/core/browse/page-url.d.ts.map +1 -1
  41. package/dist/core/browse/page-url.js +17 -0
  42. package/dist/core/browse/page-url.js.map +1 -1
  43. package/dist/core/browse/pull-preview.d.ts +67 -0
  44. package/dist/core/browse/pull-preview.d.ts.map +1 -0
  45. package/dist/core/browse/pull-preview.js +154 -0
  46. package/dist/core/browse/pull-preview.js.map +1 -0
  47. package/dist/core/browse/webhook.d.ts +38 -0
  48. package/dist/core/browse/webhook.d.ts.map +1 -0
  49. package/dist/core/browse/webhook.js +102 -0
  50. package/dist/core/browse/webhook.js.map +1 -0
  51. package/dist/core/command.d.ts +5 -3
  52. package/dist/core/command.d.ts.map +1 -1
  53. package/dist/core/errors.d.ts +16 -0
  54. package/dist/core/errors.d.ts.map +1 -1
  55. package/dist/core/errors.js +27 -0
  56. package/dist/core/errors.js.map +1 -1
  57. package/dist/core/git/exec.d.ts +16 -1
  58. package/dist/core/git/exec.d.ts.map +1 -1
  59. package/dist/core/git/exec.js +15 -4
  60. package/dist/core/git/exec.js.map +1 -1
  61. package/dist/core/git/fast-forward.d.ts +23 -0
  62. package/dist/core/git/fast-forward.d.ts.map +1 -1
  63. package/dist/core/git/fast-forward.js +24 -0
  64. package/dist/core/git/fast-forward.js.map +1 -1
  65. package/dist/core/git/hardened.d.ts +15 -0
  66. package/dist/core/git/hardened.d.ts.map +1 -0
  67. package/dist/core/git/hardened.js +123 -0
  68. package/dist/core/git/hardened.js.map +1 -0
  69. package/dist/core/install-kind.d.ts +10 -3
  70. package/dist/core/install-kind.d.ts.map +1 -1
  71. package/dist/core/install-kind.js +48 -14
  72. package/dist/core/install-kind.js.map +1 -1
  73. package/dist/core/mcp/surface.js +1 -1
  74. package/dist/core/mcp/surface.js.map +1 -1
  75. package/dist/core/mcp/sync.d.ts +4 -1
  76. package/dist/core/mcp/sync.d.ts.map +1 -1
  77. package/dist/core/mcp/sync.js +6 -5
  78. package/dist/core/mcp/sync.js.map +1 -1
  79. package/dist/core/mcp/tool-map.d.ts +13 -11
  80. package/dist/core/mcp/tool-map.d.ts.map +1 -1
  81. package/dist/core/mcp/tool-map.js +13 -11
  82. package/dist/core/mcp/tool-map.js.map +1 -1
  83. package/dist/core/mcp/tools/gather.d.ts.map +1 -1
  84. package/dist/core/mcp/tools/gather.js +5 -4
  85. package/dist/core/mcp/tools/gather.js.map +1 -1
  86. package/dist/core/mcp/tools/index.d.ts +9 -1
  87. package/dist/core/mcp/tools/index.d.ts.map +1 -1
  88. package/dist/core/mcp/tools/index.js +20 -3
  89. package/dist/core/mcp/tools/index.js.map +1 -1
  90. package/dist/core/npm-prefix.d.ts +10 -0
  91. package/dist/core/npm-prefix.d.ts.map +1 -0
  92. package/dist/core/npm-prefix.js +11 -0
  93. package/dist/core/npm-prefix.js.map +1 -0
  94. package/dist/core/plugin/build.d.ts +53 -26
  95. package/dist/core/plugin/build.d.ts.map +1 -1
  96. package/dist/core/plugin/build.js +153 -50
  97. package/dist/core/plugin/build.js.map +1 -1
  98. package/dist/core/plugin/commands.d.ts +11 -0
  99. package/dist/core/plugin/commands.d.ts.map +1 -0
  100. package/dist/core/plugin/commands.js +23 -0
  101. package/dist/core/plugin/commands.js.map +1 -0
  102. package/dist/core/plugin/routes.d.ts +11 -7
  103. package/dist/core/plugin/routes.d.ts.map +1 -1
  104. package/dist/core/plugin/routes.js +27 -24
  105. package/dist/core/plugin/routes.js.map +1 -1
  106. package/dist/core/session/submit.d.ts +7 -0
  107. package/dist/core/session/submit.d.ts.map +1 -1
  108. package/dist/core/session/submit.js +14 -3
  109. package/dist/core/session/submit.js.map +1 -1
  110. package/dist/core/shared-stores.d.ts +5 -0
  111. package/dist/core/shared-stores.d.ts.map +1 -1
  112. package/dist/core/shared-stores.js +10 -0
  113. package/dist/core/shared-stores.js.map +1 -1
  114. package/dist/core/skill-placeholders.d.ts +51 -0
  115. package/dist/core/skill-placeholders.d.ts.map +1 -0
  116. package/dist/core/skill-placeholders.js +55 -0
  117. package/dist/core/skill-placeholders.js.map +1 -0
  118. package/dist/core/skills.d.ts +37 -12
  119. package/dist/core/skills.d.ts.map +1 -1
  120. package/dist/core/skills.js +78 -89
  121. package/dist/core/skills.js.map +1 -1
  122. package/dist/core/store-update-runner.d.ts +57 -0
  123. package/dist/core/store-update-runner.d.ts.map +1 -0
  124. package/dist/core/{approval/lander.js → store-update-runner.js} +41 -17
  125. package/dist/core/store-update-runner.js.map +1 -0
  126. package/dist/run.d.ts.map +1 -1
  127. package/dist/run.js +37 -6
  128. package/dist/run.js.map +1 -1
  129. package/dist/version.d.ts +1 -1
  130. package/dist/version.js +1 -1
  131. package/package.json +3 -2
  132. package/templates/approve/pages-note-pull.md +1 -0
  133. package/templates/conventions/baseline-conventions.md +5 -0
  134. package/templates/mcp/server-instructions.md +16 -0
  135. package/templates/plugin/README.md +30 -8
  136. package/templates/plugin/chatgpt-README.md +16 -0
  137. package/templates/plugin/claude-plugin.json +9 -1
  138. package/templates/plugin/command.md +7 -0
  139. package/templates/plugin/page.html +19 -8
  140. package/templates/skills/_surfaces.md +30 -0
  141. package/templates/skills/ctxr-placement.md +1 -1
  142. package/templates/skills/ctxr-session-lifecycle.md +6 -5
  143. package/templates/skills/ctxr-upgrade.md +5 -5
  144. package/templates/skills/mcp/_layer-step.md +18 -0
  145. package/templates/skills/mcp/_relation-grouping-step.md +5 -0
  146. package/dist/core/approval/lander.d.ts +0 -38
  147. package/dist/core/approval/lander.d.ts.map +0 -1
  148. package/dist/core/approval/lander.js.map +0 -1
  149. package/templates/plugin/claude-mcp.json +0 -8
  150. package/templates/skills/mcp/_preamble.md +0 -44
@@ -3,12 +3,11 @@ import { readdirSync, readFileSync } from 'node:fs';
3
3
  import { mkdir, readdir, readFile, rm } from 'node:fs/promises';
4
4
  import path from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
- import { DEFAULT_CIRCLEBACK_DECLINE_TAG, DEFAULT_HOUSE_CONVENTIONS_FILE_NAME, DEFAULT_LOG_PATH, DEFAULT_MISSION_MAX_BYTES, DEFAULT_SCRATCH_PATH, RELATION_DIRECTEDNESS_NOTE, RELATION_VOCABULARY } from '../config/defaults.js';
6
+ import { DEFAULT_CIRCLEBACK_DECLINE_TAG, RELATION_DIRECTEDNESS_NOTE, RELATION_VOCABULARY } from '../config/defaults.js';
7
7
  import { scanDocsDir, SKILL_FILE_NAME } from './conventions.js';
8
- import { GRAPH_DOCUMENT_RELATIVE_PATH } from './graph/persist.js';
9
8
  import { writeFileAtomic } from './fs/atomic.js';
9
+ import { fillTokens, lazyValues, placeholderValues, storeValueEntries } from './skill-placeholders.js';
10
10
  import { packagedTemplate } from './templates.js';
11
- import { GIT_STEP_TOOLS, SESSION_COMMAND_TOOLS, UNAVAILABLE_COMMANDS } from './mcp/tool-map.js';
12
11
  /**
13
12
  * The canonical skill bodies live as plain markdown under
14
13
  * `templates/skills/` — see `templates.ts` for why they are loaded
@@ -60,7 +59,7 @@ export function terminatingLayers(config) {
60
59
  export function retiredLayers(config) {
61
60
  return config.taxonomy.layers.filter((layer) => RETIRED_PATTERN.test(layer.description));
62
61
  }
63
- function skillDocument(seed, config) {
62
+ function skillDocument(seed, values) {
64
63
  const lines = [
65
64
  '---',
66
65
  `name: ${seed.file}`,
@@ -71,10 +70,15 @@ function skillDocument(seed, config) {
71
70
  '',
72
71
  `# ${seed.name}`,
73
72
  '',
74
- ...seed.body(config),
73
+ ...(MCP_SKILL_FILES.includes(seed.file) ? [fillTokens(packagedTemplate('skills', '_surfaces'), values), ''] : []),
74
+ ...seed.body(values),
75
75
  ];
76
76
  return `${lines.join('\n')}\n`;
77
77
  }
78
+ /** A body that is its template with every token filled from the render's values. */
79
+ function templateBody(slug) {
80
+ return (values) => fillTokens(skillTemplate(slug), values).split('\n');
81
+ }
78
82
  function joinNames(layers) {
79
83
  return layers.map((layer) => `**${layer.name}**`).join(' / ');
80
84
  }
@@ -111,11 +115,7 @@ const PLACEMENT = {
111
115
  file: 'ctxr-placement',
112
116
  name: 'Placement',
113
117
  description: 'Choose the right taxonomy layer and location for a new or relocated note in this contexture store, with the reasoning.',
114
- body: (config) => skillTemplate('ctxr-placement')
115
- .replace('__LAYER_STEP__', placementLayerStep(config).join('\n'))
116
- .replaceAll('__TEMPLATES_PATH__', config.templates.path)
117
- .replaceAll('__CLUSTER_DEPTH__', String(config.retrieval.graph.cluster_depth))
118
- .split('\n'),
118
+ body: templateBody('ctxr-placement'),
119
119
  };
120
120
  /**
121
121
  * capture-is-an-owned-skill spec: the capture stage's procedure. Named for
@@ -129,26 +129,19 @@ const CAPTURE = {
129
129
  file: 'ctxr-capture',
130
130
  name: 'Capture',
131
131
  description: 'Bring material from outside the store into the inbox as a faithful record carrying its source identity, then hand off to ingest.',
132
- body: (config) => skillTemplate('ctxr-capture')
133
- .replaceAll('__INBOX_PATH__', config.ingest.inbox_path)
134
- .replaceAll('__CAPTURE_ROOT__', config.ingest.capture_root)
135
- .split('\n'),
132
+ body: templateBody('ctxr-capture'),
136
133
  };
137
134
  const INGEST_ORCHESTRATION = {
138
135
  file: 'ctxr-ingest-orchestration',
139
136
  name: 'Ingest orchestration',
140
137
  description: 'Capture raw material into the inbox, run the dedupe check, read the existing cluster, decide new/update/merge/restructure, and ingest with source identity via the contexture CLI.',
141
- body: (config) => skillTemplate('ctxr-ingest-orchestration')
142
- .replaceAll('__GRAPH_DOCUMENT_PATH__', GRAPH_DOCUMENT_RELATIVE_PATH)
143
- .replaceAll('__TEMPLATES_PATH__', config.templates.path)
144
- .replaceAll('__LOG_PATH__', config.organize.log_path ?? DEFAULT_LOG_PATH)
145
- .split('\n'),
138
+ body: templateBody('ctxr-ingest-orchestration'),
146
139
  };
147
140
  const CONNECTION_FINDING = {
148
141
  file: 'ctxr-connection-finding',
149
142
  name: 'Connection finding',
150
143
  description: 'Traverse the wikilink graph of the store (neighbors, paths, hubs, orphans) to find what a note already connects to.',
151
- body: () => skillTemplate('ctxr-connection-finding').replaceAll('__GRAPH_DOCUMENT_PATH__', GRAPH_DOCUMENT_RELATIVE_PATH).split('\n'),
144
+ body: templateBody('ctxr-connection-finding'),
152
145
  };
153
146
  /**
154
147
  * graph-context-document spec: the proposal skill groups by the CONFIGURED
@@ -176,83 +169,67 @@ const CONNECTION_PROPOSAL = {
176
169
  file: 'ctxr-connection-proposal',
177
170
  name: 'Connection proposal',
178
171
  description: 'Discover the links a note should have, read each candidate before proposing, group by the store relation vocabulary, and write only approved links.',
179
- body: (config) => skillTemplate('ctxr-connection-proposal').replace('__RELATION_GROUPING_STEP__', relationGroupingStep().join('\n')).split('\n'),
172
+ body: templateBody('ctxr-connection-proposal'),
180
173
  };
181
174
  const ROLLUP = {
182
175
  file: 'ctxr-rollup',
183
176
  name: 'Rollup',
184
177
  description: 'Regenerate the synthesized current-state region of an entity note from every source that references it, with provenance for every fact.',
185
- body: () => skillTemplate('ctxr-rollup').split('\n'),
178
+ body: templateBody('ctxr-rollup'),
186
179
  };
187
180
  const MISSION = {
188
181
  file: 'ctxr-mission',
189
182
  name: 'Mission',
190
183
  description: "Keep the store's mission core current — the primary mission, the top priorities in rank order with status/purpose/next action, and what is not now — with the back burner, sunset candidates, and open debt in a linked register; propose changes and write only on the operator's confirmation.",
191
- body: (config) => skillTemplate('ctxr-mission')
192
- .replaceAll('__LOG_PATH__', config.organize.log_path ?? DEFAULT_LOG_PATH)
193
- .replaceAll('__MISSION_MAX_BYTES__', String(config.organize.mission_max_bytes ?? DEFAULT_MISSION_MAX_BYTES))
194
- .split('\n'),
184
+ body: templateBody('ctxr-mission'),
195
185
  };
196
186
  const SUBMIT = {
197
187
  file: 'ctxr-submit',
198
188
  name: 'Submit',
199
189
  description: 'End a working session — re-scan, capture once, hold one unit, validate, and open the reviewed pull request with ctxr session submit, which gates, commits, pushes and writes the generated sections.',
200
- body: (config) => skillTemplate('ctxr-submit').replaceAll('__DEFAULT_BRANCH__', config.git.default_branch).split('\n'),
190
+ body: templateBody('ctxr-submit'),
201
191
  };
202
192
  const LAND = {
203
193
  file: 'ctxr-land',
204
194
  name: 'Land',
205
195
  description: 'Complete a reviewed session — read pull-request state, merge it with gh, sync the default branch, and reclaim the worktree — every step gated and named explicitly.',
206
- body: (config) => skillTemplate('ctxr-land').replaceAll('__DEFAULT_BRANCH__', config.git.default_branch).split('\n'),
196
+ body: templateBody('ctxr-land'),
207
197
  };
208
198
  const SESSION_LIFECYCLE = {
209
199
  file: 'ctxr-session-lifecycle',
210
200
  name: 'Session lifecycle',
211
201
  description: 'Start a session worktree, re-scan before any plan, resolve conflicts, sequence multiple pull requests, and reclaim worktrees with the ctxr session commands — the frame ctxr-submit and ctxr-land sit inside.',
212
- body: (config) => skillTemplate('ctxr-session-lifecycle').replaceAll('__DEFAULT_BRANCH__', config.git.default_branch).split('\n'),
202
+ body: templateBody('ctxr-session-lifecycle'),
213
203
  };
214
- /** Where this store's operator-authored conventions live, for a skill to name by path. */
215
- function houseConventionsPath(config) {
216
- return path
217
- .join(config.harness.guidance_path, DEFAULT_HOUSE_CONVENTIONS_FILE_NAME)
218
- .split(path.sep)
219
- .join('/');
220
- }
221
204
  const UPGRADE = {
222
205
  file: 'ctxr-upgrade',
223
206
  name: 'Upgrade',
224
207
  description: 'Upgrade the installed ctxr to the latest published release and re-render this store with it — reading the live version check, refusing a non-global install, gating on the operator, and ordering the package upgrade before the store update.',
225
- body: () => skillTemplate('ctxr-upgrade').split('\n'),
208
+ body: templateBody('ctxr-upgrade'),
226
209
  };
227
210
  const SESSION_CAPTURE = {
228
211
  file: 'ctxr-session-capture',
229
212
  name: 'Session capture',
230
213
  description: 'At the end of a session, propose in one message both the durable notes it produced and any house convention it earned, with per-item approval, then write only what was approved.',
231
- body: (config) => skillTemplate('ctxr-session-capture')
232
- .replaceAll('__HOUSE_CONVENTIONS_PATH__', houseConventionsPath(config))
233
- .replaceAll('__TEMPLATES_PATH__', config.templates.path)
234
- .split('\n'),
214
+ body: templateBody('ctxr-session-capture'),
235
215
  };
236
216
  const DERIVED_ARTIFACTS = {
237
217
  file: 'ctxr-derived-artifacts',
238
218
  name: 'Derived artifacts',
239
219
  description: 'Refresh a generated artifact safely — check before build, read the counts back, never hand-edit inside a fence, keep derived files out of content commits.',
240
- body: (config) => skillTemplate('ctxr-derived-artifacts').replaceAll('__DEFAULT_BRANCH__', config.git.default_branch).split('\n'),
220
+ body: templateBody('ctxr-derived-artifacts'),
241
221
  };
242
222
  const ORGANIZE_AUDIT = {
243
223
  file: 'ctxr-organize-audit',
244
224
  name: 'Organize audit',
245
225
  description: 'Audit store health with ctxr lint (observations) and ctxr doctor (blocking invariants), retire by moving, and classify broken links before fixing them.',
246
- body: (config) => skillTemplate('ctxr-organize-audit')
247
- .replaceAll('__LOG_PATH__', config.organize.log_path ?? DEFAULT_LOG_PATH)
248
- .replaceAll('__ARCHIVE_DESTINATION__', config.organize.archive_destination)
249
- .split('\n'),
226
+ body: templateBody('ctxr-organize-audit'),
250
227
  };
251
228
  const PUBLISH = {
252
229
  file: 'ctxr-publish',
253
230
  name: 'Publish',
254
231
  description: 'Turn store content into a shareable HTML page for a subtree, note, or entity, resolving its source notes before any content is copied out.',
255
- body: () => skillTemplate('ctxr-publish').split('\n'),
232
+ body: templateBody('ctxr-publish'),
256
233
  };
257
234
  /**
258
235
  * ship-a-cross-model-second-opinion-skill, revised by
@@ -268,7 +245,7 @@ const SECOND_OPINION = {
268
245
  file: 'ctxr-second-opinion',
269
246
  name: 'Second opinion',
270
247
  description: 'Get an independent critique of a plan, or a poll on a taste call, from three different model families run in parallel, and synthesize their answers without running the plan.',
271
- body: () => skillTemplate('ctxr-second-opinion').split('\n'),
248
+ body: templateBody('ctxr-second-opinion'),
272
249
  };
273
250
  /**
274
251
  * research-and-capture-identity: the research method, written against whatever
@@ -280,10 +257,7 @@ const RESEARCH = {
280
257
  file: 'ctxr-research',
281
258
  name: 'Research',
282
259
  description: 'Research a question against real sources and land the findings in the store, with a brief and a findings ledger, several perspectives, source tiers, a contradiction map, and every claim verified against a source you opened before anyone acts on it, using whatever web access the harness provides.',
283
- body: (config) => skillTemplate('ctxr-research')
284
- .replaceAll('__SCRATCH_PATH__', config.harness.scratch_path ?? DEFAULT_SCRATCH_PATH)
285
- .replaceAll('__LOG_PATH__', config.organize.log_path ?? DEFAULT_LOG_PATH)
286
- .split('\n'),
260
+ body: templateBody('ctxr-research'),
287
261
  };
288
262
  /**
289
263
  * circleback-sweep, revised by capture-circleback-is-retrieval: the first
@@ -303,11 +277,7 @@ const CAPTURE_CIRCLEBACK = {
303
277
  file: 'ctxr-capture-circleback',
304
278
  name: 'Capture from Circleback',
305
279
  description: "Retrieve the Circleback meetings this store's tag says it owes, written into the inbox as verbatim records with their identity, then continue with ctxr-capture from step 2.",
306
- body: (config) => skillTemplate('ctxr-capture-circleback')
307
- .replaceAll('__SKILLS_PATH__', config.harness.skills_path.replace(/\/+$/, ''))
308
- .replaceAll('__INBOX_PATH__', config.ingest.inbox_path)
309
- .replaceAll('__DEFAULT_BRANCH__', config.git.default_branch)
310
- .split('\n'),
280
+ body: templateBody('ctxr-capture-circleback'),
311
281
  supportingFiles: (config) => {
312
282
  const files = new Map(skillSupportingFiles('ctxr-capture-circleback'));
313
283
  files.set('settings.json', circlebackSettings(config));
@@ -357,7 +327,11 @@ export const SKILLS = [
357
327
  ];
358
328
  /**
359
329
  * serve-the-session-lifecycle-to-chat-apps D6: the owned skills a chat app's
360
- * plugin carries, rendered from the same templates as the CLI copies. Left
330
+ * plugin carries, rendered from the same templates as the CLI copies.
331
+ * publish-one-contexture-plugin D7: these are the shared skills, one text on
332
+ * both surfaces: each opens with `templates/skills/_surfaces.md`, in a
333
+ * store's copy and the plugin's alike, saying which store, whether to work in
334
+ * a shell or through the store's server, and how a step is done there. Left
361
335
  * out: the skills that run local programs (upgrade, second opinion,
362
336
  * Circleback), landing (a person lands from the approval page), and the
363
337
  * derived-artifacts, organize-audit and publish procedures, whose steps the
@@ -377,46 +351,61 @@ export const MCP_SKILL_FILES = [
377
351
  RESEARCH,
378
352
  ].map((seed) => seed.file);
379
353
  /**
380
- * The owned skills, rendered against one store's configuration. `cli` is what
381
- * `syncShippedSkills` writes. `mcp` is the included subset, each the CLI
382
- * render's text unchanged under the one preamble that maps its commands and
383
- * git steps onto the MCP surface's tools (serve-the-session-lifecycle-to-chat-apps D6).
354
+ * The values the CLI render fills each template with: this store's value for
355
+ * every placeholder, the placement step computed from its taxonomy, the
356
+ * relation-grouping step, and the skills path the Circleback skill's runner
357
+ * is invoked from.
384
358
  */
385
- export function renderSkills(config, target = 'cli') {
386
- const skills = renderSkillSeeds(activeSkillSeeds(config), config);
387
- if (target === 'cli')
388
- return skills;
389
- const preamble = mcpPreamble(config);
390
- return skills.filter((skill) => MCP_SKILL_FILES.includes(skill.file)).map((skill) => ({ ...skill, content: withPreamble(skill.content, preamble) }));
359
+ export function cliSkillValues(config) {
360
+ return lazyValues([
361
+ ...storeValueEntries(config),
362
+ ['LAYER_STEP', () => placementLayerStep(config).join('\n')],
363
+ ['RELATION_GROUPING_STEP', () => relationGroupingStep().join('\n')],
364
+ ['SKILLS_PATH', () => config.harness.skills_path.replace(/\/+$/, '')],
365
+ ]);
391
366
  }
392
- /** `templates/skills/mcp/_preamble.md`, rendered against the store's configuration. */
393
- export function mcpPreamble(config) {
394
- // Revision 6: the tables come from the mapping module, never from a second copy here.
395
- const commands = [
396
- ...Object.entries(SESSION_COMMAND_TOOLS).map(([command, tool]) => `| \`ctxr ${command}\` | \`${tool}\` |`),
397
- ...UNAVAILABLE_COMMANDS.map((command) => `| \`ctxr ${command}\` | none |`),
398
- ];
399
- const gitSteps = Object.entries(GIT_STEP_TOOLS).map(([step, tool]) => `| \`${step}\` | ${tool === null ? 'none' : `\`${tool}\``} |`);
400
- return packagedTemplate('skills/mcp', '_preamble')
401
- .replace('__COMMAND_TABLE__', ['| Command | Tool |', '| --- | --- |', ...commands].join('\n'))
402
- .replace('__GIT_STEP_TABLE__', ['| Git step | Tool |', '| --- | --- |', ...gitSteps].join('\n'))
403
- .replaceAll('__WORKTREES_PATH__', config.session.worktrees_path.replace(/\/*$/, '/'));
367
+ /**
368
+ * publish-one-contexture-plugin D2, revision 3: the values the MCP render fills
369
+ * each template with, which no store configuration enters. Each store value is
370
+ * its named placeholder, and the two computed steps are generic text pointing
371
+ * at the layers and the relation vocabulary the connector's instructions list
372
+ * under *This store*. Skills the MCP render leaves out (Circleback's runner
373
+ * path) have no entry, so a token they use cannot reach the plugin.
374
+ */
375
+ export function mcpSkillValues() {
376
+ return {
377
+ ...placeholderValues(),
378
+ LAYER_STEP: packagedTemplate('skills/mcp', '_layer-step'),
379
+ RELATION_GROUPING_STEP: packagedTemplate('skills/mcp', '_relation-grouping-step'),
380
+ };
381
+ }
382
+ /** The owned skills, rendered against one store's configuration: what `syncShippedSkills` writes. */
383
+ export function renderSkills(config) {
384
+ return renderSkillSeeds(activeSkillSeeds(config), config);
404
385
  }
405
- /** The preamble goes below the frontmatter, which the Agent Skills format requires first, and above the CLI text. */
406
- function withPreamble(content, preamble) {
407
- const end = content.indexOf('\n---\n', 4);
408
- if (!content.startsWith('---\n') || end === -1)
409
- throw new Error('a rendered skill carries no frontmatter');
410
- const head = content.slice(0, end + '\n---\n'.length);
411
- const rest = content.slice(head.length).replace(/^\n/, '');
412
- return `${head}\n${preamble}\n\n${rest}`;
386
+ /**
387
+ * The owned skills a chat app's plugin carries: the shared subset, each the
388
+ * same text a store's copy is (publish-one-contexture-plugin D7), with every
389
+ * store value as its placeholder. It takes no configuration, so every store
390
+ * gets the same text, and the connector's instructions give the values (D2).
391
+ */
392
+ export function renderMcpSkills() {
393
+ const values = mcpSkillValues();
394
+ return SKILLS.filter((seed) => MCP_SKILL_FILES.includes(seed.file)).map((seed) => ({
395
+ file: seed.file,
396
+ name: seed.name,
397
+ description: seed.description,
398
+ content: skillDocument(seed, values),
399
+ supportingFiles: new Map(),
400
+ }));
413
401
  }
414
402
  function renderSkillSeeds(seeds, config) {
403
+ const values = cliSkillValues(config);
415
404
  return seeds.map((seed) => ({
416
405
  file: seed.file,
417
406
  name: seed.name,
418
407
  description: seed.description,
419
- content: skillDocument(seed, config),
408
+ content: skillDocument(seed, values),
420
409
  supportingFiles: seed.supportingFiles?.(config) ?? new Map(),
421
410
  }));
422
411
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * context-browsing spec ("The server keeps its clone of the store current";
3
+ * "Store-update runs never overlap and never change how requests are
4
+ * answered"), change-approval spec ("The server lands what was approved"):
5
+ * `ctxr serve`'s one timer. Each store-update run is a child process running
6
+ * the same command a person runs — `ctxr land --pending` while the loaded
7
+ * configuration turns landing on, `ctxr sync` otherwise — so a resolver that
8
+ * runs for minutes, a hung fetch or a crash stays out of the request loop
9
+ * (serve-lands-approved-changes D2; serve-keeps-its-clone-current D1, D2).
10
+ * The one place serve spawns either.
11
+ *
12
+ * Three states: idle, running, running with one more run pending. Any number
13
+ * of triggers during a run produce exactly one further run. A run starts once
14
+ * shortly after start (D5), then every `intervalMs`, so a change merged on the
15
+ * forge, or an approval recorded while the server was down, is picked up
16
+ * promptly. The runner itself runs no git: each child's git is hardened by the
17
+ * command it runs (D12).
18
+ */
19
+ export type StoreUpdateKind = 'land' | 'sync';
20
+ export interface StoreUpdateSettings {
21
+ kind: StoreUpdateKind;
22
+ intervalMs: number;
23
+ }
24
+ export interface StoreUpdateRunner {
25
+ /** Starts a run now, or one more after the run in progress. */
26
+ trigger(): void;
27
+ /** The kind the next run starts as. */
28
+ kind(): StoreUpdateKind;
29
+ /**
30
+ * Follows a configuration reload: the next run starts as `kind`, and a new
31
+ * interval reschedules the next timed run `intervalMs` from now. A run in
32
+ * progress is left to finish.
33
+ */
34
+ configure(settings: StoreUpdateSettings): void;
35
+ stop(): Promise<void>;
36
+ }
37
+ export interface ChildLike {
38
+ stdout: NodeJS.ReadableStream | null;
39
+ stderr: NodeJS.ReadableStream | null;
40
+ once(event: 'close', listener: (code: number | null) => void): unknown;
41
+ kill(signal?: NodeJS.Signals): boolean;
42
+ }
43
+ export type SpawnLike = (command: string, args: string[], opts: {
44
+ cwd: string;
45
+ env: NodeJS.ProcessEnv;
46
+ }) => ChildLike;
47
+ export interface StoreUpdateRunnerOptions extends StoreUpdateSettings {
48
+ /** The executable and its leading arguments, e.g. [node, bin.js]. */
49
+ command: readonly string[];
50
+ root: string;
51
+ env: Readonly<Record<string, string | undefined>>;
52
+ output: NodeJS.WritableStream;
53
+ firstRunMs?: number;
54
+ spawn?: SpawnLike;
55
+ }
56
+ export declare function createStoreUpdateRunner(opts: StoreUpdateRunnerOptions): StoreUpdateRunner;
57
+ //# sourceMappingURL=store-update-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-update-runner.d.ts","sourceRoot":"","sources":["../../src/core/store-update-runner.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,OAAO,IAAI,IAAI,CAAC;IAChB,uCAAuC;IACvC,IAAI,IAAI,eAAe,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC/C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAAK,SAAS,CAAC;AAEtH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,qEAAqE;IACrE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA+BD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,GAAG,iBAAiB,CA4EzF"}
@@ -1,9 +1,16 @@
1
1
  import { spawn } from 'node:child_process';
2
- const DEFAULT_SWEEP_MS = 5 * 60 * 1000;
3
- const DEFAULT_FIRST_SWEEP_MS = 10 * 1000;
2
+ const DEFAULT_FIRST_RUN_MS = 10 * 1000;
3
+ const ARGS = {
4
+ land: ['land', '--pending'],
5
+ sync: ['sync'],
6
+ };
7
+ const FAILED = {
8
+ land: 'the landing run',
9
+ sync: 'the sync run',
10
+ };
4
11
  const realSpawn = (command, args, opts) => spawn(command, args, { cwd: opts.cwd, env: opts.env, stdio: ['ignore', 'pipe', 'pipe'] });
5
- /** Each line of a stream to `output`, prefixed, so the run reads apart from serve's own log. */
6
- function prefixLines(stream, output) {
12
+ /** Each line of a stream to `output`, prefixed by the run's kind, so the run reads apart from serve's own log. */
13
+ function prefixLines(stream, output, prefix) {
7
14
  if (stream === null)
8
15
  return;
9
16
  let partial = '';
@@ -11,33 +18,36 @@ function prefixLines(stream, output) {
11
18
  const lines = (partial + chunk.toString()).split('\n');
12
19
  partial = lines.pop() ?? '';
13
20
  for (const line of lines)
14
- output.write(`land: ${line}\n`);
21
+ output.write(`${prefix}: ${line}\n`);
15
22
  });
16
23
  stream.on('end', () => {
17
24
  if (partial !== '')
18
- output.write(`land: ${partial}\n`);
25
+ output.write(`${prefix}: ${partial}\n`);
19
26
  partial = '';
20
27
  });
21
28
  }
22
- export function createLander(opts) {
29
+ export function createStoreUpdateRunner(opts) {
23
30
  const [command, ...leading] = opts.command;
24
31
  const spawnChild = opts.spawn ?? realSpawn;
32
+ let settings = { kind: opts.kind, intervalMs: opts.intervalMs };
25
33
  let child = null;
26
34
  let closed = null;
27
35
  let pending = false;
28
36
  let stopped = false;
37
+ let firstDone = false;
29
38
  function start() {
30
- const run = spawnChild(command, [...leading, 'land', '--pending', '--root', opts.root], {
39
+ const kind = settings.kind;
40
+ const run = spawnChild(command, [...leading, ...ARGS[kind], '--root', opts.root], {
31
41
  cwd: opts.root,
32
42
  env: opts.env,
33
43
  });
34
44
  child = run;
35
- prefixLines(run.stdout, opts.output);
36
- prefixLines(run.stderr, opts.output);
45
+ prefixLines(run.stdout, opts.output, kind);
46
+ prefixLines(run.stderr, opts.output, kind);
37
47
  closed = new Promise((resolve) => {
38
48
  run.once('close', (code) => {
39
49
  if (code !== 0)
40
- opts.output.write(`land: the landing run exited ${code ?? 'on a signal'}\n`);
50
+ opts.output.write(`${kind}: ${FAILED[kind]} exited ${code ?? 'on a signal'}\n`);
41
51
  child = null;
42
52
  closed = null;
43
53
  resolve();
@@ -57,14 +67,28 @@ export function createLander(opts) {
57
67
  }
58
68
  start();
59
69
  }
60
- let timer = setTimeout(function sweep() {
61
- trigger();
62
- timer = setTimeout(sweep, opts.sweepMs ?? DEFAULT_SWEEP_MS);
70
+ let timer;
71
+ function schedule(delay) {
72
+ timer = setTimeout(() => {
73
+ firstDone = true;
74
+ trigger();
75
+ schedule(settings.intervalMs);
76
+ }, delay);
63
77
  timer.unref();
64
- }, opts.firstSweepMs ?? DEFAULT_FIRST_SWEEP_MS);
65
- timer.unref();
78
+ }
79
+ schedule(opts.firstRunMs ?? DEFAULT_FIRST_RUN_MS);
66
80
  return {
67
81
  trigger,
82
+ kind: () => settings.kind,
83
+ configure(next) {
84
+ const intervalChanged = next.intervalMs !== settings.intervalMs;
85
+ settings = { ...next };
86
+ // Before the first run, its timer stands; after it, a new interval counts from now.
87
+ if (intervalChanged && firstDone && !stopped) {
88
+ clearTimeout(timer);
89
+ schedule(settings.intervalMs);
90
+ }
91
+ },
68
92
  async stop() {
69
93
  stopped = true;
70
94
  pending = false;
@@ -77,4 +101,4 @@ export function createLander(opts) {
77
101
  },
78
102
  };
79
103
  }
80
- //# sourceMappingURL=lander.js.map
104
+ //# sourceMappingURL=store-update-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-update-runner.js","sourceRoot":"","sources":["../../src/core/store-update-runner.ts"],"names":[],"mappings":"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"}
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YAAI,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAuIpE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,CAAA;CAAE,CA2sB3F;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgDjF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAShD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YAAI,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAsJpE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,CAAA;CAAE,CAytB3F;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgDjF"}