alchemylab 3.0.8 → 3.0.9

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.
@@ -95,35 +95,35 @@ if(0===r.exit)return
95
95
  const n=await o(["pull",e],exports.PULL_TIMEOUT_MS)
96
96
  return 0!==n.exit?`docker pull ${e} failed: ${(n.stderr||String(n.exit)).trim()}`:void 0}
97
97
  const s=t(31421),i=t(16698),a=t(83129),c=t(88196),l=t(4334),u=new i.AsyncLocalStorage
98
- exports.DOCKER_OP_TIMEOUT_MS=6e4,exports.PULL_TIMEOUT_MS=3e5},26166(e,exports){exports.hardenedCreateArgs=function(e){return["--network",e.network,"--user",e.user,"--cap-drop","ALL",...(e.capAdds??[]).flatMap(e=>["--cap-add",e]),...Object.entries(e.sysctls??{}).flatMap(([e,t])=>["--sysctl",`${e}=${t}`]),"--security-opt","no-new-privileges","--read-only","--tmpfs","/tmp:rw,nosuid,nodev,exec,size=256m",...(e.extraTmpfs??[]).flatMap(e=>["--tmpfs",e]),"--ipc","none","--tmpfs",`/dev/shm:rw,nosuid,nodev,size=${e.shmSizeMb??64}m`,"--memory",e.memory,"--memory-swap",e.memory,"--cpus",String(e.cpus),...e.cpuset?["--cpuset-cpus",e.cpuset]:[],"--pids-limit",String(e.pidsLimit),"-e","HOME=/tmp","-e","XDG_CACHE_HOME=/tmp/.cache","-e","MYPY_CACHE_DIR=/tmp/.mypy_cache","-e","RUFF_CACHE_DIR=/tmp/.ruff_cache","-e","PYTHONPYCACHEPREFIX=/tmp/.pycache","-e","npm_config_cache=/tmp/.npm",..."none"===e.network?["-e","UV_OFFLINE=1","-e","PIP_NO_INDEX=1","-e","npm_config_offline=true"]:[]]}},83129(e,exports,t){function r(e){const t=m.get(e.image)
98
+ exports.DOCKER_OP_TIMEOUT_MS=6e4,exports.PULL_TIMEOUT_MS=3e5},26166(e,exports){exports.hardenedCreateArgs=function(e){return["--network",e.network,"--user",e.user,"--cap-drop","ALL",...(e.capAdds??[]).flatMap(e=>["--cap-add",e]),...Object.entries(e.sysctls??{}).flatMap(([e,t])=>["--sysctl",`${e}=${t}`]),"--security-opt","no-new-privileges","--read-only","--tmpfs","/tmp:rw,nosuid,nodev,exec,size=256m",...(e.extraTmpfs??[]).flatMap(e=>["--tmpfs",e]),"--ipc","none","--tmpfs",`/dev/shm:rw,nosuid,nodev,size=${e.shmSizeMb??64}m`,"--memory",e.memory,"--memory-swap",e.memory,"--cpus",String(e.cpus),...e.cpuset?["--cpuset-cpus",e.cpuset]:[],"--pids-limit",String(e.pidsLimit),"-e","HOME=/tmp","-e","XDG_CACHE_HOME=/tmp/.cache","-e","MYPY_CACHE_DIR=/tmp/.mypy_cache","-e","RUFF_CACHE_DIR=/tmp/.ruff_cache","-e","PYTHONPYCACHEPREFIX=/tmp/.pycache","-e","npm_config_cache=/tmp/.npm",..."none"===e.network?["-e","UV_OFFLINE=1","-e","PIP_NO_INDEX=1","-e","npm_config_offline=true"]:[]]}},83129(e,exports,t){function r(e){return m.find(t=>t.image===e)}function n(e){const t=h.get(e.image)
99
99
  if(t)return t.work
100
- const r=(async()=>{const t=await(0,u.docker)(["image","inspect","--format",`{{ index .Config.Labels "${p}" }}`,e.image],u.DOCKER_OP_TIMEOUT_MS)
100
+ const r=(async()=>{const t=await(0,d.docker)(["image","inspect","--format",`{{ index .Config.Labels "${f}" }}`,e.image],d.DOCKER_OP_TIMEOUT_MS)
101
101
  if(t.spawnError)return t.spawnError
102
102
  if(0===t.exit&&t.stdout.trim()===e.recipeHash)return
103
- const r=a.mkdtempSync(l.join(c.tmpdir(),"alchemylab-image-"))
104
- try{a.writeFileSync(l.join(r,"Dockerfile"),e.dockerfile)
105
- const t=await(0,u.docker)(["build","--label",`${p}=${e.recipeHash}`,"-t",e.image,r],exports.BUILD_TIMEOUT_MS)
103
+ const r=c.mkdtempSync(u.join(l.tmpdir(),"alchemylab-image-"))
104
+ try{c.writeFileSync(u.join(r,"Dockerfile"),e.dockerfile)
105
+ const t=await(0,d.docker)(["build","--label",`${f}=${e.recipeHash}`,"-t",e.image,r],exports.BUILD_TIMEOUT_MS)
106
106
  if(0!==t.exit){const r=(t.stderr||t.stdout||"").trim().split("\n").slice(-12).join("\n")
107
- return`building ${e.image} failed${t.timedOut?" (timed out)":""}: ${r}`}return}finally{a.rmSync(r,{recursive:!0,force:!0})}})()
108
- return m.set(e.image,{work:r,since:Date.now()}),r.then(t=>{t?h.set(e.image,{error:t,at:Date.now()}):h.delete(e.image)},t=>{h.set(e.image,{error:t instanceof Error?t.message:String(t),at:Date.now()})}).finally(()=>m.delete(e.image)),r}var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r)
107
+ return`building ${e.image} failed${t.timedOut?" (timed out)":""}: ${r}`}return}finally{c.rmSync(r,{recursive:!0,force:!0})}})()
108
+ return h.set(e.image,{work:r,since:Date.now()}),r.then(t=>{t?w.set(e.image,{error:t,at:Date.now()}):w.delete(e.image)},t=>{w.set(e.image,{error:t instanceof Error?t.message:String(t),at:Date.now()})}).finally(()=>h.delete(e.image)),r}var o,s=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r)
109
109
  var o=Object.getOwnPropertyDescriptor(t,r)
