ftown 0.24.0 → 0.25.1

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 (75) hide show
  1. package/dist/agent-commands.d.ts +4 -2
  2. package/dist/agent-commands.js +1 -1
  3. package/dist/agent-commands.js.map +1 -1
  4. package/dist/antigravity-hook-installer.d.ts +26 -0
  5. package/dist/antigravity-hook-installer.js +225 -0
  6. package/dist/antigravity-hook-installer.js.map +1 -0
  7. package/dist/ask-question-hook.d.ts +11 -0
  8. package/dist/ask-question-hook.js +37 -1
  9. package/dist/ask-question-hook.js.map +1 -1
  10. package/dist/centrifugo-client.js +15 -2
  11. package/dist/centrifugo-client.js.map +1 -1
  12. package/dist/command-rpc.js +2 -0
  13. package/dist/command-rpc.js.map +1 -1
  14. package/dist/create-ftown-session.d.ts +4 -2
  15. package/dist/create-ftown-session.js +13 -0
  16. package/dist/create-ftown-session.js.map +1 -1
  17. package/dist/direct-transport/loopback-server.d.ts +10 -3
  18. package/dist/direct-transport/loopback-server.js +20 -4
  19. package/dist/direct-transport/loopback-server.js.map +1 -1
  20. package/dist/direct-transport/peer-manager.d.ts +8 -3
  21. package/dist/direct-transport/peer-manager.js +20 -5
  22. package/dist/direct-transport/peer-manager.js.map +1 -1
  23. package/dist/file-stamp.d.ts +33 -0
  24. package/dist/file-stamp.js +35 -0
  25. package/dist/file-stamp.js.map +1 -0
  26. package/dist/grok-hook-installer.d.ts +10 -0
  27. package/dist/grok-hook-installer.js +87 -0
  28. package/dist/grok-hook-installer.js.map +1 -0
  29. package/dist/harness-commands.js +4 -1
  30. package/dist/harness-commands.js.map +1 -1
  31. package/dist/harness-registry.d.ts +17 -2
  32. package/dist/harness-registry.js +43 -1
  33. package/dist/harness-registry.js.map +1 -1
  34. package/dist/index.js +16 -32
  35. package/dist/index.js.map +1 -1
  36. package/dist/local-api-server.d.ts +1 -1
  37. package/dist/local-api-server.js +7 -1
  38. package/dist/local-api-server.js.map +1 -1
  39. package/dist/mail-store.d.ts +15 -1
  40. package/dist/mail-store.js +78 -16
  41. package/dist/mail-store.js.map +1 -1
  42. package/dist/outbound-pipeline-types.d.ts +5 -2
  43. package/dist/outbound-pipeline-types.js.map +1 -1
  44. package/dist/security/bridge/policy.d.ts +3 -0
  45. package/dist/security/bridge/policy.js +17 -0
  46. package/dist/security/bridge/policy.js.map +1 -1
  47. package/dist/security/bridge/security.d.ts +10 -0
  48. package/dist/security/bridge/security.js +18 -11
  49. package/dist/security/bridge/security.js.map +1 -1
  50. package/dist/security/crypto.d.ts +2 -0
  51. package/dist/security/crypto.js +43 -4
  52. package/dist/security/crypto.js.map +1 -1
  53. package/dist/session-ids.d.ts +3 -3
  54. package/dist/session-ids.js +50 -34
  55. package/dist/session-ids.js.map +1 -1
  56. package/dist/session-store.d.ts +22 -0
  57. package/dist/session-store.js +164 -15
  58. package/dist/session-store.js.map +1 -1
  59. package/dist/setup.js +6 -0
  60. package/dist/setup.js.map +1 -1
  61. package/dist/terminal-manager.d.ts +8 -0
  62. package/dist/terminal-manager.js +23 -1
  63. package/dist/terminal-manager.js.map +1 -1
  64. package/dist/terminal-output.d.ts +34 -0
  65. package/dist/terminal-output.js +68 -0
  66. package/dist/terminal-output.js.map +1 -0
  67. package/dist/terminal-pump.d.ts +48 -5
  68. package/dist/terminal-pump.js +143 -20
  69. package/dist/terminal-pump.js.map +1 -1
  70. package/dist/types.d.ts +4 -0
  71. package/hooks/ftown-antigravity-hook.sh +169 -0
  72. package/hooks/ftown-grok-hook.sh +157 -0
  73. package/hooks/notify.sh +8 -0
  74. package/package.json +2 -2
  75. package/skills/ftown/references/sessions.md +11 -3
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-pump.js","sourceRoot":"","sources":["../src/terminal-pump.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-pump.js","sourceRoot":"","sources":["../src/terminal-pump.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -44,6 +44,8 @@ export interface Session {
44
44
  piSessionFile?: string;
45
45
  opencodeSessionId?: string;
46
46
  museSessionId?: string;
47
+ grokSessionId?: string;
48
+ antigravitySessionId?: string;
47
49
  env?: Record<string, string>;
48
50
  parentSessionId?: string;
49
51
  pullRequestUrl?: string;
@@ -118,6 +120,8 @@ export interface CreateSessionPayload {
118
120
  piSessionFile?: string;
119
121
  opencodeSessionId?: string;
120
122
  museSessionId?: string;
123
+ grokSessionId?: string;
124
+ antigravitySessionId?: string;
121
125
  parentSessionId?: string;
122
126
  /** @deprecated Ignored compatibility input. Ordinary sessions use task + parent. */
123
127
  orchestrator?: boolean;
@@ -0,0 +1,169 @@
1
+ #!/bin/bash
2
+ # ftown hook for the Google Antigravity CLI (agy); installed to
3
+ # ~/.ftown/antigravity-hook.sh and registered in ~/.gemini/config/hooks.json.
4
+ # Translates agy's camelCase hook payload (stdin) to the bridge /hook wire format and POSTs it.
5
+ # On a turn-end Stop it drains this session's ftown inbox FIRST: with mail it
6
+ # prints {"decision":"continue","reason":"<mail>"} and posts nothing (the agent
7
+ # keeps working); without mail it posts Stop. On terminationReason
8
+ # MAX_FORCED_INVOCATIONS / USER_CANCELED / ERROR it never drains, only posts Stop.
9
+ #
10
+ # Always exits 0, also on HUP/INT/TERM/PIPE (a non-zero or signalled PreToolUse
11
+ # hook makes agy BLOCK the tool), and writes nothing to stdout except that one
12
+ # Stop mail line (agy parses stdout as JSON). Inert unless FTOWN_SESSION_ID is
13
+ # set and curl + jq are available.
14
+ #
15
+ # Worst-case runtime: ~6s inside agy's 10s hook timeout. The POST tries at most
16
+ # 2 endpoint candidates x curl --max-time 2 (4s); on Stop the inbox read through
17
+ # `ftown security proxy` uses a 2s request timeout and happens before the POST,
18
+ # and when it delivers mail no POST follows.
19
+ #
20
+ # bash 3.2 compatible (macOS /bin/bash). No set -e on purpose; no temp files.
21
+ # The hook's working directory is agy's hooks.json folder, so pwd is never used.
22
+
23
+ BG_PID=""
24
+ # shellcheck disable=SC2329 # invoked through the trap below
25
+ on_signal() {
26
+ [ -n "$BG_PID" ] && kill "$BG_PID" 2>/dev/null
27
+ exit 0
28
+ }
29
+ trap 'exit 0' EXIT
30
+ trap on_signal HUP INT TERM PIPE
31
+
32
+ INPUT=$(cat)
33
+
34
+ [ -n "${FTOWN_SESSION_ID:-}" ] || exit 0
35
+ command -v curl >/dev/null 2>&1 || exit 0
36
+ command -v jq >/dev/null 2>&1 || exit 0
37
+
38
+ # Parse once; invalid JSON or a missing hookEventName ends the hook silently.
39
+ FIELDS=$(printf '%s' "$INPUT" | jq -c '
40
+ if type == "object" and ((.hookEventName // "") | type) == "string" and (.hookEventName // "") != "" then
41
+ {event: .hookEventName,
42
+ first: (.invocationNum == 0),
43
+ term: (.terminationReason | if type == "string" then . else "" end),
44
+ conv: ((.conversationId // "") | if type == "string" then . else tostring end),
45
+ cwd: ((.cwd // "") | if type == "string" then . else tostring end),
46
+ tool: (if (.toolCall | type) == "object" then
47
+ ({} + (if .toolCall.name != null then {tool_name: .toolCall.name} else {} end)
48
+ + (if (.toolCall.args | type) == "object" then {tool_input: .toolCall.args} else {} end)
49
+ + (if (.toolCall.id | type) == "string" then {tool_use_id: .toolCall.id} else {} end))
50
+ else {} end)}
51
+ else empty end' 2>/dev/null) || exit 0
52
+ INPUT=""
53
+ [ -n "$FIELDS" ] || exit 0
54
+
55
+ EVENT=$(printf '%s' "$FIELDS" | jq -r '.event' 2>/dev/null) || exit 0
56
+ case "$EVENT" in
57
+ SessionStart|PreToolUse|PostToolUse|Stop) HOOK_EVENT="$EVENT" ;;
58
+ PreInvocation)
59
+ FIRST=$(printf '%s' "$FIELDS" | jq -r '.first' 2>/dev/null) || exit 0
60
+ [ "$FIRST" = "true" ] || exit 0
61
+ HOOK_EVENT="UserPromptSubmit"
62
+ ;;
63
+ *) exit 0 ;;
64
+ esac
65
+
66
+ # Endpoint candidates, mirroring the muse helper: explicit env first, then the
67
+ # bridge pointer the current bridge rewrites on every startup.
68
+ CANDIDATES=""
69
+ add_candidate() {
70
+ case "$1" in ''|*[!0-9]*) return 0 ;; esac
71
+ [ "$1" -gt 0 ] 2>/dev/null || return 0
72
+ CANDIDATES="${CANDIDATES}$1 $2
73
+ "
74
+ }
75
+ ENV_PORT="${FTOWN_HOOK_PORT:-}"
76
+ ENV_TOKEN="${FTOWN_HOOK_TOKEN:-}"
77
+ add_candidate "$ENV_PORT" "$ENV_TOKEN"
78
+ BRIDGE_JSON="${FTOWN_BRIDGE_POINTER:-${HOME:-}/.ftown/bridge.json}"
79
+ if [ -n "${HOME:-}" ] && [ -f "$BRIDGE_JSON" ]; then
80
+ BPORT=$(jq -r '.port // empty' "$BRIDGE_JSON" 2>/dev/null)
81
+ BTOKEN=$(jq -r '.token // empty' "$BRIDGE_JSON" 2>/dev/null)
82
+ if [ -n "$BPORT" ] && { [ "$BPORT" != "$ENV_PORT" ] || [ "$BTOKEN" != "$ENV_TOKEN" ]; }; then
83
+ add_candidate "$BPORT" "$BTOKEN"
84
+ fi
85
+ fi
86
+
87
+ # One POST attempt, run in the background so a trapped signal interrupts the
88
+ # `wait` at once instead of after curl's timeout. Its stdout/stderr go to
89
+ # /dev/null so a curl left behind by a signal (it ends within its own 2s
90
+ # bound) never holds agy's hook pipes open. The body goes on curl's
91
+ # stdin (no ARG_MAX limit); the attempt succeeds only on a 2xx status.
92
+ post_once() {
93
+ if [ -n "$3" ]; then
94
+ printf '%s' "$1" | curl -s -o /dev/null -w '%{http_code}' -X POST "http://127.0.0.1:$2/hook" \
95
+ -H 'Content-Type: application/json' -H "Authorization: Bearer $3" \
96
+ --connect-timeout 1 --max-time 2 --data-binary @- 2>/dev/null
97
+ else
98
+ printf '%s' "$1" | curl -s -o /dev/null -w '%{http_code}' -X POST "http://127.0.0.1:$2/hook" \
99
+ -H 'Content-Type: application/json' \
100
+ --connect-timeout 1 --max-time 2 --data-binary @- 2>/dev/null
101
+ fi | { IFS= read -r _code; case "${_code:-}" in 2*) exit 0 ;; esac; exit 1; }
102
+ }
103
+
104
+ # POST the hook payload; first 2xx wins. Fire-and-forget: failures are silent.
105
+ post_hook() {
106
+ _body="$1"
107
+ while IFS=' ' read -r _port _token _rest; do
108
+ [ -n "${_port:-}" ] || continue
109
+ post_once "$_body" "$_port" "${_token:-}" >/dev/null 2>&1 &
110
+ BG_PID=$!
111
+ wait "$BG_PID"
112
+ _rc=$?
113
+ BG_PID=""
114
+ [ "$_rc" -eq 0 ] && return 0
115
+ done <<CANDIDATES_EOF
116
+ $CANDIDATES
117
+ CANDIDATES_EOF
118
+ return 1
119
+ }
120
+
121
+ PAYLOAD=$(printf '%s' "$FIELDS" | jq -c \
122
+ --arg sid "$FTOWN_SESSION_ID" \
123
+ --arg ev "$HOOK_EVENT" \
124
+ --arg envconv "${ANTIGRAVITY_CONVERSATION_ID:-}" \
125
+ '{ftown_session_id: $sid, ftown_session_source: "env", hook_event_name: $ev,
126
+ session_id: (if .conv != "" then .conv else $envconv end), cwd: .cwd}
127
+ + (if $ev == "PreToolUse" or $ev == "PostToolUse" then .tool else {} end)' \
128
+ 2>/dev/null) || exit 0
129
+ [ -n "$PAYLOAD" ] || exit 0
130
+
131
+ if [ "$HOOK_EVENT" != "Stop" ]; then
132
+ post_hook "$PAYLOAD"
133
+ exit 0
134
+ fi
135
+
136
+ # Stop: drain the inbox first (unless agy will not continue), exactly like the
137
+ # muse helper: a single wait=0 drain through the authenticated
138
+ # `ftown security proxy`, which marks the mail delivered.
139
+ drain_mail() {
140
+ _term=$(printf '%s' "$FIELDS" | jq -r '.term' 2>/dev/null)
141
+ case "$_term" in
142
+ MAX_FORCED_INVOCATIONS|USER_CANCELED|ERROR) return 1 ;;
143
+ esac
144
+ _enc=$(jq -n -r --arg s "$FTOWN_SESSION_ID" '$s | @uri' 2>/dev/null)
145
+ [ -n "$_enc" ] || return 1
146
+ _cli=$(command -v ftown 2>/dev/null || true)
147
+ [ -n "$_cli" ] || _cli="${HOME:-}/.ftown/bin/ftown"
148
+ [ -x "$_cli" ] || return 1
149
+ _req=$(jq -n -c --arg path "/api/sessions/${_enc}/inbox?wait=0" '{method:"GET",path:$path,timeoutMs:2000}' 2>/dev/null)
150
+ [ -n "$_req" ] || return 1
151
+ _inbox=$(printf '%s' "$_req" | "$_cli" security proxy 2>/dev/null | jq -c 'select(.status >= 200 and .status < 300) | .body' 2>/dev/null)
152
+ [ -n "$_inbox" ] || return 1
153
+ _count=$(printf '%s' "$_inbox" | jq -r '(.messages // []) | length' 2>/dev/null)
154
+ [ -n "$_count" ] && [ "$_count" -gt 0 ] 2>/dev/null || return 1
155
+ MAIL_OUT=$(printf '%s' "$_inbox" | jq -c \
156
+ '{decision: "continue", reason: ("[ftown mail]\n" + ([(.messages // [])[] | "[\(.ts // "")] \(.fromName // .from // "external") (\(.type // "message")): \(.body // "")"] | join("\n")))}' \
157
+ 2>/dev/null)
158
+ [ -n "$MAIL_OUT" ]
159
+ }
160
+
161
+ MAIL_OUT=""
162
+ if drain_mail; then
163
+ # Mail delivered: the agent continues, so the session stays busy (no POST).
164
+ # stderr is silenced so a reader that closed the pipe cannot see "Broken pipe".
165
+ printf '%s\n' "$MAIL_OUT" 2>/dev/null
166
+ exit 0
167
+ fi
168
+ post_hook "$PAYLOAD"
169
+ exit 0
@@ -0,0 +1,157 @@
1
+ #!/bin/bash
2
+ # ftown hook for the Grok CLI, installed to ~/.ftown/grok-hook.sh and
3
+ # registered for every grok hook event in ~/.grok/hooks/ftown.json.
4
+ # What it does:
5
+ # 1. Reads grok's hook payload (JSON on stdin) and POSTs it to the bridge
6
+ # /hook route in ftown's snake_case wire format.
7
+ # 2. On Stop with reason "end_turn" it drains this session's ftown inbox
8
+ # FIRST: when mail was delivered it prints
9
+ # {"decision":"block","reason":"<mail>"} so grok continues the turn with
10
+ # the mail (capped at 9,500 characters plus a re-read pointer, since grok
11
+ # clips the reason at 10,000) and posts NOTHING, keeping the session busy;
12
+ # with no mail it posts Stop. Stop "shutdown"/"channel_closed" (session
13
+ # end) is ignored entirely; any other Stop reason just posts Stop.
14
+ #
15
+ # Inert (exit 0, no output) unless spawned by ftown (FTOWN_SESSION_ID set) and
16
+ # curl + jq are available. Always exits 0; stdout is written only for mail.
17
+ #
18
+ # Worst-case runtime (grok hook timeout is 10s): on Stop end_turn one inbox
19
+ # read through `ftown security proxy` with timeoutMs 2000 (2s plus CLI
20
+ # startup), then, only when no mail came back, the POST tries at most two
21
+ # endpoints (env port, bridge pointer), each curl bounded by --max-time 2
22
+ # (4s): about 6s plus CLI startup.
23
+ # Bridge reachability, auth, inbox read and mail text mirror
24
+ # bridge/muse-plugin/lib/ftown-hook.sh.
25
+
26
+ # Consume the whole payload first so grok never sees a broken pipe even when
27
+ # the hook turns out to be inert.
28
+ INPUT=$(cat 2>/dev/null)
29
+
30
+ # Inert unless spawned by ftown.
31
+ [ -n "${FTOWN_SESSION_ID:-}" ] || exit 0
32
+ command -v curl >/dev/null 2>&1 || exit 0
33
+ command -v jq >/dev/null 2>&1 || exit 0
34
+
35
+ # Valid JSON object with a non-empty string hook_event_name, else silent exit.
36
+ printf '%s' "$INPUT" | jq -e \
37
+ 'type == "object" and (.hook_event_name | type == "string" and length > 0)' \
38
+ >/dev/null 2>&1 || exit 0
39
+
40
+ HOOK_EVENT=$(printf '%s' "$INPUT" | jq -r '.hook_event_name' 2>/dev/null) || exit 0
41
+ STOP_REASON=$(printf '%s' "$INPUT" | jq -r '.reason // empty | tostring' 2>/dev/null)
42
+ [ -n "$HOOK_EVENT" ] || exit 0
43
+
44
+ # Grok's two session-end reasons (every process exit fires an extra Stop with
45
+ # one of them) are not turn ends: no POST, no inbox read, no output.
46
+ if [ "$HOOK_EVENT" = "Stop" ]; then
47
+ case "$STOP_REASON" in
48
+ shutdown|channel_closed) exit 0 ;;
49
+ esac
50
+ fi
51
+
52
+ # Endpoint candidates, mirroring the muse helper: explicit env first, then the
53
+ # bridge pointer the current bridge rewrites on every startup (a resurrected
54
+ # session may hold a stale env port).
55
+ CANDIDATES=""
56
+ add_candidate() {
57
+ case "$1" in ''|*[!0-9]*) return 0 ;; esac
58
+ [ "$1" -gt 0 ] 2>/dev/null || return 0
59
+ CANDIDATES="${CANDIDATES}$1 $2
60
+ "
61
+ }
62
+ ENV_PORT="${FTOWN_HOOK_PORT:-}"
63
+ ENV_TOKEN="${FTOWN_HOOK_TOKEN:-}"
64
+ add_candidate "$ENV_PORT" "$ENV_TOKEN"
65
+ BRIDGE_JSON="${FTOWN_BRIDGE_POINTER:-${HOME:-}/.ftown/bridge.json}"
66
+ if [ -n "${HOME:-}" ] && [ -f "$BRIDGE_JSON" ]; then
67
+ BPORT=$(jq -r '.port // empty' "$BRIDGE_JSON" 2>/dev/null)
68
+ BTOKEN=$(jq -r '.token // empty' "$BRIDGE_JSON" 2>/dev/null)
69
+ if [ -n "$BPORT" ] && { [ "$BPORT" != "$ENV_PORT" ] || [ "$BTOKEN" != "$ENV_TOKEN" ]; }; then
70
+ add_candidate "$BPORT" "$BTOKEN"
71
+ fi
72
+ fi
73
+ [ -n "$CANDIDATES" ] || exit 0
74
+
75
+ # POST the hook payload; first 2xx wins. Fire-and-forget: failures are silent.
76
+ # The body goes on curl's stdin (printf is a builtin), never argv, so a large
77
+ # tool_input cannot exceed ARG_MAX.
78
+ post_hook() {
79
+ _body="$1"
80
+ while IFS=' ' read -r _port _token _rest; do
81
+ [ -n "${_port:-}" ] || continue
82
+ if [ -n "${_token:-}" ]; then
83
+ _code=$(printf '%s' "$_body" | curl -s -o /dev/null -w '%{http_code}' -X POST "http://127.0.0.1:${_port}/hook" \
84
+ -H 'Content-Type: application/json' -H "Authorization: Bearer ${_token}" \
85
+ --connect-timeout 1 --max-time 2 --data-binary @- 2>/dev/null)
86
+ else
87
+ _code=$(printf '%s' "$_body" | curl -s -o /dev/null -w '%{http_code}' -X POST "http://127.0.0.1:${_port}/hook" \
88
+ -H 'Content-Type: application/json' \
89
+ --connect-timeout 1 --max-time 2 --data-binary @- 2>/dev/null)
90
+ fi
91
+ case "${_code:-}" in
92
+ 2*) return 0 ;;
93
+ esac
94
+ done <<CANDIDATES_EOF
95
+ $CANDIDATES
96
+ CANDIDATES_EOF
97
+ return 1
98
+ }
99
+
100
+ # Build the wire body with jq straight from the payload. tool_* keys are kept
101
+ # only when present (tool_input stays a JSON value); session_id falls back to
102
+ # $GROK_SESSION_ID when the payload has none.
103
+ PAYLOAD=$(printf '%s' "$INPUT" | jq -c \
104
+ --arg sid "$FTOWN_SESSION_ID" \
105
+ --arg gsid "${GROK_SESSION_ID:-}" \
106
+ '{
107
+ ftown_session_id: $sid,
108
+ ftown_session_source: "env",
109
+ hook_event_name: .hook_event_name,
110
+ session_id: (if (.session_id | type) == "string" and .session_id != "" then .session_id else $gsid end),
111
+ cwd: (if (.cwd | type) == "string" then .cwd else "" end)
112
+ }
113
+ + (if .tool_name != null then {tool_name: .tool_name} else {} end)
114
+ + (if .tool_input != null then {tool_input: .tool_input} else {} end)
115
+ + (if .tool_use_id != null then {tool_use_id: .tool_use_id} else {} end)' \
116
+ 2>/dev/null) || exit 0
117
+ [ -n "$PAYLOAD" ] || exit 0
118
+
119
+ # Drain this session's inbox: single wait=0 read through `ftown security proxy`
120
+ # (marks delivered). On success sets MAIL_DECISION to the Stop "block" line
121
+ # and returns 0; returns 1 when no mail was delivered for any reason (empty
122
+ # inbox, CLI missing, proxy failure).
123
+ MAIL_DECISION=""
124
+ drain_mail() {
125
+ _sid_enc=$(jq -n -r --arg s "$FTOWN_SESSION_ID" '$s | @uri' 2>/dev/null)
126
+ [ -n "$_sid_enc" ] || return 1
127
+ _cli=$(command -v ftown 2>/dev/null || true)
128
+ [ -n "$_cli" ] || _cli="${HOME:-}/.ftown/bin/ftown"
129
+ [ -x "$_cli" ] || return 1
130
+ _request=$(jq -n -c --arg path "/api/sessions/${_sid_enc}/inbox?wait=0" '{method:"GET",path:$path,timeoutMs:2000}' 2>/dev/null) || return 1
131
+ _inbox=$(printf '%s' "$_request" | "$_cli" security proxy 2>/dev/null | jq -c 'select(.status >= 200 and .status < 300) | .body' 2>/dev/null)
132
+ [ -n "$_inbox" ] || return 1
133
+ _count=$(printf '%s' "$_inbox" | jq -r '(.messages // []) | length' 2>/dev/null)
134
+ [ -n "$_count" ] && [ "$_count" -gt 0 ] 2>/dev/null || return 1
135
+ # Grok clips a block reason at 10,000 characters, and the drain has already
136
+ # marked the mail delivered: cap the text at 9,500 characters (jq counts
137
+ # codepoints, not bytes) and, when cut, end with a re-read pointer.
138
+ MAIL_DECISION=$(printf '%s' "$_inbox" | jq -c \
139
+ --arg pointer '[ftown mail truncated: run `ftown sessions inbox --all --peek` to read the full messages]' \
140
+ '("[ftown mail]\n" + ([(.messages // [])[] | "[\(.ts // "")] \(.fromName // .from // "external") (\(.type // "message")): \(.body // "")"] | join("\n")))
141
+ | (if length > 9500 then .[0:9500] + "\n" + $pointer else . end)
142
+ | {decision: "block", reason: .}' \
143
+ 2>/dev/null) || return 1
144
+ [ -n "$MAIL_DECISION" ]
145
+ }
146
+
147
+ # Turn-end ordering (contract A2.1): on a real turn end drain FIRST. When mail
148
+ # was delivered grok keeps working, so print the decision and post nothing
149
+ # (posting Stop would mark a busy session idle). Otherwise post Stop.
150
+ if [ "$HOOK_EVENT" = "Stop" ] && [ "$STOP_REASON" = "end_turn" ]; then
151
+ if drain_mail; then
152
+ printf '%s\n' "$MAIL_DECISION"
153
+ exit 0
154
+ fi
155
+ fi
156
+ post_hook "$PAYLOAD"
157
+ exit 0
package/hooks/notify.sh CHANGED
@@ -1,5 +1,13 @@
1
1
  #!/bin/bash
