experimental-ash 0.33.0 → 0.33.1

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 (37) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
  3. package/dist/src/execution/workflow-entry.js +1 -1
  4. package/dist/src/execution/workflow-steps.js +1 -1
  5. package/dist/src/{execution/code-mode-authorization-lifecycle.d.ts → harness/code-mode-lifecycle.d.ts} +7 -6
  6. package/dist/src/harness/code-mode-lifecycle.js +1 -0
  7. package/dist/src/harness/tool-loop.js +1 -1
  8. package/dist/src/internal/application/package.js +1 -1
  9. package/dist/src/internal/nitro/host/build-application.js +1 -1
  10. package/dist/src/internal/nitro/host/code-mode-runtime-dependency-plugin.d.ts +1 -0
  11. package/dist/src/internal/nitro/host/code-mode-runtime-dependency-plugin.js +1 -0
  12. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  13. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  14. package/dist/src/node_modules/.pnpm/@jitl_quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.js +1 -0
  15. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/emscripten-module.js +1 -0
  16. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/ffi.js +1 -0
  17. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.js +1 -0
  18. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/emscripten-module.js +4 -0
  19. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/ffi.js +1 -0
  20. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.js +1 -0
  21. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/emscripten-module.js +1 -0
  22. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/ffi.js +1 -0
  23. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.js +1 -0
  24. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/emscripten-module.js +1 -0
  25. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/ffi.js +1 -0
  26. package/dist/src/node_modules/.pnpm/@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.js +1 -0
  27. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-TAV5CUKK.js +1 -0
  28. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-V2S4ZYJR.js +6 -0
  29. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/index.js +1 -0
  30. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/module-ES6BEMUI.js +1 -0
  31. package/dist/src/node_modules/.pnpm/quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/module-asyncify-2EFITU5U.js +1 -0
  32. package/dist/src/node_modules/.pnpm/quickjs-emscripten@0.32.0/node_modules/quickjs-emscripten/dist/chunk-OHAYRCBA.js +1 -0
  33. package/dist/src/node_modules/.pnpm/quickjs-emscripten@0.32.0/node_modules/quickjs-emscripten/dist/index.js +1 -0
  34. package/package.json +3 -2
  35. package/dist/src/execution/code-mode-authorization-lifecycle.js +0 -1
  36. package/dist/src/internal/nitro/host/code-mode-worker-asset.d.ts +0 -18
  37. package/dist/src/internal/nitro/host/code-mode-worker-asset.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # experimental-ash
2
2
 
3
+ ## 0.33.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 1e81358: Upgrade code mode to 1.0.9, rely on its inline worker loader instead of materializing worker assets, and preserve nested tool action events when code-mode continuations replay.
8
+
3
9
  ## 0.33.0
4
10
 
5
11
  ### Minor Changes
@@ -1 +1 @@
1
- import{createLogger,logError}from"#internal/logging.js";import{AuthKey,CapabilitiesKey,InitiatorAuthKey}from"#context/keys.js";import{createSubagentCalledEvent,encodeMessageStreamEvent,timestampHandleMessageStreamEvent}from"#protocol/message.js";import{toErrorMessage}from"#shared/errors.js";import{callAdapterEventHandler}from"#channel/adapter.js";import{BundleKey,ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{getPendingRuntimeActionBatch,recordPendingSubagentChildToken}from"#harness/runtime-actions.js";import{readDurableSession,writeDurableSession}from"#execution/durable-session-store.js";import{hydrateDurableSession}from"#execution/session.js";import{deserializeContext}from"#context/serialize.js";import{buildAdapterContext}from"#channel/adapter-context.js";import{resolveRemoteAgentForAction,startRemoteAgentSession}from"#execution/remote-agent-dispatch.js";import{buildSubagentRunInput}from"#execution/subagent-tool.js";import{createWorkflowRuntime,workflowEntryReference}from"#execution/workflow-runtime.js";const log=createLogger(`execution.dispatch-runtime-actions`);async function dispatchRuntimeActionsStep(e){"use step";let s=await readDurableSession(e.sessionState),u=getPendingRuntimeActionBatch(s.state);if(u===void 0||u.actions.length===0)return{results:[],sessionState:e.sessionState};let d=await deserializeContext(e.serializedContext),f=d.require(BundleKey),p=hydrateDurableSession({compactionOverrides:{thresholdPercent:f.resolvedAgent.config.compaction?.thresholdPercent},durable:s,turnAgent:f.turnAgent}),m=d.require(ChannelKey),h=d.get(AuthKey)??null,g=d.get(CapabilitiesKey),_=d.get(InitiatorAuthKey)??null,v=e.parentWritable.getWriter(),y=buildAdapterContext(m,d),b=p,x=[];try{for(let n of u.actions){let r,i,s,c;switch(n.kind){case`subagent-call`:{let e=createWorkflowRuntime({compiledArtifactsSource:f.compiledArtifactsSource,nodeId:n.nodeId}),{childContinuationToken:t,runInput:a}=buildSubagentRunInput({action:n,auth:h,batchEvent:u.event,capabilities:g,initiatorAuth:_,session:p}),o=await e.run(a);b=recordPendingSubagentChildToken({callId:n.callId,childContinuationToken:t,session:b}),r=o.sessionId,i=n.name,c=n.subagentName;break}case`remote-agent-call`:{let a;try{a=resolveRemoteAgentForAction({nodeId:n.nodeId,remoteAgentName:n.remoteAgentName,registry:f.subagentRegistry.subagentsByNodeId}),r=await startRemoteAgentSession({action:n,callbackBaseUrl:e.callbackBaseUrl,remote:a,session:p})}catch(e){logError(log,`remote agent start failed`,e,{remoteAgentName:n.remoteAgentName,nodeId:n.nodeId,callId:n.callId}),x.push(createRemoteAgentStartFailureResult({action:n,error:e}));continue}i=n.name,s={url:a.url},c=n.remoteAgentName;break}default:throw Error(`Unsupported runtime action kind "${n.kind}" in workflow runtime.`)}let l=await callAdapterEventHandler(m,createSubagentCalledEvent({callId:n.callId,childSessionId:r,name:i,remote:s,sequence:u.event.sequence,sessionId:p.sessionId,toolName:c,turnId:u.event.turnId,workflowId:workflowEntryReference.workflowId}),y);await v.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(l)))}}finally{v.releaseLock()}return{results:x,sessionState:b===p?e.sessionState:await writeDurableSession({session:b,writable:e.sessionWritable})}}function createRemoteAgentStartFailureResult(e){return{callId:e.action.callId,isError:!0,kind:`subagent-result`,output:{code:`REMOTE_AGENT_START_FAILED`,message:toErrorMessage(e.error)},subagentName:e.action.remoteAgentName}}export{dispatchRuntimeActionsStep};
1
+ import{createLogger,logError}from"#internal/logging.js";import{AuthKey,CapabilitiesKey,InitiatorAuthKey}from"#context/keys.js";import{createSubagentCalledEvent,encodeMessageStreamEvent,timestampHandleMessageStreamEvent}from"#protocol/message.js";import{toErrorMessage}from"#shared/errors.js";import{callAdapterEventHandler}from"#channel/adapter.js";import{BundleKey,ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{readDurableSession,writeDurableSession}from"#execution/durable-session-store.js";import{hydrateDurableSession}from"#execution/session.js";import{deserializeContext}from"#context/serialize.js";import{buildAdapterContext}from"#channel/adapter-context.js";import{getPendingRuntimeActionBatch,recordPendingSubagentChildToken}from"#harness/runtime-actions.js";import{resolveRemoteAgentForAction,startRemoteAgentSession}from"#execution/remote-agent-dispatch.js";import{buildSubagentRunInput}from"#execution/subagent-tool.js";import{createWorkflowRuntime,workflowEntryReference}from"#execution/workflow-runtime.js";const log=createLogger(`execution.dispatch-runtime-actions`);async function dispatchRuntimeActionsStep(e){"use step";let s=await readDurableSession(e.sessionState),u=getPendingRuntimeActionBatch(s.state);if(u===void 0||u.actions.length===0)return{results:[],sessionState:e.sessionState};let d=await deserializeContext(e.serializedContext),f=d.require(BundleKey),p=hydrateDurableSession({compactionOverrides:{thresholdPercent:f.resolvedAgent.config.compaction?.thresholdPercent},durable:s,turnAgent:f.turnAgent}),m=d.require(ChannelKey),h=d.get(AuthKey)??null,g=d.get(CapabilitiesKey),_=d.get(InitiatorAuthKey)??null,v=e.parentWritable.getWriter(),y=buildAdapterContext(m,d),b=p,x=[];try{for(let n of u.actions){let r,i,s,c;switch(n.kind){case`subagent-call`:{let e=createWorkflowRuntime({compiledArtifactsSource:f.compiledArtifactsSource,nodeId:n.nodeId}),{childContinuationToken:t,runInput:a}=buildSubagentRunInput({action:n,auth:h,batchEvent:u.event,capabilities:g,initiatorAuth:_,session:p}),o=await e.run(a);b=recordPendingSubagentChildToken({callId:n.callId,childContinuationToken:t,session:b}),r=o.sessionId,i=n.name,c=n.subagentName;break}case`remote-agent-call`:{let a;try{a=resolveRemoteAgentForAction({nodeId:n.nodeId,remoteAgentName:n.remoteAgentName,registry:f.subagentRegistry.subagentsByNodeId}),r=await startRemoteAgentSession({action:n,callbackBaseUrl:e.callbackBaseUrl,remote:a,session:p})}catch(e){logError(log,`remote agent start failed`,e,{remoteAgentName:n.remoteAgentName,nodeId:n.nodeId,callId:n.callId}),x.push(createRemoteAgentStartFailureResult({action:n,error:e}));continue}i=n.name,s={url:a.url},c=n.remoteAgentName;break}default:throw Error(`Unsupported runtime action kind "${n.kind}" in workflow runtime.`)}let l=await callAdapterEventHandler(m,createSubagentCalledEvent({callId:n.callId,childSessionId:r,name:i,remote:s,sequence:u.event.sequence,sessionId:p.sessionId,toolName:c,turnId:u.event.turnId,workflowId:workflowEntryReference.workflowId}),y);await v.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(l)))}}finally{v.releaseLock()}return{results:x,sessionState:b===p?e.sessionState:await writeDurableSession({session:b,writable:e.sessionWritable})}}function createRemoteAgentStartFailureResult(e){return{callId:e.action.callId,isError:!0,kind:`subagent-result`,output:{code:`REMOTE_AGENT_START_FAILED`,message:toErrorMessage(e.error)},subagentName:e.action.remoteAgentName}}export{dispatchRuntimeActionsStep};
@@ -1 +1 @@
1
- import{accumulateRuntimeActionResults}from"#harness/runtime-actions.js";import{ASH_SESSION_STREAM_NAMESPACE}from"#execution/durable-session-store.js";import{resolveVercelProductionCallbackBaseUrl}from"#execution/workflow-callback-url.js";import{normalizeSerializableError,rebuildSerializableError}from"#execution/workflow-errors.js";import{dispatchTurnStep,emitTerminalSessionFailureStep,routeProxiedDeliverStep,runProxyInputRequestStep}from"#execution/workflow-steps.js";import{createHook,getWorkflowMetadata,getWritable}from"#compiled/@workflow/core/index.js";import{coalesceDeliveries}from"#harness/messages.js";import{notifyDelegatedParentStep}from"#execution/delegated-parent-notification.js";import{createDelegatedSubagentErrorResult,createDelegatedSubagentSuccessResult}from"#execution/delegated-parent-result.js";import{createSessionStep}from"#execution/create-session-step.js";import{dispatchRuntimeActionsStep}from"#execution/dispatch-runtime-actions-step.js";import{fireSessionCallbackStep}from"#execution/session-callback-step.js";async function workflowEntry(e){"use workflow";let{workflowRunId:n}=getWorkflowMetadata(),i=e.serializedContext[`ash.continuationToken`]||``,a=e.serializedContext[`ash.mode`],s=e.serializedContext[`ash.capabilities`],c=e.serializedContext[`ash.bundle`];e.serializedContext[`ash.sessionId`]=n;let l=getWritable(),d=getWritable({namespace:ASH_SESSION_STREAM_NAMESPACE});try{let t=await createSessionStep({compiledArtifactsSource:c.source,continuationToken:i,nodeId:c.nodeId,sessionId:n,sessionWritable:d});return await runDriverLoop({capabilities:s,driverWritable:l,initialInput:{kind:`deliver`,payloads:[{message:e.input.message,modelContext:e.input.modelContext}]},mode:a,serializedContext:e.serializedContext,sessionState:t,sessionWritable:d})}catch(t){throw await emitTerminalSessionFailureStep({error:normalizeSerializableError(t),parentWritable:l,serializedContext:e.serializedContext}),await fireSessionCallbackStep({error:normalizeSerializableError(t),serializedContext:e.serializedContext,status:`failed`}),await notifyDelegatedParentStep({result:createDelegatedSubagentErrorResult(e.serializedContext,t),serializedContext:e.serializedContext}),t}}async function runDriverLoop(e){let t=createHook({token:`${e.sessionState.sessionId}:auth`}),r=t[Symbol.asyncIterator](),i=0,a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:e.initialInput,mode:e.mode,parentWritable:e.driverWritable,serializedContext:e.serializedContext,sessionState:e.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i});if(a.kind===`done`)return await closeHookIterator(r),await disposeHook(t),await finalizeDone({action:a,driverWritable:e.driverWritable});if(!a.sessionState.continuationToken)throw Error("Cannot park: no continuation token available. The channel must post the first message during the initial turn (anchoring the session) or `send()` must be called with an explicit continuationToken.");let o=a.sessionState.continuationToken,s=createHook({token:o}),c=s[Symbol.asyncIterator](),u=null,d=[],getNextPromise=()=>(u??=c.next(),u),consumeNext=()=>{u=null},rekeyHook=async e=>{e===o||!e||(await closeHookIterator(c),await disposeHook(s),o=e,s=createHook({token:o}),c=s[Symbol.asyncIterator](),u=null)};try{for(;;)switch(a.kind){case`done`:return await finalizeDone({action:a,driverWritable:e.driverWritable});case`dispatch-runtime-actions`:{let t=await dispatchRuntimeActionsStep({callbackBaseUrl:resolveVercelProductionCallbackBaseUrl()??getWorkflowMetadata().url,parentWritable:e.driverWritable,serializedContext:a.serializedContext,sessionState:a.sessionState,sessionWritable:e.sessionWritable}),r=await waitForPendingRuntimeActionResults({bufferedDeliveries:d,consumeNext,getNextPromise,initialResults:t.results,parentWritable:e.driverWritable,pendingActionKeys:a.pendingActionKeys,rekeyHook,serializedContext:a.serializedContext,sessionState:t.sessionState,sessionWritable:e.sessionWritable});if(r===null)return{output:``};a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:{kind:`runtime-action-result`,results:r.results},mode:e.mode,parentWritable:e.driverWritable,serializedContext:r.serializedContext,sessionState:r.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i}),await rekeyHook(a.sessionState.continuationToken);break}case`park`:{if(a.authorizationNames&&a.authorizationNames.length>0){let t=a.authorizationNames.length,n=[];for(;n.length<t;){let e=await r.next();if(e.done)break;e.value.kind===`deliver`&&n.push(...e.value.payloads)}a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:{kind:`deliver`,payloads:n},mode:e.mode,parentWritable:e.driverWritable,serializedContext:a.serializedContext,sessionState:a.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i}),await rekeyHook(a.sessionState.continuationToken);break}let t=await waitForNextDeliver({bufferedDeliveries:d,consumeNext,getNextPromise});if(t===null)return{output:``};let n=await routeDeliverForChildren({auth:t.auth,parentWritable:e.driverWritable,payloads:t.payloads,sessionState:a.sessionState});if(n===void 0)continue;a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:{auth:t.auth,kind:`deliver`,payloads:[n]},mode:e.mode,parentWritable:e.driverWritable,serializedContext:a.serializedContext,sessionState:a.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i}),await rekeyHook(a.sessionState.continuationToken);break}}}finally{await closeHookIterator(c),await disposeHook(s),await closeHookIterator(r),await disposeHook(t)}}async function finalizeDone(e){return await fireSessionCallbackStep({output:e.action.output,serializedContext:e.action.serializedContext,status:`completed`}),await notifyDelegatedParentStep({result:createDelegatedSubagentSuccessResult(e.action.serializedContext,e.action.output),serializedContext:e.action.serializedContext}),{output:e.action.output}}async function dispatchAndAwaitTurn(e){let t=`ash://turn/${e.sessionState.sessionId}/${e.turnGeneration}`,n=createHook({token:t});try{await dispatchTurnStep({capabilities:e.capabilities,completionToken:t,delivery:e.delivery,mode:e.mode,parentWritable:e.parentWritable,serializedContext:e.serializedContext,sessionState:e.sessionState,sessionWritable:e.sessionWritable});let r=await awaitHookPayload(n);if(r.kind===`turn-error`)throw rebuildSerializableError(r.error);return r.action}finally{await disposeHook(n)}}async function awaitHookPayload(e){for await(let t of e)return t;throw Error(`Turn completion hook closed before delivering a result.`)}async function waitForPendingRuntimeActionResults(t){let n=t.sessionState,r=t.serializedContext,i=await accumulateRuntimeActionResults({bufferedDeliveries:t.bufferedDeliveries,async getNext(){for(;;){let e=await t.getNextPromise();if(t.consumeNext(),e.done)return null;let i=e.value;if(i.kind===`deliver`){let e=await routeDeliverForChildren({auth:i.auth,parentWritable:t.parentWritable,payloads:i.payloads,sessionState:n});if(e===void 0)continue;return{kind:`deliver`,value:{...i,payloads:[e]}}}if(i.kind===`runtime-action-result`)return{kind:`runtime-action-result`,results:i.results};let a=await runProxyInputRequestStep({hookPayload:i,parentWritable:t.parentWritable,serializedContext:r,sessionState:n,sessionWritable:t.sessionWritable});n=a.sessionState,r=a.serializedContext,await t.rekeyHook(n.continuationToken)}},initialResults:t.initialResults,pendingActionKeys:t.pendingActionKeys});return i===null?null:{results:i,serializedContext:r,sessionState:n}}async function routeDeliverForChildren(e){let t=coalescePayloads(e.payloads);return e.sessionState.hasProxyInputRequests?(await routeProxiedDeliverStep({auth:e.auth,parentWritable:e.parentWritable,payload:t,sessionState:e.sessionState})).remainder:t}async function waitForNextDeliver(e){if(e.bufferedDeliveries.length>0)return coalesceDeliveries(e.bufferedDeliveries.splice(0));for(;;){let t=await e.getNextPromise();if(e.consumeNext(),t.done)return null;if(t.value.kind!==`deliver`)continue;let n=t.value;for(;;){let t=await takeReadyPayload(e.getNextPromise());if(t===NO_READY_MESSAGE||(e.consumeNext(),t.done))break;t.value.kind===`deliver`&&(n=coalesceDeliveries([n,t.value]))}return n}}function coalescePayloads(e){if(e.length===0)return{};if(e.length===1)return e[0]??{};let t={},n=[];for(let r of e){for(let[e,n]of Object.entries(r))e!==`inputResponses`&&n!==void 0&&(t[e]=n);r.inputResponses!==void 0&&n.push(...r.inputResponses)}return n.length>0&&(t.inputResponses=n),t}const NO_READY_MESSAGE=Symbol(`no-ready-message`);async function takeReadyPayload(e){return await Promise.resolve(),await Promise.race([e,Promise.resolve(NO_READY_MESSAGE)])}async function closeHookIterator(e){typeof e.return==`function`&&await e.return(void 0)}async function disposeHook(e){let t=e.dispose;if(typeof t==`function`){await t.call(e);return}let n=e[Symbol.dispose];typeof n==`function`&&await n.call(e)}export{workflowEntry};
1
+ import{ASH_SESSION_STREAM_NAMESPACE}from"#execution/durable-session-store.js";import{accumulateRuntimeActionResults}from"#harness/runtime-actions.js";import{resolveVercelProductionCallbackBaseUrl}from"#execution/workflow-callback-url.js";import{normalizeSerializableError,rebuildSerializableError}from"#execution/workflow-errors.js";import{dispatchTurnStep,emitTerminalSessionFailureStep,routeProxiedDeliverStep,runProxyInputRequestStep}from"#execution/workflow-steps.js";import{createHook,getWorkflowMetadata,getWritable}from"#compiled/@workflow/core/index.js";import{coalesceDeliveries}from"#harness/messages.js";import{notifyDelegatedParentStep}from"#execution/delegated-parent-notification.js";import{createDelegatedSubagentErrorResult,createDelegatedSubagentSuccessResult}from"#execution/delegated-parent-result.js";import{createSessionStep}from"#execution/create-session-step.js";import{dispatchRuntimeActionsStep}from"#execution/dispatch-runtime-actions-step.js";import{fireSessionCallbackStep}from"#execution/session-callback-step.js";async function workflowEntry(t){"use workflow";let{workflowRunId:n}=getWorkflowMetadata(),i=t.serializedContext[`ash.continuationToken`]||``,a=t.serializedContext[`ash.mode`],s=t.serializedContext[`ash.capabilities`],c=t.serializedContext[`ash.bundle`];t.serializedContext[`ash.sessionId`]=n;let l=getWritable(),d=getWritable({namespace:ASH_SESSION_STREAM_NAMESPACE});try{let e=await createSessionStep({compiledArtifactsSource:c.source,continuationToken:i,nodeId:c.nodeId,sessionId:n,sessionWritable:d});return await runDriverLoop({capabilities:s,driverWritable:l,initialInput:{kind:`deliver`,payloads:[{message:t.input.message,modelContext:t.input.modelContext}]},mode:a,serializedContext:t.serializedContext,sessionState:e,sessionWritable:d})}catch(e){throw await emitTerminalSessionFailureStep({error:normalizeSerializableError(e),parentWritable:l,serializedContext:t.serializedContext}),await fireSessionCallbackStep({error:normalizeSerializableError(e),serializedContext:t.serializedContext,status:`failed`}),await notifyDelegatedParentStep({result:createDelegatedSubagentErrorResult(t.serializedContext,e),serializedContext:t.serializedContext}),e}}async function runDriverLoop(e){let t=createHook({token:`${e.sessionState.sessionId}:auth`}),r=t[Symbol.asyncIterator](),i=0,a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:e.initialInput,mode:e.mode,parentWritable:e.driverWritable,serializedContext:e.serializedContext,sessionState:e.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i});if(a.kind===`done`)return await closeHookIterator(r),await disposeHook(t),await finalizeDone({action:a,driverWritable:e.driverWritable});if(!a.sessionState.continuationToken)throw Error("Cannot park: no continuation token available. The channel must post the first message during the initial turn (anchoring the session) or `send()` must be called with an explicit continuationToken.");let o=a.sessionState.continuationToken,s=createHook({token:o}),c=s[Symbol.asyncIterator](),u=null,d=[],getNextPromise=()=>(u??=c.next(),u),consumeNext=()=>{u=null},rekeyHook=async e=>{e===o||!e||(await closeHookIterator(c),await disposeHook(s),o=e,s=createHook({token:o}),c=s[Symbol.asyncIterator](),u=null)};try{for(;;)switch(a.kind){case`done`:return await finalizeDone({action:a,driverWritable:e.driverWritable});case`dispatch-runtime-actions`:{let t=await dispatchRuntimeActionsStep({callbackBaseUrl:resolveVercelProductionCallbackBaseUrl()??getWorkflowMetadata().url,parentWritable:e.driverWritable,serializedContext:a.serializedContext,sessionState:a.sessionState,sessionWritable:e.sessionWritable}),r=await waitForPendingRuntimeActionResults({bufferedDeliveries:d,consumeNext,getNextPromise,initialResults:t.results,parentWritable:e.driverWritable,pendingActionKeys:a.pendingActionKeys,rekeyHook,serializedContext:a.serializedContext,sessionState:t.sessionState,sessionWritable:e.sessionWritable});if(r===null)return{output:``};a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:{kind:`runtime-action-result`,results:r.results},mode:e.mode,parentWritable:e.driverWritable,serializedContext:r.serializedContext,sessionState:r.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i}),await rekeyHook(a.sessionState.continuationToken);break}case`park`:{if(a.authorizationNames&&a.authorizationNames.length>0){let t=a.authorizationNames.length,n=[];for(;n.length<t;){let e=await r.next();if(e.done)break;e.value.kind===`deliver`&&n.push(...e.value.payloads)}a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:{kind:`deliver`,payloads:n},mode:e.mode,parentWritable:e.driverWritable,serializedContext:a.serializedContext,sessionState:a.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i}),await rekeyHook(a.sessionState.continuationToken);break}let t=await waitForNextDeliver({bufferedDeliveries:d,consumeNext,getNextPromise});if(t===null)return{output:``};let n=await routeDeliverForChildren({auth:t.auth,parentWritable:e.driverWritable,payloads:t.payloads,sessionState:a.sessionState});if(n===void 0)continue;a=await dispatchAndAwaitTurn({capabilities:e.capabilities,delivery:{auth:t.auth,kind:`deliver`,payloads:[n]},mode:e.mode,parentWritable:e.driverWritable,serializedContext:a.serializedContext,sessionState:a.sessionState,sessionWritable:e.sessionWritable,turnGeneration:++i}),await rekeyHook(a.sessionState.continuationToken);break}}}finally{await closeHookIterator(c),await disposeHook(s),await closeHookIterator(r),await disposeHook(t)}}async function finalizeDone(e){return await fireSessionCallbackStep({output:e.action.output,serializedContext:e.action.serializedContext,status:`completed`}),await notifyDelegatedParentStep({result:createDelegatedSubagentSuccessResult(e.action.serializedContext,e.action.output),serializedContext:e.action.serializedContext}),{output:e.action.output}}async function dispatchAndAwaitTurn(e){let t=`ash://turn/${e.sessionState.sessionId}/${e.turnGeneration}`,n=createHook({token:t});try{await dispatchTurnStep({capabilities:e.capabilities,completionToken:t,delivery:e.delivery,mode:e.mode,parentWritable:e.parentWritable,serializedContext:e.serializedContext,sessionState:e.sessionState,sessionWritable:e.sessionWritable});let r=await awaitHookPayload(n);if(r.kind===`turn-error`)throw rebuildSerializableError(r.error);return r.action}finally{await disposeHook(n)}}async function awaitHookPayload(e){for await(let t of e)return t;throw Error(`Turn completion hook closed before delivering a result.`)}async function waitForPendingRuntimeActionResults(e){let n=e.sessionState,r=e.serializedContext,i=await accumulateRuntimeActionResults({bufferedDeliveries:e.bufferedDeliveries,async getNext(){for(;;){let t=await e.getNextPromise();if(e.consumeNext(),t.done)return null;let i=t.value;if(i.kind===`deliver`){let t=await routeDeliverForChildren({auth:i.auth,parentWritable:e.parentWritable,payloads:i.payloads,sessionState:n});if(t===void 0)continue;return{kind:`deliver`,value:{...i,payloads:[t]}}}if(i.kind===`runtime-action-result`)return{kind:`runtime-action-result`,results:i.results};let a=await runProxyInputRequestStep({hookPayload:i,parentWritable:e.parentWritable,serializedContext:r,sessionState:n,sessionWritable:e.sessionWritable});n=a.sessionState,r=a.serializedContext,await e.rekeyHook(n.continuationToken)}},initialResults:e.initialResults,pendingActionKeys:e.pendingActionKeys});return i===null?null:{results:i,serializedContext:r,sessionState:n}}async function routeDeliverForChildren(e){let t=coalescePayloads(e.payloads);return e.sessionState.hasProxyInputRequests?(await routeProxiedDeliverStep({auth:e.auth,parentWritable:e.parentWritable,payload:t,sessionState:e.sessionState})).remainder:t}async function waitForNextDeliver(e){if(e.bufferedDeliveries.length>0)return coalesceDeliveries(e.bufferedDeliveries.splice(0));for(;;){let t=await e.getNextPromise();if(e.consumeNext(),t.done)return null;if(t.value.kind!==`deliver`)continue;let n=t.value;for(;;){let t=await takeReadyPayload(e.getNextPromise());if(t===NO_READY_MESSAGE||(e.consumeNext(),t.done))break;t.value.kind===`deliver`&&(n=coalesceDeliveries([n,t.value]))}return n}}function coalescePayloads(e){if(e.length===0)return{};if(e.length===1)return e[0]??{};let t={},n=[];for(let r of e){for(let[e,n]of Object.entries(r))e!==`inputResponses`&&n!==void 0&&(t[e]=n);r.inputResponses!==void 0&&n.push(...r.inputResponses)}return n.length>0&&(t.inputResponses=n),t}const NO_READY_MESSAGE=Symbol(`no-ready-message`);async function takeReadyPayload(e){return await Promise.resolve(),await Promise.race([e,Promise.resolve(NO_READY_MESSAGE)])}async function closeHookIterator(e){typeof e.return==`function`&&await e.return(void 0)}async function disposeHook(e){let t=e.dispose;if(typeof t==`function`){await t.call(e);return}let n=e[Symbol.dispose];typeof n==`function`&&await n.call(e)}export{workflowEntry};
@@ -1 +1 @@
1
- import{createLogger,formatError}from"#internal/logging.js";import{AuthKey,CapabilitiesKey,ContinuationTokenKey,ModeKey}from"#context/keys.js";import{createAuthorizationCompletedEvent,createSessionFailedEvent,encodeMessageStreamEvent,timestampHandleMessageStreamEvent}from"#protocol/message.js";import{callAdapterEventHandler,defaultDeliverResult}from"#channel/adapter.js";import{getHarnessEmissionState,isHarnessBetweenTurns}from"#harness/emission.js";import{BundleKey,ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{getPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{readDurableSession,writeDurableSession}from"#execution/durable-session-store.js";import{hydrateDurableSession,refreshSessionFromTurnAgent}from"#execution/session.js";import{deserializeContext,serializeContext}from"#context/serialize.js";import{buildAdapterContext}from"#channel/adapter-context.js";import{createWorkflowRuntime,startWorkflowPreferLatest}from"#execution/workflow-runtime.js";import{upsertProxyInputRequests}from"#harness/proxy-input-requests.js";import{coalesceTurnInputs}from"#harness/messages.js";import{dispatchStreamEventHooks,runHookLifecycleStep}from"#context/hook-lifecycle.js";import{runStep}from"#context/run-step.js";import{hasPendingInputBatch}from"#harness/input-requests.js";import{getRuntimeActionRequestKey}from"#runtime/actions/keys.js";import{CallbackBaseUrlKey,PendingAuthorizationResultKey,getPendingAuthorization}from"#harness/authorization.js";import{createExecutionNodeStep}from"#execution/node-step.js";import{emitProxiedInputRequest,routeDeliverPayload}from"#execution/subagent-hitl-proxy.js";import{turnWorkflow}from"#execution/turn-workflow.js";async function turnStep(e){"use step";let t=await readDurableSession(e.sessionState),i=await deserializeContext(e.serializedContext),s=i.require(ChannelKey),d=i.require(BundleKey),f=hydrateDurableSession({compactionOverrides:{thresholdPercent:d.resolvedAgent.config.compaction?.thresholdPercent},durable:t,turnAgent:d.turnAgent});try{let{getWorkflowMetadata:e}=await import(`#compiled/@workflow/core/index.js`),t=e();typeof t.url==`string`&&i.set(CallbackBaseUrlKey,t.url.replace(/\/$/,``))}catch{}let p=getPendingAuthorization(t.state),m;if(p&&e.input?.kind===`deliver`){let t=[],n=[];for(let r of e.input.payloads){let e=r.authorizationCallback;if(e){let n=p.challenges.find(t=>t.name===e.connectionName);n&&t.push({name:n.name,state:n.state,callback:e.request,hookUrl:n.hookUrl})}else n.push(r)}t.length>0&&(i.set(PendingAuthorizationResultKey,t),m=t.map(e=>e.name),e=n.length>0?{...e,input:{...e.input,payloads:n}}:{...e,input:void 0})}e.input?.kind===`deliver`&&e.input.auth!==void 0&&i.set(AuthKey,e.input.auth??null);let h=buildAdapterContext(s,i),g;if(e.input?.kind===`deliver`){let t=[];for(let n of e.input.payloads){let e=s.deliver?await s.deliver(n,h):defaultDeliverResult(n);e!=null&&t.push(e)}g=t.length===0?void 0:t.reduce(coalesceTurnInputs)}else e.input?.kind===`runtime-action-result`&&(g={runtimeActionResults:e.input.results});if(e.input?.kind===`deliver`){let e={...s,state:{...h.state}};i.set(ChannelKey,e)}if(e.input?.kind===`deliver`&&g===void 0){let t=reconcileSessionContinuationToken(i,f),n=serializeContext(i),r=t===f?e.sessionState:await writeDurableSession({session:t,writable:e.sessionWritable});return{action:`park`,...derivePendingState(t),serializedContext:n,sessionState:r}}let _=e.parentWritable.getWriter(),v=i.require(BundleKey).hookRegistry,emit=async e=>{let t=await callAdapterEventHandler(s,e,h);i.set(ChannelKey,{...s,state:{...h.state}}),await _.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(t))),await dispatchStreamEventHooks({ctx:i,registry:v,event:t})};if(m){let e=getHarnessEmissionState(f.state);for(let t of m)await emit(createAuthorizationCompletedEvent({name:t,outcome:`authorized`,sequence:e.sequence,stepIndex:e.stepIndex,turnId:e.turnId}))}let y=await runStep(i,f,async e=>{let t=i.require(BundleKey),n=i.get(CapabilitiesKey),o=i.require(ModeKey),runHarnessStep=async(e,r)=>{let i=refreshSessionFromTurnAgent({compactionOverrides:{thresholdPercent:t.resolvedAgent.config.compaction?.thresholdPercent},session:e,turnAgent:t.turnAgent});return createExecutionNodeStep({capabilities:n,compiledArtifactsSource:t.compiledArtifactsSource,createRuntime:createWorkflowRuntime,emit,mode:o,node:t.graph.root})(i,r)};return g!==void 0&&isHarnessBetweenTurns(e)?runHookLifecycleStep({ctx:i,emit,input:g,mode:o,registry:t.hookRegistry,session:e},runHarnessStep):runHarnessStep(e,g)}),b=reconcileSessionContinuationToken(i,y.session),x=serializeContext(i);y={...y,session:b};let S=await writeDurableSession({session:y.session,writable:e.sessionWritable});return y.next!==null&&typeof y.next==`object`&&`done`in y.next?(await _.close(),{action:`done`,output:y.next.output,serializedContext:x,sessionState:S}):y.next===null?(_.releaseLock(),{action:`park`,...derivePendingState(y.session),serializedContext:x,sessionState:S}):(_.releaseLock(),{action:`continue`,serializedContext:x,sessionState:S})}function derivePendingState(e){let t=getPendingRuntimeActionBatch(e.state),n=getPendingAuthorization(e.state),r={authorizationNames:n?.challenges.map(e=>e.name),hasPendingAuthorization:n!==void 0,hasPendingInputBatch:hasPendingInputBatch(e.state)};return t===void 0?r:{...r,pendingRuntimeActionKeys:t.actions.map(e=>getRuntimeActionRequestKey(e))}}function reconcileSessionContinuationToken(e,t){let n=e.get(ContinuationTokenKey);return n===void 0||n===t.continuationToken?t:{...t,continuationToken:n}}const log=createLogger(`execution.workflow-entry`);async function emitTerminalSessionFailureStep(e){"use step";let n=formatError(e.error),r=typeof n.name==`string`?n.name:`WORKFLOW_EXECUTION_FAILED`,i=typeof n.message==`string`?n.message:String(e.error),a=e.serializedContext[`ash.sessionId`]??``;log.error(`workflow loop threw — emitting terminal session.failed`,{sessionId:a,errorId:typeof n.errorId==`string`?n.errorId:void 0,code:r,message:i,detail:typeof n.detail==`string`?n.detail:void 0});let o=createSessionFailedEvent({code:r,details:n,message:i,sessionId:a});try{let t=await deserializeContext(e.serializedContext),n=t.get(ChannelKey);n!==void 0&&await callAdapterEventHandler(n,o,buildAdapterContext(n,t))}catch(e){log.error(`adapter failed to handle terminal session.failed event`,{errorId:typeof n.errorId==`string`?n.errorId:void 0,sessionId:a,error:e})}try{let t=e.parentWritable.getWriter();try{await t.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(o)))}finally{t.releaseLock()}}catch(e){log.error(`failed to write terminal session.failed event to durable stream`,{errorId:typeof n.errorId==`string`?n.errorId:void 0,sessionId:a,error:e})}}async function runProxyInputRequestStep(e){"use step";let t=await readDurableSession(e.sessionState),n=await deserializeContext(e.serializedContext),r=n.require(ChannelKey),i=buildAdapterContext(r,n),o=n.require(ModeKey),s=n.require(BundleKey),c=hydrateDurableSession({compactionOverrides:{thresholdPercent:s.resolvedAgent.config.compaction?.thresholdPercent},durable:t,turnAgent:s.turnAgent}),l=e.parentWritable.getWriter(),u;try{u=await emitProxiedInputRequest({emit:async e=>{let t=await callAdapterEventHandler(r,e,i);await l.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(t)))},hookPayload:e.hookPayload,mode:o,session:c})}finally{l.releaseLock()}return n.set(ChannelKey,{...r,state:{...i.state}}),{serializedContext:serializeContext(n),sessionState:await writeDurableSession({session:reconcileSessionContinuationToken(n,upsertProxyInputRequests({entries:u.entries,forChildContinuationToken:e.hookPayload.childContinuationToken,session:u.session})),writable:e.sessionWritable})}}async function routeProxiedDeliverStep(e){"use step";let t=await readDurableSession(e.sessionState),n=routeDeliverPayload({payload:e.payload,state:t.state}),{resumeHook:r}=await import(`#compiled/@workflow/core/runtime.js`);for(let t of n.forChildren)await r(t.childContinuationToken,{auth:e.auth,kind:`deliver`,payloads:[t.payload]});return{remainder:n.forSelf}}async function dispatchTurnStep(e){"use step";return{runId:(await startWorkflowPreferLatest(turnWorkflow,[e])).runId}}export{dispatchTurnStep,emitTerminalSessionFailureStep,reconcileSessionContinuationToken,routeProxiedDeliverStep,runProxyInputRequestStep,turnStep};
1
+ import{createLogger,formatError}from"#internal/logging.js";import{AuthKey,CapabilitiesKey,ContinuationTokenKey,ModeKey}from"#context/keys.js";import{createAuthorizationCompletedEvent,createSessionFailedEvent,encodeMessageStreamEvent,timestampHandleMessageStreamEvent}from"#protocol/message.js";import{callAdapterEventHandler,defaultDeliverResult}from"#channel/adapter.js";import{getHarnessEmissionState,isHarnessBetweenTurns}from"#harness/emission.js";import{BundleKey,ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{readDurableSession,writeDurableSession}from"#execution/durable-session-store.js";import{hydrateDurableSession,refreshSessionFromTurnAgent}from"#execution/session.js";import{deserializeContext,serializeContext}from"#context/serialize.js";import{buildAdapterContext}from"#channel/adapter-context.js";import{getPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{createWorkflowRuntime,startWorkflowPreferLatest}from"#execution/workflow-runtime.js";import{upsertProxyInputRequests}from"#harness/proxy-input-requests.js";import{coalesceTurnInputs}from"#harness/messages.js";import{dispatchStreamEventHooks,runHookLifecycleStep}from"#context/hook-lifecycle.js";import{runStep}from"#context/run-step.js";import{hasPendingInputBatch}from"#harness/input-requests.js";import{getRuntimeActionRequestKey}from"#runtime/actions/keys.js";import{CallbackBaseUrlKey,PendingAuthorizationResultKey,getPendingAuthorization}from"#harness/authorization.js";import{createExecutionNodeStep}from"#execution/node-step.js";import{emitProxiedInputRequest,routeDeliverPayload}from"#execution/subagent-hitl-proxy.js";import{turnWorkflow}from"#execution/turn-workflow.js";async function turnStep(e){"use step";let t=await readDurableSession(e.sessionState),i=await deserializeContext(e.serializedContext),s=i.require(ChannelKey),d=i.require(BundleKey),f=hydrateDurableSession({compactionOverrides:{thresholdPercent:d.resolvedAgent.config.compaction?.thresholdPercent},durable:t,turnAgent:d.turnAgent});try{let{getWorkflowMetadata:e}=await import(`#compiled/@workflow/core/index.js`),t=e();typeof t.url==`string`&&i.set(CallbackBaseUrlKey,t.url.replace(/\/$/,``))}catch{}let p=getPendingAuthorization(t.state),m;if(p&&e.input?.kind===`deliver`){let t=[],n=[];for(let r of e.input.payloads){let e=r.authorizationCallback;if(e){let n=p.challenges.find(t=>t.name===e.connectionName);n&&t.push({name:n.name,state:n.state,callback:e.request,hookUrl:n.hookUrl})}else n.push(r)}t.length>0&&(i.set(PendingAuthorizationResultKey,t),m=t.map(e=>e.name),e=n.length>0?{...e,input:{...e.input,payloads:n}}:{...e,input:void 0})}e.input?.kind===`deliver`&&e.input.auth!==void 0&&i.set(AuthKey,e.input.auth??null);let h=buildAdapterContext(s,i),g;if(e.input?.kind===`deliver`){let t=[];for(let n of e.input.payloads){let e=s.deliver?await s.deliver(n,h):defaultDeliverResult(n);e!=null&&t.push(e)}g=t.length===0?void 0:t.reduce(coalesceTurnInputs)}else e.input?.kind===`runtime-action-result`&&(g={runtimeActionResults:e.input.results});if(e.input?.kind===`deliver`){let e={...s,state:{...h.state}};i.set(ChannelKey,e)}if(e.input?.kind===`deliver`&&g===void 0){let t=reconcileSessionContinuationToken(i,f),n=serializeContext(i),r=t===f?e.sessionState:await writeDurableSession({session:t,writable:e.sessionWritable});return{action:`park`,...derivePendingState(t),serializedContext:n,sessionState:r}}let _=e.parentWritable.getWriter(),v=i.require(BundleKey).hookRegistry,emit=async e=>{let t=await callAdapterEventHandler(s,e,h);i.set(ChannelKey,{...s,state:{...h.state}}),await _.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(t))),await dispatchStreamEventHooks({ctx:i,registry:v,event:t})};if(m){let e=getHarnessEmissionState(f.state);for(let t of m)await emit(createAuthorizationCompletedEvent({name:t,outcome:`authorized`,sequence:e.sequence,stepIndex:e.stepIndex,turnId:e.turnId}))}let y=await runStep(i,f,async e=>{let t=i.require(BundleKey),n=i.get(CapabilitiesKey),o=i.require(ModeKey),runHarnessStep=async(e,r)=>{let i=refreshSessionFromTurnAgent({compactionOverrides:{thresholdPercent:t.resolvedAgent.config.compaction?.thresholdPercent},session:e,turnAgent:t.turnAgent});return createExecutionNodeStep({capabilities:n,compiledArtifactsSource:t.compiledArtifactsSource,createRuntime:createWorkflowRuntime,emit,mode:o,node:t.graph.root})(i,r)};return g!==void 0&&isHarnessBetweenTurns(e)?runHookLifecycleStep({ctx:i,emit,input:g,mode:o,registry:t.hookRegistry,session:e},runHarnessStep):runHarnessStep(e,g)}),b=reconcileSessionContinuationToken(i,y.session),x=serializeContext(i);y={...y,session:b};let S=await writeDurableSession({session:y.session,writable:e.sessionWritable});return y.next!==null&&typeof y.next==`object`&&`done`in y.next?(await _.close(),{action:`done`,output:y.next.output,serializedContext:x,sessionState:S}):y.next===null?(_.releaseLock(),{action:`park`,...derivePendingState(y.session),serializedContext:x,sessionState:S}):(_.releaseLock(),{action:`continue`,serializedContext:x,sessionState:S})}function derivePendingState(e){let t=getPendingRuntimeActionBatch(e.state),n=getPendingAuthorization(e.state),r={authorizationNames:n?.challenges.map(e=>e.name),hasPendingAuthorization:n!==void 0,hasPendingInputBatch:hasPendingInputBatch(e.state)};return t===void 0?r:{...r,pendingRuntimeActionKeys:t.actions.map(e=>getRuntimeActionRequestKey(e))}}function reconcileSessionContinuationToken(e,t){let n=e.get(ContinuationTokenKey);return n===void 0||n===t.continuationToken?t:{...t,continuationToken:n}}const log=createLogger(`execution.workflow-entry`);async function emitTerminalSessionFailureStep(e){"use step";let n=formatError(e.error),r=typeof n.name==`string`?n.name:`WORKFLOW_EXECUTION_FAILED`,i=typeof n.message==`string`?n.message:String(e.error),a=e.serializedContext[`ash.sessionId`]??``;log.error(`workflow loop threw — emitting terminal session.failed`,{sessionId:a,errorId:typeof n.errorId==`string`?n.errorId:void 0,code:r,message:i,detail:typeof n.detail==`string`?n.detail:void 0});let o=createSessionFailedEvent({code:r,details:n,message:i,sessionId:a});try{let t=await deserializeContext(e.serializedContext),n=t.get(ChannelKey);n!==void 0&&await callAdapterEventHandler(n,o,buildAdapterContext(n,t))}catch(e){log.error(`adapter failed to handle terminal session.failed event`,{errorId:typeof n.errorId==`string`?n.errorId:void 0,sessionId:a,error:e})}try{let t=e.parentWritable.getWriter();try{await t.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(o)))}finally{t.releaseLock()}}catch(e){log.error(`failed to write terminal session.failed event to durable stream`,{errorId:typeof n.errorId==`string`?n.errorId:void 0,sessionId:a,error:e})}}async function runProxyInputRequestStep(e){"use step";let t=await readDurableSession(e.sessionState),n=await deserializeContext(e.serializedContext),r=n.require(ChannelKey),i=buildAdapterContext(r,n),o=n.require(ModeKey),s=n.require(BundleKey),c=hydrateDurableSession({compactionOverrides:{thresholdPercent:s.resolvedAgent.config.compaction?.thresholdPercent},durable:t,turnAgent:s.turnAgent}),l=e.parentWritable.getWriter(),u;try{u=await emitProxiedInputRequest({emit:async e=>{let t=await callAdapterEventHandler(r,e,i);await l.write(encodeMessageStreamEvent(timestampHandleMessageStreamEvent(t)))},hookPayload:e.hookPayload,mode:o,session:c})}finally{l.releaseLock()}return n.set(ChannelKey,{...r,state:{...i.state}}),{serializedContext:serializeContext(n),sessionState:await writeDurableSession({session:reconcileSessionContinuationToken(n,upsertProxyInputRequests({entries:u.entries,forChildContinuationToken:e.hookPayload.childContinuationToken,session:u.session})),writable:e.sessionWritable})}}async function routeProxiedDeliverStep(e){"use step";let t=await readDurableSession(e.sessionState),n=routeDeliverPayload({payload:e.payload,state:t.state}),{resumeHook:r}=await import(`#compiled/@workflow/core/runtime.js`);for(let t of n.forChildren)await r(t.childContinuationToken,{auth:e.auth,kind:`deliver`,payloads:[t.payload]});return{remainder:n.forSelf}}async function dispatchTurnStep(e){"use step";return{runId:(await startWorkflowPreferLatest(turnWorkflow,[e])).runId}}export{dispatchTurnStep,emitTerminalSessionFailureStep,reconcileSessionContinuationToken,routeProxiedDeliverStep,runProxyInputRequestStep,turnStep};
@@ -1,15 +1,16 @@
1
1
  import type { CodeModeOptions } from "experimental-ai-sdk-code-mode";
2
+ import { type HandleMessageStreamEvent } from "#protocol/message.js";
2
3
  import type { HarnessEmissionState } from "#harness/emission.js";
3
4
  import type { HarnessToolMap } from "#harness/types.js";
4
- import { type HandleMessageStreamEvent } from "#protocol/message.js";
5
- type EmitCodeModeAuthorizationEvent = (event: HandleMessageStreamEvent) => Promise<void>;
5
+ type EmitCodeModeLifecycleEvent = (event: HandleMessageStreamEvent) => Promise<void>;
6
6
  /**
7
- * Emits model-stream action events for nested tool calls replayed after
8
- * a code-mode connection authorization interruption.
7
+ * Builds code-mode lifecycle hooks that project nested host tool calls onto
8
+ * Ash's existing action event stream.
9
9
  */
10
- export declare function createCodeModeAuthorizationLifecycle(input: {
10
+ export declare function createCodeModeLifecycle(input: {
11
+ readonly emit: EmitCodeModeLifecycleEvent;
11
12
  readonly emissionState: HarnessEmissionState;
12
- readonly emit: EmitCodeModeAuthorizationEvent;
13
+ readonly skipReplayed?: boolean;
13
14
  readonly tools: HarnessToolMap;
14
15
  }): NonNullable<CodeModeOptions["lifecycle"]>;
15
16
  export {};
@@ -0,0 +1 @@
1
+ import{createLogger}from"#internal/logging.js";import{createActionResultEvent,createActionsRequestedEvent}from"#protocol/message.js";import{toErrorMessage}from"#shared/errors.js";import{parseJsonValue}from"#shared/json.js";import{createRuntimeActionRequestFromToolCall}from"#harness/runtime-actions.js";const log=createLogger(`harness.code-mode-lifecycle`);function createCodeModeLifecycle(e){return{onHookError(e,t){log.warn(`code-mode lifecycle hook failed`,{error:e,hook:t.hook})},async onNestedToolCall(t){if(e.skipReplayed===!0&&t.replayed)return;let r={input:t.input,toolCallId:t.toolCallId,toolName:t.toolName,type:`tool-call`};await e.emit(createActionsRequestedEvent({actions:[createRuntimeActionRequestFromToolCall({toolCall:r,tools:e.tools})],sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}))},async onNestedToolResult(n){if(e.skipReplayed===!0&&n.replayed||n.status===`interrupted`||n.status===`approval-required`)return;let i={callId:n.toolCallId,kind:`tool-result`,output:n.status===`rejected`?toActionJsonValue(toErrorMessage(n.error)):toActionJsonValue(n.output),toolName:n.toolName};n.status===`rejected`&&Object.assign(i,{isError:!0}),await e.emit(createActionResultEvent({result:i,sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}))}}}function toActionJsonValue(e){try{return parseJsonValue(e)}catch{return toErrorMessage(e)}}export{createCodeModeLifecycle};
@@ -1 +1 @@
1
- import{continueCodeModeApproval,getCodeModeApprovalResponse,isCodeModeApprovalInterrupt,toCodeModeApprovalMessages}from"../node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.9_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/approval-continuation.js";import{continueCodeModeInterrupt,getCodeModeInterrupt,replaceCodeModeInterruptResult,unwrapCodeModeResult}from"../node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.9_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/interrupt-continuation.js";import"../node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.9_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/index.js";import{createErrorId,createLogger,formatError,logError,recordErrorOnSpan}from"#internal/logging.js";import{createActionResultEvent,createActionsRequestedEvent,createAuthorizationRequiredEvent,createCompactionCompletedEvent,createCompactionRequestedEvent,createInputRequestedEvent}from"#protocol/message.js";import{toErrorMessage}from"#shared/errors.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import{parseJsonValue}from"#shared/json.js";import{contextStorage}from"#context/container.js";import{advanceStep,emitFailedStep,emitRecoverableFailedTurn,emitStreamContent,emitTurnEpilogue,emitTurnPreamble,getHarnessEmissionState,setHarnessEmissionState}from"#harness/emission.js";import{ConnectionRegistryKey,DiscoveredConnectionToolsKey}from"#runtime/framework-tools/connection-search.js";import{ToolLoopAgent,isStepCount}from"ai";import{createRuntimeActionRequestFromToolCall,resolvePendingRuntimeActions,setPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{resolveAssistantStepText}from"#harness/messages.js";import{consumeDeferredStepInput,getApprovedTools,hasDeferredStepInput,hasStepInput,resolvePendingInput,setPendingInputBatch}from"#harness/input-requests.js";import{getHookUrl,isAuthorizationSignal,setPendingAuthorization}from"#harness/authorization.js";import{isCodeModeConnectionAuthInterrupt}from"#runtime/framework-tools/code-mode-connection-auth.js";import{resolveConnectionToolsFromState}from"#runtime/framework-tools/connection-tools.js";import{CODE_MODE_TOOL_NAME}from"#shared/code-mode.js";import{buildToolSetWithProviderTools}from"#harness/tools.js";import{ASK_QUESTION_TOOL_NAME}from"#runtime/framework-tools/ask-question.js";import{WEB_SEARCH_TOOL_DEFINITION}from"#runtime/framework-tools/web-search.js";import{extractQuestionInputRequests,extractToolApprovalInputRequests}from"#harness/input-extraction.js";import{applyLastToolCacheBreakpoint,detectPromptCachePath,getAnthropicCacheMarker}from"#harness/prompt-cache.js";import{resolveFrameworkToolFromUpstreamType,resolveGatewayPinForWebSearchBackend,resolveWebSearchBackend}from"#harness/provider-tools.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{resolveConnectionPrincipal}from"#runtime/connections/principal.js";import{supportsInteractiveAuthorization}from"#runtime/connections/types.js";import{hydrateSandboxAttachments,stageAttachmentsToSandbox}from"#harness/attachment-staging.js";import{applyCodeModeToToolSet,buildCodeModeHostTools,createAshCodeModeOptions,isCodeModeEnabled}from"#harness/code-mode.js";import{clearPendingCodeModeApproval,getPendingCodeModeApproval,replaceCodeModeApprovalInterruptResult,setPendingCodeModeApproval}from"#harness/code-mode-approval.js";import{compactMessages,getInputTokenCount,resolveCompactionModel,shouldCompact}from"#harness/compaction.js";import{getInstrumentationConfig}from"#harness/instrumentation-config.js";import{clearPendingCodeModeConnectionAuth,getPendingCodeModeConnectionAuth,setPendingCodeModeConnectionAuth}from"#harness/code-mode-connection-auth-state.js";import{classifyModelCallError,extractModelCallErrorDetails,extractUnsupportedProviderToolTypes,summarizeKnownModelCallConfigError,summarizeKnownModelCallRequestError}from"#harness/model-call-error.js";import{ensureOtelIntegration}from"#harness/otel-integration.js";import{buildStepHooks,emitStepActions,isInvalidToolCall}from"#harness/step-hooks.js";import{pruneToolResults}from"#harness/tool-result-pruning.js";const environment=process.env.NODE_ENV??`unknown`,ashVersion=resolveInstalledPackageInfo().version,log=createLogger(`harness.tool-loop`);function logToolExecutionError(e){e.toolOutput.type===`tool-error`&&logError(log,`tool execution failed`,e.toolOutput.error,{toolName:e.toolCall.toolName,toolCallId:e.toolCall.toolCallId})}function enrichTelemetry(e,t){if(e!==void 0)return{functionId:e.functionId??t,isEnabled:!0,recordInputs:e.recordInputs??!0,recordOutputs:e.recordOutputs??!0}}function buildTelemetryRuntimeContext(e,t){if(e!==void 0)return{...e.metadata,"ash.continuation_token":t.continuationToken,"ash.environment":environment,"ash.session.id":t.sessionId,"ash.version":ashVersion}}function resolveGatewayPinForStep(e){if(e.cachePath.kind!==`gateway-auto`||e.tools[WEB_SEARCH_TOOL_DEFINITION.name]===void 0)return;let t=resolveWebSearchBackend(e.modelReference);return t===null?void 0:resolveGatewayPinForWebSearchBackend(t)??void 0}function buildGatewayAttributionHeaders(e,t){if(typeof e!=`string`)return;let n=t?.agentName??t?.agentId,r=process.env.VERCEL_PROJECT_PRODUCTION_URL||process.env.VERCEL_URL,i=r?`https://${r}`:void 0;if(!n&&!i)return;let a={};return n&&(a[`x-title`]=n),i&&(a[`http-referer`]=i),a}const TURN_TRACE_STATE_KEY=`ash.harness.turnTrace`;function getTurnTraceState(e){return e.state?.[TURN_TRACE_STATE_KEY]}function setTurnTraceState(e,t){let n={traceId:t.traceId,spanId:t.spanId,traceFlags:t.traceFlags};return{...e,state:{...e.state,[TURN_TRACE_STATE_KEY]:n}}}function resolveStepOtelContext(e,t,n){if(t)return trace.setSpan(context.active(),t);if(e){let e=getTurnTraceState(n);if(e){let t=trace.wrapSpanContext({traceId:e.traceId,spanId:e.spanId,traceFlags:e.traceFlags});return trace.setSpan(context.active(),t)}}}function createToolLoopHarness(e){let t=e.emit,n=getInstrumentationConfig();n!==void 0&&ensureOtelIntegration();let r=n===void 0?void 0:trace.getTracer(`ash`),i=e.runtimeIdentity?.agentName;async function runStep(e,t){let a;if(r&&hasStepInput(t)){let t=n?.functionId??i,o={"ash.version":ashVersion,"ash.environment":environment,"ash.session.id":e.sessionId,"ash.continuation_token":e.continuationToken};t&&(o[`ai.telemetry.functionId`]=t),a=r.startSpan(`ai.ash.turn`,{attributes:o})}let o=resolveStepOtelContext(r,a,e),executeStep=()=>executeStepBody(e,t,a);try{return o?await context.with(o,executeStep):await executeStep()}finally{a?.end()}}async function executeStepBody(r,a,o){let s=r;o&&(s=setTurnTraceState(s,o.spanContext()));let l=getHarnessEmissionState(s.state),u=consumeDeferredStepInput({input:a,session:s});s=u.session;let p=await resolvePendingRuntimeActions({emit:t,session:s,stepInput:u.input});if(p.outcome===`unresolved`)return{next:null,session:p.session};s=p.session;let m=resolvePendingInput({history:p.messages,resolveApprovalKey:resolveApprovalKeyFromTools(e.tools),session:s,stepInput:u.input});if(m.outcome===`unresolved`)return{next:null,session:m.session};t&&hasStepInput(a)&&(l=await emitTurnPreamble(t,a??{},l,e.runtimeIdentity),s=setHarnessEmissionState(s,l),o&&o.setAttribute(`ash.turn.id`,l.turnId)),s=m.session;let h=m.messages,g=await continuePendingCodeModeConnectionAuth({capabilities:e.capabilities,config:e,emit:t,emissionState:l,messages:h,runStep,session:s});if(g!==null)return g;let _=await continuePendingCodeModeApproval({capabilities:e.capabilities,config:e,emit:t,emissionState:l,messages:h,runStep,session:s});if(_!==null)return _;if(u.input?.message!==void 0&&!m.deferredMessage){let e=await stageAttachmentsToSandbox(u.input.message);h.push({content:e,role:`user`})}let v=await e.resolveModel(s.agent.modelReference),b=detectPromptCachePath(v),x=b.kind===`anthropic-direct`?getAnthropicCacheMarker():void 0,S=buildGatewayAttributionHeaders(v,e.runtimeIdentity);({messages:h,session:s}=await maybeCompact({emit:t,emissionState:l,headers:S,messages:h,model:v,onCompaction:e.onCompaction,resolveModel:e.resolveModel,session:s,telemetry:enrichTelemetry(n,i)??void 0}));let w=getApprovedTools(s),O=contextStorage.getStore(),A=O?.get(ConnectionRegistryKey),j=O?.get(DiscoveredConnectionToolsKey),M=await hydrateSandboxAttachments(h),N=u.input?.modelContext,P=[],F=[];for(let e of M)e.role===`system`?P.push(e):F.push(e);if(N!==void 0)for(let e of N)e.role===`system`?P.push(e):F.push(e);let I=F,runOneModelCall=async r=>{let a=isCodeModeEnabled(),o=await buildToolSetWithProviderTools({approvedTools:w,capabilities:e.capabilities,disabledProviderTools:r.disabledProviderTools,modelReference:s.agent.modelReference,tools:e.tools});if(A!==void 0&&j!==void 0){let e=await resolveConnectionToolsFromState(A,j,{approvedTools:w,authMode:a?`code-mode`:`direct`,existingToolNames:new Set(Object.keys(o))});Object.assign(o,e)}let c=a?applyCodeModeToToolSet({harnessTools:e.tools,lifecycle:t===void 0?void 0:createCodeModeLifecycle({emit:t,emissionState:l,tools:e.tools}),tools:o}).modelTools:o,u=x?applyLastToolCacheBreakpoint(c,x):c,f=resolveGatewayPinForStep({cachePath:b,modelReference:s.agent.modelReference,tools:u}),p=r.extraSystemNote?[{role:`system`,content:r.extraSystemNote}]:[],m=s.agent.system?[{role:`system`,content:s.agent.system}]:[],h=P.length>0||p.length>0?[...p,...m,...P]:s.agent.system||void 0,g=buildStepHooks({cachePath:b,emit:t,emissionState:l,emitStepStarted:r.suppressStepStartedEmission!==!0,gatewayPinProvider:f,marker:x,session:s}),_=new ToolLoopAgent({headers:S,instructions:h,model:v,onToolExecutionEnd:logToolExecutionError,onError(e){logError(log,`tool-loop stream error`,e.error)},onStepFinish:g.onStepFinish,prepareStep:g.prepareStep,runtimeContext:buildTelemetryRuntimeContext(n,s),stopWhen:isStepCount(1),telemetry:enrichTelemetry(n,i),tools:u});return runModelCallWithRetries(async()=>{if(t){let n=await _.stream({messages:I}),{inlineActionResultCallIds:r,inlineToolResultParts:i}=await emitStreamContent(t,l,n.fullStream),a=await g.stepResult;return await emitStepActions(t,l,a,{excludedActionToolNames:new Set([ASK_QUESTION_TOOL_NAME,CODE_MODE_TOOL_NAME]),inlineActionResultCallIds:r,tools:e.tools}),i.length>0?{content:a.content,finishReason:a.finishReason,response:{...a.response,messages:[{role:`tool`,content:[...i]},...a.response.messages]},text:a.text,toolCalls:a.toolCalls,toolResults:a.toolResults,usage:a.usage}:a}return await _.generate({messages:I}),await g.stepResult},{sessionId:s.sessionId,turnId:l.turnId})},L;try{L=await runOneModelCall({})}catch(e){let n=await attemptUnsupportedProviderToolRecovery({error:e,runOneModelCall,sessionId:s.sessionId,turnId:l.turnId});if(n.outcome===`recovered`)L=n.result;else{let e=n.error;if(o&&recordErrorOnSpan(o,e),!t)throw e;let r=classifyModelCallError(e),i=createErrorId(),a=r===`terminal`?summarizeKnownModelCallConfigError(e):null,u=a===null?summarizeKnownModelCallRequestError(e):null,d=a?.message??u?.message??toErrorMessage(e),p=extractModelCallErrorDetails(e),m=buildModelCallFailureDetails({configSummary:a,error:e,errorId:i,modelCallDetails:p,requestSummary:u}),h=buildModelCallFailureLogFields({error:e,errorId:i,modelCallDetails:p,requestSummary:u,sessionId:s.sessionId,turnId:l.turnId});return r===`terminal`?(a===null?log.error(u?.message??`model call failed terminally`,h):log.error(`${a.name}: ${a.message}`,{errorId:i,sessionId:s.sessionId,turnId:l.turnId}),await emitFailedStep(t,l,{code:`MODEL_CALL_FAILED`,details:m,message:d,sessionId:s.sessionId}),{next:{done:!0,output:``},session:s}):(log.error(u?.message??`model call failed — parking session for retry by the user`,h),l=await emitRecoverableFailedTurn(t,l,{code:`MODEL_CALL_FAILED`,details:m,message:d}),{next:null,session:setHarnessEmissionState(s,l)})}}return handleStepResult({config:e,emit:t,emissionState:l,promptMessages:h,result:L,runStep,session:s})}return runStep}function buildModelCallFailureDetails(e){let{configSummary:t,error:n,errorId:r,modelCallDetails:i,requestSummary:a}=e;return t===null?a===null?{...formatError(n,r),...i}:{errorId:r,message:toErrorMessage(n),name:a.name,...i}:{errorId:r,message:t.message,name:t.name,...i}}function buildModelCallFailureLogFields(e){let t={errorId:e.errorId,sessionId:e.sessionId,turnId:e.turnId};return e.requestSummary===null?{...t,error:e.error}:{...t,details:e.modelCallDetails}}async function attemptUnsupportedProviderToolRecovery(e){let t=extractUnsupportedProviderToolTypes(e.error);if(t.length===0)return{outcome:`failed`,error:e.error};let n=[];for(let e of t){let t=resolveFrameworkToolFromUpstreamType(e);t!==null&&!n.includes(t)&&n.push(t)}if(n.length===0)return{outcome:`failed`,error:e.error};log.warn(`disabling unsupported provider tool(s); retrying step once`,{disabled:n,sessionId:e.sessionId,turnId:e.turnId,upstreamTypes:t});try{return{outcome:`recovered`,result:await e.runOneModelCall({disabledProviderTools:new Set(n),extraSystemNote:buildDisabledToolNote(n),suppressStepStartedEmission:!0})}}catch(e){return{outcome:`failed`,error:e}}}function buildDisabledToolNote(e){let t=e.join(`, `);return`The following ${e.length===1?`tool is`:`tools are`} not available with the current model and has been removed: ${t}. Proceed using the remaining tools or your training knowledge.`}function createCodeModeLifecycle(e){return{onHookError(e,t){log.warn(`code-mode lifecycle hook failed`,{error:e,hook:t.hook})},async onNestedToolCall(t){let n={input:t.input,toolCallId:t.toolCallId,toolName:t.toolName,type:`tool-call`};await e.emit(createActionsRequestedEvent({actions:[createRuntimeActionRequestFromToolCall({toolCall:n,tools:e.tools})],sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}))},async onNestedToolResult(t){if(t.status===`interrupted`||t.status===`approval-required`)return;let n={callId:t.toolCallId,kind:`tool-result`,output:t.status===`rejected`?toActionJsonValue(toErrorMessage(t.error)):toActionJsonValue(t.output),toolName:t.toolName};t.status===`rejected`&&(Object.assign(n,{isError:!0}),logError(log,`code-mode nested tool failed`,t.error,{toolName:t.toolName,toolCallId:t.toolCallId})),await e.emit(createActionResultEvent({result:n,sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}))}}}function toActionJsonValue(e){try{return parseJsonValue(e)}catch{return toErrorMessage(e)}}async function handleStepResult(e){let{config:t,emit:r,promptMessages:i,result:o,runStep:s}=e,{emissionState:c,session:l}=e,u=o.response.messages,d=resolveAssistantStepText(u,o.text),f={...l,compaction:createNextCompactionConfig(l.compaction,i,o)},p=getCodeModeInterrupt(o);if(p!==void 0){if(isCodeModeConnectionAuthInterrupt(p))return parkOnCodeModeConnectionAuth({baseSession:f,config:t,emit:r,emissionState:c,interrupt:p,promptMessages:i,responseMessages:u});if(isCodeModeApprovalInterrupt(p))return parkOnCodeModeApproval({baseSession:f,config:t,emit:r,emissionState:c,interrupt:p,promptMessages:i,responseMessages:u})}let m=extractToolApprovalInputRequests({content:o.content??[]}),g=new Set(m.map(e=>e.action.callId)),_=extractQuestionInputRequests({toolCalls:o.toolCalls,excludedCallIds:g}),y=[...m,..._],b=(o.toolCalls??[]).filter(e=>!isInvalidToolCall(e)).filter(e=>t.tools.get(e.toolName)?.runtimeAction!==void 0).map(e=>createRuntimeActionRequestFromToolCall({toolCall:e,tools:t.tools}));if(b.length>0)return{next:null,session:setPendingRuntimeActionBatch({actions:b,event:{sequence:c.sequence,stepIndex:c.stepIndex,turnId:c.turnId},responseMessages:u,session:{...f,history:[...i]}})};if(y.length>0){let e=setPendingInputBatch({requests:y,responseMessages:u,session:{...f,history:[...i]}});return r&&(await r(createInputRequestedEvent({requests:y,sequence:c.sequence,stepIndex:c.stepIndex,turnId:c.turnId})),t.mode===`conversation`&&(c=await emitTurnEpilogue(r,c,t.mode),e=setHarnessEmissionState(e,c))),{next:null,session:e}}let x=(o.toolResults??[]).find(e=>isAuthorizationSignal(e.output));if(x&&isAuthorizationSignal(x.output)){let{challenges:e}=x.output;if(r)for(let t of e)await r(createAuthorizationRequiredEvent({authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:c.sequence,stepIndex:c.stepIndex,turnId:c.turnId}));return{next:null,session:setHarnessEmissionState({...f,history:[...i],state:setPendingAuthorization(f.state,{challenges:e})},c)}}let S=pruneToolResults(i,t.retentionPolicies),C=S!==i,T=f.compaction;C&&T.lastKnownInputTokens!==void 0&&(T={recentWindowSize:T.recentWindowSize,threshold:T.threshold});let E=[...S,...u],D={...f,compaction:T,history:E},k=u.at(-1)?.role===`tool`||hasDeferredStepInput(D);return r&&(c=k?advanceStep(c):await emitTurnEpilogue(r,c,t.mode),D=setHarnessEmissionState(D,c)),k?{next:s,session:D}:{next:t.mode===`task`?{done:!0,output:d??``}:null,session:D}}async function continuePendingCodeModeApproval(r){let i=getPendingCodeModeApproval(r.session.state);if(i===void 0)return null;let a=getCodeModeApprovalResponse([...r.messages],i.interrupt);if(a===void 0)return{next:null,session:r.session};let o=contextStorage.getStore(),c=await buildCodeModeHostTools({approvedTools:getApprovedTools(r.session),capabilities:r.capabilities,discovered:o?.get(DiscoveredConnectionToolsKey),registry:o?.get(ConnectionRegistryKey),tools:r.config.tools}),l;try{l=await continueCodeModeApproval({approvalResponse:a,interrupt:i.interrupt,options:createAshCodeModeOptions(),tools:c})}catch(e){logError(log,`code-mode approval continuation failed`,e),l={error:`code_mode_continuation_failed`,message:toErrorMessage(e),retryable:!1}}let u=unwrapCodeModeResult(l),f=u.status===`interrupted`?u.interrupt:u.output,p=replaceCodeModeApprovalInterruptResult([...r.session.history,...i.responseMessages],i.interrupt,f),m=clearPendingCodeModeApproval({...r.session,history:p});if(u.status===`interrupted`){if(isCodeModeConnectionAuthInterrupt(u.interrupt)){let e=r.session.history.length,t=p.slice(0,e),n=p.slice(e);return m={...m,history:t},parkOnCodeModeConnectionAuth({baseSession:m,config:r.config,emit:r.emit,emissionState:r.emissionState,interrupt:u.interrupt,promptMessages:t,responseMessages:n})}if(isCodeModeApprovalInterrupt(u.interrupt)){let e=r.session.history.length,t=p.slice(0,e),n=p.slice(e);return m={...m,history:t},parkOnCodeModeApproval({baseSession:m,config:r.config,emit:r.emit,emissionState:r.emissionState,interrupt:u.interrupt,promptMessages:t,responseMessages:n})}}return{next:r.runStep,session:m}}async function parkOnCodeModeConnectionAuth(e){let{connectionName:t}=e.interrupt.payload,n=(contextStorage.getStore()?.get(ConnectionRegistryKey))?.getConnections().find(e=>e.connectionName===t),r=n?.authorization&&supportsInteractiveAuthorization(n.authorization)?n.authorization:void 0,i=[];if(r){let e=getHookUrl(t);if(e){let a=resolveConnectionPrincipal(t,r),{challenge:o,state:s}=await r.startAuthorization({callbackUrl:e,connection:{url:n?.url??``},principal:a});i.push({name:t,challenge:o,hookUrl:e,state:s})}}if(e.emit)for(let t of i)await e.emit(createAuthorizationRequiredEvent({authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}));return{next:null,session:setPendingCodeModeConnectionAuth({interrupt:e.interrupt,responseMessages:e.responseMessages,session:{...e.baseSession,history:[...e.promptMessages],state:setPendingAuthorization(e.baseSession.state,{challenges:i})}})}}async function continuePendingCodeModeConnectionAuth(e){let t=getPendingCodeModeConnectionAuth(e.session.state);if(t===void 0)return null;let r=contextStorage.getStore(),a=new Set,{connectionName:c}=t.interrupt.payload;a.add(c);let l=await buildCodeModeHostTools({approvedTools:getApprovedTools(e.session),capabilities:e.capabilities,codeModeMetadataOnlyConnectionNames:a,discovered:r?.get(DiscoveredConnectionToolsKey),registry:r?.get(ConnectionRegistryKey),tools:e.config.tools}),u=e.emit===void 0?void 0:createCodeModeLifecycle({emit:e.emit,emissionState:e.emissionState,tools:e.config.tools}),f;try{f=await continueCodeModeInterrupt({interrupt:t.interrupt,resolution:{status:`authorized`},tools:l,options:createAshCodeModeOptions({lifecycle:u})})}catch(e){logError(log,`code-mode interrupt continuation failed`,e),f={error:`code_mode_continuation_failed`,message:toErrorMessage(e),retryable:!1}}let p=unwrapCodeModeResult(f),m=p.status===`interrupted`?p.interrupt:p.output,h=replaceCodeModeInterruptResult([...e.session.history,...t.responseMessages],t.interrupt.pendingContinuation,m),g=clearPendingCodeModeConnectionAuth({...e.session,history:h});if(p.status===`interrupted`){if(isCodeModeConnectionAuthInterrupt(p.interrupt)){let t=e.session.history.length,n=h.slice(0,t),r=h.slice(t);return g={...g,history:n},parkOnCodeModeConnectionAuth({baseSession:g,config:e.config,emit:e.emit,emissionState:e.emissionState,interrupt:p.interrupt,promptMessages:n,responseMessages:r})}if(isCodeModeApprovalInterrupt(p.interrupt)){let t=e.session.history.length,n=h.slice(0,t),r=h.slice(t);return g={...g,history:n},parkOnCodeModeApproval({baseSession:g,config:e.config,emit:e.emit,emissionState:e.emissionState,interrupt:p.interrupt,promptMessages:n,responseMessages:r})}}return{next:e.runStep,session:g}}async function parkOnCodeModeApproval(e){let t=toCodeModeApprovalMessages(e.interrupt),n=extractToolApprovalInputRequests({content:extractAssistantContent(t)}),i=setPendingInputBatch({requests:n,responseMessages:t,session:setPendingCodeModeApproval({interrupt:e.interrupt,responseMessages:e.responseMessages,session:{...e.baseSession,history:[...e.promptMessages]}})});if(e.emit&&(await e.emit(createInputRequestedEvent({requests:n,sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId})),e.config.mode===`conversation`)){let t=await emitTurnEpilogue(e.emit,e.emissionState,e.config.mode);i=setHarnessEmissionState(i,t)}return{next:null,session:i}}function extractAssistantContent(e){let t=[];for(let n of e)n.role===`assistant`&&Array.isArray(n.content)&&t.push(...n.content);return t}function createNextCompactionConfig(e,t,n){let r={recentWindowSize:e.recentWindowSize,threshold:e.threshold};return n.usage?.inputTokens!==void 0&&(r.lastKnownInputTokens=n.usage.inputTokens,r.lastKnownPromptMessageCount=t.length),r}async function maybeCompact(e){let{emit:t,emissionState:n}=e,r=e.messages,i=e.session;if(!shouldCompact(r,i.compaction))return{messages:r,session:i};let a=await resolveCompactionModel({compactionModelReference:i.agent.compactionModelReference,model:e.model,modelReference:i.agent.modelReference,resolveModel:e.resolveModel});if(t&&await t(createCompactionRequestedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId,usageInputTokens:getInputTokenCount(r,i.compaction)})),r=await compactMessages(r,a.model,i.compaction,a.providerOptions,e.telemetry,e.headers),e.onCompaction){let t=await e.onCompaction(i);i=t.session;for(let e of t.messages)r.push(e)}return t&&await t(createCompactionCompletedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId})),{messages:r,session:i}}function resolveApprovalKeyFromTools(e){return t=>{let n=e.get(t.action.toolName);if(n?.approvalKey!==void 0)return n.approvalKey(t.action.input)}}async function runModelCallWithRetries(e,t){for(let n=1;;n++)try{return await e()}catch(e){if(n===3||classifyModelCallError(e)!==`retry`)throw e;let r=500*2**(n-1)+Math.floor(Math.random()*250);log.warn(`model call failed transiently — retrying`,{attempt:n,delayMs:r,sessionId:t.sessionId,turnId:t.turnId,error:e}),await new Promise(e=>setTimeout(e,r))}}export{createToolLoopHarness};
1
+ import{continueCodeModeApproval,getCodeModeApprovalResponse,isCodeModeApprovalInterrupt,toCodeModeApprovalMessages}from"../node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.9_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/approval-continuation.js";import{continueCodeModeInterrupt,getCodeModeInterrupt,replaceCodeModeInterruptResult,unwrapCodeModeResult}from"../node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.9_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/interrupt-continuation.js";import"../node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.9_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/index.js";import{createErrorId,createLogger,formatError,logError,recordErrorOnSpan}from"#internal/logging.js";import{createAuthorizationRequiredEvent,createCompactionCompletedEvent,createCompactionRequestedEvent,createInputRequestedEvent}from"#protocol/message.js";import{toErrorMessage}from"#shared/errors.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import"#shared/json.js";import{contextStorage}from"#context/container.js";import{advanceStep,emitFailedStep,emitRecoverableFailedTurn,emitStreamContent,emitTurnEpilogue,emitTurnPreamble,getHarnessEmissionState,setHarnessEmissionState}from"#harness/emission.js";import{ConnectionRegistryKey,DiscoveredConnectionToolsKey}from"#runtime/framework-tools/connection-search.js";import{ToolLoopAgent,isStepCount}from"ai";import{createRuntimeActionRequestFromToolCall,resolvePendingRuntimeActions,setPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{resolveAssistantStepText}from"#harness/messages.js";import{consumeDeferredStepInput,getApprovedTools,hasDeferredStepInput,hasStepInput,resolvePendingInput,setPendingInputBatch}from"#harness/input-requests.js";import{getHookUrl,isAuthorizationSignal,setPendingAuthorization}from"#harness/authorization.js";import{isCodeModeConnectionAuthInterrupt}from"#runtime/framework-tools/code-mode-connection-auth.js";import{resolveConnectionToolsFromState}from"#runtime/framework-tools/connection-tools.js";import{CODE_MODE_TOOL_NAME}from"#shared/code-mode.js";import{buildToolSetWithProviderTools}from"#harness/tools.js";import{ASK_QUESTION_TOOL_NAME}from"#runtime/framework-tools/ask-question.js";import{WEB_SEARCH_TOOL_DEFINITION}from"#runtime/framework-tools/web-search.js";import{extractQuestionInputRequests,extractToolApprovalInputRequests}from"#harness/input-extraction.js";import{applyLastToolCacheBreakpoint,detectPromptCachePath,getAnthropicCacheMarker}from"#harness/prompt-cache.js";import{resolveFrameworkToolFromUpstreamType,resolveGatewayPinForWebSearchBackend,resolveWebSearchBackend}from"#harness/provider-tools.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{resolveConnectionPrincipal}from"#runtime/connections/principal.js";import{supportsInteractiveAuthorization}from"#runtime/connections/types.js";import{hydrateSandboxAttachments,stageAttachmentsToSandbox}from"#harness/attachment-staging.js";import{applyCodeModeToToolSet,buildCodeModeHostTools,createAshCodeModeOptions,isCodeModeEnabled}from"#harness/code-mode.js";import{createCodeModeLifecycle}from"#harness/code-mode-lifecycle.js";import{clearPendingCodeModeApproval,getPendingCodeModeApproval,replaceCodeModeApprovalInterruptResult,setPendingCodeModeApproval}from"#harness/code-mode-approval.js";import{compactMessages,getInputTokenCount,resolveCompactionModel,shouldCompact}from"#harness/compaction.js";import{getInstrumentationConfig}from"#harness/instrumentation-config.js";import{clearPendingCodeModeConnectionAuth,getPendingCodeModeConnectionAuth,setPendingCodeModeConnectionAuth}from"#harness/code-mode-connection-auth-state.js";import{classifyModelCallError,extractModelCallErrorDetails,extractUnsupportedProviderToolTypes,summarizeKnownModelCallConfigError,summarizeKnownModelCallRequestError}from"#harness/model-call-error.js";import{ensureOtelIntegration}from"#harness/otel-integration.js";import{buildStepHooks,emitStepActions,isInvalidToolCall}from"#harness/step-hooks.js";import{pruneToolResults}from"#harness/tool-result-pruning.js";const environment=process.env.NODE_ENV??`unknown`,ashVersion=resolveInstalledPackageInfo().version,log=createLogger(`harness.tool-loop`);function logToolExecutionError(e){e.toolOutput.type===`tool-error`&&logError(log,`tool execution failed`,e.toolOutput.error,{toolName:e.toolCall.toolName,toolCallId:e.toolCall.toolCallId})}function enrichTelemetry(e,t){if(e!==void 0)return{functionId:e.functionId??t,isEnabled:!0,recordInputs:e.recordInputs??!0,recordOutputs:e.recordOutputs??!0}}function buildTelemetryRuntimeContext(e,t){if(e!==void 0)return{...e.metadata,"ash.continuation_token":t.continuationToken,"ash.environment":environment,"ash.session.id":t.sessionId,"ash.version":ashVersion}}function resolveGatewayPinForStep(e){if(e.cachePath.kind!==`gateway-auto`||e.tools[WEB_SEARCH_TOOL_DEFINITION.name]===void 0)return;let t=resolveWebSearchBackend(e.modelReference);return t===null?void 0:resolveGatewayPinForWebSearchBackend(t)??void 0}function buildGatewayAttributionHeaders(e,t){if(typeof e!=`string`)return;let n=t?.agentName??t?.agentId,r=process.env.VERCEL_PROJECT_PRODUCTION_URL||process.env.VERCEL_URL,i=r?`https://${r}`:void 0;if(!n&&!i)return;let a={};return n&&(a[`x-title`]=n),i&&(a[`http-referer`]=i),a}const TURN_TRACE_STATE_KEY=`ash.harness.turnTrace`;function getTurnTraceState(e){return e.state?.[TURN_TRACE_STATE_KEY]}function setTurnTraceState(e,t){let n={traceId:t.traceId,spanId:t.spanId,traceFlags:t.traceFlags};return{...e,state:{...e.state,[TURN_TRACE_STATE_KEY]:n}}}function resolveStepOtelContext(e,t,n){if(t)return trace.setSpan(context.active(),t);if(e){let e=getTurnTraceState(n);if(e){let t=trace.wrapSpanContext({traceId:e.traceId,spanId:e.spanId,traceFlags:e.traceFlags});return trace.setSpan(context.active(),t)}}}function createToolLoopHarness(e){let t=e.emit,n=getInstrumentationConfig();n!==void 0&&ensureOtelIntegration();let r=n===void 0?void 0:trace.getTracer(`ash`),i=e.runtimeIdentity?.agentName;async function runStep(e,t){let a;if(r&&hasStepInput(t)){let t=n?.functionId??i,o={"ash.version":ashVersion,"ash.environment":environment,"ash.session.id":e.sessionId,"ash.continuation_token":e.continuationToken};t&&(o[`ai.telemetry.functionId`]=t),a=r.startSpan(`ai.ash.turn`,{attributes:o})}let o=resolveStepOtelContext(r,a,e),executeStep=()=>executeStepBody(e,t,a);try{return o?await context.with(o,executeStep):await executeStep()}finally{a?.end()}}async function executeStepBody(r,a,o){let s=r;o&&(s=setTurnTraceState(s,o.spanContext()));let l=getHarnessEmissionState(s.state),u=consumeDeferredStepInput({input:a,session:s});s=u.session;let p=await resolvePendingRuntimeActions({emit:t,session:s,stepInput:u.input});if(p.outcome===`unresolved`)return{next:null,session:p.session};s=p.session;let m=resolvePendingInput({history:p.messages,resolveApprovalKey:resolveApprovalKeyFromTools(e.tools),session:s,stepInput:u.input});if(m.outcome===`unresolved`)return{next:null,session:m.session};t&&hasStepInput(a)&&(l=await emitTurnPreamble(t,a??{},l,e.runtimeIdentity),s=setHarnessEmissionState(s,l),o&&o.setAttribute(`ash.turn.id`,l.turnId)),s=m.session;let h=m.messages,g=await continuePendingCodeModeConnectionAuth({capabilities:e.capabilities,config:e,emit:t,emissionState:l,messages:h,runStep,session:s});if(g!==null)return g;let v=await continuePendingCodeModeApproval({capabilities:e.capabilities,config:e,emit:t,emissionState:l,messages:h,runStep,session:s});if(v!==null)return v;if(u.input?.message!==void 0&&!m.deferredMessage){let e=await stageAttachmentsToSandbox(u.input.message);h.push({content:e,role:`user`})}let y=await e.resolveModel(s.agent.modelReference),x=detectPromptCachePath(y),T=x.kind===`anthropic-direct`?getAnthropicCacheMarker():void 0,A=buildGatewayAttributionHeaders(y,e.runtimeIdentity);({messages:h,session:s}=await maybeCompact({emit:t,emissionState:l,headers:A,messages:h,model:y,onCompaction:e.onCompaction,resolveModel:e.resolveModel,session:s,telemetry:enrichTelemetry(n,i)??void 0}));let j=getApprovedTools(s),M=contextStorage.getStore(),N=M?.get(ConnectionRegistryKey),P=M?.get(DiscoveredConnectionToolsKey),F=await hydrateSandboxAttachments(h),I=u.input?.modelContext,L=[],R=[];for(let e of F)e.role===`system`?L.push(e):R.push(e);if(I!==void 0)for(let e of I)e.role===`system`?L.push(e):R.push(e);let z=R,runOneModelCall=async r=>{let a=isCodeModeEnabled(),o=await buildToolSetWithProviderTools({approvedTools:j,capabilities:e.capabilities,disabledProviderTools:r.disabledProviderTools,modelReference:s.agent.modelReference,tools:e.tools});if(N!==void 0&&P!==void 0){let e=await resolveConnectionToolsFromState(N,P,{approvedTools:j,authMode:a?`code-mode`:`direct`,existingToolNames:new Set(Object.keys(o))});Object.assign(o,e)}let c=a?applyCodeModeToToolSet({harnessTools:e.tools,lifecycle:t===void 0?void 0:createCodeModeLifecycle({emit:t,emissionState:l,tools:e.tools}),tools:o}).modelTools:o,u=T?applyLastToolCacheBreakpoint(c,T):c,f=resolveGatewayPinForStep({cachePath:x,modelReference:s.agent.modelReference,tools:u}),p=r.extraSystemNote?[{role:`system`,content:r.extraSystemNote}]:[],m=s.agent.system?[{role:`system`,content:s.agent.system}]:[],h=L.length>0||p.length>0?[...p,...m,...L]:s.agent.system||void 0,g=buildStepHooks({cachePath:x,emit:t,emissionState:l,emitStepStarted:r.suppressStepStartedEmission!==!0,gatewayPinProvider:f,marker:T,session:s}),_=new ToolLoopAgent({headers:A,instructions:h,model:y,onToolExecutionEnd:logToolExecutionError,onError(e){logError(log,`tool-loop stream error`,e.error)},onStepFinish:g.onStepFinish,prepareStep:g.prepareStep,runtimeContext:buildTelemetryRuntimeContext(n,s),stopWhen:isStepCount(1),telemetry:enrichTelemetry(n,i),tools:u});return runModelCallWithRetries(async()=>{if(t){let n=await _.stream({messages:z}),{inlineActionResultCallIds:r,inlineToolResultParts:i}=await emitStreamContent(t,l,n.fullStream),a=await g.stepResult;return await emitStepActions(t,l,a,{excludedActionToolNames:new Set([ASK_QUESTION_TOOL_NAME,CODE_MODE_TOOL_NAME]),inlineActionResultCallIds:r,tools:e.tools}),i.length>0?{content:a.content,finishReason:a.finishReason,response:{...a.response,messages:[{role:`tool`,content:[...i]},...a.response.messages]},text:a.text,toolCalls:a.toolCalls,toolResults:a.toolResults,usage:a.usage}:a}return await _.generate({messages:z}),await g.stepResult},{sessionId:s.sessionId,turnId:l.turnId})},B;try{B=await runOneModelCall({})}catch(e){let n=await attemptUnsupportedProviderToolRecovery({error:e,runOneModelCall,sessionId:s.sessionId,turnId:l.turnId});if(n.outcome===`recovered`)B=n.result;else{let e=n.error;if(o&&recordErrorOnSpan(o,e),!t)throw e;let r=classifyModelCallError(e),i=createErrorId(),a=r===`terminal`?summarizeKnownModelCallConfigError(e):null,u=a===null?summarizeKnownModelCallRequestError(e):null,d=a?.message??u?.message??toErrorMessage(e),p=extractModelCallErrorDetails(e),m=buildModelCallFailureDetails({configSummary:a,error:e,errorId:i,modelCallDetails:p,requestSummary:u}),h=buildModelCallFailureLogFields({error:e,errorId:i,modelCallDetails:p,requestSummary:u,sessionId:s.sessionId,turnId:l.turnId});return r===`terminal`?(a===null?log.error(u?.message??`model call failed terminally`,h):log.error(`${a.name}: ${a.message}`,{errorId:i,sessionId:s.sessionId,turnId:l.turnId}),await emitFailedStep(t,l,{code:`MODEL_CALL_FAILED`,details:m,message:d,sessionId:s.sessionId}),{next:{done:!0,output:``},session:s}):(log.error(u?.message??`model call failed — parking session for retry by the user`,h),l=await emitRecoverableFailedTurn(t,l,{code:`MODEL_CALL_FAILED`,details:m,message:d}),{next:null,session:setHarnessEmissionState(s,l)})}}return handleStepResult({config:e,emit:t,emissionState:l,promptMessages:h,result:B,runStep,session:s})}return runStep}function buildModelCallFailureDetails(e){let{configSummary:t,error:n,errorId:r,modelCallDetails:i,requestSummary:a}=e;return t===null?a===null?{...formatError(n,r),...i}:{errorId:r,message:toErrorMessage(n),name:a.name,...i}:{errorId:r,message:t.message,name:t.name,...i}}function buildModelCallFailureLogFields(e){let t={errorId:e.errorId,sessionId:e.sessionId,turnId:e.turnId};return e.requestSummary===null?{...t,error:e.error}:{...t,details:e.modelCallDetails}}async function attemptUnsupportedProviderToolRecovery(e){let t=extractUnsupportedProviderToolTypes(e.error);if(t.length===0)return{outcome:`failed`,error:e.error};let n=[];for(let e of t){let t=resolveFrameworkToolFromUpstreamType(e);t!==null&&!n.includes(t)&&n.push(t)}if(n.length===0)return{outcome:`failed`,error:e.error};log.warn(`disabling unsupported provider tool(s); retrying step once`,{disabled:n,sessionId:e.sessionId,turnId:e.turnId,upstreamTypes:t});try{return{outcome:`recovered`,result:await e.runOneModelCall({disabledProviderTools:new Set(n),extraSystemNote:buildDisabledToolNote(n),suppressStepStartedEmission:!0})}}catch(e){return{outcome:`failed`,error:e}}}function buildDisabledToolNote(e){let t=e.join(`, `);return`The following ${e.length===1?`tool is`:`tools are`} not available with the current model and has been removed: ${t}. Proceed using the remaining tools or your training knowledge.`}async function handleStepResult(e){let{config:t,emit:r,promptMessages:i,result:o,runStep:s}=e,{emissionState:c,session:l}=e,u=o.response.messages,d=resolveAssistantStepText(u,o.text),f={...l,compaction:createNextCompactionConfig(l.compaction,i,o)},m=getCodeModeInterrupt(o);if(m!==void 0){if(isCodeModeConnectionAuthInterrupt(m))return parkOnCodeModeConnectionAuth({baseSession:f,config:t,emit:r,emissionState:c,interrupt:m,promptMessages:i,responseMessages:u});if(isCodeModeApprovalInterrupt(m))return parkOnCodeModeApproval({baseSession:f,config:t,emit:r,emissionState:c,interrupt:m,promptMessages:i,responseMessages:u})}let h=extractToolApprovalInputRequests({content:o.content??[]}),_=new Set(h.map(e=>e.action.callId)),v=extractQuestionInputRequests({toolCalls:o.toolCalls,excludedCallIds:_}),y=[...h,...v],b=(o.toolCalls??[]).filter(e=>!isInvalidToolCall(e)).filter(e=>t.tools.get(e.toolName)?.runtimeAction!==void 0).map(e=>createRuntimeActionRequestFromToolCall({toolCall:e,tools:t.tools}));if(b.length>0)return{next:null,session:setPendingRuntimeActionBatch({actions:b,event:{sequence:c.sequence,stepIndex:c.stepIndex,turnId:c.turnId},responseMessages:u,session:{...f,history:[...i]}})};if(y.length>0){let e=setPendingInputBatch({requests:y,responseMessages:u,session:{...f,history:[...i]}});return r&&(await r(createInputRequestedEvent({requests:y,sequence:c.sequence,stepIndex:c.stepIndex,turnId:c.turnId})),t.mode===`conversation`&&(c=await emitTurnEpilogue(r,c,t.mode),e=setHarnessEmissionState(e,c))),{next:null,session:e}}let S=(o.toolResults??[]).find(e=>isAuthorizationSignal(e.output));if(S&&isAuthorizationSignal(S.output)){let{challenges:e}=S.output;if(r)for(let t of e)await r(createAuthorizationRequiredEvent({authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:c.sequence,stepIndex:c.stepIndex,turnId:c.turnId}));return{next:null,session:setHarnessEmissionState({...f,history:[...i],state:setPendingAuthorization(f.state,{challenges:e})},c)}}let C=pruneToolResults(i,t.retentionPolicies),w=C!==i,E=f.compaction;w&&E.lastKnownInputTokens!==void 0&&(E={recentWindowSize:E.recentWindowSize,threshold:E.threshold});let D=[...C,...u],O={...f,compaction:E,history:D},k=u.at(-1)?.role===`tool`||hasDeferredStepInput(O);return r&&(c=k?advanceStep(c):await emitTurnEpilogue(r,c,t.mode),O=setHarnessEmissionState(O,c)),k?{next:s,session:O}:{next:t.mode===`task`?{done:!0,output:d??``}:null,session:O}}async function continuePendingCodeModeApproval(r){let i=getPendingCodeModeApproval(r.session.state);if(i===void 0)return null;let a=getCodeModeApprovalResponse([...r.messages],i.interrupt);if(a===void 0)return{next:null,session:r.session};let o=contextStorage.getStore(),c=await buildCodeModeHostTools({approvedTools:getApprovedTools(r.session),capabilities:r.capabilities,discovered:o?.get(DiscoveredConnectionToolsKey),registry:o?.get(ConnectionRegistryKey),tools:r.config.tools}),l;try{l=await continueCodeModeApproval({approvalResponse:a,interrupt:i.interrupt,options:createAshCodeModeOptions({lifecycle:r.emit===void 0?void 0:createCodeModeLifecycle({emit:r.emit,emissionState:r.emissionState,skipReplayed:!0,tools:r.config.tools})}),tools:c})}catch(e){logError(log,`code-mode approval continuation failed`,e),l={error:`code_mode_continuation_failed`,message:toErrorMessage(e),retryable:!1}}let u=unwrapCodeModeResult(l),f=u.status===`interrupted`?u.interrupt:u.output,p=replaceCodeModeApprovalInterruptResult([...r.session.history,...i.responseMessages],i.interrupt,f),m=clearPendingCodeModeApproval({...r.session,history:p});if(u.status===`interrupted`){if(isCodeModeConnectionAuthInterrupt(u.interrupt)){let e=r.session.history.length,t=p.slice(0,e),n=p.slice(e);return m={...m,history:t},parkOnCodeModeConnectionAuth({baseSession:m,config:r.config,emit:r.emit,emissionState:r.emissionState,interrupt:u.interrupt,promptMessages:t,responseMessages:n})}if(isCodeModeApprovalInterrupt(u.interrupt)){let e=r.session.history.length,t=p.slice(0,e),n=p.slice(e);return m={...m,history:t},parkOnCodeModeApproval({baseSession:m,config:r.config,emit:r.emit,emissionState:r.emissionState,interrupt:u.interrupt,promptMessages:t,responseMessages:n})}}return{next:r.runStep,session:m}}async function parkOnCodeModeConnectionAuth(e){let{connectionName:t}=e.interrupt.payload,n=(contextStorage.getStore()?.get(ConnectionRegistryKey))?.getConnections().find(e=>e.connectionName===t),r=n?.authorization&&supportsInteractiveAuthorization(n.authorization)?n.authorization:void 0,i=[];if(r){let e=getHookUrl(t);if(e){let a=resolveConnectionPrincipal(t,r),{challenge:o,state:s}=await r.startAuthorization({callbackUrl:e,connection:{url:n?.url??``},principal:a});i.push({name:t,challenge:o,hookUrl:e,state:s})}}if(e.emit)for(let t of i)await e.emit(createAuthorizationRequiredEvent({authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}));return{next:null,session:setPendingCodeModeConnectionAuth({interrupt:e.interrupt,responseMessages:e.responseMessages,session:{...e.baseSession,history:[...e.promptMessages],state:setPendingAuthorization(e.baseSession.state,{challenges:i})}})}}async function continuePendingCodeModeConnectionAuth(e){let t=getPendingCodeModeConnectionAuth(e.session.state);if(t===void 0)return null;let r=contextStorage.getStore(),a=new Set,{connectionName:c}=t.interrupt.payload;a.add(c);let l=await buildCodeModeHostTools({approvedTools:getApprovedTools(e.session),capabilities:e.capabilities,codeModeMetadataOnlyConnectionNames:a,discovered:r?.get(DiscoveredConnectionToolsKey),registry:r?.get(ConnectionRegistryKey),tools:e.config.tools}),u=e.emit===void 0?void 0:createCodeModeLifecycle({emit:e.emit,emissionState:e.emissionState,skipReplayed:!0,tools:e.config.tools}),f;try{f=await continueCodeModeInterrupt({interrupt:t.interrupt,resolution:{status:`authorized`},tools:l,options:createAshCodeModeOptions({lifecycle:u})})}catch(e){logError(log,`code-mode interrupt continuation failed`,e),f={error:`code_mode_continuation_failed`,message:toErrorMessage(e),retryable:!1}}let p=unwrapCodeModeResult(f),m=p.status===`interrupted`?p.interrupt:p.output,h=replaceCodeModeInterruptResult([...e.session.history,...t.responseMessages],t.interrupt.pendingContinuation,m),g=clearPendingCodeModeConnectionAuth({...e.session,history:h});if(p.status===`interrupted`){if(isCodeModeConnectionAuthInterrupt(p.interrupt)){let t=e.session.history.length,n=h.slice(0,t),r=h.slice(t);return g={...g,history:n},parkOnCodeModeConnectionAuth({baseSession:g,config:e.config,emit:e.emit,emissionState:e.emissionState,interrupt:p.interrupt,promptMessages:n,responseMessages:r})}if(isCodeModeApprovalInterrupt(p.interrupt)){let t=e.session.history.length,n=h.slice(0,t),r=h.slice(t);return g={...g,history:n},parkOnCodeModeApproval({baseSession:g,config:e.config,emit:e.emit,emissionState:e.emissionState,interrupt:p.interrupt,promptMessages:n,responseMessages:r})}}return{next:e.runStep,session:g}}async function parkOnCodeModeApproval(e){let t=toCodeModeApprovalMessages(e.interrupt),n=extractToolApprovalInputRequests({content:extractAssistantContent(t)}),i=setPendingInputBatch({requests:n,responseMessages:t,session:setPendingCodeModeApproval({interrupt:e.interrupt,responseMessages:e.responseMessages,session:{...e.baseSession,history:[...e.promptMessages]}})});if(e.emit&&(await e.emit(createInputRequestedEvent({requests:n,sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId})),e.config.mode===`conversation`)){let t=await emitTurnEpilogue(e.emit,e.emissionState,e.config.mode);i=setHarnessEmissionState(i,t)}return{next:null,session:i}}function extractAssistantContent(e){let t=[];for(let n of e)n.role===`assistant`&&Array.isArray(n.content)&&t.push(...n.content);return t}function createNextCompactionConfig(e,t,n){let r={recentWindowSize:e.recentWindowSize,threshold:e.threshold};return n.usage?.inputTokens!==void 0&&(r.lastKnownInputTokens=n.usage.inputTokens,r.lastKnownPromptMessageCount=t.length),r}async function maybeCompact(e){let{emit:t,emissionState:n}=e,r=e.messages,i=e.session;if(!shouldCompact(r,i.compaction))return{messages:r,session:i};let a=await resolveCompactionModel({compactionModelReference:i.agent.compactionModelReference,model:e.model,modelReference:i.agent.modelReference,resolveModel:e.resolveModel});if(t&&await t(createCompactionRequestedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId,usageInputTokens:getInputTokenCount(r,i.compaction)})),r=await compactMessages(r,a.model,i.compaction,a.providerOptions,e.telemetry,e.headers),e.onCompaction){let t=await e.onCompaction(i);i=t.session;for(let e of t.messages)r.push(e)}return t&&await t(createCompactionCompletedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId})),{messages:r,session:i}}function resolveApprovalKeyFromTools(e){return t=>{let n=e.get(t.action.toolName);if(n?.approvalKey!==void 0)return n.approvalKey(t.action.input)}}async function runModelCallWithRetries(e,t){for(let n=1;;n++)try{return await e()}catch(e){if(n===3||classifyModelCallError(e)!==`retry`)throw e;let r=500*2**(n-1)+Math.floor(Math.random()*250);log.warn(`model call failed transiently — retrying`,{attempt:n,delayMs:r,sessionId:t.sessionId,turnId:t.turnId,error:e}),await new Promise(e=>setTimeout(e,r))}}export{createToolLoopHarness};
@@ -1 +1 @@
1
- import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{existsSync,readFileSync,realpathSync}from"node:fs";import{ASH_PACKAGE_NAME}from"#internal/package-name.js";import{fileURLToPath}from"node:url";let cachedPackageInfo;const WORKFLOW_MODULE_ALIASES={"workflow/api":`src/compiled/@workflow/core/runtime.js`,"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`,"workflow/runtime":`src/compiled/@workflow/core/runtime.js`};function resolveFallbackPackageVersion(){return`0.33.0`}const FALLBACK_PACKAGE_INFO={name:ASH_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const require=createRequire(resolveCurrentModulePath());function isBuildOutputPackageRoot(e){return basename(e)===`dist`&&existsSync(join(dirname(e),`package.json`))}function resolvePackageBuildRoot(){let e=dirname(realpathSync(resolveCurrentModulePath()));for(;;){if(isBuildOutputPackageRoot(e))return e;let t=dirname(e);if(t===e)return null;e=t}}function findNearestPackageRoot(e){let t=e;for(;;){if(existsSync(join(t,`package.json`))&&!isBuildOutputPackageRoot(t))return t;let r=dirname(t);if(r===t)throw Error(`Failed to resolve package root from "${e}".`);t=r}}function resolvePackageRoot(){return findNearestPackageRoot(dirname(realpathSync(resolveCurrentModulePath())))}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(!(typeof t.name!=`string`||typeof t.version!=`string`))return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),ASH_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(require.resolve(`${ASH_PACKAGE_NAME}/package.json`),ASH_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?require.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveInstalledPackageInfo,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
1
+ import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{existsSync,readFileSync,realpathSync}from"node:fs";import{ASH_PACKAGE_NAME}from"#internal/package-name.js";import{fileURLToPath}from"node:url";let cachedPackageInfo;const WORKFLOW_MODULE_ALIASES={"workflow/api":`src/compiled/@workflow/core/runtime.js`,"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`,"workflow/runtime":`src/compiled/@workflow/core/runtime.js`};function resolveFallbackPackageVersion(){return`0.33.1`}const FALLBACK_PACKAGE_INFO={name:ASH_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const require=createRequire(resolveCurrentModulePath());function isBuildOutputPackageRoot(e){return basename(e)===`dist`&&existsSync(join(dirname(e),`package.json`))}function resolvePackageBuildRoot(){let e=dirname(realpathSync(resolveCurrentModulePath()));for(;;){if(isBuildOutputPackageRoot(e))return e;let t=dirname(e);if(t===e)return null;e=t}}function findNearestPackageRoot(e){let t=e;for(;;){if(existsSync(join(t,`package.json`))&&!isBuildOutputPackageRoot(t))return t;let r=dirname(t);if(r===t)throw Error(`Failed to resolve package root from "${e}".`);t=r}}function resolvePackageRoot(){return findNearestPackageRoot(dirname(realpathSync(resolveCurrentModulePath())))}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(!(typeof t.name!=`string`||typeof t.version!=`string`))return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),ASH_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(require.resolve(`${ASH_PACKAGE_NAME}/package.json`),ASH_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?require.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveInstalledPackageInfo,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
@@ -1 +1 @@
1
- import{dirname,join,resolve}from"node:path";import{readFile}from"node:fs/promises";import{resolveNitroSurfaceOutputDirectory}from"#internal/application/paths.js";import{resolvePackageRoot}from"#internal/application/package.js";import{build,copyPublicAssets,prepare,prerender}from"nitro/builder";import{prepareAshVersionedCacheDirectory,writeAshVersionedCacheMetadata}from"#internal/application/cache-metadata.js";import{WorkflowBundleBuilder}from"#internal/workflow-bundle/builder.js";import{normalizeAshVercelFunctionOutput}from"#internal/workflow-bundle/vercel-workflow-output.js";import{createApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{materializeCodeModeWorkerAssets}from"#internal/nitro/host/code-mode-worker-asset.js";import{emitVercelAgentSummary}from"#internal/nitro/host/build-vercel-agent-summary.js";import{prepareApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{runVercelBuildPrewarm}from"#internal/nitro/host/vercel-build-prewarm.js";function trimTrailingSlash(e){return e.replace(/[\\/]+$/,``)}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function normalizeEntrypoint(e,t){return typeof t!=`string`||t.trim().length===0?null:resolve(e,t)}function resolveNextAshServicePrefix(e){if(!isRecord(e.config)||!isRecord(e.config.experimentalServices))return;let t=!1,n;for(let r of Object.values(e.config.experimentalServices)){if(!isRecord(r))continue;if(r.framework===`nextjs`){t=!0;continue}if(r.framework!==`ash`)continue;let i=normalizeEntrypoint(e.configRoot,r.entrypoint),a=typeof r.routePrefix==`string`?r.routePrefix.trim():``;i===e.appRoot&&a.length>0&&a!==`/`&&(n=a)}return t?n:void 0}async function resolveNextAshServicePrefixForVercelFunctionOutput(n){let i=n;for(;;){try{let e=join(i,`vercel.json`),a=JSON.parse(await readFile(e,`utf8`)),o=resolveNextAshServicePrefix({appRoot:n,configRoot:i,config:a});if(o!==void 0)return o}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}let a=dirname(i);if(a===i)return;i=a}}async function readVercelServerRuntime(e){try{return JSON.parse(await readFile(join(e,`functions`,`__server.func`,`.vc-config.json`),`utf8`)).runtime}catch{return}}async function emitVercelWorkflowFunctions(e){let t=new WorkflowBundleBuilder({appRoot:e.appRoot,compiledArtifactsBootstrapPath:e.compiledArtifactsBootstrapPath,outDir:e.workflowBuildDir,rootDir:resolvePackageRoot(),watch:!1}),n=await readVercelServerRuntime(e.outputDir);await t.buildVercelOutput({flowNitroOutputDir:e.flowNitroOutputDir,outputDir:e.outputDir,runtime:n})}async function buildNitroOutput(e){let t=trimTrailingSlash(e.options.output.dir);return await prepareAshVersionedCacheDirectory(t),await prepare(e),await copyPublicAssets(e),await prerender(e),await build(e),await writeAshVersionedCacheMetadata(t),t}async function buildVercelNitroSurface(e,t){let n=await createApplicationNitro(e,!1,{outputDir:resolveNitroSurfaceOutputDirectory(e.appRoot,t),surface:t});try{return await buildNitroOutput(n)}finally{await n.close()}}async function buildApplication(e){let t=await prepareApplicationHost(e);if(!process.env.VERCEL){let e=await createApplicationNitro(t,!1);try{let n=await buildNitroOutput(e);return await materializeCodeModeWorkerAssets(n),await emitVercelAgentSummary({manifest:t.compileResult.manifest,appRoot:t.appRoot}),n}finally{await e.close()}}let n=await createApplicationNitro(t,!1,{surface:`app`});try{let e=await buildNitroOutput(n);await runVercelBuildPrewarm({appRoot:t.appRoot,log(e){console.log(e)}});let r=await buildVercelNitroSurface(t,`flow`);await emitVercelWorkflowFunctions({appRoot:t.appRoot,compiledArtifactsBootstrapPath:t.compiledArtifacts.bootstrapPath,flowNitroOutputDir:r,outputDir:e,workflowBuildDir:t.workflowBuildDir});let i=await resolveNextAshServicePrefixForVercelFunctionOutput(t.appRoot);return i!==void 0&&await normalizeAshVercelFunctionOutput(e,{servicePrefix:i}),await materializeCodeModeWorkerAssets(e),await emitVercelAgentSummary({manifest:t.compileResult.manifest,appRoot:t.appRoot}),e}finally{await n.close()}}export{buildApplication};
1
+ import{dirname,join,resolve}from"node:path";import{readFile}from"node:fs/promises";import{resolveNitroSurfaceOutputDirectory}from"#internal/application/paths.js";import{resolvePackageRoot}from"#internal/application/package.js";import{build,copyPublicAssets,prepare,prerender}from"nitro/builder";import{prepareAshVersionedCacheDirectory,writeAshVersionedCacheMetadata}from"#internal/application/cache-metadata.js";import{WorkflowBundleBuilder}from"#internal/workflow-bundle/builder.js";import{normalizeAshVercelFunctionOutput}from"#internal/workflow-bundle/vercel-workflow-output.js";import{createApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{emitVercelAgentSummary}from"#internal/nitro/host/build-vercel-agent-summary.js";import{prepareApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{runVercelBuildPrewarm}from"#internal/nitro/host/vercel-build-prewarm.js";function trimTrailingSlash(e){return e.replace(/[\\/]+$/,``)}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function normalizeEntrypoint(e,t){return typeof t!=`string`||t.trim().length===0?null:resolve(e,t)}function resolveNextAshServicePrefix(e){if(!isRecord(e.config)||!isRecord(e.config.experimentalServices))return;let t=!1,n;for(let r of Object.values(e.config.experimentalServices)){if(!isRecord(r))continue;if(r.framework===`nextjs`){t=!0;continue}if(r.framework!==`ash`)continue;let i=normalizeEntrypoint(e.configRoot,r.entrypoint),a=typeof r.routePrefix==`string`?r.routePrefix.trim():``;i===e.appRoot&&a.length>0&&a!==`/`&&(n=a)}return t?n:void 0}async function resolveNextAshServicePrefixForVercelFunctionOutput(n){let i=n;for(;;){try{let e=join(i,`vercel.json`),a=JSON.parse(await readFile(e,`utf8`)),o=resolveNextAshServicePrefix({appRoot:n,configRoot:i,config:a});if(o!==void 0)return o}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}let a=dirname(i);if(a===i)return;i=a}}async function readVercelServerRuntime(e){try{return JSON.parse(await readFile(join(e,`functions`,`__server.func`,`.vc-config.json`),`utf8`)).runtime}catch{return}}async function emitVercelWorkflowFunctions(e){let t=new WorkflowBundleBuilder({appRoot:e.appRoot,compiledArtifactsBootstrapPath:e.compiledArtifactsBootstrapPath,outDir:e.workflowBuildDir,rootDir:resolvePackageRoot(),watch:!1}),n=await readVercelServerRuntime(e.outputDir);await t.buildVercelOutput({flowNitroOutputDir:e.flowNitroOutputDir,outputDir:e.outputDir,runtime:n})}async function buildNitroOutput(e){let t=trimTrailingSlash(e.options.output.dir);return await prepareAshVersionedCacheDirectory(t),await prepare(e),await copyPublicAssets(e),await prerender(e),await build(e),await writeAshVersionedCacheMetadata(t),t}async function buildVercelNitroSurface(e,t){let n=await createApplicationNitro(e,!1,{outputDir:resolveNitroSurfaceOutputDirectory(e.appRoot,t),surface:t});try{return await buildNitroOutput(n)}finally{await n.close()}}async function buildApplication(e){let t=await prepareApplicationHost(e);if(!process.env.VERCEL){let e=await createApplicationNitro(t,!1);try{let n=await buildNitroOutput(e);return await emitVercelAgentSummary({manifest:t.compileResult.manifest,appRoot:t.appRoot}),n}finally{await e.close()}}let n=await createApplicationNitro(t,!1,{surface:`app`});try{let e=await buildNitroOutput(n);await runVercelBuildPrewarm({appRoot:t.appRoot,log(e){console.log(e)}});let r=await buildVercelNitroSurface(t,`flow`);await emitVercelWorkflowFunctions({appRoot:t.appRoot,compiledArtifactsBootstrapPath:t.compiledArtifacts.bootstrapPath,flowNitroOutputDir:r,outputDir:e,workflowBuildDir:t.workflowBuildDir});let i=await resolveNextAshServicePrefixForVercelFunctionOutput(t.appRoot);return i!==void 0&&await normalizeAshVercelFunctionOutput(e,{servicePrefix:i}),await emitVercelAgentSummary({manifest:t.compileResult.manifest,appRoot:t.appRoot}),e}finally{await n.close()}}export{buildApplication};
@@ -0,0 +1 @@
1
+ export default function installCodeModeRuntimeDependencyPlugin(): void;
@@ -0,0 +1 @@
1
+ import"../../../node_modules/.pnpm/@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.js";import"../../../node_modules/.pnpm/quickjs-emscripten@0.32.0/node_modules/quickjs-emscripten/dist/index.js";function installCodeModeRuntimeDependencyPlugin(){}export{installCodeModeRuntimeDependencyPlugin as default};
@@ -1 +1 @@
1
- import{dirname,isAbsolute,join,relative,resolve}from"node:path";import{readFile}from"node:fs/promises";import{resolveNitroBuildDirectory}from"#internal/application/paths.js";import{resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath}from"#internal/application/package.js";import{ASH_PACKAGE_NAME}from"#internal/package-name.js";import{fileURLToPath}from"node:url";import{createNitro}from"nitro/builder";import{prepareAshVersionedCacheDirectory,writeAshVersionedCacheMetadata}from"#internal/application/cache-metadata.js";import{createNitroArtifactsConfig}from"#internal/nitro/host/artifacts-config.js";import{createCompiledSandboxBackendPrunePlugin}from"#internal/nitro/host/compiled-sandbox-backend-prune-plugin.js";import{configureNitroRoutes}from"#internal/nitro/host/configure-nitro-routes.js";import{applyAshCronHandlerRoute}from"#internal/nitro/host/cron-handler-route.js";import{createNitroBundlerConfig}from"#internal/nitro/host/nitro-bundler-config.js";import{addNitroRoutingImportSpecifierPlugin}from"#internal/nitro/host/nitro-routing-import-specifier-plugin.js";import{registerScheduleTaskHandlers}from"#internal/nitro/host/schedule-task-routes.js";import{SERVER_EXTERNAL_PACKAGES}from"#internal/nitro/host/server-external-packages.js";import{createAshVercelOptions}from"#internal/nitro/host/vercel-build-output-config.js";import{applyWorkflowTransform}from"#internal/workflow-bundle/workflow-builders.js";const WORKFLOW_ALIAS_SPECIFIERS=[`workflow`,`workflow/api`,`workflow/errors`,`workflow/internal/builtins`,`workflow/internal/private`,`workflow/runtime`],WORKFLOW_TRANSFORM_PATCHED=Symbol(`ash.workflow-transform-patched`),FRAMEWORK_HOSTED_EXTERNAL_PACKAGES=[`@napi-rs/keyring`];function resolveWorkflowAliases(){let e={};for(let t of WORKFLOW_ALIAS_SPECIFIERS)e[t]=resolveWorkflowModulePath(t);return e}function resolveNitroPreset(e){if(!e&&process.env.VERCEL)return`vercel`}function includesApplicationSurface(e){return e===`all`||e===`app`}function includesWorkflowSurface(e){return e===`all`||e===`flow`}function includesWorkflowStepRegistrations(e){return includesWorkflowSurface(e)}function resolveWorkflowStepEntrypointPath(e,t){return e.options.dev?join(e.options.buildDir,`workflow`,`steps.mjs`):join(t.workflowBuildDir,`steps.mjs`)}function collectHostedTraceDependencies(e){let t=e.compileResult.manifest.config.build;return[...new Set([...FRAMEWORK_HOSTED_EXTERNAL_PACKAGES,...SERVER_EXTERNAL_PACKAGES,...t?.externalDependencies??[]])].filter(e=>e!==ASH_PACKAGE_NAME)}function normalizePath(e){return e.replaceAll(`\\`,`/`)}function stripPathQueryAndHash(e){let t=e.indexOf(`?`),n=e.indexOf(`#`),r=t===-1?n:n===-1?t:Math.min(t,n);return r===-1?e:e.slice(0,r)}function stripFileSystemPrefix(e){return e.startsWith(`/@fs/`)?e.slice(4):e}function resolveNitroModuleComparisonPath(e,n){return n.startsWith(`file://`)?normalizePath(stripFileSystemPrefix(stripPathQueryAndHash(fileURLToPath(n)))):isAbsolute(n)?normalizePath(stripFileSystemPrefix(stripPathQueryAndHash(n))):normalizePath(stripFileSystemPrefix(stripPathQueryAndHash(resolve(e,n))))}function isWorkflowBundlePath(e,t){let n=normalizePath(e);return n.startsWith(t)||n.includes(`/.ash/workflow-cache/`)}function normalizeStepTransformComparisonPath(e){let t=normalizePath(e);return process.platform===`win32`?t.toLowerCase():t}function parseImportedModuleSpecifiers(e){let t=/^\s*import\s+(?:.+?\s+from\s+)?["']([^"']+)["'];?\s*$/gm,n=[];for(let r of e.matchAll(t)){let e=r[1];e!==void 0&&n.push(e)}return n}function resolveNitroImportPath(t,n,r){return n.startsWith(`workflow`)?resolveWorkflowModulePath(n):n.startsWith(`.`)||n.startsWith(`/`)||n.startsWith(`file://`)?resolveNitroModuleComparisonPath(r===void 0?t:dirname(resolveNitroModuleComparisonPath(t,r)),n):null}async function collectNitroStepTransformTargets(e,t){let n=await readFile(e,`utf8`),r=new Set;for(let i of parseImportedModuleSpecifiers(n)){let n=resolveNitroImportPath(t,i,e);n!==null&&r.add(normalizeStepTransformComparisonPath(n))}return r}async function addNitroStepNoExternals(e,t){if(e.options.noExternals===!0)return;let n;try{n=await collectNitroStepTransformTargets(t,e.options.rootDir)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}let r=Array.isArray(e.options.noExternals)?[...e.options.noExternals]:[];e.options.noExternals=[...new Set([...r,...n])]}function createRelativeTransformFilename(e,t){let n=normalizePath(e).replace(/\/$/,``),i=normalizePath(t),a=n.toLowerCase(),o=i.toLowerCase();if(o.startsWith(`${a}/`))return i.slice(n.length+1);if(o===a)return`.`;let s=relative(n,i).replaceAll(`\\`,`/`);if(s.startsWith(`../`)&&(s=s.split(`/`).filter(e=>e!==`..`).join(`/`)),s.includes(`:`)||s.startsWith(`/`)){let e=i.split(`/`).pop();return e===void 0||e.length===0?`unknown.ts`:e}return s}function addWorkflowModuleSideEffectsPlugin(e,t){let r=[t,join(e.options.buildDir,`workflow`)].map(t=>resolveNitroModuleComparisonPath(e.options.rootDir,t));e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({name:`ash:workflow-module-side-effects`,resolveId(t,n){let i=resolveNitroImportPath(e.options.rootDir,t,n)??resolveNitroModuleComparisonPath(e.options.rootDir,t);return r.some(e=>isWorkflowBundlePath(i,e))?{id:i,moduleSideEffects:`no-treeshake`}:null}})})}function addNitroStepModuleSideEffectsPlugin(e,t){let n=null,getStepTransformTargets=async()=>(n===null&&(n=await collectNitroStepTransformTargets(t.stepEntrypointPath,e.options.rootDir)),n);e.hooks.hook(`build:before`,()=>{n=null}),e.options.dev&&e.hooks.hook(`dev:reload`,()=>{n=null}),e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({name:`ash:workflow-step-module-side-effects`,async resolveId(t,n){let r=resolveNitroImportPath(e.options.rootDir,t,n);return r===null||!(await getStepTransformTargets()).has(normalizeStepTransformComparisonPath(r))?null:{id:r,moduleSideEffects:`no-treeshake`}}})})}function addNitroStepTransformPlugin(e,t){let n=null,getStepTransformTargets=async()=>(n===null&&(n=await collectNitroStepTransformTargets(t.stepEntrypointPath,e.options.rootDir)),n);e.hooks.hook(`build:before`,()=>{n=null}),e.options.dev&&e.hooks.hook(`dev:reload`,()=>{n=null}),e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({async transform(t,n){let r=await getStepTransformTargets(),i=resolveNitroModuleComparisonPath(e.options.rootDir,n);return r.has(normalizeStepTransformComparisonPath(i))?{code:(await applyWorkflowTransform(createRelativeTransformFilename(e.options.rootDir,i),t,`step`,i,e.options.rootDir)).code,map:null}:null},name:`ash:workflow-step-transform`})})}function addInstrumentationModuleSideEffectsPlugin(e,t){let n=normalizePath(t);e.hooks.hook(`rollup:before`,(e,t)=>{Array.isArray(t.plugins)&&t.plugins.unshift({name:`ash:instrumentation-module-side-effects`,resolveId(e){return normalizePath(e)===n?{id:e,moduleSideEffects:`no-treeshake`}:null}})})}function patchWorkflowTransformExcludePath(e,t){let n=normalizePath(t);e.hooks.hook(`rollup:before`,(e,t)=>{if(Array.isArray(t.plugins))for(let e of t.plugins){if(typeof e!=`object`||!e)continue;let t=e;if(t.name!==`workflow:transform`||t[WORKFLOW_TRANSFORM_PATCHED]===!0||typeof t.transform!=`function`)continue;let r=t.transform;t.transform=function(e,t,...i){return isWorkflowBundlePath(t,n)?null:r.call(this,e,t,...i)},t[WORKFLOW_TRANSFORM_PATCHED]=!0}})}async function createApplicationNitro(e,t,r={}){let i=r.surface??`all`,a=!t&&includesApplicationSurface(i)&&e.scheduleRegistrations.length>0,c=resolveNitroPreset(t),l=c===`vercel`?createCompiledSandboxBackendPrunePlugin():null,u=l===null?[]:[l],d=createNitroBundlerConfig(u),f=createNitroBundlerConfig(u),p=collectHostedTraceDependencies(e),m=resolveNitroBuildDirectory(e.appRoot,i),h=e.compiledArtifacts.instrumentationPluginPath===void 0?[e.compiledArtifacts.bootstrapPath]:[e.compiledArtifacts.instrumentationPluginPath,e.compiledArtifacts.bootstrapPath];await prepareAshVersionedCacheDirectory(m);let g=await createNitro({_cli:{command:t?`dev`:`build`},buildDir:m,dev:t,logLevel:t?1:void 0,output:r.outputDir===void 0?void 0:{dir:r.outputDir},preset:c,plugins:h,publicAssets:[],scanDirs:includesWorkflowStepRegistrations(i)?[resolvePackageSourceDirectoryPath(`src/execution`)]:void 0,rolldownConfig:d,rollupConfig:f,rootDir:e.appRoot,serverDir:!1,traceDeps:p,vercel:createAshVercelOptions(c===`vercel`&&includesApplicationSurface(i))},t?{watch:!0}:void 0);if(await writeAshVersionedCacheMetadata(m),addNitroRoutingImportSpecifierPlugin(g),includesWorkflowSurface(i)){let t=resolveWorkflowAliases();for(let[e,n]of Object.entries(t))g.options.alias[e]=n;addWorkflowModuleSideEffectsPlugin(g,e.workflowBuildDir),patchWorkflowTransformExcludePath(g,e.workflowBuildDir)}if(includesWorkflowStepRegistrations(i)){let t=resolveWorkflowStepEntrypointPath(g,e);addNitroStepModuleSideEffectsPlugin(g,{stepEntrypointPath:t}),addNitroStepTransformPlugin(g,{stepEntrypointPath:t})}if(e.compiledArtifacts.instrumentationSourcePath!==void 0&&addInstrumentationModuleSideEffectsPlugin(g,e.compiledArtifacts.instrumentationSourcePath),t&&includesWorkflowSurface(i)){let t=e.workflowBuildDir,r=new Set([normalizePath(join(t,`workflows.mjs`))]);g.hooks.hook(`rollup:before`,(e,t)=>{let n=t.external;t.external=(e,...t)=>{if(r.has(normalizePath(e)))return!0;if(typeof n==`function`)return n(e,...t)}})}return a&&(applyAshCronHandlerRoute(g),registerScheduleTaskHandlers(g,{artifactsConfig:createNitroArtifactsConfig({appRoot:e.appRoot,dev:g.options.dev}),dispatchModulePath:resolvePackageSourceFilePath(`src/internal/nitro/routes/schedule-task.ts`),registrations:e.scheduleRegistrations})),await configureNitroRoutes(g,e,{surface:i}),includesWorkflowStepRegistrations(i)&&await addNitroStepNoExternals(g,resolveWorkflowStepEntrypointPath(g,e)),g}export{createApplicationNitro};
1
+ import{dirname,isAbsolute,join,relative,resolve}from"node:path";import{readFile}from"node:fs/promises";import{resolveNitroBuildDirectory}from"#internal/application/paths.js";import{resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath}from"#internal/application/package.js";import{ASH_PACKAGE_NAME}from"#internal/package-name.js";import{fileURLToPath}from"node:url";import{createNitro}from"nitro/builder";import{prepareAshVersionedCacheDirectory,writeAshVersionedCacheMetadata}from"#internal/application/cache-metadata.js";import{createNitroArtifactsConfig}from"#internal/nitro/host/artifacts-config.js";import{createCompiledSandboxBackendPrunePlugin}from"#internal/nitro/host/compiled-sandbox-backend-prune-plugin.js";import{configureNitroRoutes}from"#internal/nitro/host/configure-nitro-routes.js";import{applyAshCronHandlerRoute}from"#internal/nitro/host/cron-handler-route.js";import{createNitroBundlerConfig}from"#internal/nitro/host/nitro-bundler-config.js";import{addNitroRoutingImportSpecifierPlugin}from"#internal/nitro/host/nitro-routing-import-specifier-plugin.js";import{registerScheduleTaskHandlers}from"#internal/nitro/host/schedule-task-routes.js";import{SERVER_EXTERNAL_PACKAGES}from"#internal/nitro/host/server-external-packages.js";import{createAshVercelOptions}from"#internal/nitro/host/vercel-build-output-config.js";import{applyWorkflowTransform}from"#internal/workflow-bundle/workflow-builders.js";const WORKFLOW_ALIAS_SPECIFIERS=[`workflow`,`workflow/api`,`workflow/errors`,`workflow/internal/builtins`,`workflow/internal/private`,`workflow/runtime`],WORKFLOW_TRANSFORM_PATCHED=Symbol(`ash.workflow-transform-patched`),FRAMEWORK_HOSTED_EXTERNAL_PACKAGES=[`@napi-rs/keyring`],CODE_MODE_RUNTIME_EXTERNAL_PACKAGES=[`quickjs-emscripten`];function resolveWorkflowAliases(){let e={};for(let t of WORKFLOW_ALIAS_SPECIFIERS)e[t]=resolveWorkflowModulePath(t);return e}function resolveNitroPreset(e){if(!e&&process.env.VERCEL)return`vercel`}function includesApplicationSurface(e){return e===`all`||e===`app`}function includesWorkflowSurface(e){return e===`all`||e===`flow`}function includesWorkflowStepRegistrations(e){return includesWorkflowSurface(e)}function resolveWorkflowStepEntrypointPath(e,t){return e.options.dev?join(e.options.buildDir,`workflow`,`steps.mjs`):join(t.workflowBuildDir,`steps.mjs`)}function collectHostedTraceDependencies(e){let t=e.compileResult.manifest.config.build;return[...new Set([...FRAMEWORK_HOSTED_EXTERNAL_PACKAGES,...CODE_MODE_RUNTIME_EXTERNAL_PACKAGES,...SERVER_EXTERNAL_PACKAGES,...t?.externalDependencies??[]])].filter(e=>e!==ASH_PACKAGE_NAME)}function normalizePath(e){return e.replaceAll(`\\`,`/`)}function stripPathQueryAndHash(e){let t=e.indexOf(`?`),n=e.indexOf(`#`),r=t===-1?n:n===-1?t:Math.min(t,n);return r===-1?e:e.slice(0,r)}function stripFileSystemPrefix(e){return e.startsWith(`/@fs/`)?e.slice(4):e}function resolveNitroModuleComparisonPath(e,n){return n.startsWith(`file://`)?normalizePath(stripFileSystemPrefix(stripPathQueryAndHash(fileURLToPath(n)))):isAbsolute(n)?normalizePath(stripFileSystemPrefix(stripPathQueryAndHash(n))):normalizePath(stripFileSystemPrefix(stripPathQueryAndHash(resolve(e,n))))}function isWorkflowBundlePath(e,t){let n=normalizePath(e);return n.startsWith(t)||n.includes(`/.ash/workflow-cache/`)}function normalizeStepTransformComparisonPath(e){let t=normalizePath(e);return process.platform===`win32`?t.toLowerCase():t}function parseImportedModuleSpecifiers(e){let t=/^\s*import\s+(?:.+?\s+from\s+)?["']([^"']+)["'];?\s*$/gm,n=[];for(let r of e.matchAll(t)){let e=r[1];e!==void 0&&n.push(e)}return n}function resolveNitroImportPath(t,n,r){return n.startsWith(`workflow`)?resolveWorkflowModulePath(n):n.startsWith(`.`)||n.startsWith(`/`)||n.startsWith(`file://`)?resolveNitroModuleComparisonPath(r===void 0?t:dirname(resolveNitroModuleComparisonPath(t,r)),n):null}async function collectNitroStepTransformTargets(e,t){let n=await readFile(e,`utf8`),r=new Set;for(let i of parseImportedModuleSpecifiers(n)){let n=resolveNitroImportPath(t,i,e);n!==null&&r.add(normalizeStepTransformComparisonPath(n))}return r}async function addNitroStepNoExternals(e,t){if(e.options.noExternals===!0)return;let n;try{n=await collectNitroStepTransformTargets(t,e.options.rootDir)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}let r=Array.isArray(e.options.noExternals)?[...e.options.noExternals]:[];e.options.noExternals=[...new Set([...r,...n])]}function createRelativeTransformFilename(e,t){let n=normalizePath(e).replace(/\/$/,``),i=normalizePath(t),a=n.toLowerCase(),o=i.toLowerCase();if(o.startsWith(`${a}/`))return i.slice(n.length+1);if(o===a)return`.`;let s=relative(n,i).replaceAll(`\\`,`/`);if(s.startsWith(`../`)&&(s=s.split(`/`).filter(e=>e!==`..`).join(`/`)),s.includes(`:`)||s.startsWith(`/`)){let e=i.split(`/`).pop();return e===void 0||e.length===0?`unknown.ts`:e}return s}function addWorkflowModuleSideEffectsPlugin(e,t){let r=[t,join(e.options.buildDir,`workflow`)].map(t=>resolveNitroModuleComparisonPath(e.options.rootDir,t));e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({name:`ash:workflow-module-side-effects`,resolveId(t,n){let i=resolveNitroImportPath(e.options.rootDir,t,n)??resolveNitroModuleComparisonPath(e.options.rootDir,t);return r.some(e=>isWorkflowBundlePath(i,e))?{id:i,moduleSideEffects:`no-treeshake`}:null}})})}function addNitroStepModuleSideEffectsPlugin(e,t){let n=null,getStepTransformTargets=async()=>(n===null&&(n=await collectNitroStepTransformTargets(t.stepEntrypointPath,e.options.rootDir)),n);e.hooks.hook(`build:before`,()=>{n=null}),e.options.dev&&e.hooks.hook(`dev:reload`,()=>{n=null}),e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({name:`ash:workflow-step-module-side-effects`,async resolveId(t,n){let r=resolveNitroImportPath(e.options.rootDir,t,n);return r===null||!(await getStepTransformTargets()).has(normalizeStepTransformComparisonPath(r))?null:{id:r,moduleSideEffects:`no-treeshake`}}})})}function addNitroStepTransformPlugin(e,t){let n=null,getStepTransformTargets=async()=>(n===null&&(n=await collectNitroStepTransformTargets(t.stepEntrypointPath,e.options.rootDir)),n);e.hooks.hook(`build:before`,()=>{n=null}),e.options.dev&&e.hooks.hook(`dev:reload`,()=>{n=null}),e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({async transform(t,n){let r=await getStepTransformTargets(),i=resolveNitroModuleComparisonPath(e.options.rootDir,n);return r.has(normalizeStepTransformComparisonPath(i))?{code:(await applyWorkflowTransform(createRelativeTransformFilename(e.options.rootDir,i),t,`step`,i,e.options.rootDir)).code,map:null}:null},name:`ash:workflow-step-transform`})})}function addInstrumentationModuleSideEffectsPlugin(e,t){let n=normalizePath(t);e.hooks.hook(`rollup:before`,(e,t)=>{Array.isArray(t.plugins)&&t.plugins.unshift({name:`ash:instrumentation-module-side-effects`,resolveId(e){return normalizePath(e)===n?{id:e,moduleSideEffects:`no-treeshake`}:null}})})}function patchWorkflowTransformExcludePath(e,t){let n=normalizePath(t);e.hooks.hook(`rollup:before`,(e,t)=>{if(Array.isArray(t.plugins))for(let e of t.plugins){if(typeof e!=`object`||!e)continue;let t=e;if(t.name!==`workflow:transform`||t[WORKFLOW_TRANSFORM_PATCHED]===!0||typeof t.transform!=`function`)continue;let r=t.transform;t.transform=function(e,t,...i){return isWorkflowBundlePath(t,n)?null:r.call(this,e,t,...i)},t[WORKFLOW_TRANSFORM_PATCHED]=!0}})}async function createApplicationNitro(e,t,r={}){let i=r.surface??`all`,a=!t&&includesApplicationSurface(i)&&e.scheduleRegistrations.length>0,c=resolveNitroPreset(t),l=c===`vercel`?createCompiledSandboxBackendPrunePlugin():null,u=l===null?[]:[l],d=createNitroBundlerConfig(u),f=createNitroBundlerConfig(u),p=collectHostedTraceDependencies(e),m=resolveNitroBuildDirectory(e.appRoot,i),h=e.compiledArtifacts.instrumentationPluginPath===void 0?[resolvePackageSourceFilePath(`src/internal/nitro/host/code-mode-runtime-dependency-plugin.ts`),e.compiledArtifacts.bootstrapPath]:[resolvePackageSourceFilePath(`src/internal/nitro/host/code-mode-runtime-dependency-plugin.ts`),e.compiledArtifacts.instrumentationPluginPath,e.compiledArtifacts.bootstrapPath];await prepareAshVersionedCacheDirectory(m);let g=await createNitro({_cli:{command:t?`dev`:`build`},buildDir:m,dev:t,logLevel:t?1:void 0,output:r.outputDir===void 0?void 0:{dir:r.outputDir},preset:c,plugins:h,publicAssets:[],scanDirs:includesWorkflowStepRegistrations(i)?[resolvePackageSourceDirectoryPath(`src/execution`)]:void 0,rolldownConfig:d,rollupConfig:f,rootDir:e.appRoot,serverDir:!1,traceDeps:p,vercel:createAshVercelOptions(c===`vercel`&&includesApplicationSurface(i))},t?{watch:!0}:void 0);if(await writeAshVersionedCacheMetadata(m),addNitroRoutingImportSpecifierPlugin(g),includesWorkflowSurface(i)){let t=resolveWorkflowAliases();for(let[e,n]of Object.entries(t))g.options.alias[e]=n;addWorkflowModuleSideEffectsPlugin(g,e.workflowBuildDir),patchWorkflowTransformExcludePath(g,e.workflowBuildDir)}if(includesWorkflowStepRegistrations(i)){let t=resolveWorkflowStepEntrypointPath(g,e);addNitroStepModuleSideEffectsPlugin(g,{stepEntrypointPath:t}),addNitroStepTransformPlugin(g,{stepEntrypointPath:t})}if(e.compiledArtifacts.instrumentationSourcePath!==void 0&&addInstrumentationModuleSideEffectsPlugin(g,e.compiledArtifacts.instrumentationSourcePath),t&&includesWorkflowSurface(i)){let t=e.workflowBuildDir,r=new Set([normalizePath(join(t,`workflows.mjs`))]);g.hooks.hook(`rollup:before`,(e,t)=>{let n=t.external;t.external=(e,...t)=>{if(r.has(normalizePath(e)))return!0;if(typeof n==`function`)return n(e,...t)}})}return a&&(applyAshCronHandlerRoute(g),registerScheduleTaskHandlers(g,{artifactsConfig:createNitroArtifactsConfig({appRoot:e.appRoot,dev:g.options.dev}),dispatchModulePath:resolvePackageSourceFilePath(`src/internal/nitro/routes/schedule-task.ts`),registrations:e.scheduleRegistrations})),await configureNitroRoutes(g,e,{surface:i}),includesWorkflowStepRegistrations(i)&&await addNitroStepNoExternals(g,resolveWorkflowStepEntrypointPath(g,e)),g}export{createApplicationNitro};
@@ -1 +1 @@
1
- import{join}from"node:path";import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{build,createDevServer,prepare}from"nitro/builder";import{createApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{materializeCodeModeWorkerRuntimeAssets}from"#internal/nitro/host/code-mode-worker-asset.js";import{prepareApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{prewarmAppSandboxes}from"#execution/sandbox/prewarm.js";const MAX_ALLOWED_DEVELOPMENT_SERVER_PORT=65535,WORKFLOW_LOCAL_BASE_URL_ENV=`WORKFLOW_LOCAL_BASE_URL`,PORT_ENV=`PORT`,WILDCARD_LISTEN_HOSTNAMES=new Set([`[::]`,`::`,`0.0.0.0`]);function normalizeDevelopmentServerClientUrl(e){let t=new URL(e);return WILDCARD_LISTEN_HOSTNAMES.has(t.hostname)?(t.hostname=`127.0.0.1`,t.toString()):e}function isAddressInUseError(e){return e instanceof Error&&`code`in e&&e.code===`EADDRINUSE`}function resolveDevelopmentServerPort(e){let t=typeof e==`string`?Number(e):e??3e3;if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid development server port "${String(e)}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function readEnvironmentPort(){let e=process.env[PORT_ENV];if(e===void 0||e.trim()===``)return;let t=Number(e);if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid ${PORT_ENV} environment variable "${e}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function resolveDevelopmentServerPorts(e){let t=resolveDevelopmentServerPort(e.port);if(t===0||!e.retryOnAddressInUse)return[t];let n=[];for(let e=0;e<10;e+=1){let r=t+e;if(r>65535)break;n.push(r)}return n}function installWorkflowLocalQueueEnvironment(e){let t=process.env[WORKFLOW_LOCAL_BASE_URL_ENV],n=process.env[PORT_ENV],r=new URL(normalizeDevelopmentServerClientUrl(e));return process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=r.origin,r.port&&(process.env[PORT_ENV]=r.port),()=>{t===void 0?delete process.env[WORKFLOW_LOCAL_BASE_URL_ENV]:process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=t,n===void 0?delete process.env[PORT_ENV]:process.env[PORT_ENV]=n}}function attachTemporarySocketErrorHandler(e){let onSocketError=()=>{};return e.once(`error`,onSocketError),()=>{e.off(`error`,onSocketError)}}function shouldProxyDevelopmentServerWebSocketUpgrades(e){return e.options.features.websocket===!0||e.options.experimental.websocket===!0}function guardDevelopmentServerWebSocketUpgrades(e,t){let n=t.upgrade.bind(t),r=shouldProxyDevelopmentServerWebSocketUpgrades(e);t.upgrade=async(e,t,i)=>{if(!r){t.destroyed||t.destroy();return}let a=attachTemporarySocketErrorHandler(t);try{await n(e,t,i)}catch{t.destroyed||t.destroy()}finally{a()}}}async function listenForDevelopmentServer(e){let t=resolveDevelopmentServerPorts({port:e.port,retryOnAddressInUse:e.retryOnAddressInUse}),n;for(let r of t){let t=e.devServer.listen({hostname:e.host,port:r,silent:!0});try{return await t.ready(),t}catch(r){if(n=r,await t.close().catch(()=>{}),!isAddressInUseError(r)||!e.retryOnAddressInUse)throw r}}throw Error(`Failed to start Nitro dev server after ${t.length} attempts. Tried ports ${t.join(`, `)}.`,{cause:n})}async function startDevelopmentServer(s,c={}){loadDevelopmentEnvironmentFiles(s);let l=await prepareApplicationHost(s);await prewarmAppSandboxes({appRoot:l.appRoot,log:e=>console.log(e)});let u=await createApplicationNitro(l,!0),d=createDevServer(u);guardDevelopmentServerWebSocketUpgrades(u,d);let f=c.host??u.options.devServer.hostname,p=c.port??readEnvironmentPort(),m=p??u.options.devServer.port,h=p===void 0,g,_;try{let t=await listenForDevelopmentServer({devServer:d,host:f,port:m,retryOnAddressInUse:h});if(!t.url)throw Error(`Nitro dev server did not expose a URL.`);g=installWorkflowLocalQueueEnvironment(t.url),await prepare(u),await build(u),await materializeCodeModeWorkerRuntimeAssets(join(u.options.buildDir,`dev`));let{startAuthoredSourceWatcher:r}=await import(`#internal/nitro/host/dev-authored-source-watcher.js`);_=await r({nitro:u,preparedHost:l});let a=g;if(a===void 0)throw Error(`Workflow local queue environment was not initialized.`);let o=_;return{async close(){try{await o.close(),await d.close(),await u.close()}finally{a()}},url:normalizeDevelopmentServerClientUrl(t.url)}}catch(e){throw await _?.close().catch(()=>{}),g?.(),await d.close().catch(()=>{}),await u.close().catch(()=>{}),e}}export{normalizeDevelopmentServerClientUrl,startDevelopmentServer};
1
+ import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{build,createDevServer,prepare}from"nitro/builder";import{createApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{prepareApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{prewarmAppSandboxes}from"#execution/sandbox/prewarm.js";const MAX_ALLOWED_DEVELOPMENT_SERVER_PORT=65535,WORKFLOW_LOCAL_BASE_URL_ENV=`WORKFLOW_LOCAL_BASE_URL`,PORT_ENV=`PORT`,WILDCARD_LISTEN_HOSTNAMES=new Set([`[::]`,`::`,`0.0.0.0`]);function normalizeDevelopmentServerClientUrl(e){let t=new URL(e);return WILDCARD_LISTEN_HOSTNAMES.has(t.hostname)?(t.hostname=`127.0.0.1`,t.toString()):e}function isAddressInUseError(e){return e instanceof Error&&`code`in e&&e.code===`EADDRINUSE`}function resolveDevelopmentServerPort(e){let t=typeof e==`string`?Number(e):e??3e3;if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid development server port "${String(e)}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function readEnvironmentPort(){let e=process.env[PORT_ENV];if(e===void 0||e.trim()===``)return;let t=Number(e);if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid ${PORT_ENV} environment variable "${e}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function resolveDevelopmentServerPorts(e){let t=resolveDevelopmentServerPort(e.port);if(t===0||!e.retryOnAddressInUse)return[t];let n=[];for(let e=0;e<10;e+=1){let r=t+e;if(r>65535)break;n.push(r)}return n}function installWorkflowLocalQueueEnvironment(e){let t=process.env[WORKFLOW_LOCAL_BASE_URL_ENV],n=process.env[PORT_ENV],r=new URL(normalizeDevelopmentServerClientUrl(e));return process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=r.origin,r.port&&(process.env[PORT_ENV]=r.port),()=>{t===void 0?delete process.env[WORKFLOW_LOCAL_BASE_URL_ENV]:process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=t,n===void 0?delete process.env[PORT_ENV]:process.env[PORT_ENV]=n}}function attachTemporarySocketErrorHandler(e){let onSocketError=()=>{};return e.once(`error`,onSocketError),()=>{e.off(`error`,onSocketError)}}function shouldProxyDevelopmentServerWebSocketUpgrades(e){return e.options.features.websocket===!0||e.options.experimental.websocket===!0}function guardDevelopmentServerWebSocketUpgrades(e,t){let n=t.upgrade.bind(t),r=shouldProxyDevelopmentServerWebSocketUpgrades(e);t.upgrade=async(e,t,i)=>{if(!r){t.destroyed||t.destroy();return}let a=attachTemporarySocketErrorHandler(t);try{await n(e,t,i)}catch{t.destroyed||t.destroy()}finally{a()}}}async function listenForDevelopmentServer(e){let t=resolveDevelopmentServerPorts({port:e.port,retryOnAddressInUse:e.retryOnAddressInUse}),n;for(let r of t){let t=e.devServer.listen({hostname:e.host,port:r,silent:!0});try{return await t.ready(),t}catch(r){if(n=r,await t.close().catch(()=>{}),!isAddressInUseError(r)||!e.retryOnAddressInUse)throw r}}throw Error(`Failed to start Nitro dev server after ${t.length} attempts. Tried ports ${t.join(`, `)}.`,{cause:n})}async function startDevelopmentServer(o,s={}){loadDevelopmentEnvironmentFiles(o);let c=await prepareApplicationHost(o);await prewarmAppSandboxes({appRoot:c.appRoot,log:e=>console.log(e)});let l=await createApplicationNitro(c,!0),u=createDevServer(l);guardDevelopmentServerWebSocketUpgrades(l,u);let d=s.host??l.options.devServer.hostname,f=s.port??readEnvironmentPort(),p=f??l.options.devServer.port,m=f===void 0,h,g;try{let e=await listenForDevelopmentServer({devServer:u,host:d,port:p,retryOnAddressInUse:m});if(!e.url)throw Error(`Nitro dev server did not expose a URL.`);h=installWorkflowLocalQueueEnvironment(e.url),await prepare(l),await build(l);let{startAuthoredSourceWatcher:n}=await import(`#internal/nitro/host/dev-authored-source-watcher.js`);g=await n({nitro:l,preparedHost:c});let i=h;if(i===void 0)throw Error(`Workflow local queue environment was not initialized.`);let a=g;return{async close(){try{await a.close(),await u.close(),await l.close()}finally{i()}},url:normalizeDevelopmentServerClientUrl(e.url)}}catch(e){throw await g?.close().catch(()=>{}),h?.(),await u.close().catch(()=>{}),await l.close().catch(()=>{}),e}}export{normalizeDevelopmentServerClientUrl,startDevelopmentServer};
@@ -0,0 +1 @@
1
+ function assertSync(e){return function(...t){let n=e(...t);if(n&&typeof n==`object`&&n instanceof Promise)throw Error(`Function unexpectedly returned a Promise`);return n}}var EvalFlags={JS_EVAL_TYPE_GLOBAL:0,JS_EVAL_TYPE_MODULE:1,JS_EVAL_TYPE_DIRECT:2,JS_EVAL_TYPE_INDIRECT:3,JS_EVAL_TYPE_MASK:3,JS_EVAL_FLAG_STRICT:8,JS_EVAL_FLAG_STRIP:16,JS_EVAL_FLAG_COMPILE_ONLY:32,JS_EVAL_FLAG_BACKTRACE_BARRIER:64},IntrinsicsFlags={BaseObjects:1,Date:2,Eval:4,StringNormalize:8,RegExp:16,RegExpCompiler:32,JSON:64,Proxy:128,MapSet:256,TypedArrays:512,Promise:1024,BigInt:2048,BigFloat:4096,BigDecimal:8192,OperatorOverloading:16384,BignumExt:32768},JSPromiseStateEnum={Pending:0,Fulfilled:1,Rejected:2},GetOwnPropertyNamesFlags={JS_GPN_STRING_MASK:1,JS_GPN_SYMBOL_MASK:2,JS_GPN_PRIVATE_MASK:4,JS_GPN_ENUM_ONLY:16,JS_GPN_SET_ENUM:32,QTS_GPN_NUMBER_MASK:64,QTS_STANDARD_COMPLIANT_NUMBER:128},IsEqualOp={IsStrictlyEqual:0,IsSameValue:1,IsSameValueZero:2};export{EvalFlags,GetOwnPropertyNamesFlags,IntrinsicsFlags,IsEqualOp,JSPromiseStateEnum,assertSync};
@@ -0,0 +1 @@
1
+ async function QuickJSRaw(e={}){var t;(function(){function humanReadableVersionToPacked(e){e=e.split(`-`)[0];for(var t=e.split(`.`).slice(0,3);t.length<3;)t.push(`00`);return t=t.map((e,t,n)=>e.padStart(2,`0`)),t.join(``)}var packedVersionToHumanReadable=e=>[e/1e4|0,(e/100|0)%100,e%100].join(`.`),e=2147483647,t=typeof process<`u`&&process.versions?.node?humanReadableVersionToPacked(process.versions.node):e;if(t<16e4)throw Error(`This emscripten-generated code requires node v${packedVersionToHumanReadable(16e4)} (detected v${packedVersionToHumanReadable(t)})`);var n=typeof navigator<`u`&&navigator.userAgent;if(n){var r=n.includes(`Safari/`)&&!n.includes(`Chrome/`)&&n.match(/Version\/(\d+\.?\d*\.?\d*)/)?humanReadableVersionToPacked(n.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]):e;if(r<15e4)throw Error(`This emscripten-generated code requires Safari v${packedVersionToHumanReadable(15e4)} (detected v${r})`);var i=n.match(/Firefox\/(\d+(?:\.\d+)?)/)?parseFloat(n.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]):e;if(i<79)throw Error(`This emscripten-generated code requires Firefox v79 (detected v${i})`);var a=n.match(/Chrome\/(\d+(?:\.\d+)?)/)?parseFloat(n.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]):e;if(a<85)throw Error(`This emscripten-generated code requires Chrome v85 (detected v${a})`)}})();var n=e,r=!!globalThis.window,i=!!globalThis.WorkerGlobalScope,a=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`,o=!r&&!a&&!i;if(a){let{createRequire:e}=await import(`node:module`);var s=e(import.meta.url)}function quickjsEmscriptenInit(e){let t={log:e||function(){}};for(let e of quickjsEmscriptenInit.inits)e(t);return n.quickJSEmscriptenExtensions=t,t}quickjsEmscriptenInit.inits=[],n.quickjsEmscriptenInit=quickjsEmscriptenInit,quickjsEmscriptenInit.inits.push(e=>{typeof receiveSourceMapJSON<`u`&&(e.receiveSourceMapJSON=t=>{if(typeof wasmSourceMap>`u`)return e.log(`receiveSourceMapJSON: received`,t),receiveSourceMapJSON(t);e.log(`receiveSourceMapJSON: already have data:`,wasmSourceMap,`ignoring`,t)})}),quickjsEmscriptenInit.inits.push(e=>{if(typeof WasmOffsetConverter<`u`){e.WasmOffsetConverter=WasmOffsetConverter;try{e.existingWasmOffsetConverter=wasmOffsetConverter,e.receiveWasmOffsetConverter=function(t,n){wasmOffsetConverter?e.log(`wasmOffsetConverter already set, ignored`):(e.log(`wasmOffsetConverter set`),wasmOffsetConverter=new WasmOffsetConverter(t,n))}}catch{e.receiveWasmOffsetConverter=function(){e.log(`wasmOffsetConverter variable not defined, this is a no-op`)}}}}),quickjsEmscriptenInit.inits.push(e=>{e.getWasmMemory=function(){return O}});var quit_=(e,t)=>{throw t},c=import.meta.url,l=``;function locateFile(e){return n.locateFile?n.locateFile(e,l):l+e}var readAsync,readBinary;if(a){if(!(globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`))throw Error(`not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)`);var u=s("node:fs");c.startsWith(`file:`)&&(l=s("node:path").dirname(s("node:url").fileURLToPath(c))+`/`),readBinary=e=>{e=isFileURI(e)?new URL(e):e;var t=u.readFileSync(e);return assert(Buffer.isBuffer(t)),t},readAsync=async(e,t=!0)=>{e=isFileURI(e)?new URL(e):e;var n=u.readFileSync(e,t?void 0:`utf8`);return assert(t?Buffer.isBuffer(n):typeof n==`string`),n},process.argv.length>1&&process.argv[1].replace(/\\/g,`/`),process.argv.slice(2),quit_=(e,t)=>{throw process.exitCode=e,t}}else if(!o)if(r||i){try{l=new URL(`.`,c).href}catch{}if(!(globalThis.window||globalThis.WorkerGlobalScope))throw Error(`not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)`);i&&(readBinary=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),readAsync=async e=>{if(isFileURI(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{if(r.status==200||r.status==0&&r.response){t(r.response);return}n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}else throw Error(`environment detection error`);var d=console.log.bind(console),err=console.error.bind(console);assert(!o,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var f;globalThis.WebAssembly||err(`no native wasm support detected`);var p=!1,m;function assert(e,t){e||abort(`Assertion failed`+(t?`: `+t:``))}var isFileURI=e=>e.startsWith(`file://`);function writeStackCookie(){var e=V();assert((e&3)==0),e==0&&(e+=4),b[e>>2]=34821223,b[e+4>>2]=2310721022,b[0]=1668509029}function checkStackCookie(){if(!p){var e=V();e==0&&(e+=4);var t=b[e>>2],n=b[e+4>>2];(t!=34821223||n!=2310721022)&&abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(e)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(n)} ${ptrToString(t)}`),b[0]!=1668509029&&abort(`Runtime error: The application has corrupted its heap memory area (address zero)!`)}}(()=>{var e=new Int16Array(1),t=new Int8Array(e.buffer);e[0]=25459,(t[0]!==115||t[1]!==99)&&abort(`Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)`)})();function consumedModuleProp(e){Object.getOwnPropertyDescriptor(n,e)||Object.defineProperty(n,e,{configurable:!0,set(){abort(`Attempt to set \`Module.${e}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`)}})}function makeInvalidEarlyAccess(e){return()=>assert(!1,`call to '${e}' via reference taken before Wasm module initialization`)}function ignoredModuleProp(e){Object.getOwnPropertyDescriptor(n,e)&&abort(`\`Module.${e}\` was supplied but \`${e}\` not included in INCOMING_MODULE_JS_API`)}function isExportedByForceFilesystem(e){return e===`FS_createPath`||e===`FS_createDataFile`||e===`FS_createPreloadedFile`||e===`FS_preloadFile`||e===`FS_unlink`||e===`addRunDependency`||e===`FS_createLazyFile`||e===`FS_createDevice`||e===`removeRunDependency`}function missingLibrarySymbol(e){unexportedRuntimeSymbol(e)}function unexportedRuntimeSymbol(e){Object.getOwnPropertyDescriptor(n,e)||Object.defineProperty(n,e,{configurable:!0,get(){var t=`'${e}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;isExportedByForceFilesystem(e)&&(t+=`. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you`),abort(t)}})}var h,g,_,v,y,b,x=!1;function updateMemoryViews(){var e=O.buffer;n.HEAP8=_=new Int8Array(e),new Int16Array(e),n.HEAPU8=v=new Uint8Array(e),new Uint16Array(e),y=new Int32Array(e),b=new Uint32Array(e),new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function initMemory(){if(n.wasmMemory)O=n.wasmMemory;else{var e=n.INITIAL_MEMORY||16777216;assert(e>=5242880,`INITIAL_MEMORY should be larger than STACK_SIZE, was `+e+`! (STACK_SIZE=5242880)`),O=new WebAssembly.Memory({initial:e/65536,maximum:32768})}updateMemoryViews()}assert(globalThis.Int32Array&&globalThis.Float64Array&&Int32Array.prototype.subarray&&Int32Array.prototype.set,`JS engine does not provide full typed array support`);function preRun(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)addOnPreRun(n.preRun.shift());consumedModuleProp(`preRun`),callRuntimeCallbacks(T)}function initRuntime(){assert(!x),x=!0,checkStackCookie(),Z.__wasm_call_ctors()}function postRun(){if(checkStackCookie(),n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)addOnPostRun(n.postRun.shift());consumedModuleProp(`postRun`),callRuntimeCallbacks(w)}function abort(e){n.onAbort?.(e),e=`Aborted(`+e+`)`,err(e),p=!0,e.search(/RuntimeError: [Uu]nreachable/)>=0&&(e+=`. "unreachable" may be due to ASYNCIFY_STACK_SIZE not being large enough (try increasing it)`);var t=new WebAssembly.RuntimeError(e);throw g?.(t),t}var S={error(){abort(`Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM`)},init(){S.error()},createDataFile(){S.error()},createPreloadedFile(){S.error()},createLazyFile(){S.error()},open(){S.error()},mkdev(){S.error()},registerDevice(){S.error()},analyzePath(){S.error()},ErrnoError(){S.error()}};function createExportWrapper(e,t){return(...n)=>{assert(x,`native function \`${e}\` called before runtime initialization`);var r=Z[e];return assert(r,`exported native function \`${e}\` not found`),assert(n.length<=t,`native function \`${e}\` called with ${n.length} args but expects ${t}`),r(...n)}}var C;function findWasmBinary(){return n.locateFile?locateFile(`emscripten-module.wasm`):new URL(`emscripten-module.wasm`,import.meta.url).href}function getBinarySync(e){if(e==C&&f)return new Uint8Array(f);if(readBinary)return readBinary(e);throw`both async and sync fetching of the wasm failed`}async function getWasmBinary(e){if(!f)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}async function instantiateArrayBuffer(e,t){try{var n=await getWasmBinary(e);return await WebAssembly.instantiate(n,t)}catch(t){err(`failed to asynchronously prepare wasm: ${t}`),isFileURI(e)&&err(`warning: Loading from a file URI (${e}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),abort(t)}}async function instantiateAsync(e,t,n){if(!e&&!isFileURI(t)&&!a)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){err(`wasm streaming compile failed: ${e}`),err(`falling back to ArrayBuffer instantiation`)}return instantiateArrayBuffer(t,n)}function getWasmImports(){return I.instrumentWasmImports(Y),{env:Y,wasi_snapshot_preview1:Y}}async function createWasm(){function receiveInstance(e,t){return Z=e.exports,Z=I.instrumentWasmExports(Z),assignWasmExports(Z),Z}var e=n;function receiveInstantiationResult(t){return assert(n===e,`the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?`),e=null,receiveInstance(t.instance)}var t=getWasmImports();return n.instantiateWasm?new Promise((e,r)=>{try{n.instantiateWasm(t,(t,n)=>{e(receiveInstance(t,n))})}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`),r(e)}}):(C??=findWasmBinary(),receiveInstantiationResult(await instantiateAsync(f,C,t)))}class ExitStatus{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(n)},w=[],addOnPostRun=e=>w.push(e),T=[],addOnPreRun=e=>T.push(e),E={},D=!0,ptrToString=e=>(assert(typeof e==`number`,`ptrToString expects a number, got ${typeof e}`),e>>>=0,`0x`+e.toString(16).padStart(8,`0`)),stackRestore=e=>H(e),stackSave=()=>W(),warnOnce=e=>{warnOnce.shown||={},warnOnce.shown[e]||(warnOnce.shown[e]=1,a&&(e=`warning: `+e),err(e))},O,k=globalThis.TextDecoder&&new TextDecoder,findStringEnd=(e,t,n,r)=>{var i=t+n;if(r)return i;for(;e[t]&&!(t>=i);)++t;return t},UTF8ArrayToString=(e,t=0,n,r)=>{var i=findStringEnd(e,t,n,r);if(i-t>16&&e.buffer&&k)return k.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128)){a+=String.fromCharCode(o);continue}var s=e[t++]&63;if((o&224)==192){a+=String.fromCharCode((o&31)<<6|s);continue}var c=e[t++]&63;if((o&240)==224?o=(o&15)<<12|s<<6|c:((o&248)!=240&&warnOnce(`Invalid UTF-8 leading byte `+ptrToString(o)+` encountered when deserializing a UTF-8 string in wasm memory to a JS string!`),o=(o&7)<<18|s<<12|c<<6|e[t++]&63),o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return a},UTF8ToString=(e,t,n)=>(assert(typeof e==`number`,`UTF8ToString expects a number (got ${typeof e})`),e?UTF8ArrayToString(v,e,t,n):``),___assert_fail=(e,t,n,r)=>abort(`Assertion failed: ${UTF8ToString(e)}, at: `+[t?UTF8ToString(t):`unknown filename`,n,r?UTF8ToString(r):`unknown function`]),__abort_js=()=>abort(`native code called abort()`),isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),A=[0,31,60,91,121,152,182,213,244,274,305,335],j=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>(isLeapYear(e.getFullYear())?A:j)[e.getMonth()]+e.getDate()-1,M=9007199254740992,N=-9007199254740992,bigintToI53Checked=e=>e<N||e>M?NaN:Number(e);function __localtime_js(e,t){e=bigintToI53Checked(e);var n=new Date(e*1e3);y[t>>2]=n.getSeconds(),y[t+4>>2]=n.getMinutes(),y[t+8>>2]=n.getHours(),y[t+12>>2]=n.getDate(),y[t+16>>2]=n.getMonth(),y[t+20>>2]=n.getFullYear()-1900,y[t+24>>2]=n.getDay();var r=ydayFromDate(n)|0;y[t+28>>2]=r,y[t+36>>2]=-(n.getTimezoneOffset()*60);var i=new Date(n.getFullYear(),0,1),a=new Date(n.getFullYear(),6,1).getTimezoneOffset(),o=i.getTimezoneOffset(),s=(a!=o&&n.getTimezoneOffset()==Math.min(o,a))|0;y[t+32>>2]=s}var stringToUTF8Array=(e,t,n,r)=>{if(assert(typeof e==`string`,`stringToUTF8Array expects a string (got ${typeof e})`),!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.codePointAt(o);if(s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|s&63}else{if(n+3>=a)break;s>1114111&&warnOnce(`Invalid Unicode code point `+ptrToString(s)+` encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).`),t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|s&63,o++}}return t[n]=0,n-i},stringToUTF8=(e,t,n)=>(assert(typeof n==`number`,`stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!`),stringToUTF8Array(e,v,t,n)),lengthBytesUTF8=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},__tzset_js=(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1),o=new Date(i,6,1),s=a.getTimezoneOffset(),c=o.getTimezoneOffset(),l=Math.max(s,c);b[e>>2]=l*60,y[t>>2]=Number(s!=c);var extractZone=e=>{var t=e>=0?`-`:`+`,n=Math.abs(e);return`UTC${t}${String(Math.floor(n/60)).padStart(2,`0`)}${String(n%60).padStart(2,`0`)}`},u=extractZone(s),d=extractZone(c);assert(u),assert(d),assert(lengthBytesUTF8(u)<=16,`timezone name truncated to fit in TZNAME_MAX (${u})`),assert(lengthBytesUTF8(d)<=16,`timezone name truncated to fit in TZNAME_MAX (${d})`),c<s?(stringToUTF8(u,n,17),stringToUTF8(d,r,17)):(stringToUTF8(u,r,17),stringToUTF8(d,n,17))},_emscripten_date_now=()=>Date.now(),getHeapMax=()=>2147483648,alignMemory=(e,t)=>(assert(t,`alignment argument is required`),Math.ceil(e/t)*t),growMemory=e=>{var t=O.buffer.byteLength,n=(e-t+65535)/65536|0;try{return O.grow(n),updateMemoryViews(),1}catch(n){err(`growMemory: Attempted to grow heap from ${t} bytes to ${e} bytes, but got error: ${n}`)}},_emscripten_resize_heap=e=>{var t=v.length;e>>>=0,assert(e>t);var n=getHeapMax();if(e>n)return err(`Cannot enlarge memory, requested ${e} bytes, but the limit is ${n} bytes!`),!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var a=Math.min(n,alignMemory(Math.max(e,i),65536));if(growMemory(a))return!0}return err(`Failed to grow the heap from ${t} bytes to ${a} bytes, not enough memory!`),!1},_fd_close=e=>{abort(`fd_close called without SYSCALLS_REQUIRE_FILESYSTEM`)};function _fd_seek(e,t,n,r){return t=bigintToI53Checked(t),70}var P=[null,[],[]],printChar=(e,t)=>{var n=P[e];assert(n),t===0||t===10?((e===1?d:err)(UTF8ArrayToString(n)),n.length=0):n.push(t)},flush_NO_FILESYSTEM=()=>{z(0),P[1].length&&printChar(1,10),P[2].length&&printChar(2,10)},_fd_write=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=b[t>>2],s=b[t+4>>2];t+=8;for(var c=0;c<s;c++)printChar(e,v[o+c]);i+=s}return b[r>>2]=i,0},runAndAbortIfError=e=>{try{return e()}catch(e){abort(e)}},handleException=e=>{if(e instanceof ExitStatus||e==`unwind`)return m;checkStackCookie(),e instanceof WebAssembly.RuntimeError&&W()<=0&&err(`Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 5242880)`),quit_(1,e)},F=0,keepRuntimeAlive=()=>D||F>0,_proc_exit=e=>{m=e,keepRuntimeAlive()||(n.onExit?.(e),p=!0),quit_(e,new ExitStatus(e))},_exit=(e,t)=>{if(m=e,checkUnflushedContent(),keepRuntimeAlive()&&!t){var n=`program exited (with status: ${e}), but keepRuntimeAlive() is set (counter=${F}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;g?.(n),err(n)}_proc_exit(e)},maybeExit=()=>{if(!keepRuntimeAlive())try{_exit(m)}catch(e){handleException(e)}},callUserCallback=e=>{if(p){err(`user callback triggered after runtime exited or application aborted. Ignoring.`);return}try{return e()}catch(e){handleException(e)}finally{maybeExit()}},createNamedFunction=(e,t)=>Object.defineProperty(t,"name",{value:e}),runtimeKeepalivePush=()=>{F+=1},runtimeKeepalivePop=()=>{assert(F>0),--F},I={instrumentWasmImports(e){var t=/^(qts_host_call_function|qts_host_load_module_source|qts_host_normalize_module|invoke_.*|__asyncjs__.*)$/;for(let[n,r]of Object.entries(e))if(typeof r==`function`){let i=r.isAsync||t.test(n);e[n]=(...e)=>{var t=I.state;try{return r(...e)}finally{var a=t===I.State.Normal&&I.state===I.State.Disabled,o=n.startsWith(`invoke_`)&&!0;I.state!==t&&!i&&!a&&!o&&abort(`import ${n} was not in ASYNCIFY_IMPORTS, but changed the state`)}}}},instrumentFunction(e){var wrapper=(...t)=>{I.exportCallStack.push(e);try{return e(...t)}finally{p||(assert(I.exportCallStack.pop()===e),I.maybeStopUnwind())}};return I.funcWrappers.set(e,wrapper),wrapper=createNamedFunction(`__asyncify_wrapper_${e.name}`,wrapper),wrapper},instrumentWasmExports(e){var t={};for(let[n,r]of Object.entries(e))typeof r==`function`?t[n]=I.instrumentFunction(r):t[n]=r;return t},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:81920,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(e){if(assert(e),!I.callstackFuncToId.has(e)){var t=I.callStackId++;I.callstackFuncToId.set(e,t),I.callStackIdToFunc.set(t,e)}return I.callstackFuncToId.get(e)},maybeStopUnwind(){I.currData&&I.state===I.State.Unwinding&&I.exportCallStack.length===0&&(I.state=I.State.Normal,runAndAbortIfError(K),typeof Fibers<`u`&&Fibers.trampoline())},whenDone(){return assert(I.currData,`Tried to wait for an async operation when none is in progress.`),assert(!I.asyncPromiseHandlers,`Cannot have multiple async operations in flight at once`),new Promise((e,t)=>{I.asyncPromiseHandlers={resolve:e,reject:t}})},allocateData(){var e=L(12+I.StackSize);return I.setDataHeader(e,e+12,I.StackSize),I.setDataRewindFunc(e),e},setDataHeader(e,t,n){b[e>>2]=t,b[e+4>>2]=t+n},setDataRewindFunc(e){var t=I.exportCallStack[0];assert(t,`exportCallStack is empty`);var n=I.getCallStackId(t);y[e+8>>2]=n},getDataRewindFunc(e){var t=y[e+8>>2],n=I.callStackIdToFunc.get(t);return assert(n,`id ${t} not found in callStackIdToFunc`),n},doRewind(e){var t=I.getDataRewindFunc(e),n=I.funcWrappers.get(t);return assert(t),assert(n),callUserCallback(n)},handleSleep(e){if(assert(I.state!==I.State.Disabled,`Asyncify cannot be done during or after the runtime exits`),!p){if(I.state===I.State.Normal){var t=!1,n=!1;e((e=0)=>{if(assert([`undefined`,`number`,`boolean`,`bigint`].includes(typeof e),`invalid type for handleSleepReturnValue: '${typeof e}'`),!p&&(I.handleSleepReturnValue=e,t=!0,n)){assert(!I.exportCallStack.length,`Waking up (starting to rewind) must be done from JS, without compiled code on the stack.`),I.state=I.State.Rewinding,runAndAbortIfError(()=>q(I.currData)),typeof MainLoop<`u`&&MainLoop.func&&MainLoop.resume();var r,i=!1;try{r=I.doRewind(I.currData)}catch(e){r=e,i=!0}var a=!1;if(!I.currData){var o=I.asyncPromiseHandlers;o&&(I.asyncPromiseHandlers=null,(i?o.reject:o.resolve)(r),a=!0)}if(i&&!a)throw r}}),n=!0,t||(I.state=I.State.Unwinding,I.currData=I.allocateData(),typeof MainLoop<`u`&&MainLoop.func&&MainLoop.pause(),runAndAbortIfError(()=>G(I.currData)))}else I.state===I.State.Rewinding?(I.state=I.State.Normal,runAndAbortIfError(J),R(I.currData),I.currData=null,I.sleepCallbacks.forEach(callUserCallback)):abort(`invalid state: ${I.state}`);return I.handleSleepReturnValue}},handleAsync:e=>I.handleSleep(async t=>{t(await e())})},getCFunc=e=>{var t=n[`_`+e];return assert(t,`Cannot call unknown function `+e+`, make sure it is exported`),t},writeArrayToMemory=(e,t)=>{assert(e.length>=0,`writeArrayToMemory array must have a length (should be an array or typed array)`),_.set(e,t)},stackAlloc=e=>U(e),stringToUTF8OnStack=e=>{var t=lengthBytesUTF8(e)+1,n=stackAlloc(t);return stringToUTF8(e,n,t),n},ccall=(e,t,n,r,i)=>{var a={string:e=>{var t=0;return e!=null&&e!==0&&(t=stringToUTF8OnStack(e)),t},array:e=>{var t=stackAlloc(e.length);return writeArrayToMemory(e,t),t}};function convertReturnValue(e){return t===`string`?UTF8ToString(e):t===`boolean`?!!e:e}var o=getCFunc(e),s=[],c=0;if(assert(t!==`array`,`Return type should not be "array".`),r)for(var l=0;l<r.length;l++){var u=a[n[l]];u?(c===0&&(c=stackSave()),s[l]=u(r[l])):s[l]=r[l]}var d=I.currData,f=o(...s);function onDone(e){return runtimeKeepalivePop(),c!==0&&stackRestore(c),convertReturnValue(e)}var p=i?.async;return runtimeKeepalivePush(),I.currData==d?(f=onDone(f),p?Promise.resolve(f):f):(assert(!(d&&I.currData),`We cannot start an async operation when one is already in flight`),assert(!(d&&!I.currData),`We cannot stop an async operation in flight`),assert(p,`The call to `+e+` is running asynchronously. If this was intended, add the async option to the ccall/cwrap call.`),I.whenDone().then(onDone))},cwrap=(e,t,n,r)=>(...i)=>ccall(e,t,n,i,r);if(initMemory(),n.noExitRuntime&&(D=n.noExitRuntime),n.print&&(d=n.print),n.printErr&&(err=n.printErr),n.wasmBinary&&(f=n.wasmBinary),n.FS_createDataFile=S.createDataFile,n.FS_createPreloadedFile=S.createPreloadedFile,checkIncomingModuleAPI(),n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,assert(n.memoryInitializerPrefixURL===void 0,`Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead`),assert(n.pthreadMainPrefixURL===void 0,`Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead`),assert(n.cdInitializerPrefixURL===void 0,`Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead`),assert(n.filePackagePrefixURL===void 0,`Module.filePackagePrefixURL option was removed, use Module.locateFile instead`),assert(n.read===void 0,`Module.read option was removed`),assert(n.readAsync===void 0,`Module.readAsync option was removed (modify readAsync in JS)`),assert(n.readBinary===void 0,`Module.readBinary option was removed (modify readBinary in JS)`),assert(n.setWindowTitle===void 0,`Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)`),assert(n.TOTAL_MEMORY===void 0,`Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY`),assert(n.ENVIRONMENT===void 0,`Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)`),assert(n.STACK_SIZE===void 0,`STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time`),n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();consumedModuleProp(`preInit`),n.cwrap=cwrap,n.UTF8ToString=UTF8ToString,n.stringToUTF8=stringToUTF8,n.lengthBytesUTF8=lengthBytesUTF8,n.Asyncify=I,`writeI53ToI64.writeI53ToI64Clamped.writeI53ToI64Signaling.writeI53ToU64Clamped.writeI53ToU64Signaling.readI53FromI64.readI53FromU64.convertI32PairToI53.convertI32PairToI53Checked.convertU32PairToI53.getTempRet0.setTempRet0.zeroMemory.withStackSave.strError.inetPton4.inetNtop4.inetPton6.inetNtop6.readSockaddr.writeSockaddr.readEmAsmArgs.jstoi_q.getExecutableName.autoResumeAudioContext.getDynCaller.asyncLoad.asmjsMangle.mmapAlloc.HandleAllocator.getUniqueRunDependency.addRunDependency.removeRunDependency.addOnInit.addOnPostCtor.addOnPreMain.addOnExit.STACK_SIZE.STACK_ALIGN.POINTER_SIZE.ASSERTIONS.convertJsFunctionToWasm.getEmptyTableSlot.updateTableMap.getFunctionAddress.addFunction.removeFunction.intArrayFromString.intArrayToString.AsciiToString.stringToAscii.UTF16ToString.stringToUTF16.lengthBytesUTF16.UTF32ToString.stringToUTF32.lengthBytesUTF32.stringToNewUTF8.registerKeyEventCallback.maybeCStringToJsString.findEventTarget.getBoundingClientRect.fillMouseEventData.registerMouseEventCallback.registerWheelEventCallback.registerUiEventCallback.registerFocusEventCallback.fillDeviceOrientationEventData.registerDeviceOrientationEventCallback.fillDeviceMotionEventData.registerDeviceMotionEventCallback.screenOrientation.fillOrientationChangeEventData.registerOrientationChangeEventCallback.fillFullscreenChangeEventData.registerFullscreenChangeEventCallback.JSEvents_requestFullscreen.JSEvents_resizeCanvasForFullscreen.registerRestoreOldStyle.hideEverythingExceptGivenElement.restoreHiddenElements.setLetterbox.softFullscreenResizeWebGLRenderTarget.doRequestFullscreen.fillPointerlockChangeEventData.registerPointerlockChangeEventCallback.registerPointerlockErrorEventCallback.requestPointerLock.fillVisibilityChangeEventData.registerVisibilityChangeEventCallback.registerTouchEventCallback.fillGamepadEventData.registerGamepadEventCallback.registerBeforeUnloadEventCallback.fillBatteryEventData.registerBatteryEventCallback.setCanvasElementSize.getCanvasElementSize.jsStackTrace.getCallstack.convertPCtoSourceLocation.getEnvStrings.checkWasiClock.wasiRightsToMuslOFlags.wasiOFlagsToMuslOFlags.initRandomFill.randomFill.safeSetTimeout.setImmediateWrapped.safeRequestAnimationFrame.clearImmediateWrapped.registerPostMainLoop.registerPreMainLoop.getPromise.makePromise.idsToPromises.makePromiseCallback.Browser_asyncPrepareDataCounter.arraySum.addDays.getSocketFromFD.getSocketAddress.FS_createPreloadedFile.FS_preloadFile.FS_modeStringToFlags.FS_getMode.FS_stdin_getChar.FS_mkdirTree._setNetworkCallback.ALLOC_NORMAL.ALLOC_STACK.allocate.writeStringToMemory.writeAsciiToMemory.allocateUTF8.allocateUTF8OnStack.stackTrace.getNativeTypeSize`.split(`.`).forEach(missingLibrarySymbol),`run.out.err.callMain.abort.wasmExports.HEAPF32.HEAPF64.HEAP16.HEAPU16.HEAP32.HEAPU32.HEAP64.HEAPU64.writeStackCookie.checkStackCookie.INT53_MAX.INT53_MIN.bigintToI53Checked.stackSave.stackRestore.stackAlloc.createNamedFunction.ptrToString.exitJS.getHeapMax.growMemory.ENV.ERRNO_CODES.DNS.Protocols.Sockets.timers.warnOnce.readEmAsmArgsArray.dynCallLegacy.dynCall.handleException.keepRuntimeAlive.runtimeKeepalivePush.runtimeKeepalivePop.callUserCallback.maybeExit.alignMemory.wasmTable.wasmMemory.noExitRuntime.addOnPreRun.addOnPostRun.ccall.freeTableIndexes.functionsInTableMap.setValue.getValue.PATH.PATH_FS.UTF8Decoder.UTF8ArrayToString.stringToUTF8Array.UTF16Decoder.stringToUTF8OnStack.writeArrayToMemory.JSEvents.specialHTMLTargets.findCanvasEventTarget.currentFullscreenStrategy.restoreOldWindowedStyle.UNWIND_CACHE.ExitStatus.flush_NO_FILESYSTEM.emSetImmediate.emClearImmediate_deps.emClearImmediate.promiseMap.Browser.requestFullscreen.requestFullScreen.setCanvasSize.getUserMedia.createContext.getPreloadedImageData__data.wget.MONTH_DAYS_REGULAR.MONTH_DAYS_LEAP.MONTH_DAYS_REGULAR_CUMULATIVE.MONTH_DAYS_LEAP_CUMULATIVE.isLeapYear.ydayFromDate.SYSCALLS.preloadPlugins.FS_stdin_getChar_buffer.FS_unlink.FS_createPath.FS_createDevice.FS_readFile.FS.FS_root.FS_mounts.FS_devices.FS_streams.FS_nextInode.FS_nameTable.FS_currentPath.FS_initialized.FS_ignorePermissions.FS_filesystems.FS_syncFSRequests.FS_lookupPath.FS_getPath.FS_hashName.FS_hashAddNode.FS_hashRemoveNode.FS_lookupNode.FS_createNode.FS_destroyNode.FS_isRoot.FS_isMountpoint.FS_isFile.FS_isDir.FS_isLink.FS_isChrdev.FS_isBlkdev.FS_isFIFO.FS_isSocket.FS_flagsToPermissionString.FS_nodePermissions.FS_mayLookup.FS_mayCreate.FS_mayDelete.FS_mayOpen.FS_checkOpExists.FS_nextfd.FS_getStreamChecked.FS_getStream.FS_createStream.FS_closeStream.FS_dupStream.FS_doSetAttr.FS_chrdev_stream_ops.FS_major.FS_minor.FS_makedev.FS_registerDevice.FS_getDevice.FS_getMounts.FS_syncfs.FS_mount.FS_unmount.FS_lookup.FS_mknod.FS_statfs.FS_statfsStream.FS_statfsNode.FS_create.FS_mkdir.FS_mkdev.FS_symlink.FS_rename.FS_rmdir.FS_readdir.FS_readlink.FS_stat.FS_fstat.FS_lstat.FS_doChmod.FS_chmod.FS_lchmod.FS_fchmod.FS_doChown.FS_chown.FS_lchown.FS_fchown.FS_doTruncate.FS_truncate.FS_ftruncate.FS_utime.FS_open.FS_close.FS_isClosed.FS_llseek.FS_read.FS_write.FS_mmap.FS_msync.FS_ioctl.FS_writeFile.FS_cwd.FS_chdir.FS_createDefaultDirectories.FS_createDefaultDevices.FS_createSpecialDirectories.FS_createStandardStreams.FS_staticInit.FS_init.FS_quit.FS_findObject.FS_analyzePath.FS_createFile.FS_createDataFile.FS_forceLoadFile.FS_createLazyFile.FS_absolutePath.FS_createFolder.FS_createLink.FS_joinPath.FS_mmapAlloc.FS_standardizePath.MEMFS.TTY.PIPEFS.SOCKFS.runAndAbortIfError.Fibers.print.printErr.jstoi_s`.split(`.`).forEach(unexportedRuntimeSymbol);function checkIncomingModuleAPI(){ignoredModuleProp(`fetchSettings`),ignoredModuleProp(`logReadFiles`),ignoredModuleProp(`loadSplitModule`)}function set_asyncify_stack_size(e,t){I.StackSize=e||t}function qts_host_ref_free(e,t){n.callbacks.freeHostRef(void 0,e,t)}function qts_host_call_function(e,t,r,i,a){let o={handleSleep:I.handleSleep};return n.callbacks.callFunction(o,e,t,r,i,a)}function qts_host_interrupt_handler(e){return n.callbacks.shouldInterrupt(void 0,e)}function qts_host_load_module_source(e,t,r){let i={handleSleep:I.handleSleep},a=UTF8ToString(r);return n.callbacks.loadModuleSource(i,e,t,a)}function qts_host_normalize_module(e,t,r,i){let a={handleSleep:I.handleSleep},o=UTF8ToString(r),s=UTF8ToString(i);return n.callbacks.normalizeModule(a,e,t,o,s)}var L=n._malloc=makeInvalidEarlyAccess(`_malloc`);n._QTS_Throw=makeInvalidEarlyAccess(`_QTS_Throw`),n._QTS_NewError=makeInvalidEarlyAccess(`_QTS_NewError`),n._QTS_RuntimeSetMemoryLimit=makeInvalidEarlyAccess(`_QTS_RuntimeSetMemoryLimit`),n._QTS_RuntimeComputeMemoryUsage=makeInvalidEarlyAccess(`_QTS_RuntimeComputeMemoryUsage`),n._QTS_RuntimeDumpMemoryUsage=makeInvalidEarlyAccess(`_QTS_RuntimeDumpMemoryUsage`),n._QTS_RecoverableLeakCheck=makeInvalidEarlyAccess(`_QTS_RecoverableLeakCheck`),n._QTS_BuildIsSanitizeLeak=makeInvalidEarlyAccess(`_QTS_BuildIsSanitizeLeak`),n._QTS_RuntimeSetMaxStackSize=makeInvalidEarlyAccess(`_QTS_RuntimeSetMaxStackSize`),n._QTS_GetUndefined=makeInvalidEarlyAccess(`_QTS_GetUndefined`),n._QTS_GetNull=makeInvalidEarlyAccess(`_QTS_GetNull`),n._QTS_GetFalse=makeInvalidEarlyAccess(`_QTS_GetFalse`),n._QTS_GetTrue=makeInvalidEarlyAccess(`_QTS_GetTrue`),n._QTS_NewHostRef=makeInvalidEarlyAccess(`_QTS_NewHostRef`),n._QTS_GetHostRefId=makeInvalidEarlyAccess(`_QTS_GetHostRefId`),n._QTS_NewRuntime=makeInvalidEarlyAccess(`_QTS_NewRuntime`),n._QTS_FreeRuntime=makeInvalidEarlyAccess(`_QTS_FreeRuntime`);var R=n._free=makeInvalidEarlyAccess(`_free`);n._QTS_NewContext=makeInvalidEarlyAccess(`_QTS_NewContext`),n._QTS_FreeContext=makeInvalidEarlyAccess(`_QTS_FreeContext`),n._QTS_FreeValuePointer=makeInvalidEarlyAccess(`_QTS_FreeValuePointer`),n._QTS_FreeValuePointerRuntime=makeInvalidEarlyAccess(`_QTS_FreeValuePointerRuntime`),n._QTS_FreeVoidPointer=makeInvalidEarlyAccess(`_QTS_FreeVoidPointer`),n._QTS_FreeCString=makeInvalidEarlyAccess(`_QTS_FreeCString`),n._QTS_DupValuePointer=makeInvalidEarlyAccess(`_QTS_DupValuePointer`),n._QTS_NewObject=makeInvalidEarlyAccess(`_QTS_NewObject`),n._QTS_NewObjectProto=makeInvalidEarlyAccess(`_QTS_NewObjectProto`),n._QTS_NewArray=makeInvalidEarlyAccess(`_QTS_NewArray`),n._QTS_NewArrayBuffer=makeInvalidEarlyAccess(`_QTS_NewArrayBuffer`),n._QTS_NewFloat64=makeInvalidEarlyAccess(`_QTS_NewFloat64`),n._QTS_GetFloat64=makeInvalidEarlyAccess(`_QTS_GetFloat64`),n._QTS_NewString=makeInvalidEarlyAccess(`_QTS_NewString`),n._QTS_GetString=makeInvalidEarlyAccess(`_QTS_GetString`),n._QTS_GetArrayBuffer=makeInvalidEarlyAccess(`_QTS_GetArrayBuffer`),n._QTS_GetArrayBufferLength=makeInvalidEarlyAccess(`_QTS_GetArrayBufferLength`),n._QTS_NewSymbol=makeInvalidEarlyAccess(`_QTS_NewSymbol`),n._QTS_GetSymbolDescriptionOrKey=makeInvalidEarlyAccess(`_QTS_GetSymbolDescriptionOrKey`),n._QTS_IsGlobalSymbol=makeInvalidEarlyAccess(`_QTS_IsGlobalSymbol`),n._QTS_IsJobPending=makeInvalidEarlyAccess(`_QTS_IsJobPending`),n._QTS_ExecutePendingJob=makeInvalidEarlyAccess(`_QTS_ExecutePendingJob`),n._QTS_GetProp=makeInvalidEarlyAccess(`_QTS_GetProp`),n._QTS_GetPropNumber=makeInvalidEarlyAccess(`_QTS_GetPropNumber`),n._QTS_SetProp=makeInvalidEarlyAccess(`_QTS_SetProp`),n._QTS_DefineProp=makeInvalidEarlyAccess(`_QTS_DefineProp`),n._QTS_GetOwnPropertyNames=makeInvalidEarlyAccess(`_QTS_GetOwnPropertyNames`),n._QTS_Call=makeInvalidEarlyAccess(`_QTS_Call`),n._QTS_ResolveException=makeInvalidEarlyAccess(`_QTS_ResolveException`),n._QTS_Dump=makeInvalidEarlyAccess(`_QTS_Dump`),n._QTS_Eval=makeInvalidEarlyAccess(`_QTS_Eval`),n._QTS_GetModuleNamespace=makeInvalidEarlyAccess(`_QTS_GetModuleNamespace`),n._QTS_Typeof=makeInvalidEarlyAccess(`_QTS_Typeof`),n._QTS_GetLength=makeInvalidEarlyAccess(`_QTS_GetLength`),n._QTS_IsEqual=makeInvalidEarlyAccess(`_QTS_IsEqual`),n._QTS_GetGlobalObject=makeInvalidEarlyAccess(`_QTS_GetGlobalObject`),n._QTS_NewPromiseCapability=makeInvalidEarlyAccess(`_QTS_NewPromiseCapability`),n._QTS_PromiseState=makeInvalidEarlyAccess(`_QTS_PromiseState`),n._QTS_PromiseResult=makeInvalidEarlyAccess(`_QTS_PromiseResult`),n._QTS_TestStringArg=makeInvalidEarlyAccess(`_QTS_TestStringArg`),n._QTS_GetDebugLogEnabled=makeInvalidEarlyAccess(`_QTS_GetDebugLogEnabled`),n._QTS_SetDebugLogEnabled=makeInvalidEarlyAccess(`_QTS_SetDebugLogEnabled`),n._QTS_BuildIsDebug=makeInvalidEarlyAccess(`_QTS_BuildIsDebug`),n._QTS_BuildIsAsyncify=makeInvalidEarlyAccess(`_QTS_BuildIsAsyncify`),n._QTS_NewFunction=makeInvalidEarlyAccess(`_QTS_NewFunction`),n._QTS_ArgvGetJSValueConstPointer=makeInvalidEarlyAccess(`_QTS_ArgvGetJSValueConstPointer`),n._QTS_RuntimeEnableInterruptHandler=makeInvalidEarlyAccess(`_QTS_RuntimeEnableInterruptHandler`),n._QTS_RuntimeDisableInterruptHandler=makeInvalidEarlyAccess(`_QTS_RuntimeDisableInterruptHandler`),n._QTS_RuntimeEnableModuleLoader=makeInvalidEarlyAccess(`_QTS_RuntimeEnableModuleLoader`),n._QTS_RuntimeDisableModuleLoader=makeInvalidEarlyAccess(`_QTS_RuntimeDisableModuleLoader`),n._QTS_bjson_encode=makeInvalidEarlyAccess(`_QTS_bjson_encode`),n._QTS_bjson_decode=makeInvalidEarlyAccess(`_QTS_bjson_decode`);var z=makeInvalidEarlyAccess(`_fflush`),B=makeInvalidEarlyAccess(`_emscripten_stack_init`),V=makeInvalidEarlyAccess(`_emscripten_stack_get_end`),H=makeInvalidEarlyAccess(`__emscripten_stack_restore`),U=makeInvalidEarlyAccess(`__emscripten_stack_alloc`),W=makeInvalidEarlyAccess(`_emscripten_stack_get_current`),G=makeInvalidEarlyAccess(`_asyncify_start_unwind`),K=makeInvalidEarlyAccess(`_asyncify_stop_unwind`),q=makeInvalidEarlyAccess(`_asyncify_start_rewind`),J=makeInvalidEarlyAccess(`_asyncify_stop_rewind`);function assignWasmExports(e){assert(e.malloc!==void 0,`missing Wasm export: malloc`),assert(e.QTS_Throw!==void 0,`missing Wasm export: QTS_Throw`),assert(e.QTS_NewError!==void 0,`missing Wasm export: QTS_NewError`),assert(e.QTS_RuntimeSetMemoryLimit!==void 0,`missing Wasm export: QTS_RuntimeSetMemoryLimit`),assert(e.QTS_RuntimeComputeMemoryUsage!==void 0,`missing Wasm export: QTS_RuntimeComputeMemoryUsage`),assert(e.QTS_RuntimeDumpMemoryUsage!==void 0,`missing Wasm export: QTS_RuntimeDumpMemoryUsage`),assert(e.QTS_RecoverableLeakCheck!==void 0,`missing Wasm export: QTS_RecoverableLeakCheck`),assert(e.QTS_BuildIsSanitizeLeak!==void 0,`missing Wasm export: QTS_BuildIsSanitizeLeak`),assert(e.QTS_RuntimeSetMaxStackSize!==void 0,`missing Wasm export: QTS_RuntimeSetMaxStackSize`),assert(e.QTS_GetUndefined!==void 0,`missing Wasm export: QTS_GetUndefined`),assert(e.QTS_GetNull!==void 0,`missing Wasm export: QTS_GetNull`),assert(e.QTS_GetFalse!==void 0,`missing Wasm export: QTS_GetFalse`),assert(e.QTS_GetTrue!==void 0,`missing Wasm export: QTS_GetTrue`),assert(e.QTS_NewHostRef!==void 0,`missing Wasm export: QTS_NewHostRef`),assert(e.QTS_GetHostRefId!==void 0,`missing Wasm export: QTS_GetHostRefId`),assert(e.QTS_NewRuntime!==void 0,`missing Wasm export: QTS_NewRuntime`),assert(e.QTS_FreeRuntime!==void 0,`missing Wasm export: QTS_FreeRuntime`),assert(e.free!==void 0,`missing Wasm export: free`),assert(e.QTS_NewContext!==void 0,`missing Wasm export: QTS_NewContext`),assert(e.QTS_FreeContext!==void 0,`missing Wasm export: QTS_FreeContext`),assert(e.QTS_FreeValuePointer!==void 0,`missing Wasm export: QTS_FreeValuePointer`),assert(e.QTS_FreeValuePointerRuntime!==void 0,`missing Wasm export: QTS_FreeValuePointerRuntime`),assert(e.QTS_FreeVoidPointer!==void 0,`missing Wasm export: QTS_FreeVoidPointer`),assert(e.QTS_FreeCString!==void 0,`missing Wasm export: QTS_FreeCString`),assert(e.QTS_DupValuePointer!==void 0,`missing Wasm export: QTS_DupValuePointer`),assert(e.QTS_NewObject!==void 0,`missing Wasm export: QTS_NewObject`),assert(e.QTS_NewObjectProto!==void 0,`missing Wasm export: QTS_NewObjectProto`),assert(e.QTS_NewArray!==void 0,`missing Wasm export: QTS_NewArray`),assert(e.QTS_NewArrayBuffer!==void 0,`missing Wasm export: QTS_NewArrayBuffer`),assert(e.QTS_NewFloat64!==void 0,`missing Wasm export: QTS_NewFloat64`),assert(e.QTS_GetFloat64!==void 0,`missing Wasm export: QTS_GetFloat64`),assert(e.QTS_NewString!==void 0,`missing Wasm export: QTS_NewString`),assert(e.QTS_GetString!==void 0,`missing Wasm export: QTS_GetString`),assert(e.QTS_GetArrayBuffer!==void 0,`missing Wasm export: QTS_GetArrayBuffer`),assert(e.QTS_GetArrayBufferLength!==void 0,`missing Wasm export: QTS_GetArrayBufferLength`),assert(e.QTS_NewSymbol!==void 0,`missing Wasm export: QTS_NewSymbol`),assert(e.QTS_GetSymbolDescriptionOrKey!==void 0,`missing Wasm export: QTS_GetSymbolDescriptionOrKey`),assert(e.QTS_IsGlobalSymbol!==void 0,`missing Wasm export: QTS_IsGlobalSymbol`),assert(e.QTS_IsJobPending!==void 0,`missing Wasm export: QTS_IsJobPending`),assert(e.QTS_ExecutePendingJob!==void 0,`missing Wasm export: QTS_ExecutePendingJob`),assert(e.QTS_GetProp!==void 0,`missing Wasm export: QTS_GetProp`),assert(e.QTS_GetPropNumber!==void 0,`missing Wasm export: QTS_GetPropNumber`),assert(e.QTS_SetProp!==void 0,`missing Wasm export: QTS_SetProp`),assert(e.QTS_DefineProp!==void 0,`missing Wasm export: QTS_DefineProp`),assert(e.QTS_GetOwnPropertyNames!==void 0,`missing Wasm export: QTS_GetOwnPropertyNames`),assert(e.QTS_Call!==void 0,`missing Wasm export: QTS_Call`),assert(e.QTS_ResolveException!==void 0,`missing Wasm export: QTS_ResolveException`),assert(e.QTS_Dump!==void 0,`missing Wasm export: QTS_Dump`),assert(e.QTS_Eval!==void 0,`missing Wasm export: QTS_Eval`),assert(e.QTS_GetModuleNamespace!==void 0,`missing Wasm export: QTS_GetModuleNamespace`),assert(e.QTS_Typeof!==void 0,`missing Wasm export: QTS_Typeof`),assert(e.QTS_GetLength!==void 0,`missing Wasm export: QTS_GetLength`),assert(e.QTS_IsEqual!==void 0,`missing Wasm export: QTS_IsEqual`),assert(e.QTS_GetGlobalObject!==void 0,`missing Wasm export: QTS_GetGlobalObject`),assert(e.QTS_NewPromiseCapability!==void 0,`missing Wasm export: QTS_NewPromiseCapability`),assert(e.QTS_PromiseState!==void 0,`missing Wasm export: QTS_PromiseState`),assert(e.QTS_PromiseResult!==void 0,`missing Wasm export: QTS_PromiseResult`),assert(e.QTS_TestStringArg!==void 0,`missing Wasm export: QTS_TestStringArg`),assert(e.QTS_GetDebugLogEnabled!==void 0,`missing Wasm export: QTS_GetDebugLogEnabled`),assert(e.QTS_SetDebugLogEnabled!==void 0,`missing Wasm export: QTS_SetDebugLogEnabled`),assert(e.QTS_BuildIsDebug!==void 0,`missing Wasm export: QTS_BuildIsDebug`),assert(e.QTS_BuildIsAsyncify!==void 0,`missing Wasm export: QTS_BuildIsAsyncify`),assert(e.QTS_NewFunction!==void 0,`missing Wasm export: QTS_NewFunction`),assert(e.QTS_ArgvGetJSValueConstPointer!==void 0,`missing Wasm export: QTS_ArgvGetJSValueConstPointer`),assert(e.QTS_RuntimeEnableInterruptHandler!==void 0,`missing Wasm export: QTS_RuntimeEnableInterruptHandler`),assert(e.QTS_RuntimeDisableInterruptHandler!==void 0,`missing Wasm export: QTS_RuntimeDisableInterruptHandler`),assert(e.QTS_RuntimeEnableModuleLoader!==void 0,`missing Wasm export: QTS_RuntimeEnableModuleLoader`),assert(e.QTS_RuntimeDisableModuleLoader!==void 0,`missing Wasm export: QTS_RuntimeDisableModuleLoader`),assert(e.QTS_bjson_encode!==void 0,`missing Wasm export: QTS_bjson_encode`),assert(e.QTS_bjson_decode!==void 0,`missing Wasm export: QTS_bjson_decode`),assert(e.fflush!==void 0,`missing Wasm export: fflush`),assert(e.strerror!==void 0,`missing Wasm export: strerror`),assert(e.emscripten_stack_init!==void 0,`missing Wasm export: emscripten_stack_init`),assert(e.emscripten_stack_get_free!==void 0,`missing Wasm export: emscripten_stack_get_free`),assert(e.emscripten_stack_get_base!==void 0,`missing Wasm export: emscripten_stack_get_base`),assert(e.emscripten_stack_get_end!==void 0,`missing Wasm export: emscripten_stack_get_end`),assert(e._emscripten_stack_restore!==void 0,`missing Wasm export: _emscripten_stack_restore`),assert(e._emscripten_stack_alloc!==void 0,`missing Wasm export: _emscripten_stack_alloc`),assert(e.emscripten_stack_get_current!==void 0,`missing Wasm export: emscripten_stack_get_current`),assert(e.dynCall_viii!==void 0,`missing Wasm export: dynCall_viii`),assert(e.dynCall_jijiiii!==void 0,`missing Wasm export: dynCall_jijiiii`),assert(e.dynCall_iii!==void 0,`missing Wasm export: dynCall_iii`),assert(e.dynCall_iiiii!==void 0,`missing Wasm export: dynCall_iiiii`),assert(e.dynCall_iiii!==void 0,`missing Wasm export: dynCall_iiii`),assert(e.dynCall_vij!==void 0,`missing Wasm export: dynCall_vij`),assert(e.dynCall_ii!==void 0,`missing Wasm export: dynCall_ii`),assert(e.dynCall_jijjiii!==void 0,`missing Wasm export: dynCall_jijjiii`),assert(e.dynCall_vii!==void 0,`missing Wasm export: dynCall_vii`),assert(e.dynCall_jijiii!==void 0,`missing Wasm export: dynCall_jijiii`),assert(e.dynCall_jiii!==void 0,`missing Wasm export: dynCall_jiii`),assert(e.dynCall_jijii!==void 0,`missing Wasm export: dynCall_jijii`),assert(e.dynCall_jijiiiii!==void 0,`missing Wasm export: dynCall_jijiiiii`),assert(e.dynCall_jijj!==void 0,`missing Wasm export: dynCall_jijj`),assert(e.dynCall_viji!==void 0,`missing Wasm export: dynCall_viji`),assert(e.dynCall_jij!==void 0,`missing Wasm export: dynCall_jij`),assert(e.dynCall_jiji!==void 0,`missing Wasm export: dynCall_jiji`),assert(e.dynCall_iijijjji!==void 0,`missing Wasm export: dynCall_iijijjji`),assert(e.dynCall_iiiji!==void 0,`missing Wasm export: dynCall_iiiji`),assert(e.dynCall_iiji!==void 0,`missing Wasm export: dynCall_iiji`),assert(e.dynCall_iiiij!==void 0,`missing Wasm export: dynCall_iiiij`),assert(e.dynCall_jijij!==void 0,`missing Wasm export: dynCall_jijij`),assert(e.dynCall_iijijji!==void 0,`missing Wasm export: dynCall_iijijji`),assert(e.dynCall_iijj!==void 0,`missing Wasm export: dynCall_iijj`),assert(e.dynCall_iij!==void 0,`missing Wasm export: dynCall_iij`),assert(e.dynCall_jiiii!==void 0,`missing Wasm export: dynCall_jiiii`),assert(e.dynCall_dd!==void 0,`missing Wasm export: dynCall_dd`),assert(e.dynCall_ddd!==void 0,`missing Wasm export: dynCall_ddd`),assert(e.dynCall_jii!==void 0,`missing Wasm export: dynCall_jii`),assert(e.dynCall_iidiiii!==void 0,`missing Wasm export: dynCall_iidiiii`),assert(e.asyncify_start_unwind!==void 0,`missing Wasm export: asyncify_start_unwind`),assert(e.asyncify_stop_unwind!==void 0,`missing Wasm export: asyncify_stop_unwind`),assert(e.asyncify_start_rewind!==void 0,`missing Wasm export: asyncify_start_rewind`),assert(e.asyncify_stop_rewind!==void 0,`missing Wasm export: asyncify_stop_rewind`),assert(e.__indirect_function_table!==void 0,`missing Wasm export: __indirect_function_table`),L=n._malloc=createExportWrapper(`malloc`,1),n._QTS_Throw=createExportWrapper(`QTS_Throw`,2),n._QTS_NewError=createExportWrapper(`QTS_NewError`,1),n._QTS_RuntimeSetMemoryLimit=createExportWrapper(`QTS_RuntimeSetMemoryLimit`,2),n._QTS_RuntimeComputeMemoryUsage=createExportWrapper(`QTS_RuntimeComputeMemoryUsage`,2),n._QTS_RuntimeDumpMemoryUsage=createExportWrapper(`QTS_RuntimeDumpMemoryUsage`,1),n._QTS_RecoverableLeakCheck=createExportWrapper(`QTS_RecoverableLeakCheck`,0),n._QTS_BuildIsSanitizeLeak=createExportWrapper(`QTS_BuildIsSanitizeLeak`,0),n._QTS_RuntimeSetMaxStackSize=createExportWrapper(`QTS_RuntimeSetMaxStackSize`,2),n._QTS_GetUndefined=createExportWrapper(`QTS_GetUndefined`,0),n._QTS_GetNull=createExportWrapper(`QTS_GetNull`,0),n._QTS_GetFalse=createExportWrapper(`QTS_GetFalse`,0),n._QTS_GetTrue=createExportWrapper(`QTS_GetTrue`,0),n._QTS_NewHostRef=createExportWrapper(`QTS_NewHostRef`,2),n._QTS_GetHostRefId=createExportWrapper(`QTS_GetHostRefId`,1),n._QTS_NewRuntime=createExportWrapper(`QTS_NewRuntime`,0),n._QTS_FreeRuntime=createExportWrapper(`QTS_FreeRuntime`,1),R=n._free=createExportWrapper(`free`,1),n._QTS_NewContext=createExportWrapper(`QTS_NewContext`,2),n._QTS_FreeContext=createExportWrapper(`QTS_FreeContext`,1),n._QTS_FreeValuePointer=createExportWrapper(`QTS_FreeValuePointer`,2),n._QTS_FreeValuePointerRuntime=createExportWrapper(`QTS_FreeValuePointerRuntime`,2),n._QTS_FreeVoidPointer=createExportWrapper(`QTS_FreeVoidPointer`,2),n._QTS_FreeCString=createExportWrapper(`QTS_FreeCString`,2),n._QTS_DupValuePointer=createExportWrapper(`QTS_DupValuePointer`,2),n._QTS_NewObject=createExportWrapper(`QTS_NewObject`,1),n._QTS_NewObjectProto=createExportWrapper(`QTS_NewObjectProto`,2),n._QTS_NewArray=createExportWrapper(`QTS_NewArray`,1),n._QTS_NewArrayBuffer=createExportWrapper(`QTS_NewArrayBuffer`,3),n._QTS_NewFloat64=createExportWrapper(`QTS_NewFloat64`,2),n._QTS_GetFloat64=createExportWrapper(`QTS_GetFloat64`,2),n._QTS_NewString=createExportWrapper(`QTS_NewString`,2),n._QTS_GetString=createExportWrapper(`QTS_GetString`,2),n._QTS_GetArrayBuffer=createExportWrapper(`QTS_GetArrayBuffer`,2),n._QTS_GetArrayBufferLength=createExportWrapper(`QTS_GetArrayBufferLength`,2),n._QTS_NewSymbol=createExportWrapper(`QTS_NewSymbol`,3),n._QTS_GetSymbolDescriptionOrKey=createExportWrapper(`QTS_GetSymbolDescriptionOrKey`,2),n._QTS_IsGlobalSymbol=createExportWrapper(`QTS_IsGlobalSymbol`,2),n._QTS_IsJobPending=createExportWrapper(`QTS_IsJobPending`,1),n._QTS_ExecutePendingJob=createExportWrapper(`QTS_ExecutePendingJob`,3),n._QTS_GetProp=createExportWrapper(`QTS_GetProp`,3),n._QTS_GetPropNumber=createExportWrapper(`QTS_GetPropNumber`,3),n._QTS_SetProp=createExportWrapper(`QTS_SetProp`,4),n._QTS_DefineProp=createExportWrapper(`QTS_DefineProp`,9),n._QTS_GetOwnPropertyNames=createExportWrapper(`QTS_GetOwnPropertyNames`,5),n._QTS_Call=createExportWrapper(`QTS_Call`,5),n._QTS_ResolveException=createExportWrapper(`QTS_ResolveException`,2),n._QTS_Dump=createExportWrapper(`QTS_Dump`,2),n._QTS_Eval=createExportWrapper(`QTS_Eval`,6),n._QTS_GetModuleNamespace=createExportWrapper(`QTS_GetModuleNamespace`,2),n._QTS_Typeof=createExportWrapper(`QTS_Typeof`,2),n._QTS_GetLength=createExportWrapper(`QTS_GetLength`,3),n._QTS_IsEqual=createExportWrapper(`QTS_IsEqual`,4),n._QTS_GetGlobalObject=createExportWrapper(`QTS_GetGlobalObject`,1),n._QTS_NewPromiseCapability=createExportWrapper(`QTS_NewPromiseCapability`,2),n._QTS_PromiseState=createExportWrapper(`QTS_PromiseState`,2),n._QTS_PromiseResult=createExportWrapper(`QTS_PromiseResult`,2),n._QTS_TestStringArg=createExportWrapper(`QTS_TestStringArg`,1),n._QTS_GetDebugLogEnabled=createExportWrapper(`QTS_GetDebugLogEnabled`,1),n._QTS_SetDebugLogEnabled=createExportWrapper(`QTS_SetDebugLogEnabled`,2),n._QTS_BuildIsDebug=createExportWrapper(`QTS_BuildIsDebug`,0),n._QTS_BuildIsAsyncify=createExportWrapper(`QTS_BuildIsAsyncify`,0),n._QTS_NewFunction=createExportWrapper(`QTS_NewFunction`,5),n._QTS_ArgvGetJSValueConstPointer=createExportWrapper(`QTS_ArgvGetJSValueConstPointer`,2),n._QTS_RuntimeEnableInterruptHandler=createExportWrapper(`QTS_RuntimeEnableInterruptHandler`,1),n._QTS_RuntimeDisableInterruptHandler=createExportWrapper(`QTS_RuntimeDisableInterruptHandler`,1),n._QTS_RuntimeEnableModuleLoader=createExportWrapper(`QTS_RuntimeEnableModuleLoader`,2),n._QTS_RuntimeDisableModuleLoader=createExportWrapper(`QTS_RuntimeDisableModuleLoader`,1),n._QTS_bjson_encode=createExportWrapper(`QTS_bjson_encode`,2),n._QTS_bjson_decode=createExportWrapper(`QTS_bjson_decode`,2),z=createExportWrapper(`fflush`,1),B=e.emscripten_stack_init,e.emscripten_stack_get_free,e.emscripten_stack_get_base,V=e.emscripten_stack_get_end,H=e._emscripten_stack_restore,U=e._emscripten_stack_alloc,W=e.emscripten_stack_get_current,E.viii=createExportWrapper(`dynCall_viii`,4),E.jijiiii=createExportWrapper(`dynCall_jijiiii`,7),E.iii=createExportWrapper(`dynCall_iii`,3),E.iiiii=createExportWrapper(`dynCall_iiiii`,5),E.iiii=createExportWrapper(`dynCall_iiii`,4),E.vij=createExportWrapper(`dynCall_vij`,3),E.ii=createExportWrapper(`dynCall_ii`,2),E.jijjiii=createExportWrapper(`dynCall_jijjiii`,7),E.vii=createExportWrapper(`dynCall_vii`,3),E.jijiii=createExportWrapper(`dynCall_jijiii`,6),E.jiii=createExportWrapper(`dynCall_jiii`,4),E.jijii=createExportWrapper(`dynCall_jijii`,5),E.jijiiiii=createExportWrapper(`dynCall_jijiiiii`,8),E.jijj=createExportWrapper(`dynCall_jijj`,4),E.viji=createExportWrapper(`dynCall_viji`,4),E.jij=createExportWrapper(`dynCall_jij`,3),E.jiji=createExportWrapper(`dynCall_jiji`,4),E.iijijjji=createExportWrapper(`dynCall_iijijjji`,8),E.iiiji=createExportWrapper(`dynCall_iiiji`,5),E.iiji=createExportWrapper(`dynCall_iiji`,4),E.iiiij=createExportWrapper(`dynCall_iiiij`,5),E.jijij=createExportWrapper(`dynCall_jijij`,5),E.iijijji=createExportWrapper(`dynCall_iijijji`,7),E.iijj=createExportWrapper(`dynCall_iijj`,4),E.iij=createExportWrapper(`dynCall_iij`,3),E.jiiii=createExportWrapper(`dynCall_jiiii`,5),E.dd=createExportWrapper(`dynCall_dd`,2),E.ddd=createExportWrapper(`dynCall_ddd`,3),E.jii=createExportWrapper(`dynCall_jii`,3),E.iidiiii=createExportWrapper(`dynCall_iidiiii`,7),G=createExportWrapper(`asyncify_start_unwind`,1),K=createExportWrapper(`asyncify_stop_unwind`,0),q=createExportWrapper(`asyncify_start_rewind`,1),J=createExportWrapper(`asyncify_stop_rewind`,0),e.__indirect_function_table}var Y={__assert_fail:___assert_fail,_abort_js:__abort_js,_localtime_js:__localtime_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:O,qts_host_call_function,qts_host_interrupt_handler,qts_host_load_module_source,qts_host_normalize_module,qts_host_ref_free,set_asyncify_stack_size},X;function stackCheckInit(){B(),writeStackCookie()}function run(){stackCheckInit(),preRun();function doRun(){assert(!X),X=!0,n.calledRun=!0,!p&&(initRuntime(),h?.(n),n.onRuntimeInitialized?.(),consumedModuleProp(`onRuntimeInitialized`),assert(!n._main,`compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]`),postRun())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),doRun()},1)):doRun(),checkStackCookie()}function checkUnflushedContent(){var e=d,t=err,n=!1;d=err=e=>{n=!0};try{flush_NO_FILESYSTEM()}catch{}d=e,err=t,n&&(warnOnce(`stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.`),warnOnce(`(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)`))}var Z=await createWasm();run(),t=x?n:new Promise((e,t)=>{h=e,g=t});for(let t of Object.keys(n))t in e||Object.defineProperty(e,t,{configurable:!0,get(){abort(`Access to module property ('${t}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}});return t}export{QuickJSRaw as default};
@@ -0,0 +1 @@
1
+ import{assertSync}from"../../../../../@jitl_quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.js";var QuickJSAsyncFFI=class{constructor(e){this.module=e,this.DEBUG=!0,this.QTS_Throw=this.module.cwrap(`QTS_Throw`,`number`,[`number`,`number`]),this.QTS_NewError=this.module.cwrap(`QTS_NewError`,`number`,[`number`]),this.QTS_RuntimeSetMemoryLimit=this.module.cwrap(`QTS_RuntimeSetMemoryLimit`,null,[`number`,`number`]),this.QTS_RuntimeComputeMemoryUsage=this.module.cwrap(`QTS_RuntimeComputeMemoryUsage`,`number`,[`number`,`number`]),this.QTS_RuntimeDumpMemoryUsage=this.module.cwrap(`QTS_RuntimeDumpMemoryUsage`,`number`,[`number`]),this.QTS_RecoverableLeakCheck=this.module.cwrap(`QTS_RecoverableLeakCheck`,`number`,[]),this.QTS_BuildIsSanitizeLeak=this.module.cwrap(`QTS_BuildIsSanitizeLeak`,`number`,[]),this.QTS_RuntimeSetMaxStackSize=this.module.cwrap(`QTS_RuntimeSetMaxStackSize`,null,[`number`,`number`]),this.QTS_GetUndefined=this.module.cwrap(`QTS_GetUndefined`,`number`,[]),this.QTS_GetNull=this.module.cwrap(`QTS_GetNull`,`number`,[]),this.QTS_GetFalse=this.module.cwrap(`QTS_GetFalse`,`number`,[]),this.QTS_GetTrue=this.module.cwrap(`QTS_GetTrue`,`number`,[]),this.QTS_NewHostRef=this.module.cwrap(`QTS_NewHostRef`,`number`,[`number`,`number`]),this.QTS_GetHostRefId=this.module.cwrap(`QTS_GetHostRefId`,`number`,[`number`]),this.QTS_NewRuntime=this.module.cwrap(`QTS_NewRuntime`,`number`,[]),this.QTS_FreeRuntime=this.module.cwrap(`QTS_FreeRuntime`,null,[`number`]),this.QTS_NewContext=this.module.cwrap(`QTS_NewContext`,`number`,[`number`,`number`]),this.QTS_FreeContext=this.module.cwrap(`QTS_FreeContext`,null,[`number`]),this.QTS_FreeValuePointer=this.module.cwrap(`QTS_FreeValuePointer`,null,[`number`,`number`]),this.QTS_FreeValuePointerRuntime=this.module.cwrap(`QTS_FreeValuePointerRuntime`,null,[`number`,`number`]),this.QTS_FreeVoidPointer=this.module.cwrap(`QTS_FreeVoidPointer`,null,[`number`,`number`]),this.QTS_FreeCString=this.module.cwrap(`QTS_FreeCString`,null,[`number`,`number`]),this.QTS_DupValuePointer=this.module.cwrap(`QTS_DupValuePointer`,`number`,[`number`,`number`]),this.QTS_NewObject=this.module.cwrap(`QTS_NewObject`,`number`,[`number`]),this.QTS_NewObjectProto=this.module.cwrap(`QTS_NewObjectProto`,`number`,[`number`,`number`]),this.QTS_NewArray=this.module.cwrap(`QTS_NewArray`,`number`,[`number`]),this.QTS_NewArrayBuffer=this.module.cwrap(`QTS_NewArrayBuffer`,`number`,[`number`,`number`,`number`]),this.QTS_NewFloat64=this.module.cwrap(`QTS_NewFloat64`,`number`,[`number`,`number`]),this.QTS_GetFloat64=this.module.cwrap(`QTS_GetFloat64`,`number`,[`number`,`number`]),this.QTS_NewString=this.module.cwrap(`QTS_NewString`,`number`,[`number`,`number`]),this.QTS_GetString=this.module.cwrap(`QTS_GetString`,`number`,[`number`,`number`]),this.QTS_GetArrayBuffer=this.module.cwrap(`QTS_GetArrayBuffer`,`number`,[`number`,`number`]),this.QTS_GetArrayBufferLength=this.module.cwrap(`QTS_GetArrayBufferLength`,`number`,[`number`,`number`]),this.QTS_NewSymbol=this.module.cwrap(`QTS_NewSymbol`,`number`,[`number`,`number`,`number`]),this.QTS_GetSymbolDescriptionOrKey=assertSync(this.module.cwrap(`QTS_GetSymbolDescriptionOrKey`,`number`,[`number`,`number`])),this.QTS_GetSymbolDescriptionOrKey_MaybeAsync=this.module.cwrap(`QTS_GetSymbolDescriptionOrKey`,`number`,[`number`,`number`],{async:!0}),this.QTS_IsGlobalSymbol=this.module.cwrap(`QTS_IsGlobalSymbol`,`number`,[`number`,`number`]),this.QTS_IsJobPending=this.module.cwrap(`QTS_IsJobPending`,`number`,[`number`]),this.QTS_ExecutePendingJob=assertSync(this.module.cwrap(`QTS_ExecutePendingJob`,`number`,[`number`,`number`,`number`])),this.QTS_ExecutePendingJob_MaybeAsync=this.module.cwrap(`QTS_ExecutePendingJob`,`number`,[`number`,`number`,`number`],{async:!0}),this.QTS_GetProp=assertSync(this.module.cwrap(`QTS_GetProp`,`number`,[`number`,`number`,`number`])),this.QTS_GetProp_MaybeAsync=this.module.cwrap(`QTS_GetProp`,`number`,[`number`,`number`,`number`],{async:!0}),this.QTS_GetPropNumber=assertSync(this.module.cwrap(`QTS_GetPropNumber`,`number`,[`number`,`number`,`number`])),this.QTS_GetPropNumber_MaybeAsync=this.module.cwrap(`QTS_GetPropNumber`,`number`,[`number`,`number`,`number`],{async:!0}),this.QTS_SetProp=assertSync(this.module.cwrap(`QTS_SetProp`,null,[`number`,`number`,`number`,`number`])),this.QTS_SetProp_MaybeAsync=this.module.cwrap(`QTS_SetProp`,null,[`number`,`number`,`number`,`number`],{async:!0}),this.QTS_DefineProp=this.module.cwrap(`QTS_DefineProp`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`boolean`,`boolean`,`boolean`]),this.QTS_GetOwnPropertyNames=assertSync(this.module.cwrap(`QTS_GetOwnPropertyNames`,`number`,[`number`,`number`,`number`,`number`,`number`])),this.QTS_GetOwnPropertyNames_MaybeAsync=this.module.cwrap(`QTS_GetOwnPropertyNames`,`number`,[`number`,`number`,`number`,`number`,`number`],{async:!0}),this.QTS_Call=assertSync(this.module.cwrap(`QTS_Call`,`number`,[`number`,`number`,`number`,`number`,`number`])),this.QTS_Call_MaybeAsync=this.module.cwrap(`QTS_Call`,`number`,[`number`,`number`,`number`,`number`,`number`],{async:!0}),this.QTS_ResolveException=this.module.cwrap(`QTS_ResolveException`,`number`,[`number`,`number`]),this.QTS_Dump=assertSync(this.module.cwrap(`QTS_Dump`,`number`,[`number`,`number`])),this.QTS_Dump_MaybeAsync=this.module.cwrap(`QTS_Dump`,`number`,[`number`,`number`],{async:!0}),this.QTS_Eval=assertSync(this.module.cwrap(`QTS_Eval`,`number`,[`number`,`number`,`number`,`string`,`number`,`number`])),this.QTS_Eval_MaybeAsync=this.module.cwrap(`QTS_Eval`,`number`,[`number`,`number`,`number`,`string`,`number`,`number`],{async:!0}),this.QTS_GetModuleNamespace=this.module.cwrap(`QTS_GetModuleNamespace`,`number`,[`number`,`number`]),this.QTS_Typeof=this.module.cwrap(`QTS_Typeof`,`number`,[`number`,`number`]),this.QTS_GetLength=this.module.cwrap(`QTS_GetLength`,`number`,[`number`,`number`,`number`]),this.QTS_IsEqual=this.module.cwrap(`QTS_IsEqual`,`number`,[`number`,`number`,`number`,`number`]),this.QTS_GetGlobalObject=this.module.cwrap(`QTS_GetGlobalObject`,`number`,[`number`]),this.QTS_NewPromiseCapability=this.module.cwrap(`QTS_NewPromiseCapability`,`number`,[`number`,`number`]),this.QTS_PromiseState=this.module.cwrap(`QTS_PromiseState`,`number`,[`number`,`number`]),this.QTS_PromiseResult=this.module.cwrap(`QTS_PromiseResult`,`number`,[`number`,`number`]),this.QTS_TestStringArg=this.module.cwrap(`QTS_TestStringArg`,null,[`string`]),this.QTS_GetDebugLogEnabled=this.module.cwrap(`QTS_GetDebugLogEnabled`,`number`,[`number`]),this.QTS_SetDebugLogEnabled=this.module.cwrap(`QTS_SetDebugLogEnabled`,null,[`number`,`number`]),this.QTS_BuildIsDebug=this.module.cwrap(`QTS_BuildIsDebug`,`number`,[]),this.QTS_BuildIsAsyncify=this.module.cwrap(`QTS_BuildIsAsyncify`,`number`,[]),this.QTS_NewFunction=this.module.cwrap(`QTS_NewFunction`,`number`,[`number`,`string`,`number`,`boolean`,`number`]),this.QTS_ArgvGetJSValueConstPointer=this.module.cwrap(`QTS_ArgvGetJSValueConstPointer`,`number`,[`number`,`number`]),this.QTS_RuntimeEnableInterruptHandler=this.module.cwrap(`QTS_RuntimeEnableInterruptHandler`,null,[`number`]),this.QTS_RuntimeDisableInterruptHandler=this.module.cwrap(`QTS_RuntimeDisableInterruptHandler`,null,[`number`]),this.QTS_RuntimeEnableModuleLoader=this.module.cwrap(`QTS_RuntimeEnableModuleLoader`,null,[`number`,`number`]),this.QTS_RuntimeDisableModuleLoader=this.module.cwrap(`QTS_RuntimeDisableModuleLoader`,null,[`number`]),this.QTS_bjson_encode=this.module.cwrap(`QTS_bjson_encode`,`number`,[`number`,`number`]),this.QTS_bjson_decode=this.module.cwrap(`QTS_bjson_decode`,`number`,[`number`,`number`])}};export{QuickJSAsyncFFI};
@@ -0,0 +1 @@
1
+ var src_default={type:`async`,importFFI:()=>import(`./ffi.js`).then(e=>e.QuickJSAsyncFFI),importModuleLoader:()=>import(`./emscripten-module.js`).then(e=>e.default)};export{src_default};
@@ -0,0 +1,4 @@
1
+ async function QuickJSRaw(e={}){var t;(function(){function humanReadableVersionToPacked(e){e=e.split(`-`)[0];for(var t=e.split(`.`).slice(0,3);t.length<3;)t.push(`00`);return t=t.map((e,t,n)=>e.padStart(2,`0`)),t.join(``)}var packedVersionToHumanReadable=e=>[e/1e4|0,(e/100|0)%100,e%100].join(`.`),e=2147483647,t=typeof process<`u`&&process.versions?.node?humanReadableVersionToPacked(process.versions.node):e;if(t<16e4)throw Error(`This emscripten-generated code requires node v${packedVersionToHumanReadable(16e4)} (detected v${packedVersionToHumanReadable(t)})`);var n=typeof navigator<`u`&&navigator.userAgent;if(n){var r=n.includes(`Safari/`)&&!n.includes(`Chrome/`)&&n.match(/Version\/(\d+\.?\d*\.?\d*)/)?humanReadableVersionToPacked(n.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]):e;if(r<15e4)throw Error(`This emscripten-generated code requires Safari v${packedVersionToHumanReadable(15e4)} (detected v${r})`);var i=n.match(/Firefox\/(\d+(?:\.\d+)?)/)?parseFloat(n.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]):e;if(i<79)throw Error(`This emscripten-generated code requires Firefox v79 (detected v${i})`);var a=n.match(/Chrome\/(\d+(?:\.\d+)?)/)?parseFloat(n.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]):e;if(a<85)throw Error(`This emscripten-generated code requires Chrome v85 (detected v${a})`)}})();var n=e,r=!!globalThis.window,i=!!globalThis.WorkerGlobalScope,a=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`,o=!r&&!a&&!i;if(a){let{createRequire:e}=await import(`node:module`);var s=e(import.meta.url)}function quickjsEmscriptenInit(e){let t={log:e||function(){}};for(let e of quickjsEmscriptenInit.inits)e(t);return n.quickJSEmscriptenExtensions=t,t}quickjsEmscriptenInit.inits=[],n.quickjsEmscriptenInit=quickjsEmscriptenInit,quickjsEmscriptenInit.inits.push(e=>{receiveSourceMapJSON!==void 0&&(e.receiveSourceMapJSON=t=>{if(Q===void 0)return e.log(`receiveSourceMapJSON: received`,t),receiveSourceMapJSON(t);e.log(`receiveSourceMapJSON: already have data:`,Q,`ignoring`,t)})}),quickjsEmscriptenInit.inits.push(e=>{if(typeof WasmOffsetConverter<`u`){e.WasmOffsetConverter=WasmOffsetConverter;try{e.existingWasmOffsetConverter=wasmOffsetConverter,e.receiveWasmOffsetConverter=function(t,n){wasmOffsetConverter?e.log(`wasmOffsetConverter already set, ignored`):(e.log(`wasmOffsetConverter set`),wasmOffsetConverter=new WasmOffsetConverter(t,n))}}catch{e.receiveWasmOffsetConverter=function(){e.log(`wasmOffsetConverter variable not defined, this is a no-op`)}}}}),quickjsEmscriptenInit.inits.push(e=>{e.getWasmMemory=function(){return D}});var c=`./this.program`,quit_=(e,t)=>{throw t},l=import.meta.url,u=``;function locateFile(e){return n.locateFile?n.locateFile(e,u):u+e}var readAsync,readBinary;if(a){if(!(globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`))throw Error(`not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)`);var d=s("node:fs");l.startsWith(`file:`)&&(u=s("node:path").dirname(s("node:url").fileURLToPath(l))+`/`),readBinary=e=>{e=isFileURI(e)?new URL(e):e;var t=d.readFileSync(e);return assert(Buffer.isBuffer(t)),t},readAsync=async(e,t=!0)=>{e=isFileURI(e)?new URL(e):e;var n=d.readFileSync(e,t?void 0:`utf8`);return assert(t?Buffer.isBuffer(n):typeof n==`string`),n},process.argv.length>1&&(c=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2),quit_=(e,t)=>{throw process.exitCode=e,t}}else if(!o)if(r||i){try{u=new URL(`.`,l).href}catch{}if(!(globalThis.window||globalThis.WorkerGlobalScope))throw Error(`not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)`);i&&(readBinary=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),readAsync=async e=>{if(isFileURI(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{if(r.status==200||r.status==0&&r.response){t(r.response);return}n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}else throw Error(`environment detection error`);var f=console.log.bind(console),p=console.error.bind(console);assert(!o,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var m;globalThis.WebAssembly||p(`no native wasm support detected`);var h=!1;function assert(e,t){e||abort(`Assertion failed`+(t?`: `+t:``))}var isFileURI=e=>e.startsWith(`file://`);function writeStackCookie(){var e=J();assert((e&3)==0),e==0&&(e+=4),x[e>>2]=34821223,x[e+4>>2]=2310721022,x[0]=1668509029}function checkStackCookie(){if(!h){var e=J();e==0&&(e+=4);var t=x[e>>2],n=x[e+4>>2];(t!=34821223||n!=2310721022)&&abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(e)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(n)} ${ptrToString(t)}`),x[0]!=1668509029&&abort(`Runtime error: The application has corrupted its heap memory area (address zero)!`)}}(()=>{var e=new Int16Array(1),t=new Int8Array(e.buffer);e[0]=25459,(t[0]!==115||t[1]!==99)&&abort(`Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)`)})();function consumedModuleProp(e){Object.getOwnPropertyDescriptor(n,e)||Object.defineProperty(n,e,{configurable:!0,set(){abort(`Attempt to set \`Module.${e}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`)}})}function makeInvalidEarlyAccess(e){return()=>assert(!1,`call to '${e}' via reference taken before Wasm module initialization`)}function ignoredModuleProp(e){Object.getOwnPropertyDescriptor(n,e)&&abort(`\`Module.${e}\` was supplied but \`${e}\` not included in INCOMING_MODULE_JS_API`)}function isExportedByForceFilesystem(e){return e===`FS_createPath`||e===`FS_createDataFile`||e===`FS_createPreloadedFile`||e===`FS_preloadFile`||e===`FS_unlink`||e===`addRunDependency`||e===`FS_createLazyFile`||e===`FS_createDevice`||e===`removeRunDependency`}function missingLibrarySymbol(e){unexportedRuntimeSymbol(e)}function unexportedRuntimeSymbol(e){Object.getOwnPropertyDescriptor(n,e)||Object.defineProperty(n,e,{configurable:!0,get(){var t=`'${e}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;isExportedByForceFilesystem(e)&&(t+=`. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you`),abort(t)}})}var g,_,v,y,b,x,S,C=!1,ee=!1;function updateMemoryViews(){var e=D.buffer;n.HEAP8=v=new Int8Array(e),new Int16Array(e),n.HEAPU8=y=new Uint8Array(e),new Uint16Array(e),b=new Int32Array(e),x=new Uint32Array(e),new Float32Array(e),new Float64Array(e),S=new BigInt64Array(e),new BigUint64Array(e)}function initMemory(){if(n.wasmMemory)D=n.wasmMemory;else{var e=n.INITIAL_MEMORY||16777216;assert(e>=5242880,`INITIAL_MEMORY should be larger than STACK_SIZE, was `+e+`! (STACK_SIZE=5242880)`),D=new WebAssembly.Memory({initial:e/65536,maximum:32768})}updateMemoryViews()}assert(globalThis.Int32Array&&globalThis.Float64Array&&Int32Array.prototype.subarray&&Int32Array.prototype.set,`JS engine does not provide full typed array support`);function preRun(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)addOnPreRun(n.preRun.shift());consumedModuleProp(`preRun`),callRuntimeCallbacks(T)}function initRuntime(){assert(!C),C=!0,checkStackCookie(),!n.noFSInit&&!R.initialized&&R.init(),M.init(),$.__wasm_call_ctors(),R.ignorePermissions=!1}function postRun(){if(checkStackCookie(),n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)addOnPostRun(n.postRun.shift());consumedModuleProp(`postRun`),callRuntimeCallbacks(te)}function abort(e){n.onAbort?.(e),e=`Aborted(`+e+`)`,p(e),h=!0;var t=new WebAssembly.RuntimeError(e);throw _?.(t),t}function createExportWrapper(e,t){return(...n)=>{assert(C,`native function \`${e}\` called before runtime initialization`),assert(!ee,`native function \`${e}\` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)`);var r=$[e];return assert(r,`exported native function \`${e}\` not found`),assert(n.length<=t,`native function \`${e}\` called with ${n.length} args but expects ${t}`),r(...n)}}var w;function findWasmBinary(){return n.locateFile?locateFile(`emscripten-module.wasm`):new URL(`emscripten-module.wasm`,import.meta.url).href}function getBinarySync(e){if(e==w&&m)return new Uint8Array(m);if(readBinary)return readBinary(e);throw`both async and sync fetching of the wasm failed`}async function getWasmBinary(e){if(!m)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}async function instantiateArrayBuffer(e,t){try{var n=await getWasmBinary(e);return await WebAssembly.instantiate(n,t)}catch(t){p(`failed to asynchronously prepare wasm: ${t}`),isFileURI(e)&&p(`warning: Loading from a file URI (${e}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),abort(t)}}async function instantiateAsync(e,t,n){if(!e&&!isFileURI(t)&&!a)try{var r=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(r,n)}catch(e){p(`wasm streaming compile failed: ${e}`),p(`falling back to ArrayBuffer instantiation`)}return instantiateArrayBuffer(t,n)}function getWasmImports(){return{env:Z,wasi_snapshot_preview1:Z}}async function createWasm(){function receiveInstance(e,t){return $=e.exports,assignWasmExports($),$}var e=n;function receiveInstantiationResult(t){return assert(n===e,`the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?`),e=null,receiveInstance(t.instance)}var t=getWasmImports();return n.instantiateWasm?new Promise((e,r)=>{try{n.instantiateWasm(t,(t,n)=>{e(receiveInstance(t,n))})}catch(e){p(`Module.instantiateWasm callback failed with error: ${e}`),r(e)}}):(w??=findWasmBinary(),receiveInstantiationResult(await instantiateAsync(m,w,t)))}class ExitStatus{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(n)},te=[],addOnPostRun=e=>te.push(e),T=[],addOnPreRun=e=>T.push(e),E=!1,ptrToString=e=>(assert(typeof e==`number`,`ptrToString expects a number, got ${typeof e}`),e>>>=0,`0x`+e.toString(16).padStart(8,`0`)),stackRestore=e=>Y(e),stackSave=()=>ue(),warnOnce=e=>{warnOnce.shown||={},warnOnce.shown[e]||(warnOnce.shown[e]=1,a&&(e=`warning: `+e),p(e))},D,O=globalThis.TextDecoder&&new TextDecoder,findStringEnd=(e,t,n,r)=>{var i=t+n;if(r)return i;for(;e[t]&&!(t>=i);)++t;return t},UTF8ArrayToString=(e,t=0,n,r)=>{var i=findStringEnd(e,t,n,r);if(i-t>16&&e.buffer&&O)return O.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128)){a+=String.fromCharCode(o);continue}var s=e[t++]&63;if((o&224)==192){a+=String.fromCharCode((o&31)<<6|s);continue}var c=e[t++]&63;if((o&240)==224?o=(o&15)<<12|s<<6|c:((o&248)!=240&&warnOnce(`Invalid UTF-8 leading byte `+ptrToString(o)+` encountered when deserializing a UTF-8 string in wasm memory to a JS string!`),o=(o&7)<<18|s<<12|c<<6|e[t++]&63),o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return a},UTF8ToString=(e,t,n)=>(assert(typeof e==`number`,`UTF8ToString expects a number (got ${typeof e})`),e?UTF8ArrayToString(y,e,t,n):``),___assert_fail=(e,t,n,r)=>abort(`Assertion failed: ${UTF8ToString(e)}, at: `+[t?UTF8ToString(t):`unknown filename`,n,r?UTF8ToString(r):`unknown function`]),k={isAbs:e=>e.charAt(0)===`/`,splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},normalize:e=>{var t=k.isAbs(e),n=e.slice(-1)===`/`;return e=k.normalizeArray(e.split(`/`).filter(e=>!!e),!t).join(`/`),!e&&!t&&(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},dirname:e=>{var t=k.splitPath(e),n=t[0],r=t[1];return!n&&!r?`.`:(r&&=r.slice(0,-1),n+r)},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>k.normalize(e.join(`/`)),join2:(e,t)=>k.normalize(e+`/`+t)},initRandomFill=()=>{if(a){var e=s("node:crypto");return t=>e.randomFillSync(t)}return e=>crypto.getRandomValues(e)},randomFill=e=>{(randomFill=initRandomFill())(e)},A={resolve:(...e)=>{for(var t=``,n=!1,r=e.length-1;r>=-1&&!n;r--){var i=r>=0?e[r]:R.cwd();if(typeof i!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!i)return``;t=i+`/`+t,n=k.isAbs(i)}return t=k.normalizeArray(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`},relative:(e,t)=>{e=A.resolve(e).slice(1),t=A.resolve(t).slice(1);function trim(e){for(var t=0;t<e.length&&e[t]===``;t++);for(var n=e.length-1;n>=0&&e[n]===``;n--);return t>n?[]:e.slice(t,n-t+1)}for(var n=trim(e.split(`/`)),r=trim(t.split(`/`)),i=Math.min(n.length,r.length),a=i,o=0;o<i;o++)if(n[o]!==r[o]){a=o;break}for(var s=[],o=a;o<n.length;o++)s.push(`..`);return s=s.concat(r.slice(a)),s.join(`/`)}},j=[],lengthBytesUTF8=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},stringToUTF8Array=(e,t,n,r)=>{if(assert(typeof e==`string`,`stringToUTF8Array expects a string (got ${typeof e})`),!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.codePointAt(o);if(s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|s&63}else{if(n+3>=a)break;s>1114111&&warnOnce(`Invalid Unicode code point `+ptrToString(s)+` encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).`),t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|s&63,o++}}return t[n]=0,n-i},intArrayFromString=(e,t,n)=>{var r=n>0?n:lengthBytesUTF8(e)+1,i=Array(r),a=stringToUTF8Array(e,i,0,i.length);return t&&(i.length=a),i},FS_stdin_getChar=()=>{if(!j.length){var e=null;if(a){var t=256,n=Buffer.alloc(t),r=0,i=process.stdin.fd;try{r=d.readSync(i,n,0,t)}catch(e){if(e.toString().includes(`EOF`))r=0;else throw e}r>0&&(e=n.slice(0,r).toString(`utf-8`))}else globalThis.window?.prompt&&(e=window.prompt(`Input: `),e!==null&&(e+=`
2
+ `));if(!e)return null;j=intArrayFromString(e,!0)}return j.shift()},M={ttys:[],init(){},shutdown(){},register(e,t){M.ttys[e]={input:[],output:[],ops:t},R.registerDevice(e,M.stream_ops)},stream_ops:{open(e){var t=M.ttys[e.node.rdev];if(!t)throw new R.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new R.ErrnoError(60);for(var a=0,o=0;o<r;o++){var s;try{s=e.tty.ops.get_char(e.tty)}catch{throw new R.ErrnoError(29)}if(s===void 0&&a===0)throw new R.ErrnoError(6);if(s==null)break;a++,t[n+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,n,r,i){if(!e.tty||!e.tty.ops.put_char)throw new R.ErrnoError(60);try{for(var a=0;a<r;a++)e.tty.ops.put_char(e.tty,t[n+a])}catch{throw new R.ErrnoError(29)}return r&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char(e){return FS_stdin_getChar()},put_char(e,t){t===null||t===10?(f(UTF8ArrayToString(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output?.length>0&&(f(UTF8ArrayToString(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,t,n){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){t===null||t===10?(p(UTF8ArrayToString(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output?.length>0&&(p(UTF8ArrayToString(e.output)),e.output=[])}}},zeroMemory=(e,t)=>y.fill(0,e,e+t),alignMemory=(e,t)=>(assert(t,`alignment argument is required`),Math.ceil(e/t)*t),mmapAlloc=e=>{e=alignMemory(e,65536);var t=K(65536,e);return t&&zeroMemory(t,e),t},N={ops_table:null,mount(e){return N.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if(R.isBlkdev(n)||R.isFIFO(n))throw new R.ErrnoError(63);N.ops_table||={dir:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr,lookup:N.node_ops.lookup,mknod:N.node_ops.mknod,rename:N.node_ops.rename,unlink:N.node_ops.unlink,rmdir:N.node_ops.rmdir,readdir:N.node_ops.readdir,symlink:N.node_ops.symlink},stream:{llseek:N.stream_ops.llseek}},file:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr},stream:{llseek:N.stream_ops.llseek,read:N.stream_ops.read,write:N.stream_ops.write,mmap:N.stream_ops.mmap,msync:N.stream_ops.msync}},link:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr,readlink:N.node_ops.readlink},stream:{}},chrdev:{node:{getattr:N.node_ops.getattr,setattr:N.node_ops.setattr},stream:R.chrdev_stream_ops}};var i=R.createNode(e,t,n,r);return R.isDir(i.mode)?(i.node_ops=N.ops_table.dir.node,i.stream_ops=N.ops_table.dir.stream,i.contents={}):R.isFile(i.mode)?(i.node_ops=N.ops_table.file.node,i.stream_ops=N.ops_table.file.stream,i.usedBytes=0,i.contents=null):R.isLink(i.mode)?(i.node_ops=N.ops_table.link.node,i.stream_ops=N.ops_table.link.stream):R.isChrdev(i.mode)&&(i.node_ops=N.ops_table.chrdev.node,i.stream_ops=N.ops_table.chrdev.stream),i.atime=i.mtime=i.ctime=Date.now(),e&&(e.contents[t]=i,e.atime=e.mtime=e.ctime=i.atime),i},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array},expandFileStorage(e,t){var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1024*1024?2:1.125)>>>0),n!=0&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(t==0)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=R.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,R.isDir(e.mode)?t.size=4096:R.isFile(e.mode)?t.size=e.usedBytes:R.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(let n of[`mode`,`atime`,`mtime`,`ctime`])t[n]!=null&&(e[n]=t[n]);t.size!==void 0&&N.resizeFileStorage(e,t.size)},lookup(e,t){throw new R.ErrnoError(44)},mknod(e,t,n,r){return N.createNode(e,t,n,r)},rename(e,t,n){var r;try{r=R.lookupNode(t,n)}catch{}if(r){if(R.isDir(e.mode))for(var i in r.contents)throw new R.ErrnoError(55);R.hashRemoveNode(r)}delete e.parent.contents[e.name],t.contents[n]=e,e.name=n,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){for(var n in R.lookupNode(e,t).contents)throw new R.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir(e){return[`.`,`..`,...Object.keys(e.contents)]},symlink(e,t,n){var r=N.createNode(e,t,41471,0);return r.link=n,r},readlink(e){if(!R.isLink(e.mode))throw new R.ErrnoError(28);return e.link}},stream_ops:{read(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,r);if(assert(o>=0),o>8&&a.subarray)t.set(a.subarray(i,i+o),n);else for(var s=0;s<o;s++)t[n+s]=a[i+s];return o},write(e,t,n,r,i,a){if(assert(!(t instanceof ArrayBuffer)),t.buffer===v.buffer&&(a=!1),!r)return 0;var o=e.node;if(o.mtime=o.ctime=Date.now(),t.subarray&&(!o.contents||o.contents.subarray)){if(a)return assert(i===0,`canOwn must imply no weird position inside the file`),o.contents=t.subarray(n,n+r),o.usedBytes=r,r;if(o.usedBytes===0&&i===0)return o.contents=t.slice(n,n+r),o.usedBytes=r,r;if(i+r<=o.usedBytes)return o.contents.set(t.subarray(n,n+r),i),r}if(N.expandFileStorage(o,i+r),o.contents.subarray&&t.subarray)o.contents.set(t.subarray(n,n+r),i);else for(var s=0;s<r;s++)o.contents[i+s]=t[n+s];return o.usedBytes=Math.max(o.usedBytes,i+r),r},llseek(e,t,n){var r=t;if(n===1?r+=e.position:n===2&&R.isFile(e.node.mode)&&(r+=e.node.usedBytes),r<0)throw new R.ErrnoError(28);return r},mmap(e,t,n,r,i){if(!R.isFile(e.node.mode))throw new R.ErrnoError(43);var a,o,s=e.node.contents;if(!(i&2)&&s&&s.buffer===v.buffer)o=!1,a=s.byteOffset;else{if(o=!0,a=mmapAlloc(t),!a)throw new R.ErrnoError(48);s&&((n>0||n+t<s.length)&&(s=s.subarray?s.subarray(n,n+t):Array.prototype.slice.call(s,n,n+t)),v.set(s,a))}return{ptr:a,allocated:o}},msync(e,t,n,r,i){return N.stream_ops.write(e,t,0,r,n,!1),0}}},FS_modeStringToFlags=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(t===void 0)throw Error(`Unknown file open mode: ${e}`);return t},FS_getMode=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},strError=e=>UTF8ToString(G(e)),ne={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},asyncLoad=async e=>{var t=await readAsync(e);return assert(t,`Loading data file "${e}" failed (no arrayBuffer).`),new Uint8Array(t)},FS_createDataFile=(...e)=>R.createDataFile(...e),getUniqueRunDependency=e=>{for(var t=e;;){if(!I[e])return e;e=t+Math.random()}},P=0,F=null,I={},L=null,removeRunDependency=e=>{if(P--,n.monitorRunDependencies?.(P),assert(e,`removeRunDependency requires an ID`),assert(I[e]),delete I[e],P==0&&(L!==null&&(clearInterval(L),L=null),F)){var t=F;F=null,t()}},addRunDependency=e=>{P++,n.monitorRunDependencies?.(P),assert(e,`addRunDependency requires an ID`),assert(!I[e]),I[e]=1,L===null&&globalThis.setInterval&&(L=setInterval(()=>{if(h){clearInterval(L),L=null;return}var e=!1;for(var t in I)e||(e=!0,p(`still waiting on run dependencies:`)),p(`dependency: ${t}`);e&&p(`(end of list)`)},1e4),L.unref?.())},re=[],FS_handledByPreloadPlugin=async(e,t)=>{typeof Browser<`u`&&Browser.init();for(var n of re)if(n.canHandle(t))return assert(n.handle.constructor.name===`AsyncFunction`,`Filesystem plugin handlers must be async functions (See #24914)`),n.handle(e,t);return e},FS_preloadFile=async(e,t,n,r,i,a,o,s)=>{var c=t?A.resolve(k.join2(e,t)):e,l=getUniqueRunDependency(`cp ${c}`);addRunDependency(l);try{var u=n;typeof n==`string`&&(u=await asyncLoad(n)),u=await FS_handledByPreloadPlugin(u,c),s?.(),a||FS_createDataFile(e,t,u,r,i,o)}finally{removeRunDependency(l)}},FS_createPreloadedFile=(e,t,n,r,i,a,o,s,c,l)=>{FS_preloadFile(e,t,n,r,i,s,c,l).then(a).catch(o)},R={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:`/`,initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class extends Error{name=`ErrnoError`;constructor(e){for(var t in super(C?strError(e):``),this.errno=e,ne)if(ne[t]===e){this.code=t;break}}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!=1}get isWrite(){return(this.flags&2097155)!=0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,n,r){e||=this,this.parent=e,this.mount=e.mount,this.id=R.nextInode++,this.name=t,this.mode=n,this.rdev=r,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return R.isDir(this.mode)}get isDevice(){return R.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new R.ErrnoError(44);t.follow_mount??=!0,k.isAbs(e)||(e=R.cwd()+`/`+e);linkloop:for(var n=0;n<40;n++){for(var r=e.split(`/`).filter(e=>!!e),i=R.root,a=`/`,o=0;o<r.length;o++){var s=o===r.length-1;if(s&&t.parent)break;if(r[o]!==`.`){if(r[o]===`..`){if(a=k.dirname(a),R.isRoot(i)){e=a+`/`+r.slice(o+1).join(`/`),n--;continue linkloop}else i=i.parent;continue}a=k.join2(a,r[o]);try{i=R.lookupNode(i,r[o])}catch(e){if(e?.errno===44&&s&&t.noent_okay)return{path:a};throw e}if(R.isMountpoint(i)&&(!s||t.follow_mount)&&(i=i.mounted.root),R.isLink(i.mode)&&(!s||t.follow)){if(!i.node_ops.readlink)throw new R.ErrnoError(52);var c=i.node_ops.readlink(i);k.isAbs(c)||(c=k.dirname(a)+`/`+c),e=c+`/`+r.slice(o+1).join(`/`);continue linkloop}}}return{path:a,node:i}}throw new R.ErrnoError(32)},getPath(e){for(var t;;){if(R.isRoot(e)){var n=e.mount.mountpoint;return t?n[n.length-1]===`/`?n+t:`${n}/${t}`:n}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%R.nameTable.length},hashAddNode(e){var t=R.hashName(e.parent.id,e.name);e.name_next=R.nameTable[t],R.nameTable[t]=e},hashRemoveNode(e){var t=R.hashName(e.parent.id,e.name);if(R.nameTable[t]===e)R.nameTable[t]=e.name_next;else for(var n=R.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode(e,t){var n=R.mayLookup(e);if(n)throw new R.ErrnoError(n);for(var r=R.hashName(e.id,t),i=R.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return R.lookup(e,t)},createNode(e,t,n,r){assert(typeof e==`object`);var i=new R.FSNode(e,t,n,r);return R.hashAddNode(i),i},destroyNode(e){R.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)==32768},isDir(e){return(e&61440)==16384},isLink(e){return(e&61440)==40960},isChrdev(e){return(e&61440)==8192},isBlkdev(e){return(e&61440)==24576},isFIFO(e){return(e&61440)==4096},isSocket(e){return(e&49152)==49152},flagsToPermissionString(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t},nodePermissions(e,t){return R.ignorePermissions?0:t.includes(`r`)&&!(e.mode&292)||t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73)?2:0},mayLookup(e){return R.isDir(e.mode)?R.nodePermissions(e,`x`)||(e.node_ops.lookup?0:2):54},mayCreate(e,t){if(!R.isDir(e.mode))return 54;try{return R.lookupNode(e,t),20}catch{}return R.nodePermissions(e,`wx`)},mayDelete(e,t,n){var r;try{r=R.lookupNode(e,t)}catch(e){return e.errno}var i=R.nodePermissions(e,`wx`);if(i)return i;if(n){if(!R.isDir(r.mode))return 54;if(R.isRoot(r)||R.getPath(r)===R.cwd())return 10}else if(R.isDir(r.mode))return 31;return 0},mayOpen(e,t){if(!e)return 44;if(R.isLink(e.mode))return 32;var n=R.flagsToPermissionString(t);return R.isDir(e.mode)&&(n!==`r`||t&576)?31:R.nodePermissions(e,n)},checkOpExists(e,t){if(!e)throw new R.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=R.MAX_OPEN_FDS;e++)if(!R.streams[e])return e;throw new R.ErrnoError(33)},getStreamChecked(e){var t=R.getStream(e);if(!t)throw new R.ErrnoError(8);return t},getStream:e=>R.streams[e],createStream(e,t=-1){return assert(t>=-1),e=Object.assign(new R.FSStream,e),t==-1&&(t=R.nextfd()),e.fd=t,R.streams[t]=e,e},closeStream(e){R.streams[e]=null},dupStream(e,t=-1){var n=R.createStream(e,t);return n.stream_ops?.dup?.(n),n},doSetAttr(e,t,n){var r=e?.stream_ops.setattr,i=r?e:t;r??=t.node_ops.setattr,R.checkOpExists(r,63),r(i,n)},chrdev_stream_ops:{open(e){e.stream_ops=R.getDevice(e.node.rdev).stream_ops,e.stream_ops.open?.(e)},llseek(){throw new R.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,t)=>e<<8|t,registerDevice(e,t){R.devices[e]={stream_ops:t}},getDevice:e=>R.devices[e],getMounts(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push(...r.mounts)}return t},syncfs(e,t){typeof e==`function`&&(t=e,e=!1),R.syncFSRequests++,R.syncFSRequests>1&&p(`warning: ${R.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var n=R.getMounts(R.root.mount),r=0;function doCallback(e){return assert(R.syncFSRequests>0),R.syncFSRequests--,t(e)}function done(e){if(e)return done.errored?void 0:(done.errored=!0,doCallback(e));++r>=n.length&&doCallback(null)}for(var i of n)i.type.syncfs?i.type.syncfs(i,e,done):done(null)},mount(e,t,n){if(typeof e==`string`)throw e;var r=n===`/`,i=!n,a;if(r&&R.root)throw new R.ErrnoError(10);if(!r&&!i){var o=R.lookupPath(n,{follow_mount:!1});if(n=o.path,a=o.node,R.isMountpoint(a))throw new R.ErrnoError(10);if(!R.isDir(a.mode))throw new R.ErrnoError(54)}var s={type:e,opts:t,mountpoint:n,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,r?R.root=c:a&&(a.mounted=s,a.mount&&a.mount.mounts.push(s)),c},unmount(e){var t=R.lookupPath(e,{follow_mount:!1});if(!R.isMountpoint(t.node))throw new R.ErrnoError(28);var n=t.node,r=n.mounted,i=R.getMounts(r);for(var[a,o]of Object.entries(R.nameTable))for(;o;){var s=o.name_next;i.includes(o.mount)&&R.destroyNode(o),o=s}n.mounted=null;var c=n.mount.mounts.indexOf(r);assert(c!==-1),n.mount.mounts.splice(c,1)},lookup(e,t){return e.node_ops.lookup(e,t)},mknod(e,t,n){var r=R.lookupPath(e,{parent:!0}).node,i=k.basename(e);if(!i)throw new R.ErrnoError(28);if(i===`.`||i===`..`)throw new R.ErrnoError(20);var a=R.mayCreate(r,i);if(a)throw new R.ErrnoError(a);if(!r.node_ops.mknod)throw new R.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},statfs(e){return R.statfsNode(R.lookupPath(e,{follow:!0}).node)},statfsStream(e){return R.statfsNode(e.node)},statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:R.nextInode,ffree:R.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create(e,t=438){return t&=4095,t|=32768,R.mknod(e,t,0)},mkdir(e,t=511){return t&=1023,t|=16384,R.mknod(e,t,0)},mkdirTree(e,t){var n=e.split(`/`),r=``;for(var i of n)if(i){(r||k.isAbs(e))&&(r+=`/`),r+=i;try{R.mkdir(r,t)}catch(e){if(e.errno!=20)throw e}}},mkdev(e,t,n){return n===void 0&&(n=t,t=438),t|=8192,R.mknod(e,t,n)},symlink(e,t){if(!A.resolve(e))throw new R.ErrnoError(44);var n=R.lookupPath(t,{parent:!0}).node;if(!n)throw new R.ErrnoError(44);var r=k.basename(t),i=R.mayCreate(n,r);if(i)throw new R.ErrnoError(i);if(!n.node_ops.symlink)throw new R.ErrnoError(63);return n.node_ops.symlink(n,r,e)},rename(e,t){var n=k.dirname(e),r=k.dirname(t),i=k.basename(e),a=k.basename(t),o=R.lookupPath(e,{parent:!0}),s=o.node,c;if(o=R.lookupPath(t,{parent:!0}),c=o.node,!s||!c)throw new R.ErrnoError(44);if(s.mount!==c.mount)throw new R.ErrnoError(75);var l=R.lookupNode(s,i),u=A.relative(e,r);if(u.charAt(0)!==`.`)throw new R.ErrnoError(28);if(u=A.relative(t,n),u.charAt(0)!==`.`)throw new R.ErrnoError(55);var d;try{d=R.lookupNode(c,a)}catch{}if(l!==d){var f=R.isDir(l.mode),p=R.mayDelete(s,i,f);if(p||(p=d?R.mayDelete(c,a,f):R.mayCreate(c,a),p))throw new R.ErrnoError(p);if(!s.node_ops.rename)throw new R.ErrnoError(63);if(R.isMountpoint(l)||d&&R.isMountpoint(d))throw new R.ErrnoError(10);if(c!==s&&(p=R.nodePermissions(s,`w`),p))throw new R.ErrnoError(p);R.hashRemoveNode(l);try{s.node_ops.rename(l,c,a),l.parent=c}catch(e){throw e}finally{R.hashAddNode(l)}}},rmdir(e){var t=R.lookupPath(e,{parent:!0}).node,n=k.basename(e),r=R.lookupNode(t,n),i=R.mayDelete(t,n,!0);if(i)throw new R.ErrnoError(i);if(!t.node_ops.rmdir)throw new R.ErrnoError(63);if(R.isMountpoint(r))throw new R.ErrnoError(10);t.node_ops.rmdir(t,n),R.destroyNode(r)},readdir(e){var t=R.lookupPath(e,{follow:!0}).node;return R.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=R.lookupPath(e,{parent:!0}).node;if(!t)throw new R.ErrnoError(44);var n=k.basename(e),r=R.lookupNode(t,n),i=R.mayDelete(t,n,!1);if(i)throw new R.ErrnoError(i);if(!t.node_ops.unlink)throw new R.ErrnoError(63);if(R.isMountpoint(r))throw new R.ErrnoError(10);t.node_ops.unlink(t,n),R.destroyNode(r)},readlink(e){var t=R.lookupPath(e).node;if(!t)throw new R.ErrnoError(44);if(!t.node_ops.readlink)throw new R.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var n=R.lookupPath(e,{follow:!t}).node;return R.checkOpExists(n.node_ops.getattr,63)(n)},fstat(e){var t=R.getStreamChecked(e),n=t.node,r=t.stream_ops.getattr,i=r?t:n;return r??=n.node_ops.getattr,R.checkOpExists(r,63),r(i)},lstat(e){return R.stat(e,!0)},doChmod(e,t,n,r){R.doSetAttr(e,t,{mode:n&4095|t.mode&-4096,ctime:Date.now(),dontFollow:r})},chmod(e,t,n){var r=typeof e==`string`?R.lookupPath(e,{follow:!n}).node:e;R.doChmod(null,r,t,n)},lchmod(e,t){R.chmod(e,t,!0)},fchmod(e,t){var n=R.getStreamChecked(e);R.doChmod(n,n.node,t,!1)},doChown(e,t,n){R.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:n})},chown(e,t,n,r){var i=typeof e==`string`?R.lookupPath(e,{follow:!r}).node:e;R.doChown(null,i,r)},lchown(e,t,n){R.chown(e,t,n,!0)},fchown(e,t,n){var r=R.getStreamChecked(e);R.doChown(r,r.node,!1)},doTruncate(e,t,n){if(R.isDir(t.mode))throw new R.ErrnoError(31);if(!R.isFile(t.mode))throw new R.ErrnoError(28);var r=R.nodePermissions(t,`w`);if(r)throw new R.ErrnoError(r);R.doSetAttr(e,t,{size:n,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new R.ErrnoError(28);var n=typeof e==`string`?R.lookupPath(e,{follow:!0}).node:e;R.doTruncate(null,n,t)},ftruncate(e,t){var n=R.getStreamChecked(e);if(t<0||!(n.flags&2097155))throw new R.ErrnoError(28);R.doTruncate(n,n.node,t)},utime(e,t,n){var r=R.lookupPath(e,{follow:!0}).node;R.checkOpExists(r.node_ops.setattr,63)(r,{atime:t,mtime:n})},open(e,t,n=438){if(e===``)throw new R.ErrnoError(44);t=typeof t==`string`?FS_modeStringToFlags(t):t,n=t&64?n&4095|32768:0;var r,i;if(typeof e==`object`)r=e;else{i=e.endsWith(`/`);var a=R.lookupPath(e,{follow:!(t&131072),noent_okay:!0});r=a.node,e=a.path}var o=!1;if(t&64)if(r){if(t&128)throw new R.ErrnoError(20)}else if(i)throw new R.ErrnoError(31);else r=R.mknod(e,n|511,0),o=!0;if(!r)throw new R.ErrnoError(44);if(R.isChrdev(r.mode)&&(t&=-513),t&65536&&!R.isDir(r.mode))throw new R.ErrnoError(54);if(!o){var s=R.mayOpen(r,t);if(s)throw new R.ErrnoError(s)}t&512&&!o&&R.truncate(r,0),t&=-131713;var c=R.createStream({node:r,path:R.getPath(r),flags:t,seekable:!0,position:0,stream_ops:r.stream_ops,ungotten:[],error:!1});return c.stream_ops.open&&c.stream_ops.open(c),o&&R.chmod(r,n&511),c},close(e){if(R.isClosed(e))throw new R.ErrnoError(8);e.getdents&&=null;try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{R.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,t,n){if(R.isClosed(e))throw new R.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new R.ErrnoError(70);if(n!=0&&n!=1&&n!=2)throw new R.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read(e,t,n,r,i){if(assert(n>=0),r<0||i<0)throw new R.ErrnoError(28);if(R.isClosed(e)||(e.flags&2097155)==1)throw new R.ErrnoError(8);if(R.isDir(e.node.mode))throw new R.ErrnoError(31);if(!e.stream_ops.read)throw new R.ErrnoError(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new R.ErrnoError(70);var o=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=o),o},write(e,t,n,r,i,a){if(assert(n>=0),r<0||i<0)throw new R.ErrnoError(28);if(R.isClosed(e)||!(e.flags&2097155))throw new R.ErrnoError(8);if(R.isDir(e.node.mode))throw new R.ErrnoError(31);if(!e.stream_ops.write)throw new R.ErrnoError(28);e.seekable&&e.flags&1024&&R.llseek(e,0,2);var o=i!==void 0;if(!o)i=e.position;else if(!e.seekable)throw new R.ErrnoError(70);var s=e.stream_ops.write(e,t,n,r,i,a);return o||(e.position+=s),s},mmap(e,t,n,r,i){if(r&2&&!(i&2)&&(e.flags&2097155)!=2||(e.flags&2097155)==1)throw new R.ErrnoError(2);if(!e.stream_ops.mmap)throw new R.ErrnoError(43);if(!t)throw new R.ErrnoError(28);return e.stream_ops.mmap(e,t,n,r,i)},msync(e,t,n,r,i){return assert(n>=0),e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},ioctl(e,t,n){if(!e.stream_ops.ioctl)throw new R.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile(e,t={}){t.flags=t.flags||0,t.encoding=t.encoding||`binary`,t.encoding!==`utf8`&&t.encoding!==`binary`&&abort(`Invalid encoding type "${t.encoding}"`);var n=R.open(e,t.flags),r=R.stat(e).size,i=new Uint8Array(r);return R.read(n,i,0,r,0),t.encoding===`utf8`&&(i=UTF8ArrayToString(i)),R.close(n),i},writeFile(e,t,n={}){n.flags=n.flags||577;var r=R.open(e,n.flags,n.mode);typeof t==`string`&&(t=new Uint8Array(intArrayFromString(t,!0))),ArrayBuffer.isView(t)?R.write(r,t,0,t.byteLength,void 0,n.canOwn):abort(`Unsupported data type`),R.close(r)},cwd:()=>R.currentPath,chdir(e){var t=R.lookupPath(e,{follow:!0});if(t.node===null)throw new R.ErrnoError(44);if(!R.isDir(t.node.mode))throw new R.ErrnoError(54);var n=R.nodePermissions(t.node,`x`);if(n)throw new R.ErrnoError(n);R.currentPath=t.path},createDefaultDirectories(){R.mkdir(`/tmp`),R.mkdir(`/home`),R.mkdir(`/home/web_user`)},createDefaultDevices(){R.mkdir(`/dev`),R.registerDevice(R.makedev(1,3),{read:()=>0,write:(e,t,n,r,i)=>r,llseek:()=>0}),R.mkdev(`/dev/null`,R.makedev(1,3)),M.register(R.makedev(5,0),M.default_tty_ops),M.register(R.makedev(6,0),M.default_tty1_ops),R.mkdev(`/dev/tty`,R.makedev(5,0)),R.mkdev(`/dev/tty1`,R.makedev(6,0));var e=new Uint8Array(1024),t=0,randomByte=()=>(t===0&&(randomFill(e),t=e.byteLength),e[--t]);R.createDevice(`/dev`,`random`,randomByte),R.createDevice(`/dev`,`urandom`,randomByte),R.mkdir(`/dev/shm`),R.mkdir(`/dev/shm/tmp`)},createSpecialDirectories(){R.mkdir(`/proc`);var e=R.mkdir(`/proc/self`);R.mkdir(`/proc/self/fd`),R.mount({mount(){var t=R.createNode(e,`fd`,16895,73);return t.stream_ops={llseek:N.stream_ops.llseek},t.node_ops={lookup(e,t){var n=+t,r=R.getStreamChecked(n),i={parent:null,mount:{mountpoint:`fake`},node_ops:{readlink:()=>r.path},id:n+1};return i.parent=i,i},readdir(){return Array.from(R.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())}},t}},{},`/proc/self/fd`)},createStandardStreams(e,t,n){e?R.createDevice(`/dev`,`stdin`,e):R.symlink(`/dev/tty`,`/dev/stdin`),t?R.createDevice(`/dev`,`stdout`,null,t):R.symlink(`/dev/tty`,`/dev/stdout`),n?R.createDevice(`/dev`,`stderr`,null,n):R.symlink(`/dev/tty1`,`/dev/stderr`);var r=R.open(`/dev/stdin`,0),i=R.open(`/dev/stdout`,1),a=R.open(`/dev/stderr`,1);assert(r.fd===0,`invalid handle for stdin (${r.fd})`),assert(i.fd===1,`invalid handle for stdout (${i.fd})`),assert(a.fd===2,`invalid handle for stderr (${a.fd})`)},staticInit(){R.nameTable=Array(4096),R.mount(N,{},`/`),R.createDefaultDirectories(),R.createDefaultDevices(),R.createSpecialDirectories(),R.filesystems={MEMFS:N}},init(e,t,r){assert(!R.initialized,`FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)`),R.initialized=!0,e??=n.stdin,t??=n.stdout,r??=n.stderr,R.createStandardStreams(e,t,r)},quit(){R.initialized=!1,W(0);for(var e of R.streams)e&&R.close(e)},findObject(e,t){var n=R.analyzePath(e,t);return n.exists?n.object:null},analyzePath(e,t){try{var n=R.lookupPath(e,{follow:!t});e=n.path}catch{}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=R.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=k.basename(e),n=R.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot=n.path===`/`}catch(e){r.error=e.errno}return r},createPath(e,t,n,r){e=typeof e==`string`?e:R.getPath(e);for(var i=t.split(`/`).reverse();i.length;){var a=i.pop();if(a){var o=k.join2(e,a);try{R.mkdir(o)}catch(e){if(e.errno!=20)throw e}e=o}}return o},createFile(e,t,n,r,i){var a=k.join2(typeof e==`string`?e:R.getPath(e),t),o=FS_getMode(r,i);return R.create(a,o)},createDataFile(e,t,n,r,i,a){var o=t;e&&(e=typeof e==`string`?e:R.getPath(e),o=t?k.join2(e,t):e);var s=FS_getMode(r,i),c=R.create(o,s);if(n){if(typeof n==`string`){for(var l=Array(n.length),u=0,d=n.length;u<d;++u)l[u]=n.charCodeAt(u);n=l}R.chmod(c,s|146);var f=R.open(c,577);R.write(f,n,0,n.length,0,a),R.close(f),R.chmod(c,s)}},createDevice(e,t,n,r){var i=k.join2(typeof e==`string`?e:R.getPath(e),t),a=FS_getMode(!!n,!!r);R.createDevice.major??=64;var o=R.makedev(R.createDevice.major++,0);return R.registerDevice(o,{open(e){e.seekable=!1},close(e){r?.buffer?.length&&r(10)},read(e,t,r,i,a){for(var o=0,s=0;s<i;s++){var c;try{c=n()}catch{throw new R.ErrnoError(29)}if(c===void 0&&o===0)throw new R.ErrnoError(6);if(c==null)break;o++,t[r+s]=c}return o&&(e.node.atime=Date.now()),o},write(e,t,n,i,a){for(var o=0;o<i;o++)try{r(t[n+o])}catch{throw new R.ErrnoError(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),o}}),R.mkdev(i,a,o)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)abort(`Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.`);else try{e.contents=readBinary(e.url)}catch{throw new R.ErrnoError(29)}},createLazyFile(e,t,n,r,a){class LazyUint8Array{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open(`HEAD`,n,!1),e.send(null),e.status>=200&&e.status<300||e.status===304||abort(`Couldn't load `+n+`. Status: `+e.status);var t=Number(e.getResponseHeader(`Content-length`)),r,i=(r=e.getResponseHeader(`Accept-Ranges`))&&r===`bytes`,a=(r=e.getResponseHeader(`Content-Encoding`))&&r===`gzip`,o=1024*1024;i||(o=t);var doXHR=(e,r)=>{e>r&&abort(`invalid range (`+e+`, `+r+`) or no bytes requested!`),r>t-1&&abort(`only `+t+` bytes available! programmer error!`);var i=new XMLHttpRequest;return i.open(`GET`,n,!1),t!==o&&i.setRequestHeader(`Range`,`bytes=`+e+`-`+r),i.responseType=`arraybuffer`,i.overrideMimeType&&i.overrideMimeType(`text/plain; charset=x-user-defined`),i.send(null),i.status>=200&&i.status<300||i.status===304||abort(`Couldn't load `+n+`. Status: `+i.status),i.response===void 0?intArrayFromString(i.responseText||``,!0):new Uint8Array(i.response||[])},s=this;s.setDataGetter(e=>{var n=e*o,r=(e+1)*o-1;return r=Math.min(r,t-1),s.chunks[e]===void 0&&(s.chunks[e]=doXHR(n,r)),s.chunks[e]===void 0&&abort(`doXHR failed!`),s.chunks[e]}),(a||!t)&&(o=t=1,t=this.getter(0).length,o=t,f(`LazyFiles on gzip forces download of the whole file when length is accessed`)),this._length=t,this._chunkSize=o,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){i||abort(`Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc`);var o={isDevice:!1,contents:new LazyUint8Array}}else var o={isDevice:!1,url:n};var s=R.createFile(e,t,o,r,a);o.contents?s.contents=o.contents:o.url&&(s.contents=null,s.url=o.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var c={};for(let[e,t]of Object.entries(s.stream_ops))c[e]=(...e)=>(R.forceLoadFile(s),t(...e));function writeChunks(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var o=Math.min(a.length-i,r);if(assert(o>=0),a.slice)for(var s=0;s<o;s++)t[n+s]=a[i+s];else for(var s=0;s<o;s++)t[n+s]=a.get(i+s);return o}return c.read=(e,t,n,r,i)=>(R.forceLoadFile(s),writeChunks(e,t,n,r,i)),c.mmap=(e,t,n,r,i)=>{R.forceLoadFile(s);var a=mmapAlloc(t);if(!a)throw new R.ErrnoError(48);return writeChunks(e,v,a,t,n),{ptr:a,allocated:!0}},s.stream_ops=c,s},absolutePath(){abort(`FS.absolutePath has been removed; use PATH_FS.resolve instead`)},createFolder(){abort(`FS.createFolder has been removed; use FS.mkdir instead`)},createLink(){abort(`FS.createLink has been removed; use FS.symlink instead`)},joinPath(){abort(`FS.joinPath has been removed; use PATH.join instead`)},mmapAlloc(){abort(`FS.mmapAlloc has been replaced by the top level function mmapAlloc`)},standardizePath(){abort(`FS.standardizePath has been removed; use PATH.normalize instead`)}},z={calculateAt(e,t,n){if(k.isAbs(t))return t;var r=e===-100?R.cwd():z.getStreamFromFD(e).path;if(t.length==0){if(!n)throw new R.ErrnoError(44);return r}return r+`/`+t},writeStat(e,t){x[e>>2]=t.dev,x[e+4>>2]=t.mode,x[e+8>>2]=t.nlink,x[e+12>>2]=t.uid,x[e+16>>2]=t.gid,x[e+20>>2]=t.rdev,S[e+24>>3]=BigInt(t.size),b[e+32>>2]=4096,b[e+36>>2]=t.blocks;var n=t.atime.getTime(),r=t.mtime.getTime(),i=t.ctime.getTime();return S[e+40>>3]=BigInt(Math.floor(n/1e3)),x[e+48>>2]=n%1e3*1e3*1e3,S[e+56>>3]=BigInt(Math.floor(r/1e3)),x[e+64>>2]=r%1e3*1e3*1e3,S[e+72>>3]=BigInt(Math.floor(i/1e3)),x[e+80>>2]=i%1e3*1e3*1e3,S[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){x[e+4>>2]=t.bsize,x[e+60>>2]=t.bsize,S[e+8>>3]=BigInt(t.blocks),S[e+16>>3]=BigInt(t.bfree),S[e+24>>3]=BigInt(t.bavail),S[e+32>>3]=BigInt(t.files),S[e+40>>3]=BigInt(t.ffree),x[e+48>>2]=t.fsid,x[e+64>>2]=t.flags,x[e+56>>2]=t.namelen},doMsync(e,t,n,r,i){if(!R.isFile(t.node.mode))throw new R.ErrnoError(43);if(r&2)return 0;var a=y.slice(e,e+n);R.msync(t,a,i,n,r)},getStreamFromFD(e){return R.getStreamChecked(e)},varargs:void 0,getStr(e){return UTF8ToString(e)}};function ___syscall_dup(e){try{var t=z.getStreamFromFD(e);return R.dupStream(t).fd}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function ___syscall_fstat64(e,t){try{return z.writeStat(t,R.fstat(e))}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function ___syscall_lstat64(e,t){try{return e=z.getStr(e),z.writeStat(t,R.lstat(e))}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function ___syscall_mkdirat(e,t,n){try{return t=z.getStr(t),t=z.calculateAt(e,t),R.mkdir(t,n,0),0}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function ___syscall_newfstatat(e,t,n,r){try{t=z.getStr(t);var i=r&256,a=r&4096;return r&=-6401,assert(!r,`unknown flags in __syscall_newfstatat: ${r}`),t=z.calculateAt(e,t,a),z.writeStat(n,i?R.lstat(t):R.stat(t))}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var syscallGetVarargI=()=>{assert(z.varargs!=null);var e=b[z.varargs>>2];return z.varargs+=4,e};function ___syscall_openat(e,t,n,r){z.varargs=r;try{t=z.getStr(t),t=z.calculateAt(e,t);var i=r?syscallGetVarargI():0;return R.open(t,n,i).fd}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function ___syscall_stat64(e,t){try{return e=z.getStr(e),z.writeStat(t,R.stat(e))}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var __abort_js=()=>abort(`native code called abort()`),getExecutableName=()=>c||`./this.program`,stringToUTF8=(e,t,n)=>(assert(typeof n==`number`,`stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!`),stringToUTF8Array(e,y,t,n)),__emscripten_get_progname=(e,t)=>stringToUTF8(getExecutableName(),e,t),stringToNewUTF8=e=>{var t=lengthBytesUTF8(e)+1,n=H(t);return n&&stringToUTF8(e,n,t),n},__emscripten_sanitizer_get_option=e=>stringToNewUTF8(n[UTF8ToString(e)]||``),__emscripten_sanitizer_use_colors=()=>{var e=n.printWithColors;return e===void 0?a&&process.stderr.isTTY:e},isLeapYear=e=>e%4==0&&(e%100!=0||e%400==0),ie=[0,31,60,91,121,152,182,213,244,274,305,335],ae=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>(isLeapYear(e.getFullYear())?ie:ae)[e.getMonth()]+e.getDate()-1,oe=9007199254740992,se=-9007199254740992,bigintToI53Checked=e=>e<se||e>oe?NaN:Number(e);function __localtime_js(e,t){e=bigintToI53Checked(e);var n=new Date(e*1e3);b[t>>2]=n.getSeconds(),b[t+4>>2]=n.getMinutes(),b[t+8>>2]=n.getHours(),b[t+12>>2]=n.getDate(),b[t+16>>2]=n.getMonth(),b[t+20>>2]=n.getFullYear()-1900,b[t+24>>2]=n.getDay();var r=ydayFromDate(n)|0;b[t+28>>2]=r,b[t+36>>2]=-(n.getTimezoneOffset()*60);var i=new Date(n.getFullYear(),0,1),a=new Date(n.getFullYear(),6,1).getTimezoneOffset(),o=i.getTimezoneOffset(),s=(a!=o&&n.getTimezoneOffset()==Math.min(o,a))|0;b[t+32>>2]=s}function __mmap_js(e,t,n,r,i,a,o){i=bigintToI53Checked(i);try{assert(!isNaN(i));var s=z.getStreamFromFD(r),c=R.mmap(s,e,i,t,n),l=c.ptr;return b[a>>2]=c.allocated,x[o>>2]=l,0}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function __munmap_js(e,t,n,r,i,a){a=bigintToI53Checked(a);try{var o=z.getStreamFromFD(i);n&2&&z.doMsync(e,o,t,r,a)}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var __tzset_js=(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1),o=new Date(i,6,1),s=a.getTimezoneOffset(),c=o.getTimezoneOffset(),l=Math.max(s,c);x[e>>2]=l*60,b[t>>2]=Number(s!=c);var extractZone=e=>{var t=e>=0?`-`:`+`,n=Math.abs(e);return`UTC${t}${String(Math.floor(n/60)).padStart(2,`0`)}${String(n%60).padStart(2,`0`)}`},u=extractZone(s),d=extractZone(c);assert(u),assert(d),assert(lengthBytesUTF8(u)<=16,`timezone name truncated to fit in TZNAME_MAX (${u})`),assert(lengthBytesUTF8(d)<=16,`timezone name truncated to fit in TZNAME_MAX (${d})`),c<s?(stringToUTF8(u,n,17),stringToUTF8(d,r,17)):(stringToUTF8(u,r,17),stringToUTF8(d,n,17))},_emscripten_get_now=()=>performance.now(),_emscripten_date_now=()=>Date.now(),ce=1,checkWasiClock=e=>e>=0&&e<=3;function _clock_time_get(e,t,n){if(t=bigintToI53Checked(t),!checkWasiClock(e))return 28;var r;if(e===0)r=_emscripten_date_now();else if(ce)r=_emscripten_get_now();else return 52;var i=Math.round(r*1e3*1e3);return S[n>>3]=BigInt(i),0}var getHeapMax=()=>2147483648,_emscripten_get_heap_max=()=>getHeapMax(),B={},convertPCtoSourceLocation=e=>{if(B.last_get_source_pc==e)return B.last_source;var t,n;if(Q&&(n=Q.lookup(e)),!n){var r=B[e];if(!r)return null;((t=/\((.*):(\d+):(\d+)\)$/.exec(r))||(t=/@(.*):(\d+):(\d+)/.exec(r)))&&(n={file:t[1],line:t[2],column:t[3]})}return B.last_get_source_pc=e,B.last_source=n,n},_emscripten_pc_get_column=e=>{var t=convertPCtoSourceLocation(e);return t&&t.column||0},noLeakCheck=e=>{C&&de();try{return e()}finally{C&&fe()}},_emscripten_pc_get_file=e=>noLeakCheck(()=>{var t=convertPCtoSourceLocation(e);return t?(U(_emscripten_pc_get_file.ret??0),_emscripten_pc_get_file.ret=stringToNewUTF8(t.file),_emscripten_pc_get_file.ret):0}),convertFrameToPC=e=>{var t;if(t=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(e))return+t[1];if(t=/\bwasm-function\[(\d+)\]:(\d+)/.exec(e))warnOnce(`legacy backtrace format detected, this version of v8 is no longer supported by the emscripten backtrace mechanism`);else if(t=/:(\d+):\d+(?:\)|$)/.exec(e))return 2147483648|t[1];return 0},saveInUnwindCache=e=>{for(var t of e){var n=convertFrameToPC(t);n&&(B[n]=t)}},jsStackTrace=()=>Error().stack.toString(),_emscripten_stack_snapshot=()=>{var e=jsStackTrace().split(`
3
+ `);return e[0]==`Error`&&e.shift(),saveInUnwindCache(e),B.last_addr=convertFrameToPC(e[3]),B.last_stack=e,B.last_addr},_emscripten_pc_get_function=e=>noLeakCheck(()=>{var t=B[e];if(!t)return 0;var n,r;if(r=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(t))n=r[1];else if(r=/^\s+at (.*) \(.*\)$/.exec(t))n=r[1];else if(r=/^(.+?)@/.exec(t))n=r[1];else return 0;return U(_emscripten_pc_get_function.ret??0),_emscripten_pc_get_function.ret=stringToNewUTF8(n),_emscripten_pc_get_function.ret}),_emscripten_pc_get_line=e=>{var t=convertPCtoSourceLocation(e);return t?t.line:0},growMemory=e=>{var t=D.buffer.byteLength,n=(e-t+65535)/65536|0;try{return D.grow(n),updateMemoryViews(),1}catch(n){p(`growMemory: Attempted to grow heap from ${t} bytes to ${e} bytes, but got error: ${n}`)}},_emscripten_resize_heap=e=>{var t=y.length;e>>>=0,assert(e>t);var n=getHeapMax();if(e>n)return p(`Cannot enlarge memory, requested ${e} bytes, but the limit is ${n} bytes!`),!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var a=Math.min(n,alignMemory(Math.max(e,i),65536));if(growMemory(a))return!0}return p(`Failed to grow the heap from ${t} bytes to ${a} bytes, not enough memory!`),!1},_emscripten_stack_unwind_buffer=(e,t,n)=>{var r;B.last_addr==e?r=B.last_stack:(r=jsStackTrace().split(`
4
+ `),r[0]==`Error`&&r.shift(),saveInUnwindCache(r));for(var i=3;r[i]&&convertFrameToPC(r[i])!=e;)++i;for(var a=0;a<n&&r[a+i];++a)b[t+a*4>>2]=convertFrameToPC(r[a+i]);return a},V={},getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:getExecutableName()};for(var t in V)V[t]===void 0?delete e[t]:e[t]=V[t];var n=[];for(var t in e)n.push(`${t}=${e[t]}`);getEnvStrings.strings=n}return getEnvStrings.strings},_environ_get=(e,t)=>{var n=0,r=0;for(var i of getEnvStrings()){var a=t+n;x[e+r>>2]=a,n+=stringToUTF8(i,a,1/0)+1,r+=4}return 0},_environ_sizes_get=(e,t)=>{var n=getEnvStrings();x[e>>2]=n.length;var r=0;for(var i of n)r+=lengthBytesUTF8(i)+1;return x[t>>2]=r,0};function _fd_close(e){try{var t=z.getStreamFromFD(e);return R.close(t),0}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var doReadv=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=x[t>>2],s=x[t+4>>2];t+=8;var c=R.read(e,v,o,s,r);if(c<0)return-1;if(i+=c,c<s)break;r!==void 0&&(r+=c)}return i};function _fd_read(e,t,n,r){try{var i=doReadv(z.getStreamFromFD(e),t,n);return x[r>>2]=i,0}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function _fd_seek(e,t,n,r){t=bigintToI53Checked(t);try{if(isNaN(t))return 61;var i=z.getStreamFromFD(e);return R.llseek(i,t,n),S[r>>3]=BigInt(i.position),i.getdents&&t===0&&n===0&&(i.getdents=null),0}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var doWritev=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=x[t>>2],s=x[t+4>>2];t+=8;var c=R.write(e,v,o,s,r);if(c<0)return-1;if(i+=c,c<s)break;r!==void 0&&(r+=c)}return i};function _fd_write(e,t,n,r){try{var i=doWritev(z.getStreamFromFD(e),t,n);return x[r>>2]=i,0}catch(e){if(R===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var le=0,keepRuntimeAlive=()=>E||le>0,_proc_exit=e=>{keepRuntimeAlive()||(n.onExit?.(e),h=!0),quit_(e,new ExitStatus(e))},getCFunc=e=>{var t=n[`_`+e];return assert(t,`Cannot call unknown function `+e+`, make sure it is exported`),t},writeArrayToMemory=(e,t)=>{assert(e.length>=0,`writeArrayToMemory array must have a length (should be an array or typed array)`),v.set(e,t)},stackAlloc=e=>X(e),stringToUTF8OnStack=e=>{var t=lengthBytesUTF8(e)+1,n=stackAlloc(t);return stringToUTF8(e,n,t),n},ccall=(e,t,n,r,i)=>{var a={string:e=>{var t=0;return e!=null&&e!==0&&(t=stringToUTF8OnStack(e)),t},array:e=>{var t=stackAlloc(e.length);return writeArrayToMemory(e,t),t}};function convertReturnValue(e){return t===`string`?UTF8ToString(e):t===`boolean`?!!e:e}var o=getCFunc(e),s=[],c=0;if(assert(t!==`array`,`Return type should not be "array".`),r)for(var l=0;l<r.length;l++){var u=a[n[l]];u?(c===0&&(c=stackSave()),s[l]=u(r[l])):s[l]=r[l]}var d=o(...s);function onDone(e){return c!==0&&stackRestore(c),convertReturnValue(e)}return d=onDone(d),d},cwrap=(e,t,n,r)=>(...i)=>ccall(e,t,n,i,r);if(R.createPreloadedFile=FS_createPreloadedFile,R.preloadFile=FS_preloadFile,R.staticInit(),initMemory(),n.noExitRuntime&&(E=n.noExitRuntime),n.preloadPlugins&&(re=n.preloadPlugins),n.print&&(f=n.print),n.printErr&&(p=n.printErr),n.wasmBinary&&(m=n.wasmBinary),checkIncomingModuleAPI(),n.arguments&&n.arguments,n.thisProgram&&(c=n.thisProgram),assert(n.memoryInitializerPrefixURL===void 0,`Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead`),assert(n.pthreadMainPrefixURL===void 0,`Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead`),assert(n.cdInitializerPrefixURL===void 0,`Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead`),assert(n.filePackagePrefixURL===void 0,`Module.filePackagePrefixURL option was removed, use Module.locateFile instead`),assert(n.read===void 0,`Module.read option was removed`),assert(n.readAsync===void 0,`Module.readAsync option was removed (modify readAsync in JS)`),assert(n.readBinary===void 0,`Module.readBinary option was removed (modify readBinary in JS)`),assert(n.setWindowTitle===void 0,`Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)`),assert(n.TOTAL_MEMORY===void 0,`Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY`),assert(n.ENVIRONMENT===void 0,`Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)`),assert(n.STACK_SIZE===void 0,`STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time`),n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();consumedModuleProp(`preInit`),n.cwrap=cwrap,n.UTF8ToString=UTF8ToString,n.stringToUTF8=stringToUTF8,n.lengthBytesUTF8=lengthBytesUTF8,`writeI53ToI64.writeI53ToI64Clamped.writeI53ToI64Signaling.writeI53ToU64Clamped.writeI53ToU64Signaling.readI53FromI64.readI53FromU64.convertI32PairToI53.convertI32PairToI53Checked.convertU32PairToI53.getTempRet0.setTempRet0.createNamedFunction.exitJS.withStackSave.inetPton4.inetNtop4.inetPton6.inetNtop6.readSockaddr.writeSockaddr.readEmAsmArgs.jstoi_q.autoResumeAudioContext.getDynCaller.dynCall.handleException.runtimeKeepalivePush.runtimeKeepalivePop.callUserCallback.maybeExit.asmjsMangle.HandleAllocator.addOnInit.addOnPostCtor.addOnPreMain.addOnExit.STACK_SIZE.STACK_ALIGN.POINTER_SIZE.ASSERTIONS.convertJsFunctionToWasm.getEmptyTableSlot.updateTableMap.getFunctionAddress.addFunction.removeFunction.intArrayToString.AsciiToString.stringToAscii.UTF16ToString.stringToUTF16.lengthBytesUTF16.UTF32ToString.stringToUTF32.lengthBytesUTF32.registerKeyEventCallback.maybeCStringToJsString.findEventTarget.getBoundingClientRect.fillMouseEventData.registerMouseEventCallback.registerWheelEventCallback.registerUiEventCallback.registerFocusEventCallback.fillDeviceOrientationEventData.registerDeviceOrientationEventCallback.fillDeviceMotionEventData.registerDeviceMotionEventCallback.screenOrientation.fillOrientationChangeEventData.registerOrientationChangeEventCallback.fillFullscreenChangeEventData.registerFullscreenChangeEventCallback.JSEvents_requestFullscreen.JSEvents_resizeCanvasForFullscreen.registerRestoreOldStyle.hideEverythingExceptGivenElement.restoreHiddenElements.setLetterbox.softFullscreenResizeWebGLRenderTarget.doRequestFullscreen.fillPointerlockChangeEventData.registerPointerlockChangeEventCallback.registerPointerlockErrorEventCallback.requestPointerLock.fillVisibilityChangeEventData.registerVisibilityChangeEventCallback.registerTouchEventCallback.fillGamepadEventData.registerGamepadEventCallback.registerBeforeUnloadEventCallback.fillBatteryEventData.registerBatteryEventCallback.setCanvasElementSize.getCanvasElementSize.getCallstack.wasiRightsToMuslOFlags.wasiOFlagsToMuslOFlags.safeSetTimeout.setImmediateWrapped.safeRequestAnimationFrame.clearImmediateWrapped.registerPostMainLoop.registerPreMainLoop.getPromise.makePromise.idsToPromises.makePromiseCallback.Browser_asyncPrepareDataCounter.arraySum.addDays.getSocketFromFD.getSocketAddress.FS_mkdirTree._setNetworkCallback.ALLOC_NORMAL.ALLOC_STACK.allocate.writeStringToMemory.writeAsciiToMemory.allocateUTF8.allocateUTF8OnStack.stackTrace.getNativeTypeSize`.split(`.`).forEach(missingLibrarySymbol),`run.out.err.callMain.abort.wasmExports.HEAPF32.HEAPF64.HEAP16.HEAPU16.HEAP32.HEAPU32.HEAP64.HEAPU64.WasmSourceMap.writeStackCookie.checkStackCookie.INT53_MAX.INT53_MIN.bigintToI53Checked.stackSave.stackRestore.stackAlloc.ptrToString.zeroMemory.getHeapMax.growMemory.ENV.ERRNO_CODES.strError.DNS.Protocols.Sockets.timers.warnOnce.noLeakCheck.readEmAsmArgsArray.getExecutableName.keepRuntimeAlive.asyncLoad.alignMemory.mmapAlloc.wasmTable.wasmMemory.getUniqueRunDependency.noExitRuntime.addRunDependency.removeRunDependency.addOnPreRun.addOnPostRun.ccall.freeTableIndexes.functionsInTableMap.setValue.getValue.PATH.PATH_FS.UTF8Decoder.UTF8ArrayToString.stringToUTF8Array.intArrayFromString.UTF16Decoder.stringToNewUTF8.stringToUTF8OnStack.writeArrayToMemory.JSEvents.specialHTMLTargets.findCanvasEventTarget.currentFullscreenStrategy.restoreOldWindowedStyle.jsStackTrace.UNWIND_CACHE.convertPCtoSourceLocation.ExitStatus.getEnvStrings.checkWasiClock.doReadv.doWritev.initRandomFill.randomFill.emSetImmediate.emClearImmediate_deps.emClearImmediate.promiseMap.Browser.requestFullscreen.requestFullScreen.setCanvasSize.getUserMedia.createContext.getPreloadedImageData__data.wget.MONTH_DAYS_REGULAR.MONTH_DAYS_LEAP.MONTH_DAYS_REGULAR_CUMULATIVE.MONTH_DAYS_LEAP_CUMULATIVE.isLeapYear.ydayFromDate.SYSCALLS.preloadPlugins.FS_createPreloadedFile.FS_preloadFile.FS_modeStringToFlags.FS_getMode.FS_stdin_getChar_buffer.FS_stdin_getChar.FS_unlink.FS_createPath.FS_createDevice.FS_readFile.FS.FS_root.FS_mounts.FS_devices.FS_streams.FS_nextInode.FS_nameTable.FS_currentPath.FS_initialized.FS_ignorePermissions.FS_filesystems.FS_syncFSRequests.FS_lookupPath.FS_getPath.FS_hashName.FS_hashAddNode.FS_hashRemoveNode.FS_lookupNode.FS_createNode.FS_destroyNode.FS_isRoot.FS_isMountpoint.FS_isFile.FS_isDir.FS_isLink.FS_isChrdev.FS_isBlkdev.FS_isFIFO.FS_isSocket.FS_flagsToPermissionString.FS_nodePermissions.FS_mayLookup.FS_mayCreate.FS_mayDelete.FS_mayOpen.FS_checkOpExists.FS_nextfd.FS_getStreamChecked.FS_getStream.FS_createStream.FS_closeStream.FS_dupStream.FS_doSetAttr.FS_chrdev_stream_ops.FS_major.FS_minor.FS_makedev.FS_registerDevice.FS_getDevice.FS_getMounts.FS_syncfs.FS_mount.FS_unmount.FS_lookup.FS_mknod.FS_statfs.FS_statfsStream.FS_statfsNode.FS_create.FS_mkdir.FS_mkdev.FS_symlink.FS_rename.FS_rmdir.FS_readdir.FS_readlink.FS_stat.FS_fstat.FS_lstat.FS_doChmod.FS_chmod.FS_lchmod.FS_fchmod.FS_doChown.FS_chown.FS_lchown.FS_fchown.FS_doTruncate.FS_truncate.FS_ftruncate.FS_utime.FS_open.FS_close.FS_isClosed.FS_llseek.FS_read.FS_write.FS_mmap.FS_msync.FS_ioctl.FS_writeFile.FS_cwd.FS_chdir.FS_createDefaultDirectories.FS_createDefaultDevices.FS_createSpecialDirectories.FS_createStandardStreams.FS_staticInit.FS_init.FS_quit.FS_findObject.FS_analyzePath.FS_createFile.FS_createDataFile.FS_forceLoadFile.FS_createLazyFile.FS_absolutePath.FS_createFolder.FS_createLink.FS_joinPath.FS_mmapAlloc.FS_standardizePath.MEMFS.TTY.PIPEFS.SOCKFS.print.printErr.jstoi_s`.split(`.`).forEach(unexportedRuntimeSymbol);function checkIncomingModuleAPI(){ignoredModuleProp(`fetchSettings`),ignoredModuleProp(`logReadFiles`),ignoredModuleProp(`loadSplitModule`)}function qts_host_ref_free(e,t){n.callbacks.freeHostRef(void 0,e,t)}function qts_host_call_function(e,t,r,i,a){return n.callbacks.callFunction(void 0,e,t,r,i,a)}function qts_host_interrupt_handler(e){return n.callbacks.shouldInterrupt(void 0,e)}function qts_host_load_module_source(e,t,r){let i=UTF8ToString(r);return n.callbacks.loadModuleSource(void 0,e,t,i)}function qts_host_normalize_module(e,t,r,i){let a=UTF8ToString(r),o=UTF8ToString(i);return n.callbacks.normalizeModule(void 0,e,t,a,o)}var H=n._malloc=makeInvalidEarlyAccess(`_malloc`);n._QTS_Throw=makeInvalidEarlyAccess(`_QTS_Throw`),n._QTS_NewError=makeInvalidEarlyAccess(`_QTS_NewError`),n._QTS_RuntimeSetMemoryLimit=makeInvalidEarlyAccess(`_QTS_RuntimeSetMemoryLimit`),n._QTS_RuntimeComputeMemoryUsage=makeInvalidEarlyAccess(`_QTS_RuntimeComputeMemoryUsage`),n._QTS_RuntimeDumpMemoryUsage=makeInvalidEarlyAccess(`_QTS_RuntimeDumpMemoryUsage`),n._QTS_RecoverableLeakCheck=makeInvalidEarlyAccess(`_QTS_RecoverableLeakCheck`),n._QTS_BuildIsSanitizeLeak=makeInvalidEarlyAccess(`_QTS_BuildIsSanitizeLeak`),n._QTS_RuntimeSetMaxStackSize=makeInvalidEarlyAccess(`_QTS_RuntimeSetMaxStackSize`),n._QTS_GetUndefined=makeInvalidEarlyAccess(`_QTS_GetUndefined`),n._QTS_GetNull=makeInvalidEarlyAccess(`_QTS_GetNull`),n._QTS_GetFalse=makeInvalidEarlyAccess(`_QTS_GetFalse`),n._QTS_GetTrue=makeInvalidEarlyAccess(`_QTS_GetTrue`),n._QTS_NewHostRef=makeInvalidEarlyAccess(`_QTS_NewHostRef`),n._QTS_GetHostRefId=makeInvalidEarlyAccess(`_QTS_GetHostRefId`),n._QTS_NewRuntime=makeInvalidEarlyAccess(`_QTS_NewRuntime`),n._QTS_FreeRuntime=makeInvalidEarlyAccess(`_QTS_FreeRuntime`);var U=n._free=makeInvalidEarlyAccess(`_free`);n._QTS_NewContext=makeInvalidEarlyAccess(`_QTS_NewContext`),n._QTS_FreeContext=makeInvalidEarlyAccess(`_QTS_FreeContext`),n._QTS_FreeValuePointer=makeInvalidEarlyAccess(`_QTS_FreeValuePointer`),n._QTS_FreeValuePointerRuntime=makeInvalidEarlyAccess(`_QTS_FreeValuePointerRuntime`),n._QTS_FreeVoidPointer=makeInvalidEarlyAccess(`_QTS_FreeVoidPointer`),n._QTS_FreeCString=makeInvalidEarlyAccess(`_QTS_FreeCString`),n._QTS_DupValuePointer=makeInvalidEarlyAccess(`_QTS_DupValuePointer`),n._QTS_NewObject=makeInvalidEarlyAccess(`_QTS_NewObject`),n._QTS_NewObjectProto=makeInvalidEarlyAccess(`_QTS_NewObjectProto`),n._QTS_NewArray=makeInvalidEarlyAccess(`_QTS_NewArray`),n._QTS_NewArrayBuffer=makeInvalidEarlyAccess(`_QTS_NewArrayBuffer`),n._QTS_NewFloat64=makeInvalidEarlyAccess(`_QTS_NewFloat64`),n._QTS_GetFloat64=makeInvalidEarlyAccess(`_QTS_GetFloat64`),n._QTS_NewString=makeInvalidEarlyAccess(`_QTS_NewString`),n._QTS_GetString=makeInvalidEarlyAccess(`_QTS_GetString`),n._QTS_GetArrayBuffer=makeInvalidEarlyAccess(`_QTS_GetArrayBuffer`),n._QTS_GetArrayBufferLength=makeInvalidEarlyAccess(`_QTS_GetArrayBufferLength`),n._QTS_NewSymbol=makeInvalidEarlyAccess(`_QTS_NewSymbol`),n._QTS_GetSymbolDescriptionOrKey=makeInvalidEarlyAccess(`_QTS_GetSymbolDescriptionOrKey`),n._QTS_IsGlobalSymbol=makeInvalidEarlyAccess(`_QTS_IsGlobalSymbol`),n._QTS_IsJobPending=makeInvalidEarlyAccess(`_QTS_IsJobPending`),n._QTS_ExecutePendingJob=makeInvalidEarlyAccess(`_QTS_ExecutePendingJob`),n._QTS_GetProp=makeInvalidEarlyAccess(`_QTS_GetProp`),n._QTS_GetPropNumber=makeInvalidEarlyAccess(`_QTS_GetPropNumber`),n._QTS_SetProp=makeInvalidEarlyAccess(`_QTS_SetProp`),n._QTS_DefineProp=makeInvalidEarlyAccess(`_QTS_DefineProp`),n._QTS_GetOwnPropertyNames=makeInvalidEarlyAccess(`_QTS_GetOwnPropertyNames`),n._QTS_Call=makeInvalidEarlyAccess(`_QTS_Call`),n._QTS_ResolveException=makeInvalidEarlyAccess(`_QTS_ResolveException`),n._QTS_Dump=makeInvalidEarlyAccess(`_QTS_Dump`),n._QTS_Eval=makeInvalidEarlyAccess(`_QTS_Eval`),n._QTS_GetModuleNamespace=makeInvalidEarlyAccess(`_QTS_GetModuleNamespace`),n._QTS_Typeof=makeInvalidEarlyAccess(`_QTS_Typeof`),n._QTS_GetLength=makeInvalidEarlyAccess(`_QTS_GetLength`),n._QTS_IsEqual=makeInvalidEarlyAccess(`_QTS_IsEqual`),n._QTS_GetGlobalObject=makeInvalidEarlyAccess(`_QTS_GetGlobalObject`),n._QTS_NewPromiseCapability=makeInvalidEarlyAccess(`_QTS_NewPromiseCapability`),n._QTS_PromiseState=makeInvalidEarlyAccess(`_QTS_PromiseState`),n._QTS_PromiseResult=makeInvalidEarlyAccess(`_QTS_PromiseResult`),n._QTS_TestStringArg=makeInvalidEarlyAccess(`_QTS_TestStringArg`),n._QTS_GetDebugLogEnabled=makeInvalidEarlyAccess(`_QTS_GetDebugLogEnabled`),n._QTS_SetDebugLogEnabled=makeInvalidEarlyAccess(`_QTS_SetDebugLogEnabled`),n._QTS_BuildIsDebug=makeInvalidEarlyAccess(`_QTS_BuildIsDebug`),n._QTS_BuildIsAsyncify=makeInvalidEarlyAccess(`_QTS_BuildIsAsyncify`),n._QTS_NewFunction=makeInvalidEarlyAccess(`_QTS_NewFunction`),n._QTS_ArgvGetJSValueConstPointer=makeInvalidEarlyAccess(`_QTS_ArgvGetJSValueConstPointer`),n._QTS_RuntimeEnableInterruptHandler=makeInvalidEarlyAccess(`_QTS_RuntimeEnableInterruptHandler`),n._QTS_RuntimeDisableInterruptHandler=makeInvalidEarlyAccess(`_QTS_RuntimeDisableInterruptHandler`),n._QTS_RuntimeEnableModuleLoader=makeInvalidEarlyAccess(`_QTS_RuntimeEnableModuleLoader`),n._QTS_RuntimeDisableModuleLoader=makeInvalidEarlyAccess(`_QTS_RuntimeDisableModuleLoader`),n._QTS_bjson_encode=makeInvalidEarlyAccess(`_QTS_bjson_encode`),n._QTS_bjson_decode=makeInvalidEarlyAccess(`_QTS_bjson_decode`);var W=makeInvalidEarlyAccess(`_fflush`),G=makeInvalidEarlyAccess(`_strerror`),K=makeInvalidEarlyAccess(`_emscripten_builtin_memalign`),q=makeInvalidEarlyAccess(`_emscripten_stack_init`),J=makeInvalidEarlyAccess(`_emscripten_stack_get_end`),Y=makeInvalidEarlyAccess(`__emscripten_stack_restore`),X=makeInvalidEarlyAccess(`__emscripten_stack_alloc`),ue=makeInvalidEarlyAccess(`_emscripten_stack_get_current`),de=makeInvalidEarlyAccess(`___lsan_disable`),fe=makeInvalidEarlyAccess(`___lsan_enable`);function assignWasmExports(e){assert(e.malloc!==void 0,`missing Wasm export: malloc`),assert(e.QTS_Throw!==void 0,`missing Wasm export: QTS_Throw`),assert(e.QTS_NewError!==void 0,`missing Wasm export: QTS_NewError`),assert(e.QTS_RuntimeSetMemoryLimit!==void 0,`missing Wasm export: QTS_RuntimeSetMemoryLimit`),assert(e.QTS_RuntimeComputeMemoryUsage!==void 0,`missing Wasm export: QTS_RuntimeComputeMemoryUsage`),assert(e.QTS_RuntimeDumpMemoryUsage!==void 0,`missing Wasm export: QTS_RuntimeDumpMemoryUsage`),assert(e.QTS_RecoverableLeakCheck!==void 0,`missing Wasm export: QTS_RecoverableLeakCheck`),assert(e.QTS_BuildIsSanitizeLeak!==void 0,`missing Wasm export: QTS_BuildIsSanitizeLeak`),assert(e.QTS_RuntimeSetMaxStackSize!==void 0,`missing Wasm export: QTS_RuntimeSetMaxStackSize`),assert(e.QTS_GetUndefined!==void 0,`missing Wasm export: QTS_GetUndefined`),assert(e.QTS_GetNull!==void 0,`missing Wasm export: QTS_GetNull`),assert(e.QTS_GetFalse!==void 0,`missing Wasm export: QTS_GetFalse`),assert(e.QTS_GetTrue!==void 0,`missing Wasm export: QTS_GetTrue`),assert(e.QTS_NewHostRef!==void 0,`missing Wasm export: QTS_NewHostRef`),assert(e.QTS_GetHostRefId!==void 0,`missing Wasm export: QTS_GetHostRefId`),assert(e.QTS_NewRuntime!==void 0,`missing Wasm export: QTS_NewRuntime`),assert(e.QTS_FreeRuntime!==void 0,`missing Wasm export: QTS_FreeRuntime`),assert(e.free!==void 0,`missing Wasm export: free`),assert(e.QTS_NewContext!==void 0,`missing Wasm export: QTS_NewContext`),assert(e.QTS_FreeContext!==void 0,`missing Wasm export: QTS_FreeContext`),assert(e.QTS_FreeValuePointer!==void 0,`missing Wasm export: QTS_FreeValuePointer`),assert(e.QTS_FreeValuePointerRuntime!==void 0,`missing Wasm export: QTS_FreeValuePointerRuntime`),assert(e.QTS_FreeVoidPointer!==void 0,`missing Wasm export: QTS_FreeVoidPointer`),assert(e.QTS_FreeCString!==void 0,`missing Wasm export: QTS_FreeCString`),assert(e.QTS_DupValuePointer!==void 0,`missing Wasm export: QTS_DupValuePointer`),assert(e.QTS_NewObject!==void 0,`missing Wasm export: QTS_NewObject`),assert(e.QTS_NewObjectProto!==void 0,`missing Wasm export: QTS_NewObjectProto`),assert(e.QTS_NewArray!==void 0,`missing Wasm export: QTS_NewArray`),assert(e.QTS_NewArrayBuffer!==void 0,`missing Wasm export: QTS_NewArrayBuffer`),assert(e.QTS_NewFloat64!==void 0,`missing Wasm export: QTS_NewFloat64`),assert(e.QTS_GetFloat64!==void 0,`missing Wasm export: QTS_GetFloat64`),assert(e.QTS_NewString!==void 0,`missing Wasm export: QTS_NewString`),assert(e.QTS_GetString!==void 0,`missing Wasm export: QTS_GetString`),assert(e.QTS_GetArrayBuffer!==void 0,`missing Wasm export: QTS_GetArrayBuffer`),assert(e.QTS_GetArrayBufferLength!==void 0,`missing Wasm export: QTS_GetArrayBufferLength`),assert(e.QTS_NewSymbol!==void 0,`missing Wasm export: QTS_NewSymbol`),assert(e.QTS_GetSymbolDescriptionOrKey!==void 0,`missing Wasm export: QTS_GetSymbolDescriptionOrKey`),assert(e.QTS_IsGlobalSymbol!==void 0,`missing Wasm export: QTS_IsGlobalSymbol`),assert(e.QTS_IsJobPending!==void 0,`missing Wasm export: QTS_IsJobPending`),assert(e.QTS_ExecutePendingJob!==void 0,`missing Wasm export: QTS_ExecutePendingJob`),assert(e.QTS_GetProp!==void 0,`missing Wasm export: QTS_GetProp`),assert(e.QTS_GetPropNumber!==void 0,`missing Wasm export: QTS_GetPropNumber`),assert(e.QTS_SetProp!==void 0,`missing Wasm export: QTS_SetProp`),assert(e.QTS_DefineProp!==void 0,`missing Wasm export: QTS_DefineProp`),assert(e.QTS_GetOwnPropertyNames!==void 0,`missing Wasm export: QTS_GetOwnPropertyNames`),assert(e.QTS_Call!==void 0,`missing Wasm export: QTS_Call`),assert(e.QTS_ResolveException!==void 0,`missing Wasm export: QTS_ResolveException`),assert(e.QTS_Dump!==void 0,`missing Wasm export: QTS_Dump`),assert(e.QTS_Eval!==void 0,`missing Wasm export: QTS_Eval`),assert(e.QTS_GetModuleNamespace!==void 0,`missing Wasm export: QTS_GetModuleNamespace`),assert(e.QTS_Typeof!==void 0,`missing Wasm export: QTS_Typeof`),assert(e.QTS_GetLength!==void 0,`missing Wasm export: QTS_GetLength`),assert(e.QTS_IsEqual!==void 0,`missing Wasm export: QTS_IsEqual`),assert(e.QTS_GetGlobalObject!==void 0,`missing Wasm export: QTS_GetGlobalObject`),assert(e.QTS_NewPromiseCapability!==void 0,`missing Wasm export: QTS_NewPromiseCapability`),assert(e.QTS_PromiseState!==void 0,`missing Wasm export: QTS_PromiseState`),assert(e.QTS_PromiseResult!==void 0,`missing Wasm export: QTS_PromiseResult`),assert(e.QTS_TestStringArg!==void 0,`missing Wasm export: QTS_TestStringArg`),assert(e.QTS_GetDebugLogEnabled!==void 0,`missing Wasm export: QTS_GetDebugLogEnabled`),assert(e.QTS_SetDebugLogEnabled!==void 0,`missing Wasm export: QTS_SetDebugLogEnabled`),assert(e.QTS_BuildIsDebug!==void 0,`missing Wasm export: QTS_BuildIsDebug`),assert(e.QTS_BuildIsAsyncify!==void 0,`missing Wasm export: QTS_BuildIsAsyncify`),assert(e.QTS_NewFunction!==void 0,`missing Wasm export: QTS_NewFunction`),assert(e.QTS_ArgvGetJSValueConstPointer!==void 0,`missing Wasm export: QTS_ArgvGetJSValueConstPointer`),assert(e.QTS_RuntimeEnableInterruptHandler!==void 0,`missing Wasm export: QTS_RuntimeEnableInterruptHandler`),assert(e.QTS_RuntimeDisableInterruptHandler!==void 0,`missing Wasm export: QTS_RuntimeDisableInterruptHandler`),assert(e.QTS_RuntimeEnableModuleLoader!==void 0,`missing Wasm export: QTS_RuntimeEnableModuleLoader`),assert(e.QTS_RuntimeDisableModuleLoader!==void 0,`missing Wasm export: QTS_RuntimeDisableModuleLoader`),assert(e.QTS_bjson_encode!==void 0,`missing Wasm export: QTS_bjson_encode`),assert(e.QTS_bjson_decode!==void 0,`missing Wasm export: QTS_bjson_decode`),assert(e.fflush!==void 0,`missing Wasm export: fflush`),assert(e.strerror!==void 0,`missing Wasm export: strerror`),assert(e.__funcs_on_exit!==void 0,`missing Wasm export: __funcs_on_exit`),assert(e.emscripten_builtin_memalign!==void 0,`missing Wasm export: emscripten_builtin_memalign`),assert(e.emscripten_stack_init!==void 0,`missing Wasm export: emscripten_stack_init`),assert(e.emscripten_stack_get_free!==void 0,`missing Wasm export: emscripten_stack_get_free`),assert(e.emscripten_stack_get_base!==void 0,`missing Wasm export: emscripten_stack_get_base`),assert(e.emscripten_stack_get_end!==void 0,`missing Wasm export: emscripten_stack_get_end`),assert(e._emscripten_stack_restore!==void 0,`missing Wasm export: _emscripten_stack_restore`),assert(e._emscripten_stack_alloc!==void 0,`missing Wasm export: _emscripten_stack_alloc`),assert(e.emscripten_stack_get_current!==void 0,`missing Wasm export: emscripten_stack_get_current`),assert(e.__lsan_disable!==void 0,`missing Wasm export: __lsan_disable`),assert(e.__lsan_enable!==void 0,`missing Wasm export: __lsan_enable`),assert(e.__indirect_function_table!==void 0,`missing Wasm export: __indirect_function_table`),H=n._malloc=createExportWrapper(`malloc`,1),n._QTS_Throw=createExportWrapper(`QTS_Throw`,2),n._QTS_NewError=createExportWrapper(`QTS_NewError`,1),n._QTS_RuntimeSetMemoryLimit=createExportWrapper(`QTS_RuntimeSetMemoryLimit`,2),n._QTS_RuntimeComputeMemoryUsage=createExportWrapper(`QTS_RuntimeComputeMemoryUsage`,2),n._QTS_RuntimeDumpMemoryUsage=createExportWrapper(`QTS_RuntimeDumpMemoryUsage`,1),n._QTS_RecoverableLeakCheck=createExportWrapper(`QTS_RecoverableLeakCheck`,0),n._QTS_BuildIsSanitizeLeak=createExportWrapper(`QTS_BuildIsSanitizeLeak`,0),n._QTS_RuntimeSetMaxStackSize=createExportWrapper(`QTS_RuntimeSetMaxStackSize`,2),n._QTS_GetUndefined=createExportWrapper(`QTS_GetUndefined`,0),n._QTS_GetNull=createExportWrapper(`QTS_GetNull`,0),n._QTS_GetFalse=createExportWrapper(`QTS_GetFalse`,0),n._QTS_GetTrue=createExportWrapper(`QTS_GetTrue`,0),n._QTS_NewHostRef=createExportWrapper(`QTS_NewHostRef`,2),n._QTS_GetHostRefId=createExportWrapper(`QTS_GetHostRefId`,1),n._QTS_NewRuntime=createExportWrapper(`QTS_NewRuntime`,0),n._QTS_FreeRuntime=createExportWrapper(`QTS_FreeRuntime`,1),U=n._free=createExportWrapper(`free`,1),n._QTS_NewContext=createExportWrapper(`QTS_NewContext`,2),n._QTS_FreeContext=createExportWrapper(`QTS_FreeContext`,1),n._QTS_FreeValuePointer=createExportWrapper(`QTS_FreeValuePointer`,2),n._QTS_FreeValuePointerRuntime=createExportWrapper(`QTS_FreeValuePointerRuntime`,2),n._QTS_FreeVoidPointer=createExportWrapper(`QTS_FreeVoidPointer`,2),n._QTS_FreeCString=createExportWrapper(`QTS_FreeCString`,2),n._QTS_DupValuePointer=createExportWrapper(`QTS_DupValuePointer`,2),n._QTS_NewObject=createExportWrapper(`QTS_NewObject`,1),n._QTS_NewObjectProto=createExportWrapper(`QTS_NewObjectProto`,2),n._QTS_NewArray=createExportWrapper(`QTS_NewArray`,1),n._QTS_NewArrayBuffer=createExportWrapper(`QTS_NewArrayBuffer`,3),n._QTS_NewFloat64=createExportWrapper(`QTS_NewFloat64`,2),n._QTS_GetFloat64=createExportWrapper(`QTS_GetFloat64`,2),n._QTS_NewString=createExportWrapper(`QTS_NewString`,2),n._QTS_GetString=createExportWrapper(`QTS_GetString`,2),n._QTS_GetArrayBuffer=createExportWrapper(`QTS_GetArrayBuffer`,2),n._QTS_GetArrayBufferLength=createExportWrapper(`QTS_GetArrayBufferLength`,2),n._QTS_NewSymbol=createExportWrapper(`QTS_NewSymbol`,3),n._QTS_GetSymbolDescriptionOrKey=createExportWrapper(`QTS_GetSymbolDescriptionOrKey`,2),n._QTS_IsGlobalSymbol=createExportWrapper(`QTS_IsGlobalSymbol`,2),n._QTS_IsJobPending=createExportWrapper(`QTS_IsJobPending`,1),n._QTS_ExecutePendingJob=createExportWrapper(`QTS_ExecutePendingJob`,3),n._QTS_GetProp=createExportWrapper(`QTS_GetProp`,3),n._QTS_GetPropNumber=createExportWrapper(`QTS_GetPropNumber`,3),n._QTS_SetProp=createExportWrapper(`QTS_SetProp`,4),n._QTS_DefineProp=createExportWrapper(`QTS_DefineProp`,9),n._QTS_GetOwnPropertyNames=createExportWrapper(`QTS_GetOwnPropertyNames`,5),n._QTS_Call=createExportWrapper(`QTS_Call`,5),n._QTS_ResolveException=createExportWrapper(`QTS_ResolveException`,2),n._QTS_Dump=createExportWrapper(`QTS_Dump`,2),n._QTS_Eval=createExportWrapper(`QTS_Eval`,6),n._QTS_GetModuleNamespace=createExportWrapper(`QTS_GetModuleNamespace`,2),n._QTS_Typeof=createExportWrapper(`QTS_Typeof`,2),n._QTS_GetLength=createExportWrapper(`QTS_GetLength`,3),n._QTS_IsEqual=createExportWrapper(`QTS_IsEqual`,4),n._QTS_GetGlobalObject=createExportWrapper(`QTS_GetGlobalObject`,1),n._QTS_NewPromiseCapability=createExportWrapper(`QTS_NewPromiseCapability`,2),n._QTS_PromiseState=createExportWrapper(`QTS_PromiseState`,2),n._QTS_PromiseResult=createExportWrapper(`QTS_PromiseResult`,2),n._QTS_TestStringArg=createExportWrapper(`QTS_TestStringArg`,1),n._QTS_GetDebugLogEnabled=createExportWrapper(`QTS_GetDebugLogEnabled`,1),n._QTS_SetDebugLogEnabled=createExportWrapper(`QTS_SetDebugLogEnabled`,2),n._QTS_BuildIsDebug=createExportWrapper(`QTS_BuildIsDebug`,0),n._QTS_BuildIsAsyncify=createExportWrapper(`QTS_BuildIsAsyncify`,0),n._QTS_NewFunction=createExportWrapper(`QTS_NewFunction`,5),n._QTS_ArgvGetJSValueConstPointer=createExportWrapper(`QTS_ArgvGetJSValueConstPointer`,2),n._QTS_RuntimeEnableInterruptHandler=createExportWrapper(`QTS_RuntimeEnableInterruptHandler`,1),n._QTS_RuntimeDisableInterruptHandler=createExportWrapper(`QTS_RuntimeDisableInterruptHandler`,1),n._QTS_RuntimeEnableModuleLoader=createExportWrapper(`QTS_RuntimeEnableModuleLoader`,2),n._QTS_RuntimeDisableModuleLoader=createExportWrapper(`QTS_RuntimeDisableModuleLoader`,1),n._QTS_bjson_encode=createExportWrapper(`QTS_bjson_encode`,2),n._QTS_bjson_decode=createExportWrapper(`QTS_bjson_decode`,2),W=createExportWrapper(`fflush`,1),G=createExportWrapper(`strerror`,1),K=createExportWrapper(`emscripten_builtin_memalign`,2),q=e.emscripten_stack_init,e.emscripten_stack_get_free,e.emscripten_stack_get_base,J=e.emscripten_stack_get_end,Y=e._emscripten_stack_restore,X=e._emscripten_stack_alloc,ue=e.emscripten_stack_get_current,de=e.__lsan_disable,fe=e.__lsan_enable,e.__indirect_function_table}var Z={__assert_fail:___assert_fail,__syscall_dup:___syscall_dup,__syscall_fstat64:___syscall_fstat64,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_stat64:___syscall_stat64,_abort_js:__abort_js,_emscripten_get_progname:__emscripten_get_progname,_emscripten_sanitizer_get_option:__emscripten_sanitizer_get_option,_emscripten_sanitizer_use_colors:__emscripten_sanitizer_use_colors,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,clock_time_get:_clock_time_get,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_resize_heap:_emscripten_resize_heap,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,memory:D,proc_exit:_proc_exit,qts_host_call_function,qts_host_interrupt_handler,qts_host_load_module_source,qts_host_normalize_module,qts_host_ref_free};class WasmSourceMap{mapping={};offsets=[];constructor(e){this.version=e.version,this.sources=e.sources,this.names=e.names;var t={};`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.split(``).forEach((e,n)=>t[e]=n);function decodeVLQ(e){var n=[],r=0,i=0;for(var a of e){var o=t[a];if(o===void 0)throw Error(`Invalid character (${a})`);if(i+=(o&31)<<r,o&32)r+=5;else{var s=i&1;i>>=1,n.push(s?-i:i),i=r=0}}return n}var n=0,r=0,i=1,a=1,o=0;for(let[t,l]of e.mappings.split(`,`).entries())if(l){var s=decodeVLQ(l),c={};n+=s[0],s.length>=2&&(c.source=r+=s[1]),s.length>=3&&(c.line=i+=s[2]),s.length>=4&&(c.column=a+=s[3]),s.length>=5&&(c.name=o+=s[4]),this.mapping[n]=c,this.offsets.push(n)}this.offsets.sort((e,t)=>e-t)}lookup(e){var t=this.normalizeOffset(e),n=this.mapping[t];return n?{file:this.sources[n.source],line:n.line,column:n.column,name:this.names[n.name]}:null}normalizeOffset(e){for(var t=0,n=this.offsets.length,r;t<n;)r=Math.floor((t+n)/2),this.offsets[r]>e?n=r:t=r+1;return this.offsets[t-1]}}var Q,pe=locateFile(`emscripten-module.wasm.map`);function receiveSourceMapJSON(e){Q=new WasmSourceMap(e)}function getSourceMap(){var e=readBinary(pe);return JSON.parse(UTF8ArrayToString(e))}async function getSourceMapAsync(){if(r||i)try{return(await fetch(pe,{credentials:`same-origin`})).json()}catch{}return getSourceMap()}addRunDependency(`source-map`),getSourceMapAsync().then(e=>{receiveSourceMapJSON(e),removeRunDependency(`source-map`)});var me;function stackCheckInit(){q(),writeStackCookie()}function run(){if(P>0){F=run;return}if(stackCheckInit(),preRun(),P>0){F=run;return}function doRun(){assert(!me),me=!0,n.calledRun=!0,!h&&(initRuntime(),g?.(n),n.onRuntimeInitialized?.(),consumedModuleProp(`onRuntimeInitialized`),assert(!n._main,`compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]`),postRun())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),doRun()},1)):doRun(),checkStackCookie()}var $=await createWasm();run(),t=C?n:new Promise((e,t)=>{g=e,_=t});for(let t of Object.keys(n))t in e||Object.defineProperty(e,t,{configurable:!0,get(){abort(`Access to module property ('${t}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}});return t}export{QuickJSRaw as default};
@@ -0,0 +1 @@
1
+ var QuickJSFFI=class{constructor(e){this.module=e,this.DEBUG=!0,this.QTS_Throw=this.module.cwrap(`QTS_Throw`,`number`,[`number`,`number`]),this.QTS_NewError=this.module.cwrap(`QTS_NewError`,`number`,[`number`]),this.QTS_RuntimeSetMemoryLimit=this.module.cwrap(`QTS_RuntimeSetMemoryLimit`,null,[`number`,`number`]),this.QTS_RuntimeComputeMemoryUsage=this.module.cwrap(`QTS_RuntimeComputeMemoryUsage`,`number`,[`number`,`number`]),this.QTS_RuntimeDumpMemoryUsage=this.module.cwrap(`QTS_RuntimeDumpMemoryUsage`,`number`,[`number`]),this.QTS_RecoverableLeakCheck=this.module.cwrap(`QTS_RecoverableLeakCheck`,`number`,[]),this.QTS_BuildIsSanitizeLeak=this.module.cwrap(`QTS_BuildIsSanitizeLeak`,`number`,[]),this.QTS_RuntimeSetMaxStackSize=this.module.cwrap(`QTS_RuntimeSetMaxStackSize`,null,[`number`,`number`]),this.QTS_GetUndefined=this.module.cwrap(`QTS_GetUndefined`,`number`,[]),this.QTS_GetNull=this.module.cwrap(`QTS_GetNull`,`number`,[]),this.QTS_GetFalse=this.module.cwrap(`QTS_GetFalse`,`number`,[]),this.QTS_GetTrue=this.module.cwrap(`QTS_GetTrue`,`number`,[]),this.QTS_NewHostRef=this.module.cwrap(`QTS_NewHostRef`,`number`,[`number`,`number`]),this.QTS_GetHostRefId=this.module.cwrap(`QTS_GetHostRefId`,`number`,[`number`]),this.QTS_NewRuntime=this.module.cwrap(`QTS_NewRuntime`,`number`,[]),this.QTS_FreeRuntime=this.module.cwrap(`QTS_FreeRuntime`,null,[`number`]),this.QTS_NewContext=this.module.cwrap(`QTS_NewContext`,`number`,[`number`,`number`]),this.QTS_FreeContext=this.module.cwrap(`QTS_FreeContext`,null,[`number`]),this.QTS_FreeValuePointer=this.module.cwrap(`QTS_FreeValuePointer`,null,[`number`,`number`]),this.QTS_FreeValuePointerRuntime=this.module.cwrap(`QTS_FreeValuePointerRuntime`,null,[`number`,`number`]),this.QTS_FreeVoidPointer=this.module.cwrap(`QTS_FreeVoidPointer`,null,[`number`,`number`]),this.QTS_FreeCString=this.module.cwrap(`QTS_FreeCString`,null,[`number`,`number`]),this.QTS_DupValuePointer=this.module.cwrap(`QTS_DupValuePointer`,`number`,[`number`,`number`]),this.QTS_NewObject=this.module.cwrap(`QTS_NewObject`,`number`,[`number`]),this.QTS_NewObjectProto=this.module.cwrap(`QTS_NewObjectProto`,`number`,[`number`,`number`]),this.QTS_NewArray=this.module.cwrap(`QTS_NewArray`,`number`,[`number`]),this.QTS_NewArrayBuffer=this.module.cwrap(`QTS_NewArrayBuffer`,`number`,[`number`,`number`,`number`]),this.QTS_NewFloat64=this.module.cwrap(`QTS_NewFloat64`,`number`,[`number`,`number`]),this.QTS_GetFloat64=this.module.cwrap(`QTS_GetFloat64`,`number`,[`number`,`number`]),this.QTS_NewString=this.module.cwrap(`QTS_NewString`,`number`,[`number`,`number`]),this.QTS_GetString=this.module.cwrap(`QTS_GetString`,`number`,[`number`,`number`]),this.QTS_GetArrayBuffer=this.module.cwrap(`QTS_GetArrayBuffer`,`number`,[`number`,`number`]),this.QTS_GetArrayBufferLength=this.module.cwrap(`QTS_GetArrayBufferLength`,`number`,[`number`,`number`]),this.QTS_NewSymbol=this.module.cwrap(`QTS_NewSymbol`,`number`,[`number`,`number`,`number`]),this.QTS_GetSymbolDescriptionOrKey=this.module.cwrap(`QTS_GetSymbolDescriptionOrKey`,`number`,[`number`,`number`]),this.QTS_IsGlobalSymbol=this.module.cwrap(`QTS_IsGlobalSymbol`,`number`,[`number`,`number`]),this.QTS_IsJobPending=this.module.cwrap(`QTS_IsJobPending`,`number`,[`number`]),this.QTS_ExecutePendingJob=this.module.cwrap(`QTS_ExecutePendingJob`,`number`,[`number`,`number`,`number`]),this.QTS_GetProp=this.module.cwrap(`QTS_GetProp`,`number`,[`number`,`number`,`number`]),this.QTS_GetPropNumber=this.module.cwrap(`QTS_GetPropNumber`,`number`,[`number`,`number`,`number`]),this.QTS_SetProp=this.module.cwrap(`QTS_SetProp`,null,[`number`,`number`,`number`,`number`]),this.QTS_DefineProp=this.module.cwrap(`QTS_DefineProp`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`boolean`,`boolean`,`boolean`]),this.QTS_GetOwnPropertyNames=this.module.cwrap(`QTS_GetOwnPropertyNames`,`number`,[`number`,`number`,`number`,`number`,`number`]),this.QTS_Call=this.module.cwrap(`QTS_Call`,`number`,[`number`,`number`,`number`,`number`,`number`]),this.QTS_ResolveException=this.module.cwrap(`QTS_ResolveException`,`number`,[`number`,`number`]),this.QTS_Dump=this.module.cwrap(`QTS_Dump`,`number`,[`number`,`number`]),this.QTS_Eval=this.module.cwrap(`QTS_Eval`,`number`,[`number`,`number`,`number`,`string`,`number`,`number`]),this.QTS_GetModuleNamespace=this.module.cwrap(`QTS_GetModuleNamespace`,`number`,[`number`,`number`]),this.QTS_Typeof=this.module.cwrap(`QTS_Typeof`,`number`,[`number`,`number`]),this.QTS_GetLength=this.module.cwrap(`QTS_GetLength`,`number`,[`number`,`number`,`number`]),this.QTS_IsEqual=this.module.cwrap(`QTS_IsEqual`,`number`,[`number`,`number`,`number`,`number`]),this.QTS_GetGlobalObject=this.module.cwrap(`QTS_GetGlobalObject`,`number`,[`number`]),this.QTS_NewPromiseCapability=this.module.cwrap(`QTS_NewPromiseCapability`,`number`,[`number`,`number`]),this.QTS_PromiseState=this.module.cwrap(`QTS_PromiseState`,`number`,[`number`,`number`]),this.QTS_PromiseResult=this.module.cwrap(`QTS_PromiseResult`,`number`,[`number`,`number`]),this.QTS_TestStringArg=this.module.cwrap(`QTS_TestStringArg`,null,[`string`]),this.QTS_GetDebugLogEnabled=this.module.cwrap(`QTS_GetDebugLogEnabled`,`number`,[`number`]),this.QTS_SetDebugLogEnabled=this.module.cwrap(`QTS_SetDebugLogEnabled`,null,[`number`,`number`]),this.QTS_BuildIsDebug=this.module.cwrap(`QTS_BuildIsDebug`,`number`,[]),this.QTS_BuildIsAsyncify=this.module.cwrap(`QTS_BuildIsAsyncify`,`number`,[]),this.QTS_NewFunction=this.module.cwrap(`QTS_NewFunction`,`number`,[`number`,`string`,`number`,`boolean`,`number`]),this.QTS_ArgvGetJSValueConstPointer=this.module.cwrap(`QTS_ArgvGetJSValueConstPointer`,`number`,[`number`,`number`]),this.QTS_RuntimeEnableInterruptHandler=this.module.cwrap(`QTS_RuntimeEnableInterruptHandler`,null,[`number`]),this.QTS_RuntimeDisableInterruptHandler=this.module.cwrap(`QTS_RuntimeDisableInterruptHandler`,null,[`number`]),this.QTS_RuntimeEnableModuleLoader=this.module.cwrap(`QTS_RuntimeEnableModuleLoader`,null,[`number`,`number`]),this.QTS_RuntimeDisableModuleLoader=this.module.cwrap(`QTS_RuntimeDisableModuleLoader`,null,[`number`]),this.QTS_bjson_encode=this.module.cwrap(`QTS_bjson_encode`,`number`,[`number`,`number`]),this.QTS_bjson_decode=this.module.cwrap(`QTS_bjson_decode`,`number`,[`number`,`number`])}};export{QuickJSFFI};
@@ -0,0 +1 @@
1
+ var src_default={type:`sync`,importFFI:()=>import(`./ffi.js`).then(e=>e.QuickJSFFI),importModuleLoader:()=>import(`./emscripten-module.js`).then(e=>e.default)};export{src_default};
@@ -0,0 +1 @@
1
+ async function QuickJSRaw(e={}){var t,n=e,i=!!globalThis.window,o=!!globalThis.WorkerGlobalScope,s=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`;if(s){let{createRequire:e}=await import(`node:module`);var l=e(import.meta.url)}function r(e){e={log:e||function(){}};for(let t of r.eb)t(e);return n.quickJSEmscriptenExtensions=e}r.eb=[],n.quickjsEmscriptenInit=r,r.eb.push(e=>{e.getWasmMemory=function(){return I}});var u=`./this.program`,x=(e,t)=>{throw t},d=import.meta.url,f=``,A,B;if(s){var p=l("node:fs");d.startsWith(`file:`)&&(f=l("node:path").dirname(l("node:url").fileURLToPath(d))+`/`),B=e=>(e=C(e)?new URL(e):e,p.readFileSync(e)),A=async e=>(e=C(e)?new URL(e):e,p.readFileSync(e,void 0)),1<process.argv.length&&(u=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2),x=(e,t)=>{throw process.exitCode=e,t}}else if(i||o){try{f=new URL(`.`,d).href}catch{}o&&(B=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),A=async e=>{if(C(e))return new Promise((t,n)=>{var i=new XMLHttpRequest;i.open(`GET`,e,!0),i.responseType=`arraybuffer`,i.onload=()=>{i.status==200||i.status==0&&i.response?t(i.response):n(i.status)},i.onerror=n,i.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var m=console.log.bind(console),g=console.error.bind(console),_,v=!1,y,C=e=>e.startsWith(`file://`),ee,b,w,T,E,D,k=!1;function ha(){var e=I.buffer;n.HEAP8=w=new Int8Array(e),new Int16Array(e),n.HEAPU8=T=new Uint8Array(e),new Uint16Array(e),E=new Int32Array(e),D=new Uint32Array(e),new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function K(e){throw n.onAbort?.(e),e=`Aborted(`+e+`)`,g(e),v=!0,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),b?.(e),e}var j;async function ia(e){if(!_)try{var t=await A(e);return new Uint8Array(t)}catch{}if(e==j&&_)e=new Uint8Array(_);else if(B)e=B(e);else throw`both async and sync fetching of the wasm failed`;return e}async function ja(e,t){try{var n=await ia(e);return await WebAssembly.instantiate(n,t)}catch(e){g(`failed to asynchronously prepare wasm: ${e}`),K(e)}}async function ka(e){var t=j;if(!_&&!C(t)&&!s)try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){g(`wasm streaming compile failed: ${e}`),g(`falling back to ArrayBuffer instantiation`)}return ja(t,e)}class M{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var la=e=>{for(;0<e.length;)e.shift()(n)},N=[],P=[],oa=()=>{var e=n.preRun.shift();P.push(e)},F=!0,I,te=new TextDecoder,qa=(e,t,n,i)=>{if(n=t+n,i)return n;for(;e[t]&&!(t>=n);)++t;return t},O=(e,t,n)=>e?te.decode(T.subarray(e,qa(T,e,t,n))):``,L=0,ne=[0,31,60,91,121,152,182,213,244,274,305,335],re=[0,31,59,90,120,151,181,212,243,273,304,334],z={},ta=e=>{y=e,F||0<L||(n.onExit?.(e),v=!0),x(e,new M(e))},R=e=>{if(!v)try{return e()}catch(e){e instanceof M||e==`unwind`||x(1,e)}finally{if(!(F||0<L))try{y=e=y,ta(e)}catch(e){e instanceof M||e==`unwind`||x(1,e)}}},S=(e,t,n)=>{var i=T;if(!(0<n))return 0;var o=t;n=t+n-1;for(var s=0;s<e.length;++s){var l=e.codePointAt(s);if(127>=l){if(t>=n)break;i[t++]=l}else if(2047>=l){if(t+1>=n)break;i[t++]=192|l>>6,i[t++]=128|l&63}else if(65535>=l){if(t+2>=n)break;i[t++]=224|l>>12,i[t++]=128|l>>6&63,i[t++]=128|l&63}else{if(t+3>=n)break;i[t++]=240|l>>18,i[t++]=128|l>>12&63,i[t++]=128|l>>6&63,i[t++]=128|l&63,s++}}return i[t]=0,t-o},H={},ua=()=>{if(!U){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:u||`./this.program`},t;for(t in H)H[t]===void 0?delete e[t]:e[t]=H[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);U=n}return U},U,V=e=>{for(var t=0,n=0;n<e.length;++n){var i=e.charCodeAt(n);127>=i?t++:2047>=i?t+=2:55296<=i&&57343>=i?(t+=4,++n):t+=3}return t},ie=[null,[],[]],W=e=>{try{e()}catch(e){K(e)}};function xa(e){var c=(...t)=>{G.Sa.push(e);try{return e(...t)}finally{v||(G.Sa.pop(),G.Qa&&G.state===G.Ra.Za&&G.Sa.length===0&&(G.state=G.Ra.Ua,W(oe),typeof Fibers<`u`&&Fibers.nb()))}};return G.ab.set(e,c),c}function za(){return new Promise((e,t)=>{G.Wa={resolve:e,reject:t}})}function Aa(){var e=q(12+G.Va),t=e+12,n=G.Va;return D[e>>2]=t,D[e+4>>2]=t+n,t=G.Sa[0],G.Xa.has(t)||(n=G.fb++,G.Xa.set(t,n),G.$a.set(n,t)),t=G.Xa.get(t),E[e+8>>2]=t,e}function Ca(){var e=G.$a.get(E[G.Qa+8>>2]);return e=G.ab.get(e),R(e)}var G={kb(e){var t=/^(qts_host_call_function|qts_host_load_module_source|qts_host_normalize_module|invoke_.*|__asyncjs__.*)$/;for(let[n,i]of Object.entries(e))typeof i==`function`&&(i.lb||t.test(n))},Ra:{Ua:0,Za:1,Ya:2,ib:3},state:0,Va:81920,Qa:null,cb:0,Sa:[],Xa:new Map,$a:new Map,ab:new Map,fb:0,Wa:null,hb:[],Ta(e){if(!v){if(G.state===G.Ra.Ua){var t=!1,n=!1;e((e=0)=>{if(!v&&(G.cb=e,t=!0,n)){G.state=G.Ra.Ya,W(()=>se(G.Qa)),typeof MainLoop<`u`&&MainLoop.gb&&MainLoop.resume(),e=!1;try{var i=Ca()}catch(t){i=t,e=!0}var o=!1;if(!G.Qa){var s=G.Wa;s&&(G.Wa=null,(e?s.reject:s.resolve)(i),o=!0)}if(e&&!o)throw i}}),n=!0,t||(G.state=G.Ra.Za,G.Qa=Aa(),typeof MainLoop<`u`&&MainLoop.gb&&MainLoop.pause(),W(()=>ae(G.Qa)))}else G.state===G.Ra.Ya?(G.state=G.Ra.Ua,W(ce),J(G.Qa),G.Qa=null,G.hb.forEach(R)):K(`invalid state: ${G.state}`);return G.cb}},jb:e=>G.Ta(async t=>{t(await e())})},Ja=(e,t,i,o,s)=>{function h(e){return--L,d!==0&&X(d),t===`string`?O(e):t===`boolean`?!!e:e}var l={string:e=>{var t=0;if(e!=null&&e!==0){t=V(e)+1;var n=Z(t);S(e,n,t),t=n}return t},array:e=>{var t=Z(e.length);return w.set(e,t),t}};e=n[`_`+e];var u=[],d=0;if(o)for(var f=0;f<o.length;f++){var p=l[i[f]];p?(d===0&&(d=Q()),u[f]=p(o[f])):u[f]=o[f]}return i=G.Qa,o=e(...u),s=s?.async,L+=1,G.Qa==i?(o=h(o),s?Promise.resolve(o):o):za().then(h)};if(I=n.wasmMemory?n.wasmMemory:new WebAssembly.Memory({initial:(n.INITIAL_MEMORY||16777216)/65536,maximum:32768}),ha(),n.noExitRuntime&&(F=n.noExitRuntime),n.print&&(m=n.print),n.printErr&&(g=n.printErr),n.wasmBinary&&(_=n.wasmBinary),n.thisProgram&&(u=n.thisProgram),n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.shift()();n.cwrap=(e,t,i,o)=>{var s=!i||i.every(e=>e===`number`||e===`boolean`);return t!==`string`&&s&&!o?n[`_`+e]:(...n)=>Ja(e,t,i,n,o)},n.UTF8ToString=O,n.stringToUTF8=(e,t,n)=>S(e,t,n),n.lengthBytesUTF8=V,n.Asyncify=G;var q,J,Y,X,Z,Q,ae,oe,se,ce,le={b:(e,t,n,i)=>K(`Assertion failed: ${O(e)}, at: `+[t?O(t):`unknown filename`,n,i?O(i):`unknown function`]),q:()=>K(``),l:()=>{F=!1,L=0},m:function(e,t){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),e=new Date(1e3*e),E[t>>2]=e.getSeconds(),E[t+4>>2]=e.getMinutes(),E[t+8>>2]=e.getHours(),E[t+12>>2]=e.getDate(),E[t+16>>2]=e.getMonth(),E[t+20>>2]=e.getFullYear()-1900,E[t+24>>2]=e.getDay();var n=e.getFullYear();E[t+28>>2]=(n%4!=0||n%100==0&&n%400!=0?re:ne)[e.getMonth()]+e.getDate()-1|0,E[t+36>>2]=-(60*e.getTimezoneOffset()),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var i=new Date(e.getFullYear(),0,1).getTimezoneOffset();E[t+32>>2]=(n!=i&&e.getTimezoneOffset()==Math.min(i,n))|0},j:(e,t)=>(z[e]&&(clearTimeout(z[e].id),delete z[e]),t&&(z[e]={id:setTimeout(()=>{delete z[e],R(()=>Y(e,performance.now()))},t),mb:t}),0),n:(e,c,t,n)=>{var i=new Date().getFullYear(),o=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset(),D[e>>2]=60*Math.max(o,i),E[c>>2]=Number(o!=i),c=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`},e=c(o),c=c(i),i<o?(S(e,t,17),S(c,n,17)):(S(e,n,17),S(c,t,17))},p:()=>Date.now(),k:e=>{var t=T.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var i=t*(1+.2/n);i=Math.min(i,e+100663296);a:{i=(Math.min(2147483648,65536*Math.ceil(Math.max(e,i)/65536))-I.buffer.byteLength+65535)/65536|0;try{I.grow(i),ha();var o=1;break a}catch{}o=void 0}if(o)return!0}return!1},d:(e,t)=>{var n=0,i=0,o;for(o of ua()){var s=t+n;D[e+i>>2]=s,n+=S(o,s,1/0)+1,i+=4}return 0},e:(e,t)=>{var n=ua();D[e>>2]=n.length,e=0;for(var i of n)e+=V(i)+1;return D[t>>2]=e,0},c:()=>52,o:function(){return 70},s:(e,t,n,i)=>{for(var o=0,s=0;s<n;s++){var l=D[t>>2],u=D[t+4>>2];t+=8;for(var d=0;d<u;d++){var f=e,p=T[l+d],_=ie[f];p===0||p===10?(f=f===1?m:g,p=qa(_,0),p=te.decode(_.buffer?_.subarray(0,p):new Uint8Array(_.slice(0,p))),f(p),_.length=0):_.push(p)}o+=u}return D[i>>2]=o,0},a:I,r:ta,i:function(e,t,i,o,s){return n.callbacks.callFunction({handleSleep:G.Ta},e,t,i,o,s)},h:function(e){return n.callbacks.shouldInterrupt(void 0,e)},g:function(e,t,i){let o={handleSleep:G.Ta};return i=O(i),n.callbacks.loadModuleSource(o,e,t,i)},f:function(e,t,i,o){let s={handleSleep:G.Ta};return i=O(i),o=O(o),n.callbacks.normalizeModule(s,e,t,i,o)},t:function(e,t){n.callbacks.freeHostRef(void 0,e,t)},u:function(e,t){G.Va=e||t}},$=await async function(){function a(e){var t=$=e.exports;e={};for(let[n,i]of Object.entries(t))typeof i==`function`?(t=xa(i),e[n]=t):e[n]=i;return e=$=e,q=n._malloc=e.w,n._QTS_Throw=e.x,n._QTS_NewError=e.y,n._QTS_RuntimeSetMemoryLimit=e.z,n._QTS_RuntimeComputeMemoryUsage=e.A,n._QTS_RuntimeDumpMemoryUsage=e.B,n._QTS_RecoverableLeakCheck=e.C,n._QTS_BuildIsSanitizeLeak=e.D,n._QTS_RuntimeSetMaxStackSize=e.E,n._QTS_GetUndefined=e.F,n._QTS_GetNull=e.G,n._QTS_GetFalse=e.H,n._QTS_GetTrue=e.I,n._QTS_NewHostRef=e.J,n._QTS_GetHostRefId=e.K,n._QTS_NewRuntime=e.L,n._QTS_FreeRuntime=e.M,J=n._free=e.N,n._QTS_NewContext=e.O,n._QTS_FreeContext=e.P,n._QTS_FreeValuePointer=e.Q,n._QTS_FreeValuePointerRuntime=e.R,n._QTS_FreeVoidPointer=e.S,n._QTS_FreeCString=e.T,n._QTS_DupValuePointer=e.U,n._QTS_NewObject=e.V,n._QTS_NewObjectProto=e.W,n._QTS_NewArray=e.X,n._QTS_NewArrayBuffer=e.Y,n._QTS_NewFloat64=e.Z,n._QTS_GetFloat64=e._,n._QTS_NewString=e.$,n._QTS_GetString=e.aa,n._QTS_GetArrayBuffer=e.ba,n._QTS_GetArrayBufferLength=e.ca,n._QTS_NewSymbol=e.da,n._QTS_GetSymbolDescriptionOrKey=e.ea,n._QTS_IsGlobalSymbol=e.fa,n._QTS_IsJobPending=e.ga,n._QTS_ExecutePendingJob=e.ha,n._QTS_GetProp=e.ia,n._QTS_GetPropNumber=e.ja,n._QTS_SetProp=e.ka,n._QTS_DefineProp=e.la,n._QTS_GetOwnPropertyNames=e.ma,n._QTS_Call=e.na,n._QTS_ResolveException=e.oa,n._QTS_Dump=e.pa,n._QTS_Eval=e.qa,n._QTS_GetModuleNamespace=e.ra,n._QTS_Typeof=e.sa,n._QTS_GetLength=e.ta,n._QTS_IsEqual=e.ua,n._QTS_GetGlobalObject=e.va,n._QTS_NewPromiseCapability=e.wa,n._QTS_PromiseState=e.xa,n._QTS_PromiseResult=e.ya,n._QTS_TestStringArg=e.za,n._QTS_GetDebugLogEnabled=e.Aa,n._QTS_SetDebugLogEnabled=e.Ba,n._QTS_BuildIsDebug=e.Ca,n._QTS_BuildIsAsyncify=e.Da,n._QTS_NewFunction=e.Ea,n._QTS_ArgvGetJSValueConstPointer=e.Fa,n._QTS_RuntimeEnableInterruptHandler=e.Ga,n._QTS_RuntimeDisableInterruptHandler=e.Ha,n._QTS_RuntimeEnableModuleLoader=e.Ia,n._QTS_RuntimeDisableModuleLoader=e.Ja,n._QTS_bjson_encode=e.Ka,n._QTS_bjson_decode=e.La,Y=e.Ma,X=e.Na,Z=e.Oa,Q=e.Pa,e._a,e.bb,e.sb,ae=e.tb,oe=e.ub,se=e.vb,ce=e.wb,$}var e={a:le};return n.instantiateWasm?new Promise(t=>{n.instantiateWasm(e,(e,n)=>{t(a(e,n))})}):(j??=n.locateFile?n.locateFile?n.locateFile(`emscripten-module.wasm`,f):f+`emscripten-module.wasm`:new URL(`emscripten-module.wasm`,import.meta.url).href,a((await ka(e)).instance))}();return(function(){function a(){if(n.calledRun=!0,!v){if(k=!0,$.v(),ee?.(n),n.onRuntimeInitialized?.(),n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;){var e=n.postRun.shift();N.push(e)}la(N)}}if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)oa();la(P),n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),a()},1)):a()})(),t=k?n:new Promise((e,t)=>{ee=e,b=t}),t}export{QuickJSRaw as default};
@@ -0,0 +1 @@
1
+ import{assertSync}from"../../../../../@jitl_quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.js";var QuickJSAsyncFFI=class{constructor(e){this.module=e,this.DEBUG=!1,this.QTS_Throw=this.module.cwrap(`QTS_Throw`,`number`,[`number`,`number`]),this.QTS_NewError=this.module.cwrap(`QTS_NewError`,`number`,[`number`]),this.QTS_RuntimeSetMemoryLimit=this.module.cwrap(`QTS_RuntimeSetMemoryLimit`,null,[`number`,`number`]),this.QTS_RuntimeComputeMemoryUsage=this.module.cwrap(`QTS_RuntimeComputeMemoryUsage`,`number`,[`number`,`number`]),this.QTS_RuntimeDumpMemoryUsage=this.module.cwrap(`QTS_RuntimeDumpMemoryUsage`,`number`,[`number`]),this.QTS_RecoverableLeakCheck=this.module.cwrap(`QTS_RecoverableLeakCheck`,`number`,[]),this.QTS_BuildIsSanitizeLeak=this.module.cwrap(`QTS_BuildIsSanitizeLeak`,`number`,[]),this.QTS_RuntimeSetMaxStackSize=this.module.cwrap(`QTS_RuntimeSetMaxStackSize`,null,[`number`,`number`]),this.QTS_GetUndefined=this.module.cwrap(`QTS_GetUndefined`,`number`,[]),this.QTS_GetNull=this.module.cwrap(`QTS_GetNull`,`number`,[]),this.QTS_GetFalse=this.module.cwrap(`QTS_GetFalse`,`number`,[]),this.QTS_GetTrue=this.module.cwrap(`QTS_GetTrue`,`number`,[]),this.QTS_NewHostRef=this.module.cwrap(`QTS_NewHostRef`,`number`,[`number`,`number`]),this.QTS_GetHostRefId=this.module.cwrap(`QTS_GetHostRefId`,`number`,[`number`]),this.QTS_NewRuntime=this.module.cwrap(`QTS_NewRuntime`,`number`,[]),this.QTS_FreeRuntime=this.module.cwrap(`QTS_FreeRuntime`,null,[`number`]),this.QTS_NewContext=this.module.cwrap(`QTS_NewContext`,`number`,[`number`,`number`]),this.QTS_FreeContext=this.module.cwrap(`QTS_FreeContext`,null,[`number`]),this.QTS_FreeValuePointer=this.module.cwrap(`QTS_FreeValuePointer`,null,[`number`,`number`]),this.QTS_FreeValuePointerRuntime=this.module.cwrap(`QTS_FreeValuePointerRuntime`,null,[`number`,`number`]),this.QTS_FreeVoidPointer=this.module.cwrap(`QTS_FreeVoidPointer`,null,[`number`,`number`]),this.QTS_FreeCString=this.module.cwrap(`QTS_FreeCString`,null,[`number`,`number`]),this.QTS_DupValuePointer=this.module.cwrap(`QTS_DupValuePointer`,`number`,[`number`,`number`]),this.QTS_NewObject=this.module.cwrap(`QTS_NewObject`,`number`,[`number`]),this.QTS_NewObjectProto=this.module.cwrap(`QTS_NewObjectProto`,`number`,[`number`,`number`]),this.QTS_NewArray=this.module.cwrap(`QTS_NewArray`,`number`,[`number`]),this.QTS_NewArrayBuffer=this.module.cwrap(`QTS_NewArrayBuffer`,`number`,[`number`,`number`,`number`]),this.QTS_NewFloat64=this.module.cwrap(`QTS_NewFloat64`,`number`,[`number`,`number`]),this.QTS_GetFloat64=this.module.cwrap(`QTS_GetFloat64`,`number`,[`number`,`number`]),this.QTS_NewString=this.module.cwrap(`QTS_NewString`,`number`,[`number`,`number`]),this.QTS_GetString=this.module.cwrap(`QTS_GetString`,`number`,[`number`,`number`]),this.QTS_GetArrayBuffer=this.module.cwrap(`QTS_GetArrayBuffer`,`number`,[`number`,`number`]),this.QTS_GetArrayBufferLength=this.module.cwrap(`QTS_GetArrayBufferLength`,`number`,[`number`,`number`]),this.QTS_NewSymbol=this.module.cwrap(`QTS_NewSymbol`,`number`,[`number`,`number`,`number`]),this.QTS_GetSymbolDescriptionOrKey=assertSync(this.module.cwrap(`QTS_GetSymbolDescriptionOrKey`,`number`,[`number`,`number`])),this.QTS_GetSymbolDescriptionOrKey_MaybeAsync=this.module.cwrap(`QTS_GetSymbolDescriptionOrKey`,`number`,[`number`,`number`]),this.QTS_IsGlobalSymbol=this.module.cwrap(`QTS_IsGlobalSymbol`,`number`,[`number`,`number`]),this.QTS_IsJobPending=this.module.cwrap(`QTS_IsJobPending`,`number`,[`number`]),this.QTS_ExecutePendingJob=assertSync(this.module.cwrap(`QTS_ExecutePendingJob`,`number`,[`number`,`number`,`number`])),this.QTS_ExecutePendingJob_MaybeAsync=this.module.cwrap(`QTS_ExecutePendingJob`,`number`,[`number`,`number`,`number`]),this.QTS_GetProp=assertSync(this.module.cwrap(`QTS_GetProp`,`number`,[`number`,`number`,`number`])),this.QTS_GetProp_MaybeAsync=this.module.cwrap(`QTS_GetProp`,`number`,[`number`,`number`,`number`]),this.QTS_GetPropNumber=assertSync(this.module.cwrap(`QTS_GetPropNumber`,`number`,[`number`,`number`,`number`])),this.QTS_GetPropNumber_MaybeAsync=this.module.cwrap(`QTS_GetPropNumber`,`number`,[`number`,`number`,`number`]),this.QTS_SetProp=assertSync(this.module.cwrap(`QTS_SetProp`,null,[`number`,`number`,`number`,`number`])),this.QTS_SetProp_MaybeAsync=this.module.cwrap(`QTS_SetProp`,null,[`number`,`number`,`number`,`number`]),this.QTS_DefineProp=this.module.cwrap(`QTS_DefineProp`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`boolean`,`boolean`,`boolean`]),this.QTS_GetOwnPropertyNames=assertSync(this.module.cwrap(`QTS_GetOwnPropertyNames`,`number`,[`number`,`number`,`number`,`number`,`number`])),this.QTS_GetOwnPropertyNames_MaybeAsync=this.module.cwrap(`QTS_GetOwnPropertyNames`,`number`,[`number`,`number`,`number`,`number`,`number`]),this.QTS_Call=assertSync(this.module.cwrap(`QTS_Call`,`number`,[`number`,`number`,`number`,`number`,`number`])),this.QTS_Call_MaybeAsync=this.module.cwrap(`QTS_Call`,`number`,[`number`,`number`,`number`,`number`,`number`]),this.QTS_ResolveException=this.module.cwrap(`QTS_ResolveException`,`number`,[`number`,`number`]),this.QTS_Dump=assertSync(this.module.cwrap(`QTS_Dump`,`number`,[`number`,`number`])),this.QTS_Dump_MaybeAsync=this.module.cwrap(`QTS_Dump`,`number`,[`number`,`number`]),this.QTS_Eval=assertSync(this.module.cwrap(`QTS_Eval`,`number`,[`number`,`number`,`number`,`string`,`number`,`number`])),this.QTS_Eval_MaybeAsync=this.module.cwrap(`QTS_Eval`,`number`,[`number`,`number`,`number`,`string`,`number`,`number`]),this.QTS_GetModuleNamespace=this.module.cwrap(`QTS_GetModuleNamespace`,`number`,[`number`,`number`]),this.QTS_Typeof=this.module.cwrap(`QTS_Typeof`,`number`,[`number`,`number`]),this.QTS_GetLength=this.module.cwrap(`QTS_GetLength`,`number`,[`number`,`number`,`number`]),this.QTS_IsEqual=this.module.cwrap(`QTS_IsEqual`,`number`,[`number`,`number`,`number`,`number`]),this.QTS_GetGlobalObject=this.module.cwrap(`QTS_GetGlobalObject`,`number`,[`number`]),this.QTS_NewPromiseCapability=this.module.cwrap(`QTS_NewPromiseCapability`,`number`,[`number`,`number`]),this.QTS_PromiseState=this.module.cwrap(`QTS_PromiseState`,`number`,[`number`,`number`]),this.QTS_PromiseResult=this.module.cwrap(`QTS_PromiseResult`,`number`,[`number`,`number`]),this.QTS_TestStringArg=this.module.cwrap(`QTS_TestStringArg`,null,[`string`]),this.QTS_GetDebugLogEnabled=this.module.cwrap(`QTS_GetDebugLogEnabled`,`number`,[`number`]),this.QTS_SetDebugLogEnabled=this.module.cwrap(`QTS_SetDebugLogEnabled`,null,[`number`,`number`]),this.QTS_BuildIsDebug=this.module.cwrap(`QTS_BuildIsDebug`,`number`,[]),this.QTS_BuildIsAsyncify=this.module.cwrap(`QTS_BuildIsAsyncify`,`number`,[]),this.QTS_NewFunction=this.module.cwrap(`QTS_NewFunction`,`number`,[`number`,`string`,`number`,`boolean`,`number`]),this.QTS_ArgvGetJSValueConstPointer=this.module.cwrap(`QTS_ArgvGetJSValueConstPointer`,`number`,[`number`,`number`]),this.QTS_RuntimeEnableInterruptHandler=this.module.cwrap(`QTS_RuntimeEnableInterruptHandler`,null,[`number`]),this.QTS_RuntimeDisableInterruptHandler=this.module.cwrap(`QTS_RuntimeDisableInterruptHandler`,null,[`number`]),this.QTS_RuntimeEnableModuleLoader=this.module.cwrap(`QTS_RuntimeEnableModuleLoader`,null,[`number`,`number`]),this.QTS_RuntimeDisableModuleLoader=this.module.cwrap(`QTS_RuntimeDisableModuleLoader`,null,[`number`]),this.QTS_bjson_encode=this.module.cwrap(`QTS_bjson_encode`,`number`,[`number`,`number`]),this.QTS_bjson_decode=this.module.cwrap(`QTS_bjson_decode`,`number`,[`number`,`number`])}};export{QuickJSAsyncFFI};
@@ -0,0 +1 @@
1
+ var src_default={type:`async`,importFFI:()=>import(`./ffi.js`).then(e=>e.QuickJSAsyncFFI),importModuleLoader:()=>import(`./emscripten-module.js`).then(e=>e.default)};export{src_default};
@@ -0,0 +1 @@
1
+ async function QuickJSRaw(e={}){var t,n=e,i=!!globalThis.window,o=!!globalThis.WorkerGlobalScope,s=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`;if(s){let{createRequire:e}=await import(`node:module`);var l=e(import.meta.url)}function r(e){e={log:e||function(){}};for(let t of r.Pa)t(e);return n.quickJSEmscriptenExtensions=e}r.Pa=[],n.quickjsEmscriptenInit=r,r.Pa.push(e=>{e.getWasmMemory=function(){return M}});var u=`./this.program`,v=(e,t)=>{throw t},d=import.meta.url,f=``,z,A;if(s){var p=l("node:fs");d.startsWith(`file:`)&&(f=l("node:path").dirname(l("node:url").fileURLToPath(d))+`/`),A=e=>(e=B(e)?new URL(e):e,p.readFileSync(e)),z=async e=>(e=B(e)?new URL(e):e,p.readFileSync(e,void 0)),1<process.argv.length&&(u=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2),v=(e,t)=>{throw process.exitCode=e,t}}else if(i||o){try{f=new URL(`.`,d).href}catch{}o&&(A=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),z=async e=>{if(B(e))return new Promise((t,n)=>{var i=new XMLHttpRequest;i.open(`GET`,e,!0),i.responseType=`arraybuffer`,i.onload=()=>{i.status==200||i.status==0&&i.response?t(i.response):n(i.status)},i.onerror=n,i.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var m=console.log.bind(console),h=console.error.bind(console),g,_=!1,y,B=e=>e.startsWith(`file://`),b,x,S,C,w,T,E=!1;function ca(){var e=M.buffer;n.HEAP8=S=new Int8Array(e),new Int16Array(e),n.HEAPU8=C=new Uint8Array(e),new Uint16Array(e),w=new Int32Array(e),T=new Uint32Array(e),new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function N(e){throw n.onAbort?.(e),e=`Aborted(`+e+`)`,h(e),_=!0,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),x?.(e),e}var D;async function da(e){if(!g)try{var t=await z(e);return new Uint8Array(t)}catch{}if(e==D&&g)e=new Uint8Array(g);else if(A)e=A(e);else throw`both async and sync fetching of the wasm failed`;return e}async function ea(e,t){try{var n=await da(e);return await WebAssembly.instantiate(n,t)}catch(e){h(`failed to asynchronously prepare wasm: ${e}`),N(e)}}async function fa(e){var t=D;if(!g&&!B(t)&&!s)try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){h(`wasm streaming compile failed: ${e}`),h(`falling back to ArrayBuffer instantiation`)}return ea(t,e)}class P{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var ha=e=>{for(;0<e.length;)e.shift()(n)},O=[],k=[],ka=()=>{var e=n.preRun.shift();k.push(e)},j=!0,M,F=new TextDecoder,ma=(e,t,n,i)=>{if(n=t+n,i)return n;for(;e[t]&&!(t>=n);)++t;return t},R=(e,t,n)=>e?F.decode(C.subarray(e,ma(C,e,t,n))):``,I=0,L=[0,31,60,91,121,152,182,213,244,274,305,335],V=[0,31,59,90,120,151,181,212,243,273,304,334],H={},pa=e=>{y=e,j||0<I||(n.onExit?.(e),_=!0),v(e,new P(e))},qa=e=>{if(!_)try{e()}catch(e){e instanceof P||e==`unwind`||v(1,e)}finally{if(!(j||0<I))try{y=e=y,pa(e)}catch(e){e instanceof P||e==`unwind`||v(1,e)}}},U=(e,t,n)=>{var i=C;if(!(0<n))return 0;var o=t;n=t+n-1;for(var s=0;s<e.length;++s){var l=e.codePointAt(s);if(127>=l){if(t>=n)break;i[t++]=l}else if(2047>=l){if(t+1>=n)break;i[t++]=192|l>>6,i[t++]=128|l&63}else if(65535>=l){if(t+2>=n)break;i[t++]=224|l>>12,i[t++]=128|l>>6&63,i[t++]=128|l&63}else{if(t+3>=n)break;i[t++]=240|l>>18,i[t++]=128|l>>12&63,i[t++]=128|l>>6&63,i[t++]=128|l&63,s++}}return i[t]=0,t-o},W={},ra=()=>{if(!G){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:u||`./this.program`},t;for(t in W)W[t]===void 0?delete e[t]:e[t]=W[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);G=n}return G},G,X=e=>{for(var t=0,n=0;n<e.length;++n){var i=e.charCodeAt(n);127>=i?t++:2047>=i?t+=2:55296<=i&&57343>=i?(t+=4,++n):t+=3}return t},K=[null,[],[]],va=(e,t,i,o)=>{var s={string:e=>{var t=0;if(e!=null&&e!==0){t=X(e)+1;var n=Y(t);U(e,n,t),t=n}return t},array:e=>{var t=Y(e.length);return S.set(e,t),t}};e=n[`_`+e];var l=[],u=0;if(o)for(var d=0;d<o.length;d++){var f=s[i[d]];f?(u===0&&(u=Z()),l[d]=f(o[d])):l[d]=o[d]}return i=e(...l),i=function(e){return u!==0&&J(u),t===`string`?R(e):t===`boolean`?!!e:e}(i)};if(M=n.wasmMemory?n.wasmMemory:new WebAssembly.Memory({initial:(n.INITIAL_MEMORY||16777216)/65536,maximum:32768}),ca(),n.noExitRuntime&&(j=n.noExitRuntime),n.print&&(m=n.print),n.printErr&&(h=n.printErr),n.wasmBinary&&(g=n.wasmBinary),n.thisProgram&&(u=n.thisProgram),n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.shift()();n.cwrap=(e,t,i,o)=>{var s=!i||i.every(e=>e===`number`||e===`boolean`);return t!==`string`&&s&&!o?n[`_`+e]:(...n)=>va(e,t,i,n)},n.UTF8ToString=R,n.stringToUTF8=(e,t,n)=>U(e,t,n),n.lengthBytesUTF8=X;var q,J,Y,Z,Q={b:(e,t,n,i)=>N(`Assertion failed: ${R(e)}, at: `+[t?R(t):`unknown filename`,n,i?R(i):`unknown function`]),q:()=>N(``),l:()=>{j=!1,I=0},m:function(e,t){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),e=new Date(1e3*e),w[t>>2]=e.getSeconds(),w[t+4>>2]=e.getMinutes(),w[t+8>>2]=e.getHours(),w[t+12>>2]=e.getDate(),w[t+16>>2]=e.getMonth(),w[t+20>>2]=e.getFullYear()-1900,w[t+24>>2]=e.getDay();var n=e.getFullYear();w[t+28>>2]=(n%4!=0||n%100==0&&n%400!=0?V:L)[e.getMonth()]+e.getDate()-1|0,w[t+36>>2]=-(60*e.getTimezoneOffset()),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var i=new Date(e.getFullYear(),0,1).getTimezoneOffset();w[t+32>>2]=(n!=i&&e.getTimezoneOffset()==Math.min(i,n))|0},j:(e,t)=>(H[e]&&(clearTimeout(H[e].id),delete H[e]),t&&(H[e]={id:setTimeout(()=>{delete H[e],qa(()=>q(e,performance.now()))},t),Qa:t}),0),n:(e,c,t,n)=>{var i=new Date().getFullYear(),o=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset(),T[e>>2]=60*Math.max(o,i),w[c>>2]=Number(o!=i),c=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`},e=c(o),c=c(i),i<o?(U(e,t,17),U(c,n,17)):(U(e,n,17),U(c,t,17))},p:()=>Date.now(),k:e=>{var t=C.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var i=t*(1+.2/n);i=Math.min(i,e+100663296);a:{i=(Math.min(2147483648,65536*Math.ceil(Math.max(e,i)/65536))-M.buffer.byteLength+65535)/65536|0;try{M.grow(i),ca();var o=1;break a}catch{}o=void 0}if(o)return!0}return!1},e:(e,t)=>{var n=0,i=0,o;for(o of ra()){var s=t+n;T[e+i>>2]=s,n+=U(o,s,1/0)+1,i+=4}return 0},f:(e,t)=>{var n=ra();T[e>>2]=n.length,e=0;for(var i of n)e+=X(i)+1;return T[t>>2]=e,0},d:()=>52,o:function(){return 70},c:(e,t,n,i)=>{for(var o=0,s=0;s<n;s++){var l=T[t>>2],u=T[t+4>>2];t+=8;for(var d=0;d<u;d++){var f=e,p=C[l+d],g=K[f];p===0||p===10?(f=f===1?m:h,p=ma(g,0),p=F.decode(g.buffer?g.subarray(0,p):new Uint8Array(g.slice(0,p))),f(p),g.length=0):g.push(p)}o+=u}return T[i>>2]=o,0},a:M,r:pa,s:function(e,t,i,o,s){return n.callbacks.callFunction(void 0,e,t,i,o,s)},i:function(e){return n.callbacks.shouldInterrupt(void 0,e)},h:function(e,t,i){return i=R(i),n.callbacks.loadModuleSource(void 0,e,t,i)},g:function(e,t,i,o){return i=R(i),o=R(o),n.callbacks.normalizeModule(void 0,e,t,i,o)},t:function(e,t){n.callbacks.freeHostRef(void 0,e,t)}},$=await async function(){function a(e){return e=$=e.exports,n._malloc=e.v,n._QTS_Throw=e.w,n._QTS_NewError=e.x,n._QTS_RuntimeSetMemoryLimit=e.y,n._QTS_RuntimeComputeMemoryUsage=e.z,n._QTS_RuntimeDumpMemoryUsage=e.A,n._QTS_RecoverableLeakCheck=e.B,n._QTS_BuildIsSanitizeLeak=e.C,n._QTS_RuntimeSetMaxStackSize=e.D,n._QTS_GetUndefined=e.E,n._QTS_GetNull=e.F,n._QTS_GetFalse=e.G,n._QTS_GetTrue=e.H,n._QTS_NewHostRef=e.I,n._QTS_GetHostRefId=e.J,n._QTS_NewRuntime=e.K,n._QTS_FreeRuntime=e.L,n._free=e.M,n._QTS_NewContext=e.N,n._QTS_FreeContext=e.O,n._QTS_FreeValuePointer=e.P,n._QTS_FreeValuePointerRuntime=e.Q,n._QTS_FreeVoidPointer=e.R,n._QTS_FreeCString=e.S,n._QTS_DupValuePointer=e.T,n._QTS_NewObject=e.U,n._QTS_NewObjectProto=e.V,n._QTS_NewArray=e.W,n._QTS_NewArrayBuffer=e.X,n._QTS_NewFloat64=e.Y,n._QTS_GetFloat64=e.Z,n._QTS_NewString=e._,n._QTS_GetString=e.$,n._QTS_GetArrayBuffer=e.aa,n._QTS_GetArrayBufferLength=e.ba,n._QTS_NewSymbol=e.ca,n._QTS_GetSymbolDescriptionOrKey=e.da,n._QTS_IsGlobalSymbol=e.ea,n._QTS_IsJobPending=e.fa,n._QTS_ExecutePendingJob=e.ga,n._QTS_GetProp=e.ha,n._QTS_GetPropNumber=e.ia,n._QTS_SetProp=e.ja,n._QTS_DefineProp=e.ka,n._QTS_GetOwnPropertyNames=e.la,n._QTS_Call=e.ma,n._QTS_ResolveException=e.na,n._QTS_Dump=e.oa,n._QTS_Eval=e.pa,n._QTS_GetModuleNamespace=e.qa,n._QTS_Typeof=e.ra,n._QTS_GetLength=e.sa,n._QTS_IsEqual=e.ta,n._QTS_GetGlobalObject=e.ua,n._QTS_NewPromiseCapability=e.va,n._QTS_PromiseState=e.wa,n._QTS_PromiseResult=e.xa,n._QTS_TestStringArg=e.ya,n._QTS_GetDebugLogEnabled=e.za,n._QTS_SetDebugLogEnabled=e.Aa,n._QTS_BuildIsDebug=e.Ba,n._QTS_BuildIsAsyncify=e.Ca,n._QTS_NewFunction=e.Da,n._QTS_ArgvGetJSValueConstPointer=e.Ea,n._QTS_RuntimeEnableInterruptHandler=e.Fa,n._QTS_RuntimeDisableInterruptHandler=e.Ga,n._QTS_RuntimeEnableModuleLoader=e.Ha,n._QTS_RuntimeDisableModuleLoader=e.Ia,n._QTS_bjson_encode=e.Ja,n._QTS_bjson_decode=e.Ka,q=e.La,J=e.Ma,Y=e.Na,Z=e.Oa,$}var e={a:Q};return n.instantiateWasm?new Promise(t=>{n.instantiateWasm(e,(e,n)=>{t(a(e,n))})}):(D??=n.locateFile?n.locateFile?n.locateFile(`emscripten-module.wasm`,f):f+`emscripten-module.wasm`:new URL(`emscripten-module.wasm`,import.meta.url).href,a((await fa(e)).instance))}();return(function(){function a(){if(n.calledRun=!0,!_){if(E=!0,$.u(),b?.(n),n.onRuntimeInitialized?.(),n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;){var e=n.postRun.shift();O.push(e)}ha(O)}}if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)ka();ha(k),n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),a()},1)):a()})(),t=E?n:new Promise((e,t)=>{b=e,x=t}),t}export{QuickJSRaw as default};
@@ -0,0 +1 @@
1
+ var QuickJSFFI=class{constructor(e){this.module=e,this.DEBUG=!1,this.QTS_Throw=this.module.cwrap(`QTS_Throw`,`number`,[`number`,`number`]),this.QTS_NewError=this.module.cwrap(`QTS_NewError`,`number`,[`number`]),this.QTS_RuntimeSetMemoryLimit=this.module.cwrap(`QTS_RuntimeSetMemoryLimit`,null,[`number`,`number`]),this.QTS_RuntimeComputeMemoryUsage=this.module.cwrap(`QTS_RuntimeComputeMemoryUsage`,`number`,[`number`,`number`]),this.QTS_RuntimeDumpMemoryUsage=this.module.cwrap(`QTS_RuntimeDumpMemoryUsage`,`number`,[`number`]),this.QTS_RecoverableLeakCheck=this.module.cwrap(`QTS_RecoverableLeakCheck`,`number`,[]),this.QTS_BuildIsSanitizeLeak=this.module.cwrap(`QTS_BuildIsSanitizeLeak`,`number`,[]),this.QTS_RuntimeSetMaxStackSize=this.module.cwrap(`QTS_RuntimeSetMaxStackSize`,null,[`number`,`number`]),this.QTS_GetUndefined=this.module.cwrap(`QTS_GetUndefined`,`number`,[]),this.QTS_GetNull=this.module.cwrap(`QTS_GetNull`,`number`,[]),this.QTS_GetFalse=this.module.cwrap(`QTS_GetFalse`,`number`,[]),this.QTS_GetTrue=this.module.cwrap(`QTS_GetTrue`,`number`,[]),this.QTS_NewHostRef=this.module.cwrap(`QTS_NewHostRef`,`number`,[`number`,`number`]),this.QTS_GetHostRefId=this.module.cwrap(`QTS_GetHostRefId`,`number`,[`number`]),this.QTS_NewRuntime=this.module.cwrap(`QTS_NewRuntime`,`number`,[]),this.QTS_FreeRuntime=this.module.cwrap(`QTS_FreeRuntime`,null,[`number`]),this.QTS_NewContext=this.module.cwrap(`QTS_NewContext`,`number`,[`number`,`number`]),this.QTS_FreeContext=this.module.cwrap(`QTS_FreeContext`,null,[`number`]),this.QTS_FreeValuePointer=this.module.cwrap(`QTS_FreeValuePointer`,null,[`number`,`number`]),this.QTS_FreeValuePointerRuntime=this.module.cwrap(`QTS_FreeValuePointerRuntime`,null,[`number`,`number`]),this.QTS_FreeVoidPointer=this.module.cwrap(`QTS_FreeVoidPointer`,null,[`number`,`number`]),this.QTS_FreeCString=this.module.cwrap(`QTS_FreeCString`,null,[`number`,`number`]),this.QTS_DupValuePointer=this.module.cwrap(`QTS_DupValuePointer`,`number`,[`number`,`number`]),this.QTS_NewObject=this.module.cwrap(`QTS_NewObject`,`number`,[`number`]),this.QTS_NewObjectProto=this.module.cwrap(`QTS_NewObjectProto`,`number`,[`number`,`number`]),this.QTS_NewArray=this.module.cwrap(`QTS_NewArray`,`number`,[`number`]),this.QTS_NewArrayBuffer=this.module.cwrap(`QTS_NewArrayBuffer`,`number`,[`number`,`number`,`number`]),this.QTS_NewFloat64=this.module.cwrap(`QTS_NewFloat64`,`number`,[`number`,`number`]),this.QTS_GetFloat64=this.module.cwrap(`QTS_GetFloat64`,`number`,[`number`,`number`]),this.QTS_NewString=this.module.cwrap(`QTS_NewString`,`number`,[`number`,`number`]),this.QTS_GetString=this.module.cwrap(`QTS_GetString`,`number`,[`number`,`number`]),this.QTS_GetArrayBuffer=this.module.cwrap(`QTS_GetArrayBuffer`,`number`,[`number`,`number`]),this.QTS_GetArrayBufferLength=this.module.cwrap(`QTS_GetArrayBufferLength`,`number`,[`number`,`number`]),this.QTS_NewSymbol=this.module.cwrap(`QTS_NewSymbol`,`number`,[`number`,`number`,`number`]),this.QTS_GetSymbolDescriptionOrKey=this.module.cwrap(`QTS_GetSymbolDescriptionOrKey`,`number`,[`number`,`number`]),this.QTS_IsGlobalSymbol=this.module.cwrap(`QTS_IsGlobalSymbol`,`number`,[`number`,`number`]),this.QTS_IsJobPending=this.module.cwrap(`QTS_IsJobPending`,`number`,[`number`]),this.QTS_ExecutePendingJob=this.module.cwrap(`QTS_ExecutePendingJob`,`number`,[`number`,`number`,`number`]),this.QTS_GetProp=this.module.cwrap(`QTS_GetProp`,`number`,[`number`,`number`,`number`]),this.QTS_GetPropNumber=this.module.cwrap(`QTS_GetPropNumber`,`number`,[`number`,`number`,`number`]),this.QTS_SetProp=this.module.cwrap(`QTS_SetProp`,null,[`number`,`number`,`number`,`number`]),this.QTS_DefineProp=this.module.cwrap(`QTS_DefineProp`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`boolean`,`boolean`,`boolean`]),this.QTS_GetOwnPropertyNames=this.module.cwrap(`QTS_GetOwnPropertyNames`,`number`,[`number`,`number`,`number`,`number`,`number`]),this.QTS_Call=this.module.cwrap(`QTS_Call`,`number`,[`number`,`number`,`number`,`number`,`number`]),this.QTS_ResolveException=this.module.cwrap(`QTS_ResolveException`,`number`,[`number`,`number`]),this.QTS_Dump=this.module.cwrap(`QTS_Dump`,`number`,[`number`,`number`]),this.QTS_Eval=this.module.cwrap(`QTS_Eval`,`number`,[`number`,`number`,`number`,`string`,`number`,`number`]),this.QTS_GetModuleNamespace=this.module.cwrap(`QTS_GetModuleNamespace`,`number`,[`number`,`number`]),this.QTS_Typeof=this.module.cwrap(`QTS_Typeof`,`number`,[`number`,`number`]),this.QTS_GetLength=this.module.cwrap(`QTS_GetLength`,`number`,[`number`,`number`,`number`]),this.QTS_IsEqual=this.module.cwrap(`QTS_IsEqual`,`number`,[`number`,`number`,`number`,`number`]),this.QTS_GetGlobalObject=this.module.cwrap(`QTS_GetGlobalObject`,`number`,[`number`]),this.QTS_NewPromiseCapability=this.module.cwrap(`QTS_NewPromiseCapability`,`number`,[`number`,`number`]),this.QTS_PromiseState=this.module.cwrap(`QTS_PromiseState`,`number`,[`number`,`number`]),this.QTS_PromiseResult=this.module.cwrap(`QTS_PromiseResult`,`number`,[`number`,`number`]),this.QTS_TestStringArg=this.module.cwrap(`QTS_TestStringArg`,null,[`string`]),this.QTS_GetDebugLogEnabled=this.module.cwrap(`QTS_GetDebugLogEnabled`,`number`,[`number`]),this.QTS_SetDebugLogEnabled=this.module.cwrap(`QTS_SetDebugLogEnabled`,null,[`number`,`number`]),this.QTS_BuildIsDebug=this.module.cwrap(`QTS_BuildIsDebug`,`number`,[]),this.QTS_BuildIsAsyncify=this.module.cwrap(`QTS_BuildIsAsyncify`,`number`,[]),this.QTS_NewFunction=this.module.cwrap(`QTS_NewFunction`,`number`,[`number`,`string`,`number`,`boolean`,`number`]),this.QTS_ArgvGetJSValueConstPointer=this.module.cwrap(`QTS_ArgvGetJSValueConstPointer`,`number`,[`number`,`number`]),this.QTS_RuntimeEnableInterruptHandler=this.module.cwrap(`QTS_RuntimeEnableInterruptHandler`,null,[`number`]),this.QTS_RuntimeDisableInterruptHandler=this.module.cwrap(`QTS_RuntimeDisableInterruptHandler`,null,[`number`]),this.QTS_RuntimeEnableModuleLoader=this.module.cwrap(`QTS_RuntimeEnableModuleLoader`,null,[`number`,`number`]),this.QTS_RuntimeDisableModuleLoader=this.module.cwrap(`QTS_RuntimeDisableModuleLoader`,null,[`number`]),this.QTS_bjson_encode=this.module.cwrap(`QTS_bjson_encode`,`number`,[`number`,`number`]),this.QTS_bjson_decode=this.module.cwrap(`QTS_bjson_decode`,`number`,[`number`,`number`])}};export{QuickJSFFI};
@@ -0,0 +1 @@
1
+ var src_default={type:`sync`,importFFI:()=>import(`./ffi.js`).then(e=>e.QuickJSFFI),importModuleLoader:()=>import(`./emscripten-module.js`).then(e=>e.default)};export{src_default};
@@ -0,0 +1 @@
1
+ import{Lifetime,QuickJSContext,QuickJSNotImplemented,QuickJSRuntime,QuickJSWASMModule,Scope,applyBaseRuntimeOptions,applyModuleEvalRuntimeOptions,evalOptionsToFlags,intrinsicsToFlags}from"./chunk-V2S4ZYJR.js";var QuickJSAsyncContext=class extends QuickJSContext{async evalCodeAsync(e,t=`eval.js`,n){let r=+(n===void 0),i=evalOptionsToFlags(n),a=0;try{a=await this.memory.newHeapCharPointer(e).consume(e=>this.ffi.QTS_Eval_MaybeAsync(this.ctx.value,e.value.ptr,e.value.strlen,t,r,i))}catch(e){throw this.runtime.debugLog(`QTS_Eval_MaybeAsync threw`,e),e}let o=this.ffi.QTS_ResolveException(this.ctx.value,a);return o?(this.ffi.QTS_FreeValuePointer(this.ctx.value,a),this.fail(this.memory.heapValueHandle(o))):this.success(this.memory.heapValueHandle(a))}newAsyncifiedFunction(e,t){return this.newFunction(e,t)}},QuickJSAsyncRuntime=class extends QuickJSRuntime{constructor(e){super(e)}newContext(t={}){let n=intrinsicsToFlags(t.intrinsics),r=new Lifetime(this.ffi.QTS_NewContext(this.rt.value,n),void 0,e=>{this.contextMap.delete(e),this.callbacks.deleteContext(e),this.ffi.QTS_FreeContext(e)}),i=new QuickJSAsyncContext({module:this.module,ctx:r,ffi:this.ffi,rt:this.rt,ownedLifetimes:[],runtime:this,callbacks:this.callbacks});return this.contextMap.set(r.value,i),i}setModuleLoader(e,t){super.setModuleLoader(e,t)}setMaxStackSize(e){return super.setMaxStackSize(e)}},QuickJSAsyncWASMModule=class extends QuickJSWASMModule{constructor(e,t){super(e,t),this.ffi=t,this.module=e}newRuntime(t={}){let n=new Lifetime(this.ffi.QTS_NewRuntime(),void 0,e=>{this.callbacks.deleteRuntime(e),this.ffi.QTS_FreeRuntime(e)}),r=new QuickJSAsyncRuntime({module:this.module,ffi:this.ffi,rt:n,callbacks:this.callbacks});return applyBaseRuntimeOptions(r,t),t.moduleLoader&&r.setModuleLoader(t.moduleLoader),r}newContext(e={}){let t=this.newRuntime(),n=e.ownedLifetimes?e.ownedLifetimes.concat([t]):[t],r=t.newContext({...e,ownedLifetimes:n});return t.context=r,r}evalCode(){throw new QuickJSNotImplemented(`QuickJSWASMModuleAsyncify.evalCode: use evalCodeAsync instead`)}evalCodeAsync(e,t){return Scope.withScopeAsync(async n=>{let r=n.manage(this.newContext());applyModuleEvalRuntimeOptions(r.runtime,t);let i=await r.evalCodeAsync(e,`eval.js`);if(t.memoryLimitBytes!==void 0&&r.runtime.setMemoryLimit(-1),i.error)throw r.dump(n.manage(i.error));return r.dump(n.manage(i.value))})}};export{QuickJSAsyncContext,QuickJSAsyncRuntime,QuickJSAsyncWASMModule};
@@ -0,0 +1,6 @@
1
+ import{EvalFlags,GetOwnPropertyNamesFlags,IntrinsicsFlags,IsEqualOp,JSPromiseStateEnum}from"../../../../@jitl_quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.js";var __defProp=Object.defineProperty,__export=(e,t)=>{for(var n in t)__defProp(e,n,{get:t[n],enumerable:!0})},QTS_DEBUG=!1;function setDebugMode(e=!0){QTS_DEBUG=e}function debugLog(...e){QTS_DEBUG&&console.log(`quickjs-emscripten:`,...e)}var errors_exports={};__export(errors_exports,{QuickJSAsyncifyError:()=>QuickJSAsyncifyError,QuickJSAsyncifySuspended:()=>QuickJSAsyncifySuspended,QuickJSEmptyGetOwnPropertyNames:()=>QuickJSEmptyGetOwnPropertyNames,QuickJSEmscriptenModuleError:()=>QuickJSEmscriptenModuleError,QuickJSHostRefInvalid:()=>QuickJSHostRefInvalid,QuickJSHostRefRangeExceeded:()=>QuickJSHostRefRangeExceeded,QuickJSMemoryLeakDetected:()=>QuickJSMemoryLeakDetected,QuickJSNotImplemented:()=>QuickJSNotImplemented,QuickJSPromisePending:()=>QuickJSPromisePending,QuickJSUnknownIntrinsic:()=>QuickJSUnknownIntrinsic,QuickJSUnwrapError:()=>QuickJSUnwrapError,QuickJSUseAfterFree:()=>QuickJSUseAfterFree,QuickJSWrongOwner:()=>QuickJSWrongOwner});var QuickJSUnwrapError=class extends Error{constructor(e,t){let n=typeof e==`object`&&e&&`message`in e?String(e.message):String(e);super(n),this.cause=e,this.context=t,this.name=`QuickJSUnwrapError`}},QuickJSWrongOwner=class extends Error{constructor(){super(...arguments),this.name=`QuickJSWrongOwner`}},QuickJSUseAfterFree=class extends Error{constructor(){super(...arguments),this.name=`QuickJSUseAfterFree`}},QuickJSNotImplemented=class extends Error{constructor(){super(...arguments),this.name=`QuickJSNotImplemented`}},QuickJSAsyncifyError=class extends Error{constructor(){super(...arguments),this.name=`QuickJSAsyncifyError`}},QuickJSAsyncifySuspended=class extends Error{constructor(){super(...arguments),this.name=`QuickJSAsyncifySuspended`}},QuickJSMemoryLeakDetected=class extends Error{constructor(){super(...arguments),this.name=`QuickJSMemoryLeakDetected`}},QuickJSEmscriptenModuleError=class extends Error{constructor(){super(...arguments),this.name=`QuickJSEmscriptenModuleError`}},QuickJSUnknownIntrinsic=class extends TypeError{constructor(){super(...arguments),this.name=`QuickJSUnknownIntrinsic`}},QuickJSPromisePending=class extends Error{constructor(){super(...arguments),this.name=`QuickJSPromisePending`}},QuickJSEmptyGetOwnPropertyNames=class extends Error{constructor(){super(...arguments),this.name=`QuickJSEmptyGetOwnPropertyNames`}},QuickJSHostRefRangeExceeded=class extends Error{constructor(){super(...arguments),this.name=`QuickJSHostRefRangeExceeded`}},QuickJSHostRefInvalid=class extends Error{constructor(){super(...arguments),this.name=`QuickJSHostRefInvalid`}};function*awaitYield(e){return yield e}function awaitYieldOf(e){return awaitYield(awaitEachYieldedPromise(e))}var AwaitYield=awaitYield;AwaitYield.of=awaitYieldOf;function maybeAsyncFn(e,t){return(...n)=>awaitEachYieldedPromise(t.call(e,AwaitYield,...n))}function maybeAsync(e,t){return awaitEachYieldedPromise(t.call(e,AwaitYield))}function awaitEachYieldedPromise(e){function handleNextStep(t){return t.done?t.value:t.value instanceof Promise?t.value.then(t=>handleNextStep(e.next(t)),t=>handleNextStep(e.throw(t))):handleNextStep(e.next(t.value))}return handleNextStep(e.next())}var UsingDisposable=class{[Symbol.dispose](){return this.dispose()}},SymbolDispose=Symbol.dispose??Symbol.for(`Symbol.dispose`),prototypeAsAny=UsingDisposable.prototype;prototypeAsAny[SymbolDispose]||(prototypeAsAny[SymbolDispose]=function(){return this.dispose()});var Lifetime=class _Lifetime extends UsingDisposable{constructor(e,t,n,r){super(),this._value=e,this.copier=t,this.disposer=n,this._owner=r,this._alive=!0,this._constructorStack=QTS_DEBUG?Error(`Lifetime constructed`).stack:void 0}get alive(){return this._alive}get value(){return this.assertAlive(),this._value}get owner(){return this._owner}get dupable(){return!!this.copier}dup(){if(this.assertAlive(),!this.copier)throw Error(`Non-dupable lifetime`);return new _Lifetime(this.copier(this._value),this.copier,this.disposer,this._owner)}consume(e){this.assertAlive();let t=e(this);return this.dispose(),t}map(e){return this.assertAlive(),e(this)}tap(e){return e(this),this}dispose(){this.assertAlive(),this.disposer&&this.disposer(this._value),this._alive=!1}assertAlive(){if(!this.alive)throw this._constructorStack?new QuickJSUseAfterFree(`Lifetime not alive
2
+ ${this._constructorStack}
3
+ Lifetime used`):new QuickJSUseAfterFree(`Lifetime not alive`)}},StaticLifetime=class extends Lifetime{constructor(e,t){super(e,void 0,void 0,t)}get dupable(){return!0}dup(){return this}dispose(){}},WeakLifetime=class extends Lifetime{constructor(e,t,n,r){super(e,t,n,r)}dispose(){this._alive=!1}};function scopeFinally(e,t){let n;try{e.dispose()}catch(e){n=e}if(t&&n)throw Object.assign(t,{message:`${t.message}
4
+ Then, failed to dispose scope: ${n.message}`,disposeError:n}),t;if(t||n)throw t||n}var Scope=class _Scope extends UsingDisposable{constructor(){super(...arguments),this._disposables=new Lifetime(new Set),this.manage=e=>(this._disposables.value.add(e),e)}static withScope(e){let t=new _Scope,n;try{return e(t)}catch(e){throw n=e,e}finally{scopeFinally(t,n)}}static withScopeMaybeAsync(e,t){return maybeAsync(void 0,function*(n){let r=new _Scope,i;try{return yield*n.of(t.call(e,n,r))}catch(e){throw i=e,e}finally{scopeFinally(r,i)}})}static async withScopeAsync(e){let t=new _Scope,n;try{return await e(t)}catch(e){throw n=e,e}finally{scopeFinally(t,n)}}get alive(){return this._disposables.alive}dispose(){let e=Array.from(this._disposables.value.values()).reverse();for(let t of e)t.alive&&t.dispose();this._disposables.dispose()}};function createDisposableArray(e){let t=e?Array.from(e):[];function disposeAlive(){return t.forEach(e=>e.alive?e.dispose():void 0)}function someIsAlive(){return t.some(e=>e.alive)}return Object.defineProperty(t,SymbolDispose,{configurable:!0,enumerable:!1,value:disposeAlive}),Object.defineProperty(t,"dispose",{configurable:!0,enumerable:!1,value:disposeAlive}),Object.defineProperty(t,"alive",{configurable:!0,enumerable:!1,get:someIsAlive}),t}function isDisposable(e){return!!(e&&(typeof e==`object`||typeof e==`function`)&&`alive`in e&&typeof e.alive==`boolean`&&`dispose`in e&&typeof e.dispose==`function`)}var AbstractDisposableResult=class _AbstractDisposableResult extends UsingDisposable{static success(e){return new DisposableSuccess(e)}static fail(e,t){return new DisposableFail(e,t)}static is(e){return e instanceof _AbstractDisposableResult}},DisposableSuccess=class extends AbstractDisposableResult{constructor(e){super(),this.value=e}get alive(){return isDisposable(this.value)?this.value.alive:!0}dispose(){isDisposable(this.value)&&this.value.dispose()}unwrap(){return this.value}unwrapOr(e){return this.value}},DisposableFail=class extends AbstractDisposableResult{constructor(e,t){super(),this.error=e,this.onUnwrap=t}get alive(){return isDisposable(this.error)?this.error.alive:!0}dispose(){isDisposable(this.error)&&this.error.dispose()}unwrap(){throw this.onUnwrap(this),this.error}unwrapOr(e){return e}},DisposableResult=AbstractDisposableResult,QuickJSDeferredPromise=class extends UsingDisposable{constructor(e){super(),this.resolve=e=>{this.resolveHandle.alive&&(this.context.unwrapResult(this.context.callFunction(this.resolveHandle,this.context.undefined,e||this.context.undefined)).dispose(),this.disposeResolvers(),this.onSettled())},this.reject=e=>{this.rejectHandle.alive&&(this.context.unwrapResult(this.context.callFunction(this.rejectHandle,this.context.undefined,e||this.context.undefined)).dispose(),this.disposeResolvers(),this.onSettled())},this.dispose=()=>{this.handle.alive&&this.handle.dispose(),this.disposeResolvers()},this.context=e.context,this.owner=e.context.runtime,this.handle=e.promiseHandle,this.settled=new Promise(e=>{this.onSettled=e}),this.resolveHandle=e.resolveHandle,this.rejectHandle=e.rejectHandle}get alive(){return this.handle.alive||this.resolveHandle.alive||this.rejectHandle.alive}disposeResolvers(){this.resolveHandle.alive&&this.resolveHandle.dispose(),this.rejectHandle.alive&&this.rejectHandle.dispose()}},ModuleMemory=class{constructor(e){this.module=e}toPointerArray(e){let t=new Int32Array(e.map(e=>e.value)),n=t.length*t.BYTES_PER_ELEMENT,r=this.module._malloc(n);return new Uint8Array(this.module.HEAPU8.buffer,r,n).set(new Uint8Array(t.buffer)),new Lifetime(r,void 0,e=>this.module._free(e))}newTypedArray(e,t){let n=new e(Array(t).fill(0)),r=n.length*n.BYTES_PER_ELEMENT,i=this.module._malloc(r),a=new e(this.module.HEAPU8.buffer,i,t);return a.set(n),new Lifetime({typedArray:a,ptr:i},void 0,e=>this.module._free(e.ptr))}newMutablePointerArray(e){return this.newTypedArray(Int32Array,e)}newHeapCharPointer(e){let t=this.module.lengthBytesUTF8(e),n=t+1,r=this.module._malloc(n);return this.module.stringToUTF8(e,r,n),new Lifetime({ptr:r,strlen:t},void 0,e=>this.module._free(e.ptr))}newHeapBufferPointer(e){let t=e.byteLength,n=this.module._malloc(t);return this.module.HEAPU8.set(e,n),new Lifetime({pointer:n,numBytes:t},void 0,e=>this.module._free(e.pointer))}consumeHeapCharPointer(e){let t=this.module.UTF8ToString(e);return this.module._free(e),t}},DefaultIntrinsics=Object.freeze({BaseObjects:!0,Date:!0,Eval:!0,StringNormalize:!0,RegExp:!0,JSON:!0,Proxy:!0,MapSet:!0,TypedArrays:!0,Promise:!0});function intrinsicsToFlags(e){if(!e)return 0;let t=0;for(let[r,i]of Object.entries(e)){if(!(r in IntrinsicsFlags))throw new QuickJSUnknownIntrinsic(r);i&&(t|=IntrinsicsFlags[r])}return t}function evalOptionsToFlags(t){if(typeof t==`number`)return t;if(t===void 0)return 0;let{type:n,strict:r,strip:i,compileOnly:a,backtraceBarrier:o}=t,s=0;return n===`global`&&(s|=EvalFlags.JS_EVAL_TYPE_GLOBAL),n===`module`&&(s|=EvalFlags.JS_EVAL_TYPE_MODULE),r&&(s|=EvalFlags.JS_EVAL_FLAG_STRICT),i&&(s|=EvalFlags.JS_EVAL_FLAG_STRIP),a&&(s|=EvalFlags.JS_EVAL_FLAG_COMPILE_ONLY),o&&(s|=EvalFlags.JS_EVAL_FLAG_BACKTRACE_BARRIER),s}function getOwnPropertyNamesOptionsToFlags(e){if(typeof e==`number`)return e;if(e===void 0)return 0;let{strings:n,symbols:r,quickjsPrivate:i,onlyEnumerable:a,numbers:o,numbersAsStrings:s}=e,c=0;return n&&(c|=GetOwnPropertyNamesFlags.JS_GPN_STRING_MASK),r&&(c|=GetOwnPropertyNamesFlags.JS_GPN_SYMBOL_MASK),i&&(c|=GetOwnPropertyNamesFlags.JS_GPN_PRIVATE_MASK),a&&(c|=GetOwnPropertyNamesFlags.JS_GPN_ENUM_ONLY),o&&(c|=GetOwnPropertyNamesFlags.QTS_GPN_NUMBER_MASK),s&&(c|=GetOwnPropertyNamesFlags.QTS_STANDARD_COMPLIANT_NUMBER),c}function concat(...e){let t=[];for(let n of e)n!==void 0&&(t=t.concat(n));return t}var QuickJSIterator=class extends UsingDisposable{constructor(e,t){super(),this.handle=e,this.context=t,this._isDone=!1,this.owner=t.runtime}[Symbol.iterator](){return this}next(e){if(!this.alive||this._isDone)return{done:!0,value:void 0};let t=this._next??=this.context.getProp(this.handle,`next`);return this.callIteratorMethod(t,e)}return(e){if(!this.alive)return{done:!0,value:void 0};let t=this.context.getProp(this.handle,`return`);if(t===this.context.undefined&&e===void 0)return this.dispose(),{done:!0,value:void 0};let n=this.callIteratorMethod(t,e);return t.dispose(),this.dispose(),n}throw(e){if(!this.alive)return{done:!0,value:void 0};let t=e instanceof Lifetime?e:this.context.newError(e),n=this.context.getProp(this.handle,`throw`),r=this.callIteratorMethod(n,e);return t.alive&&t.dispose(),n.dispose(),this.dispose(),r}get alive(){return this.handle.alive}dispose(){this._isDone=!0,this.handle.dispose(),this._next?.dispose()}callIteratorMethod(e,t){let n=t?this.context.callFunction(e,this.handle,t):this.context.callFunction(e,this.handle);if(n.error)return this.dispose(),{value:n};let r=this.context.getProp(n.value,`done`).consume(e=>this.context.dump(e)),i=this.context.getProp(n.value,`value`);return n.value.dispose(),r&&this.dispose(),{value:DisposableResult.success(i),done:r}}},INT32_MIN=-2147483648,INT32_MAX=2147483647,INVALID_HOST_REF_ID=0;function getGroupId(e){return e>>8}var HostRefMap=class{constructor(){this.nextId=INT32_MIN,this.freelist=[],this.groups=new Map}put(e){let t=this.allocateId(),n=getGroupId(t),r=this.groups.get(n);return r||(r=new Map,this.groups.set(n,r)),r.set(t,e),t}get(e){if(e===INVALID_HOST_REF_ID)throw new QuickJSHostRefInvalid(`no host reference id defined`);let t=getGroupId(e),n=this.groups.get(t);if(!n)throw new QuickJSHostRefInvalid(`host reference id ${e} is not defined`);let r=n.get(e);if(!r)throw new QuickJSHostRefInvalid(`host reference id ${e} is not defined`);return r}delete(e){if(e===INVALID_HOST_REF_ID)throw new QuickJSHostRefInvalid(`no host reference id defined`);let t=getGroupId(e),n=this.groups.get(t);if(!n)throw new QuickJSHostRefInvalid(`host reference id ${e} is not defined`);n.delete(e),n.size===0&&this.groups.delete(t),this.freelist.push(e)}allocateId(){if(this.freelist.length>0)return this.freelist.shift();if(this.nextId===INVALID_HOST_REF_ID&&this.nextId++,this.nextId>INT32_MAX)throw new QuickJSHostRefRangeExceeded(`HostRefMap: too many host refs created without disposing. Max simultaneous host refs: ${INT32_MAX-INT32_MIN}`);return this.nextId++}},HostRef=class extends UsingDisposable{constructor(e,t,n){if(n===INVALID_HOST_REF_ID)throw new QuickJSHostRefInvalid(`cannot create HostRef with undefined id`);super(),this.runtime=e,this.handle=t,this.id=n}get alive(){return this.handle.alive}dispose(){this.handle.dispose()}get value(){return this.runtime.hostRefs.get(this.id)}},ContextMemory=class extends ModuleMemory{constructor(e){super(e.module),this.scope=new Scope,this.copyJSValue=e=>this.ffi.QTS_DupValuePointer(this.ctx.value,e),this.freeJSValue=e=>{this.ffi.QTS_FreeValuePointer(this.ctx.value,e)},e.ownedLifetimes?.forEach(e=>this.scope.manage(e)),this.owner=e.owner,this.module=e.module,this.ffi=e.ffi,this.rt=e.rt,this.ctx=this.scope.manage(e.ctx)}get alive(){return this.scope.alive}dispose(){return this.scope.dispose()}[Symbol.dispose](){return this.dispose()}manage(e){return this.scope.manage(e)}consumeJSCharPointer(e){let t=this.module.UTF8ToString(e);return this.ffi.QTS_FreeCString(this.ctx.value,e),t}heapValueHandle(e,t){let n=t?e=>{t(),this.freeJSValue(e)}:this.freeJSValue;return new Lifetime(e,this.copyJSValue,n,this.owner)}staticHeapValueHandle(e){return this.manage(this.heapValueHandle(e)),new StaticLifetime(e,this.owner)}},QuickJSContext=class extends UsingDisposable{constructor(e){super(),this._undefined=void 0,this._null=void 0,this._false=void 0,this._true=void 0,this._global=void 0,this._BigInt=void 0,this._Symbol=void 0,this._SymbolIterator=void 0,this._SymbolAsyncIterator=void 0,this.cToHostCallbacks={callFunction:(e,t,n,r,i)=>{if(e!==this.ctx.value)throw Error(`QuickJSContext instance received C -> JS call with mismatched ctx`);let a=this.getFunction(i);return Scope.withScopeMaybeAsync(this,function*(e,i){let o=i.manage(new WeakLifetime(t,this.memory.copyJSValue,this.memory.freeJSValue,this.runtime)),s=Array(n);for(let e=0;e<n;e++){let t=this.ffi.QTS_ArgvGetJSValueConstPointer(r,e);s[e]=i.manage(new WeakLifetime(t,this.memory.copyJSValue,this.memory.freeJSValue,this.runtime))}try{let t=yield*e(a.apply(o,s));if(t){if(`error`in t&&t.error)throw this.runtime.debugLog(`throw error`,t.error),t.error;let e=i.manage(t instanceof Lifetime?t:t.value);return this.ffi.QTS_DupValuePointer(this.ctx.value,e.value)}return 0}catch(e){return this.errorToHandle(e).consume(e=>this.ffi.QTS_Throw(this.ctx.value,e.value))}})}},this.runtime=e.runtime,this.module=e.module,this.ffi=e.ffi,this.rt=e.rt,this.ctx=e.ctx,this.memory=new ContextMemory({...e,owner:this.runtime}),e.callbacks.setContextCallbacks(this.ctx.value,this.cToHostCallbacks),this.dump=this.dump.bind(this),this.getString=this.getString.bind(this),this.getNumber=this.getNumber.bind(this),this.resolvePromise=this.resolvePromise.bind(this),this.uint32Out=this.memory.manage(this.memory.newTypedArray(Uint32Array,1))}get alive(){return this.memory.alive}dispose(){this.memory.dispose()}get undefined(){if(this._undefined)return this._undefined;let e=this.ffi.QTS_GetUndefined();return this._undefined=new StaticLifetime(e)}get null(){if(this._null)return this._null;let e=this.ffi.QTS_GetNull();return this._null=new StaticLifetime(e)}get true(){if(this._true)return this._true;let e=this.ffi.QTS_GetTrue();return this._true=new StaticLifetime(e)}get false(){if(this._false)return this._false;let e=this.ffi.QTS_GetFalse();return this._false=new StaticLifetime(e)}get global(){if(this._global)return this._global;let e=this.ffi.QTS_GetGlobalObject(this.ctx.value);return this._global=this.memory.staticHeapValueHandle(e),this._global}newNumber(e){return this.memory.heapValueHandle(this.ffi.QTS_NewFloat64(this.ctx.value,e))}newString(e){let t=this.memory.newHeapCharPointer(e).consume(e=>this.ffi.QTS_NewString(this.ctx.value,e.value.ptr));return this.memory.heapValueHandle(t)}newUniqueSymbol(e){let t=(typeof e==`symbol`?e.description:e)??``,n=this.memory.newHeapCharPointer(t).consume(e=>this.ffi.QTS_NewSymbol(this.ctx.value,e.value.ptr,0));return this.memory.heapValueHandle(n)}newSymbolFor(e){let t=(typeof e==`symbol`?e.description:e)??``,n=this.memory.newHeapCharPointer(t).consume(e=>this.ffi.QTS_NewSymbol(this.ctx.value,e.value.ptr,1));return this.memory.heapValueHandle(n)}getWellKnownSymbol(e){return this._Symbol??=this.memory.manage(this.getProp(this.global,`Symbol`)),this.getProp(this._Symbol,e)}newBigInt(e){if(!this._BigInt){let e=this.getProp(this.global,`BigInt`);this.memory.manage(e),this._BigInt=new StaticLifetime(e.value,this.runtime)}let t=this._BigInt,n=String(e);return this.newString(n).consume(e=>this.unwrapResult(this.callFunction(t,this.undefined,e)))}newObject(e){e&&this.runtime.assertOwned(e);let t=e?this.ffi.QTS_NewObjectProto(this.ctx.value,e.value):this.ffi.QTS_NewObject(this.ctx.value);return this.memory.heapValueHandle(t)}newArray(){let e=this.ffi.QTS_NewArray(this.ctx.value);return this.memory.heapValueHandle(e)}newArrayBuffer(e){let t=new Uint8Array(e),n=this.memory.newHeapBufferPointer(t),r=this.ffi.QTS_NewArrayBuffer(this.ctx.value,n.value.pointer,t.length);return this.memory.heapValueHandle(r)}newPromise(e){let t=Scope.withScope(e=>{let t=e.manage(this.memory.newMutablePointerArray(2)),n=this.ffi.QTS_NewPromiseCapability(this.ctx.value,t.value.ptr),r=this.memory.heapValueHandle(n),[i,a]=Array.from(t.value.typedArray).map(e=>this.memory.heapValueHandle(e));return new QuickJSDeferredPromise({context:this,promiseHandle:r,resolveHandle:i,rejectHandle:a})});return e&&typeof e==`function`&&(e=new Promise(e)),e&&Promise.resolve(e).then(t.resolve,e=>e instanceof Lifetime?t.reject(e):this.newError(e).consume(t.reject)),t}newFunction(e,t){let n=typeof e==`function`?e:t;if(!n)throw TypeError(`Expected a function`);return this.newFunctionWithOptions({name:typeof e==`string`?e:void 0,length:n.length,isConstructor:!1,fn:n})}newConstructorFunction(e,t){let n=typeof e==`function`?e:t;if(!n)throw TypeError(`Expected a function`);return this.newFunctionWithOptions({name:typeof e==`string`?e:void 0,length:n.length,isConstructor:!0,fn:n})}newFunctionWithOptions(e){let{name:t,length:n,isConstructor:r,fn:i}=e,a=this.runtime.hostRefs.put(i);try{return this.memory.heapValueHandle(this.ffi.QTS_NewFunction(this.ctx.value,t??``,n,r,a))}catch(e){throw this.runtime.hostRefs.delete(a),e}}newError(e){let t=this.memory.heapValueHandle(this.ffi.QTS_NewError(this.ctx.value));return e&&typeof e==`object`?(e.name!==void 0&&this.newString(e.name).consume(e=>this.setProp(t,`name`,e)),e.message!==void 0&&this.newString(e.message).consume(e=>this.setProp(t,`message`,e))):typeof e==`string`?this.newString(e).consume(e=>this.setProp(t,`message`,e)):e!==void 0&&this.newString(String(e)).consume(e=>this.setProp(t,`message`,e)),t}newHostRef(e){let t=this.runtime.hostRefs.put(e);try{let e=this.memory.heapValueHandle(this.ffi.QTS_NewHostRef(this.ctx.value,t));return new HostRef(this.runtime,e,t)}catch(e){throw this.runtime.hostRefs.delete(t),e}}toHostRef(e){let t=this.ffi.QTS_GetHostRefId(e.value);if(t!==0)return this.runtime.hostRefs.get(t),new HostRef(this.runtime,e.dup(),t)}unwrapHostRef(e){let t=this.ffi.QTS_GetHostRefId(e.value);if(t===0)throw new QuickJSHostRefInvalid(`handle is not a HostRef`);return this.runtime.hostRefs.get(t)}typeof(e){return this.runtime.assertOwned(e),this.memory.consumeHeapCharPointer(this.ffi.QTS_Typeof(this.ctx.value,e.value))}getNumber(e){return this.runtime.assertOwned(e),this.ffi.QTS_GetFloat64(this.ctx.value,e.value)}getString(e){return this.runtime.assertOwned(e),this.memory.consumeJSCharPointer(this.ffi.QTS_GetString(this.ctx.value,e.value))}getSymbol(e){this.runtime.assertOwned(e);let t=this.memory.consumeJSCharPointer(this.ffi.QTS_GetSymbolDescriptionOrKey(this.ctx.value,e.value));return this.ffi.QTS_IsGlobalSymbol(this.ctx.value,e.value)?Symbol.for(t):Symbol(t)}getBigInt(e){this.runtime.assertOwned(e);let t=this.getString(e);return BigInt(t)}getArrayBuffer(e){this.runtime.assertOwned(e);let t=this.ffi.QTS_GetArrayBufferLength(this.ctx.value,e.value),n=this.ffi.QTS_GetArrayBuffer(this.ctx.value,e.value);if(!n)throw Error(`Couldn't allocate memory to get ArrayBuffer`);return new Lifetime(this.module.HEAPU8.subarray(n,n+t),void 0,()=>this.module._free(n))}getPromiseState(e){this.runtime.assertOwned(e);let t=this.ffi.QTS_PromiseState(this.ctx.value,e.value);if(t<0)return{type:`fulfilled`,value:e,notAPromise:!0};if(t===JSPromiseStateEnum.Pending)return{type:`pending`,get error(){return new QuickJSPromisePending(`Cannot unwrap a pending promise`)}};let n=this.ffi.QTS_PromiseResult(this.ctx.value,e.value),r=this.memory.heapValueHandle(n);if(t===JSPromiseStateEnum.Fulfilled)return{type:`fulfilled`,value:r};if(t===JSPromiseStateEnum.Rejected)return{type:`rejected`,error:r};throw r.dispose(),Error(`Unknown JSPromiseStateEnum: ${t}`)}resolvePromise(e){this.runtime.assertOwned(e);let t=Scope.withScope(t=>{let n=t.manage(this.getProp(this.global,`Promise`)),r=t.manage(this.getProp(n,`resolve`));return this.callFunction(r,n,e)});return t.error?Promise.resolve(t):new Promise(e=>{Scope.withScope(n=>{let r=n.manage(this.newFunction(`resolve`,t=>{e(this.success(t&&t.dup()))})),i=n.manage(this.newFunction(`reject`,t=>{e(this.fail(t&&t.dup()))})),a=n.manage(t.value),o=n.manage(this.getProp(a,`then`));this.callFunction(o,a,r,i).unwrap().dispose()})})}isEqual(e,t,n=IsEqualOp.IsStrictlyEqual){if(e===t)return!0;this.runtime.assertOwned(e),this.runtime.assertOwned(t);let i=this.ffi.QTS_IsEqual(this.ctx.value,e.value,t.value,n);if(i===-1)throw new QuickJSNotImplemented(`WASM variant does not expose equality`);return!!i}eq(e,t){return this.isEqual(e,t,IsEqualOp.IsStrictlyEqual)}sameValue(e,t){return this.isEqual(e,t,IsEqualOp.IsSameValue)}sameValueZero(e,t){return this.isEqual(e,t,IsEqualOp.IsSameValueZero)}getProp(e,t){this.runtime.assertOwned(e);let n;return n=typeof t==`number`&&t>=0?this.ffi.QTS_GetPropNumber(this.ctx.value,e.value,t):this.borrowPropertyKey(t).consume(t=>this.ffi.QTS_GetProp(this.ctx.value,e.value,t.value)),this.memory.heapValueHandle(n)}getLength(e){if(this.runtime.assertOwned(e),!(this.ffi.QTS_GetLength(this.ctx.value,this.uint32Out.value.ptr,e.value)<0))return this.uint32Out.value.typedArray[0]}getOwnPropertyNames(e,t={strings:!0,numbersAsStrings:!0}){this.runtime.assertOwned(e),e.value;let n=getOwnPropertyNamesOptionsToFlags(t);if(n===0)throw new QuickJSEmptyGetOwnPropertyNames(`No options set, will return an empty array`);return Scope.withScope(t=>{let r=t.manage(this.memory.newMutablePointerArray(1)),i=this.ffi.QTS_GetOwnPropertyNames(this.ctx.value,r.value.ptr,this.uint32Out.value.ptr,e.value,n);if(i)return this.fail(this.memory.heapValueHandle(i));let a=this.uint32Out.value.typedArray[0],o=r.value.typedArray[0],s=new Uint32Array(this.module.HEAP8.buffer,o,a),c=Array.from(s).map(e=>this.memory.heapValueHandle(e));return this.ffi.QTS_FreeVoidPointer(this.ctx.value,o),this.success(createDisposableArray(c))})}getIterator(e){let t=this._SymbolIterator??=this.memory.manage(this.getWellKnownSymbol(`iterator`));return Scope.withScope(n=>{let r=n.manage(this.getProp(e,t)),i=this.callFunction(r,e);return i.error?i:this.success(new QuickJSIterator(i.value,this))})}setProp(e,t,n){this.runtime.assertOwned(e),this.borrowPropertyKey(t).consume(t=>this.ffi.QTS_SetProp(this.ctx.value,e.value,t.value,n.value))}defineProp(e,t,n){this.runtime.assertOwned(e),Scope.withScope(r=>{let i=r.manage(this.borrowPropertyKey(t)),a=n.value||this.undefined,o=!!n.configurable,s=!!n.enumerable,c=!!n.value,l=n.get?r.manage(this.newFunction(n.get.name,n.get)):this.undefined,u=n.set?r.manage(this.newFunction(n.set.name,n.set)):this.undefined;this.ffi.QTS_DefineProp(this.ctx.value,e.value,i.value,a.value,l.value,u.value,o,s,c)})}callFunction(e,t,...n){this.runtime.assertOwned(e);let r,i=n[0];r=i===void 0||Array.isArray(i)?i??[]:n;let a=this.memory.toPointerArray(r).consume(n=>this.ffi.QTS_Call(this.ctx.value,e.value,t.value,r.length,n.value)),o=this.ffi.QTS_ResolveException(this.ctx.value,a);return o?(this.ffi.QTS_FreeValuePointer(this.ctx.value,a),this.fail(this.memory.heapValueHandle(o))):this.success(this.memory.heapValueHandle(a))}callMethod(e,t,n=[]){return this.getProp(e,t).consume(t=>this.callFunction(t,e,n))}evalCode(e,t=`eval.js`,n){let r=+(n===void 0),i=evalOptionsToFlags(n),a=this.memory.newHeapCharPointer(e).consume(e=>this.ffi.QTS_Eval(this.ctx.value,e.value.ptr,e.value.strlen,t,r,i)),o=this.ffi.QTS_ResolveException(this.ctx.value,a);return o?(this.ffi.QTS_FreeValuePointer(this.ctx.value,a),this.fail(this.memory.heapValueHandle(o))):this.success(this.memory.heapValueHandle(a))}throw(e){return this.errorToHandle(e).consume(e=>this.ffi.QTS_Throw(this.ctx.value,e.value))}borrowPropertyKey(e){return typeof e==`number`?this.newNumber(e):typeof e==`string`?this.newString(e):new StaticLifetime(e.value,this.runtime)}getMemory(e){if(e===this.rt.value)return this.memory;throw Error(`Private API. Cannot get memory from a different runtime`)}dump(e){this.runtime.assertOwned(e);let t=this.typeof(e);if(t===`string`)return this.getString(e);if(t===`number`)return this.getNumber(e);if(t===`bigint`)return this.getBigInt(e);if(t===`undefined`)return;if(t===`symbol`)return this.getSymbol(e);let n=this.getPromiseState(e);if(n.type===`fulfilled`&&!n.notAPromise)return e.dispose(),{type:n.type,value:n.value.consume(this.dump)};if(n.type===`pending`)return e.dispose(),{type:n.type};if(n.type===`rejected`)return e.dispose(),{type:n.type,error:n.error.consume(this.dump)};let r=this.memory.consumeJSCharPointer(this.ffi.QTS_Dump(this.ctx.value,e.value));try{return JSON.parse(r)}catch{return r}}unwrapResult(e){if(e.error){let t=`context`in e.error?e.error.context:this,n=e.error.consume(e=>this.dump(e));if(n&&typeof n==`object`&&typeof n.message==`string`){let{message:e,name:r,stack:i,...a}=n,o=new QuickJSUnwrapError(n,t);typeof r==`string`&&(o.name=n.name),o.message=e;let s=o.stack;throw typeof i==`string`&&(o.stack=`${r}: ${e}
5
+ ${n.stack}Host: ${s}`),Object.assign(o,a),o}throw new QuickJSUnwrapError(n)}return e.value}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.alive?`${this.constructor.name} { ctx: ${this.ctx.value} rt: ${this.rt.value} }`:`${this.constructor.name} { disposed }`}getFunction(e){let t=this.runtime.hostRefs.get(e);if(typeof t!=`function`)throw Error(`Host reference ${e} is not a function`);return t}errorToHandle(e){return e instanceof Lifetime?e:this.newError(e)}encodeBinaryJSON(e){let t=this.ffi.QTS_bjson_encode(this.ctx.value,e.value);return this.memory.heapValueHandle(t)}decodeBinaryJSON(e){let t=this.ffi.QTS_bjson_decode(this.ctx.value,e.value);return this.memory.heapValueHandle(t)}success(e){return DisposableResult.success(e)}fail(e){return DisposableResult.fail(e,e=>this.unwrapResult(e))}},QuickJSRuntime=class extends UsingDisposable{constructor(e){super(),this.scope=new Scope,this.contextMap=new Map,this.hostRefs=new HostRefMap,this._debugMode=!1,this.cToHostCallbacks={freeHostRef:(e,t)=>{if(e!==this.rt.value)throw Error(`Runtime pointer mismatch`);this.hostRefs.delete(t)},shouldInterrupt:e=>{if(e!==this.rt.value)throw Error(`QuickJSContext instance received C -> JS interrupt with mismatched rt`);let t=this.interruptHandler;if(!t)throw Error(`QuickJSContext had no interrupt handler`);return+!!t(this)},loadModuleSource:maybeAsyncFn(this,function*(e,t,n,r){let i=this.moduleLoader;if(!i)throw Error(`Runtime has no module loader`);if(t!==this.rt.value)throw Error(`Runtime pointer mismatch`);let a=this.contextMap.get(n)??this.newContext({contextPointer:n});try{let t=yield*e(i(r,a));if(typeof t==`object`&&`error`in t&&t.error)throw this.debugLog(`cToHostLoadModule: loader returned error`,t.error),t.error;let n=typeof t==`string`?t:`value`in t?t.value:t;return this.memory.newHeapCharPointer(n).value.ptr}catch(e){return this.debugLog(`cToHostLoadModule: caught error`,e),a.throw(e),0}}),normalizeModule:maybeAsyncFn(this,function*(e,t,n,r,i){let a=this.moduleNormalizer;if(!a)throw Error(`Runtime has no module normalizer`);if(t!==this.rt.value)throw Error(`Runtime pointer mismatch`);let o=this.contextMap.get(n)??this.newContext({contextPointer:n});try{let t=yield*e(a(r,i,o));if(typeof t==`object`&&`error`in t&&t.error)throw this.debugLog(`cToHostNormalizeModule: normalizer returned error`,t.error),t.error;let n=typeof t==`string`?t:t.value;return o.getMemory(this.rt.value).newHeapCharPointer(n).value.ptr}catch(e){return this.debugLog(`normalizeModule: caught error`,e),o.throw(e),0}})},e.ownedLifetimes?.forEach(e=>this.scope.manage(e)),this.module=e.module,this.memory=new ModuleMemory(this.module),this.ffi=e.ffi,this.rt=e.rt,this.callbacks=e.callbacks,this.scope.manage(this.rt),this.callbacks.setRuntimeCallbacks(this.rt.value,this.cToHostCallbacks),this.executePendingJobs=this.executePendingJobs.bind(this),QTS_DEBUG&&this.setDebugMode(!0)}get alive(){return this.scope.alive}dispose(){return this.scope.dispose()}newContext(e={}){let t=intrinsicsToFlags(e.intrinsics),n=new Lifetime(e.contextPointer||this.ffi.QTS_NewContext(this.rt.value,t),void 0,e=>{this.contextMap.delete(e),this.callbacks.deleteContext(e),this.ffi.QTS_FreeContext(e)}),r=new QuickJSContext({module:this.module,ctx:n,ffi:this.ffi,rt:this.rt,ownedLifetimes:e.ownedLifetimes,runtime:this,callbacks:this.callbacks});return this.contextMap.set(n.value,r),r}setModuleLoader(e,t){this.moduleLoader=e,this.moduleNormalizer=t,this.ffi.QTS_RuntimeEnableModuleLoader(this.rt.value,+!!this.moduleNormalizer)}removeModuleLoader(){this.moduleLoader=void 0,this.ffi.QTS_RuntimeDisableModuleLoader(this.rt.value)}hasPendingJob(){return!!this.ffi.QTS_IsJobPending(this.rt.value)}setInterruptHandler(e){let t=this.interruptHandler;this.interruptHandler=e,t||this.ffi.QTS_RuntimeEnableInterruptHandler(this.rt.value)}removeInterruptHandler(){this.interruptHandler&&=(this.ffi.QTS_RuntimeDisableInterruptHandler(this.rt.value),void 0)}executePendingJobs(e=-1){let t=this.memory.newMutablePointerArray(1),n=this.ffi.QTS_ExecutePendingJob(this.rt.value,e??-1,t.value.ptr),r=t.value.typedArray[0];if(t.dispose(),r===0)return this.ffi.QTS_FreeValuePointerRuntime(this.rt.value,n),DisposableResult.success(0);let i=this.contextMap.get(r)??this.newContext({contextPointer:r}),a=i.getMemory(this.rt.value).heapValueHandle(n);if(i.typeof(a)===`number`){let e=i.getNumber(a);return a.dispose(),DisposableResult.success(e)}else{let e=Object.assign(a,{context:i});return DisposableResult.fail(e,e=>i.unwrapResult(e))}}setMemoryLimit(e){if(e<0&&e!==-1)throw Error(`Cannot set memory limit to negative number. To unset, pass -1`);this.ffi.QTS_RuntimeSetMemoryLimit(this.rt.value,e)}computeMemoryUsage(){let e=this.getSystemContext().getMemory(this.rt.value);return e.heapValueHandle(this.ffi.QTS_RuntimeComputeMemoryUsage(this.rt.value,e.ctx.value))}dumpMemoryUsage(){return this.memory.consumeHeapCharPointer(this.ffi.QTS_RuntimeDumpMemoryUsage(this.rt.value))}setMaxStackSize(e){if(e<0)throw Error(`Cannot set memory limit to negative number. To unset, pass 0.`);this.ffi.QTS_RuntimeSetMaxStackSize(this.rt.value,e)}assertOwned(e){if(e.owner&&e.owner.rt!==this.rt)throw new QuickJSWrongOwner(`Handle is not owned by this runtime: ${e.owner.rt.value} != ${this.rt.value}`)}setDebugMode(e){this._debugMode=e,this.ffi.DEBUG&&this.rt.alive&&this.ffi.QTS_SetDebugLogEnabled(this.rt.value,+!!e)}isDebugMode(){return this._debugMode}debugLog(...e){this._debugMode&&console.log(`quickjs-emscripten:`,...e)}[Symbol.for(`nodejs.util.inspect.custom`)](){return this.alive?`${this.constructor.name} { rt: ${this.rt.value} }`:`${this.constructor.name} { disposed }`}getSystemContext(){return this.context||=this.scope.manage(this.newContext()),this.context}},QuickJSEmscriptenModuleCallbacks=class{constructor(e){this.freeHostRef=e.freeHostRef,this.callFunction=e.callFunction,this.shouldInterrupt=e.shouldInterrupt,this.loadModuleSource=e.loadModuleSource,this.normalizeModule=e.normalizeModule}},QuickJSModuleCallbacks=class{constructor(e){this.contextCallbacks=new Map,this.runtimeCallbacks=new Map,this.suspendedCount=0,this.cToHostCallbacks=new QuickJSEmscriptenModuleCallbacks({freeHostRef:(e,t,n)=>{let r=this.runtimeCallbacks.get(t);if(!r)throw Error(`QuickJSRuntime(rt = ${t}) not found when trying to free HostRef(id = ${n})`);r.freeHostRef(t,n)},callFunction:(e,t,n,r,i,a)=>this.handleAsyncify(e,()=>{try{let e=this.contextCallbacks.get(t);if(!e)throw Error(`QuickJSContext(ctx = ${t}) not found for C function call "${a}"`);return e.callFunction(t,n,r,i,a)}catch(e){return console.error(`[C to host error: returning null]`,e),0}}),shouldInterrupt:(e,t)=>this.handleAsyncify(e,()=>{try{let e=this.runtimeCallbacks.get(t);if(!e)throw Error(`QuickJSRuntime(rt = ${t}) not found for C interrupt`);return e.shouldInterrupt(t)}catch(e){return console.error(`[C to host interrupt: returning error]`,e),1}}),loadModuleSource:(e,t,n,r)=>this.handleAsyncify(e,()=>{try{let e=this.runtimeCallbacks.get(t);if(!e)throw Error(`QuickJSRuntime(rt = ${t}) not found for C module loader`);let i=e.loadModuleSource;if(!i)throw Error(`QuickJSRuntime(rt = ${t}) does not support module loading`);return i(t,n,r)}catch(e){return console.error(`[C to host module loader error: returning null]`,e),0}}),normalizeModule:(e,t,n,r,i)=>this.handleAsyncify(e,()=>{try{let e=this.runtimeCallbacks.get(t);if(!e)throw Error(`QuickJSRuntime(rt = ${t}) not found for C module loader`);let a=e.normalizeModule;if(!a)throw Error(`QuickJSRuntime(rt = ${t}) does not support module loading`);return a(t,n,r,i)}catch(e){return console.error(`[C to host module loader error: returning null]`,e),0}})}),this.module=e,this.module.callbacks=this.cToHostCallbacks}setRuntimeCallbacks(e,t){this.runtimeCallbacks.set(e,t)}deleteRuntime(e){this.runtimeCallbacks.delete(e)}setContextCallbacks(e,t){this.contextCallbacks.set(e,t)}deleteContext(e){this.contextCallbacks.delete(e)}handleAsyncify(e,t){if(e)return e.handleSleep(e=>{try{let n=t();if(!(n instanceof Promise)){debugLog(`asyncify.handleSleep: not suspending:`,n),e(n);return}if(this.suspended)throw new QuickJSAsyncifyError(`Already suspended at: ${this.suspended.stack}
6
+ Attempted to suspend at:`);this.suspended=new QuickJSAsyncifySuspended(`(${this.suspendedCount++})`),debugLog(`asyncify.handleSleep: suspending:`,this.suspended),n.then(t=>{this.suspended=void 0,debugLog(`asyncify.handleSleep: resolved:`,t),e(t)},e=>{debugLog(`asyncify.handleSleep: rejected:`,e),console.error(`QuickJS: cannot handle error in suspended function`,e),this.suspended=void 0})}catch(e){throw debugLog(`asyncify.handleSleep: error:`,e),this.suspended=void 0,e}});let n=t();if(n instanceof Promise)throw Error(`Promise return value not supported in non-asyncify context.`);return n}};function applyBaseRuntimeOptions(e,t){t.interruptHandler&&e.setInterruptHandler(t.interruptHandler),t.maxStackSizeBytes!==void 0&&e.setMaxStackSize(t.maxStackSizeBytes),t.memoryLimitBytes!==void 0&&e.setMemoryLimit(t.memoryLimitBytes)}function applyModuleEvalRuntimeOptions(e,t){t.moduleLoader&&e.setModuleLoader(t.moduleLoader),t.shouldInterrupt&&e.setInterruptHandler(t.shouldInterrupt),t.memoryLimitBytes!==void 0&&e.setMemoryLimit(t.memoryLimitBytes),t.maxStackSizeBytes!==void 0&&e.setMaxStackSize(t.maxStackSizeBytes)}var QuickJSWASMModule=class{constructor(e,t){this.module=e,this.ffi=t,this.callbacks=new QuickJSModuleCallbacks(e)}newRuntime(e={}){let t=new Lifetime(this.ffi.QTS_NewRuntime(),void 0,e=>{this.ffi.QTS_FreeRuntime(e),this.callbacks.deleteRuntime(e)}),n=new QuickJSRuntime({module:this.module,callbacks:this.callbacks,ffi:this.ffi,rt:t});return applyBaseRuntimeOptions(n,e),e.moduleLoader&&n.setModuleLoader(e.moduleLoader),n}newContext(e={}){let t=this.newRuntime(),n=t.newContext({...e,ownedLifetimes:concat(t,e.ownedLifetimes)});return t.context=n,n}evalCode(e,t={}){return Scope.withScope(n=>{let r=n.manage(this.newContext());applyModuleEvalRuntimeOptions(r.runtime,t);let i=r.evalCode(e,`eval.js`);if(t.memoryLimitBytes!==void 0&&r.runtime.setMemoryLimit(-1),i.error)throw r.dump(n.manage(i.error));return r.dump(n.manage(i.value))})}getWasmMemory(){let e=this.module.quickjsEmscriptenInit?.(()=>{})?.getWasmMemory?.();if(!e)throw Error(`Variant does not support getting WebAssembly.Memory`);return e}getFFI(){return this.ffi}};export{DefaultIntrinsics,DisposableFail,DisposableResult,DisposableSuccess,Lifetime,QuickJSContext,QuickJSDeferredPromise,QuickJSEmscriptenModuleError,QuickJSMemoryLeakDetected,QuickJSModuleCallbacks,QuickJSNotImplemented,QuickJSRuntime,QuickJSWASMModule,Scope,StaticLifetime,UsingDisposable,WeakLifetime,applyBaseRuntimeOptions,applyModuleEvalRuntimeOptions,createDisposableArray,debugLog,errors_exports,evalOptionsToFlags,intrinsicsToFlags,setDebugMode};
@@ -0,0 +1 @@
1
+ import"../../../../@jitl_quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.js";import{Lifetime,QuickJSEmscriptenModuleError,QuickJSMemoryLeakDetected,debugLog}from"./chunk-V2S4ZYJR.js";import"./chunk-TAV5CUKK.js";async function newQuickJSWASMModuleFromVariant(e){let t=smartUnwrap(await e),[n,r,{QuickJSWASMModule:i}]=await Promise.all([t.importModuleLoader().then(smartUnwrap),t.importFFI(),import(`./module-ES6BEMUI.js`).then(smartUnwrap)]),a=await n();return a.type=`sync`,new i(a,new r(a))}async function newQuickJSAsyncWASMModuleFromVariant(e){let t=smartUnwrap(await e),[n,r,{QuickJSAsyncWASMModule:i}]=await Promise.all([t.importModuleLoader().then(smartUnwrap),t.importFFI(),import(`./module-asyncify-2EFITU5U.js`).then(smartUnwrap)]),a=await n();return a.type=`async`,new i(a,new r(a))}function memoizePromiseFactory(e){let t;return()=>t??=e()}function smartUnwrap(e){return e&&`default`in e&&e.default?e.default&&`default`in e.default&&e.default.default?e.default.default:e.default:e}function newVariant(e,n){return{...e,async importModuleLoader(){let i=smartUnwrap(await e.importModuleLoader());return async function(){let e=n.emscriptenModule?{...n.emscriptenModule}:{},a=n.log??((...e)=>debugLog(`newVariant moduleLoader:`,...e)),tapValue=(e,t)=>(a(...e,t),t),force=e=>typeof e==`function`?e():e;(n.wasmLocation||n.wasmSourceMapLocation||n.locateFile)&&(e.locateFile=(e,t)=>{let r={fileName:e,relativeTo:t};if(e.endsWith(`.wasm`)&&n.wasmLocation!==void 0)return tapValue([`locateFile .wasm: provide wasmLocation`,r],n.wasmLocation);if(e.endsWith(`.map`)){if(n.wasmSourceMapLocation!==void 0)return tapValue([`locateFile .map: provide wasmSourceMapLocation`,r],n.wasmSourceMapLocation);if(n.wasmLocation&&!n.locateFile)return tapValue([`locateFile .map: infer from wasmLocation`,r],n.wasmLocation+`.map`)}return n.locateFile?tapValue([`locateFile: use provided fn`,r],n.locateFile(e,t)):tapValue([`locateFile: unhandled, passthrough`,r],e)}),n.wasmBinary&&(e.wasmBinary=await force(n.wasmBinary)),n.wasmMemory&&(e.wasmMemory=await force(n.wasmMemory));let o=n.wasmModule,s;o&&(e.instantiateWasm=async(e,n)=>{s??=Promise.resolve(force(o));let r=await s;if(!r)throw new QuickJSEmscriptenModuleError(`options.wasmModule returned ${String(r)}`);let i=await WebAssembly.instantiate(r,e);return n(i),i.exports}),e.monitorRunDependencies=e=>{a(`monitorRunDependencies:`,e)},e.quickjsEmscriptenInit=()=>newMockExtensions(a);let c=i(e),l=e.quickjsEmscriptenInit?.(a);if(o&&l?.receiveWasmOffsetConverter&&!l.existingWasmOffsetConverter){let e=await force(n.wasmBinary)??new ArrayBuffer(0);s??=Promise.resolve(force(o));let r=await s;if(!r)throw new QuickJSEmscriptenModuleError(`options.wasmModule returned ${String(r)}`);l.receiveWasmOffsetConverter(e,r)}if(l?.receiveSourceMapJSON){let e=await force(n.wasmSourceMapData);typeof e==`string`?l.receiveSourceMapJSON(JSON.parse(e)):e?l.receiveSourceMapJSON(e):l.receiveSourceMapJSON({version:3,names:[],sources:[],mappings:``})}return c}}}}function newMockExtensions(e){let t=`mock called, emscripten module may not be initialized yet`;return{mock:!0,removeRunDependency(n){e(`${t}: removeRunDependency called:`,n)},receiveSourceMapJSON(n){e(`${t}: receiveSourceMapJSON called:`,n)},WasmOffsetConverter:void 0,receiveWasmOffsetConverter(n,r){e(`${t}: receiveWasmOffsetConverter called:`,n,r)}}}function isSuccess(e){return!(`error`in e)}function isFail(e){return`error`in e}function shouldInterruptAfterDeadline(e){let t=typeof e==`number`?e:e.getTime();return function(){return Date.now()>t}}var TestQuickJSWASMModule=class{constructor(e){this.parent=e,this.contexts=new Set,this.runtimes=new Set}newRuntime(t){let n=this.parent.newRuntime({...t,ownedLifetimes:[new Lifetime(void 0,void 0,()=>this.runtimes.delete(n)),...t?.ownedLifetimes??[]]});return this.runtimes.add(n),n}newContext(t){let n=this.parent.newContext({...t,ownedLifetimes:[new Lifetime(void 0,void 0,()=>this.contexts.delete(n)),...t?.ownedLifetimes??[]]});return this.contexts.add(n),n}evalCode(e,t){return this.parent.evalCode(e,t)}disposeAll(){let e=[...this.contexts,...this.runtimes];this.runtimes.clear(),this.contexts.clear(),e.forEach(e=>{e.alive&&e.dispose()})}assertNoMemoryAllocated(){if(this.getFFI().QTS_RecoverableLeakCheck())throw new QuickJSMemoryLeakDetected(`Leak sanitizer detected un-freed memory`);if(this.contexts.size>0)throw new QuickJSMemoryLeakDetected(`${this.contexts.size} contexts leaked`);if(this.runtimes.size>0)throw new QuickJSMemoryLeakDetected(`${this.runtimes.size} runtimes leaked`)}getWasmMemory(){return this.parent.getWasmMemory()}getFFI(){return this.parent.getFFI()}};export{TestQuickJSWASMModule,isFail,isSuccess,memoizePromiseFactory,newQuickJSAsyncWASMModuleFromVariant,newQuickJSWASMModuleFromVariant,newVariant,shouldInterruptAfterDeadline};
@@ -0,0 +1 @@
1
+ import{QuickJSModuleCallbacks,QuickJSWASMModule,applyBaseRuntimeOptions,applyModuleEvalRuntimeOptions}from"./chunk-V2S4ZYJR.js";export{QuickJSModuleCallbacks,QuickJSWASMModule,applyBaseRuntimeOptions,applyModuleEvalRuntimeOptions};
@@ -0,0 +1 @@
1
+ import"./chunk-V2S4ZYJR.js";import{QuickJSAsyncWASMModule}from"./chunk-TAV5CUKK.js";export{QuickJSAsyncWASMModule};
@@ -0,0 +1 @@
1
+ import{newQuickJSAsyncWASMModuleFromVariant,newQuickJSWASMModuleFromVariant}from"../../../../quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/index.js";import"../../../../@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.js";import{src_default as src_default$1}from"../../../../@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.js";import"../../../../@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.js";import{src_default as src_default$3}from"../../../../@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.js";async function newQuickJSWASMModule(e=src_default$1){return newQuickJSWASMModuleFromVariant(e)}async function newQuickJSAsyncWASMModule(t=src_default$3){return newQuickJSAsyncWASMModuleFromVariant(t)}export{newQuickJSAsyncWASMModule,newQuickJSWASMModule};
@@ -0,0 +1 @@
1
+ import"../../../../@jitl_quickjs-ffi-types@0.32.0/node_modules/@jitl/quickjs-ffi-types/dist/index.js";import"../../../../quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-V2S4ZYJR.js";import"../../../../quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/chunk-TAV5CUKK.js";import"../../../../quickjs-emscripten-core@0.32.0/node_modules/quickjs-emscripten-core/dist/index.js";import"../../../../@jitl_quickjs-wasmfile-debug-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-sync/dist/index.js";import"../../../../@jitl_quickjs-wasmfile-release-sync@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-sync/dist/index.js";import"../../../../@jitl_quickjs-wasmfile-debug-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-debug-asyncify/dist/index.js";import"../../../../@jitl_quickjs-wasmfile-release-asyncify@0.32.0/node_modules/@jitl/quickjs-wasmfile-release-asyncify/dist/index.js";import"./chunk-OHAYRCBA.js";export{};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "experimental-ash",
3
- "version": "0.33.0",
3
+ "version": "0.33.1",
4
4
  "bin": {
5
5
  "ash": "./bin/ash.js",
6
6
  "experimental-ash": "./bin/ash.js"
@@ -173,7 +173,8 @@
173
173
  },
174
174
  "dependencies": {
175
175
  "experimental-ai-sdk-code-mode": "1.0.9",
176
- "nitro": "3.0.260522-beta"
176
+ "nitro": "3.0.260522-beta",
177
+ "quickjs-emscripten": "0.32.0"
177
178
  },
178
179
  "devDependencies": {
179
180
  "@ai-sdk/anthropic": "4.0.0-canary.60",
@@ -1 +0,0 @@
1
- import{createActionResultEvent,createActionsRequestedEvent}from"#protocol/message.js";import{toErrorMessage}from"#shared/errors.js";import{createRuntimeActionRequestFromToolCall}from"#harness/runtime-actions.js";import{normalizeConnectionAuthToolResult}from"#execution/connection-auth-tool-result.js";function createCodeModeAuthorizationLifecycle(i){return{async onNestedToolCall(e){let n={input:e.input,toolCallId:e.toolCallId,toolName:e.toolName,type:`tool-call`};await i.emit(createActionsRequestedEvent({actions:[createRuntimeActionRequestFromToolCall({toolCall:n,tools:i.tools})],sequence:i.emissionState.sequence,stepIndex:i.emissionState.stepIndex,turnId:i.emissionState.turnId}))},async onNestedToolResult(t){if(t.status===`interrupted`||t.status===`approval-required`)return;let r={callId:t.toolCallId,kind:`tool-result`,output:t.status===`rejected`?toErrorMessage(t.error):normalizeConnectionAuthToolResult(t.output),toolName:t.toolName};t.status===`rejected`&&Object.assign(r,{isError:!0}),await i.emit(createActionResultEvent({result:r,sequence:i.emissionState.sequence,stepIndex:i.emissionState.stepIndex,turnId:i.emissionState.turnId}))}}}export{createCodeModeAuthorizationLifecycle};
@@ -1,18 +0,0 @@
1
- /**
2
- * Materializes the worker file expected by bundled `experimental-ai-sdk-code-mode`.
3
- *
4
- * Nitro bundles the package entry into `_libs/experimental-ai-sdk-code-mode.mjs`, but
5
- * Rolldown does not currently emit the sibling `new Worker(new URL("./worker.js",
6
- * import.meta.url))` target. This writes a standalone bundled worker next to each
7
- * emitted code-mode library chunk so the package's runtime URL stays valid.
8
- */
9
- export declare function materializeCodeModeWorkerAssets(outputRoot: string): Promise<void>;
10
- /**
11
- * Writes code-mode's worker runtime files into a known bundle directory.
12
- *
13
- * Production builds discover `_libs/experimental-ai-sdk-code-mode.mjs` first,
14
- * but Nitro dev emits a single `dev/index.mjs` bundle. In that shape the
15
- * package's `new URL("./worker.js", import.meta.url)` resolves next to
16
- * `index.mjs`, so dev mode has to materialize the worker assets directly.
17
- */
18
- export declare function materializeCodeModeWorkerRuntimeAssets(directoryPath: string): Promise<void>;
@@ -1 +0,0 @@
1
- import{CODE_MODE_QUICKJS_WASM_FILE_NAME,CODE_MODE_QUICKJS_WASM_SPECIFIER,CODE_MODE_WORKER_FILE_NAME,CODE_MODE_WORKER_SPECIFIER}from"../../../node_modules/.pnpm/experimental-ai-sdk-code-mode@1.0.9_ai@7.0.0-canary.154_zod@4.4.3_/node_modules/experimental-ai-sdk-code-mode/dist/runtime-assets.js";import{isBuiltin}from"node:module";import{join}from"node:path";import{readFile,readdir,writeFile}from"node:fs/promises";import{fileURLToPath}from"node:url";import{buildWithNitroRolldown,getSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";const MODULE_PACKAGE_JSON=`${JSON.stringify({type:`module`},null,2)}\n`;let codeModeWorkerBundlePromise;async function materializeCodeModeWorkerAssets(e){let t=await findCodeModeBundleDirectories(e);if(t.size===0)return;let n=await getCodeModeWorkerBundle();await Promise.all([...t].map(e=>writeCodeModeWorkerBundle(e,n)))}async function materializeCodeModeWorkerRuntimeAssets(e){await writeCodeModeWorkerBundle(e,await getCodeModeWorkerBundle())}async function findCodeModeBundleDirectories(e){let t=new Set;async function visit(e){let n;try{n=await readdir(e,{withFileTypes:!0})}catch(e){if(isMissingFileError(e))return;throw e}await Promise.all(n.map(async n=>{let r=join(e,n.name);if(n.isDirectory()){await visit(r);return}n.isFile()&&n.name===`experimental-ai-sdk-code-mode.mjs`&&t.add(e)}))}return await visit(e),t}function isMissingFileError(e){return e instanceof Error&&`code`in e&&e.code===`ENOENT`}async function getCodeModeWorkerBundle(){return codeModeWorkerBundlePromise??=bundleCodeModeWorker(),await codeModeWorkerBundlePromise}async function bundleCodeModeWorker(){let n=await buildWithNitroRolldown({input:resolveCodeModeWorkerEntryPath(),platform:`node`,write:!1,external(e){return isBuiltin(e)},output:{codeSplitting:!1,comments:!1,format:`esm`,sourcemap:!1}}),r=n.output.filter(e=>e.type===`asset`).map(e=>({fileName:e.fileName,source:e.source}));return r.some(e=>e.fileName===`emscripten-module.wasm`)||r.push({fileName:CODE_MODE_QUICKJS_WASM_FILE_NAME,source:await readFile(resolvePackageAssetPath(CODE_MODE_QUICKJS_WASM_SPECIFIER))}),{assets:r,code:getSingleRolldownChunk(n,`code-mode worker asset`).code}}async function writeCodeModeWorkerBundle(e,t){await Promise.all([writeFile(join(e,CODE_MODE_WORKER_FILE_NAME),t.code),...t.assets.map(t=>writeFile(join(e,t.fileName),t.source)),writeFile(join(e,`package.json`),MODULE_PACKAGE_JSON)])}function resolveCodeModeWorkerEntryPath(){return resolvePackageAssetPath(CODE_MODE_WORKER_SPECIFIER)}function resolvePackageAssetPath(e){return fileURLToPath(import.meta.resolve(e))}export{materializeCodeModeWorkerAssets,materializeCodeModeWorkerRuntimeAssets};