run402 4.69.8 → 4.70.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.
Files changed (40) hide show
  1. package/README.md +3 -1
  2. package/gitvault-surface.json +5 -1
  3. package/lib/command-manifest.mjs +2 -0
  4. package/lib/gitvault-capabilities.mjs +6 -0
  5. package/lib/harness-context.mjs +50 -0
  6. package/lib/messages.mjs +83 -1
  7. package/lib/repos.mjs +313 -9
  8. package/lib/rooms-context.mjs +23 -13
  9. package/package.json +1 -1
  10. package/sdk/dist/errors.d.ts +1 -1
  11. package/sdk/dist/errors.d.ts.map +1 -1
  12. package/sdk/dist/errors.js.map +1 -1
  13. package/sdk/dist/namespaces/gitvault.d.ts +223 -0
  14. package/sdk/dist/namespaces/gitvault.d.ts.map +1 -1
  15. package/sdk/dist/namespaces/gitvault.js +609 -2
  16. package/sdk/dist/namespaces/gitvault.js.map +1 -1
  17. package/sdk/dist/namespaces/rooms.d.ts +20 -1
  18. package/sdk/dist/namespaces/rooms.d.ts.map +1 -1
  19. package/sdk/dist/namespaces/rooms.js +93 -0
  20. package/sdk/dist/namespaces/rooms.js.map +1 -1
  21. package/sdk/dist/namespaces/rooms.types.d.ts +73 -0
  22. package/sdk/dist/namespaces/rooms.types.d.ts.map +1 -1
  23. package/sdk/dist/node/gitvault-address.d.ts +1 -0
  24. package/sdk/dist/node/gitvault-address.d.ts.map +1 -1
  25. package/sdk/dist/node/gitvault-address.js +5 -1
  26. package/sdk/dist/node/gitvault-address.js.map +1 -1
  27. package/sdk/dist/node/gitvault-handoff.d.ts +109 -31
  28. package/sdk/dist/node/gitvault-handoff.d.ts.map +1 -1
  29. package/sdk/dist/node/gitvault-handoff.js +264 -137
  30. package/sdk/dist/node/gitvault-handoff.js.map +1 -1
  31. package/sdk/dist/node/gitvault-keystore.d.ts +2 -2
  32. package/sdk/dist/node/gitvault-keystore.d.ts.map +1 -1
  33. package/sdk/dist/node/gitvault-restore.d.ts +19 -0
  34. package/sdk/dist/node/gitvault-restore.d.ts.map +1 -1
  35. package/sdk/dist/node/gitvault-restore.js +59 -2
  36. package/sdk/dist/node/gitvault-restore.js.map +1 -1
  37. package/sdk/dist/node/index.d.ts +4 -4
  38. package/sdk/dist/node/index.d.ts.map +1 -1
  39. package/sdk/dist/node/index.js +9 -5
  40. package/sdk/dist/node/index.js.map +1 -1
package/lib/repos.mjs CHANGED
@@ -21,7 +21,7 @@
21
21
  * spelling with a typed `COMMAND_MOVED` (naming its `repos` successor) or
22
22
  * `COMMAND_REMOVED` (for `reconcile`, which has none) error.
23
23
  */
24
- import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
24
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
25
25
  import { basename, join } from "node:path";
26
26
  import { getSdk } from "./sdk.mjs";
27
27
  import { reportSdkError, fail } from "./sdk-errors.mjs";
@@ -31,6 +31,8 @@ import { loadLiveControlPlaneSession } from "../core-dist/control-plane-session.
31
31
  import { resolveOrgId, resolveOwningOrgId } from "./org-context.mjs";
32
32
  import { resolveGitvaultTarget } from "./gitvault-target.mjs";
33
33
  import { nextAction, claimOrgSlugAction, claimRepoNameAction } from "./next-actions.mjs";
34
+ import { resolveHarnessLabels, resolveSessionKey, resolveTaskLabel, persistSessionKey } from "./harness-context.mjs";
35
+ import { updateRoomState } from "./rooms-context.mjs";
34
36
  import { printKeystoreLocation } from "./gitvault.mjs";
