@vextlabs/theron-cli 0.2.1 → 0.4.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/dist/api.d.ts +8 -0
- package/dist/api.js +3 -0
- package/dist/api.js.map +1 -1
- package/dist/auth.js +51 -1
- package/dist/auth.js.map +1 -1
- package/dist/banner.js +3 -2
- package/dist/banner.js.map +1 -1
- package/dist/checkpoints.d.ts +32 -0
- package/dist/checkpoints.js +61 -0
- package/dist/checkpoints.js.map +1 -0
- package/dist/index.js +61 -5
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +61 -0
- package/dist/input.js +574 -0
- package/dist/input.js.map +1 -0
- package/dist/profiles/index.js +5 -0
- package/dist/profiles/index.js.map +1 -1
- package/dist/profiles/methodologies/build_domains.d.ts +6 -0
- package/dist/profiles/methodologies/build_domains.js +170 -0
- package/dist/profiles/methodologies/build_domains.js.map +1 -0
- package/dist/profiles/methodologies/operate_domains.d.ts +8 -0
- package/dist/profiles/methodologies/operate_domains.js +1239 -0
- package/dist/profiles/methodologies/operate_domains.js.map +1 -0
- package/dist/profiles/methodologies/regulated_domains.d.ts +6 -0
- package/dist/profiles/methodologies/regulated_domains.js +153 -0
- package/dist/profiles/methodologies/regulated_domains.js.map +1 -0
- package/dist/profiles/methodologies/research_domains.d.ts +8 -0
- package/dist/profiles/methodologies/research_domains.js +179 -0
- package/dist/profiles/methodologies/research_domains.js.map +1 -0
- package/dist/profiles/methodologies/strategy_domains.d.ts +15 -0
- package/dist/profiles/methodologies/strategy_domains.js +193 -0
- package/dist/profiles/methodologies/strategy_domains.js.map +1 -0
- package/dist/profiles/seeds.js +241 -95
- package/dist/profiles/seeds.js.map +1 -1
- package/dist/receipt.d.ts +17 -0
- package/dist/receipt.js +46 -0
- package/dist/receipt.js.map +1 -0
- package/dist/render.d.ts +4 -1
- package/dist/render.js +95 -28
- package/dist/render.js.map +1 -1
- package/dist/repl.d.ts +8 -1
- package/dist/repl.js +420 -62
- package/dist/repl.js.map +1 -1
- package/dist/sessions.d.ts +14 -0
- package/dist/sessions.js +100 -0
- package/dist/sessions.js.map +1 -1
- package/dist/ship.d.ts +2 -0
- package/dist/ship.js +62 -0
- package/dist/ship.js.map +1 -0
- package/dist/skills/catalog.d.ts +13 -0
- package/dist/skills/catalog.js +86 -0
- package/dist/skills/catalog.js.map +1 -0
- package/dist/tools/bash.js +81 -14
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit.js +21 -1
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/glob.js +4 -1
- package/dist/tools/glob.js.map +1 -1
- package/dist/tools/grep.d.ts +5 -0
- package/dist/tools/grep.js +101 -2
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/index.d.ts +22 -0
- package/dist/tools/index.js +177 -41
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/ls.d.ts +3 -0
- package/dist/tools/ls.js +23 -12
- package/dist/tools/ls.js.map +1 -1
- package/dist/tools/multiedit.d.ts +12 -0
- package/dist/tools/multiedit.js +79 -0
- package/dist/tools/multiedit.js.map +1 -0
- package/dist/tools/stoa.d.ts +1 -1
- package/dist/tools/stoa.js +7 -3
- package/dist/tools/stoa.js.map +1 -1
- package/dist/tools/task.d.ts +9 -0
- package/dist/tools/task.js +166 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/todowrite.d.ts +12 -0
- package/dist/tools/todowrite.js +38 -0
- package/dist/tools/todowrite.js.map +1 -0
- package/dist/tools/webfetch.d.ts +6 -0
- package/dist/tools/webfetch.js +98 -0
- package/dist/tools/webfetch.js.map +1 -0
- package/dist/tools/websearch.d.ts +7 -0
- package/dist/tools/websearch.js +83 -0
- package/dist/tools/websearch.js.map +1 -0
- package/dist/tools/write.js +17 -1
- package/dist/tools/write.js.map +1 -1
- package/dist/verifiers/calc_gate.d.ts +2 -0
- package/dist/verifiers/calc_gate.js +112 -0
- package/dist/verifiers/calc_gate.js.map +1 -0
- package/dist/verifiers/citation_gate.d.ts +2 -0
- package/dist/verifiers/citation_gate.js +130 -0
- package/dist/verifiers/citation_gate.js.map +1 -0
- package/dist/verifiers/confidence_marked.d.ts +2 -0
- package/dist/verifiers/confidence_marked.js +49 -0
- package/dist/verifiers/confidence_marked.js.map +1 -0
- package/dist/verifiers/disclaimer_gate.d.ts +2 -0
- package/dist/verifiers/disclaimer_gate.js +57 -0
- package/dist/verifiers/disclaimer_gate.js.map +1 -0
- package/dist/verifiers/evidence_gate.d.ts +2 -0
- package/dist/verifiers/evidence_gate.js +108 -0
- package/dist/verifiers/evidence_gate.js.map +1 -0
- package/dist/verifiers/index.d.ts +5 -0
- package/dist/verifiers/index.js +28 -7
- package/dist/verifiers/index.js.map +1 -1
- package/dist/verifiers/lint.js +4 -3
- package/dist/verifiers/lint.js.map +1 -1
- package/dist/verifiers/promoted_kernels.d.ts +8 -0
- package/dist/verifiers/promoted_kernels.js +190 -0
- package/dist/verifiers/promoted_kernels.js.map +1 -0
- package/dist/verifiers/source_gate.d.ts +2 -0
- package/dist/verifiers/source_gate.js +125 -0
- package/dist/verifiers/source_gate.js.map +1 -0
- package/dist/verifiers/test_smoke.js +30 -0
- package/dist/verifiers/test_smoke.js.map +1 -1
- package/dist/verifiers/types.d.ts +3 -0
- package/package.json +4 -2
- package/skills/README.md +123 -0
- package/skills/ab-test.md +89 -0
- package/skills/api-design.md +175 -0
- package/skills/architecture-design.md +185 -0
- package/skills/business-case.md +77 -0
- package/skills/causal-inference.md +77 -0
- package/skills/clinical-guideline.md +98 -0
- package/skills/code-review.md +98 -0
- package/skills/cold-outreach.md +268 -0
- package/skills/competitive-teardown.md +223 -0
- package/skills/component-spec.md +121 -0
- package/skills/content-calendar.md +280 -0
- package/skills/contract-review.md +155 -0
- package/skills/data-analysis.md +187 -0
- package/skills/debug.md +91 -0
- package/skills/design-audit.md +121 -0
- package/skills/differential-diagnosis.md +79 -0
- package/skills/discovery-call.md +206 -0
- package/skills/edit-pass.md +80 -0
- package/skills/engineering-calc.md +101 -0
- package/skills/estimate.md +70 -0
- package/skills/experiment-design.md +105 -0
- package/skills/fact-check.md +82 -0
- package/skills/financial-model.md +104 -0
- package/skills/grant-proposal.md +93 -0
- package/skills/harmony-analysis.md +93 -0
- package/skills/hypothesis-generation.md +99 -0
- package/skills/incident-response.md +134 -0
- package/skills/interview-loop.md +62 -0
- package/skills/job-scorecard.md +92 -0
- package/skills/kb-article.md +174 -0
- package/skills/launch-plan.md +85 -0
- package/skills/lease-review.md +93 -0
- package/skills/lesson-plan.md +198 -0
- package/skills/literature-review.md +69 -0
- package/skills/market-entry.md +137 -0
- package/skills/market-sizing.md +159 -0
- package/skills/meta-analysis.md +140 -0
- package/skills/migrate.md +117 -0
- package/skills/optimize.md +88 -0
- package/skills/options-strategy.md +166 -0
- package/skills/peer-review.md +96 -0
- package/skills/pentest-plan.md +193 -0
- package/skills/pitch-review.md +132 -0
- package/skills/plan.md +88 -0
- package/skills/policy-brief.md +124 -0
- package/skills/positioning.md +192 -0
- package/skills/postmortem.md +168 -0
- package/skills/prd.md +105 -0
- package/skills/prioritize.md +162 -0
- package/skills/proof.md +91 -0
- package/skills/property-underwrite.md +159 -0
- package/skills/recipe-develop.md +109 -0
- package/skills/red-team.md +142 -0
- package/skills/refactor.md +58 -0
- package/skills/reflection-session.md +115 -0
- package/skills/regulatory-compliance.md +136 -0
- package/skills/reproduce.md +87 -0
- package/skills/runbook.md +344 -0
- package/skills/security-audit.md +154 -0
- package/skills/seo-brief.md +201 -0
- package/skills/sql-query.md +161 -0
- package/skills/story-craft.md +163 -0
- package/skills/tdd.md +59 -0
- package/skills/term-sheet.md +298 -0
- package/skills/theory-of-change.md +88 -0
- package/skills/threat-model.md +104 -0
- package/skills/ticket-triage.md +200 -0
- package/skills/tolerance-analysis.md +149 -0
- package/skills/training-program.md +151 -0
- package/skills/translate.md +64 -0
- package/skills/unit-economics.md +238 -0
- package/skills/valuation.md +112 -0
- package/skills/write-tests.md +77 -0
package/dist/profiles/seeds.js
CHANGED
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
// The 33 baseline specs map onto the full Vext council (theron-base
|
|
20
20
|
// + 30 LoRA adapters + 2 newer ones). Order here = order shown in
|
|
21
21
|
// /mode list.
|
|
22
|
+
import { CODE_METHODOLOGY, CODE_INVARIANT, ENGINEERING_METHODOLOGY, ENGINEERING_INVARIANT, DATA_METHODOLOGY, DATA_INVARIANT, } from "./methodologies/build_domains.js";
|
|
23
|
+
import { LEGAL_METHODOLOGY, LEGAL_INVARIANT, FINANCE_METHODOLOGY, FINANCE_INVARIANT, MEDICAL_METHODOLOGY, MEDICAL_INVARIANT, } from "./methodologies/regulated_domains.js";
|
|
24
|
+
import { SCIENCE_METHODOLOGY, SCIENCE_INVARIANT, RESEARCH_METHODOLOGY, RESEARCH_INVARIANT, MATH_METHODOLOGY, MATH_INVARIANT, EDUCATION_METHODOLOGY, EDUCATION_INVARIANT, } from "./methodologies/research_domains.js";
|
|
25
|
+
import { WRITING_METHODOLOGY, WRITING_INVARIANT, CREATIVE_METHODOLOGY, CREATIVE_INVARIANT, DESIGN_METHODOLOGY, DESIGN_INVARIANT, BUSINESS_METHODOLOGY, BUSINESS_INVARIANT, PRODUCT_METHODOLOGY, PRODUCT_INVARIANT, } from "./methodologies/strategy_domains.js";
|
|
26
|
+
// Operating + professional-domain methodologies (deep research pass 2026-06-27):
|
|
27
|
+
// upgrades 10 domains that previously ran on the generic baseline prompt to full
|
|
28
|
+
// multi-phase, gated methodologies. Keyed by slug, spread over the seed below.
|
|
29
|
+
import { OPERATE_DOMAIN_OVERRIDES } from "./methodologies/operate_domains.js";
|
|
22
30
|
// ---------------------------------------------------------------------------
|
|
23
31
|
// Shared building blocks
|
|
24
32
|
// ---------------------------------------------------------------------------
|
|
@@ -60,23 +68,16 @@ const CORE_SIX = [
|
|
|
60
68
|
slug: "code",
|
|
61
69
|
label: "Code",
|
|
62
70
|
description: "Read-first, edit-precisely, verify-after. The default Theron mode.",
|
|
63
|
-
welcome:
|
|
71
|
+
welcome: `Code mode — ${CODE_INVARIANT}`,
|
|
64
72
|
accentHex: "#FFAE00",
|
|
65
73
|
systemPromptAppend: [
|
|
66
74
|
BASE_VOICE,
|
|
67
75
|
``,
|
|
68
|
-
|
|
69
|
-
`- Always Read a file before Editing it. Match the exact existing indentation, casing, and import style.`,
|
|
70
|
-
`- After any Write/Edit on a .ts/.tsx/.js/.jsx file, run \`tsc --noEmit\` (or the project's typecheck script). Surface failures inline.`,
|
|
71
|
-
`- After any Write/Edit on a .py file, run \`pytest -q\` if a tests/ dir exists.`,
|
|
72
|
-
`- Prefer Edit (one substring swap) over Write (whole-file rewrite). Use Write only for new files or full rewrites.`,
|
|
73
|
-
`- Call multiple tools in parallel when they're independent (Read three files at once, not one at a time).`,
|
|
74
|
-
`- No comments unless the WHY is non-obvious. Don't restate what the code does.`,
|
|
75
|
-
`- For diffs in chat, use real unified-diff format (@@ headers) — the CLI colors it.`,
|
|
76
|
+
CODE_METHODOLOGY,
|
|
76
77
|
].join("\n"),
|
|
77
78
|
toolAllow: TOOLS.CODE_AND_RUN,
|
|
78
79
|
hiveSpecs: ["code"],
|
|
79
|
-
verifiers:
|
|
80
|
+
verifiers: ["test_smoke", "typecheck"],
|
|
80
81
|
promptStarters: [
|
|
81
82
|
"fix the failing test in <file>",
|
|
82
83
|
"refactor <fn> to use async/await",
|
|
@@ -88,23 +89,17 @@ const CORE_SIX = [
|
|
|
88
89
|
slug: "legal",
|
|
89
90
|
label: "Legal",
|
|
90
91
|
description: "Cite source clauses verbatim; never invent citations.",
|
|
91
|
-
welcome:
|
|
92
|
+
welcome: `Legal mode — ${LEGAL_INVARIANT}`,
|
|
92
93
|
accentHex: "#A78BFA",
|
|
93
94
|
systemPromptAppend: [
|
|
94
95
|
BASE_VOICE,
|
|
95
96
|
``,
|
|
96
|
-
|
|
97
|
-
`- Citations: every legal claim must point to a specific clause, statute, or case. Use the format [Source §X.Y or Case Name v. X, 123 U.S. 456 (1900)]. Never invent citations — if the source isn't in the conversation or the workspace, say "I don't have access to that source — point me at the document."`,
|
|
98
|
-
`- Assumptions: every conclusion that depends on a fact not stated by the user gets marked "Assumption: ...". Don't hide assumptions in prose.`,
|
|
99
|
-
`- Don't give legal advice. You're a research assistant. End every substantive response with one line: "Have a licensed attorney in {{jurisdiction}} review before relying on this."`,
|
|
100
|
-
`- For contract review: read the document FIRST (Read), then mark each clause as Standard / Negotiable / Red-flag with a one-line reason.`,
|
|
101
|
-
`- For statute / case research: prefer Grep over Bash. Never run untrusted code on the user's machine for legal work.`,
|
|
102
|
-
`- Tone: precise, neutral, exhaustive. No marketing language.`,
|
|
97
|
+
LEGAL_METHODOLOGY,
|
|
103
98
|
].join("\n"),
|
|
104
99
|
toolAllow: TOOLS.READ_AND_WRITE,
|
|
105
100
|
toolDeny: ["Bash"],
|
|
106
101
|
hiveSpecs: ["legal", "research"],
|
|
107
|
-
verifiers: [
|
|
102
|
+
verifiers: ["citation_gate"],
|
|
108
103
|
promptStarters: [
|
|
109
104
|
"review this NDA — flag red-flag clauses",
|
|
110
105
|
"compare these two privacy policies side by side",
|
|
@@ -116,23 +111,16 @@ const CORE_SIX = [
|
|
|
116
111
|
slug: "finance",
|
|
117
112
|
label: "Finance",
|
|
118
113
|
description: "Show every arithmetic step; never round silently.",
|
|
119
|
-
welcome:
|
|
114
|
+
welcome: `Finance mode — ${FINANCE_INVARIANT}`,
|
|
120
115
|
accentHex: "#34D399",
|
|
121
116
|
systemPromptAppend: [
|
|
122
117
|
BASE_VOICE,
|
|
123
118
|
``,
|
|
124
|
-
|
|
125
|
-
`- Show every arithmetic step. Never round silently. If you round, state the precision explicitly ("rounded to nearest $1,000").`,
|
|
126
|
-
`- Units: always include currency, units, and time periods. "$1.2M ARR" not "$1.2M". "12% YoY" not "12%".`,
|
|
127
|
-
`- Assumptions: every projection or estimate gets a "Assumptions: discount rate 10%, growth rate 15% YoY for 5 years" block. No hidden inputs.`,
|
|
128
|
-
`- For models: prefer creating/editing a CSV or markdown table. After any numeric table, re-add the column totals and verify they match.`,
|
|
129
|
-
`- For analysis: end with one line stating the headline number AND the 1-2 inputs it's most sensitive to.`,
|
|
130
|
-
`- Bash is OK but limit it to \`python3 -c "..."\` style calculator calls (no destructive ops).`,
|
|
131
|
-
`- Tone: rigorous, decisive, no hedging on math. "The IRR is 14.3%" not "The IRR is approximately 14%-ish".`,
|
|
119
|
+
FINANCE_METHODOLOGY,
|
|
132
120
|
].join("\n"),
|
|
133
121
|
toolAllow: TOOLS.CODE_AND_RUN,
|
|
134
122
|
hiveSpecs: ["finance", "data"],
|
|
135
|
-
verifiers: [
|
|
123
|
+
verifiers: ["citation_gate", "calc_gate", "assumption_marked"],
|
|
136
124
|
promptStarters: [
|
|
137
125
|
"build a 3-year ARR projection at 15% YoY growth, 80% gross margin",
|
|
138
126
|
"what's the LTV/CAC for a $50/mo SaaS with 4% monthly churn and $300 CAC?",
|
|
@@ -144,21 +132,16 @@ const CORE_SIX = [
|
|
|
144
132
|
slug: "design",
|
|
145
133
|
label: "Design",
|
|
146
134
|
description: "Specify component, props, tokens, states. Produce TSX or Figma-spec markdown.",
|
|
147
|
-
welcome:
|
|
135
|
+
welcome: `Design mode — ${DESIGN_INVARIANT}`,
|
|
148
136
|
accentHex: "#F472B6",
|
|
149
137
|
systemPromptAppend: [
|
|
150
138
|
BASE_VOICE,
|
|
151
139
|
``,
|
|
152
|
-
|
|
153
|
-
`- For component specs: ALWAYS include all required states — default, hover, focus, focus-visible, active, disabled, error, loading. A spec that's missing a state is incomplete.`,
|
|
154
|
-
`- Tokens, not raw values. Use design tokens (theme.colors.amber.500, theme.spacing.4) not hex codes or px values, unless the user is asking you to define tokens.`,
|
|
155
|
-
`- Accessibility: every interactive component spec MUST include keyboard behavior (tab order, focus ring, Enter/Space/Escape) and an ARIA role/label.`,
|
|
156
|
-
`- For TSX output: use the existing component library if you can see it in the repo (Read shadcn or whatever exists). Don't reinvent.`,
|
|
157
|
-
`- Voice: precise design language. "Pill button — 40px height, 16px horizontal padding, 8px gap to icon, amber-500 fill, white text, 6px border-radius." Not "make a button that looks nice."`,
|
|
140
|
+
DESIGN_METHODOLOGY,
|
|
158
141
|
].join("\n"),
|
|
159
142
|
toolAllow: TOOLS.READ_AND_WRITE,
|
|
160
143
|
hiveSpecs: ["design"],
|
|
161
|
-
verifiers:
|
|
144
|
+
verifiers: ["source_gate", "component_states_complete", "token_lint"],
|
|
162
145
|
promptStarters: [
|
|
163
146
|
"spec a primary-button component with all states",
|
|
164
147
|
"audit this component for missing focus / disabled states",
|
|
@@ -170,21 +153,16 @@ const CORE_SIX = [
|
|
|
170
153
|
slug: "research",
|
|
171
154
|
label: "Research",
|
|
172
155
|
description: "Cite sources, mark confidence, separate established from speculative.",
|
|
173
|
-
welcome:
|
|
156
|
+
welcome: `Research mode — ${RESEARCH_INVARIANT}`,
|
|
174
157
|
accentHex: "#60A5FA",
|
|
175
158
|
systemPromptAppend: [
|
|
176
159
|
BASE_VOICE,
|
|
177
160
|
``,
|
|
178
|
-
|
|
179
|
-
`- Every factual claim gets a source. Format: [Author Year] or a URL. If the source isn't in the conversation or your training data, mark it [unsourced — verify before relying on this].`,
|
|
180
|
-
`- Confidence levels: every section ends with a 1-line confidence note. "[Confidence: high — established consensus]" / "[Confidence: medium — recent finding, 1-2 papers]" / "[Confidence: low — speculative, mark as such]".`,
|
|
181
|
-
`- Separate STRUCTURE: open with what's established → what's actively debated → what's speculative. Never blur the three.`,
|
|
182
|
-
`- For literature reviews: prefer WebFetch for primary sources, Grep on local files for prior notes.`,
|
|
183
|
-
`- Tone: scholarly, qualified, honest about gaps. "We don't yet know X" beats fabricating an answer.`,
|
|
161
|
+
RESEARCH_METHODOLOGY,
|
|
184
162
|
].join("\n"),
|
|
185
163
|
toolAllow: TOOLS.READ_AND_WRITE,
|
|
186
164
|
hiveSpecs: ["research"],
|
|
187
|
-
verifiers: [
|
|
165
|
+
verifiers: ["citation_gate", "source_gate", "confidence_marked"],
|
|
188
166
|
promptStarters: [
|
|
189
167
|
"what does the literature say about <topic>?",
|
|
190
168
|
"summarize the state of the art in <field> in the last 18 months",
|
|
@@ -196,23 +174,16 @@ const CORE_SIX = [
|
|
|
196
174
|
slug: "writing",
|
|
197
175
|
label: "Writing",
|
|
198
176
|
description: "Match the voice; never AI-isms; never em-dashes.",
|
|
199
|
-
welcome:
|
|
177
|
+
welcome: `Writing mode — ${WRITING_INVARIANT}`,
|
|
200
178
|
accentHex: "#FCD34D",
|
|
201
179
|
systemPromptAppend: [
|
|
202
180
|
BASE_VOICE,
|
|
203
181
|
``,
|
|
204
|
-
|
|
205
|
-
`- NEVER use em-dashes (—). Use a period, comma, parenthesis, or "but" instead. AI-generated text is identified by em-dashes more than any other signal.`,
|
|
206
|
-
`- Avoid AI-isms: "delve", "tapestry", "elevate", "navigate the complexities", "robust", "comprehensive", "leverages", "in today's fast-paced world". Use plain language.`,
|
|
207
|
-
`- Match the voice. If the user provides examples of their existing writing (or a doc in the repo), Read it first and explicitly identify the voice (sentence length variance, vocabulary register, punctuation habits, openers). Then write in that voice.`,
|
|
208
|
-
`- Sentence-length variance. Mix short. With longer ones that develop a thought. Then short again. Predictable rhythm reads as machine-generated.`,
|
|
209
|
-
`- Active voice unless passive is genuinely better.`,
|
|
210
|
-
`- One concrete detail beats five abstract ones. "She left at 4:47 AM" beats "She left in the early morning hours."`,
|
|
211
|
-
`- For long-form: outline first as a markdown list, get user approval, then draft.`,
|
|
182
|
+
WRITING_METHODOLOGY,
|
|
212
183
|
].join("\n"),
|
|
213
184
|
toolAllow: TOOLS.READ_AND_WRITE,
|
|
214
185
|
hiveSpecs: ["language"],
|
|
215
|
-
verifiers: [
|
|
186
|
+
verifiers: ["ai_ism_check", "em_dash_check", "style_lint", "sentence_variance"],
|
|
216
187
|
promptStarters: [
|
|
217
188
|
"draft a launch announcement for <product> in the voice of <doc>",
|
|
218
189
|
"edit this draft for em-dashes and AI-isms",
|
|
@@ -221,6 +192,114 @@ const CORE_SIX = [
|
|
|
221
192
|
],
|
|
222
193
|
},
|
|
223
194
|
];
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
// Pentest / security methodology — the disciplined, evidence-first,
|
|
197
|
+
// AUTHORIZED-ONLY workflow shared by the `pentest` and `security`
|
|
198
|
+
// profiles. Encoded as a system-prompt block so Theron operates like a
|
|
199
|
+
// senior pentester: scope first, recon as a tracked checklist, baseline
|
|
200
|
+
// before perturbing, confirm with concrete evidence before claiming,
|
|
201
|
+
// exploit minimally, then report with severity + remediation.
|
|
202
|
+
//
|
|
203
|
+
// This is OWASP-aligned (WSTG phases) and NON-DESTRUCTIVE by contract.
|
|
204
|
+
// The hard guardrails below are load-bearing: they bound Theron to
|
|
205
|
+
// explicitly-authorized, in-scope targets and forbid anything that
|
|
206
|
+
// could harm the target or third parties. The canonical training target
|
|
207
|
+
// is OWASP Juice Shop — a deliberately-vulnerable app built for this.
|
|
208
|
+
// ---------------------------------------------------------------------------
|
|
209
|
+
// The one-line behavioral contract surfaced in the welcome + asserted by
|
|
210
|
+
// the evidence_gate verifier. Keep these two in sync.
|
|
211
|
+
const PENTEST_INVARIANT = "Confirm every vulnerability with concrete evidence (the exact request + the proving response/error) BEFORE claiming it; only test authorized in-scope targets; never destructive.";
|
|
212
|
+
const PENTEST_METHODOLOGY = [
|
|
213
|
+
`AUTHORIZED PENETRATION-TESTING METHODOLOGY (OWASP-aligned, evidence-first, non-destructive).`,
|
|
214
|
+
`You operate like a disciplined senior pentester. Work the phases IN ORDER. Be methodical, plan-driven, and never claim a finding you have not proven.`,
|
|
215
|
+
``,
|
|
216
|
+
`═══ HARD GUARDRAILS (non-negotiable — these bound everything below) ═══`,
|
|
217
|
+
`- AUTHORIZED + IN-SCOPE ONLY. Test a target ONLY if the user has explicitly confirmed it is authorized and in scope. If scope is unclear, ambiguous, or unstated, STOP and ask "What is the exact authorized target and scope?" before any active testing. Do not guess scope.`,
|
|
218
|
+
`- NEVER DESTRUCTIVE. No denial-of-service or resource-exhaustion (no load/stress/flood, no fork bombs, no fuzzing that degrades the service). No deletion, corruption, or modification of data you don't own. No exfiltration of real users' personal data. No persistence, backdoors, planted accounts, or detection-evasion intended to harm. No pivoting to or scanning third-party / out-of-scope systems.`,
|
|
219
|
+
`- MINIMAL-IMPACT PROOF-OF-CONCEPT ONLY. Prove a vulnerability with the smallest possible evidence (one error, one extracted non-sensitive row, one token decode). Do not mass-extract, do not weaponize, do not chain into real damage.`,
|
|
220
|
+
`- STOP-AND-REPORT on surprise. If you discover something outside the authorized scope (another tenant's data, an adjacent host, a real production secret), STOP, do not explore further, and report it to the user immediately.`,
|
|
221
|
+
`- The canonical practice target is OWASP Juice Shop (a deliberately-vulnerable training app). Treat any real-world target with the same guardrails — authorization is what makes this legal, not the tooling.`,
|
|
222
|
+
``,
|
|
223
|
+
`═══ PHASE A — SCOPE FIRST ═══`,
|
|
224
|
+
`- Restate the authorized target (URL/host), the in-scope surface, and any explicit out-of-scope carve-outs back to the user in one line before touching anything.`,
|
|
225
|
+
`- If you cannot point to an explicit authorization, you are in SCOPING mode only: ask for it. No active requests until confirmed.`,
|
|
226
|
+
``,
|
|
227
|
+
`═══ PHASE B — RECON (track it as a CHECKLIST) ═══`,
|
|
228
|
+
`- Enumerate the attack surface as an explicit, tracked checklist: endpoints, parameters, auth mechanism, roles, object references. Write it down (recon/ notes) and keep it visible.`,
|
|
229
|
+
`- Map candidate test cases against OWASP categories: injection (SQLi/NoSQLi/command), broken auth (login bypass, weak JWT), access control (IDOR/BOLA, forced browsing), sensitive-data exposure, security misconfig, etc.`,
|
|
230
|
+
`- Example surface for a typical web app: SQLi on a search endpoint, auth bypass on login, JWT/admin-token inspection, file-access filter bypass, IDOR/BOLA sweep over object IDs.`,
|
|
231
|
+
``,
|
|
232
|
+
`═══ PHASE C — BASELINE every endpoint/param BEFORE perturbing ═══`,
|
|
233
|
+
`- Capture the normal, expected behavior first. e.g. \`?q=apple\` returns 3 rows, \`/login\` with valid creds returns 200 + a token, \`/api/users/2\` returns user 2 for user 2.`,
|
|
234
|
+
`- You cannot recognize an anomaly without the baseline. Record it.`,
|
|
235
|
+
``,
|
|
236
|
+
`═══ PHASE D — CONFIRM WITH EVIDENCE (the gate — do not skip) ═══`,
|
|
237
|
+
`- NEVER claim a vulnerability without the EXACT request that triggers it AND the response/error that proves it. "SQLi confirmed — \`?q=qwert'))\` triggers SQLITE_ERROR: near ... syntax error" — show the request and the proving response.`,
|
|
238
|
+
`- A claim without both halves of the evidence is not a finding; it's a hypothesis. State hypotheses as hypotheses until proven.`,
|
|
239
|
+
``,
|
|
240
|
+
`═══ PHASE E — EXPLOIT systematically + minimally ═══`,
|
|
241
|
+
`- SQLi: baseline → trigger an error → READ the error to enumerate UNION column count → targeted extract of the minimum needed to prove impact. Stop at proof.`,
|
|
242
|
+
`- Auth: analyze the token (decode the JWT header/payload, check the alg, check signature trust), test login bypass with one crafted request.`,
|
|
243
|
+
`- IDOR/BOLA: enumerate a small number of object references as a low-privilege user; confirm you can read one object you shouldn't. Don't sweep the whole table.`,
|
|
244
|
+
`- Always: smallest request that proves the point. Never escalate into real damage.`,
|
|
245
|
+
``,
|
|
246
|
+
`═══ PHASE F — REPORT ═══`,
|
|
247
|
+
`- Write STRUCTURED findings (a findings/ dir + recon/ notes). Each finding has: Title, Severity (Critical / High / Medium / Low), the exact reproduction request(s), the proving response/evidence, Impact (what an attacker gains), and Remediation (the concrete fix — parameterized queries, signature verification, server-side authz check).`,
|
|
248
|
+
`- Track progress against the recon checklist so the user can see what's tested, confirmed, and outstanding.`,
|
|
249
|
+
``,
|
|
250
|
+
`KEY INVARIANT: ${PENTEST_INVARIANT}`,
|
|
251
|
+
].join("\n");
|
|
252
|
+
const SECURITY_PROFILES = [
|
|
253
|
+
{
|
|
254
|
+
slug: "pentest",
|
|
255
|
+
label: "Pentest",
|
|
256
|
+
description: "Authorized, methodical web/app penetration testing — scope, recon, baseline, confirm-with-evidence, exploit minimally, report.",
|
|
257
|
+
welcome: `Pentest mode — authorized targets only. ${PENTEST_INVARIANT}`,
|
|
258
|
+
accentHex: "#EF4444",
|
|
259
|
+
systemPromptAppend: [
|
|
260
|
+
BASE_VOICE,
|
|
261
|
+
``,
|
|
262
|
+
PENTEST_METHODOLOGY,
|
|
263
|
+
].join("\n"),
|
|
264
|
+
toolAllow: TOOLS.CODE_AND_RUN, // needs Bash to run curl / tooling
|
|
265
|
+
hiveSpecs: ["cyber", "code"],
|
|
266
|
+
verifiers: ["evidence_gate", "typecheck", "lint"],
|
|
267
|
+
promptStarters: [
|
|
268
|
+
"pentest the authorized target at <URL> — start by mapping the attack surface",
|
|
269
|
+
"test <endpoint> for SQLi with evidence (baseline first, then prove it)",
|
|
270
|
+
"enumerate the attack surface and give me a tracked plan + a findings/ structure",
|
|
271
|
+
"inspect the JWT / admin token from <login endpoint> and tell me what's trust-broken",
|
|
272
|
+
"IDOR/BOLA sweep <object endpoint> as a low-priv user — confirm one read you shouldn't have",
|
|
273
|
+
],
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
slug: "security",
|
|
277
|
+
label: "Security",
|
|
278
|
+
description: "Application + cloud security review — threat-model, code review, secrets-hygiene, OWASP, and authorized pentest methodology.",
|
|
279
|
+
welcome: `Security mode — findings get a severity + exact file:line; live testing is authorized-only. ${PENTEST_INVARIANT}`,
|
|
280
|
+
accentHex: "#EF4444",
|
|
281
|
+
systemPromptAppend: [
|
|
282
|
+
BASE_VOICE,
|
|
283
|
+
``,
|
|
284
|
+
`SECURITY DOMAIN: application + cloud security review, threat modeling, secrets hygiene, OWASP top-10.`,
|
|
285
|
+
``,
|
|
286
|
+
`For STATIC review (code / config / threat model): every finding gets a severity (Critical / High / Medium / Low) and an exact file:line. No hand-waving — point at the line.`,
|
|
287
|
+
``,
|
|
288
|
+
`For LIVE / ACTIVE testing of a running target, follow the authorized penetration-testing methodology below. The same evidence-first, non-destructive, authorized-only discipline applies.`,
|
|
289
|
+
``,
|
|
290
|
+
PENTEST_METHODOLOGY,
|
|
291
|
+
].join("\n"),
|
|
292
|
+
toolAllow: TOOLS.CODE_AND_RUN,
|
|
293
|
+
hiveSpecs: ["cyber", "code"],
|
|
294
|
+
verifiers: ["evidence_gate", "typecheck", "lint"],
|
|
295
|
+
promptStarters: [
|
|
296
|
+
"audit this auth flow for OWASP top-10",
|
|
297
|
+
"review this Dockerfile for hardening",
|
|
298
|
+
"check for secrets in this repo",
|
|
299
|
+
"pentest the authorized target at <URL> — map the attack surface first",
|
|
300
|
+
],
|
|
301
|
+
},
|
|
302
|
+
];
|
|
224
303
|
const BASELINE_SEEDS = [
|
|
225
304
|
{
|
|
226
305
|
slug: "general",
|
|
@@ -231,33 +310,64 @@ const BASELINE_SEEDS = [
|
|
|
231
310
|
domainClass: "GENERAL",
|
|
232
311
|
starters: ["help me think through <X>", "summarize <thing>", "what's the best way to <do Y>?"],
|
|
233
312
|
},
|
|
234
|
-
{
|
|
235
|
-
slug: "security",
|
|
236
|
-
label: "Security",
|
|
237
|
-
domain: "application + cloud security review",
|
|
238
|
-
description: "Threat-model, code review, secrets-hygiene, OWASP top-10.",
|
|
239
|
-
invariant: "Every finding gets a severity (Critical / High / Med / Low) and an exact file:line.",
|
|
240
|
-
domainClass: "CODE",
|
|
241
|
-
starters: ["audit this auth flow for OWASP top-10", "review this Dockerfile for hardening", "check for secrets in this repo"],
|
|
242
|
-
hiveSpecs: ["cyber", "code"],
|
|
243
|
-
},
|
|
244
313
|
{
|
|
245
314
|
slug: "data",
|
|
246
315
|
label: "Data",
|
|
247
316
|
domain: "data analysis, SQL, pandas, statistics",
|
|
248
317
|
description: "EDA, regression, segment analysis, BI queries.",
|
|
249
|
-
invariant:
|
|
318
|
+
invariant: DATA_INVARIANT,
|
|
250
319
|
domainClass: "NUMERIC",
|
|
251
320
|
toolKey: "CODE_AND_RUN",
|
|
321
|
+
methodology: DATA_METHODOLOGY,
|
|
322
|
+
verifiers: ["calc_gate", "unit_consistency", "assumption_marked"],
|
|
252
323
|
starters: ["analyze this CSV — what jumps out?", "write the SQL to compute <metric>", "build a feature for this regression"],
|
|
253
324
|
},
|
|
325
|
+
{
|
|
326
|
+
slug: "science",
|
|
327
|
+
label: "Science",
|
|
328
|
+
domain: "empirical science — physics, chemistry, biology, methods, evidence appraisal",
|
|
329
|
+
description: "Hypothesis-driven, source-bound, reproducible analysis of empirical questions.",
|
|
330
|
+
invariant: SCIENCE_INVARIANT,
|
|
331
|
+
domainClass: "CITED",
|
|
332
|
+
methodology: SCIENCE_METHODOLOGY,
|
|
333
|
+
verifiers: ["citation_gate", "source_gate", "confidence_marked"],
|
|
334
|
+
hiveSpecs: ["science"],
|
|
335
|
+
starters: ["what does the evidence say about <claim>?", "design an experiment to test <hypothesis>", "critique the methodology of this study"],
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
slug: "math",
|
|
339
|
+
label: "Math",
|
|
340
|
+
domain: "pure + applied math — proofs, derivations, statistics, formal reasoning",
|
|
341
|
+
description: "Rigorous derivations and proofs — every step shown, every assumption named.",
|
|
342
|
+
invariant: MATH_INVARIANT,
|
|
343
|
+
domainClass: "NUMERIC",
|
|
344
|
+
toolKey: "CODE_AND_RUN",
|
|
345
|
+
methodology: MATH_METHODOLOGY,
|
|
346
|
+
verifiers: ["calc_gate"],
|
|
347
|
+
hiveSpecs: ["math"],
|
|
348
|
+
starters: ["prove that <statement>", "derive <result> step by step", "solve this and show every step"],
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
slug: "business",
|
|
352
|
+
label: "Business",
|
|
353
|
+
domain: "business strategy, market analysis, competitive positioning, operating decisions",
|
|
354
|
+
description: "Evidence-led strategy — recommendations grounded in data, counterarguments named.",
|
|
355
|
+
invariant: BUSINESS_INVARIANT,
|
|
356
|
+
domainClass: "STRATEGY",
|
|
357
|
+
methodology: BUSINESS_METHODOLOGY,
|
|
358
|
+
verifiers: ["source_gate", "claim_grounding"],
|
|
359
|
+
hiveSpecs: ["business"],
|
|
360
|
+
starters: ["should we enter <market>?", "build the business case for <initiative>", "competitive teardown of <competitor>"],
|
|
361
|
+
},
|
|
254
362
|
{
|
|
255
363
|
slug: "product",
|
|
256
364
|
label: "Product",
|
|
257
365
|
domain: "product strategy, PRDs, user research",
|
|
258
366
|
description: "PRDs, roadmaps, user-research synthesis, prioritization frameworks.",
|
|
259
|
-
invariant:
|
|
367
|
+
invariant: PRODUCT_INVARIANT,
|
|
260
368
|
domainClass: "STRATEGY",
|
|
369
|
+
methodology: PRODUCT_METHODOLOGY,
|
|
370
|
+
verifiers: ["source_gate"],
|
|
261
371
|
starters: ["draft a PRD for <feature>", "prioritize this backlog using RICE", "synthesize these user interviews"],
|
|
262
372
|
},
|
|
263
373
|
{
|
|
@@ -328,8 +438,10 @@ const BASELINE_SEEDS = [
|
|
|
328
438
|
label: "Creative",
|
|
329
439
|
domain: "fiction, poetry, narrative copy",
|
|
330
440
|
description: "Short fiction, poetry, screenplays, narrative-driven copy.",
|
|
331
|
-
invariant:
|
|
441
|
+
invariant: CREATIVE_INVARIANT,
|
|
332
442
|
domainClass: "WRITING",
|
|
443
|
+
methodology: CREATIVE_METHODOLOGY,
|
|
444
|
+
verifiers: ["ai_ism_check", "em_dash_check", "style_lint", "sentence_variance"],
|
|
333
445
|
starters: ["write a 500-word short story about <prompt>", "rewrite this in a noir voice", "draft a screenplay scene for <setting>"],
|
|
334
446
|
},
|
|
335
447
|
{
|
|
@@ -355,8 +467,11 @@ const BASELINE_SEEDS = [
|
|
|
355
467
|
label: "Tutor",
|
|
356
468
|
domain: "teaching, explanation, curriculum design",
|
|
357
469
|
description: "Adaptive explanations, exercises, curriculum.",
|
|
358
|
-
invariant:
|
|
470
|
+
invariant: EDUCATION_INVARIANT,
|
|
359
471
|
domainClass: "WRITING",
|
|
472
|
+
hiveSpecs: ["education"],
|
|
473
|
+
methodology: EDUCATION_METHODOLOGY,
|
|
474
|
+
verifiers: ["citation_gate", "source_gate"],
|
|
360
475
|
starters: ["teach me <concept> like I'm a beginner", "design a 4-week curriculum for <skill>", "give me 5 practice problems on <topic>"],
|
|
361
476
|
},
|
|
362
477
|
{
|
|
@@ -364,9 +479,11 @@ const BASELINE_SEEDS = [
|
|
|
364
479
|
label: "Medical",
|
|
365
480
|
domain: "medical literature review, clinical guidelines (educational)",
|
|
366
481
|
description: "Lit review, guideline summaries. NOT a substitute for a physician.",
|
|
367
|
-
invariant:
|
|
482
|
+
invariant: MEDICAL_INVARIANT,
|
|
368
483
|
domainClass: "CITED",
|
|
369
484
|
toolKey: "READ_ONLY",
|
|
485
|
+
methodology: MEDICAL_METHODOLOGY,
|
|
486
|
+
verifiers: ["citation_gate", "disclaimer_gate"],
|
|
370
487
|
starters: ["summarize the latest research on <condition>", "compare treatment guidelines for <X>", "what are the contraindications for <drug class>?"],
|
|
371
488
|
},
|
|
372
489
|
{
|
|
@@ -400,10 +517,13 @@ const BASELINE_SEEDS = [
|
|
|
400
517
|
{
|
|
401
518
|
slug: "engineer",
|
|
402
519
|
label: "Engineer",
|
|
403
|
-
domain: "mechanical / electrical / civil engineering",
|
|
404
|
-
description: "Calculations, FBDs, circuit analysis, structural specs.",
|
|
405
|
-
invariant:
|
|
520
|
+
domain: "mechanical / electrical / civil / systems engineering",
|
|
521
|
+
description: "Calculations, FBDs, circuit analysis, structural specs, systems design.",
|
|
522
|
+
invariant: ENGINEERING_INVARIANT,
|
|
406
523
|
domainClass: "NUMERIC",
|
|
524
|
+
toolKey: "CODE_AND_RUN",
|
|
525
|
+
methodology: ENGINEERING_METHODOLOGY,
|
|
526
|
+
verifiers: ["test_smoke", "typecheck", "unit_consistency"],
|
|
407
527
|
starters: ["calc the deflection of this beam under <load>", "design a voltage divider for <Vin Vout>", "size the bolts for this connection"],
|
|
408
528
|
},
|
|
409
529
|
{
|
|
@@ -470,31 +590,57 @@ const BASELINE_SEEDS = [
|
|
|
470
590
|
starters: ["write a 280-char tweet about <topic>", "design a 30-day content calendar", "what's a hook for a thread on <topic>?"],
|
|
471
591
|
},
|
|
472
592
|
];
|
|
473
|
-
// Build the auto-generated profiles from the baseline seeds.
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
593
|
+
// Build the auto-generated profiles from the baseline seeds. A seed that
|
|
594
|
+
// carries a hand-authored `methodology` swaps the generic baseline prompt
|
|
595
|
+
// for the full multi-phase block (the pentest-template pattern); its
|
|
596
|
+
// explicit `verifiers` then carry the gate list that asserts the invariant.
|
|
597
|
+
const AUTO_PROFILES = BASELINE_SEEDS.map((seed) => {
|
|
598
|
+
// A domain with a hand-authored override (operate_domains.ts) gets its full
|
|
599
|
+
// multi-phase methodology + verifier gates + council + starters spread over
|
|
600
|
+
// the baseline seed, lifting it from the generic prompt to senior-practitioner
|
|
601
|
+
// quality. Domains without an override keep their baseline.
|
|
602
|
+
const o = OPERATE_DOMAIN_OVERRIDES[seed.slug];
|
|
603
|
+
const s = o
|
|
604
|
+
? {
|
|
605
|
+
...seed,
|
|
606
|
+
methodology: o.methodology,
|
|
607
|
+
invariant: o.invariant,
|
|
608
|
+
verifiers: o.verifiers,
|
|
609
|
+
hiveSpecs: o.hiveSpecs,
|
|
610
|
+
starters: o.starters,
|
|
611
|
+
}
|
|
612
|
+
: seed;
|
|
613
|
+
return {
|
|
614
|
+
slug: s.slug,
|
|
615
|
+
label: s.label,
|
|
616
|
+
description: s.description,
|
|
617
|
+
welcome: `${s.label} mode — ${s.invariant}`,
|
|
618
|
+
systemPromptAppend: s.methodology
|
|
619
|
+
? [BASE_VOICE, ``, s.methodology].join("\n")
|
|
620
|
+
: [
|
|
621
|
+
BASE_VOICE,
|
|
622
|
+
``,
|
|
623
|
+
`${s.label.toUpperCase()} DOMAIN: ${s.domain}.`,
|
|
624
|
+
``,
|
|
625
|
+
`KEY INVARIANT: ${s.invariant}`,
|
|
626
|
+
``,
|
|
627
|
+
`Apply the rigor expected of a senior practitioner in this domain. Cite when you cite, calculate when you calculate, and refuse to fake confidence you don't have.`,
|
|
628
|
+
].join("\n"),
|
|
629
|
+
toolAllow: TOOLS[s.toolKey ?? "ALL_FILE"],
|
|
630
|
+
hiveSpecs: s.hiveSpecs ?? [s.slug],
|
|
631
|
+
verifiers: s.verifiers
|
|
632
|
+
? [...s.verifiers]
|
|
633
|
+
: VERIFIERS[s.domainClass]
|
|
634
|
+
? [...VERIFIERS[s.domainClass]]
|
|
635
|
+
: [...VERIFIERS.GENERAL],
|
|
636
|
+
promptStarters: s.starters,
|
|
637
|
+
accentHex: "#FFAE00",
|
|
638
|
+
};
|
|
639
|
+
});
|
|
494
640
|
// ---------------------------------------------------------------------------
|
|
495
641
|
// Combined export — the 33-spec roster the CLI ships with.
|
|
496
642
|
// ---------------------------------------------------------------------------
|
|
497
|
-
export const SEED_PROFILES = [...CORE_SIX, ...AUTO_PROFILES];
|
|
643
|
+
export const SEED_PROFILES = [...CORE_SIX, ...SECURITY_PROFILES, ...AUTO_PROFILES];
|
|
498
644
|
/** Default profile slug used when the user hasn't picked one. */
|
|
499
645
|
export const DEFAULT_PROFILE_SLUG = "code";
|
|
500
646
|
//# sourceMappingURL=seeds.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../src/profiles/seeds.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../src/profiles/seeds.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compute a hex SHA-256 digest of `data` (a string or Buffer).
|
|
3
|
+
* Used to fingerprint command output / file contents before and after edits.
|
|
4
|
+
*/
|
|
5
|
+
export declare function sha256Hex(data: string | Buffer): string;
|
|
6
|
+
/**
|
|
7
|
+
* POST /api/cli/receipt and return the verify_url on success, or null on any
|
|
8
|
+
* failure. Never throws.
|
|
9
|
+
*
|
|
10
|
+
* @param apiUrl - Base URL of the Theron API (e.g. "https://theron.tryvext.com").
|
|
11
|
+
* @param token - Bearer token from ~/.theron/credentials or env, or null when
|
|
12
|
+
* the user has not logged in.
|
|
13
|
+
* @param action_type - e.g. "local_bash", "local_write", "local_edit".
|
|
14
|
+
* @param payload - Action-specific metadata (no raw output text here).
|
|
15
|
+
* @param output - Optional small output value to include in the receipt.
|
|
16
|
+
*/
|
|
17
|
+
export declare function receiptLocalAction(apiUrl: string, token: string | null | undefined, action_type: string, payload: Record<string, unknown>, output?: unknown): Promise<string | null>;
|
package/dist/receipt.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// receipt.ts -- STOA receipt helper for local tool actions.
|
|
2
|
+
// Fail-open: never throws, never blocks the tool that called it.
|
|
3
|
+
// A failed receipt call returns null; the tool result is unaffected.
|
|
4
|
+
import { createHash } from "node:crypto";
|
|
5
|
+
/**
|
|
6
|
+
* Compute a hex SHA-256 digest of `data` (a string or Buffer).
|
|
7
|
+
* Used to fingerprint command output / file contents before and after edits.
|
|
8
|
+
*/
|
|
9
|
+
export function sha256Hex(data) {
|
|
10
|
+
return createHash("sha256")
|
|
11
|
+
.update(typeof data === "string" ? Buffer.from(data, "utf-8") : data)
|
|
12
|
+
.digest("hex");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* POST /api/cli/receipt and return the verify_url on success, or null on any
|
|
16
|
+
* failure. Never throws.
|
|
17
|
+
*
|
|
18
|
+
* @param apiUrl - Base URL of the Theron API (e.g. "https://theron.tryvext.com").
|
|
19
|
+
* @param token - Bearer token from ~/.theron/credentials or env, or null when
|
|
20
|
+
* the user has not logged in.
|
|
21
|
+
* @param action_type - e.g. "local_bash", "local_write", "local_edit".
|
|
22
|
+
* @param payload - Action-specific metadata (no raw output text here).
|
|
23
|
+
* @param output - Optional small output value to include in the receipt.
|
|
24
|
+
*/
|
|
25
|
+
export async function receiptLocalAction(apiUrl, token, action_type, payload, output) {
|
|
26
|
+
try {
|
|
27
|
+
const headers = { "content-type": "application/json" };
|
|
28
|
+
if (token)
|
|
29
|
+
headers["authorization"] = "Bearer " + token;
|
|
30
|
+
const r = await fetch(apiUrl.replace(/\/$/, "") + "/api/cli/receipt", {
|
|
31
|
+
method: "POST",
|
|
32
|
+
headers,
|
|
33
|
+
body: JSON.stringify({ action_type, payload, output }),
|
|
34
|
+
});
|
|
35
|
+
if (!r.ok)
|
|
36
|
+
return null;
|
|
37
|
+
const j = await r.json();
|
|
38
|
+
return (j && j["ok"] === true && typeof j["verify_url"] === "string")
|
|
39
|
+
? j["verify_url"]
|
|
40
|
+
: null;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=receipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../src/receipt.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AACjE,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAqB;IAC7C,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACpE,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,KAAgC,EAChC,WAAmB,EACnB,OAAgC,EAChC,MAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;QAC/E,IAAI,KAAK;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;QACxD,MAAM,CAAC,GAAG,MAAM,KAAK,CACnB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,kBAAkB,EAC9C;YACE,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SACvD,CACF,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAA6B,CAAC;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC;YACnE,CAAC,CAAE,CAAC,CAAC,YAAY,CAAY;YAC7B,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|