2
2
  INPUT=$(cat)
3
+ # Grok runs Claude-compatible hooks too; ~/.ftown/grok-hook.sh is its channel. Stand down only
4
+ # when GROK_HOOK_EVENT is set and is not "notification" (the Grok script does not forward that
5
+ # event) AND the payload has a string hookEventName (Grok always sends it; Claude, Codex and
6
+ # Cursor do not, so an inherited variable does not silence them).
7
+ if [ -n "${GROK_HOOK_EVENT:-}" ] && [ "${GROK_HOOK_EVENT}" != "notification" ] \
8
+ && printf '%s' "$INPUT" | jq -e '(.hookEventName | type) == "string" and (.hookEventName | length) > 0' >/dev/null 2>&1; then
9
+ exit 0
10
+ fi
3
11
 
4
12
  PORT="${FTOWN_HOOK_PORT:-}"
5
13
  SESSION_ID="${FTOWN_SESSION_ID:-}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ftown",
3
- "version": "0.24.0",
3
+ "version": "0.25.1",
4
4
  "description": "CLI bridge for ftown — generic PTY-over-Centrifugo relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -72,5 +72,5 @@
72
72
  "overrides": {
73
73
  "qs": "6.16.1"
74
74
  },
75
- "gitHead": "59ada3b701d730e45751993df23354e49611ccc0"
75
+ "gitHead": "d7098c8cbdbce5b92542cf883a6c2b5900be2276"
76
76
  }