35
37
  import {
36
38
  GITVAULT_BYO_HEADLINE_STATEMENT,
@@ -76,6 +78,12 @@ Handoff (pass a working tree to another agent):
76
78
  (the Handoff Note is JSON piped on stdin when not using --note-file)
77
79
  run402 repos resume <kgh1_…|--key-stdin> [--to <dir>] [--no-init] [--json]
78
80
 
81
+ Invite (bring a second agent into the SAME work, dirty tree included):
82
+ run402 repos invite [--project <id>] [--repo <repo_id>] [--room <key>] [--ttl <seconds>] [--role <role>]
83
+ [--include-sensitive <glob>]... [--note-file <path>] [--json] [--list] [--revoke <invite_id>]
84
+ (the Invite Note is JSON piped on stdin when not using --note-file)
85
+ run402 repos join <kgi1_…|--key-stdin> [--to <dir>] [--no-init] [--json]
86
+
79
87
  Occasional:
80
88
  run402 repos snapshot [--project <id>] [--repo <repo_id>] [--message <text>] [--checkpoint] [--dry-run] [--allow-dirty] [--manifest-out <path>]
81
89
  run402 repos mirror [<destination>] [--off] [--backfill] [--profile <name> | --ambient] [--region <r>] [--endpoint <url>] [--project <id>] [--repo <repo_id>]
@@ -165,6 +173,35 @@ Subcommands:
165
173
  restored distinctly), pins the repo/org/room into the checkout's
166
174
  LOCAL git config only, and renders the Handoff Note as Markdown.
167
175
  \`<kgh1_…>\` or \`--key-stdin\` (avoids shell mangling).
176
+ invite Capture a stash-shaped checkpoint exactly like \`handoff\`, but
177
+ mint a single-use Invite Key (\`kgi1_…\`) that admits the
178
+ recipient to a SHARED coordination room while you keep working —
179
+ your worktree, index, branch, refs, and access are all
180
+ untouched. Registers your own presence in the room (default: the
181
+ project's own room; \`--room <key>\` names an org room) and posts
182
+ ONE message naming the checkpoint and the invite id (never the
183
+ key). \`--role\` narrows the minted role (defaults to
184
+ \`developer\`, never wider than your own); \`--ttl <seconds>\`
185
+ (60..86400, default 3600).
186
+ \`--list\`/\`--revoke <invite_id>\` read/revoke instead of minting.
187
+ Minting requires an ACTIVE writer key on this vault: a session
188
+ whose key is not admitted is refused
189
+ \`INVITE_MINT_REQUIRES_WRITER\` — have a live writer run
190
+ \`run402 repos access sync\` (any push does it too), then retry.
191
+ join Claim an Invite Key on ANY machine: the SAME cold-start fold
192
+ \`resume\` runs (allowance → faucet → one x402 prototype payment,
193
+ announced — \`--no-init\` opts out; a chain failure never blocks
194
+ the claim), clones the vault at the base HEAD into \`--to <dir>\`
195
+ (default: the vault's name), restores the stash-shaped
196
+ checkpoint exactly like \`resume\`, pins \`r402.room\` to the
197
+ INVITE's own room, adds \`.run402/\` to \`.git/info/exclude\`,
198
+ registers this session's presence, activates THIS machine's own
199
+ key as a writer of the vault before returning (so \`git push\`
200
+ works at once, under your own key, while the inviter keeps
201
+ pushing), and reports who invited you (name, labels, liveness),
202
+ who else is live, and the last few messages —
203
+ \`run402 messages wait\` is your ear from here.
204
+ \`<kgi1_…>\` or \`--key-stdin\` (avoids shell mangling).
168
205
  rename Claim or rename the repo's per-org-unique, address-form name
169
206
  (the <name> half of run402::<org-slug>/<name>). Address by
170
207
  --repo or --project (not both).
@@ -1153,7 +1190,13 @@ async function view(args) {
1153
1190
  console.error(`remote '${s.remote.name}': ${s.remote.url}${suffix}`);
1154
1191
  }
1155
1192
  if (s.pinned) {
1156
- console.error(`pinned: repo_id ${s.pinned.repo_id}` + (s.pinned.resolved_from ? ` (resolved from run402::${s.pinned.resolved_from.org_slug}/${s.pinned.resolved_from.repo_name})` : ""));
1193
+ console.error(`pinned: repo_id ${s.pinned.repo_id}` + (s.pinned.resolved_from ? ` (resolved from run402::${s.pinned.resolved_from.org_slug}/${s.pinned.resolved_from.repo_name})` : "") + (s.pinned.room ? `, room ${s.pinned.room}` : ""));
1194
+ }
1195
+ // kygit-invite design D9's risk list: ".git/info/exclude is per-clone and
1196
+ // silent" — `messaging_cache_excluded` makes the state visible rather
1197
+ // than leaving it a fact only `cat .git/info/exclude` would reveal.
1198
+ if (s.messaging_cache_excluded !== null && s.messaging_cache_excluded !== undefined) {
1199
+ console.error(`messaging cache excluded from git: ${s.messaging_cache_excluded}`);
1157
1200
  }
1158
1201
  // gitvault-byo-primary-bucket task 3.5: the no-payload-copy disclosure —
1159
1202
  // unconditional and independent of mirror status (D7), never folded
@@ -1626,19 +1669,45 @@ async function readHandoffNoteInput(a) {
1626
1669
  return parseHandoffNoteJson(text, "stdin");
1627
1670
  }
1628
1671
 
1629
- function parseHandoffNoteJson(text, source) {
1672
+ /** The invite-kind sibling of {@link readHandoffNoteInput} (kygit-invite design D3/D9). */
1673
+ async function readInviteNoteInput(a) {
1674
+ const noteFile = flagValue(a, "--note-file");
1675
+ if (noteFile != null) {
1676
+ validateRegularFile(noteFile, "--note-file");
1677
+ return parseInviteNoteJson(readFileSync(noteFile, "utf-8"), noteFile);
1678
+ }
1679
+ if (process.stdin?.isTTY) {
1680
+ fail({
1681
+ code: "BAD_USAGE",
1682
+ message: "Missing the Invite Note on stdin.",
1683
+ hint: "Pipe the note as JSON (schema kygit.invite-note.v1, minus `capture`), or use --note-file <path>.",
1684
+ });
1685
+ }
1686
+ const text = await readStdinText();
1687
+ if (text.trim().length === 0) {
1688
+ fail({
1689
+ code: "BAD_USAGE",
1690
+ message: "Missing the Invite Note on stdin.",
1691
+ hint: "Pipe the note as JSON, or use --note-file <path>.",
1692
+ });
1693
+ }
1694
+ return parseInviteNoteJson(text, "stdin");
1695
+ }
1696
+
1697
+ /** Shared body for `parseHandoffNoteJson`/`parseInviteNoteJson` — `schema`/`kindLabel` name the claim kind's own vocabulary. */
1698
+ function parseClaimNoteJson(text, source, schema, kindLabel, helpCommand) {
1630
1699
  let parsed;
1631
1700
  try {
1632
1701
  parsed = JSON.parse(text);
1633
1702
  } catch {
1634
- fail({ code: "BAD_USAGE", message: `The Handoff Note from ${source} is not valid JSON.`, hint: "Pipe a JSON object matching kygit.handoff-note.v1 (minus `capture`, which is filled in for you)." });
1703
+ fail({ code: "BAD_USAGE", message: `The ${kindLabel} Note from ${source} is not valid JSON.`, hint: `Pipe a JSON object matching ${schema} (minus \`capture\`, which is filled in for you).` });
1635
1704
  }
