@testmuai/kane-cli 0.2.6 → 0.2.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.
Files changed (45) hide show
  1. package/dist/{ChromeProfilePicker-GFXYO62T.js → ChromeProfilePicker-TSTGICKC.js} +1 -1
  2. package/dist/{CliFeedbackPrompt-F3ZTTEUY.js → CliFeedbackPrompt-D2GV3CIR.js} +1 -1
  3. package/dist/{CliUploadProgress-DNE54O2E.js → CliUploadProgress-3LN7ZAQQ.js} +1 -1
  4. package/dist/ConfigView-HFR7OLBN.js +2 -0
  5. package/dist/FolderPicker-JMDO2YEV.js +2 -0
  6. package/dist/{HelpView-WVCLJJMT.js → HelpView-GAECHNPW.js} +1 -1
  7. package/dist/{LinksBox-I4PYUQY7.js → LinksBox-VNX4GTYY.js} +1 -1
  8. package/dist/{LoginWizard-ZGXMGBNJ.js → LoginWizard-POE64KP6.js} +1 -1
  9. package/dist/{ProfilesView-AUJOUVYZ.js → ProfilesView-AJFBUG46.js} +1 -1
  10. package/dist/ProjectPicker-FTUZCSBL.js +2 -0
  11. package/dist/{WhoamiView-CY65SJE3.js → WhoamiView-FSFBRPAS.js} +1 -1
  12. package/dist/{changelog-CHSXQF3G.js → changelog-WJATJ25O.js} +1 -1
  13. package/dist/{chunk-OIERCP6B.js → chunk-22Q72KEE.js} +1 -1
  14. package/dist/chunk-32JVIWDK.js +2 -0
  15. package/dist/chunk-5TNGPFD4.js +2 -0
  16. package/dist/chunk-665WKKCX.js +2 -0
  17. package/dist/{chunk-EWT2AY54.js → chunk-DCUGTUXD.js} +1 -1
  18. package/dist/{chunk-Y4NPKZOF.js → chunk-FGRL7YK2.js} +1 -1
  19. package/dist/chunk-HFQ7T5KT.js +2 -0
  20. package/dist/{chunk-ATLXF7HN.js → chunk-HPYGNTYE.js} +1 -1
  21. package/dist/chunk-IEPLQSZE.js +106 -0
  22. package/dist/{chunk-PSB4TGW4.js → chunk-JWPOUEON.js} +9 -9
  23. package/dist/{chunk-6HRAVME7.js → chunk-KBTVURNO.js} +1 -1
  24. package/dist/{chunk-3C7VPJXD.js → chunk-LAVCECRF.js} +1 -1
  25. package/dist/chunk-N5O3NTGW.js +2 -0
  26. package/dist/{chunk-WSRUIIRY.js → chunk-ND4JFVHY.js} +1 -1
  27. package/dist/{chunk-5BRNKEYT.js → chunk-QDWB44VO.js} +1 -1
  28. package/dist/{chunk-O7HXQ753.js → chunk-QXBLFS66.js} +1 -1
  29. package/dist/chunk-RZYQ7T3Y.js +2 -0
  30. package/dist/index.js +51 -54
  31. package/dist/{logging-O5R56LPM.js → logging-X4C7SASV.js} +1 -1
  32. package/dist/login-flow-47Y4Y2UB.js +2 -0
  33. package/dist/{pipeline-NXUVAHY5.js → pipeline-W3MWTZHK.js} +1 -1
  34. package/dist/{tms-client-T4HO73MT.js → tms-client-VH42IFUF.js} +1 -1
  35. package/dist/{updater-WVTXO7SS.js → updater-L2ORCIIP.js} +1 -1
  36. package/dist/{version-check-SR6WBC6M.js → version-check-IF4G6QYT.js} +1 -1
  37. package/package.json +5 -4
  38. package/dist/ConfigView-MTU2VXM3.js +0 -2
  39. package/dist/FolderPicker-VVQBL3YD.js +0 -2
  40. package/dist/ProjectPicker-3WKERA5V.js +0 -2
  41. package/dist/chunk-36GHKMI7.js +0 -2
  42. package/dist/chunk-6SF4L62W.js +0 -2
  43. package/dist/chunk-CW5PVMPK.js +0 -2
  44. package/dist/chunk-KMHVGLJY.js +0 -2
  45. package/dist/chunk-THEP5K6T.js +0 -2
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b}from"./chunk-KMHVGLJY.js";import"./chunk-OIERCP6B.js";import"./chunk-UR6MHSHU.js";export{a as RemoteLogger,b as createRemoteLogger};
2
+ import{a,b}from"./chunk-32JVIWDK.js";import"./chunk-22Q72KEE.js";import"./chunk-UR6MHSHU.js";export{a as RemoteLogger,b as createRemoteLogger};
@@ -0,0 +1,2 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import{c as a}from"./chunk-IEPLQSZE.js";import"./chunk-N5O3NTGW.js";import"./chunk-22Q72KEE.js";import"./chunk-UR6MHSHU.js";export{a as LoginFlow};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-PSB4TGW4.js";import"./chunk-L5Y2GUO6.js";import"./chunk-6SF4L62W.js";import"./chunk-DXKKUGFG.js";import"./chunk-UR6MHSHU.js";export{a as UploadPipeline};
2
+ import{a}from"./chunk-JWPOUEON.js";import"./chunk-L5Y2GUO6.js";import"./chunk-HFQ7T5KT.js";import"./chunk-DXKKUGFG.js";import"./chunk-UR6MHSHU.js";export{a as UploadPipeline};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a}from"./chunk-6SF4L62W.js";import"./chunk-DXKKUGFG.js";import"./chunk-UR6MHSHU.js";export{a as TmsClient};
2
+ import{a}from"./chunk-HFQ7T5KT.js";import"./chunk-DXKKUGFG.js";import"./chunk-UR6MHSHU.js";export{a as TmsClient};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{c as a}from"./chunk-Y4NPKZOF.js";import{a as s}from"./chunk-OIERCP6B.js";import"./chunk-UR6MHSHU.js";import{execFile as l}from"child_process";async function p(i){let t=await a();if(!t)return{success:!0,fromVersion:s,toVersion:s};let o=`@testmuai/kane-cli@${t.latest}`;return new Promise(n=>{let r=l("npm",["install","-g",o],{timeout:12e4,env:{...process.env}});r.stdout?.on("data",e=>i?.(e)),r.stderr?.on("data",e=>i?.(e)),r.on("close",e=>{n(e===0?{success:!0,fromVersion:s,toVersion:t.latest}:{success:!1,fromVersion:s,toVersion:t.latest,error:`npm install exited with code ${e}. Try manually: npm install -g ${o}`})}),r.on("error",e=>{n({success:!1,fromVersion:s,toVersion:t.latest,error:`Failed to run npm: ${e.message}. Try manually: npm install -g ${o}`})})})}export{p as runSelfUpdate};
2
+ import{c as a}from"./chunk-FGRL7YK2.js";import{a as s}from"./chunk-22Q72KEE.js";import"./chunk-UR6MHSHU.js";import{execFile as l}from"child_process";async function p(i){let t=await a();if(!t)return{success:!0,fromVersion:s,toVersion:s};let o=`@testmuai/kane-cli@${t.latest}`;return new Promise(n=>{let r=l("npm",["install","-g",o],{timeout:12e4,env:{...process.env}});r.stdout?.on("data",e=>i?.(e)),r.stderr?.on("data",e=>i?.(e)),r.on("close",e=>{n(e===0?{success:!0,fromVersion:s,toVersion:t.latest}:{success:!1,fromVersion:s,toVersion:t.latest,error:`npm install exited with code ${e}. Try manually: npm install -g ${o}`})}),r.on("error",e=>{n({success:!1,fromVersion:s,toVersion:t.latest,error:`Failed to run npm: ${e.message}. Try manually: npm install -g ${o}`})})})}export{p as runSelfUpdate};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b,c}from"./chunk-Y4NPKZOF.js";import"./chunk-OIERCP6B.js";import"./chunk-UR6MHSHU.js";export{c as checkForUpdate,a as compareVersions,b as getSeverity};
2
+ import{a,b,c}from"./chunk-FGRL7YK2.js";import"./chunk-22Q72KEE.js";import"./chunk-UR6MHSHU.js";export{c as checkForUpdate,a as compareVersions,b as getSeverity};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testmuai/kane-cli",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "KaneAI Terminal UI — browser automation testing agent",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,9 +23,10 @@
23
23
  "sharp": "^0.34.5"