110
- o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[]
110
+ o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[]
111
111
  for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r)
112
- return t},n(e)},function(e){if(e&&e.__esModule)return e
112
+ return t},o(e)},function(e){if(e&&e.__esModule)return e
113
113
  var t={}
114
- if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i])
115
- return s(t,e),t})
116
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.BUILD_TIMEOUT_MS=void 0,exports.localRecipeFor=function(e){return f.find(t=>t.image===e)},exports.ensureLocalImage=r,exports.localImageState=async function(e){const t=m.get(e.image)
114
+ if(null!=e)for(var r=o(e),n=0;n<r.length;n++)"default"!==r[n]&&s(t,e,r[n])
115
+ return i(t,e),t})
116
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.BUILD_TIMEOUT_MS=void 0,exports.localRecipeFor=r,exports.registerLocalRecipe=function(e){r(e.image)||m.push(e)},exports.ensureLocalImage=n,exports.localImageState=async function(e){const t=h.get(e.image)
117
117
  if(t)return{state:"building",since:t.since}
118
- const r=await(0,u.docker)(["image","inspect","--format",`{{ index .Config.Labels "${p}" }}`,e.image],u.DOCKER_OP_TIMEOUT_MS)
118
+ const r=await(0,d.docker)(["image","inspect","--format",`{{ index .Config.Labels "${f}" }}`,e.image],d.DOCKER_OP_TIMEOUT_MS)
119
119
  if(r.spawnError)return{state:"no-docker",error:"Docker is not installed on this machine (no docker command)"}
120
120
  if(0===r.exit&&r.stdout.trim()===e.recipeHash)return{state:"ready"}
121
121
  if(/cannot connect to the docker daemon|is the docker daemon running|error during connect/i.test(r.stderr))return{state:"no-docker",error:"Docker is not running on this machine"}
122
- const n=h.get(e.image)
123
- return n?{state:"failed",...n}:{state:"missing"}},exports.startLocalImageBuild=function(e){return h.delete(e.image),r(e).catch(()=>{}),{since:m.get(e.image)?.since??Date.now()}}
124
- const a=i(t(73024)),c=i(t(48161)),l=i(t(76760)),u=t(81618),d=t(44853),p="dev.alchemylab.recipe"
122
+ const n=w.get(e.image)
123
+ return n?{state:"failed",...n}:{state:"missing"}},exports.startLocalImageBuild=function(e){return w.delete(e.image),n(e).catch(()=>{}),{since:h.get(e.image)?.since??Date.now()}}
124
+ const c=a(t(73024)),l=a(t(48161)),u=a(t(76760)),d=t(81618),p=t(44853),f="dev.alchemylab.recipe"
125
125
  exports.BUILD_TIMEOUT_MS=15e5
126
- const f=[{image:d.OFFICE_BOX_IMAGE,dockerfile:d.OFFICE_BOX_DOCKERFILE,recipeHash:d.OFFICE_BOX_RECIPE_HASH}],m=new Map,h=new Map},61260(e,exports,t){exports.H=void 0,exports.readOomKills=async function(e){const t=await(0,r.docker)(["exec",e,"cat","/sys/fs/cgroup/memory.events"],n)
126
+ const m=[{image:p.OFFICE_BOX_IMAGE,dockerfile:p.OFFICE_BOX_DOCKERFILE,recipeHash:p.OFFICE_BOX_RECIPE_HASH}],h=new Map,w=new Map},61260(e,exports,t){exports.H=void 0,exports.readOomKills=async function(e){const t=await(0,r.docker)(["exec",e,"cat","/sys/fs/cgroup/memory.events"],n)
127
127
  if(0===t.exit){const e=/^oom_kill (\d+)/m.exec(t.stdout)
128
128
  if(e)return Number(e[1])}const o=await(0,r.docker)(["exec",e,"cat","/sys/fs/cgroup/memory/memory.oom_control"],n)
129
129
  if(0===o.exit){const e=/^oom_kill (\d+)/m.exec(o.stdout)