1636
1705
  if (!parsed || typeof parsed !== "object" || typeof parsed.summary !== "string") {
1637
- fail({ code: "BAD_USAGE", message: `The Handoff Note from ${source} is missing a \`summary\` string.`, hint: "See `run402 repos handoff --help` for the note shape." });
1706
+ fail({ code: "BAD_USAGE", message: `The ${kindLabel} Note from ${source} is missing a \`summary\` string.`, hint: `See \`${helpCommand}\` for the note shape.` });
1638
1707
  }
1639
1708
  const now = new Date().toISOString();
1640
1709
  return {
1641
- schema: "kygit.handoff-note.v1",
1710
+ schema,
1642
1711
  created_at: typeof parsed.created_at === "string" ? parsed.created_at : now,
1643
1712
  from: parsed.from ?? { agent: "unspecified" },
1644
1713
  summary: parsed.summary,
@@ -1653,6 +1722,14 @@ function parseHandoffNoteJson(text, source) {
1653
1722
  };
1654
1723
  }
1655
1724
 
1725
+ function parseHandoffNoteJson(text, source) {
1726
+ return parseClaimNoteJson(text, source, "kygit.handoff-note.v1", "Handoff", "run402 repos handoff --help");
1727
+ }
1728
+
1729
+ function parseInviteNoteJson(text, source) {
1730
+ return parseClaimNoteJson(text, source, "kygit.invite-note.v1", "Invite", "run402 repos invite --help");
1731
+ }
1732
+
1656
1733
  async function handoff(args) {
1657
1734
  const a = normalizeArgv(args);
1658
1735
  assertKnownFlags(a, [...HANDOFF_VALUE_FLAGS, "--json", "--list", "-v", "--verbose", "--help", "-h"], HANDOFF_VALUE_FLAGS);
@@ -1768,11 +1845,11 @@ async function foldColdStartForResume(sdk) {
1768
1845
  }
1769
1846
  }
