@furkankoykiran/contextify-cli 0.4.0 → 0.4.3
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/LICENSE +21 -0
- package/README.md +64 -0
- package/dist/commands/hooks.d.ts +5 -1
- package/dist/commands/hooks.d.ts.map +1 -1
- package/dist/commands/hooks.js +154 -1
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/install-hooks.d.ts +2 -2
- package/dist/commands/install-hooks.d.ts.map +1 -1
- package/dist/commands/install-hooks.js +82 -4
- package/dist/commands/install-hooks.js.map +1 -1
- package/dist/commands/install.d.ts +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +5 -5
- package/dist/commands/install.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -0
- package/dist/index.js.map +1 -1
- package/dist/shipper.d.ts +1 -1
- package/package.json +23 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Furkan Köykıran
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# @furkankoykiran/contextify-cli
|
|
2
|
+
|
|
3
|
+
**Telemetry CLI for Contextify — shadows your Claude Code sessions and ships them to your project's memory.**
|
|
4
|
+
|
|
5
|
+
Pairs with [Contextify](https://contextify.live), a closed-loop prompt factory: every session you run feeds back into your next prompt. This CLI is the capture half.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm add -g @furkankoykiran/contextify-cli
|
|
11
|
+
# or
|
|
12
|
+
npm i -g @furkankoykiran/contextify-cli
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Quick start
|
|
16
|
+
|
|
17
|
+
1. Create an API key at https://contextify.live/dashboard/keys
|
|
18
|
+
2. Export the key and the server URL:
|
|
19
|
+
```bash
|
|
20
|
+
export CONTEXTIFY_API_KEY="ctx_live_..."
|
|
21
|
+
export CONTEXTIFY_SERVER_URL="https://contextify.live"
|
|
22
|
+
```
|
|
23
|
+
3. Install the Claude Code hooks (once per machine):
|
|
24
|
+
```bash
|
|
25
|
+
contextify install
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
That's it — every Claude Code session is now captured. `project_id` is derived from each session's `cwd` at fire-time, so no per-project config is needed. Inspect captures and synthesized memories at https://contextify.live/dashboard.
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
| Command | What it does |
|
|
33
|
+
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
|
|
34
|
+
| `contextify install [--key <ctx_live_...>] [--server <url>] [--dry-run]` | Wires SessionStart / Stop / SessionEnd into `~/.claude/settings.json`. Run once per machine. |
|
|
35
|
+
| `contextify init [projectId] [--name <name>] [--server <url>]` | Pin a project id by writing `.contextify.json` in the current directory. |
|
|
36
|
+
| `contextify wrap -- <cmd> [args...]` | Run any command, mirror its output, and ship the capture in batches. |
|
|
37
|
+
| `contextify login --key <ctx_live_...>` | Persist a key to `~/.contextify/credentials.json` (chmod 600). |
|
|
38
|
+
| `contextify ship --once` | Flush locally-spooled batches left over from offline runs. |
|
|
39
|
+
| `contextify prompt <draft\|-> [--top-k N] [--show-memories] [--json]` | Build an XML prompt augmented with project memories. Pass `-` to read from stdin. |
|
|
40
|
+
| `contextify hooks <session-start\|stop\|session-end>` | Internal — invoked by Claude Code hook scripts. |
|
|
41
|
+
| `contextify --version` | Print the CLI version. |
|
|
42
|
+
|
|
43
|
+
## Environment
|
|
44
|
+
|
|
45
|
+
| Variable | Purpose |
|
|
46
|
+
| ----------------------- | ------------------------------------------------------------------------------------------ |
|
|
47
|
+
| `CONTEXTIFY_API_KEY` | Bearer key used to authenticate every request. Wins over `~/.contextify/credentials.json`. |
|
|
48
|
+
| `CONTEXTIFY_SERVER_URL` | Target server. Defaults to `https://contextify.live`. |
|
|
49
|
+
| `CONTEXTIFY_PROJECT_ID` | Override the auto-derived project id. |
|
|
50
|
+
| `CONTEXTIFY_STATE_DIR` | Override the `~/.contextify` state directory. |
|
|
51
|
+
| `CLAUDE_SETTINGS_PATH` | Override the `~/.claude/settings.json` path (useful for tests). |
|
|
52
|
+
|
|
53
|
+
## How identity is resolved
|
|
54
|
+
|
|
55
|
+
Project id resolution stack, first match wins:
|
|
56
|
+
|
|
57
|
+
1. `CONTEXTIFY_PROJECT_ID` (env)
|
|
58
|
+
2. `.contextify.json` in the current dir or an ancestor (`projectId` field)
|
|
59
|
+
3. Git remote URL of the enclosing repo
|
|
60
|
+
4. `realpath` of the current directory
|
|
61
|
+
|
|
62
|
+
## License
|
|
63
|
+
|
|
64
|
+
MIT
|
package/dist/commands/hooks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type HookEvent = 'session-start' | 'stop' | 'session-end';
|
|
1
|
+
export type HookEvent = 'session-start' | 'stop' | 'session-end' | 'user-prompt-submit' | 'post-tool-use';
|
|
2
2
|
export interface HookPayload {
|
|
3
3
|
session_id?: string;
|
|
4
4
|
transcript_path?: string;
|
|
@@ -6,6 +6,10 @@ export interface HookPayload {
|
|
|
6
6
|
hook_event_name?: string;
|
|
7
7
|
source?: string;
|
|
8
8
|
reason?: string;
|
|
9
|
+
prompt?: string;
|
|
10
|
+
tool_name?: string;
|
|
11
|
+
tool_input?: unknown;
|
|
12
|
+
tool_response?: unknown;
|
|
9
13
|
[k: string]: unknown;
|
|
10
14
|
}
|
|
11
15
|
export interface SessionState {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,SAAS,GACjB,eAAe,GACf,MAAM,GACN,aAAa,GACb,oBAAoB,GACpB,eAAe,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAmBD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACnC;AAgBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9E;AAmWD,wBAAsB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCpF;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
|
package/dist/commands/hooks.js
CHANGED
|
@@ -19,8 +19,23 @@ import { randomUUID } from 'node:crypto';
|
|
|
19
19
|
import { DEFAULT_SERVER_URL } from '../config.js';
|
|
20
20
|
import { resolveApiKey } from '../credentials.js';
|
|
21
21
|
import { resolveIdentity } from '../identity.js';
|
|
22
|
-
import { flushSpool, shipBatch } from '../shipper.js';
|
|
22
|
+
import { flushSpool, shipBatch, spoolBatch } from '../shipper.js';
|
|
23
23
|
import { parseLatestTurn } from '../transcript.js';
|
|
24
|
+
/**
|
|
25
|
+
* Tools whose PostToolUse events we ship. Excludes high-frequency read-only
|
|
26
|
+
* inspections (Read/Grep/Glob/LS/NotebookRead/TodoWrite) because they bloat
|
|
27
|
+
* telemetry with no extraction value. Task is included so subagent activity
|
|
28
|
+
* is at least observable at the parent level.
|
|
29
|
+
*/
|
|
30
|
+
const POST_TOOL_USE_INTERESTING = new Set([
|
|
31
|
+
'Bash',
|
|
32
|
+
'Edit',
|
|
33
|
+
'MultiEdit',
|
|
34
|
+
'Write',
|
|
35
|
+
'WebFetch',
|
|
36
|
+
'Task',
|
|
37
|
+
]);
|
|
38
|
+
const MAX_TOOL_SUMMARY_CHARS = 400;
|
|
24
39
|
/** Default stdin reader — fully consumes process.stdin. */
|
|
25
40
|
async function defaultReadStdin() {
|
|
26
41
|
if (process.stdin.isTTY)
|
|
@@ -177,6 +192,140 @@ async function runStop(payload, deps) {
|
|
|
177
192
|
});
|
|
178
193
|
return 0;
|
|
179
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Resolve project context for a hook that may fire before SessionStart has
|
|
197
|
+
* cached state for this session id. Reads session state first; falls back to
|
|
198
|
+
* inline identity resolution from cwd.
|
|
199
|
+
*/
|
|
200
|
+
async function resolveProjectContext(payload, deps) {
|
|
201
|
+
const sessionId = payload.session_id;
|
|
202
|
+
if (sessionId) {
|
|
203
|
+
const cached = await readSession(deps.stateRoot, sessionId);
|
|
204
|
+
if (cached) {
|
|
205
|
+
return {
|
|
206
|
+
projectId: cached.projectId,
|
|
207
|
+
projectName: cached.projectName,
|
|
208
|
+
serverUrl: cached.serverUrl,
|
|
209
|
+
cwd: cached.cwd,
|
|
210
|
+
creds: resolveApiKey(deps.env),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
const cwd = payload.cwd ?? deps.env.PWD ?? process.cwd();
|
|
215
|
+
let identity;
|
|
216
|
+
try {
|
|
217
|
+
identity = await resolveIdentity({ cwd, env: deps.env });
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
const creds = resolveApiKey(deps.env);
|
|
223
|
+
return {
|
|
224
|
+
projectId: identity.projectId,
|
|
225
|
+
projectName: identity.projectName,
|
|
226
|
+
serverUrl: resolveServerUrl(deps.env, creds),
|
|
227
|
+
cwd,
|
|
228
|
+
creds,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
function truncate(text, max) {
|
|
232
|
+
if (text.length <= max)
|
|
233
|
+
return text;
|
|
234
|
+
return `${text.slice(0, max - 3)}...`;
|
|
235
|
+
}
|
|
236
|
+
function summarizeToolUse(name, input) {
|
|
237
|
+
if (!input || typeof input !== 'object')
|
|
238
|
+
return name;
|
|
239
|
+
const i = input;
|
|
240
|
+
switch (name) {
|
|
241
|
+
case 'Bash':
|
|
242
|
+
return typeof i.command === 'string' ? truncate(i.command, MAX_TOOL_SUMMARY_CHARS) : name;
|
|
243
|
+
case 'Edit':
|
|
244
|
+
case 'MultiEdit':
|
|
245
|
+
case 'Write':
|
|
246
|
+
return typeof i.file_path === 'string' ? truncate(i.file_path, MAX_TOOL_SUMMARY_CHARS) : name;
|
|
247
|
+
case 'WebFetch':
|
|
248
|
+
return typeof i.url === 'string' ? truncate(i.url, MAX_TOOL_SUMMARY_CHARS) : name;
|
|
249
|
+
case 'Task': {
|
|
250
|
+
const subagent = typeof i.subagent_type === 'string' ? i.subagent_type : 'unknown';
|
|
251
|
+
const desc = typeof i.description === 'string' ? `: ${truncate(i.description, 200)}` : '';
|
|
252
|
+
return `${subagent}${desc}`;
|
|
253
|
+
}
|
|
254
|
+
default:
|
|
255
|
+
return name;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
async function runUserPromptSubmit(payload, deps) {
|
|
259
|
+
const promptText = typeof payload.prompt === 'string' ? payload.prompt.trim() : '';
|
|
260
|
+
if (promptText.length === 0) {
|
|
261
|
+
await appendLog(deps.stateRoot, 'user-prompt-submit: empty prompt — skipping');
|
|
262
|
+
return 0;
|
|
263
|
+
}
|
|
264
|
+
const ctx = await resolveProjectContext(payload, deps);
|
|
265
|
+
if (!ctx) {
|
|
266
|
+
await appendLog(deps.stateRoot, 'user-prompt-submit: no project context — skipping');
|
|
267
|
+
return 0;
|
|
268
|
+
}
|
|
269
|
+
const envelope = {
|
|
270
|
+
source: 'claude-code',
|
|
271
|
+
kind: 'user_prompt',
|
|
272
|
+
prompt: {
|
|
273
|
+
text: promptText,
|
|
274
|
+
cwd: ctx.cwd,
|
|
275
|
+
sessionId: payload.session_id ?? null,
|
|
276
|
+
ts: new Date().toISOString(),
|
|
277
|
+
},
|
|
278
|
+
};
|
|
279
|
+
// High-frequency, blocking-sensitive event: Claude Code waits for this
|
|
280
|
+
// hook to exit before it processes the prompt. Spool to disk only — no
|
|
281
|
+
// network — so a slow or unreachable server never adds latency to the
|
|
282
|
+
// user-visible turn. SessionEnd's flushSpool drains the spool when the
|
|
283
|
+
// session closes; `contextify ship --once` is the manual escape hatch.
|
|
284
|
+
await spoolBatch({
|
|
285
|
+
projectId: ctx.projectId,
|
|
286
|
+
projectName: ctx.projectName,
|
|
287
|
+
sessionId: payload.session_id ?? randomUUID(),
|
|
288
|
+
payload: JSON.stringify(envelope),
|
|
289
|
+
source: 'claude-code',
|
|
290
|
+
}, ctx.cwd, 'user-prompt-submit');
|
|
291
|
+
return 0;
|
|
292
|
+
}
|
|
293
|
+
async function runPostToolUse(payload, deps) {
|
|
294
|
+
const toolName = typeof payload.tool_name === 'string' ? payload.tool_name : '';
|
|
295
|
+
if (!POST_TOOL_USE_INTERESTING.has(toolName)) {
|
|
296
|
+
// Read/Grep/Glob/etc. — silently drop; high volume, low signal.
|
|
297
|
+
return 0;
|
|
298
|
+
}
|
|
299
|
+
const ctx = await resolveProjectContext(payload, deps);
|
|
300
|
+
if (!ctx) {
|
|
301
|
+
await appendLog(deps.stateRoot, `post-tool-use: no project context — skipping ${toolName}`);
|
|
302
|
+
return 0;
|
|
303
|
+
}
|
|
304
|
+
const summary = summarizeToolUse(toolName, payload.tool_input);
|
|
305
|
+
const envelope = {
|
|
306
|
+
source: 'claude-code',
|
|
307
|
+
kind: 'tool_use',
|
|
308
|
+
tool: {
|
|
309
|
+
name: toolName,
|
|
310
|
+
summary,
|
|
311
|
+
cwd: ctx.cwd,
|
|
312
|
+
sessionId: payload.session_id ?? null,
|
|
313
|
+
ts: new Date().toISOString(),
|
|
314
|
+
},
|
|
315
|
+
};
|
|
316
|
+
// Same blocking-sensitive contract as user-prompt-submit: Claude Code
|
|
317
|
+
// waits for this hook between tool calls, so we never hit the network
|
|
318
|
+
// inline. Spool to disk; the spool flushes on SessionEnd or via
|
|
319
|
+
// `contextify ship --once`.
|
|
320
|
+
await spoolBatch({
|
|
321
|
+
projectId: ctx.projectId,
|
|
322
|
+
projectName: ctx.projectName,
|
|
323
|
+
sessionId: payload.session_id ?? randomUUID(),
|
|
324
|
+
payload: JSON.stringify(envelope),
|
|
325
|
+
source: 'claude-code',
|
|
326
|
+
}, ctx.cwd, `post-tool-use:${toolName}`);
|
|
327
|
+
return 0;
|
|
328
|
+
}
|
|
180
329
|
async function runSessionEnd(payload, deps) {
|
|
181
330
|
const sessionId = payload.session_id;
|
|
182
331
|
if (!sessionId) {
|
|
@@ -234,6 +383,10 @@ export async function runHook(event, deps = {}) {
|
|
|
234
383
|
return await runStop(payload, resolved);
|
|
235
384
|
case 'session-end':
|
|
236
385
|
return await runSessionEnd(payload, resolved);
|
|
386
|
+
case 'user-prompt-submit':
|
|
387
|
+
return await runUserPromptSubmit(payload, resolved);
|
|
388
|
+
case 'post-tool-use':
|
|
389
|
+
return await runPostToolUse(payload, resolved);
|
|
237
390
|
default:
|
|
238
391
|
// Unreachable via the CLI dispatcher, but guard anyway.
|
|
239
392
|
await appendLog(resolved.stateRoot, `unknown hook event: ${event}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const HOOK_EVENTS: readonly ["SessionStart", "Stop", "SessionEnd"];
|
|
1
|
+
export declare const HOOK_EVENTS: readonly ["SessionStart", "Stop", "SessionEnd", "UserPromptSubmit", "PostToolUse"];
|
|
2
2
|
export type ClaudeHookEvent = (typeof HOOK_EVENTS)[number];
|
|
3
3
|
export interface InstallHooksOptions {
|
|
4
4
|
readonly stateRoot?: string;
|
|
@@ -36,7 +36,7 @@ export declare function defaultClaudeSettingsPath(env?: NodeJS.ProcessEnv): stri
|
|
|
36
36
|
* Append `command` under `hooks.<event>` without disturbing other groups.
|
|
37
37
|
* Returns true if a new entry was appended, false if already present.
|
|
38
38
|
*/
|
|
39
|
-
export declare function appendHookCommand(settings: ClaudeSettings, event: ClaudeHookEvent, command: string): boolean;
|
|
39
|
+
export declare function appendHookCommand(settings: ClaudeSettings, event: ClaudeHookEvent, command: string, matcher?: string): boolean;
|
|
40
40
|
export declare function installHooks(opts?: InstallHooksOptions): Promise<InstallHooksResult>;
|
|
41
41
|
export {};
|
|
42
42
|
//# sourceMappingURL=install-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hooks.d.ts","sourceRoot":"","sources":["../../src/commands/install-hooks.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"install-hooks.d.ts","sourceRoot":"","sources":["../../src/commands/install-hooks.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,WAAW,oFAMd,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAkG3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,eAAe,EAAE,CAAC;IACpD,+DAA+D;IAC/D,QAAQ,CAAC,oBAAoB,EAAE,SAAS,eAAe,EAAE,CAAC;CAC3D;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AAE7E,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE7E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEtF;AA2CD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAWT;AA0BD,wBAAsB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyC9F"}
|
|
@@ -14,30 +14,103 @@ import { existsSync } from 'node:fs';
|
|
|
14
14
|
import { chmod, copyFile, mkdir, readFile, rename, writeFile } from 'node:fs/promises';
|
|
15
15
|
import { homedir } from 'node:os';
|
|
16
16
|
import { dirname, join } from 'node:path';
|
|
17
|
-
export const HOOK_EVENTS = [
|
|
17
|
+
export const HOOK_EVENTS = [
|
|
18
|
+
'SessionStart',
|
|
19
|
+
'Stop',
|
|
20
|
+
'SessionEnd',
|
|
21
|
+
'UserPromptSubmit',
|
|
22
|
+
'PostToolUse',
|
|
23
|
+
];
|
|
18
24
|
const SCRIPT_FILES = {
|
|
19
25
|
SessionStart: 'session-start.sh',
|
|
20
26
|
Stop: 'stop.sh',
|
|
21
27
|
SessionEnd: 'session-end.sh',
|
|
28
|
+
UserPromptSubmit: 'user-prompt-submit.sh',
|
|
29
|
+
PostToolUse: 'post-tool-use.sh',
|
|
22
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Matchers for events that take one. PostToolUse fires for every tool;
|
|
33
|
+
* scope it to the tools we actually ship in hooks.ts so Claude Code
|
|
34
|
+
* doesn't spend hook overhead on Read/Grep/Glob/LS.
|
|
35
|
+
*/
|
|
36
|
+
const HOOK_MATCHERS = {
|
|
37
|
+
PostToolUse: 'Bash|Edit|MultiEdit|Write|WebFetch|Task',
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Shared prologue every hook script ships with. Claude Code can launch
|
|
41
|
+
* hooks from contexts that inherit a stripped PATH (systemd-style spawn,
|
|
42
|
+
* GUI runner, IDE child process) — so a bare `exec contextify` would
|
|
43
|
+
* silently fail on machines where the CLI is installed via pnpm/npm
|
|
44
|
+
* global but `~/.local/share/pnpm` (etc.) isn't on the inherited PATH.
|
|
45
|
+
*
|
|
46
|
+
* The prologue covers the common install layouts without forcing every
|
|
47
|
+
* operator to fix their PATH:
|
|
48
|
+
*
|
|
49
|
+
* - `CONTEXTIFY_BIN_DIR` explicit escape hatch (highest precedence) —
|
|
50
|
+
* set this to the dir holding the `contextify`
|
|
51
|
+
* binary for repo-local dev installs, e.g.
|
|
52
|
+
* `export CONTEXTIFY_BIN_DIR=<repo>/node_modules/.bin`
|
|
53
|
+
* - pnpm global `$PNPM_HOME` (set by `pnpm setup`), else
|
|
54
|
+
* `~/.local/share/pnpm` (its default).
|
|
55
|
+
* - npm global `~/.npm-global/bin` and `~/.npm/bin`.
|
|
56
|
+
* - bun / volta / brew one-line entries for portability.
|
|
57
|
+
* - /usr/local/bin for `pnpm link --global` and apt-style installs.
|
|
58
|
+
*
|
|
59
|
+
* Hooks must never block Claude Code. If `contextify` still isn't on PATH
|
|
60
|
+
* after the augmentation, the script exits 0 — Claude Code keeps going.
|
|
61
|
+
*/
|
|
62
|
+
const RESOLVER_PROLOGUE = `# Make 'node' reachable for the contextify CLI shim. Hooks may be launched
|
|
63
|
+
# from a subprocess with a stripped PATH that lacks nvm/asdf/volta dirs.
|
|
64
|
+
if ! command -v node >/dev/null 2>&1; then
|
|
65
|
+
if [ -s "\${NVM_DIR:-$HOME/.nvm}/nvm.sh" ]; then
|
|
66
|
+
# shellcheck disable=SC1091
|
|
67
|
+
. "\${NVM_DIR:-$HOME/.nvm}/nvm.sh" >/dev/null 2>&1
|
|
68
|
+
nvm use default >/dev/null 2>&1 || true
|
|
69
|
+
fi
|
|
70
|
+
for d in "$HOME"/.nvm/versions/node/*/bin "$HOME"/.volta/bin "$HOME"/.asdf/installs/nodejs/*/bin /usr/local/bin /opt/homebrew/bin; do
|
|
71
|
+
[ -x "$d/node" ] && PATH="$d:$PATH" && break
|
|
72
|
+
done
|
|
73
|
+
fi
|
|
74
|
+
# Resolve the contextify CLI across global pnpm/npm/bun installs and the
|
|
75
|
+
# repo-local workspace bin. Override by exporting CONTEXTIFY_BIN_DIR.
|
|
76
|
+
PATH="\${CONTEXTIFY_BIN_DIR:+$CONTEXTIFY_BIN_DIR:}\${PNPM_HOME:-$HOME/.local/share/pnpm}:$HOME/.npm-global/bin:$HOME/.npm/bin:$HOME/.bun/bin:$HOME/.volta/bin:/usr/local/bin:/opt/homebrew/bin:$PATH"
|
|
77
|
+
command -v contextify >/dev/null 2>&1 || exit 0`;
|
|
23
78
|
const SCRIPT_BODIES = {
|
|
24
79
|
SessionStart: `#!/usr/bin/env bash
|
|
25
80
|
# Contextify hook — SessionStart.
|
|
26
81
|
# Pipes the Claude Code hook stdin into 'contextify hooks session-start'.
|
|
27
82
|
# Silent on success, never blocks.
|
|
83
|
+
${RESOLVER_PROLOGUE}
|
|
28
84
|
exec contextify hooks session-start
|
|
29
85
|
`,
|
|
30
86
|
Stop: `#!/usr/bin/env bash
|
|
31
87
|
# Contextify hook — Stop.
|
|
32
88
|
# Pipes the Claude Code hook stdin into 'contextify hooks stop'.
|
|
33
89
|
# Silent on success, never blocks.
|
|
90
|
+
${RESOLVER_PROLOGUE}
|
|
34
91
|
exec contextify hooks stop
|
|
35
92
|
`,
|
|
36
93
|
SessionEnd: `#!/usr/bin/env bash
|
|
37
94
|
# Contextify hook — SessionEnd.
|
|
38
95
|
# Pipes the Claude Code hook stdin into 'contextify hooks session-end'.
|
|
39
96
|
# Silent on success, never blocks.
|
|
97
|
+
${RESOLVER_PROLOGUE}
|
|
40
98
|
exec contextify hooks session-end
|
|
99
|
+
`,
|
|
100
|
+
UserPromptSubmit: `#!/usr/bin/env bash
|
|
101
|
+
# Contextify hook — UserPromptSubmit.
|
|
102
|
+
# Pipes the Claude Code hook stdin into 'contextify hooks user-prompt-submit'.
|
|
103
|
+
# Silent on success, never blocks.
|
|
104
|
+
${RESOLVER_PROLOGUE}
|
|
105
|
+
exec contextify hooks user-prompt-submit
|
|
106
|
+
`,
|
|
107
|
+
PostToolUse: `#!/usr/bin/env bash
|
|
108
|
+
# Contextify hook — PostToolUse.
|
|
109
|
+
# Pipes the Claude Code hook stdin into 'contextify hooks post-tool-use'.
|
|
110
|
+
# Silent on success, never blocks. The matcher in settings.json limits
|
|
111
|
+
# which tools fire this; the CLI re-filters defensively.
|
|
112
|
+
${RESOLVER_PROLOGUE}
|
|
113
|
+
exec contextify hooks post-tool-use
|
|
41
114
|
`,
|
|
42
115
|
};
|
|
43
116
|
export function defaultStateRoot(env = process.env) {
|
|
@@ -93,13 +166,16 @@ function eventHasCommand(groups, command) {
|
|
|
93
166
|
* Append `command` under `hooks.<event>` without disturbing other groups.
|
|
94
167
|
* Returns true if a new entry was appended, false if already present.
|
|
95
168
|
*/
|
|
96
|
-
export function appendHookCommand(settings, event, command) {
|
|
169
|
+
export function appendHookCommand(settings, event, command, matcher) {
|
|
97
170
|
const hooks = settings.hooks ?? {};
|
|
98
171
|
const existing = hooks[event];
|
|
99
172
|
if (eventHasCommand(existing, command))
|
|
100
173
|
return false;
|
|
101
174
|
const groups = Array.isArray(existing) ? [...existing] : [];
|
|
102
|
-
|
|
175
|
+
const entry = { hooks: [{ type: 'command', command }] };
|
|
176
|
+
if (matcher)
|
|
177
|
+
entry.matcher = matcher;
|
|
178
|
+
groups.push(entry);
|
|
103
179
|
hooks[event] = groups;
|
|
104
180
|
settings.hooks = hooks;
|
|
105
181
|
return true;
|
|
@@ -132,6 +208,8 @@ export async function installHooks(opts = {}) {
|
|
|
132
208
|
SessionStart: opts.scriptBodies?.SessionStart ?? SCRIPT_BODIES.SessionStart,
|
|
133
209
|
Stop: opts.scriptBodies?.Stop ?? SCRIPT_BODIES.Stop,
|
|
134
210
|
SessionEnd: opts.scriptBodies?.SessionEnd ?? SCRIPT_BODIES.SessionEnd,
|
|
211
|
+
UserPromptSubmit: opts.scriptBodies?.UserPromptSubmit ?? SCRIPT_BODIES.UserPromptSubmit,
|
|
212
|
+
PostToolUse: opts.scriptBodies?.PostToolUse ?? SCRIPT_BODIES.PostToolUse,
|
|
135
213
|
};
|
|
136
214
|
const hooksDir = await materializeScripts(stateRoot, bodies);
|
|
137
215
|
const backupPath = await snapshotSettings(stateRoot, settingsPath);
|
|
@@ -140,7 +218,7 @@ export async function installHooks(opts = {}) {
|
|
|
140
218
|
const present = [];
|
|
141
219
|
for (const event of HOOK_EVENTS) {
|
|
142
220
|
const command = hookCommandFor(stateRoot, event);
|
|
143
|
-
if (appendHookCommand(settings, event, command)) {
|
|
221
|
+
if (appendHookCommand(settings, event, command, HOOK_MATCHERS[event])) {
|
|
144
222
|
appended.push(event);
|
|
145
223
|
}
|
|
146
224
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../../src/commands/install-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../../src/commands/install-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* available, so IDE-spawned hook subprocesses (which do not inherit the
|
|
10
10
|
* operator's shell env) can authenticate against the SaaS via the
|
|
11
11
|
* on-disk ~/.contextify/credentials.json. Without this step, hooks ship
|
|
12
|
-
* unauthenticated and the server
|
|
12
|
+
* unauthenticated and the server rejects them with 401.
|
|
13
13
|
*
|
|
14
14
|
* Designed for users who want one-time global wiring: run once anywhere,
|
|
15
15
|
* and every Claude Code session in any directory gets captured. The hook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IACrC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,mCAAmC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,eAAe,CAAC;CACvD;AA+BD,wBAAsB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2F9F"}
|
package/dist/commands/install.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* available, so IDE-spawned hook subprocesses (which do not inherit the
|
|
10
10
|
* operator's shell env) can authenticate against the SaaS via the
|
|
11
11
|
* on-disk ~/.contextify/credentials.json. Without this step, hooks ship
|
|
12
|
-
* unauthenticated and the server
|
|
12
|
+
* unauthenticated and the server rejects them with 401.
|
|
13
13
|
*
|
|
14
14
|
* Designed for users who want one-time global wiring: run once anywhere,
|
|
15
15
|
* and every Claude Code session in any directory gets captured. The hook
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
*/
|
|
29
29
|
import { saveCredentials } from '../credentials.js';
|
|
30
30
|
import { KEY_RE } from './login.js';
|
|
31
|
-
import { installHooks } from './install-hooks.js';
|
|
31
|
+
import { HOOK_EVENTS, installHooks } from './install-hooks.js';
|
|
32
32
|
function resolveInstallCreds(args, env) {
|
|
33
33
|
const flagKey = args.apiKey?.trim();
|
|
34
34
|
if (flagKey) {
|
|
@@ -68,7 +68,7 @@ export async function runInstall(args, opts = {}) {
|
|
|
68
68
|
const settingsPath = opts.claudeSettingsPath ?? defaultClaudeSettingsPath(env);
|
|
69
69
|
stdout.write(`${JSON.stringify({
|
|
70
70
|
dryRun: true,
|
|
71
|
-
wouldWriteHooks:
|
|
71
|
+
wouldWriteHooks: HOOK_EVENTS,
|
|
72
72
|
hooksDir: `${stateRoot}/hooks`,
|
|
73
73
|
settingsPath,
|
|
74
74
|
backupDir: `${stateRoot}/backups`,
|
|
@@ -103,7 +103,7 @@ export async function runInstall(args, opts = {}) {
|
|
|
103
103
|
return 1;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
-
const allPresent = result.appendedEvents.length === 0 && result.alreadyPresentEvents.length ===
|
|
106
|
+
const allPresent = result.appendedEvents.length === 0 && result.alreadyPresentEvents.length === HOOK_EVENTS.length;
|
|
107
107
|
stdout.write(`${allPresent ? 'Hooks already installed' : 'Installed Contextify hooks'} (`);
|
|
108
108
|
stdout.write(`appended=${JSON.stringify(result.appendedEvents)}, `);
|
|
109
109
|
stdout.write(`alreadyPresent=${JSON.stringify(result.alreadyPresentEvents)})\n`);
|
|
@@ -117,7 +117,7 @@ export async function runInstall(args, opts = {}) {
|
|
|
117
117
|
}
|
|
118
118
|
else {
|
|
119
119
|
stdout.write(` credentials: NOT PERSISTED — hooks will ship unauthenticated and the server\n` +
|
|
120
|
-
` will
|
|
120
|
+
` will reject them with 401. Re-run with --key or set\n` +
|
|
121
121
|
` CONTEXTIFY_API_KEY before invoking install.\n`);
|
|
122
122
|
}
|
|
123
123
|
stdout.write(`\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const CONFIG_FILENAME = ".contextify.json";
|
|
2
|
-
export declare const DEFAULT_SERVER_URL = "
|
|
2
|
+
export declare const DEFAULT_SERVER_URL = "https://contextify.live";
|
|
3
3
|
export interface CliConfig {
|
|
4
4
|
readonly projectId: string;
|
|
5
5
|
readonly projectName?: string;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,eAAe,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAMlD,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;CACpD;AAID,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiBvE;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAOjF;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,cAAc,CAAC,CA2CzB"}
|
package/dist/config.js
CHANGED
|
@@ -10,7 +10,12 @@ import { readFile, writeFile } from 'node:fs/promises';
|
|
|
10
10
|
import { existsSync } from 'node:fs';
|
|
11
11
|
import { join, resolve } from 'node:path';
|
|
12
12
|
export const CONFIG_FILENAME = '.contextify.json';
|
|
13
|
-
|
|
13
|
+
// The CLI is published to npm for hosted-product users; the documented
|
|
14
|
+
// install flow assumes `https://contextify.live` is the target unless the
|
|
15
|
+
// operator explicitly overrides it via `--server`, `CONTEXTIFY_SERVER_URL`,
|
|
16
|
+
// or a saved value in `~/.contextify/credentials.json`. Local dev runs
|
|
17
|
+
// override the default through the credentials file or the env var.
|
|
18
|
+
export const DEFAULT_SERVER_URL = 'https://contextify.live';
|
|
14
19
|
const SLUG_RE = /^[a-zA-Z0-9_-]+$/;
|
|
15
20
|
export function configPath(cwd) {
|
|
16
21
|
return join(resolve(cwd), CONFIG_FILENAME);
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAyBA,eAAO,MAAM,OAAO,QAA0D,CAAC;AAuD/E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,wBAAsB,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CA0C3D"}
|
package/dist/index.js
CHANGED
|
Binary file
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/shipper.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export interface ShipOptions {
|
|
|
20
20
|
/**
|
|
21
21
|
* Optional explicit credentials. Defaults to resolving via env then
|
|
22
22
|
* `~/.contextify/credentials.json`. When null, the request goes
|
|
23
|
-
* unauthenticated
|
|
23
|
+
* unauthenticated and the server rejects it with 401.
|
|
24
24
|
* Tests can override this to assert the auth header is present.
|
|
25
25
|
*/
|
|
26
26
|
readonly credentials?: ResolvedCredentials | null;
|
package/package.json
CHANGED
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furkankoykiran/contextify-cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Contextify telemetry CLI — shadows terminal sessions, ships logs to the webhook",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"claude-code",
|
|
7
|
+
"claude",
|
|
8
|
+
"anthropic",
|
|
9
|
+
"ai",
|
|
10
|
+
"llm",
|
|
11
|
+
"telemetry",
|
|
12
|
+
"transcript",
|
|
13
|
+
"memory",
|
|
14
|
+
"prompt",
|
|
15
|
+
"prompt-engineering",
|
|
16
|
+
"cli"
|
|
17
|
+
],
|
|
5
18
|
"homepage": "https://contextify.live",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/furkankoykiran/contextify.git",
|
|
22
|
+
"directory": "apps/cli"
|
|
23
|
+
},
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/furkankoykiran/contextify/issues"
|
|
26
|
+
},
|
|
27
|
+
"author": "Furkan Köykıran",
|
|
6
28
|
"license": "MIT",
|
|
7
29
|
"publishConfig": {
|
|
8
30
|
"access": "public"
|