ripplo 0.7.13 → 0.7.14

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 q,A as H,Aa as me,Ba as ye,Ca as ge,D as A,Da as ke,Ea as we,I as X,Ja as Se,L as E,N as Z,O as ee,S as re,V as oe,X as ne,Ya as R,Za as C,_a as Re,ab as ve,b as l,c as D,cb as _,da as te,db as Pe,e as z,eb as he,f as b,g as G,ga as ie,gb as I,ha as ae,ia as se,ib as xe,ja as F,kb as be,ma as le,mb as Ee,nb as Ce,oa as de,ob as Ie,pb as We,q as Q,qb as Le,ra as ce,rb as Te,sb as De,t as J,ta as ue,tb as He,u as K,vb as Ae,w as V,wa as pe,x as Y,xa as fe,z as m,za as h}from"./chunk-JQMIB2PD.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 q,A as H,Aa as me,Ba as ye,Ca as ge,D as A,Da as ke,Ea as we,I as X,Ja as Se,L as E,N as Z,O as ee,S as re,V as oe,X as ne,Ya as R,Za as C,_a as Re,ab as ve,b as l,c as D,cb as _,da as te,db as Pe,e as z,eb as he,f as b,g as G,ga as ie,gb as I,ha as ae,ia as se,ib as xe,ja as F,kb as be,ma as le,mb as Ee,nb as Ce,oa as de,ob as Ie,pb as We,q as Q,qb as Le,ra as ce,rb as Te,sb as De,t as J,ta as ue,tb as He,u as K,vb as Ae,w as V,wa as pe,x as Y,xa as fe,z as m,za as h}from"./chunk-SMAKG6ED.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,B as c,C as Dr,D as x,E as Or,F as _r,Fa as lt,G as Fr,Ga as de,H as Nr,Ha as dt,I as $,Ia as ct,J as A,Ja as K,K as Ur,Ka as rr,L as w,La as pt,M as we,Ma as ut,Na as mt,Oa as ft,P as N,Pa as gt,Q as Mr,Qa as ht,R as Hr,Ra as yt,S as ae,Sa as kt,T as Wr,Ta as wt,U as qr,Ua as vt,V as Ye,Va as xe,W as Br,Wa as bt,X as J,Xa as St,Y as Vr,Z as Gr,_ as ve,a as vr,aa as zr,b as _,ba as Jr,bb as ce,ca as Kr,cb as xt,d as br,db as tr,e as Sr,ea as Qr,f as u,fa as be,fb as Rt,g as ke,ga as Yr,h as xr,ha as Xe,hb as Ct,i as Qe,ia as Ze,j as F,ja as Xr,jb as Pt,k as Rr,ka as Zr,l as Cr,la as Se,lb as Et,m as Pr,n as Er,na as et,nb as $t,o as $r,ob as It,p as Ir,pa as rt,pb as jt,q as V,qa as tt,qb as At,r as jr,ra as le,rb as Lt,s as Ar,sa as v,sb as Tt,t as C,ta as nt,u as z,ua as ot,ub as Dt,v as Lr,va as it,w as M,x as j,xa as st,y as D,ya as at,z as Tr,za as er}from"./chunk-JQMIB2PD.js";import yc from"update-notifier";import kc from"yargs";import{hideBin as wc}from"yargs/helpers";function Re({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 Ot(){return"Update available {currentVersion} \u2192 {latestVersion}\nRun `npx ripplo update`"}import{graphql as Si}from"gql.tada";import{exec as pi}from"child_process";import{createAuthClient as di}from"better-auth/client";import{deviceAuthorizationClient as ci}from"better-auth/client/plugins";function _t({baseURL:e}){return di({baseURL:e,fetchOptions:{headers:{"User-Agent":"Ripplo CLI"}},plugins:[ci()]})}import{err as Ft,ok as ui}from"neverthrow";var mi=5e3,Nt="ripplo-cli";async function Ut({onDeviceCode:e,url:r}){let t=r??Ur().RIPPLO_SERVER_URL,n=_t({baseURL:t}),o=await n.device.code({client_id:Nt});if(o.error!=null)return Ft({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}),wi(s),(await fi({authClient:n,deviceCode:i})).map(d=>(Rr(d),d))}async function fi({authClient:e,deviceCode:r}){for(;;){await yi(mi);let t=await e.device.token({client_id:Nt,device_code:r,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});if(t.data?.access_token!=null)return ui(t.data.access_token);if(t.error==null)continue;if(!hi(t.error.error))return Ft({code:t.error.error,description:t.error.error_description,kind:"oauth-authorization-failed"})}}var gi=new Set(["authorization_pending","slow_down"]);function hi(e){return gi.has(e)}function yi(e){return new Promise(r=>{setTimeout(r,e)})}function ki(){return process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open"}function wi(e){let r=ki();pi(`${r} "${e}"`,()=>{})}function H({serverUrl:e,token:r}){return{appUrl:"",cwd:process.cwd(),engineUrl:"",projectId:"",ripploServerUrl:e,token:r,webhookSecret:""}}import vi from"fs";import bi from"path";function m(e){return vi.existsSync(bi.join(e,".ripplo"))}var xi=Si(`
2
+ import{$ as P,A as S,B as c,C as Dr,D as x,E as Or,F as _r,Fa as lt,G as Fr,Ga as de,H as Nr,Ha as dt,I as $,Ia as ct,J as A,Ja as K,K as Ur,Ka as rr,L as w,La as pt,M as we,Ma as ut,Na as mt,Oa as ft,P as N,Pa as gt,Q as Mr,Qa as ht,R as Hr,Ra as yt,S as ae,Sa as kt,T as Wr,Ta as wt,U as qr,Ua as vt,V as Ye,Va as xe,W as Br,Wa as bt,X as J,Xa as St,Y as Vr,Z as Gr,_ as ve,a as vr,aa as zr,b as _,ba as Jr,bb as ce,ca as Kr,cb as xt,d as br,db as tr,e as Sr,ea as Qr,f as u,fa as be,fb as Rt,g as ke,ga as Yr,h as xr,ha as Xe,hb as Ct,i as Qe,ia as Ze,j as F,ja as Xr,jb as Pt,k as Rr,ka as Zr,l as Cr,la as Se,lb as Et,m as Pr,n as Er,na as et,nb as $t,o as $r,ob as It,p as Ir,pa as rt,pb as jt,q as V,qa as tt,qb as At,r as jr,ra as le,rb as Lt,s as Ar,sa as v,sb as Tt,t as C,ta as nt,u as z,ua as ot,ub as Dt,v as Lr,va as it,w as M,x as j,xa as st,y as D,ya as at,z as Tr,za as er}from"./chunk-SMAKG6ED.js";import yc from"update-notifier";import kc from"yargs";import{hideBin as wc}from"yargs/helpers";function Re({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 Ot(){return"Update available {currentVersion} \u2192 {latestVersion}\nRun `npx ripplo update`"}import{graphql as Si}from"gql.tada";import{exec as pi}from"child_process";import{createAuthClient as di}from"better-auth/client";import{deviceAuthorizationClient as ci}from"better-auth/client/plugins";function _t({baseURL:e}){return di({baseURL:e,fetchOptions:{headers:{"User-Agent":"Ripplo CLI"}},plugins:[ci()]})}import{err as Ft,ok as ui}from"neverthrow";var mi=5e3,Nt="ripplo-cli";async function Ut({onDeviceCode:e,url:r}){let t=r??Ur().RIPPLO_SERVER_URL,n=_t({baseURL:t}),o=await n.device.code({client_id:Nt});if(o.error!=null)return Ft({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}),wi(s),(await fi({authClient:n,deviceCode:i})).map(d=>(Rr(d),d))}async function fi({authClient:e,deviceCode:r}){for(;;){await yi(mi);let t=await e.device.token({client_id:Nt,device_code:r,grant_type:"urn:ietf:params:oauth:grant-type:device_code"});if(t.data?.access_token!=null)return ui(t.data.access_token);if(t.error==null)continue;if(!hi(t.error.error))return Ft({code:t.error.error,description:t.error.error_description,kind:"oauth-authorization-failed"})}}var gi=new Set(["authorization_pending","slow_down"]);function hi(e){return gi.has(e)}function yi(e){return new Promise(r=>{setTimeout(r,e)})}function ki(){return process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open"}function wi(e){let r=ki();pi(`${r} "${e}"`,()=>{})}function H({serverUrl:e,token:r}){return{appUrl:"",cwd:process.cwd(),engineUrl:"",projectId:"",ripploServerUrl:e,token:r,webhookSecret:""}}import vi from"fs";import bi from"path";function m(e){return vi.existsSync(bi.join(e,".ripplo"))}var xi=Si(`
3
3
  query AuthViewer {
4
4
  currentUser {
5
5
  name
@@ -325,7 +325,7 @@ iframe { border: none; }
325
325
  `);return}Dl(e)}function Dl(e){let r=`ripplo@${e}`,t=El("npm",["install","-g",r],{stdio:"inherit"});if(t.status!==0){let n=`exit ${String(t.status)}`;process.stderr.write(`${lo(n)}
326
326
  `),process.exit(1)}process.stdout.write(`${gr({evicted:0,latest:e,mode:"global"})}
327
327
  `)}async function Ol(e){if((await De(e)).kind==="not-running")return;let t=await Tn(e);process.stdout.write(`${co(t)}
328
- `)}async function uo({explore:e,exploreConcurrency:r}){let{runDaemon:t}=await import("./daemon-Y5UHB2PP.js");await t({explore:e,exploreConcurrency:r})}import{graphql as Be}from"gql.tada";function mo(){return"No scope items added \u2014 the matched tests are already in scope (check `npx ripplo scope status`)."}function fo(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(`
328
+ `)}async function uo({explore:e,exploreConcurrency:r}){let{runDaemon:t}=await import("./daemon-N4U5RDLN.js");await t({explore:e,exploreConcurrency:r})}import{graphql as Be}from"gql.tada";function mo(){return"No scope items added \u2014 the matched tests are already in scope (check `npx ripplo scope status`)."}function fo(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(`
329
329
  `)}import{graphql as _l}from"gql.tada";var go=_l(`
330
330
  query ScopeStatus($projectId: String!, $cwd: String!) {
331
331
  project(id: $projectId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ripplo",
3
- "version": "0.7.13",
3
+ "version": "0.7.14",
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/rrweb-bundle": "0.0.0",
63
- "@ripplo/runtime": "^0.0.0",
64
- "@ripplo/graphql": "^0.0.0",
65
- "@ripplo/spec": "^0.0.0",
66
62
  "@ripplo/core": "^0.0.0",
67
- "@ripplo/eslint-config": "0.0.0"
63
+ "@ripplo/eslint-config": "0.0.0",
64
+ "@ripplo/graphql": "^0.0.0",
65
+ "@ripplo/runtime": "^0.0.0",
66
+ "@ripplo/rrweb-bundle": "0.0.0",
67
+ "@ripplo/spec": "^0.0.0"
68
68
  },
69
69
  "scripts": {
70
70
  "dev": "tsx watch src/index.ts",