@@ -46,7 +46,7 @@ ftown sessions remove <session-id>
46
46
  ftown sessions archive
47
47
 
48
48
  # Recreate a removed session from its tombstone (resumes the agent
49
- # conversation when a claude/cursor/codex/Pi session id was recorded; Kimi Code
49
+ # conversation when a claude/cursor/codex/Pi/grok/antigravity session id was recorded; Kimi Code
50
50
  # continues by working directory; the revived session gets a NEW id)
51
51
  ftown sessions revive <session-id>
52
52
  ```
@@ -205,6 +205,14 @@ follow-up turn when mail arrives, including while Pi is idle. opencode's
205
205
  installed plugin delivers pending mail as a new prompt when a turn goes idle.
206
206
  Muse's installed `ftown` plugin reports the native session id on SessionStart
207
207
  and pumps pending mail as context on Stop.
208
+ Grok's ftown hooks (`~/.grok/hooks/ftown.json`) report the native session id
209
+ and deliver mail that arrives mid-turn when the turn ends; the typed nudge
210
+ remains the fallback for an idle Grok agent.
211
+ Antigravity's ftown Stop hook (`~/.gemini/config/hooks.json`, entry `ftown`)
212
+ reports the conversation id and delivers mail at turn end.
213
+ Grok and Antigravity hooks do not run in the interactive TUI until the folder
214
+ has been trusted in that CLI's own trust prompt; the owner answers it once per
215
+ folder, and ftown does not bypass it.
208
216
  Cursor and shell sessions rely on an idle one-line nudge to run `ftown harness
