@llamaventures/cli 1.9.1 → 1.11.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/AGENT_BRIEFING.md +2 -1
- package/bin/llama-mcp.mjs +21 -5
- package/bin/llama.mjs +9 -4
- package/package.json +1 -1
package/AGENT_BRIEFING.md
CHANGED
|
@@ -47,7 +47,8 @@ A teammate says "I just met them and heard…" or pastes a chunk of notes. Your
|
|
|
47
47
|
- **Verifiable claims → facts.** `llama deal fact add <dealId> --category <cat> --claim "…" --source "<where it came from>"`. A claim someone *relayed* ("their ARR is $3M", "raised from a16z") is a fact at **unverified** trust — it's hearsay until checked. Pass `--attested` ONLY if you actually verified it against a source yourself.
|
|
48
48
|
- **Their judgment / impression → a note.** `llama post <dealId> "…"`. "Founder seemed evasive", "I'd lean pass", "worth a second meeting" — opinion, not fact. Attributed, never "verified".
|
|
49
49
|
- A pasted blob → pull the verifiable claims out as facts, capture their take as a note.
|
|
50
|
-
3. **
|
|
50
|
+
3. **Read it back before you claim it's saved.** A tool call returning `{ok:true}` is NOT proof the content is where the user will look for it. After filing, run `llama deal feed <dealId>` and confirm your fact/note actually appears, THEN tell the user in plain language what you recorded and where. Never say "记好了 / saved" from the return value alone — the #1 failure is an agent writing to the wrong surface (e.g. the brief, which is the Memo and does NOT appear in the feed) and reporting success anyway. If it's not in the feed, you routed it wrong — fix it.
|
|
51
|
+
- **Authorship is automatic, don't fake it.** Everything you write via CLI/MCP is recorded as "via assistant" (you're the accountable human's assistant). You can't and shouldn't make it read as human-typed — that honesty is the feature. Facts you add stay **unverified** until a human confirms them; if you pass `--attested` (only when you actually checked the source) your ceiling is **agent-verified**, never human-vouched. Only a person, signed in at the browser, can vouch. The confirmation IS the trust step — never silently mark something verified.
|
|
51
52
|
|
|
52
53
|
Why split it: facts and opinions live in different layers so the deal keeps one clean **source of truth** (facts, sourced + trust-rated) separate from people's **takes** (notes). The four layers — facts / notes / brief (AI's synthesis) / timeline — are documented in Llama Command's `docs/SCHEMA.md`.
|
|
53
54
|
|
package/bin/llama-mcp.mjs
CHANGED
|
@@ -307,10 +307,16 @@ server.registerTool(
|
|
|
307
307
|
"deal_feed",
|
|
308
308
|
{
|
|
309
309
|
description:
|
|
310
|
-
"The unified, time-sorted stream of
|
|
310
|
+
"The unified, time-sorted stream of every contribution to a deal — " +
|
|
311
311
|
"facts + notes/discussion + legacy posts, merged at query time, newest first. " +
|
|
312
|
-
"
|
|
313
|
-
"
|
|
312
|
+
"Shows contributions from ANYONE — a teammate, their AI assistant, or an " +
|
|
313
|
+
"autonomous system agent; nothing is hidden. Each item carries `who` (the " +
|
|
314
|
+
"accountable person, null only for principal-less system writes) and `agent` " +
|
|
315
|
+
"(the assistant/system label when an AI did the writing, null when a human " +
|
|
316
|
+
"typed it) so you can tell human-typed from assistant-drafted. The AI's " +
|
|
317
|
+
"regenerable brief/persona synthesis is NOT here (that's the Memo) — only " +
|
|
318
|
+
"facts + discussion notes. Each item: kind (fact|note), ts, who, agent, " +
|
|
319
|
+
"origin, text, and for facts: source + trust rung + category.",
|
|
314
320
|
inputSchema: {
|
|
315
321
|
dealId: z.string(),
|
|
316
322
|
},
|
|
@@ -971,20 +977,30 @@ server.registerTool(
|
|
|
971
977
|
"Trigger server-side regeneration of the deal memo. Synchronous: " +
|
|
972
978
|
"returns the final result (version, model, duration_ms, degraded) " +
|
|
973
979
|
"once the composer finishes. Typical duration 2-3 minutes. Use " +
|
|
974
|
-
"tier='opus' for high-stakes deals (higher cost, deeper analysis)."
|
|
980
|
+
"tier='opus' for high-stakes deals (higher cost, deeper analysis). " +
|
|
981
|
+
"Pass `instructions` to steer THIS regeneration (e.g. 'focus on team " +
|
|
982
|
+
"risk', 'frame as a follow-on') — applied across all panels, never " +
|
|
983
|
+
"overrides the facts or the verdict.",
|
|
975
984
|
inputSchema: {
|
|
976
985
|
dealId: z.string().describe("deal uuid"),
|
|
977
986
|
tier: z
|
|
978
987
|
.enum(["sonnet", "opus"])
|
|
979
988
|
.optional()
|
|
980
989
|
.describe("LLM tier (default: sonnet)"),
|
|
990
|
+
instructions: z
|
|
991
|
+
.string()
|
|
992
|
+
.optional()
|
|
993
|
+
.describe(
|
|
994
|
+
"Free-text steering for this regeneration only, e.g. 'focus on team risk'. Applied to all panels; never overrides verified facts or the verdict anchor."
|
|
995
|
+
),
|
|
981
996
|
},
|
|
982
997
|
},
|
|
983
|
-
async ({ dealId, tier }) =>
|
|
998
|
+
async ({ dealId, tier, instructions }) =>
|
|
984
999
|
callApi("POST", `/api/deals/${encodeURIComponent(dealId)}/memo`, {
|
|
985
1000
|
action: "regenerate",
|
|
986
1001
|
stream: false,
|
|
987
1002
|
model: tier ?? "sonnet",
|
|
1003
|
+
instructions: instructions || undefined,
|
|
988
1004
|
})
|
|
989
1005
|
);
|
|
990
1006
|
|
package/bin/llama.mjs
CHANGED
|
@@ -225,7 +225,7 @@ Manually-set \`llc_\` tokens are used as a fallback.
|
|
|
225
225
|
Deals:
|
|
226
226
|
llama deal create "Company" --source <name> --description "..." --website https://...
|
|
227
227
|
llama deal show <dealId>
|
|
228
|
-
llama deal feed <dealId> #
|
|
228
|
+
llama deal feed <dealId> # every contribution (facts + notes), human-typed or assistant-drafted, newest first
|
|
229
229
|
llama deal update <dealId> <field> <value>
|
|
230
230
|
Writable fields: status, theirStage, stage, notes, dealOwner, source,
|
|
231
231
|
description, website, location, founders, proposedAmount, roundSize,
|
|
@@ -358,7 +358,7 @@ Wiki:
|
|
|
358
358
|
|
|
359
359
|
Memo (long-form HTML investment memo — Memo tab in the UI):
|
|
360
360
|
llama memo show <dealId> [--out <path>] [--json] # default: html → stdout (pipeable to file / browser)
|
|
361
|
-
llama memo regenerate <dealId> [--opus]
|
|
361
|
+
llama memo regenerate <dealId> [--opus] [--instructions "..."] # --instructions steers THIS run (e.g. "focus on team risk"); progress → stderr
|
|
362
362
|
llama memo save <dealId> --file <path> # paste a hand-written HTML as manual override
|
|
363
363
|
llama memo reset <dealId> [--all] # default drops manual override; --all drops every version
|
|
364
364
|
|
|
@@ -423,7 +423,7 @@ const HELP_ROOT = `Llama Command CLI — the \`llama\` command for the Llama Ven
|
|
|
423
423
|
Common:
|
|
424
424
|
llama deal search "<name>" find a deal in the pipeline
|
|
425
425
|
llama deal show <dealId> full deal record
|
|
426
|
-
llama deal feed <dealId>
|
|
426
|
+
llama deal feed <dealId> every contribution (facts + notes), newest first
|
|
427
427
|
llama post <dealId> "..." add a note to a deal
|
|
428
428
|
llama agent-onboard print the AI-agent workflow contract
|
|
429
429
|
|
|
@@ -1964,7 +1964,9 @@ Routing — is this the right command?
|
|
|
1964
1964
|
if (sub === "regenerate") {
|
|
1965
1965
|
const dealId = rest[0];
|
|
1966
1966
|
if (!dealId) {
|
|
1967
|
-
throw new Error(
|
|
1967
|
+
throw new Error(
|
|
1968
|
+
'Usage: llama memo regenerate <dealId> [--opus] [--instructions "..."]'
|
|
1969
|
+
);
|
|
1968
1970
|
}
|
|
1969
1971
|
const { flags } = parseFlags(rest.slice(1));
|
|
1970
1972
|
const tier = flags.opus ? "opus" : "sonnet";
|
|
@@ -1983,6 +1985,9 @@ Routing — is this the right command?
|
|
|
1983
1985
|
action: "regenerate",
|
|
1984
1986
|
stream: true,
|
|
1985
1987
|
model: tier,
|
|
1988
|
+
instructions: flags.instructions
|
|
1989
|
+
? String(flags.instructions)
|
|
1990
|
+
: undefined,
|
|
1986
1991
|
}),
|
|
1987
1992
|
}
|
|
1988
1993
|
);
|