24
24
  },
25
25
  "optionalDependencies": {
26
- "@testmuai/kane-cli-darwin-arm64": "0.2.6",
27
- "@testmuai/kane-cli-linux-x64": "0.2.6",
28
- "@testmuai/kane-cli-win-x64": "0.2.6"
26
+ "@testmuai/kane-cli-darwin-arm64": "0.2.7",
27
+ "@testmuai/kane-cli-darwin-x64": "0.2.7",
28
+ "@testmuai/kane-cli-linux-x64": "0.2.7",
29
+ "@testmuai/kane-cli-win-x64": "0.2.7"
29
30
  },
30
31
  "publishConfig": {
31
32
  "registry": "https://registry.npmjs.org",
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as f,b as l,c as r}from"./chunk-EWT2AY54.js";import{a as d}from"./chunk-HCBYKLMW.js";import{t as o}from"./chunk-OIERCP6B.js";import{a as t,j as m}from"./chunk-Q7JVDEOV.js";import{a as h}from"./chunk-6YGTRKDT.js";import{e as n}from"./chunk-UR6MHSHU.js";var c=n(h(),1);var e=n(d(),1);function D({model:s,authLabel:p,profile:b,env:g,defaultUrl:a,projectId:v,folderId:w,windowSize:x,chromeProfile:C,setupComplete:i}){let{exit:u}=m();return(0,c.useEffect)(()=>{let B=setTimeout(()=>u(),50);return()=>clearTimeout(B)},[u]),(0,e.jsx)(t,{flexDirection:"column",children:(0,e.jsx)(f,{title:"Configuration",children:(0,e.jsxs)(t,{flexDirection:"column",paddingY:1,children:[(0,e.jsx)(r,{label:"Auth"}),(0,e.jsx)(l,{label:" method",value:p}),(0,e.jsx)(l,{label:" profile",value:b}),(0,e.jsx)(l,{label:" env",value:g}),(0,e.jsx)(r,{label:"Defaults"}),(0,e.jsx)(l,{label:" url",value:a??"(none)",valueColor:a?o.cyan:o.dimmed}),(0,e.jsx)(l,{label:" model",value:s}),(0,e.jsx)(l,{label:" window",value:x}),(0,e.jsx)(l,{label:" project",value:v??"(none)"}),(0,e.jsx)(l,{label:" folder",value:w??"(none)"}),(0,e.jsx)(r,{label:"Paths"}),(0,e.jsx)(l,{label:" chrome",value:C,valueColor:o.dimmed}),(0,e.jsx)(r,{label:"Setup"}),(0,e.jsx)(l,{label:" status",value:i?"complete":"pending",valueColor:i?o.green:o.yellow})]})})})}export{D as ConfigView};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b}from"./chunk-CW5PVMPK.js";import"./chunk-36GHKMI7.js";import"./chunk-6SF4L62W.js";import"./chunk-DXKKUGFG.js";import"./chunk-HCBYKLMW.js";import"./chunk-OIERCP6B.js";import"./chunk-Q7JVDEOV.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{b as FolderPicker,a as formatFolderLine};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a,b}from"./chunk-THEP5K6T.js";import"./chunk-36GHKMI7.js";import"./chunk-6SF4L62W.js";import"./chunk-DXKKUGFG.js";import"./chunk-HCBYKLMW.js";import"./chunk-OIERCP6B.js";import"./chunk-Q7JVDEOV.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{b as ProjectPicker,a as formatProjectLine};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as M}from"./chunk-HCBYKLMW.js";import{s as N,t}from"./chunk-OIERCP6B.js";import{a as i,b as n,i as R}from"./chunk-Q7JVDEOV.js";import{a as P}from"./chunk-6YGTRKDT.js";import{e as b}from"./chunk-UR6MHSHU.js";function y(a="prod"){let r=N[a];return a!=="stage"?r:{authBaseUrl:process.env.KANE_STAGE_AUTH_URL??r.authBaseUrl,consentUrl:process.env.KANE_STAGE_CONSENT_URL??r.consentUrl,controllerBaseUrl:process.env.TESTMUAI_BASE_URL??r.controllerBaseUrl,tmsBaseUrl:process.env.KANE_STAGE_TMS_URL??r.tmsBaseUrl,secretsBaseUrl:process.env.KANE_STAGE_SECRETS_URL??r.secretsBaseUrl,testManagerUiUrl:process.env.KANE_STAGE_TEST_MANAGER_UI_URL??r.testManagerUiUrl,shareApiBaseUrl:process.env.KANE_STAGE_SHARE_API_URL??r.shareApiBaseUrl,v16ServerHost:process.env.KANE_STAGE_V16_SERVER_HOST??r.v16ServerHost}}var f=b(P(),1);var e=b(M(),1),g=5;function w(a,r){if(!r)return a;let u=r.toLowerCase();return a.filter(E=>E.label.toLowerCase().includes(u))}function Y({title:a,items:r,loading:u=!1,loadingText:E,error:U=null,itemNoun:A="items",onSelect:C,onCancel:L,defaultActiveId:S}){let[m,c]=(0,f.useState)(0),[T,p]=(0,f.useState)(0),[d,_]=(0,f.useState)("");(0,f.useEffect)(()=>{if(r.length===0)return;let l=S?r.findIndex(o=>o.id===S):r.findIndex(o=>o.isActive);l>=0&&(p(Math.floor(l/g)),c(l%g))},[r,S]);let x=w(r,d),B=T*g,I=Math.min(B+g,x.length),v=Math.ceil(x.length/g),G=I-B,h=x.slice(B,I);return R((l,o)=>{if(U){o.escape&&L();return}if(o.escape){d?(_(""),c(0),p(0)):L();return}if(o.upArrow){m>0?c(s=>s-1):T>0&&(p(s=>s-1),c(g-1));return}if(o.downArrow){m<G-1?c(s=>s+1):T<v-1&&(p(s=>s+1),c(0));return}if(o.return&&h[m]){C(h[m]);return}if(o.backspace||o.delete){_(s=>s.slice(0,-1)),c(0),p(0);return}l&&!o.ctrl&&!o.meta&&(_(s=>s+l),c(0),p(0))},{isActive:!u}),u?(0,e.jsxs)(i,{flexDirection:"column",borderStyle:"round",borderColor:t.primary,paddingX:2,paddingY:1,children:[(0,e.jsx)(n,{color:t.primary,bold:!0,children:a}),(0,e.jsx)(i,{marginTop:1,children:(0,e.jsx)(n,{color:t.secondary,children:E??`Loading ${A}\u2026`})})]}):U?(0,e.jsxs)(i,{flexDirection:"column",borderStyle:"round",borderColor:t.statusFail,paddingX:2,paddingY:1,children:[(0,e.jsx)(n,{color:t.statusFail,bold:!0,children:a}),(0,e.jsx)(i,{marginTop:1,children:(0,e.jsx)(n,{color:t.statusFail,children:U})}),(0,e.jsx)(i,{marginTop:1,children:(0,e.jsx)(n,{color:t.dim,children:"esc back"})})]}):(0,e.jsxs)(i,{flexDirection:"column",borderStyle:"round",borderColor:t.primary,paddingX:2,paddingY:1,children:[(0,e.jsxs)(i,{children:[(0,e.jsx)(n,{color:t.primary,bold:!0,children:a}),(0,e.jsxs)(n,{color:t.dim,children:[" (",x.length,d?`/${r.length}`:""," ",A,")"]})]}),d&&(0,e.jsxs)(i,{marginTop:1,children:[(0,e.jsx)(n,{color:t.secondary,children:"filter: "}),(0,e.jsx)(n,{children:d}),(0,e.jsx)(n,{color:t.dimmed,children:"\u2588"})]}),(0,e.jsx)(i,{flexDirection:"column",marginTop:1,children:x.length===0?(0,e.jsxs)(n,{color:t.dim,children:["No ",A,' match "',d,'"']}):h.map((l,o)=>{let s=o===m,H=s?"\u276F ":" ",K=l.isActive?t.statusPass:s?t.primary:void 0;return(0,e.jsxs)(n,{color:K,children:[H,l.label,l.isActive?" \u25CF selected":""]},l.id)})}),v>1&&(0,e.jsx)(i,{marginTop:1,children:(0,e.jsxs)(n,{color:t.dim,children:["Page ",T+1,"/",v]})}),(0,e.jsx)(i,{marginTop:1,children:(0,e.jsxs)(n,{color:t.dim,children:["\u2191\u2193 navigate \xB7 type to search \xB7 \u21B5 select \xB7 esc ",d?"clear":"back"]})})]})}export{y as a,Y as b};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{b as m}from"./chunk-DXKKUGFG.js";var h=class extends m{constructor(e,t,o){super(e,{username:t,accessKey:o})}async listProjects(e){let s=[],a=!1;for(let r=1;r<=100;r++){let n=`${this.baseUrl}/v1/projects?page=${r}&per_page=200&sort=created_at`,i=await fetch(n,{method:"GET",headers:this.headers()});if(!i.ok)throw new Error(`List projects failed: ${i.status} ${await i.text()}`);let d=(await i.json()).data??[];if(e&&!a&&d.length>0){let c=d[0];e("info","PROJECT_SAMPLE","Project list sample",{project_id:c.project_id,name:c.name}),a=!0}if(s.push(...d),d.length<200)break}return s}async getDefaultFolder(e){let t=await fetch(`${this.baseUrl}/v1/projects/${e}/folder/default`,{method:"GET",headers:this.headers()});if(!t.ok)throw new Error(`Get default folder failed: ${t.status} ${await t.text()}`);return(await t.json()).id}async listFolders(e){let t=await fetch(`${this.baseUrl}/v1/folder/entity/${e}`,{method:"GET",headers:this.headers()});if(!t.ok)throw new Error(`List folders failed: ${t.status} ${await t.text()}`);return(await t.json()).data??[]}async createAtmTest(e,t){let o=t?`Bearer ${t}`:this.authHeader,s=await fetch(`${this.baseUrl}/atm/v1/test`,{method:"POST",headers:{Authorization:o,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)});if(!s.ok)throw new Error(`Create ATM test failed: ${s.status} ${await s.text()}`);let a=await s.json();if(!a.test_id)throw new Error("Create ATM test returned no test_id");return a.test_id}async endTest(e,t,o){let s=o?`Bearer ${o}`:this.authHeader,a=new URLSearchParams({commit_id:t.commit_id,time_taken:String(t.time_taken),steps_count:String(t.steps_count),commit_message:t.commit_message}),r={};t.objectives&&t.objectives.length>0&&(r.objectives=t.objectives);let n=await fetch(`${this.baseUrl}/atm/v1/test/${e}?${a.toString()}`,{method:"DELETE",headers:{Authorization:s,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)});if(!n.ok)throw new Error(`End test failed: ${n.status} ${await n.text()}`);let i=await n.json();return{testcase_id:i.data?.testcase_id??"",test_id:i.data?.test_id??e,project_id:i.data?.project_id??""}}async submitFeedback(e,t){let o=t?`Bearer ${t}`:this.authHeader,s={instruction_id:e.instruction_id,test_id:e.test_id,feedback_type:e.feedback_type,mode:e.mode??"human"};e.details&&(s.details=e.details);let a=await fetch(`${this.baseUrl}/atm/v1/generative-feedback`,{method:"POST",headers:{Authorization:o,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(s)});if(!a.ok)throw new Error(`Submit feedback failed: ${a.status} ${await a.text()}`);return await a.json()}};export{h as a};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as u,b as g}from"./chunk-36GHKMI7.js";import{a as d}from"./chunk-6SF4L62W.js";import{a as f}from"./chunk-HCBYKLMW.js";import{a as P}from"./chunk-6YGTRKDT.js";import{e as m}from"./chunk-UR6MHSHU.js";var r=m(P(),1);var p=m(f(),1);function R(t,s,n,o){return{id:t,label:`${s} (${t}) \xB7 ${n} tests`,isActive:t===o}}function A({resolver:t,projectId:s,currentFolderId:n,env:o,onSelect:v,onCancel:L}){let[h,y]=(0,r.useState)([]),[E,i]=(0,r.useState)(!0),[b,l]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!t){l("Login first to browse folders"),i(!1);return}(async()=>{try{let e=t.cached;if(!e){l("Login first to browse folders"),i(!1);return}let a=u(o),F=await new d(a.tmsBaseUrl,e.username,e.access_key).listFolders(s);y(F.map(c=>R(c.id,c.name,c.test_cases_count,n)))}catch(e){l(e instanceof Error?e.message:String(e))}finally{i(!1)}})()},[t,s,n,o]),(0,p.jsx)(g,{title:"Folders",items:h,loading:E,error:b,itemNoun:"folders",onSelect:e=>{let a=e.label.split(" (")[0];v(e.id,a)},onCancel:L})}export{R as a,A as b};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as u,g as l}from"./chunk-OIERCP6B.js";var o=class{config;buffer=[];stepBuffer=new Map;flushTimer=null;currentRunIndex=null;stopped=!1;constructor(e){this.config=e}start(){if(this.flushTimer)return;let e=this.config.flushIntervalMs??5e3;this.flushTimer=setInterval(()=>{this.flush().catch(()=>{})},e),this.flushTimer.unref&&this.flushTimer.unref()}setRunIndex(e){this.currentRunIndex=e}log(e,t,r,n={}){if(this.stopped)return;let i=this.buildEntry(e,t,r,n);this.buffer.push(i)}logStep(e,t,r,n={}){if(this.stopped)return;let i=this.buildEntry("debug",t,r,n);i.run_index=e,this.stepBuffer.has(e)||this.stepBuffer.set(e,[]),this.stepBuffer.get(e).push(i)}escalate(e){let t=this.stepBuffer.get(e);t&&t.length>0&&this.buffer.push(...t),this.stepBuffer.delete(e)}discardSteps(e){this.stepBuffer.delete(e)}async flush(){if(this.buffer.length===0)return;let e=this.buffer.splice(0),t=null;try{t=await this.config.getToken()}catch{return}let r={"Content-Type":"application/json"};t&&(r.Authorization=`Bearer ${t}`);let n=JSON.stringify(e);for(let i=0;i<3;i++){try{let f=new AbortController,g=setTimeout(()=>f.abort(),1e4),h=await fetch(this.config.proxyUrl,{method:"POST",headers:r,body:n,signal:f.signal});if(clearTimeout(g),h.ok)return}catch{}i<2&&await new Promise(f=>setTimeout(f,1e3*Math.pow(2,i)))}}async shutdown(){this.stopped=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),await this.flush()}shutdownSync(){this.stopped=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null)}get bufferSize(){return this.buffer.length}stepBufferSize(e){return this.stepBuffer.get(e)?.length??0}buildEntry(e,t,r,n){return{hostname:"kane-cli",service:"kane-cli",ddsource:"kane-cli",ddtags:`env:${this.config.environment},version:${this.config.device.cli_version}`,level:e,event:t,message:r,session_id:this.config.sessionId,run_index:this.currentRunIndex,identity:this.config.identity,device:this.config.device,context:n,timestamp:new Date().toISOString()}}};import{platform as c,arch as a}from"os";function y(s){let e={proxyUrl:l,sessionId:s.sessionId,identity:s.identity,device:{cli_version:u,platform:c(),arch:a()},environment:s.environment,getToken:s.getToken};return new o(e)}export{o as a,y as b};
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as f,b as u}from"./chunk-36GHKMI7.js";import{a as p}from"./chunk-6SF4L62W.js";import{a as m}from"./chunk-HCBYKLMW.js";import{a as E}from"./chunk-6YGTRKDT.js";import{e as a}from"./chunk-UR6MHSHU.js";var r=a(E(),1);var g=a(m(),1);function b(e,o,n){return{id:e,label:`${o} (${e})`,isActive:e===n}}function N({resolver:e,currentProjectId:o,env:n,onSelect:j,onCancel:P}){let[d,v]=(0,r.useState)([]),[L,s]=(0,r.useState)(!0),[h,i]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(!e){i("Login first to browse projects"),s(!1);return}(async()=>{try{let t=e.cached;if(!t){i("Login first to browse projects"),s(!1);return}let c=f(n),y=await new p(c.tmsBaseUrl,t.username,t.access_key).listProjects();v(y.map(l=>b(l.project_id,l.name,o)))}catch(t){i(t instanceof Error?t.message:String(t))}finally{s(!1)}})()},[e,o,n]),(0,g.jsx)(u,{title:"Projects",items:d,loading:L,error:h,itemNoun:"projects",onSelect:t=>{let c=t.label.replace(` (${t.id})`,"");j(t.id,c)},onCancel:P})}export{b as a,N as b};