thinkpool-pair 0.7.63 → 0.7.64

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 (2) hide show
  1. package/account.mjs +9 -13
  2. package/package.json +1 -1
package/account.mjs CHANGED
@@ -210,19 +210,15 @@ export async function runAccount(SUPABASE_URL, SUPABASE_ANON) {
210
210
  // (code-mockup, whip L16). Refreshed below; pushed to live children on rotation.
211
211
  let currentAccessToken = session.access_token || null
212
212
 
213
- // Owner-gate (Contract C-CODE-2): hosting a code session — spawning the agent and
214
- // burning compute on this machine — requires Pro or Enterprise. This is the layer
215
- // with teeth on cost; the start_code_session RPC gates the web create flow, this
216
- // stops a crafted-row bypass from ever serving. Invited partners don't run a bridge.
217
- let plan = 'free'
218
- try {
219
- const { data } = await sb.from('profiles').select('plan').eq('id', session.user.id).single()
220
- plan = data?.plan || 'free'
221
- } catch { /* transient read — fall through to the gate, fail closed */ }
222
- if (plan !== 'pro' && plan !== 'enterprise') {
223
- process.stderr.write(`\n ◇ ThinkPool Code requires a Pro or Enterprise plan to host a session.\n Your account (${email}) is on the ${plan} plan.\n Upgrade: https://thinkpool.io/pro\n\n (Anyone you invite can still join and steer a Pro host's session for free.)\n`)
224
- process.exit(1)
225
- }
213
+ // No plan-refusal here (Contract C-CODE-2′, spec 2026-06-25-code-free-launch).
214
+ // /code is now a metered free tier, not Pro-only: a free account can legitimately
215
+ // own sessions (within its monthly quota, or during the launch window). The cost
216
+ // brake moved to session CREATION — start_code_session enforces the quota/window
217
+ // server-side, so a row exists iff the owner was entitled to create it. The bridge
218
+ // therefore serves whatever sessions the account legitimately owns (owner-only
219
+ // discovery below, line ~349, still bounds it to the account's OWN rooms). Inference
220
+ // runs on this machine's own Claude login regardless of plan, so hosting costs
221
+ // ThinkPool nothing; there's no cost reason to refuse a free host.
226
222
 
227
223
  const DEFAULT_DIR = process.cwd() // unbound sessions auto-serve here; `bind` overrides per session
228
224
  const svcHint = process.env.THINKPOOL_PAIR_AUTOUPDATE === '1'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thinkpool-pair",
3
- "version": "0.7.63",
3
+ "version": "0.7.64",
4
4
  "description": "Share a local coding-agent CLI (Claude Code, Codex, Gemini, Aider, …) into a ThinkPool Code room, live.",
5
5
  "type": "module",
6
6
  "bin": {