infernoflow 0.38.5 → 0.38.7

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/CHANGELOG.md CHANGED
@@ -250,6 +250,31 @@
250
250
  - v0.37.3 — remove Scarf, zero-dep install, no more Windows hang
251
251
  - v0.37.3 — remove @scarf/scarf to fix Windows install hang
252
252
 
253
+ - v0.38.6
254
+ - v0.38.5 — fix cloud push: use anon key + user_token
255
+ - v0.38.4 — login via GitHub Device Flow, no redirects
256
+ - v0.38.3 — fix login: use implicit flow
257
+ - v0.38.2 — fix login PKCE flow
258
+ - v0.38.1
259
+ - v0.38.0 — cloud login + auto-push to Supabase on every log
260
+ - v0.38.0 — cloud login, auto-push to Supabase on every log
261
+ - v0.37.4
262
+ - v0.37.3 — remove Scarf, zero-dep install, no more Windows hang
263
+ - v0.37.3 — remove @scarf/scarf to fix Windows install hang
264
+
265
+ - v0.38.7 — fix anon key
266
+ - v0.38.6
267
+ - v0.38.5 — fix cloud push: use anon key + user_token
268
+ - v0.38.4 — login via GitHub Device Flow, no redirects
269
+ - v0.38.3 — fix login: use implicit flow
270
+ - v0.38.2 — fix login PKCE flow
271
+ - v0.38.1
272
+ - v0.38.0 — cloud login + auto-push to Supabase on every log
273
+ - v0.38.0 — cloud login, auto-push to Supabase on every log
274
+ - v0.37.4
275
+ - v0.37.3 — remove Scarf, zero-dep install, no more Windows hang
276
+ - v0.37.3 — remove @scarf/scarf to fix Windows install hang
277
+
253
278
  ## 0.10.25 — 2026-04-22
254
279
 
255
280
  ### Added
@@ -1 +1 @@
1
- import*as f from"node:https";const n=process.env.INFERNOFLOW_SUPABASE_URL||"https://vscesbbtmrsctfroigyx.supabase.co",h=process.env.INFERNOFLOW_SUPABASE_ANON_KEY||"sb_publishable_yThoZzOisgqLxrH8BOli-Q_yHVqEhUk";function i(t,e,r,s){return new Promise((l,y)=>{const c=new URL(e),a=r?JSON.stringify(r):null,d={hostname:c.hostname,port:443,path:c.pathname+c.search,method:t,headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"infernoflow-cli",apikey:h,...s,...a?{"Content-Length":Buffer.byteLength(a)}:{}}},o=f.request(d,u=>{let p="";u.on("data",m=>p+=m),u.on("end",()=>{try{l({status:u.statusCode,body:JSON.parse(p)})}catch{l({status:u.statusCode,body:p})}})});o.on("error",y),o.setTimeout(8e3,()=>{o.destroy(new Error("timeout"))}),a&&o.write(a),o.end()})}async function A(t,e,r){try{const s={project_id:r,user_token:e,ts:t.ts,type:t.type||"note",summary:t.summary,result:t.result||null,source:t.source||null,auto:t.auto||!1,agent:t.agent||null};await i("POST",`${n}/rest/v1/entries`,s,{Authorization:`Bearer ${h}`,apikey:h,Prefer:"return=minimal"})}catch{}}async function S(t){return await i("POST",`${n}/auth/v1/token?grant_type=pkce`,{auth_code:t},{})}function _(t,e){const r=new URLSearchParams({provider:"github",redirect_to:e,state:t});return`${n}/auth/v1/authorize?${r.toString()}`}async function g(t){const e=await i("GET",`${n}/auth/v1/user`,null,{Authorization:`Bearer ${t}`});return e.status===200?e.body:null}async function E(t,e){const r=new URLSearchParams({project_id:`eq.${e}`,order:"ts.asc",limit:"10000"}),s=await i("GET",`${n}/rest/v1/entries?${r.toString()}`,null,{Authorization:`Bearer ${t}`});return s.status===200&&Array.isArray(s.body)?s.body:[]}export{h as SUPABASE_ANON_KEY,n as SUPABASE_URL,S as exchangeCodeForSession,_ as getOAuthUrl,g as getUser,E as pullEntries,A as pushEntry};
1
+ import*as d from"node:https";const o=process.env.INFERNOFLOW_SUPABASE_URL||"https://vscesbbtmrsctfroigyx.supabase.co",l=process.env.INFERNOFLOW_SUPABASE_ANON_KEY||"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZzY2VzYmJ0bXJzY3Rmcm9pZ3l4Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzc0ODAxMjcsImV4cCI6MjA5MzA1NjEyN30.4WCXr0aGBlqC2m29DnlCSu5qKl0L-fDQoaV9AGu8-68";function u(t,e,r,n){return new Promise((h,m)=>{const c=new URL(e),a=r?JSON.stringify(r):null,y={hostname:c.hostname,port:443,path:c.pathname+c.search,method:t,headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"infernoflow-cli",apikey:l,...n,...a?{"Content-Length":Buffer.byteLength(a)}:{}}},s=d.request(y,i=>{let p="";i.on("data",A=>p+=A),i.on("end",()=>{try{h({status:i.statusCode,body:JSON.parse(p)})}catch{h({status:i.statusCode,body:p})}})});s.on("error",m),s.setTimeout(8e3,()=>{s.destroy(new Error("timeout"))}),a&&s.write(a),s.end()})}async function f(t,e,r){try{const n={project_id:r,user_token:e,ts:t.ts,type:t.type||"note",summary:t.summary,result:t.result||null,source:t.source||null,auto:t.auto||!1,agent:t.agent||null};await u("POST",`${o}/rest/v1/entries`,n,{Authorization:`Bearer ${l}`,apikey:l,Prefer:"return=minimal"})}catch{}}async function S(t){return await u("POST",`${o}/auth/v1/token?grant_type=pkce`,{auth_code:t},{})}function I(t,e){const r=new URLSearchParams({provider:"github",redirect_to:e,state:t});return`${o}/auth/v1/authorize?${r.toString()}`}async function E(t){const e=await u("GET",`${o}/auth/v1/user`,null,{Authorization:`Bearer ${t}`});return e.status===200?e.body:null}async function O(t,e){const r=new URLSearchParams({project_id:`eq.${e}`,order:"ts.asc",limit:"10000"}),n=await u("GET",`${o}/rest/v1/entries?${r.toString()}`,null,{Authorization:`Bearer ${t}`});return n.status===200&&Array.isArray(n.body)?n.body:[]}export{l as SUPABASE_ANON_KEY,o as SUPABASE_URL,S as exchangeCodeForSession,I as getOAuthUrl,E as getUser,O as pullEntries,f as pushEntry};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "infernoflow",
3
- "version": "0.38.5",
3
+ "version": "0.38.7",
4
4
  "description": "Persistent memory for AI coding sessions — captures what agents can't infer from code alone. Works with Copilot, Cursor, Claude, and Windsurf.",
5
5
  "type": "module",
6
6
  "bin": {