1770
1847
 
1771
- /** `kygit.handoff-note.v1` rendered as Markdown — `resume`'s default (non-`--json`) rendering. */
1772
- function renderHandoffNoteMarkdown(note) {
1848
+ /** `kygit.handoff-note.v1` / `kygit.invite-note.v1` rendered as Markdown — shared body, `title` names the claim kind ("Handoff" or "Invite"). */
1849
+ function renderClaimNoteMarkdown(note, title) {
1773
1850
  if (!note) return null;
1774
1851
  const lines = [];
1775
- lines.push(`# Handoff — ${note.from?.agent ?? "unknown agent"}${note.from?.model ? ` (${note.from.model})` : ""}`);
1852
+ lines.push(`# ${title} — ${note.from?.agent ?? "unknown agent"}${note.from?.model ? ` (${note.from.model})` : ""}`);
1776
1853
  lines.push("");
1777
1854
  lines.push(note.summary ?? "");
1778
1855
  const section = (title, items) => {
@@ -1806,6 +1883,16 @@ function renderHandoffNoteMarkdown(note) {
1806
1883
  return lines.join("\n");
1807
1884
  }
1808
1885
 
1886
+ /** `resume`'s default (non-`--json`) rendering — the Handoff Note as Markdown. */
1887
+ function renderHandoffNoteMarkdown(note) {
1888
+ return renderClaimNoteMarkdown(note, "Handoff");
1889
+ }
1890
+
1891
+ /** `join`'s default (non-`--json`) rendering — the Invite Note as Markdown (kygit-invite design D5). */
1892
+ function renderInviteNoteMarkdown(note) {
1893
+ return renderClaimNoteMarkdown(note, "Invite");
1894
+ }
1895
+
1809
1896
  async function resume(args) {
1810
1897
  const a = normalizeArgv(args);
1811
1898
  assertKnownFlags(a, [...RESUME_VALUE_FLAGS, "--key-stdin", "--no-init", "--json", "-v", "--verbose", "--help", "-h"], RESUME_VALUE_FLAGS);
@@ -1858,6 +1945,215 @@ async function resume(args) {
1858
1945
  }
1859
1946
  }
1860
1947
 
1948
+ // ─── invite / join (kygit-invite) ────────────────────────────────────────────
1949
+
1950
+ const INVITE_VALUE_FLAGS = [...COMMON_VALUE_FLAGS, "--ttl", "--role", "--include-sensitive", "--revoke", "--note-file", "--room"];
1951
+ const JOIN_VALUE_FLAGS = ["--to"];
1952
+
1953
+ /**
1954
+ * `run402 repos invite` — capture a stash-shaped checkpoint (design D1,
1955
+ * identical to `handoff`), register the inviter's own presence in the
1956
+ * invite's room, mint through the gateway, post ONE fact from that
1957
+ * presence, and print the assembled `kgi1_…` key exactly once (kygit-invite
1958
+ * design D4). Never touches the inviter's worktree, index, branch, refs, or
1959
+ * access.
1960
+ */
1961
+ async function invite(args) {
1962
+ const a = normalizeArgv(args);
1963
+ assertKnownFlags(a, [...INVITE_VALUE_FLAGS, "--json", "--list", "-v", "--verbose", "--help", "-h"], INVITE_VALUE_FLAGS);
1964
+ const sdk = getSdk();
1965
+ const asJson = a.includes("--json");
1966
+ const verbose = isVerbose(a);
1967
+
1968
+ if (a.includes("--list")) {
1969
+ const target = await vaultTarget(a);
1970
+ try {
1971
+ const result = await sdk.gitvault.listInvites(target);
1972
+ printJson(sdk, result);
1973
+ printVerboseStats(a, sdk);
1974
+ } catch (err) {
1975
+ reportSdkError(err);
1976
+ }
1977
+ return;
1978
+ }
1979
+ const revokeId = flagValue(a, "--revoke");
1980
+ if (revokeId != null) {
1981
+ const target = await vaultTarget(a);
1982
+ try {
1983
+ const result = await sdk.gitvault.revokeInvite(revokeId, target);
1984
+ printJson(sdk, result);
1985
+ printVerboseStats(a, sdk);
1986
+ } catch (err) {
1987
+ reportSdkError(err);
1988
+ }
1989
+ return;
1990
+ }
1991
+
1992
+ const note = await readInviteNoteInput(a);
1993
+ const ttlRaw = flagValue(a, "--ttl");
1994
+ const ttlSeconds = ttlRaw != null ? parseIntegerFlag("--ttl", ttlRaw, { min: 60, max: 86400 }) : undefined;
1995
+ const role = flagValue(a, "--role");
1996
+ const includeSensitive = flagValues(a, "--include-sensitive");
1997
+ const roomKey = flagValue(a, "--room");
1998
+ const target = await vaultTarget(a);
1999
+ // kygit-invite design D4/D8: the inviter's own presence carries
2000
+ // harness-derived labels and this checkout's resumable session identity —
2001
+ // never guessed.
2002
+ const { program, model } = resolveHarnessLabels();
2003
+ const { key: sessionKey } = resolveSessionKey();
2004
+ // The inviter's presence may RESUME an existing one by session key, and a
2005
+ // resumption refreshes `task` — so pass the harness's own thread title
2006
+ // (what `rooms join` / `messages send` already send), never a made-up
2007
+ // label that would overwrite what this session is actually working on.
2008
+ const { task } = await resolveTaskLabel({});
2009
+
2010
+ const opts = {
2011
+ ...target,
2012
+ note,
2013
+ ...(role != null ? { role } : {}),
2014
+ ...(ttlSeconds != null ? { ttlSeconds } : {}),
2015
+ ...(includeSensitive.length > 0 ? { includeSensitive } : {}),
2016
+ ...(roomKey != null ? { roomKey } : {}),
2017
+ ...(program ? { program } : {}),
2018
+ ...(model ? { model } : {}),
2019
+ ...(task ? { task } : {}),
2020
+ sessionKey,
2021
+ onCommitLine: (line) => console.error(line),
2022
+ };
2023
+ try {
2024
+ const result = await sdk.gitvault.invite(opts);
2025
+ for (const w of result.warnings ?? []) {
2026
+ console.error(w.message ?? `${w.code}`);
2027
+ }
2028
+ console.error(`invite minted: role ${result.minted_role}, expires ${result.expires_at}, room ${result.room?.room_key ?? "(unknown)"}`);
2029
+ console.error(`recipient runs: kygit join <key printed below>`);
2030
+ if (result.inviter_presence && result.inviter_presence.registered === false) {
2031
+ console.error(`note: your own presence was not registered (${result.inviter_presence.error}) — the invite still mints and is claimable`);
2032
+ }
2033
+ if (result.room_fact && result.room_fact.posted === false) {
2034
+ console.error(`note: the room fact was not posted (${result.room_fact.reason}) — the invite still mints and remains claimable`);
2035
+ }
2036
+ if (asJson) {
2037
+ printJson(sdk, result);
2038
+ } else {
2039
+ // The key alone, so `KEY=$(run402 repos invite ...)` works — everything
2040
+ // else (the blast-radius warning, the commit line) is on stderr.
2041
+ console.log(result.invite_key);
2042
+ }
2043
+ printVerboseStats(a, sdk);
2044
+ void verbose;
2045
+ } catch (err) {
2046
+ reportSdkError(err);
2047
+ }
2048
+ }
2049
+
2050
+ /**
2051
+ * `run402 repos join` — the full cold-start chain (SAME fold `resume`
2052
+ * uses), claim, restore exactly as `resume` does, pin `r402.room` to the
2053
+ * invite's OWN room, register this session's presence, post ONE arrival
2054
+ * fact, and report the inviter by name and labels, live presences, the
2055
+ * catch-up cursor, and the last few messages (kygit-invite design D5).
2056
+ */
2057
+ async function joinInvite(args) {
2058
+ const a = normalizeArgv(args);
2059
+ assertKnownFlags(a, [...JOIN_VALUE_FLAGS, "--key-stdin", "--no-init", "--json", "-v", "--verbose", "--help", "-h"], JOIN_VALUE_FLAGS);
2060
+ const sdk = getSdk();
2061
+ const keyStdin = a.includes("--key-stdin");
2062
+ const to = flagValue(a, "--to");
2063
+ const positionals = requirePositionalCount(a, [...JOIN_VALUE_FLAGS], { min: keyStdin ? 0 : 1, max: keyStdin ? 0 : 1, command: "run402 repos join <kgi1_…|--key-stdin>", missing: "Missing the Invite Key (positional argument, or --key-stdin)." });
2064
+ let key = positionals[0] ?? null;
2065
+ if (keyStdin) {
2066
+ key = (await readStdinText()).trim();
2067
+ if (!key) fail({ code: "BAD_USAGE", message: "Missing the Invite Key on stdin.", hint: "Pipe the kgi1_… key, or pass it as a positional argument." });
2068
+ }
2069
+ // kygit-invite design D5: a joined agent is a NEW run402 wallet, so `join`
2070
+ // folds the SAME cold-start chain `resume` does (allowance → faucet → one
2071
+ // x402 prototype payment, announced) BEFORE the claim; the claim itself
2072
+ // needs no tier, so the chain never blocks the claim. `--no-init` opts
2073
+ // out entirely.
2074
+ const coldStart = a.includes("--no-init") ? { performed: false, skipped: "no_init" } : await foldColdStartForResume(sdk);
2075
+ const { program, model } = resolveHarnessLabels();
2076
+ const { key: sessionKey, source: sessionKeySource } = resolveSessionKey();
2077
+ const { task } = await resolveTaskLabel({});
2078
+ try {
2079
+ const result = await sdk.gitvault.join({
2080
+ key,
2081
+ ...(to != null ? { to } : {}),
2082
+ ...(program ? { program } : {}),
2083
+ ...(model ? { model } : {}),
2084
+ ...(task ? { task } : {}),
2085
+ sessionKey,
2086
+ onLine: (line) => console.error(line),
2087
+ });
2088
+ if (coldStart.next_action) result.next_actions = [...(result.next_actions ?? []), coldStart.next_action];
2089
+ // kygit-invite design D5: the joined checkout's FIRST `messages wait`
2090
+ // must speak as the session that joined and read from the arrival
2091
+ // cursor — so the per-checkout room state (presence + cursor) is written
2092
+ // into the CLONE, not this cwd, along with the generated session key
2093
+ // when that is what identified this session (a harness-provided id is
2094
+ // found in the environment first, wherever the next command runs).
2095
+ // Best-effort: the join already succeeded; `.run402/` is excluded from
2096
+ // git in the clone by the SDK, so this never shows in `git status`.
2097
+ try {
2098
+ const dir = result.restored?.dir;
2099
+ if (dir && existsSync(dir)) {
2100
+ updateRoomState(result.room.organization_id, result.room.room_key, {
2101
+ ...(result.presence ? { presence_id: result.presence.presence_id, name: result.presence.name } : {}),
2102
+ ...(typeof result.cursor === "string" ? { cursor: result.cursor } : {}),
2103
+ }, { cwd: dir });
2104
+ if (sessionKeySource === "generated" || sessionKeySource === "generated_cached") persistSessionKey(dir, sessionKey);
2105
+ }
2106
+ } catch {
2107
+ // never fails a completed join
2108
+ }
2109
+ if (a.includes("--json")) {
2110
+ printJson(sdk, { ...result, cold_start: coldStart });
2111
+ } else {
2112
+ const rendered = renderInviteNoteMarkdown(result.note) ?? result.note_raw;
2113
+ if (rendered) {
2114
+ console.log(rendered);
2115
+ }
2116
+ console.error("");
2117
+ console.error(`joined into ${result.restored.dir} (branch ${result.restored.branch})`);
2118
+ if (result.deduplicated) console.error("note: this key was already claimed by this same principal — the ORIGINAL envelope was reused (safe replay)");
2119
+ // gitvault-multi-writer (rev 47) / kygit-invite design D5 — this
2120
+ // checkout's own writer activation, printed in the SAME `writer: …`
2121
+ // shape `resume` uses. `pending` is D9's not-stranded path: the key is
2122
+ // a pending writer, and the `request_writer_sync` next action below
2123
+ // names the remedy.
2124
+ if (result.writer_activation) {
2125
+ console.error(
2126
+ result.writer_activation.outcome === "active"
2127
+ ? `writer: active (generation ${result.writer_activation.generation})`
2128
+ : `writer: pending — ${result.writer_activation.reason}`,
2129
+ );
2130
+ }
2131
+ if (result.inviter) {
2132
+ const labels = [result.inviter.program, result.inviter.model].filter(Boolean).join("/");
2133
+ const liveness = result.inviter.state === "active" ? "live" : result.inviter.state;
2134
+ console.error(`invited by ${result.inviter.name}${labels ? ` (${labels})` : ""} — ${liveness}`);
2135
+ } else {
2136
+ console.error("invited by: unknown (the inviter never registered a presence)");
2137
+ }
2138
+ const others = (result.live_presences ?? []).filter((p) => !result.inviter || p.presence_id !== result.inviter.presence_id);
2139
+ if (others.length > 0) console.error(`also live: ${others.map((p) => p.name).join(", ")}`);
2140
+ const recent = result.recent_messages ?? [];
2141
+ if (recent.length > 0) {
2142
+ console.error(`recent messages (${recent.length}):`);
2143
+ for (const m of recent.slice().reverse()) {
2144
+ console.error(` ${m.sender ?? "?"}: ${m.body_snippet ?? m.body ?? ""}`);
2145
+ }
2146
+ }
2147
+ for (const na of result.next_actions ?? []) {
2148
+ if (na.command) console.error(`next: ${na.command}${na.why ? ` — ${na.why}` : ""}`);
2149
+ }
2150
+ }
2151
+ printVerboseStats(a, sdk);
2152
+ } catch (err) {
2153
+ reportSdkError(err);
2154
+ }
2155
+ }
2156
+
1861
2157
  // ─── policy ─────────────────────────────────────────────────────────────────
1862
2158
 
1863
2159
  /**
@@ -2979,6 +3275,14 @@ export async function run(sub, args) {
2979
3275
  await resume(argv);
2980
3276
  break;
2981
3277
  }
3278
+ case "invite": {
3279
+ await invite(argv);
3280
+ break;
3281
+ }
3282
+ case "join": {
3283
+ await joinInvite(argv);
3284
+ break;
3285
+ }
2982
3286
  case "policy": {
2983
3287
  await policy(argv);
2984
3288
  break;
@@ -30,7 +30,7 @@ import { getSdk } from "./sdk.mjs";
30
30
  import { resolveOrg } from "./org-context.mjs";
31
31
  import { findBindingKey } from "./wallet-context.mjs";
32
32
  import { nextAction } from "./next-actions.mjs";
33
- import { resolveSessionKey } from "./harness-context.mjs";
33
+ import { resolveSessionKey, resolveHarnessLabels } from "./harness-context.mjs";
34
34
  import { describeRejectedValue } from "../core-dist/redact.js";
35
35
 
36
36
  export const ROOM_ENV = "RUN402_ROOM";
@@ -139,13 +139,18 @@ export async function resolveRoom({ org, room, project } = {}) {
139
139
  };
140
140
  }
141
141
 
142
- function statePath() {
143
- return join(process.cwd(), STATE_DIR, STATE_FILE);
142
+ // Every state read/write takes the checkout it belongs to; the default is
143
+ // this process's cwd (the house discipline of one worktree per session).
144
+ // `repos join` is the one caller that writes ANOTHER checkout's state — the
145
+ // clone it just created — so the first `messages wait` there speaks as the
146
+ // session that joined and reads from the arrival cursor (kygit-invite D5).
147
+ function statePath(cwd = process.cwd()) {
148
+ return join(cwd, STATE_DIR, STATE_FILE);
144
149
  }
145
150
 
146
- function loadState() {
151
+ function loadState(cwd = process.cwd()) {
147
152
  try {
148
- const raw = readFileSync(statePath(), "utf8");
153
+ const raw = readFileSync(statePath(cwd), "utf8");
149
154
  const parsed = JSON.parse(raw);
150
155
  return parsed && typeof parsed === "object" && parsed.rooms && typeof parsed.rooms === "object"
151
156
  ? parsed
@@ -155,11 +160,11 @@ function loadState() {
155
160
  }
156
161
  }
157
162
 
158
- function saveState(state) {
163
+ function saveState(state, cwd = process.cwd()) {
159
164
  try {
160
- const dir = join(process.cwd(), STATE_DIR);
165
+ const dir = join(cwd, STATE_DIR);
161
166
  if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
162
- writeFileSync(statePath(), `${JSON.stringify(state, null, 2)}\n`);
167
+ writeFileSync(statePath(cwd), `${JSON.stringify(state, null, 2)}\n`);
163
168
  } catch {
164
169
  // Best-effort cache: an unwritable checkout degrades to stateless calls.
165
170
  }
@@ -167,15 +172,15 @@ function saveState(state) {
167
172
 
168
173
  const roomStateKey = (orgId, roomKey) => `${orgId}/${roomKey}`;
169
174
 
170
- export function getRoomState(orgId, roomKey) {
171
- return loadState().rooms[roomStateKey(orgId, roomKey)] ?? {};
175
+ export function getRoomState(orgId, roomKey, { cwd } = {}) {
176
+ return loadState(cwd).rooms[roomStateKey(orgId, roomKey)] ?? {};
172
177
  }
173
178
 
174
- export function updateRoomState(orgId, roomKey, patch) {
175
- const state = loadState();
179
+ export function updateRoomState(orgId, roomKey, patch, { cwd } = {}) {
180
+ const state = loadState(cwd);
176
181
  const key = roomStateKey(orgId, roomKey);
177
182
  state.rooms[key] = { ...(state.rooms[key] ?? {}), ...patch };
178
- saveState(state);
183
+ saveState(state, cwd);
179
184
  }
180
185
 
181
186
  /** The session's presence id for a room: env override, else the checkout cache. */
@@ -218,9 +223,14 @@ function mySessionKey() {
218
223
  */
219
224
  export async function registerFreshPresence(orgId, roomKey, { name, task } = {}) {
220
225
  const requestedName = name ?? cachedRequestedName(orgId, roomKey);
226
+ // kygit-invite design D8: every registration carries harness-derived
227
+ // labels — never guessed, null stays null.
228
+ const { program, model } = resolveHarnessLabels();
221
229
  const registration = await getSdk().rooms.registerPresence(orgId, roomKey, {
222
230
  ...(requestedName ? { requestedName } : {}),
223
231
  ...(task ? { task } : {}),
232
+ ...(program ? { program } : {}),
233
+ ...(model ? { model } : {}),
224
234
  sessionKey: mySessionKey(),
225
235
  });
226
236
  rememberPresence(orgId, roomKey, registration, requestedName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "run402",
3
- "version": "4.69.8",
3
+ "version": "4.70.0",
4
4
  "description": "CLI for Run402 — full-stack backend infrastructure for AI agents: Postgres, auth, storage, serverless functions and atomic deploys. Paid with x402/MPP. Includes $0.03 image generation.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -360,7 +360,7 @@ export declare class TransferFreezeError extends Run402Error {
360
360
  * longer) an admitted writer.
361
361
  * Tolerates unknown future gateway types via the `(string & {})` fallback.
362
362
  */
363
- export type NextActionType = "retry" | "poll" | "reconcile_payment" | "authenticate" | "submit_payment" | "renew_tier" | "check_usage" | "resume_deploy" | "edit_request" | "edit_migration" | "create_project" | "initialize_wallet" | "deploy" | "operator_approve" | "contact_support" | "gitvault_policy_required" | "claim_org_slug" | "claim_repo_name" | "push_repo" | "verify_refs" | "submit_gc" | "use_moved_command" | "access_repair_pending" | "configure_mirror" | "resume_handoff" | "revoke_handoff" | "remove_member" | "sync_writers" | "request_writer_sync";
363
+ export type NextActionType = "retry" | "poll" | "reconcile_payment" | "authenticate" | "submit_payment" | "renew_tier" | "check_usage" | "resume_deploy" | "edit_request" | "edit_migration" | "create_project" | "initialize_wallet" | "deploy" | "operator_approve" | "contact_support" | "gitvault_policy_required" | "claim_org_slug" | "claim_repo_name" | "push_repo" | "verify_refs" | "submit_gc" | "use_moved_command" | "access_repair_pending" | "configure_mirror" | "resume_handoff" | "revoke_handoff" | "remove_member" | "sync_writers" | "request_writer_sync" | "join_invite" | "revoke_invite" | "wait_room" | "send_room_message";
364
364
  /**
365
365
  * A single advisory "what to do next" entry. Mirrors the gateway's
366
366
  * `next_actions[]` shape (`{ type, method?, path?, auth?, why? }`) extended with
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}