209
217
  mail read` instead.
210
218
 
@@ -235,8 +243,8 @@ Fan-out targets are messaged sequentially, one JSON result line per target.
235
243
 
236
244
  | Flag | Description |
237
245
  |------|-------------|
238
- | `--shell` | Explicit harness override: `claude`, `cursor`, `codex`, `grok`, `muse`, `pi`, `kimi-code`, `opencode`, `shell`, or Claude Code provider flavors `zai`, `kimi`, `deepseek`, `fireworks`. When omitted inside a session, inherits that session's harness; outside a session, defaults to `claude`. |
239
- | `--prompt` | Initial task — passed as a CLI launch argument to `claude`/Claude provider flavors/`cursor`/`codex`/`grok`/`muse`/`pi` (typed after boot for other shells) |
246
+ | `--shell` | Explicit harness override: `claude`, `cursor`, `codex`, `grok`, `muse`, `antigravity`, `pi`, `kimi-code`, `opencode`, `shell`, or Claude Code provider flavors `zai`, `kimi`, `deepseek`, `fireworks`. When omitted inside a session, inherits that session's harness; outside a session, defaults to `claude`. |
247
+ | `--prompt` | Initial task — passed as a CLI launch argument to `claude`/Claude provider flavors/`cursor`/`codex`/`grok`/`muse`/`antigravity`/`pi` (typed after boot for other shells) |
240
248
  | `--workdir` | Working directory |
241
249
  | `--name` | Dashboard label |
242
250
  | `--command` | Full command override (skips `--shell` builder) |