@supersession/sup 0.1.3 → 0.1.4
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 +6 -3
- package/dist/cli.js +92 -31
- package/dist/cli.js.map +1 -1
- package/dist/cloud.d.ts +11 -1
- package/dist/cloud.js +6 -1
- package/dist/cloud.js.map +1 -1
- package/dist/discover.d.ts +19 -1
- package/dist/discover.js +90 -3
- package/dist/discover.js.map +1 -1
- package/dist/distill/template.d.ts +9 -0
- package/dist/distill/template.js +16 -0
- package/dist/distill/template.js.map +1 -1
- package/dist/engine.d.ts +1 -1
- package/dist/engine.js +5 -6
- package/dist/engine.js.map +1 -1
- package/dist/facts.d.ts +24 -0
- package/dist/facts.js +56 -0
- package/dist/facts.js.map +1 -0
- package/dist/nsf.d.ts +2 -0
- package/dist/parsers/codex.d.ts +25 -0
- package/dist/parsers/codex.js +212 -0
- package/dist/parsers/codex.js.map +1 -0
- package/dist/parsers/cursor.d.ts +33 -0
- package/dist/parsers/cursor.js +224 -0
- package/dist/parsers/cursor.js.map +1 -0
- package/dist/redact.d.ts +12 -0
- package/dist/redact.js +15 -0
- package/dist/redact.js.map +1 -1
- package/dist/tools.js +31 -1
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/redact.d.ts
CHANGED
|
@@ -14,6 +14,18 @@ export interface RedactionResult {
|
|
|
14
14
|
}
|
|
15
15
|
/** Redact a single string. Returns the cleaned text and how many hits fired. */
|
|
16
16
|
export declare function redactText(input: string): RedactionResult;
|
|
17
|
+
export interface SecretHit {
|
|
18
|
+
/** Rule that fired, e.g. "github-token". */
|
|
19
|
+
name: string;
|
|
20
|
+
/** The actual matched value. LOCAL USE ONLY — never uploaded or written. */
|
|
21
|
+
value: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Find (don't remove) secrets in a string. Same rules as redactText, opposite
|
|
25
|
+
* output: `sup facts` uses this to surface credentials locally so nobody
|
|
26
|
+
* scrolls a 4-hour transcript hunting for the test password the AI generated.
|
|
27
|
+
*/
|
|
28
|
+
export declare function findSecrets(input: string): SecretHit[];
|
|
17
29
|
/**
|
|
18
30
|
* Redact an entire NSF session in place-safe manner (returns a new session).
|
|
19
31
|
* Cleans turn text and shell commands — the two places secrets actually land.
|
package/dist/redact.js
CHANGED
|
@@ -42,6 +42,21 @@ export function redactText(input) {
|
|
|
42
42
|
}
|
|
43
43
|
return { text, hits };
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Find (don't remove) secrets in a string. Same rules as redactText, opposite
|
|
47
|
+
* output: `sup facts` uses this to surface credentials locally so nobody
|
|
48
|
+
* scrolls a 4-hour transcript hunting for the test password the AI generated.
|
|
49
|
+
*/
|
|
50
|
+
export function findSecrets(input) {
|
|
51
|
+
const hits = [];
|
|
52
|
+
for (const rule of RULES) {
|
|
53
|
+
for (const m of input.matchAll(rule.pattern)) {
|
|
54
|
+
// For env-assignment report the full KEY=value pair, it's the useful unit.
|
|
55
|
+
hits.push({ name: rule.name, value: m[0] });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return hits;
|
|
59
|
+
}
|
|
45
60
|
/**
|
|
46
61
|
* Redact an entire NSF session in place-safe manner (returns a new session).
|
|
47
62
|
* Cleans turn text and shell commands — the two places secrets actually land.
|
package/dist/redact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import { homedir } from "node:os";
|
|
13
13
|
import { join } from "node:path";
|
|
14
14
|
import { parseClaudeCode, CLAUDE_CODE_TOOL_ID } from "./parsers/claude-code.js";
|
|
15
|
+
import { parseCodex } from "./parsers/codex.js";
|
|
15
16
|
import { renderBriefMarkdown } from "./writers/brief-markdown.js";
|
|
16
17
|
/** Claude Code project-slug directory: /abs/path -> -abs-path form under ~/.claude/projects. */
|
|
17
18
|
export function claudeCodeProjectDir(cwd) {
|
|
@@ -34,13 +35,29 @@ export const TOOLS = {
|
|
|
34
35
|
codex: {
|
|
35
36
|
id: "codex",
|
|
36
37
|
label: "Codex CLI",
|
|
37
|
-
verified
|
|
38
|
+
// Rollout format verified 2026-07-15 against openai/codex upstream test
|
|
39
|
+
// fixtures (codex-rs/rollout recorder tests).
|
|
40
|
+
verified: true,
|
|
41
|
+
sessionsDir: () => join(homedir(), ".codex", "sessions"),
|
|
42
|
+
parse: parseCodex,
|
|
38
43
|
writeTarget: (brief, sourceLabel) => ({
|
|
39
44
|
file: "AGENTS.md",
|
|
40
45
|
body: renderBriefMarkdown(brief, sourceLabel),
|
|
41
46
|
launchHint: "codex # picks up AGENTS.md automatically",
|
|
42
47
|
}),
|
|
43
48
|
},
|
|
49
|
+
cursor: {
|
|
50
|
+
id: "cursor",
|
|
51
|
+
label: "Cursor",
|
|
52
|
+
// Schema verified 2026-07-15 against a live Cursor install (composerHeaders
|
|
53
|
+
// + cursorDiskKV bubbles in the global state.vscdb).
|
|
54
|
+
verified: true,
|
|
55
|
+
writeTarget: (brief, sourceLabel) => ({
|
|
56
|
+
file: "AGENTS.md",
|
|
57
|
+
body: renderBriefMarkdown(brief, sourceLabel),
|
|
58
|
+
launchHint: "cursor . # Cursor's agent reads AGENTS.md automatically",
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
44
61
|
gemini: {
|
|
45
62
|
id: "gemini",
|
|
46
63
|
label: "Gemini CLI",
|
|
@@ -51,6 +68,16 @@ export const TOOLS = {
|
|
|
51
68
|
launchHint: "gemini # picks up GEMINI.md automatically",
|
|
52
69
|
}),
|
|
53
70
|
},
|
|
71
|
+
antigravity: {
|
|
72
|
+
id: "antigravity",
|
|
73
|
+
label: "Antigravity",
|
|
74
|
+
verified: false,
|
|
75
|
+
writeTarget: (brief, sourceLabel) => ({
|
|
76
|
+
file: "AGENTS.md",
|
|
77
|
+
body: renderBriefMarkdown(brief, sourceLabel),
|
|
78
|
+
launchHint: "open the project in Antigravity — its agent reads AGENTS.md",
|
|
79
|
+
}),
|
|
80
|
+
},
|
|
54
81
|
};
|
|
55
82
|
/** Friendly aliases so `sup claude` == `sup claude-code`, `sup cc`, etc. */
|
|
56
83
|
const ALIASES = {
|
|
@@ -59,6 +86,9 @@ const ALIASES = {
|
|
|
59
86
|
cc: "claude-code",
|
|
60
87
|
codex: "codex",
|
|
61
88
|
gemini: "gemini",
|
|
89
|
+
cursor: "cursor",
|
|
90
|
+
antigravity: "antigravity",
|
|
91
|
+
ag: "antigravity",
|
|
62
92
|
};
|
|
63
93
|
export function resolveTool(id) {
|
|
64
94
|
const key = id.toLowerCase();
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|