ripplo 0.7.11 → 0.7.12

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.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{$a as ve,A as H,D as A,I as X,L as E,N as Z,O as ee,Oa as ye,Pa as ge,Qa as ke,Ra as we,S as re,Sa as Se,V as oe,X as ne,Xa as R,Ya as C,Za as Re,_a as q,b as l,bb as _,c as D,cb as Pe,da as te,db as he,e as z,f as b,fb as I,g as G,ga as ie,ha as ae,hb as xe,ia as se,ja as F,jb as be,la as le,lb as Ee,mb as Ce,na as de,nb as Ie,ob as We,pb as Le,q as Q,qa as ce,qb as Te,rb as De,sa as ue,sb as He,t as J,u as K,ub as Ae,va as pe,w as V,wa as fe,x as Y,ya as h,z as m,za as me}from"./chunk-AEZPVB4X.js";import Yr from"path";import{createClient as Xr}from"graphql-sse";import Zr,{AbortError as eo}from"p-retry";import{graphql as N}from"gql.tada";import{graphql as kr}from"gql.tada";import{print as wr}from"graphql";async function Fe({config:e,cwd:o,headed:r,pool:n,runId:t,signal:i,testSlug:a,workClass:s,workflowSlug:d}){let{fingerprint:c,result:u}=await m(o);if(u.isErr())return await I(e,t,`lockfile:${u.error.kind}`),{detail:`lockfile:${u.error.kind}`,kind:"dispatch-error"};let p=gr(u.value,{testSlug:a,workflowSlug:d});if(p==null)return await I(e,t,`no-test:${d}/${a}`),{detail:`no-test:${d}/${a}`,kind:"dispatch-error"};let f=await R({headed:r,workClass:s,task:()=>n.execute({headed:r,lockfileFingerprint:c,runId:t,testRef:p},i)});return!f.serverNotified&&f.outcome.kind==="error"&&await I(e,t,f.outcome.detail),f.outcome}function gr(e,{testSlug:o,workflowSlug:r}){let t=e.workflows.find(i=>Y(i.name)===r)?.tests.find(i=>i.slug===o);return t==null?void 0:oe(t)}var Sr=6e4,Rr=kr(`
2
+ import{$a as ve,A as H,D as A,I as X,L as E,N as Z,O as ee,Oa as ye,Pa as ge,Qa as ke,Ra as we,S as re,Sa as Se,V as oe,X as ne,Xa as R,Ya as C,Za as Re,_a as q,b as l,bb as _,c as D,cb as Pe,da as te,db as he,e as z,f as b,fb as I,g as G,ga as ie,ha as ae,hb as xe,ia as se,ja as F,jb as be,la as le,lb as Ee,mb as Ce,na as de,nb as Ie,ob as We,pb as Le,q as Q,qa as ce,qb as Te,rb as De,sa as ue,sb as He,t as J,u as K,ub as Ae,va as pe,w as V,wa as fe,x as Y,ya as h,z as m,za as me}from"./chunk-YNHWQ5NY.js";import Yr from"path";import{createClient as Xr}from"graphql-sse";import Zr,{AbortError as eo}from"p-retry";import{graphql as N}from"gql.tada";import{graphql as kr}from"gql.tada";import{print as wr}from"graphql";async function Fe({config:e,cwd:o,headed:r,pool:n,runId:t,signal:i,testSlug:a,workClass:s,workflowSlug:d}){let{fingerprint:c,result:u}=await m(o);if(u.isErr())return await I(e,t,`lockfile:${u.error.kind}`),{detail:`lockfile:${u.error.kind}`,kind:"dispatch-error"};let p=gr(u.value,{testSlug:a,workflowSlug:d});if(p==null)return await I(e,t,`no-test:${d}/${a}`),{detail:`no-test:${d}/${a}`,kind:"dispatch-error"};let f=await R({headed:r,workClass:s,task:()=>n.execute({headed:r,lockfileFingerprint:c,runId:t,testRef:p},i)});return!f.serverNotified&&f.outcome.kind==="error"&&await I(e,t,f.outcome.detail),f.outcome}function gr(e,{testSlug:o,workflowSlug:r}){let t=e.workflows.find(i=>Y(i.name)===r)?.tests.find(i=>i.slug===o);return t==null?void 0:oe(t)}var Sr=6e4,Rr=kr(`
3
3
  subscription RunRequestedWatch($devSessionId: String!) {
4
4
  runRequested(devSessionId: $devSessionId) {
5
5
  runId
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{$ as P,A as S,Aa as Ye,B as c,Ba as rt,C as Ir,Ca as tt,D as x,Da as nt,E as jr,Ea as ot,F as Ar,Fa as it,G as Lr,Ga as st,H as Tr,Ha as at,I as $,Ia as lt,J as A,Ja as dt,K as Dr,Ka as ct,L as w,La as Se,M as ke,Ma as pt,Na as ut,P as F,Q as _r,R as Or,S as se,T as Nr,Ta as mt,U as Fr,Ua as le,V as Qe,Va as ft,W as Ur,Wa as gt,X as we,Y as Mr,Z as Hr,_ as be,a as gr,aa as Wr,ab as de,b as O,ba as qr,bb as ht,ca as Br,cb as Xe,d as hr,e as yr,ea as Vr,eb as yt,f as u,fa as ve,g as ye,gb as kt,h as kr,i as Ke,ib as wt,j as N,k as wr,ka as Gr,kb as bt,l as br,m as vr,ma as zr,mb as vt,n as Sr,nb as St,o as xr,oa as Jr,ob as xt,p as Rr,pa as Kr,pb as Rt,q as V,qa as ae,qb as Ct,r as Cr,ra as b,rb as Pt,s as Pr,sa as Qr,t as C,ta as Yr,tb as Et,u as z,ua as Xr,v as Er,w as M,wa as Zr,x as j,xa as et,y as D,z as $r,za as J}from"./chunk-AEZPVB4X.js";import ec from"update-notifier";import rc from"yargs";import{hideBin as tc}from"yargs/helpers";function xe({current:e,latest:r}){return r==null?`ripplo v${e} (latest: unknown)`:r===e?`ripplo v${e} (latest)`:`ripplo v${e} (latest: v${r} \u2014 run \`npx ripplo update\`)`}function $t(){return"Update available {currentVersion} \u2192 {latestVersion}\nRun `npx ripplo update`"}import{graphql as ci}from"gql.tada";import{exec as Zo}from"child_process";import{createAuthClient as Yo}from"better-auth/client";import{deviceAuthorizationClient as Xo}from"better-auth/client/plugins";function It({baseURL:e}){return Yo({baseURL:e,fetchOptions:{headers:{"User-Agent":"Ripplo CLI"}},plugins:[Xo()]})}import{err as jt,ok as ei}from"neverthrow";var ri=5e3,At="ripplo-cli";async function Lt({onDeviceCode:e,url:r}){let t=r??Dr().RIPPLO_SERVER_URL,n=It({baseURL:t}),o=await n.device.code({client_id:At});if(o.error!=null)return jt({description:o.error.error_description,kind:"oauth-device-code-failed"});let{device_code:i,user_code:a,verification_uri_complete:s}=o.data;return e({userCode:a,verificationUrl:s}),ai(s),(await ti({authClient:n,deviceCode:i})).map(d=>(wr(d),d))}async function ti({authClient:e,deviceCode:r}){for(;;){await ii(ri);let t=await e.device.token({client_id:At,device_code:r,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});if(t.data?.access_token!=null)return ei(t.data.access_token);if(t.error==null)continue;if(!oi(t.error.error))return jt({code:t.error.error,description:t.error.error_description,kind:"oauth-authorization-failed"})}}var ni=new Set(["authorization_pending","slow_down"]);function oi(e){return ni.has(e)}function ii(e){return new Promise(r=>{setTimeout(r,e)})}function si(){return process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open"}function ai(e){let r=si();Zo(`${r} "${e}"`,()=>{})}function H({serverUrl:e,token:r}){return{appUrl:"",cwd:process.cwd(),engineUrl:"",projectId:"",ripploServerUrl:e,token:r,webhookSecret:""}}import li from"fs";import di from"path";function m(e){return li.existsSync(di.join(e,".ripplo"))}var pi=ci(`
2
+ import{$ as P,A as S,Aa as Ye,B as c,Ba as rt,C as Ir,Ca as tt,D as x,Da as nt,E as jr,Ea as ot,F as Ar,Fa as it,G as Lr,Ga as st,H as Tr,Ha as at,I as $,Ia as lt,J as A,Ja as dt,K as Dr,Ka as ct,L as w,La as Se,M as ke,Ma as pt,Na as ut,P as F,Q as _r,R as Or,S as se,T as Nr,Ta as mt,U as Fr,Ua as le,V as Qe,Va as ft,W as Ur,Wa as gt,X as we,Y as Mr,Z as Hr,_ as be,a as gr,aa as Wr,ab as de,b as O,ba as qr,bb as ht,ca as Br,cb as Xe,d as hr,e as yr,ea as Vr,eb as yt,f as u,fa as ve,g as ye,gb as kt,h as kr,i as Ke,ib as wt,j as N,k as wr,ka as Gr,kb as bt,l as br,m as vr,ma as zr,mb as vt,n as Sr,nb as St,o as xr,oa as Jr,ob as xt,p as Rr,pa as Kr,pb as Rt,q as V,qa as ae,qb as Ct,r as Cr,ra as b,rb as Pt,s as Pr,sa as Qr,t as C,ta as Yr,tb as Et,u as z,ua as Xr,v as Er,w as M,wa as Zr,x as j,xa as et,y as D,z as $r,za as J}from"./chunk-YNHWQ5NY.js";import ec from"update-notifier";import rc from"yargs";import{hideBin as tc}from"yargs/helpers";function xe({current:e,latest:r}){return r==null?`ripplo v${e} (latest: unknown)`:r===e?`ripplo v${e} (latest)`:`ripplo v${e} (latest: v${r} \u2014 run \`npx ripplo update\`)`}function $t(){return"Update available {currentVersion} \u2192 {latestVersion}\nRun `npx ripplo update`"}import{graphql as ci}from"gql.tada";import{exec as Zo}from"child_process";import{createAuthClient as Yo}from"better-auth/client";import{deviceAuthorizationClient as Xo}from"better-auth/client/plugins";function It({baseURL:e}){return Yo({baseURL:e,fetchOptions:{headers:{"User-Agent":"Ripplo CLI"}},plugins:[Xo()]})}import{err as jt,ok as ei}from"neverthrow";var ri=5e3,At="ripplo-cli";async function Lt({onDeviceCode:e,url:r}){let t=r??Dr().RIPPLO_SERVER_URL,n=It({baseURL:t}),o=await n.device.code({client_id:At});if(o.error!=null)return jt({description:o.error.error_description,kind:"oauth-device-code-failed"});let{device_code:i,user_code:a,verification_uri_complete:s}=o.data;return e({userCode:a,verificationUrl:s}),ai(s),(await ti({authClient:n,deviceCode:i})).map(d=>(wr(d),d))}async function ti({authClient:e,deviceCode:r}){for(;;){await ii(ri);let t=await e.device.token({client_id:At,device_code:r,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});if(t.data?.access_token!=null)return ei(t.data.access_token);if(t.error==null)continue;if(!oi(t.error.error))return jt({code:t.error.error,description:t.error.error_description,kind:"oauth-authorization-failed"})}}var ni=new Set(["authorization_pending","slow_down"]);function oi(e){return ni.has(e)}function ii(e){return new Promise(r=>{setTimeout(r,e)})}function si(){return process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open"}function ai(e){let r=si();Zo(`${r} "${e}"`,()=>{})}function H({serverUrl:e,token:r}){return{appUrl:"",cwd:process.cwd(),engineUrl:"",projectId:"",ripploServerUrl:e,token:r,webhookSecret:""}}import li from"fs";import di from"path";function m(e){return li.existsSync(di.join(e,".ripplo"))}var pi=ci(`
3
3
  query AuthViewer {
4
4
  currentUser {
5
5
  name
@@ -320,7 +320,7 @@ iframe { border: none; }
320
320
  `);return}yl(e)}function yl(e){let r=`ripplo@${e}`,t=cl("npm",["install","-g",r],{stdio:"inherit"});if(t.status!==0){let n=`exit ${String(t.status)}`;process.stderr.write(`${Qn(n)}
321
321
  `),process.exit(1)}process.stdout.write(`${cr({evicted:0,latest:e,mode:"global"})}
322
322
  `)}async function kl(e){if((await Te(e)).kind==="not-running")return;let t=await yn(e);process.stdout.write(`${Yn(t)}
323
- `)}async function Zn({explore:e,exploreConcurrency:r}){let{runDaemon:t}=await import("./daemon-BTQLPV5G.js");await t({explore:e,exploreConcurrency:r})}import{graphql as qe}from"gql.tada";function eo(){return"No scope items added \u2014 the matched tests are already in scope (check `npx ripplo scope status`)."}function ro(e){return[`No test found for: ${e.join(", ")}`,"Pass a test id (kebab-case slug of the test name) or the exact intent string.","List known tests with `npx ripplo status`. To add one, stub it first via the testing DSL.",c("create")].join(`
323
+ `)}async function Zn({explore:e,exploreConcurrency:r}){let{runDaemon:t}=await import("./daemon-XBALI4CY.js");await t({explore:e,exploreConcurrency:r})}import{graphql as qe}from"gql.tada";function eo(){return"No scope items added \u2014 the matched tests are already in scope (check `npx ripplo scope status`)."}function ro(e){return[`No test found for: ${e.join(", ")}`,"Pass a test id (kebab-case slug of the test name) or the exact intent string.","List known tests with `npx ripplo status`. To add one, stub it first via the testing DSL.",c("create")].join(`
324
324
  `)}import{graphql as wl}from"gql.tada";var to=wl(`
325
325
  query ScopeStatus($projectId: String!, $cwd: String!) {
326
326
  project(id: $projectId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ripplo",
3
- "version": "0.7.11",
3
+ "version": "0.7.12",
4
4
  "description": "CLI for Ripplo — AI-powered end-to-end testing",
5
5
  "type": "module",
6
6
  "homepage": "https://ripplo.ai",
@@ -59,12 +59,12 @@
59
59
  "eslint-plugin-neverthrow": "^1.1.4",
60
60
  "tsup": "^8.5.1",
61
61
  "vitest": "^4.1.4",
62
- "@ripplo/eslint-config": "0.0.0",
63
62
  "@ripplo/core": "^0.0.0",
64
- "@ripplo/graphql": "^0.0.0",
65
- "@ripplo/spec": "^0.0.0",
66
63
  "@ripplo/runtime": "^0.0.0",
67
- "@ripplo/rrweb-bundle": "0.0.0"
64
+ "@ripplo/eslint-config": "0.0.0",
65
+ "@ripplo/spec": "^0.0.0",
66
+ "@ripplo/rrweb-bundle": "0.0.0",
67
+ "@ripplo/graphql": "^0.0.0"
68
68
  },
69
69
  "scripts": {
70
70
  "dev": "tsx watch src/index.ts",