ctxr-cli 0.34.0 → 0.36.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.
- package/README.md +50 -7
- package/dist/commands/land.d.ts +1 -1
- package/dist/commands/land.d.ts.map +1 -1
- package/dist/commands/land.js +8 -4
- package/dist/commands/land.js.map +1 -1
- package/dist/commands/plugin-build.d.ts +33 -0
- package/dist/commands/plugin-build.d.ts.map +1 -0
- package/dist/commands/plugin-build.js +51 -0
- package/dist/commands/plugin-build.js.map +1 -0
- package/dist/commands/publish-check.d.ts.map +1 -1
- package/dist/commands/publish-check.js +35 -4
- package/dist/commands/publish-check.js.map +1 -1
- package/dist/commands/serve.d.ts +3 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +129 -23
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/session-start.d.ts.map +1 -1
- package/dist/commands/session-start.js +12 -38
- package/dist/commands/session-start.js.map +1 -1
- package/dist/commands/session-submit.d.ts.map +1 -1
- package/dist/commands/session-submit.js +2 -0
- package/dist/commands/session-submit.js.map +1 -1
- package/dist/commands/sync.d.ts +50 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +186 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +6 -3
- package/dist/commands/version.js.map +1 -1
- package/dist/config/defaults.d.ts +13 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +11 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/schema.d.ts +1 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +7 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/core/approval/sessions.d.ts.map +1 -1
- package/dist/core/approval/sessions.js +4 -2
- package/dist/core/approval/sessions.js.map +1 -1
- package/dist/core/browse/approve.d.ts.map +1 -1
- package/dist/core/browse/approve.js +12 -2
- package/dist/core/browse/approve.js.map +1 -1
- package/dist/core/browse/page-url.d.ts +13 -0
- package/dist/core/browse/page-url.d.ts.map +1 -1
- package/dist/core/browse/page-url.js +17 -0
- package/dist/core/browse/page-url.js.map +1 -1
- package/dist/core/browse/pull-preview.d.ts +67 -0
- package/dist/core/browse/pull-preview.d.ts.map +1 -0
- package/dist/core/browse/pull-preview.js +154 -0
- package/dist/core/browse/pull-preview.js.map +1 -0
- package/dist/core/browse/webhook.d.ts +38 -0
- package/dist/core/browse/webhook.d.ts.map +1 -0
- package/dist/core/browse/webhook.js +102 -0
- package/dist/core/browse/webhook.js.map +1 -0
- package/dist/core/errors.d.ts +16 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +27 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/fs/atomic.d.ts +3 -2
- package/dist/core/fs/atomic.d.ts.map +1 -1
- package/dist/core/fs/atomic.js +3 -2
- package/dist/core/fs/atomic.js.map +1 -1
- package/dist/core/git/exec.d.ts +16 -1
- package/dist/core/git/exec.d.ts.map +1 -1
- package/dist/core/git/exec.js +15 -4
- package/dist/core/git/exec.js.map +1 -1
- package/dist/core/git/fast-forward.d.ts +23 -0
- package/dist/core/git/fast-forward.d.ts.map +1 -1
- package/dist/core/git/fast-forward.js +24 -0
- package/dist/core/git/fast-forward.js.map +1 -1
- package/dist/core/git/hardened.d.ts +15 -0
- package/dist/core/git/hardened.d.ts.map +1 -0
- package/dist/core/git/hardened.js +123 -0
- package/dist/core/git/hardened.js.map +1 -0
- package/dist/core/install-kind.d.ts +10 -3
- package/dist/core/install-kind.d.ts.map +1 -1
- package/dist/core/install-kind.js +48 -14
- package/dist/core/install-kind.js.map +1 -1
- package/dist/core/mcp/cli-runner.d.ts +41 -0
- package/dist/core/mcp/cli-runner.d.ts.map +1 -0
- package/dist/core/mcp/cli-runner.js +81 -0
- package/dist/core/mcp/cli-runner.js.map +1 -0
- package/dist/core/mcp/jsonrpc.d.ts +13 -1
- package/dist/core/mcp/jsonrpc.d.ts.map +1 -1
- package/dist/core/mcp/jsonrpc.js +1 -1
- package/dist/core/mcp/jsonrpc.js.map +1 -1
- package/dist/core/mcp/member-sessions.d.ts +48 -0
- package/dist/core/mcp/member-sessions.d.ts.map +1 -0
- package/dist/core/mcp/member-sessions.js +85 -0
- package/dist/core/mcp/member-sessions.js.map +1 -0
- package/dist/core/mcp/ownership.d.ts +51 -0
- package/dist/core/mcp/ownership.d.ts.map +1 -0
- package/dist/core/mcp/ownership.js +101 -0
- package/dist/core/mcp/ownership.js.map +1 -0
- package/dist/core/mcp/paths.d.ts +48 -0
- package/dist/core/mcp/paths.d.ts.map +1 -0
- package/dist/core/mcp/paths.js +111 -0
- package/dist/core/mcp/paths.js.map +1 -0
- package/dist/core/mcp/sessions.d.ts +24 -46
- package/dist/core/mcp/sessions.d.ts.map +1 -1
- package/dist/core/mcp/sessions.js +31 -103
- package/dist/core/mcp/sessions.js.map +1 -1
- package/dist/core/mcp/tool-map.d.ts +94 -0
- package/dist/core/mcp/tool-map.d.ts.map +1 -0
- package/dist/core/mcp/tool-map.js +211 -0
- package/dist/core/mcp/tool-map.js.map +1 -0
- package/dist/core/mcp/tools/capture.d.ts +7 -2
- package/dist/core/mcp/tools/capture.d.ts.map +1 -1
- package/dist/core/mcp/tools/capture.js +69 -18
- package/dist/core/mcp/tools/capture.js.map +1 -1
- package/dist/core/mcp/tools/cli.d.ts +97 -0
- package/dist/core/mcp/tools/cli.d.ts.map +1 -0
- package/dist/core/mcp/tools/cli.js +271 -0
- package/dist/core/mcp/tools/cli.js.map +1 -0
- package/dist/core/mcp/tools/edit.d.ts +62 -28
- package/dist/core/mcp/tools/edit.d.ts.map +1 -1
- package/dist/core/mcp/tools/edit.js +182 -153
- package/dist/core/mcp/tools/edit.js.map +1 -1
- package/dist/core/mcp/tools/files.d.ts +37 -11
- package/dist/core/mcp/tools/files.d.ts.map +1 -1
- package/dist/core/mcp/tools/files.js +122 -100
- package/dist/core/mcp/tools/files.js.map +1 -1
- package/dist/core/mcp/tools/index.d.ts +12 -3
- package/dist/core/mcp/tools/index.d.ts.map +1 -1
- package/dist/core/mcp/tools/index.js +161 -58
- package/dist/core/mcp/tools/index.js.map +1 -1
- package/dist/core/mcp/tools/sessions.d.ts +145 -0
- package/dist/core/mcp/tools/sessions.d.ts.map +1 -0
- package/dist/core/mcp/tools/sessions.js +226 -0
- package/dist/core/mcp/tools/sessions.js.map +1 -0
- package/dist/core/npm-prefix.d.ts +10 -0
- package/dist/core/npm-prefix.d.ts.map +1 -0
- package/dist/core/npm-prefix.js +11 -0
- package/dist/core/npm-prefix.js.map +1 -0
- package/dist/core/plugin/build.d.ts +70 -0
- package/dist/core/plugin/build.d.ts.map +1 -0
- package/dist/core/plugin/build.js +159 -0
- package/dist/core/plugin/build.js.map +1 -0
- package/dist/core/plugin/routes.d.ts +35 -0
- package/dist/core/plugin/routes.d.ts.map +1 -0
- package/dist/core/plugin/routes.js +77 -0
- package/dist/core/plugin/routes.js.map +1 -0
- package/dist/core/plugin/zip.d.ts +17 -0
- package/dist/core/plugin/zip.d.ts.map +1 -0
- package/dist/core/plugin/zip.js +75 -0
- package/dist/core/plugin/zip.js.map +1 -0
- package/dist/core/session/start.d.ts +46 -0
- package/dist/core/session/start.d.ts.map +1 -0
- package/dist/core/session/start.js +33 -0
- package/dist/core/session/start.js.map +1 -0
- package/dist/core/session/submit.d.ts +7 -0
- package/dist/core/session/submit.d.ts.map +1 -1
- package/dist/core/session/submit.js +8 -0
- package/dist/core/session/submit.js.map +1 -1
- package/dist/core/skills.d.ts +20 -2
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +56 -3
- package/dist/core/skills.js.map +1 -1
- package/dist/core/store-update-runner.d.ts +57 -0
- package/dist/core/store-update-runner.d.ts.map +1 -0
- package/dist/core/{approval/lander.js → store-update-runner.js} +41 -17
- package/dist/core/store-update-runner.js.map +1 -0
- package/dist/run.d.ts +12 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +93 -58
- package/dist/run.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/templates/approve/pages-note-pull.md +1 -0
- package/templates/conventions/baseline-conventions.md +5 -0
- package/templates/mcp/Delete.md +6 -0
- package/templates/mcp/Edit.md +6 -5
- package/templates/mcp/Glob.md +2 -2
- package/templates/mcp/Grep.md +2 -1
- package/templates/mcp/Move.md +7 -0
- package/templates/mcp/Read.md +4 -4
- package/templates/mcp/Write.md +4 -4
- package/templates/mcp/ctxr.md +7 -0
- package/templates/mcp/ctxr_write.md +8 -0
- package/templates/mcp/server-instructions.md +11 -3
- package/templates/mcp/session_discard.md +4 -0
- package/templates/mcp/session_list.md +7 -0
- package/templates/mcp/session_rebase.md +5 -0
- package/templates/mcp/session_start.md +7 -0
- package/templates/mcp/session_status.md +3 -0
- package/templates/mcp/session_submit.md +8 -0
- package/templates/plugin/README.md +13 -0
- package/templates/plugin/chatgpt-mcp.json +19 -0
- package/templates/plugin/chatgpt-plugin.json +13 -0
- package/templates/plugin/claude-mcp.json +8 -0
- package/templates/plugin/claude-plugin.json +6 -0
- package/templates/plugin/page.html +47 -0
- package/templates/skills/ctxr-publish.md +2 -1
- package/templates/skills/ctxr-upgrade.md +5 -5
- package/templates/skills/mcp/_preamble.md +44 -0
- package/dist/core/approval/lander.d.ts +0 -38
- package/dist/core/approval/lander.d.ts.map +0 -1
- package/dist/core/approval/lander.js.map +0 -1
- package/dist/core/mcp/drafts.d.ts +0 -30
- package/dist/core/mcp/drafts.d.ts.map +0 -1
- package/dist/core/mcp/drafts.js +0 -52
- package/dist/core/mcp/drafts.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { configStamp } from '../browse/memo.js';
|
|
2
|
+
import { scopesFor } from '../mcp/members.js';
|
|
3
|
+
import { CLI_VERSION } from '../../version.js';
|
|
4
|
+
import { buildPlugins, fillPluginTemplate, renderedCommit, storeNameFor } from './build.js';
|
|
5
|
+
/**
|
|
6
|
+
* serve-the-session-lifecycle-to-chat-apps D7 (remote-access spec, *Members
|
|
7
|
+
* download the store's plugins from the server*): `GET /plugin/` names the two
|
|
8
|
+
* downloads and how to install each, and `GET /plugin/<name>-<app>.zip` is that
|
|
9
|
+
* archive, built in memory by the builder `ctxr plugin build` uses, from the
|
|
10
|
+
* configuration the server last loaded.
|
|
11
|
+
*
|
|
12
|
+
* The routes exist only while the MCP surface is configured, and every one
|
|
13
|
+
* needs the verified identity assertion the approval routes need, so they are
|
|
14
|
+
* not among the paths an access proxy lets through without a login. A
|
|
15
|
+
* verified person the `mcp` block does not admit is refused as sign-in
|
|
16
|
+
* refuses them: the plugin would connect them to nothing.
|
|
17
|
+
*/
|
|
18
|
+
export const PLUGIN_ROUTE = '/plugin/';
|
|
19
|
+
export function isPluginPath(pathname) {
|
|
20
|
+
return pathname === '/plugin' || pathname.startsWith(PLUGIN_ROUTE);
|
|
21
|
+
}
|
|
22
|
+
const text = (status, message) => ({ status, contentType: 'text/plain; charset=utf-8', body: `${message}\n`, headers: { 'Cache-Control': 'no-store' } });
|
|
23
|
+
export class PluginDownloads {
|
|
24
|
+
git;
|
|
25
|
+
/** The last bundle built, keyed by the commit and the configuration it was built from. */
|
|
26
|
+
cached = null;
|
|
27
|
+
storeName;
|
|
28
|
+
constructor(git) {
|
|
29
|
+
this.git = git;
|
|
30
|
+
}
|
|
31
|
+
async bundleFor(store) {
|
|
32
|
+
const commit = await renderedCommit(this.git, store.root);
|
|
33
|
+
const key = `${commit ?? 'none'}:${configStamp(store.config)}`;
|
|
34
|
+
if (this.cached?.key === key)
|
|
35
|
+
return this.cached.bundle;
|
|
36
|
+
this.storeName ??= storeNameFor(this.git, store.root);
|
|
37
|
+
const bundle = buildPlugins({ config: store.config, storeName: await this.storeName, cliVersion: CLI_VERSION, commit });
|
|
38
|
+
this.cached = { key, bundle };
|
|
39
|
+
return bundle;
|
|
40
|
+
}
|
|
41
|
+
async handle(store, approval, approvalError, req, pathname) {
|
|
42
|
+
// Without the block these paths are no different from any unknown path.
|
|
43
|
+
if (store.config.mcp === undefined)
|
|
44
|
+
return text(404, 'not found');
|
|
45
|
+
if (approval === null)
|
|
46
|
+
return approvalError === null ? text(404, 'not found') : text(503, `the plugin downloads are unavailable: ${approvalError}`);
|
|
47
|
+
const verified = await approval.verifier.verify(req.headers[approval.approval.identity.header.toLowerCase()]);
|
|
48
|
+
if (!verified.ok)
|
|
49
|
+
return text(401, 'a verified identity assertion is required');
|
|
50
|
+
if (scopesFor(verified.email, store.config.mcp).length === 0)
|
|
51
|
+
return text(403, `${verified.email} may not connect apps to this store. Ask whoever runs it to add you.`);
|
|
52
|
+
const bundle = await this.bundleFor(store);
|
|
53
|
+
if (pathname === '/plugin' || pathname === PLUGIN_ROUTE) {
|
|
54
|
+
const [claude, chatgpt] = bundle.plugins;
|
|
55
|
+
const page = fillPluginTemplate('page.html', {
|
|
56
|
+
STORE_NAME: bundle.storeName,
|
|
57
|
+
MCP_URL: bundle.mcpUrl,
|
|
58
|
+
VERSION: bundle.version,
|
|
59
|
+
CLAUDE_ARCHIVE: claude.archiveName,
|
|
60
|
+
CLAUDE_HREF: `${PLUGIN_ROUTE}${encodeURIComponent(claude.archiveName)}`,
|
|
61
|
+
CHATGPT_ARCHIVE: chatgpt.archiveName,
|
|
62
|
+
CHATGPT_HREF: `${PLUGIN_ROUTE}${encodeURIComponent(chatgpt.archiveName)}`,
|
|
63
|
+
});
|
|
64
|
+
return { status: 200, contentType: 'text/html; charset=utf-8', body: page, headers: { 'Cache-Control': 'no-store' } };
|
|
65
|
+
}
|
|
66
|
+
const plugin = bundle.plugins.find((p) => pathname === `${PLUGIN_ROUTE}${p.archiveName}`);
|
|
67
|
+
if (plugin === undefined)
|
|
68
|
+
return text(404, 'not found');
|
|
69
|
+
return {
|
|
70
|
+
status: 200,
|
|
71
|
+
contentType: 'application/zip',
|
|
72
|
+
body: plugin.archive,
|
|
73
|
+
headers: { 'Content-Disposition': `attachment; filename="${plugin.archiveName}"`, 'Cache-Control': 'no-store' },
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/core/plugin/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* serve-the-session-lifecycle-to-chat-apps D7: the plugin archives both apps
|
|
3
|
+
* upload. A minimal ZIP writer over `node:zlib` rather than a dependency: the
|
|
4
|
+
* archive holds a few dozen small text files, and nothing here needs
|
|
5
|
+
* encryption, ZIP64 or streaming.
|
|
6
|
+
*
|
|
7
|
+
* Byte-stable for the same input: entries are written in path order and every
|
|
8
|
+
* entry carries the same fixed timestamp (1980-01-01, the format's epoch), so
|
|
9
|
+
* an archive built twice from one commit and configuration is the same file.
|
|
10
|
+
*/
|
|
11
|
+
export interface ZipEntry {
|
|
12
|
+
/** Posix path inside the archive, with no leading `/`. */
|
|
13
|
+
path: string;
|
|
14
|
+
data: Buffer;
|
|
15
|
+
}
|
|
16
|
+
export declare function createZip(entries: readonly ZipEntry[]): Buffer;
|
|
17
|
+
//# sourceMappingURL=zip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../src/core/plugin/zip.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAaD,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CAiE9D"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { crc32, deflateRawSync } from 'node:zlib';
|
|
2
|
+
const DOS_TIME = 0;
|
|
3
|
+
const DOS_DATE = (0 << 9) | (1 << 5) | 1;
|
|
4
|
+
/** Bit 11: the entry's name is UTF-8. */
|
|
5
|
+
const FLAG_UTF8 = 0x0800;
|
|
6
|
+
const METHOD_STORE = 0;
|
|
7
|
+
const METHOD_DEFLATE = 8;
|
|
8
|
+
const VERSION_NEEDED = 20;
|
|
9
|
+
/** Made by Unix (3), spec version 2.0, so the external attributes carry a file mode. */
|
|
10
|
+
const VERSION_MADE_BY = (3 << 8) | 20;
|
|
11
|
+
const FILE_MODE = 0o100644;
|
|
12
|
+
export function createZip(entries) {
|
|
13
|
+
const sorted = [...entries].sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
|
|
14
|
+
const locals = [];
|
|
15
|
+
const centrals = [];
|
|
16
|
+
let offset = 0;
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
for (const entry of sorted) {
|
|
19
|
+
if (entry.path === '' || entry.path.startsWith('/') || entry.path.split('/').includes('..'))
|
|
20
|
+
throw new Error(`unsafe archive path: ${entry.path}`);
|
|
21
|
+
if (seen.has(entry.path))
|
|
22
|
+
throw new Error(`duplicate archive path: ${entry.path}`);
|
|
23
|
+
seen.add(entry.path);
|
|
24
|
+
const name = Buffer.from(entry.path, 'utf8');
|
|
25
|
+
const deflated = deflateRawSync(entry.data, { level: 9 });
|
|
26
|
+
const method = deflated.length < entry.data.length ? METHOD_DEFLATE : METHOD_STORE;
|
|
27
|
+
const body = method === METHOD_DEFLATE ? deflated : entry.data;
|
|
28
|
+
const crc = crc32(entry.data);
|
|
29
|
+
const local = Buffer.alloc(30);
|
|
30
|
+
local.writeUInt32LE(0x04034b50, 0);
|
|
31
|
+
local.writeUInt16LE(VERSION_NEEDED, 4);
|
|
32
|
+
local.writeUInt16LE(FLAG_UTF8, 6);
|
|
33
|
+
local.writeUInt16LE(method, 8);
|
|
34
|
+
local.writeUInt16LE(DOS_TIME, 10);
|
|
35
|
+
local.writeUInt16LE(DOS_DATE, 12);
|
|
36
|
+
local.writeUInt32LE(crc, 14);
|
|
37
|
+
local.writeUInt32LE(body.length, 18);
|
|
38
|
+
local.writeUInt32LE(entry.data.length, 22);
|
|
39
|
+
local.writeUInt16LE(name.length, 26);
|
|
40
|
+
local.writeUInt16LE(0, 28);
|
|
41
|
+
locals.push(local, name, body);
|
|
42
|
+
const central = Buffer.alloc(46);
|
|
43
|
+
central.writeUInt32LE(0x02014b50, 0);
|
|
44
|
+
central.writeUInt16LE(VERSION_MADE_BY, 4);
|
|
45
|
+
central.writeUInt16LE(VERSION_NEEDED, 6);
|
|
46
|
+
central.writeUInt16LE(FLAG_UTF8, 8);
|
|
47
|
+
central.writeUInt16LE(method, 10);
|
|
48
|
+
central.writeUInt16LE(DOS_TIME, 12);
|
|
49
|
+
central.writeUInt16LE(DOS_DATE, 14);
|
|
50
|
+
central.writeUInt32LE(crc, 16);
|
|
51
|
+
central.writeUInt32LE(body.length, 20);
|
|
52
|
+
central.writeUInt32LE(entry.data.length, 24);
|
|
53
|
+
central.writeUInt16LE(name.length, 28);
|
|
54
|
+
central.writeUInt16LE(0, 30); // extra field length
|
|
55
|
+
central.writeUInt16LE(0, 32); // comment length
|
|
56
|
+
central.writeUInt16LE(0, 34); // disk number start
|
|
57
|
+
central.writeUInt16LE(0, 36); // internal attributes
|
|
58
|
+
central.writeUInt32LE((FILE_MODE << 16) >>> 0, 38);
|
|
59
|
+
central.writeUInt32LE(offset, 42);
|
|
60
|
+
centrals.push(central, name);
|
|
61
|
+
offset += local.length + name.length + body.length;
|
|
62
|
+
}
|
|
63
|
+
const centralDirectory = Buffer.concat(centrals);
|
|
64
|
+
const end = Buffer.alloc(22);
|
|
65
|
+
end.writeUInt32LE(0x06054b50, 0);
|
|
66
|
+
end.writeUInt16LE(0, 4);
|
|
67
|
+
end.writeUInt16LE(0, 6);
|
|
68
|
+
end.writeUInt16LE(sorted.length, 8);
|
|
69
|
+
end.writeUInt16LE(sorted.length, 10);
|
|
70
|
+
end.writeUInt32LE(centralDirectory.length, 12);
|
|
71
|
+
end.writeUInt32LE(offset, 16);
|
|
72
|
+
end.writeUInt16LE(0, 20);
|
|
73
|
+
return Buffer.concat([...locals, centralDirectory, end]);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/core/plugin/zip.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { StoreConfig } from '../../config/schema.js';
|
|
2
|
+
import type { GitRunner } from '../git/exec.js';
|
|
3
|
+
/**
|
|
4
|
+
* write-lifecycle spec (*session start*): a new session worktree off a freshly
|
|
5
|
+
* fetched default branch, shared by `ctxr session start` and the MCP surface's
|
|
6
|
+
* `session_start` and `capture` (serve-the-session-lifecycle-to-chat-apps D3),
|
|
7
|
+
* so the two surfaces name, place and refuse a session identically. Each
|
|
8
|
+
* surface brings its own fetch: the CLI's plain `git fetch`, the server's
|
|
9
|
+
* through its forge credential.
|
|
10
|
+
*/
|
|
11
|
+
export interface StartDeps {
|
|
12
|
+
git: GitRunner;
|
|
13
|
+
config: StoreConfig;
|
|
14
|
+
/** Fetches the default branch into `origin/<default>`; false when there is no remote or it cannot be reached. */
|
|
15
|
+
fetch(cwd: string): Promise<boolean>;
|
|
16
|
+
now(): Date;
|
|
17
|
+
/**
|
|
18
|
+
* Whether a generated branch name is already taken, when the caller can say
|
|
19
|
+
* (the server, whose captures can start twice in one second): a taken name
|
|
20
|
+
* is stepped past one second at a time. Omitted, the first name is used and
|
|
21
|
+
* git refuses a collision.
|
|
22
|
+
*/
|
|
23
|
+
branchTaken?(branch: string): Promise<boolean>;
|
|
24
|
+
}
|
|
25
|
+
export interface StartedSession {
|
|
26
|
+
/** The worktree's directory name: what the other session commands take. */
|
|
27
|
+
name: string;
|
|
28
|
+
worktree: string;
|
|
29
|
+
branch: string;
|
|
30
|
+
startPoint: string;
|
|
31
|
+
fetched: boolean;
|
|
32
|
+
/** The normalized label this session was named with, or null when none was given. */
|
|
33
|
+
label: string | null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* approve-sessions-across-stores: a session joined to one in the store that
|
|
37
|
+
* mounts this one takes its branch and worktree name from that session, never
|
|
38
|
+
* from a label or the clock. Only `ctxr session start --joins` passes it; the
|
|
39
|
+
* MCP surface keeps no mounts.
|
|
40
|
+
*/
|
|
41
|
+
export interface JoinedName {
|
|
42
|
+
branch: string;
|
|
43
|
+
worktreeName: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function startSession(deps: StartDeps, storeRoot: string, label?: string, joined?: JoinedName): Promise<StartedSession>;
|
|
46
|
+
//# sourceMappingURL=start.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/core/session/start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,iHAAiH;IACjH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,GAAG,IAAI,IAAI,CAAC;IACZ;;;;;OAKG;IACH,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BnI"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { SessionLabelUnusableError, SessionNameExistsError, SessionWorktreeRefusedError } from '../errors.js';
|
|
3
|
+
import { addWorktree } from '../git/worktree.js';
|
|
4
|
+
import { findSessionWorktreeByLabel, generateSessionBranchName, sessionLabelSlug, worktreePathFor } from '../session.js';
|
|
5
|
+
export async function startSession(deps, storeRoot, label, joined) {
|
|
6
|
+
// Ahead of the fetch, so a label that can never work costs no network round trip and leaves nothing behind.
|
|
7
|
+
let labelSlug = null;
|
|
8
|
+
if (label !== undefined) {
|
|
9
|
+
labelSlug = sessionLabelSlug(label);
|
|
10
|
+
if (labelSlug === '')
|
|
11
|
+
throw new SessionLabelUnusableError(label);
|
|
12
|
+
// A label identifies at most one session at a time, checked against the sessions on disk (name-the-session-at-start D4).
|
|
13
|
+
const existing = await findSessionWorktreeByLabel(storeRoot, deps.config, labelSlug);
|
|
14
|
+
if (existing !== null)
|
|
15
|
+
throw new SessionNameExistsError(labelSlug, existing);
|
|
16
|
+
}
|
|
17
|
+
const defaultBranch = deps.config.git.default_branch;
|
|
18
|
+
const fetched = await deps.fetch(storeRoot);
|
|
19
|
+
// The local branch both with no remote at all and with a remote that lacks the branch: honest, expected states.
|
|
20
|
+
const startPoint = fetched ? `origin/${defaultBranch}` : defaultBranch;
|
|
21
|
+
let branch = joined?.branch ?? generateSessionBranchName(deps.config, deps.now(), labelSlug ?? undefined);
|
|
22
|
+
if (joined === undefined && deps.branchTaken !== undefined) {
|
|
23
|
+
for (let step = 1; step <= 60 && (await deps.branchTaken(branch)); step += 1) {
|
|
24
|
+
branch = generateSessionBranchName(deps.config, new Date(deps.now().getTime() + step * 1000), labelSlug ?? undefined);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const worktree = joined === undefined ? worktreePathFor({ root: storeRoot, config: deps.config }, branch) : path.join(storeRoot, deps.config.session.worktrees_path, joined.worktreeName);
|
|
28
|
+
const added = await addWorktree(deps.git, storeRoot, worktree, branch, startPoint, { allowFailure: true });
|
|
29
|
+
if (added.exitCode !== 0)
|
|
30
|
+
throw new SessionWorktreeRefusedError(branch, worktree, added.stderr);
|
|
31
|
+
return { name: path.basename(worktree), worktree, branch, startPoint, fetched, label: labelSlug };
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/core/session/start.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE9G,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA+CzH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAe,EAAE,SAAiB,EAAE,KAAc,EAAE,MAAmB;IACxG,4GAA4G;IAC5G,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,SAAS,KAAK,EAAE;YAAE,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjE,yHAAyH;QACzH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrF,IAAI,QAAQ,KAAK,IAAI;YAAE,MAAM,IAAI,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,gHAAgH;IAChH,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IAEvE,IAAI,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;IAC1G,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC3D,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAC7E,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1L,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3G,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;QAAE,MAAM,IAAI,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChG,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACpG,CAAC"}
|
|
@@ -49,6 +49,11 @@ export interface SubmitResult {
|
|
|
49
49
|
/** The session the pull request belongs to, as its marker names it; null when the store has no `origin` to name it by. */
|
|
50
50
|
session_identity: SessionIdentity | null;
|
|
51
51
|
approval_url: string | null;
|
|
52
|
+
/**
|
|
53
|
+
* serve-keeps-its-clone-current D6: where the pull request's pages preview, at the address of the store that will
|
|
54
|
+
* publish them; null when that store declares no `serve.base_url`.
|
|
55
|
+
*/
|
|
56
|
+
preview_url: string | null;
|
|
52
57
|
}
|
|
53
58
|
export interface SubmitDeps extends RemoteDeps {
|
|
54
59
|
/** D4: the MCP surface's member identity; omitted, the clone's own identity commits. */
|
|
@@ -60,6 +65,8 @@ export interface SubmitDeps extends RemoteDeps {
|
|
|
60
65
|
* report lists no page. The sentences are `templates/session/pages/`'s.
|
|
61
66
|
*/
|
|
62
67
|
export declare function renderPagesSection(pages: readonly PageUrlEntry[], base: string, baseUrlDeclared: boolean): string | null;
|
|
68
|
+
/** The pull request's preview root at the publishing store's `serve.base_url`; null when it declares none. */
|
|
69
|
+
export declare function pullPreviewAddress(config: Store['config'], number: number): string | null;
|
|
63
70
|
export declare function approvalAddress(config: Store['config'], name: string): string | null;
|
|
64
71
|
export declare function submitSession(deps: SubmitDeps, session: SessionRef, input: SubmitInput): Promise<SubmitResult>;
|
|
65
72
|
/** `--body-file`: the body read from a file, relative to `cwd`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/core/session/submit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAElG,OAAO,EAA0F,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAO7J,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../src/core/session/submit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAElG,OAAO,EAA0F,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAO7J,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAA6D,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;AAEzG,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,oGAAoG;IACpG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,kFAAkF;IAClF,0HAA0H;IAC1H,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,wFAAwF;IACxF,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;CACzC;AA2CD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAexH;AA2BD,8GAA8G;AAC9G,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKpF;AAmCD,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAiHpH;AAED,mEAAmE;AACnE,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM7E"}
|
|
@@ -13,6 +13,7 @@ import { ContextureError, SessionRefusedError } from '../errors.js';
|
|
|
13
13
|
import { ExitCode } from '../exit-codes.js';
|
|
14
14
|
import { hasRemote } from '../git/worktree.js';
|
|
15
15
|
import { packagedTemplate, substituteBlock } from '../templates.js';
|
|
16
|
+
import { joinBaseUrl, pullPreviewRoute } from '../browse/page-url.js';
|
|
16
17
|
import { commitStaged } from './commit.js';
|
|
17
18
|
import { firstLines, publishSession, remoteTip, SessionRemoteError } from './remote.js';
|
|
18
19
|
import { commitsAhead, rebaseInProgress } from './resolve.js';
|
|
@@ -98,6 +99,11 @@ async function sessionApprovalAddress(deps, session, identity) {
|
|
|
98
99
|
}
|
|
99
100
|
return approvalAddress(deps.config, session.name);
|
|
100
101
|
}
|
|
102
|
+
/** The pull request's preview root at the publishing store's `serve.base_url`; null when it declares none. */
|
|
103
|
+
export function pullPreviewAddress(config, number) {
|
|
104
|
+
const baseUrl = config.serve?.base_url;
|
|
105
|
+
return baseUrl === undefined ? null : joinBaseUrl(baseUrl, pullPreviewRoute(number));
|
|
106
|
+
}
|
|
101
107
|
export function approvalAddress(config, name) {
|
|
102
108
|
if (config.change_approval === undefined)
|
|
103
109
|
return null;
|
|
@@ -240,6 +246,8 @@ export async function submitSession(deps, session, input) {
|
|
|
240
246
|
pull_request: { number: published.pull.number, url: published.pull.url },
|
|
241
247
|
session_identity: identity,
|
|
242
248
|
approval_url: await sessionApprovalAddress(deps, session, identity),
|
|
249
|
+
// The worktree's own configuration: the store whose repository the pull request is on publishes its pages.
|
|
250
|
+
preview_url: pullPreviewAddress((await openWorktreeStore(session)).config, published.pull.number),
|
|
243
251
|
};
|
|
244
252
|
}
|
|
245
253
|
/** `--body-file`: the body read from a file, relative to `cwd`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/core/session/submit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/core/session/submit.ts"],"names":[],"mappings":"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"}
|
package/dist/core/skills.d.ts
CHANGED
|
@@ -61,8 +61,26 @@ export declare const OPTIONAL_SKILLS: readonly SkillSeed[];
|
|
|
61
61
|
/** Every owned skill this store is shipped: the full set plus the opt-in ones its config enables. */
|
|
62
62
|
export declare function activeSkillSeeds(config: StoreConfig): SkillSeed[];
|
|
63
63
|
export declare const SKILLS: readonly SkillSeed[];
|
|
64
|
-
/**
|
|
65
|
-
|
|
64
|
+
/**
|
|
65
|
+
* serve-the-session-lifecycle-to-chat-apps D6: the owned skills a chat app's
|
|
66
|
+
* plugin carries, rendered from the same templates as the CLI copies. Left
|
|
67
|
+
* out: the skills that run local programs (upgrade, second opinion,
|
|
68
|
+
* Circleback), landing (a person lands from the approval page), and the
|
|
69
|
+
* derived-artifacts, organize-audit and publish procedures, whose steps the
|
|
70
|
+
* surface does not offer.
|
|
71
|
+
*/
|
|
72
|
+
export declare const MCP_SKILL_FILES: readonly string[];
|
|
73
|
+
/** Which surface a render is for: the store's own skills copies, or the chat-app plugin's (D6). */
|
|
74
|
+
export type SkillTarget = 'cli' | 'mcp';
|
|
75
|
+
/**
|
|
76
|
+
* The owned skills, rendered against one store's configuration. `cli` is what
|
|
77
|
+
* `syncShippedSkills` writes. `mcp` is the included subset, each the CLI
|
|
78
|
+
* render's text unchanged under the one preamble that maps its commands and
|
|
79
|
+
* git steps onto the MCP surface's tools (serve-the-session-lifecycle-to-chat-apps D6).
|
|
80
|
+
*/
|
|
81
|
+
export declare function renderSkills(config: StoreConfig, target?: SkillTarget): Skill[];
|
|
82
|
+
/** `templates/skills/mcp/_preamble.md`, rendered against the store's configuration. */
|
|
83
|
+
export declare function mcpPreamble(config: StoreConfig): string;
|
|
66
84
|
/**
|
|
67
85
|
* entry-doc-generation spec: every skill actually on disk — the contexture-
|
|
68
86
|
* owned ones plus any operator-authored ones. This is what the AGENTS.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/core/skills.js
CHANGED
|
@@ -8,6 +8,7 @@ import { scanDocsDir, SKILL_FILE_NAME } from './conventions.js';
|
|
|
8
8
|
import { GRAPH_DOCUMENT_RELATIVE_PATH } from './graph/persist.js';
|
|
9
9
|
import { writeFileAtomic } from './fs/atomic.js';
|
|
10
10
|
import { packagedTemplate } from './templates.js';
|
|
11
|
+
import { GIT_STEP_TOOLS, SESSION_COMMAND_TOOLS, UNAVAILABLE_COMMANDS } from './mcp/tool-map.js';
|
|
11
12
|
/**
|
|
12
13
|
* The canonical skill bodies live as plain markdown under
|
|
13
14
|
* `templates/skills/` — see `templates.ts` for why they are loaded
|
|
@@ -354,9 +355,61 @@ export const SKILLS = [
|
|
|
354
355
|
SECOND_OPINION,
|
|
355
356
|
RESEARCH,
|
|
356
357
|
];
|
|
357
|
-
/**
|
|
358
|
-
|
|
359
|
-
|
|
358
|
+
/**
|
|
359
|
+
* 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
|
|
361
|
+
* out: the skills that run local programs (upgrade, second opinion,
|
|
362
|
+
* Circleback), landing (a person lands from the approval page), and the
|
|
363
|
+
* derived-artifacts, organize-audit and publish procedures, whose steps the
|
|
364
|
+
* surface does not offer.
|
|
365
|
+
*/
|
|
366
|
+
export const MCP_SKILL_FILES = [
|
|
367
|
+
CAPTURE,
|
|
368
|
+
INGEST_ORCHESTRATION,
|
|
369
|
+
PLACEMENT,
|
|
370
|
+
CONNECTION_FINDING,
|
|
371
|
+
CONNECTION_PROPOSAL,
|
|
372
|
+
ROLLUP,
|
|
373
|
+
MISSION,
|
|
374
|
+
SESSION_LIFECYCLE,
|
|
375
|
+
SUBMIT,
|
|
376
|
+
SESSION_CAPTURE,
|
|
377
|
+
RESEARCH,
|
|
378
|
+
].map((seed) => seed.file);
|
|
379
|
+
/**
|
|
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).
|
|
384
|
+
*/
|
|
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) }));
|
|
391
|
+
}
|
|
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(/\/*$/, '/'));
|
|
404
|
+
}
|
|
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}`;
|
|
360
413
|
}
|
|
361
414
|
function renderSkillSeeds(seeds, config) {
|
|
362
415
|
return seeds.map((seed) => ({
|